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構文の例を見つけることができます。

Source: https://habr.com/ru/post/J132000/


All Articles