45

javadocsをオープンソースプロジェクト(Eclipseで生成)からGitHub MarkDownに変換する方法を探しています。または、 GitHubにドキュメントを表示するための他の簡単なソリューションを考え出します(単にdocsディレクトリを追加するのは恥ずかしいです)。これに対する簡単な解決策はありますか?GitHub README.mdを自分のdocsディレクトリにポイントするだけでいいですか?もっとエレガントなものはありますか?私はグーグルで目立ってきました。

4

4 に答える 4

36

MarkDown で使用可能な Javadoc を作成することは不可能だと思います。おそらく最善の解決策は、生成した Javadoc をgh-pagesブランチ (またはdocs/プロジェクトの設定に応じてディレクトリ) にコミットすることです。次の場所で入手できます。

http://username.github.io/プロジェクト名

これは私のプロジェクトの1つの例です:

http://ebourg.github.io/jsign/apidocs/

于 2013-03-12T15:03:41.607 に答える
24

現在、ブランチからだけでなく、ブランチ内のフォルダーから直接JavadocGithub ページでホストすることもできます。このトピックに関するヘルプ セクションは、こちらで確認できます(以下の添付画像も確認してください)。gh-pages/docsmaster

ここに画像の説明を入力

また、Github には、Javadoc を Markdown に変換することを目的としたプロジェクトがあります (まだ試していないため、参照を残しています)。

于 2016-10-19T10:23:54.297 に答える
10

プロジェクトのソース管理に Javadoc をチェックインしないでください

特にmaster支店に入らないでください!私はこの質問に対する他の回答を約1年間追跡してから、それが本当に悪い考えであると判断しました. なんで?

  1. 差分を確認するのが非常に難しくなりました。大幅に変更された Javadoc ページのみを更新するスクリプト (以下を参照) も作成しましたが、それでもめちゃくちゃでした。

  2. これは、IntelliJ のリファクタリング ツールを騙しました。.x() を .getX() に変更しようとしたところ、Javadocs のすべての「x」を承認/拒否する必要がありました。IntelliJ でフォルダーを除外するのを忘れたのかもしれませんが、プロジェクトで sed/grep/find を使用する場合は、毎回忘れずに除外する必要があります。

  3. そこにあるはずのない一連のデータがgitに追加され、コマンドの作成pullcloneコマンドの実行に時間がかかる可能性があります...永遠に! 後でフォルダーを「削除」しても、まだ 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"
于 2019-02-13T14:46:46.577 に答える