サイトの再構築

2021-05-03

1年くらい前に何も考えずにkosh.devを取得しました。

このドメインのページをうまく使いこなせていなかったので、作り直しました。

前のサイトについて

前はPythpmでフレームワークtest-tubeとサーバsaba-serverを作成して運用していました。

普通にパッケージを使えばいいだけですが、大枠の理解もかねて作ってみました。が、メンテ等いろいろ大変すぎるので、今回はFlaskとGunicornで立ち上げています。

今回のサイト

基本的に普通のFlaskで立てたサイトです。Blog用の記事は.mdで書いた記事を変換する形式を取りました。markdownを使ってHTMLベースに変換して、 Beautiful Soupを使って目次とかタグとか修正してます。

Python-Markdown

Beautiful Soup

OGP

OPG用の物を記事ごとに準備するのはめんどくさいです。そういう小さなめんどくさいが積もり積もって更新しなくなるわけです。

そこで、今回はPILを使って動的に画像を作成して、説明文は最初の一文を抽出することにしました。これでだいぶ更新に対する億劫さが軽減されます。

Pillow

なんでFlask

普段Pythonを使っていて、マイクロフレームワークという言葉に惹かれてFlaskを使えるようになったのでFlaskを使っています。正直ホームページを作成するのであればFlaskである必要もないですし、Pythonである必要もないと思いますが、とりあえずすぐに作りたかったのです。

Flask

やっぱりPythonでこういうことをするメリットはPythonであることだと思います。API系でバックでPythonを使うのであれば非常に楽だと思います。このサイトの微々たる恩恵はOPG用の画像生成くらいです。今ならFastAPIとかの方が熱い気がします。

FastAPI

問題

裏と表の処理をしっかり明確に区別できていないのがこのサイトの問題点です。 実装しようと思った時に楽な方で実装という思想なので、今はいいですがこの後絶対にめんどくさくなります。

特に記事に対する加工系が両方で処理してしまっているので、そのうち区分しなきゃいけません。

サイトを作る場合はしっかり役割を明確にすることが大事です、

前のサイト

前のサイトはPythonの標準ライブラリだけで構築していました。単に勉強って感じでした。

前のサイトの環境

当初はHTML直書きという今思うと恐怖でしたが、流石にしんどかったです。

そこで更新しやすいように、.mdで書いた記事を変換する形式を取りました。ここで今のサイトで使っているmarkdown Beautiful Soupを使うようになりました。

そんなこんなで運営上、標準ライブラリ縛りは消滅しました。

ActivityPub

更新が簡単かと思って、ActivityPubに対応する形でMicroBlogを作ってみましたが、そもそもMastdon使ってないし、あまり意味なかったです。

ActivityPubベースにするにあたってサイト自体も標準ライブラリ縛りは消滅しました。

httpsig

ここら辺も自分で書けばいい説はありましたが流石にめんどくさくなってしまいました。

今後のサイト

個人サイトであれば、実際にやってみたいことを実践できるのがメリットです。 Rustベースになるかもだし、そもそもサーバいる?まであります。

とりあえず更新することを目標として色々やっていきたいです。