1. 在index.html的目錄建立server.js
  2. 輸入server.js內容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    var http = require('http');
    var fs = require('fs');
    //404 response
    function sent404Response(response){
    response.writeHead(404,{"Context-Type":"text/plain"});
    response.write('Error 404:Page not found!'); //write a response to the client
    response.end(); //end the response
    }
    //handle a user request function
    function onRequest(req, res) {
    /*
    console.log("A user made a request "+ req.url);
    res.writeHead(200,{"Context-Type":"text/plain"});
    res.write('Here is some data.'); //write a response to the client
    res.end(); //end the response
    */
    if (req.method == 'GET' && req.url == '/') {
    res.writeHead(200,{"Context-Type":"text/plain"});
    fs.createReadStream("./index.html").pipe(res);//將"./index.html"傳入res參數內
    }else{
    sent404Response(res);
    }
    }
    //create a server object:
    http.createServer(onRequest).listen(8888); //the server object listens on port 8080
    console.log("Server is now running.")
  3. 執行server.js node server.js

  4. 其實最簡單的方式就是安裝http-server模組。

    1
    npm i -g http-server
  5. 執行http-server即可。

  1. 用系統管理員身分執行cmd
    之前安裝npm install hexo-deployer-git --save會顯是失敗是我沒注意到錯誤訊息上顯是要用系統管理員的身分執行,所以要搜尋到cmd指令,按右鍵使用系統管理員身分執行,就可以順利安裝
  2. npm i -g npm安裝最新npm版本
  3. npm install hexo-deployer-git --save安裝hexo deploy工具
  4. 寫下本文紀錄如何成功安裝npm install hexo-deployer-git --save
  5. 下指令試試看是否可正常使用。

    1
    2
    3
    hexo g
    hexo s
    hexo d
  6. 最後git push備份。

  7. 結果是不能使用,原因是要將登入github方式由https改成ssh,但是有點懶,我還是手動上傳就好。

錯誤提醒

這次執行結果的錯誤訊息是各項md語法一定要空一格,我就是tags: hexo中tags:的後面沒有空格,所以顯示不出文件,下次要注意。

修改設定檔

  1. _config.yml中的網址與網站路徑要改成如下

    1
    2
    url: https://afunpub.github.io/
    root: /
  2. 如果要用hexo d指令的話deploy的選項也要改到根目錄,但常失敗。

    1
    2
    3
    4
    5
    6
    7
    先安裝npm install hexo-deployer-git --save
    再修改
    deploy:
    type: git
    repo: https://github.com/afunpub/afunpub.github.io.git
    branch: master
    message:
  3. hexo new 好像不能用太多中文,要再測試。

  4. 建議移站前跑一下hexo g讓文章的資料庫重整一下,避免無謂的錯誤。

手動上傳到git

  1. hexo d他會將public資料夾變動的檔案複製到.deploy_git資料夾內
  2. 將’.deploy_git/‘資料夾的上傳路徑設好’git remote add origin https://github.com/afunpub/afunpub.github.io.git
  3. 然後將’.deploy_git/‘底下的檔案上傳到github上’
  4. 這時候常會出現網站與本地檔案時間不同,然後拒絕上傳Updates were rejected because the tip of your current branch is behind,我通常會下

    1
    2
    3
    4
    5
    6
    7
    git pull origin master
    git push --set-upstream origin master -f
    git push -u origin master -f
    git push -u -f
    那個-u就是--set-upstream的意思
    有設origin路徑的話,origin master可省略。
  5. 可以寫成一個sh檔來執行,因為懶。

    1
    2
    3
    4
    5
    6
    7
    8
    hexo generate
    hexo d
    cd .deploy_git/
    git add .
    git commit -m "update"
    git push -u origin master -f
    cd ..
    注意origin要先設好
  6. 最後自己blog也要上傳

    1
    2
    3
    git add .
    git commit -m "update"
    git push -u origin master -f

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

新建一個 about 頁面:

1
hexo new page "about"

功能表顯示 about 連結,在主題的 _configy.yml 設置中將 menu 中 about 前面的注釋去掉即可。

1
2
3
4
5
menu:
home: /
archives: /archives
tags: /tags
about: /about

並在功能表中顯示頁面連結。

新建一個 分類 頁面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
新建一個頁面,命名為 categories 。命令如下:
hexo new page categories
編輯剛新建的頁面,將頁面的類型設置為 categories ,主題將自動為這個頁面顯示所有分類。
title: 分類
date: 2014-12-22 12:39:04
type: "categories"
---
注意:如果有啟用多說 或者 Disqus 評論,預設頁面也會帶有評論。需要關閉的話,請添加欄位 comments 並將值設置為 false,如:
title: 分類
date: 2014-12-22 12:39:04
type: "categories"
comments: false
---
在功能表中添加連結。編輯主題的 _config.yml ,將 menu 中的 categories: /categories 注釋去掉,如下:
menu:
home: /
categories: /categories
archives: /archives
tags: /tags

兩個以上tags設法

用yaml語法,例如要設兩個tags為github與hexo

1
2
3
tags:
- github
- hexo

  1. _config.yml中的網址與網站路徑要改成如下

    1
    2
    url: https://afunpub.github.io/
    root: /
  2. deploy的選項也要改到根目錄

    1
    2
    3
    4
    5
    deploy:
    type: git
    repo: https://github.com/afunpub/afunpub.github.io.git
    branch: master
    message:
  3. hexo new 好像不能用太多中文,要再測試。

  4. 建議移站前跑一下hexo g讓文章的資料庫重整一下,避免無謂的錯誤。

存成deploy.sh

1
2
3
4
5
hexo generate
cp -R public/* docs/
git add .
git commit -m "update"
git push origin master

如果不是要發布到hexo的話,拿掉前兩行就可以。

1
2
3
git add .
git commit -m "update"
git push origin master