Zenn公開用記事フォーマット改善(開発日記 No.029)

に公開

関連リンク

Zenn公開用記事フォーマット改善

はじめに

昨日はDiary-Converterのコード重複解消とメンテナンス性向上に取り組みました。今日は、その流れでZenn公開用記事のフォーマット改善を進めていきます。より洗練された記事テンプレートを目指し、読者の皆様にとって価値のある情報を提供できるよう努めます。

背景と目的

開発日記をZenn記事として公開するためのテンプレートが必要だったため、より読みやすく魅力的な記事構成を目指して改善を行うことにしました。特に、自動生成された記事の品質向上と、手動での修正作業の削減を目的としています。

検討内容

課題の整理

現在のZenn公開用記事テンプレートには以下の課題がありました。

  1. タイトルの形式が統一されておらず、記事によってばらつきがある
  2. メッセージボックスの内容が冗長で、必要な情報が埋もれている
  3. 前回の記事へのリンクが手動で入力する必要があり、手間がかかる
  4. 関連Issueへのリンクが提供されておらず、情報へのアクセスが不便

解決アプローチ

これらの課題を解決するために、以下のアプローチを検討しました。

  1. タイトルの形式を統一し、シンプルでわかりやすい形式にする
  2. メッセージボックスの内容を必要最小限の情報に絞り込む
  3. 前回の記事へのリンクを自動的に生成する
  4. 関連Issueへのリンクを自動的に提供する

実装内容

実際に行った作業内容は以下の通りです。

変更点1: タイトルのスタイル統一

タイトル形式を「[テーマ名](開発日記 #[連番])」に統一しました。プロジェクト名を削除し、よりシンプルな形式に変更することで、記事の主題が明確になるようにしました。

変更点2: メッセージボックスの簡素化

メッセージボックスの内容をLLMモデル名の表示のみにシンプル化しました。開発サイクルについての記事参照は、関連リンクセクションに移動しました。これにより、メッセージボックスがより簡潔になり、重要な情報が際立つようになりました。

変更点3: 前回の記事リンクの自動入力

前回の記事へのリンクを「前回の開発日記」という統一された表示に変更しました。diary_converter.pyを修正し、prev_article_slugパラメータを使って自動的にリンクを生成するようにしました。これにより、手動でのリンク入力の手間が省け、記事作成の効率が向上しました。

# diary_converter.pyの一部
def generate_zenn_article(diary_content, prev_article_slug):
    # ...
    prev_article_link = f"- **前回の開発日記**: [前回の開発日記](https://zenn.dev/centervil/articles/{prev_article_slug})"
    # ...
    return article_content

変更点4: 関連IssueへのURL提供

関連リンクセクションに「関連Issue」の項目を追加しました。Issue番号を使って自動的にGitHubのIssueへのリンクを生成するようにしました。これにより、読者が関連情報に簡単にアクセスできるようになり、記事の理解が深まることが期待されます。

# diary_converter.pyの一部
def generate_zenn_article(diary_content, prev_article_slug, issue_number):
    # ...
    issue_link = f"- **関連Issue**: [Issue #{issue_number}](https://github.com/centervil/Diary-Converter/issues/{issue_number})"
    # ...
    return article_content

技術的なポイント

今回の実装では、diary_converter.pyの修正が中心となりました。特に、文字列のフォーマット処理において、f-stringを活用することで、コードの可読性を高めました。また、パラメータとして渡された情報を適切に処理し、Zenn記事のフォーマットに組み込むことで、自動化を実現しました。

所感

今回のZenn公開用記事フォーマット改善作業を通じて、自動化の重要性を改めて認識しました。手動での修正作業を減らすことで、記事作成にかかる時間を短縮し、より多くの時間を開発に費やすことができるようになります。また、フォーマットの統一により、記事の品質と一貫性が向上し、読者にとってより価値のある情報を提供できるようになることを期待しています。最初は単純な作業だと思っていましたが、実際に取り組んでみると奥が深く、自動化の可能性を強く感じました。

今後の課題

今後の課題としては以下が挙げられます。

  1. Zenn記事の自動公開機能の実装
  2. 記事のSEO対策の強化
  3. テンプレートのさらなる改善

まとめ

今回は、Zenn公開用の記事テンプレートを改善し、より読みやすく魅力的な構成にすることができました。タイトルの統一、メッセージボックスの簡素化、前回の記事へのリンクの自動入力、関連IssueへのURL提供など、様々な改善を実施しました。これらの改善により、Zenn公開用記事の品質と一貫性が向上し、手動での修正作業が減少することが期待されます。このテンプレートを活用することで、今後の開発日記の公開がよりスムーズになることを願っています。

GitHubで編集を提案

Discussion