APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

はてなブログに投稿記事テンプレート管理機能を実装する

目次

はじめに

こんにちは。クラウド事業部の丸山です。

技術ブログを書き始めて感じたことの一つに、操作性の悪さがあります。
ただでさえ業務の隙間時間での記事作成をする場面が多い中で、
操作性が悪いことによる煩雑な操作が、記事作成を後回しにしてしまう要因となることを感じました。

弊社ははてなブログを利用していますが、WordPressなどに比べるとどうしてもカスタマイズ性が不足していると感じます。
これは既存のブログシステムを利用する上では切り離せない課題となるため、
自分で使いやすいように解決しようといくつかの機能を作成してみました。

今回は第一弾として、テンプレート管理機能をご紹介します。

定型文機能・投稿記事テンプレート管理機能について

企業として記載するブログの場合、統一感を出すために同じようなフォーマットを利用して作成することが多いかと思いますが、
実際の記事を作成する際に、同じフォーマットを利用するために毎回内容をコピペして準備することが手間でした。

既存の定型文機能

はてなブログにも定型文機能がありますが、階層をたどる手間と、タイトルが定型文の対象となっていない点、
非常に細かい部分ではありますが、毎回使う機能であることを考えたときに個人的に使いづらいと感じました。
help.hatenablog.com

投稿記事テンプレート管理機能

今回実装したテンプレート管理機能としてはテンプレートとしての利用だけではなく、ローカル下書きの様な用途でも利用できるため、
企業でのブログ共用利用においては、ブログ上での下書き作成における心理的なハードルを下げることが期待できます。
誰の目にも触れずにプレビューを確認しながら下書きを作成できることは記事作成の上で大きなメリットになるため、
操作性の悪さを改善しつつ、ブログ記事作成の裾野を広げられるのではないかと考えています。

Tampermonkeyを利用した実装としておりますので、基本的な内容などについては過去記事も合わせてご参照ください。
techblog.ap-com.co.jp

非常に前置きが長くなってしまいましたが、こちらの記事では今回作成したテンプレートマネージャーの
コード共有がメインのコンテンツとなりますので、簡単に機能説明とコード共有だけさせていただければと思います。

前提

文字情報の保存をしているため、Markdown形式編集画面での動作確認をしております。
そのため、その他の編集画面をご利用の際には利用できない可能性がありますので、あらかじめご了承ください。

機能紹介

テンプレートマネージャーの外観

サイドメニューの一番下に配置されたアイコンからアクセスできます。

また、クリックした際に以下のような画面が表示されます。

  • テンプレートタイトル: テンプレートにするタイトルを入力します。
  • テンプレート内容: テンプレートにする内容を入力します。
  • 保存: 編集中のテンプレートタイトル・テンプレート内容を保存します。頻繁に使用するフォーマットを簡単に再利用できます。
  • 読み込み: 編集中のブログ記事をテンプレートマネージャーのテンプレートタイトル・テンプレート内容に読み込みます。
  • エクスポート: テンプレートリストをJSON形式でエクスポートし、外部でのバックアップや他のデバイスでの使用が可能です。
  • インポート: JSON形式のファイルを読み込み、テンプレートリストに追加します。これにより、テンプレートを簡単に復元または追加できます。
  • 並べ替え: ドラッグ&ドロップでテンプレートの順序を変更できます。≡ アイコンを使用してリスト内で上下に移動します。
  • 削除: テンプレートを選択し、削除を確認後に実行します。× アイコンをクリック後、確認画面で削除を承認します。

    ※通常はJavaScriptのlocalStrageとして保持されるため、ブラウザキャッシュを削除するまではデータが維持されます。
     データの保管などをする際にエクスポート、インポートをする想定です。

利用コード