📝

Diary-Converter 開発日記 #1: Zenn公開用日記のフォーマット最適化

に公開

関連リンク

Diary-ConverterのIssue #1「Zenn公開用日記のフォーマット最適化」の解決

はじめに

昨日は、Zenn公開用日記のフォーマット最適化に関するIssueを発行しました。今日は、そのIssueを解決するために、具体的な修正作業を進めていきます。より洗練されたZenn記事を作成するための第一歩です。

背景と目的

開発日記をZenn記事として公開するにあたり、既存のフォーマットではいくつかの課題がありました。技術的な内容に偏りすぎていたり、記事の構造が硬直的だったり、読者を惹きつける要素が不足していたりといった点です。そこで、より読みやすく魅力的な記事構成を目指して、フォーマットの最適化を行うことにしました。

検討内容

課題の整理

現在のテンプレートには以下の課題があります。

  1. タイトルのスタイルが統一されていない
  2. 記事のタイプやトピックが手動で設定する必要がある
  3. 関連リンクを記事に含めるのが手間である

解決アプローチ

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

  1. テンプレートファイルを修正し、タイトルのスタイルを統一する
  2. diary_converter.pyを修正し、必要なパラメータを自動的に設定する
  3. 関連リンクセクションを自動生成する機能を追加する

実装内容

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

変更点1: テンプレートファイル(zenn_template.md)の修正

タイトルのスタイルを「[プロジェクト名] 開発日記 #[連番]: [テーマ名]」形式に変更しました。また、typetechに、topicsのデフォルト値に開発日記を追加しました。さらに、関連リンクセクションを追加しました。

---
title: "[プロジェクト名] 開発日記 #[連番]: [テーマ名]"
emoji: "📝"
type: "tech"
topics: ['開発日記']
published: false
---

## 関連リンク

- **プロジェクトリポジトリ**: [プロジェクト名](https://github.com/centervil/[リポジトリ名])
- **前回の開発日記**: [前回のタイトル](https://zenn.dev/centervil/articles/[前回の記事スラッグ])

変更点2: diary_converter.pyの修正

新しいパラメータ(プロジェクト名、連番、前回の記事スラッグ)を追加しました。また、frontmatterテンプレートを修正し、関連リンクセクションの自動生成機能を追加しました。さらに、プロンプトとコマンドライン引数を修正しました。

# コード例 (一部抜粋)
def generate_frontmatter(project_name, serial_number, theme_name, previous_article_slug):
    frontmatter = f"""---
title: "{project_name} 開発日記 #{serial_number}: {theme_name}"
emoji: "📝"
type: "tech"
topics: ['開発日記']
published: false
---

## 関連リンク

- **プロジェクトリポジトリ**: [{project_name}](https://github.com/centervil/{project_name})
- **前回の開発日記**: [前回のタイトル](https://zenn.dev/centervil/articles/{previous_article_slug})
"""
    return frontmatter

変更点3: action.ymlの修正

新しい入力パラメータを追加し、実行コマンドに新しいパラメータを追加しました。

技術的なポイント

今回の実装で特に重要だったのは、diary_converter.pyにおけるfrontmatterの自動生成処理です。文字列フォーマットを効果的に使用することで、可読性が高く、メンテナンスしやすいコードを実現しました。また、コマンドライン引数を追加することで、柔軟なパラメータ設定が可能になりました。

所感

今回のフォーマット最適化作業を通じて、Zenn記事の構成について改めて考える良い機会になりました。特に、読者の視点に立って情報を整理することの重要性を実感しました。最初は単純な作業だと思っていましたが、実際に取り組んでみると奥が深く、自分自身の文章力も試されている気がしました。関連リンクの自動生成機能を追加したことで、記事間のつながりが明確になり、読者がプロジェクトの全体像を把握しやすくなったと思います。

今後の課題

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

  1. 画像や図表の効果的な活用方法の検討
  2. より読者を惹きつけるタイトルや導入文の工夫
  3. SEO対策の強化

まとめ

今回は、Zenn公開用の記事テンプレートを改善し、より読みやすく魅力的な構成にすることができました。技術的な内容と個人的な視点のバランスを取りながら、読者に価値を提供できる記事構成を目指しました。このテンプレートを活用することで、今後の開発日記の公開がよりスムーズになることを期待しています。

GitHubで編集を提案

Discussion