【VuePress】VuePress × HackMD × Netlifyでブログ記事管理画面を作成

最初のポスト(opens new window) で静的ページジェネレータの「VuePress」と静的サイトホスティングサービス「Netlify」を使ってこのブログを作ったよ〜と書きました。

VuePress単体利用のデメリット(人による)として、記事はエディタを開いて書くというのがありまして。

HackMDと連携すれば自分で管理画面を作らなくてもブラウザ上で更新できるようなので、今回このブログで試しにやってみます。

注意点

HackMDなら画像がドラッグ&ドロップで挿入可能ですが、

挿入した時点で勝手にimgurにアップロードされてリンク生成=公開されます。画像選びに気をつけて。

そのあたりが問題なければGO。

とりあえず土台作り

HackMD(opens new window) のサイトに飛んでユーザー登録を済ませてください。

今回はチームを作ってそこに記事を入れていくことにします。

チームを作る

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - チームを作る

  1. 「個人スペース」の右側の下アイコンをクリック
  2. 「チーム作成」を選択
  3. チーム名とチームURLを決めて「プライベート」を選択して作成

テンプレートを作る

毎回手入力でこれ

---
title: title
description: desc
date: 2020-04-25
img:
sidebar: auto
category: cat
tags:
 - tag
 - tag
---

書くのが面倒なのでテンプレートを先に作ります。

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - 新しいメモを作成

新しいメモを作成

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - エディタ下「他のテンプレート」を選択

エディタ下「他のテンプレート」を選択

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - 「テンプレートを作成」を選択

「テンプレートを作成」を選択

名前を適当に決める。今回は「blog」

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - テンプレートを作る

すると編集画面になるので

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - テンプレート内容

こんな感じでざざっと書きます。

自動保存されるので一覧画面に戻りましょう。

これで完成。

記事を書く

テンプレートを呼び出す

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - 「テンプレートでメモを作成」を選択

「テンプレートでメモを作成」を選択

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - 先ほど作った「blog」テンプレートが

先ほど作った「blog」テンプレートを適用

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - テンプレートを適用後記事を書く

こんな感じで書いていくだけ。

先ほど「注意点」で書いたように、リンクURLがhttps://i.imgur.com/〜になっていると思います。ドラッグ&ドロップするとこれになります。

Git連携

の前にバージョン保存(commitのようなもの)

連携の前に、記事内容を保存します。

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - git連携

  1. 右上の「・・・」アイコンを選択
  2. オプションにある「リビジョン」を選択

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - 更新履歴

更新履歴が表示されます。

左手「現在の内容」が最新版。右手「最新版として保存」をクリック。

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - 名前をつけて保存

これがコミットメッセージになります。

さて、連携作業に戻ります。

連携&プッシュ

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - 連携開始

「GitHubからプッシュ」を選択。

???となりますが日本語がちょっと変なだけなので安心してください。

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - 保存先選択画面

「メモをGitHubにプッシュ」モーダルが表示されます。

最初にGitHub連携する時には以下の選択画面(GitHub側)に飛ぶかも。

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - リポジトリを選ぶ

Pushしたいリポジトリを選んで

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - インストール

「Install & Authorize」。

保存先を選ぶ

  1. 「Repoを選択」で先ほど連携したリポジトリを選択

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - リポジトリを選ぶ

  1. Pushしたいブランチを選択

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - ブランチ選択

  1. 同期したいファイルを選択

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - ファイル名(URL)を決める

ここで新しい名前のmdファイル名を記入することで新規ファイル作成ができます。

今回は触れませんが、すでに公開している記事(のファイル名)を記入すると上書きすることが可能です。(「GitHubからプル」で公開済みの記事をpull→HackMD上で編集→push)

  1. バージョンを選んでPush

VuePress × HackMD × Netlifyでブログ記事管理画面を作成 - GitHubにPush

先ほど保存したバージョンを選びます。

もしチェックボックスがなく、こうなっていたら

リビジョンの画面に戻って保存しましょう。「現在の内容」になっていたらここで書いてもOK。

Netlifyでビルドコマンド(npm run build)を設定していれば、プッシュしてしばらくするとサイト上で記事がアップできていることが確認できるはず。

気になる方はNetlifyでビルドの様子を見てみてください。

(この記事はHackMD上で書いてプッシュしたものです)