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


関連記事

laravel logo

Laravelの便利メソッドupsert

1 はじめに2 upsertメソッドとは3 使い方4 タイムスタンプ5 生成SQL6 さいごに7 おすすめ書籍 はじめに LaravelでUPSERTを行いたい場合にupdateOrCreateメソッ ...

Go言語

go:embedとGo 1.16、1.17での変更点まとめ

1 はじめに1.1 変更点一覧2 go:embedとは3 go:embedの使い方3.1 基本的な使い方3.2 複数のファイルを埋め込む3.3 異なるディレクトリのファイルを埋め込む3.4 ディレクト ...

laravel logo

Laravelのバッチ処理を作る

1 はじめに2 環境3 artisanコマンド作成4 artisanコマンドをバッチとして登録する5 さいごに6 おすすめ書籍 はじめに こんにちは。webアプリにつきもののバッチ処理ですが、もちろん ...

Go言語

Go言語でGinkgoを利用してBDDしてみた

1 はじめに2 BDDとは3 Ginkgoについて3.1 Ginkgoの概要3.1.1 Describe3.1.2 Context3.1.3 It3.1.4 JustBeforeEach3.1.5 B ...

rails

Ruby、Railsの時間に関するメソッドを使用してみた

はじめに 普段PHPのお仕事をしています、tonnyです。 半年程前からRuby on Railsの勉強を始めました。 今回はよく使う時間に関するメソッドついてまとめたいと思います。 目次 1 はじめ ...

フォロー

blog-page_side_responsive

2018年9月
 1
2345678
9101112131415
16171819202122
23242526272829
30  

アプリ情報

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