Java/ScalaのAPIドキュメントを閲覧したい。もちろんVimでだ。ブラウザがないと閲覧できないドキュメントはアクセシビリティに深刻な問題があり、今すぐに是正されるべきである。
(;́Д`)@todesking
そういった機構はなかったので 作りました+デモ
### `def toSet[B >: A]: immutable.Set[B]` !!Converts this traversable or iterator to a set.!!Note: will not terminate for infinite-sized collections.!!* returns! * a set containing all elements of this traversable or iterator.!!* Definition Classes! * TraversableOnce ! GenTraversableOnce!!(defined at scala.collection.TraversableOnce)!
というわけで、Javadoc/ScaladocをMarkdown形式に変換するものを作りました
便利
インストール
• Conscriptというパッケージツールを使っているので最初にそれを導入する(github/n8han/conscript)、そして
$ cs todesking/nyandoc
• だるい人はプロジェクト(github/todesking/nyandoc)をcloneしてきて sbt run してください
使い方• $ nyandoc <src> <dest-dir> • src: 元になるドキュメントの場所
• jar/html/zip対応
• dest-dir: 出力先
• 出力フォーマットはmarkdownのみです
• なぜならそれ以外必要としていないから……
アドバンスド使い方ビム
• unite.vim • unite-tag • unite-outline.vim • :Unite file_rec:~/.nyandoc • :Unite outline • :Unite tag
ctagsを使う
readme参照
Scalaドキュメント 生成のしくみ
• scaladocにはdocletというプラグイン機構があり、HTML以外の出力形式にも対応しています。sbtから使うときに外部jarのdocletを参照しようとするとクラスローダの都合上動かないのでsbtプラグイン作りました(todesking/sbt-custom-doclet)。それはそうとdocletのAPIがHTML生成に最適化されており、これを他フォーマットに対応するのは事実上無理なのでは…………
• あと誰もdoclet使った形跡がねえ!!!!!!!!!!!!!プラグイン機構作っただけっぽい!!!!!!!!!!!
• 結論といたしましては、ふつうにHTMLをがんばってスクレイピングしてます!!!!!!!!!!!!!!!!
Javaドキュメント 生成のしくみ
• JavadocにはDocletというプラグイン機構があり、これはScaladocよりはまともなAPIが備わっているため頑張ればあらゆるフォーマットに対応できるような感じがするけど、冷静に考えて、ドキュメント生成するためにプロジェクトcloneしてきてビルドするより標準で提供されてるHTMLドキュメントパースしたほうが便利なのでは………………
• 結論といたしましては、ふつうにHTMLをがんばってスクレイピングしてます!!!!!!!!!!!!!!!!
• 旧形式(Java6)のHTMLはあまりにクソなのでスクレイピングに挫折しました。古いライブラリを使うな。
Top Related