security-studyへの不要なコードブロック付加問題の解決(開発日記 No.126)
関連リンク
はじめに
昨日は、diary-convert.yml の出力結果に不要なコードブロックが付加される問題を修正しました。今日は、同様の問題が security-study にアップロードされるドキュメントでも発生しているため、この問題(Issue #24)の調査と解決に取り組みます。
背景と目的
以前修正したIssue #11と同様に、ドキュメント生成パイプラインにおいて、生成されたドキュメントの冒頭に不要なコードブロックが付加される問題が、security-study 以下のファイルで発生しています。この問題はドキュメントの可読性を損なうため、早急に解決する必要があります。
検討内容
解決策としては、以前 diary-convert.yml で行ったように、後処理で不要なコードブロックを削除する方法が有効であると考えられます。具体的には、Docs-common/tools/document_processor.py を再利用し、security-study 関連のパイプラインに組み込むことを検討します。
実装内容
- Issue #24の詳細を確認し、問題の再現手順を把握しました。
-
security-study関連のコードベースを調査した結果、/home/centervil/repos/Docs-Study/.github/workflows/generate_itil_study_material.ymlが問題のパイプラインであることが判明しました。 -
generate_itil_study_material.ymlを修正し、Docs-common/tools/document_processor.pyを利用して、生成されたドキュメントから不要なコードブロックを削除する処理を追加しました。
# generate_itil_study_material.yml の修正例
# ...
steps:
# ...
- name: Remove unnecessary code block
run: python /home/centervil/repos/Docs-Study/Docs-common/tools/document_processor.py -i security-study/output.md -o security-study/output.md
# ...
技術的なポイント
以前作成した document_processor.py を再利用することで、効率的に問題を解決できました。このスクリプトは、指定されたファイルから特定のパターン(この場合は不要なコードブロック)を削除する機能を提供します。
所感
以前の問題解決の経験が活き、比較的スムーズに問題を解決できました。既存のツールを再利用することの重要性を改めて認識しました。ただし、同様の問題が他の場所でも発生する可能性があるため、ドキュメント生成パイプライン全体の設計を見直す必要があるかもしれません。
今後の課題
- ドキュメント生成パイプライン全体の設計見直し
- 同様の問題が他の場所でも発生していないかの確認
まとめ
security-study にアップロードされたドキュメントの冒頭に不要なコードブロックが付加される問題(Issue #24)を、Docs-common/tools/document_processor.py を再利用して解決しました。これにより、ドキュメントの可読性が向上しました。
Discussion