サイトを予約更新できるようにした

昨日の記事「(サイトを予約更新したい)」の続き。

ビルド時点の日付と、ファイルのメタデータやブログのディレクトリパスなどをチェックして、予約投稿のつもりで未来日を指定したファイルがアップロードされないようにした。

…こんな感じで予約投稿の仕組みを作り上げた。だから気にせず master ブランチにコミットしまくっていけば良い。

今のところ対応できていないのは、毎朝8時にアップロードするスクリプトが、ブログでない静的ページで使用している画像ファイルなどを特定できずアップロードできないこと。画像ファイルなどは「Created」や「Last-Modified」といった Front Matter メタデータを持たないので、それをその日にアップロードする必要があるのか、特定できない。ブログ記事で使用する画像に関しては、ファイルパスに年月日が含まれるのでそこから特定できるのだが、通常のページで使用する画像などはそれができない。コレは仕方ないかなー。大抵、静的ページは手元から直接アップしちゃうから気にしない。

Index ページや「更新履歴」、Atom フィードなんかはビルド時点で未来日のページが含まれないように制御されているが、ページのビルド自体はできるので、ローカル開発環境では URL 直指定でビルド結果を確認したりできる。ファイルを指定してアップロードするスクリプトも手元にあるので、強引に当該ファイルを公開してしまうこともできる。

時々は FFFTP や FileZilla を使って全量目視チェックするつもりなので、こんなもんでいいかな。

サイトの予約投稿システムは一旦このくらいにして、今後はブログ記事をガンガン書いていこう。