ブログを移行しました

lifestyle
A hero image of the article

Nextjs to Astro.build again

もともと運用していたブログ(既にクローズ済み)は、paveg/blogsite にソースコードが置かれており、astro.build を使って作成していました。

一方で更新頻度が著しく下がってしまいました。単純に書くことが面倒になっていたのが理由でした。

そのため、新しいブログを作成しました(矛盾しているような気もするが…)。 このブログは以下の技術スタックで構成されています。

また、基本的なブログの構造はシンプルさを保ちつつ必要な機能だけを付け足しています。

LightHouseはできるだけフルスコアに近い数値を取れるようにしています。

LightHouse Image

実装済みの機能まとめ

シンタックスハイライト

sample-component.tsx
const name = 'Funai';

export const SampleComponent = () => {
  return <div>Hello! {name}</div>;
};
The sample code is above

これには、 rehype-pretty-code というライブラリを利用して、スタイリングを行っています。

Rehype Pretty CodeBeautiful code blocks for Markdown or MDX powered by the Shiki syntax highlighter.rehype-pretty-code.netlify.app

リンクカード

こちらは、リンクを貼ると自動でリンクカードを生成してくれる機能です。 ほぼ参考には以下のGitHubのリンクを参照させてもらいました。

GitHub - haxibami/haxibami.net: haxibami's website.haxibami's website. Contribute to haxibami/haxibami.net development by creating an account on GitHub.github.com
GitHub - haxibami/haxibami.net: haxibami's website.

やっていることは、ブログのビルド実行時に各種ページを叩きに行って、やっていることは、ブログのビルド実行時に各種ページを叩きに行って、OGP画像を生成しビルドパス(public配下)にavif画像を出力します。 キャッシュとしてその画像が存在していれば、その画像を参照します。

リスト

  1. a
    1. b
  2. c
    1. d
    2. e

多言語対応(一応英語の記事も追加できるように)

一応パスとして存在しています。 言語サブディレクトリを切ってそこに配置しています。

スタイリングはまだ中途半端です。

Rebuild WSL2 devenv | Funai LogRebuild my development env with wsl2 and alacritty, additonally I installed zellij as a terminal multi prexerwww.funailog.com
Rebuild WSL2 devenv | Funai Log

hreflangも同様に全部のページで実装済みです。 日本語のページを全体に表示するのは微妙なので、多くのケースではenページをx-defaultとして指定しています。

以下のページはまだ追加していないので、その内追加する予定です。

ダークモード

ダークモードにも対応しています。画面のちらつきを抑えるための対応も行っています。

大したことはやっていないです。

今後の課題

ブログを立ち上げるに当たって最短経路で作成することを目指したため、まだまだ課題が残っています。

具体的には、以下のような課題があります。

これらの課題については、今後のアップデートで対応していく予定です。

画像の管理

一旦、全ての画像の管理をImgixで行う予定でいます。

imgix - The End-to-End Visual Media Solutionimgix transforms, optimizes, and intelligently caches your entire asset library for faster pages, higher engagement, and a simpler workflow.www.imgix.com
imgix - The End-to-End Visual Media Solution

テーブル

abc
123

まだテーブルのスタイリングについては一切考えていません

OGP画像

動的な生成を行うべきでAstroにはそういう機能も備わっているはずなので、今後の課題として考えています。

2024/03/29に対応済

まとめ

ブログって本当に必要? – マーケティングのプロフェッショナル集団 – インパクトMwww.impactm.co.jp

上の記事にも書かれている通り、ブログを運用することは簡単なことではありません。

少なくとも、時間を投下し続けられるかは重要なポイントで、継続によってライティングスキルも獲得できます。また、当然自分が書いたものは記録に残るため、重要な資産にもなります。

もちろん黒歴史になる可能性も非常にある。

シンプルなブログを心がけつつ、誰かに自分が良いと思ったものを訴求して行けたらなと考えています。広告掲載はブログの趣旨に合わない可能性があるので、今のところは考えていませんが、何かしらの形で収益化できるようになれば良いなと。

それでは、今後ともよろしくお願いします。