GitBook

提供:yonewiki

概要

 GitBookはマークダウン言語を取り扱うモジュールだそうです。最近よく見かけるReadme.mdとかっていうテキストはコレです。マークダウンね。MarkDownでmd。

 

導入

npm install -g gitbook-cli


Node.jsをインストールして、上記コマンドでいける。Node.jsとnpmのバージョンが一致してないとダメなので、以下の手順を踏むと確実にNode.jsとnpmを一致させれるらしいです。


まず。Nodistをインストールする。パスは自動で設定されるとの噂だったが、自分は手動で実施しました。[スタート]-[⚙(はぐるま)]。表示されたウィンドウの左側のビューの一番下[詳細情報]。表示された右側コンテンツの一番下あたり[システムの詳細設定]。表示されたダイアログの[環境変数]。さらに表示されるウィンドウの下側のシステムの環境変数領域にあるpathという既存項目の行を選択した状態から[編集]ボタンをおして、[追加]で


C:\Program Files (x86)\Nodist\bin


 のようなインストールパスを入力して[OK]ボタンとかで適用させながらウィンドウを閉じまくります。その後、いかのような合わせこみコマンドが使えるようになっていますので、やっておきましょう。通常はこの操作はしなくても、マッチしている状態の人が多いので、いらないかもしれないです。したらばNodistいらんやん。容量食うし。あとあと不具合がおこったときだけでええやん。ええやん。そうです。無駄にインストールしたかもしれないNodistによる合わせこみは以下のコマンドです。


nodist npm match


 そして、コマンドプロンプトでカレントディレクトリを作業用のディレクトリとかに移動させるべく、以下のコマンドを使います。

cd C:\
mkdir GitBook
cd GitBook

 とします。そして、

gitbook init

 とするそうな。


ここで人によっては不具合がでるらしい。こんなエラー。

>gitbook init
Installing GitBook 3.2.3
C:\Users\ユーザ名\AppData\Roaming\npm\node_modules\gitbook-cli\node_modules\npm\node_modules\graceful-fs\polyfills.js:287
      if (cb) cb.apply(this, arguments)
                 ^

TypeError: cb.apply is not a function
    at C:\Users\ユーザ名\AppData\Roaming\npm\node_modules\gitbook-cli\node_modules\npm\node_modules\graceful-fs\polyfills.js:287:18
    at FSReqCallback.oncomplete (node:fs:208:5)

Node.js v18.12.0


 これは、graceful-fsのバージョンがあやしいことが原因だそうで、まずはディレクトリ移動しておいて、

cd C:\Users\ユーザ名\AppData\Roaming\npm\node_modules\gitbook-cli\node_modules\npm\node_modules\

 こうらしいです。

npm install graceful-fs@4.2.0 --save

 したらば、

cd c:\GitBook
gitbook init

 で初期化。してみる。うまくいくかな。

TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received an instance of Promise

 はい。だめでした~。バージョン的に無理みたいな議論が巻き起こっているようです。12.18(LTS)を使ったらええやんみたいなことでした。やってみます。おらおらおらー!


>gitbook init
warn: no summary file in this book
info: create SUMMARY.md
info: initialization is finished


 おー。うまくいった。すげーなインターネット。即解決。


初歩

 なんか使える感じになったし、C:¥GitBookフォルダをGitBook用のフォルダとして初歩的な作業をしてみます。まずは、book.jsonという設定ファイルを作ります。内容は、日本語でという設定にするにはというのが基本的な設定として日本人がやってみることですね。左側のViewの一番下に「GitBookで公開」というのが日本語で表示されます。日本語にしない場合は英語で書かれます。

{
    "language": "ja"
}


 book.jsonファイルの中身を上記の内容にしたら


>gitbook init

 で、初期化されます。book.jsonに書かれた設定で再構築もされます。文書の中身を確認するには

>gitbook serve --open

 とすると、localhost:4000というアドレスで文書がウェブブラウザで表示されます。ブラウザは標準設定が使われます。自分はEdgeですね。内部的にはウェブサーバも立ち上がるということですね。そんな簡単にウェブサーバってたちあげれるもんなんですね。最近のプログラムはすげっす。一昔前は、ウェブサーバを立ち上げるっていったら大仕事だったような気がします。最小構成でウェブサーバをたちあげてるんだろうな。いや、仕組み分かってないですけど。

 README.mdが無い状態でgitbook initコマンドを実行したら、README.mdは

#Introduction

 という中身だけのものが作られるので、大した中身ではないものが表示されたと思います。初歩ですからね。

 GitBookで作る文書のいいところは、複雑なプログラムを書かなくても、自動で目次連動型のウェブページが作成できて、自分のサーバで確認するだけではなく、gitbook buildのようなコマンドでhtmlファイルとそのほか必要なファイル群がまとめて書き出されます。説明書のようなものを作るには便利なものです。

 もうちょっとbook.jsonで設定できる内容を見てみます。

  • 検索機能を消す。 "plugins": ["-search"]
  • SNSへのリンク機能を消す。"plugins": ["-sharing"]
  • 左下のGitBookへのリンクを消す。"plugins": ["hide-published-with"]

 といった指定が出来ます。


 マークダウンの記法ですが、https://stakiran.gitbooks.io/testbook_from_github/content/markdown_grammers.htmlのSiteでよく纏められていると思います。