javadocsをオープンソースプロジェクト(Eclipseで生成)からGitHub MarkDownに変換する方法を探しています。または、 GitHubにドキュメントを表示するための他の簡単なソリューションを考え出します(単にdocs
ディレクトリを追加するのは恥ずかしいです)。これに対する簡単な解決策はありますか?GitHub README.md
を自分のdocs
ディレクトリにポイントするだけでいいですか?もっとエレガントなものはありますか?私はグーグルで目立ってきました。
4 に答える
MarkDown で使用可能な Javadoc を作成することは不可能だと思います。おそらく最善の解決策は、生成した Javadoc をgh-pages
ブランチ (またはdocs/
プロジェクトの設定に応じてディレクトリ) にコミットすることです。次の場所で入手できます。
http://username.github.io/プロジェクト名
これは私のプロジェクトの1つの例です:
現在、ブランチからだけでなく、ブランチ内のフォルダーから直接JavadocをGithub ページでホストすることもできます。このトピックに関するヘルプ セクションは、こちらで確認できます(以下の添付画像も確認してください)。gh-pages
/docs
master
また、Github には、Javadoc を Markdown に変換することを目的としたプロジェクトがあります (まだ試していないため、参照を残しています)。
プロジェクトのソース管理に Javadoc をチェックインしないでください
特にmaster
支店に入らないでください!私はこの質問に対する他の回答を約1年間追跡してから、それが本当に悪い考えであると判断しました. なんで?
差分を確認するのが非常に難しくなりました。大幅に変更された Javadoc ページのみを更新するスクリプト (以下を参照) も作成しましたが、それでもめちゃくちゃでした。
これは、IntelliJ のリファクタリング ツールを騙しました。.x() を .getX() に変更しようとしたところ、Javadocs のすべての「x」を承認/拒否する必要がありました。IntelliJ でフォルダーを除外するのを忘れたのかもしれませんが、プロジェクトで sed/grep/find を使用する場合は、毎回忘れずに除外する必要があります。
そこにあるはずのない一連のデータがgitに追加され、コマンドの作成
pull
とclone
コマンドの実行に時間がかかる可能性があります...永遠に! 後でフォルダーを「削除」しても、まだ git に保存されています。
javadoc はどこに行くべきですか?
それらをhttps://javadoc.io/、Web サイト、または AWS または herokuに投稿するのがおそらく最善です。javadoc をソース管理にチェックインする必要がある場合は、Javadoc 専用の別のプロジェクトを作成して、差分を確認する必要がないようにします。これを行う方法については、他の人の回答に従うことができます。
「あなたの投稿を読みましたが、とにかくやっています」
これは、より少ない Javadoc を更新するための私のスクリプトです。target/apidocs
フォルダーからフォルダーに大幅な変更があるファイルのみをコピーしdocs/apidocs
ます。また、新しいファイルを追加し、使用されなくなったファイルを削除します。newfile
悪い名前を使用したと思いますoldfile
が、うまくいきます。つまり、javadoc をプロジェクトのソース管理にチェックインすることを正当化するには十分ではありませんでしたが、役に立ちました。
#!/usr/bin/env bash
# -I means ignore lines matching a regular expression
# -q means "quiet" - only tell whether files differ or not
# -r means "recursive" - explore subdirectories
# -N means "treat absent files as empty" which makes absent files show up in Quiet mode.
diff -I '<!-- Generated by javadoc ' \
-I '<meta name="date" content="' \
-I '<title>' \
-I 'parent.document.title=' \
-N \
-qr \
docs/apidocs/ target/apidocs/ > target/javadocPatch.txt
# Now read in the output file created by the previous command and
# Update only files that have substantial changes.
while read ignore1 oldfile ignore2 newfile ignore3
do
if [ ! -f "$oldfile" ]
then
echo "Added $oldfile"
echo -n >$oldfile
cp -fu $newfile $oldfile
elif [ ! -f "$newfile" ]
then
echo "Deleted $newfile"
rm $newfile
else
echo "cp -fu $newfile $oldfile"
cp -fu $newfile $oldfile
fi
done < "target/javadocPatch.txt"