2か月ほど放置してしまいました
ブログのデプロイ方法などを見直していた結果、デプロイできない状況が続いてしまったため、更新できずにいました… まあ、カバネリのソシャゲに比べればメンテ時期短いから多分許されると思っている。
一応書きたいことは多いので、これから1月の記事を書きたいと思っています…
ブログのどこが気に入らなかったのか
まずデプロイの方針やリポジトリの使い方から気に入らなかった… 従来の方式では、githubの一つのリポジトリでブランチを切り替えてデプロイしていた。 具体的には、以下のようになっていた。
- mainのブランチにhexoのファイルや下書きを行い、ここが変更されるとGitHubActionsが実行される
- pagesのブランチには、GitHubActionsで作成された静的Webファイルが格納され、Pagesとしてデプロイされる
この方式では、リポジトリのブランチを切り替えるとに全く別のファイル構成が現れる。果たしてそれはgitの使い方として正しいのだろうか?
リポジトリを分割
従来ではリポジトリを統一しているため、下書きとして公開していない記事でもGitリポジトリのrawファイルを見ると閲覧できてしまう… しかし、Pagesとして公開している静的ファイルの部分は公開したいという謎の欲望がある。
そのためまずはリポジトリを分割し、github Pages用の公開リポジトリで静的ファイルを管理し、プライベートなリポジトリでHexoのソースを管理する。
しかしリポジトリを分割することで支障が…
そうなると問題になってっ来るのがActionsの方針で、 BuildしたものをPages公開用のリポジトリにPushする操作が必要になる
元の記事のActionsに色々手を加えてPushするようにしていたが、最終的にはプラグインのHexo Actionを使えば解決した。
{% valkyrurl [url=https://github.com/marketplace/actions/hexo-action] [title=“Hexo Action - GitHub Marketplace”] [avatar=https://github.com/favicon.ico] [desc=“Hexo CI/CD action for automating deployment”] %}
Hexo側のブランチを分割
さらに下書きがPushされた際にもGitHub Actionsが動作する。これではWebに直接の変更はないので、無駄にActionsを動作させている。 それだけではなく、Dependabotがから送られてくるプルリクをマージしても再動作する…
そのためdevブランチを新規に作成し、そこに対してDependabotがプルリクを出すように設定。 devからmainにプルリクを出して、マージされるとActionsが動作するようにした。
リンクを綺麗に表示してほしい
個人的にははてなブログのように、リンクプレビューを表示できると嬉しい。 調べているとどうやら日本だけの文化っぽい?(海外のサイトではあまりリンクプレビューを見ない気がする)
気に入るHexoプラグインが見つからず苦戦したが、hexo-valkyr-url
というものを見つけた。
マークダウンに以下のように記述するとリンクプレビューを作成することができる。
{% valkyrurl
[url=https://github.com/toastsgithub/hexo-valkyr-url]
[title="hexo-valkyr-url"]
[avatar=https://github.com/favicon.ico]
[desc="a simple url card display plugin for hexo"]
%}
実際にはこのようにリンクが作成される。 {% valkyrurl [url=https://github.com/toastsgithub/hexo-valkyr-url] [title=“hexo-valkyr-url”] [avatar=https://github.com/favicon.ico] [desc=“a simple url card display plugin for hexo”] %}
うーん…URLだけいれたら、そのサイトのタイトルやサムネイルを自動で取得して欲しいお気持ちがある… 手動ですべて入れていくのはちょっと困難…
もしかしたらこれを何とかするためについにOSSコミッターデビューを果たしてしまうかもしれない
余談
今年の抱負は決まったので、もうじき上がると思います… これはいま頑張って設定しているmermaid