BackEnd

markdownで書けるドキュメントツールのGitbookを試す

投稿日:2018年9月6日 更新日:

はじめに

こんにちは。開発ドキュメントとしてwikiを使うケースはままあると思いますが、皆さんはどんなツールをお使いでしょうか。GithubやBitbucketといったサービス付属のwiki、Qiita:TeamなどのSaaS、あるいはRedmineなどのツールに付属しているwikiだったり、もしくは自ら管理するサーバにPukiwikiなどを入れて運用することもあると思います。
その類のツールを調査していて行き当たったのが、今回ご紹介するGitbookです。

Gitbookとは

  • 名前にGitと付いていますが、Githubとは特に関係ありません。
  • 基本的には「マークダウン形式で書いたドキュメントをhtmlに変換するツール」です。
  • 変換されたhtmlをリモートのサーバに置いて閲覧することももちろん可能です。
  • node.jsさえインストールされていれば、とりあえず動きます。類似ツールに国産のCrowiがありますが、こちらはnode.js+Mongodbで動作します。
    .mdファイルさえあればどこにでも置けて閲覧できるので、Gitbookの方が手軽で運用しやすいかと感じています。
  • 特にプラグインなど入れずにデフォルトで記事の全文検索が可能な点が、Gitbookの長所のひとつだと思います。

では早速ローカルに導入してみましょう。環境はmacOS High Sierra 10.13.6です。

nvm

node.jsのバージョン管理は他の言語やツールと異なり乱立気味のようです。macであれば、ただ試すだけならhomebrewでもよいのですが、今回はnvmを使用します。

nvm公式のドキュメントに従ってインストールスクリプトを取得・実行します。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

実行すると、以下の2行が~/.bashrcもしくは~/.bash_profileに追記されます。

node.jsインストール

その時の最新LTSを入れておけば、基本的には問題ないと思います。
LTS = Long Term Supportの頭文字です。訳すと長期サポート版となるでしょうか。
node.jsと同時にnpm(node.jsのパッケージ管理ツール)も一緒に入ります。

Gitbook導入

インストール

gitbook-cliはGitbook作成をするためのコマンドラインツールです。

初期化

initで初期化、buildで.mdファイルからhtmlを生成します。

ローカルでブラウザから確認

生成されたhtmlをlocalhostで確認できます。自分だけのためのwikiであれば、これだけで事足ります。
実際にチームで運用することを考えると、Github/gitlab/Bitbucketなどにリポジトリを作成し、.mdファイルや静的ファイルをプッシュしていくことになるでしょうか。
リポジトリのコミットログ = 記事の編集履歴になるわけですね。

起動メッセージにあるアドレス http://localhost:4000 にアクセスしてみましょう。

作成と編集

gitbook init したディレクトリ ~/gitbook に新しいファイルを作成します。ファイル名は test.md とします。
ターミナルで vi ~/gitbook/test.md でもいいですし、エディタなどからGUIで新規作成してもOKです。
中身はひとまず下記の通りにしてみましょう。

見出し編集

ページの左側にあるのが見出しで、ここには ~/gitbook/SUMMARY.md の内容が出力されます。見出しを編集して新規記事へのリンクを作成しましょう。

ライブリロード機能がありますので、ページを更新せずに「テスト記事」という名前のリンクが見出しに表示されます。

さいごに

いかがでしたでしょうか。wikiツールは様々ありますが、サーバにインストールするタイプを選ぶのであれば、Gitbookはかなり良さそうだと感じています。
この手のツールはサーバ移転の際のデータ吸い出しが面倒だったりするのですが、基本的にはリポジトリ上の.mdファイルさえあればよく、身軽なところがいいですね。
チャートを簡単に描画できるmermaid.jsなるものもあるそうで、設計書・仕様書などもGitbookで事足りるのではないかと期待しています。

参考

blog-page_footer_336




blog-page_footer_336




-BackEnd
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

Go言語

Go 1.23のos.CopyFSについて

1 はじめに2 os.CopyFSでディレクトリをコピーする2.1 コードサンプル2.2 os.CopyFS3 さいごに4 おすすめ書籍 はじめに Go 1.23で os パッケージに追加された Co ...

【Git】マージコミットを消したい

1 はじめに2 例えばこんなことってないでしょうか?3 マージコミットを消す4 さいごに はじめに こんにちは、tonnyです。 今回はGitのケーススタディ的なものを書きたいと思います。 反面教師と ...

rails

Railsの低レベルキャッシュを使ってみた

1 はじめに1.1 環境2 ドキュメント3 準備3.1 configの確認3.2 キャッシュストア4 使ってみる4.1 #read、#write、#delete4.2 #fetch4.3 オプション4 ...

Go言語

Go言語、ゴルーチン(goroutine)で並列処理を

1 はじめに2 ゴルーチン2.1 go文2.2 ゴルーチンの終了条件2.3 WaitGroup3 チャネル3.1 チャネルの型3.2 チャネルの生成3.3 チャネルの送受信3.4 チャネルとゴルーチン ...

laravel logo

Server-Side Eventsを触ってみた

1 はじめに2 Server-Side Events(SSE) とは3 実装してみる3.1 動作の流れ3.2 Laravel側3.3 React側4 Chat GPTのレスポンス5 さいごに6 おすす ...

フォロー

blog-page_side_responsive

2018年9月
 1
2345678
9101112131415
16171819202122
23242526272829
30  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。