gitbookベースの個人ブログ
自分のvpsでgitbookを通じて個人ブログ(実は電子書籍)を作って、自分で何かを記録するのに便利で、後で不定期にvpsからCSDNまでいくつかの内容を引き出します.
https://huangwj.app
ちなみにこのブログは、Gitbookベースの電子書籍で、markdown文法やGitbookが約束したドキュメント構造を通じて、論理的に内容を説明することができます.ブログプロジェクト全体が私個人のgithubに管理されています.https://github.com/huangwjwork/gitbookを選択し、githubを介して私のvpsに導入されたwebhookと連動します.push動作があるたびに、githubは私のvpsに要求されたwebhookをpostし、gitbookスクリプトをトリガーし、ブログの自動更新を実現します.
Gitbookについて、知りたいのはこの大物のブログを参考にすることができます:
コンパイルインストールまたは対応するバイナリインストール
国内環境はnpm源を改正してタオバオの鏡像ステーションの後で更にインストールすることを提案します
githubにプロジェクトを作成し、cloneをローカルに移動し、プロジェクトルートディレクトリに入り、
book.jsonはgitbookの配置ファイルで、プラグインの配置ファイルを含んで、プラグインを通じて電子書籍の機能を豊富にすることができて、興味があるのは公式に探して、多くのとても面白いプラグイン(プラグインが多ければ多いほどjsファイルが多ければ多いほど、私のvps流量は料金を計算して、だから私のは乞食版Tです)
私のブックを貼ってください.json
作成が完了したらbook.jsonファイルディレクトリは、次のコマンドを実行してプラグインをインストールします.
プロファイルは主にGitBookのファイルディレクトリ情報を格納し、左側のディレクトリはこのファイルに基づいて生成され、Markdownのリスト構文によってファイルの階層関係を表す.以下は簡単な例である.
作成が完了すると、gitbookに上記のディレクトリ構造を自動的に生成させるinitコマンドを実行できます.
電子書籍のホームページは、book.jsonでの変更
電子書籍の生成時に大量のnodejsファイルと_gitbookの電子書籍ファイル、提案配置
プライマリプロファイルの編集が完了するとgitbook電子書籍を生成し、デフォルトでhtmlを生成し、ローカルでサービスを開始して表示したり、htmlをwebサーバにコピーして表示したりすることができます.ローカルビュー、デフォルトポート4000、 を変更できます.
Webhookitをインストールし、デフォルトのプロファイルを生成します.自分のPython環境に注意して、対応するpipを呼び出してください.
プロファイルの変更実行スクリプトがwebhookネイティブの場合、次の2つのパラメータを変更するだけです. に変更 を書き込む.
マイスクリプト
起動が完了するとlocalhost:portにアクセスしてwebhookの情報とプッシュしたURLを表示し、githubにURLを記入しtypeをjsonに構成すればよい.
プロジェクト——setting——webhook——ADD webhook payload URL:webhookURL を記入 Content type :application/json
トリガ条件はオプションです.ここで選んだのは
https://huangwj.app
ちなみにこのブログは、Gitbookベースの電子書籍で、markdown文法やGitbookが約束したドキュメント構造を通じて、論理的に内容を説明することができます.ブログプロジェクト全体が私個人のgithubに管理されています.https://github.com/huangwjwork/gitbookを選択し、githubを介して私のvpsに導入されたwebhookと連動します.push動作があるたびに、githubは私のvpsに要求されたwebhookをpostし、gitbookスクリプトをトリガーし、ブログの自動更新を実現します.
Gitbookについて、知りたいのはこの大物のブログを参考にすることができます:
http://gitbook.zhangjikai.com/
githubのwebhookの配置について、ネット上の資源はとても多くて、私はhttps://github.com/hustcc/webhookit
を使って、内は中国語のドキュメントがありますGitbookのインストール
nodeをインストールします。js
コンパイルインストールまたは対応するバイナリインストール
yum install nodejs
Gitbookのインストール
国内環境はnpm源を改正してタオバオの鏡像ステーションの後で更にインストールすることを提案します
npm install gitbook-cli -g
gitbook -V
gitbookの構成
githubにプロジェクトを作成し、cloneをローカルに移動し、プロジェクトルートディレクトリに入り、
gitbook init
を実行し、gitbookを編集することができる.json,SUMMARY.md,README.md,および.gitignore book.json
book.jsonはgitbookの配置ファイルで、プラグインの配置ファイルを含んで、プラグインを通じて電子書籍の機能を豊富にすることができて、興味があるのは公式に探して、多くのとても面白いプラグイン(プラグインが多ければ多いほどjsファイルが多ければ多いほど、私のvps流量は料金を計算して、だから私のは乞食版Tです)
私のブックを貼ってください.json
cat book.json
{
"title": "huangwjwork's notes",
"description": " , ",
"author": "huangwjwork",
"output.name": "site",
"language": "zh-hans",
"gitbook": "3.2.3",
"root": ".",
"links": {
"sidebar": {
"Home": "https://huangwj.app"
}
},
"plugins": [
"github@^2.0.0",
"edit-link@^2.0.2",
"anchors@^0.7.1",
"include-codeblock@^3.0.2",
"splitter@^0.0.8",
"tbfed-pagefooter@^0.0.1",
"expandable-chapters-small@^0.1.7",
"[email protected]"
],
"pluginsConfig": {
"theme-default": {
"showLevel": true
},
"github": {
"url": "https://github.com/huangwjwork/gitbook"
},
"include-codeblock": {
"template": "ace",
"unindent": true,
"edit": true
},
"tbfed-pagefooter": {
"copyright": "Copyright © huangwjwork 2017",
"modify_label": " :",
"modify_format": "YYYY-MM-DD HH:mm:ss"
},
"edit-link": {
"base": "https://github.com/huangwjwork/gitbook/edit/master",
"label": "Edit This Page"
},
"anchor-navigation-ex": {
"isRewritePageTitle": false,
"tocLevel1Icon": "fa fa-hand-o-right",
"tocLevel2Icon": "fa fa-hand-o-right",
"tocLevel3Icon": "fa fa-hand-o-right"
}
}
}
作成が完了したらbook.jsonファイルディレクトリは、次のコマンドを実行してプラグインをインストールします.
gitbook install
SUMMARY.md
プロファイルは主にGitBookのファイルディレクトリ情報を格納し、左側のディレクトリはこのファイルに基づいて生成され、Markdownのリスト構文によってファイルの階層関係を表す.以下は簡単な例である.
# Summary
* [Introduction](README.md)
-----
* [ ](ABOUT_ME.md)
-----
* [ ](ABOUT_BLOG.md)
-----
* [ ](knowledge.md)
* [ ](OS/os.md)
* [Linux](OS/linux/linux.md)
* [windows](OS/win/windows.md)
* [Unix](OS/unix/unix.md)
作成が完了すると、gitbookに上記のディレクトリ構造を自動的に生成させるinitコマンドを実行できます.
$ gitbook init
info: create SUMMARY.md
info: initialization is finished
README.md
電子書籍のホームページは、book.jsonでの変更
.gitignore
電子書籍の生成時に大量のnodejsファイルと_gitbookの電子書籍ファイル、提案配置
.gitignore
[huangwj@instance-1 ~]$ cat /opt/huangwj/gitbook/.gitignore
/_book/
/node_modules/
gitbook電子書籍の生成
プライマリプロファイルの編集が完了するとgitbook電子書籍を生成し、デフォルトでhtmlを生成し、ローカルでサービスを開始して表示したり、htmlをwebサーバにコピーして表示したりすることができます.
$ gitbook serve
Live reload server started on port: 35729
Press CTRL+C to quit ...
info: 41 plugins are installed
info: 15 explicitly listed
info: loading plugin "github"... OK
info: loading plugin "edit-link"... OK
info: loading plugin "anchors"... OK
info: loading plugin "include-codeblock"... OK
info: loading plugin "splitter"... OK
info: loading plugin "tbfed-pagefooter"... OK
info: loading plugin "expandable-chapters-small"... OK
info: loading plugin "anchor-navigation-ex"... OK
info: loading plugin "livereload"... OK
info: loading plugin "highlight"... OK
info: loading plugin "search"... OK
info: loading plugin "lunr"... OK
info: loading plugin "sharing"... OK
info: loading plugin "fontsettings"... OK
info: loading plugin "theme-default"... OK
info: found 26 pages
info: found 27 asset files
warn: "options" property is deprecated, use config.get(key) instead
info: >> generation finished with success in 5.0s !
Starting server ...
Serving book on http://localhost:4000
Webhookを導入しgithubと連動
Webhookitのインストール
Webhookitをインストールし、デフォルトのプロファイルを生成します.自分のPython環境に注意して、対応するpipを呼び出してください.
pip install webhookit
webhookit_config > /opt/webhook/webhook_for_github.conf
プロファイルの変更
repo_name/branch_name
自分のプロジェクト名とブランチ名SCRIPT
実行するスクリプト[huangwj@instance-1 ~]$ cat /opt/webhook/webhook_for_github.conf
# -*- coding: utf-8 -*-
'''
Created on May-25-18 19:10:16
@author: hustcc/webhookit
'''
# This means:
# When get a webhook request from `repo_name` on branch `branch_name`,
# will exec SCRIPT on servers config in the array.
WEBHOOKIT_CONFIGURE = {
# a web hook request can trigger multiple servers.
'gitbook/master': [{
# if exec shell on local server, keep empty.
'HOST': '', # will exec shell on which server.
'PORT': '', # ssh port, default is 22.
'USER': '', # linux user name
'PWD': '', # user password or private key.
# The webhook shell script path.
'SCRIPT': '/opt/huangwj/scripts/gitbook_update.sh > /opt/huangwj/scripts/gitbook_update.log'
}]
}
マイスクリプト
[huangwj@instance-1 scripts]$ cat gitbook_update.sh
#!/bin/bash
source /etc/profile
source /home/huangwj/.bash_profile
date
cd /opt/huangwj/gitbook
git pull
gitbook install
gitbook build
Webhookitの起動
webhookit -c /opt/webhook/webhook_for_github.conf -p port
起動が完了するとlocalhost:portにアクセスしてwebhookの情報とプッシュしたURLを表示し、githubにURLを記入しtypeをjsonに構成すればよい.
githubの構成
プロジェクト——setting——webhook——ADD webhook
トリガ条件はオプションです.ここで選んだのは
Just the push event.
です.