Natural Docs + GitHub Pages =無料のオンライン自動ドキュメント(ほぼ)

GitHubにはGitHub Pagesという面白いものがあります



これは2つの方法で使用できます-サイトをかき回すか、リポジトリにドッキングすることができます。マニュアルで詳しく説明しています。



現在、このサイトには興味がありませんが、リポジトリへのドックが必要です。 たとえば、javascriptプロジェクトを使用しますが、それは問題ではありません。NaturalDocsは適切な言語のバンドルをサポートしています。これは良いことです。



そのため、 NaturalDocs自体が必要です。サンプルをダウンロード、設定、確認してください。



さらに、GitHubで標準の 新しいプロジェクトを作成する必要があります。 あなたはそれを理解するでしょう、そうです。 たとえば、これをMy New Cool Projectと呼びましょう(既存のものを使用できますが、新しいを訓練する方が良いです)。



長いボックスに入れずに、すぐに次のようなページをフリックします



cd My-New-Cool-Project

git symbolic-ref HEAD refs/heads/gh-pages

rm .git/index

git clean -fdx

echo "My GitHub Page" > index.html

git add .

git commit -a -m "First pages commit"

git push origin gh-pages







その過程で、そこに何かが削除されたという面白い碑文があります-これは正常です:)



http:// username .github.com / My-New-Cool-Project /ページにアクセスしてみてください。ここでは、usernameの代わりにユーザー名を入力します



理論的には、左上隅に「My GitHub Page」という碑文のある空白ページを取得する必要があります。 ありますか よし、進みましょう。



コードとドキュメントを扱いましょう。



まず、マスターブランチに戻る場所を確認します



git status







始まりがこんな感じなら



# On branch gh-pages







やる



git co master







さて、マスターブランチのプロジェクトフォルダーに次の構造を作成します。



mkdir lib

mkdir doc

mkdir nd_internal







最初はコードのディレクトリ、2番目はドキュメントが追加される場所、最後はNaturalDocsに必要です



NB。 最適には、作成後、gitの下からnd_internalフォルダーを削除します。.git / info / excludeファイルで、新しい行nd_internal / *を追加します



現在、NaturalDocsスタイルのコメント(libフォルダー内)を伴う何らかのコードを記述しています。



さて、私たちが持っているコメントをコードに入れましょう。NaturalDocsに私たちが望むことを説明する必要があります。 次のような記述が必要です。



naturaldocs -i ./lib/ -o HTML ./doc/ -p ./nd_internal/







naturaldocsがNaturalDocs実行可能ファイルの名前である場合、上記とは異なる場合があります。



すべてがうまくいった場合、次のようなものが表示されます。



Finding files and detecting changes...

Parsing 1 file...

Building 1 file...

Building 2 indexes...

Updating CSS file...

Done.








docディレクトリからindex.htmlファイルを開いてみてください- ドキュメントのある美しいページが表示されます。



ここで、すべての変更をコミットしますが、まだ何もプッシュしません(ドックが生成され、サイトで何も変更されていない場合次のステップのにコミットするのを忘れていました)。



コミット後、ちょっとした魔法が必要です。ドミニクミッチェルは、何が起こっているのか、なぜ彼の記事「 サブディレクトリをgithubページに公開する」で詳細な説明を書いています。 スクリプトの例を挙げます。



#!/bin/bash



doc_dir='doc' # document directory

tmp_message='tmp_mess' # temporary files for changelog message

gh_pages='refs/heads/gh-pages' # refs to pages



parent_sha=$(git show-ref -s $gh_pages)

doc_sha=$(git ls-tree -d HEAD $doc_dir | awk '{print $3}')

git log --pretty=format:'%s' -n 1 $doc_dir > $tmp_message

new_commit=$(git commit-tree $doc_sha -p $parent_sha < $tmp_message )

rm $tmp_message

git update-ref $gh_pages $new_commit



echo "Docs update done"








理論的には、すべてがうまくいったはずで、gh-pagesブランチのドキュメントの更新を受け取りました。



今がやるべき時です



git push







応答として、次のようなものを取得する必要があります。



Counting objects: 24, done.

Delta compression using up to 2 threads.

Compressing objects: 100% (12/12), done.

Writing objects: 100% (13/13), 1.26 KiB, done.

Total 13 (delta 5), reused 0 (delta 0)

To git@github.com:Meettya/My-New-Cool-Project.git

f0005ad..a53b950 gh-pages -> gh-pages

48b901d..f0b787e master -> master








これで重要なのは最後の2行です。両方のブランチに2つのコミットが必要です。



そして、http:// username .github.com / My-New-Cool-Project /に移動し、すべてが適切に配置されているかどうかを確認します。 理論的には、すばらしいドキュメントが表示されるはずです。



さて、READMEファイルでドックへのリンクを作成し、コードの自動ドキュメンテーションから利益を得ることを妨げるものは何もありません。



私のテストプロジェクト。これは、どのように、何が行われたかというテーマでひねることができます-jQuery Enhance Library 。 そこでは、Dockとすべてのスクリプトの例、およびNaturalDocs構文の例を見つけることができます。



All Articles