Node.JSプロジェクトのオンラインドキュメントジェネレーター

ドキュメントは、プロジェクトの最も重要なコンポーネントの1つです。他の人が読むことになるオープンソースプロジェクトの場合は特にそうです。 オープンソースの世界を少し良くするために、nodejsプロジェクトのモジュールを整理する分野で知識を集め、 Makedocのようなツールを作ろうとしました 。 ルビーの達人への注意:これはルビーのrdoc.infoとほぼ同じです。



このツールは、プロジェクトコードを分析し、ドキュメント化されている可能性のあるコードをハイライトし(ドキュメントの有無に関係なく)、プロジェクトを説明する静的なページセットを生成します。



要するに、使用パターンは次のとおりです。jsdoc.info/ [githubusername†/ [projectname]に移動して、完成したプロジェクトドキュメントを参照してください。 または、jsdoc.info / [githubusername]にアクセスして、ドキュメントを生成できるプロジェクトのリストを取得します。



実装の詳細については、猫をお願いします。





まず、次のようになります。



jsdoc.info/visionmedia/express

jsdoc.info/jaredhanson/passport

jsdoc.info/1602/express-on-railway

jsdoc.info/1602/jugglingdb



仕組み




Makedoc




makedocモジュールはコード分析を担当します。 プロジェクトがパブリックドメインのgithubでホストされていない場合、このモジュールは別のツールとして使用できます。 Makedocは、クラスメソッド、インスタンスメソッド、および単純なメソッドという3つの基本的なセマンティックユニットのファイルを解析します。 各ファイルは、クラスファイル(クラスの説明を含む)またはモジュールファイル(関数のエクスポートを含む)としても定義されます。



Jsdoc




ドキュメントの推奨形式はjsdocです。 しかし、彼はそれを厳密に理解していません。 プロジェクトの開発に応じて、完全なサポートが提供されます。 そのため、メソッドのドキュメントを見つけることができる場合、マークダウンを使用して解析され、メソッドは「ドキュメント化済み」としてマークされます。 その結果、「ドキュメントカバレッジ」(ドキュメント化されていない行数に対するドキュメント化されている行数の比率)などのメトリックがあります。 最後の桁として、プロジェクトの行の合計数ではなく、メソッドの行のみが使用されるため、100%の数字を達成できます。



技術スタック:nodejs、railwayjs、bootstrap、jsdom、jquery




プロジェクトは、狭いチャネルと小さなディスクを備えた100mb RAMのホスティングで動作するため、すべてが迅速に動作し、プロジェクトはハードドライブに複製されず、必要なファイルのみがダウンロードされ、htmlはjsdom + jqueryを使用して解析されます。 最初は、リポジトリのクローンを作成したバージョンがありましたが、動作はずっと遅く、改善されませんでした。 したがって、。/ libディレクトリ内のソースコードに制限し、ネストの第2レベル(チェック済みプロジェクトの90%をカバー)に制限します。



RailwayJSは、「欠落した」静的ミドルウェア要求を満たし、生成されたドキュメントを送信します。 さらなるリクエストは、静的によって与えられます。



計画




このプロジェクトは1週間前であるため、現在のところ、表示できる絶対的な最小値が実現されています。 可能な限り多くのプロジェクトをサポートするために、パーサーを開発および改善する計画があります。 次の優先事項:生成プロセスの自動化。 すでに、/ user / repo / updateにPOSTリクエストを送信し、githubのPOST-receiveフックを使用してドキュメントを更新できます。 しかし、誰がこれを設定しますか? travis-ciのようになります。1つのトグルスイッチで完了です。



生成リクエストが時間内に分離されている限り、すべてが問題なく機能します。これは、静的が迅速に提供され、分析に大きなリソースが必要ないためです。 ただし、プロジェクトが「飛び」、需要がある場合は、より深刻なハードウェアが必要になります。 したがって、私はあなたに可能なハブ効果に忠実に帰するようお願いします。



現時点では、リソースの使用に興味のあるプロジェクトオーナーからのフィードバックが本当に必要です。 ハブで見つけたいコミュニティの積極的な参加者と一緒に、コミュニティ指向のプロジェクトの開発の方向を選択するのが最善です



よろしくお願いします!




PS:サイトで見つかった問題については、ここで問題を作成してください: github.com/1602/railway-jsdoc-generator/issues

ドキュメントジェネレーターの問題については、 github.com / 1602 / makedoc / issuesに書いてください。



All Articles