この記事では主に PHP でのマークダウンドキュメント管理ツールの実装コードを共有します。お役に立てれば幸いです。
主な目標:
1. 複数人で編集できる
3. 折りたたみ可能なディレクトリを用意する
5. マークダウンをサポートする
6 .速くて便利
私は働き始めてからPHPの開発に携わり、サーバーサイドでインターフェースを書くことから始めて、いくつかのインターフェース文書管理ツールやシステムに触れてきました。簡単な説明:
showdoc、包括的かつ簡潔、ユーザーと権限の管理機能があり、マークダウンをサポート、Word エクスポートをサポート、さまざまなドキュメント テンプレートがあり、ディレクトリは 2 レベルの折りたたみをサポートしています
confluence、強力機能 (権限管理、メールリマインダー、全文検索、プラグイン管理など)、重い有料文書管理
システムswagger、連携するにはコードに大量のコメントを記述する必要があります
readmine、confluenceと同様の機能が豊富で、ドキュメントがtxtで保存され、変更の追跡や全文検索が可能ですが、ドキュメントを書くのは少し面倒ですタスク/バグ追跡管理などに適しています。
gitbook、nodejs のインストール、マークダウンのサポート、npm プラグインのサポート、左側の折りたたみ可能なディレクトリ ツリーが必要です。プラグインをインストールします。検索プラグインもインストールできます。ディレクトリは別のマークダウン ファイルです。使ってみると、MDからHTMLへのコンパイルが遅すぎると感じました(600以上のドキュメントのコンパイルに25分以上かかりました。インクリメンタルコンパイルがあるか、コンパイル速度を上げることができれば、プラグインについてアドバイスをお願いします
)解決策:
マークダウンをHTMLファイルにコンパイルしてイントラネットに展開する必要があります
ブラウザで表示する必要があるため、ここでは最終的に、シンプルなアクセス、クリーンなインターフェイス、依存関係のない (jQuery に依存しない) dtree.js を選択しました
この関数はルート順序トラバーサルを使用しますマルチレベルを実現するためのツリーのアルゴリズム (再帰を使用せず、書き込みに関与することを心配せずに)、たまたま dtree.js もマルチレベルのディレクトリの折りたたみをサポートしています
ここで私は最終的に PHP コンパイル ツールを選択しましたクラスはsegmentfaultによって正式にリリースされました(私が多くの同様のPHPクラスを参照して最適化したため、ありがとう〜)
それが速い場合、600以上のファイルをコンパイルするのに約2秒かかります。受け入れ可能であり、インクリメンタル コンパイルをサポートしています。便利な場合は、主にディレクトリの自動生成に反映されます。
発生した問題:
冗長なファイルを削除します
その後の使用中に、次のことが判明しました。一部の md ファイルは削除されましたが、最終的にコンパイルされたファイルは自動的に削除されませんでした
何よりも、dtree.js には、ディレクトリを表示し、展開と折りたたみを操作するために特定の必要な json データが必要です
アセンブリとは、HTMLヘッダー、ボトム、サイドバーなどのHTMLコードを事前に記述し、コンパイルされたコンテンツにこれらのコンテンツをつなぎ合わせ、最終的に対応するフォルダーに入れて美化することです。これは主に公式によるものです。セグメントフォルトのコンパイル ツールは、HTML 要素 (テーブル、コードなど) にスタイルを追加しません。ここで github の関連する CSS スタイルを見つけて、それらを美化しました
関連する推奨事項:
以上がPHPマークダウンドキュメント管理ツールの実装コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。