この度、私のポートフォリオページを刷新致しました。本記事では、 刷新することになった動機から、刷新内容、今後について紹介したいと思います。
元々、私のポートフォリオページは、静的ページジェネレーターである Hugo を使って 構築していました。
こちらの記事を参考にして、Hugo でポートフォリオページを作りました。 その当時、なぜポートフォリオを作ったのかというと、確か次の 3 つの思いがありました。
Hugo で記事を管理する対象は、Markdown であるため、エンジニアにとって書きやすいです。 また、デザインテーマは、公開されているテーマがあるので、好きなものを選びます。
導入当初は、とても快適でした。手軽にオシャレなポートフォリオサイトを公開できて満足でした。 しかし、ずっと使っていると、かゆいところに手が届ないもどかしさを感じるようになりました。 これは、便利さとのトレードオフだと思いますが、下記のようなデメリットがあると認識し始めました。
便利さというメリットよりも、デメリットの方が大きいように思い始めました。 そのため、独自にポートフィリオサイトを作成することにしました。
AMP を存分に使ったポートフォリオサイトを作成しました。全体像は、下記のとおりです。

AMP Optimizerを中心とした構成です。 ソースコードは、下記のリポジトリにあります。
今回のポートフォリオサイトに、必要以上の機能を持つ Web フレームワーク(e.g. Next.js)を使うのは、メンテナンスコストが高くなるので、却下としました。 また、静的ページジェネレーター(e.g. Gatsby)も、動機の理由より却下としました。 そのため、必要最小限な構成を目指しました。結果、次のような流れとなりました。
これらの順序を制御するタスクランナーとして、Gulp を採用しました。 AMP Optimizerは、NPM でインストールするので、Node.js と相性が良いタスクランナーを求めました。 その選択肢として、Grunt や Gulp があったのですが、AMP の公式サイトでは Gulp を紹介されていたので、Gulp を選択しました。
大きな技術選択としては、これくらいです。他の細かい所は、下記のとおりです。
ポートフォリオサイトにどういったコンテンツを用意しようか悩みました。 AMP Optimizer に Markdown オプションがあります。 これは、HTML だけではなく、Markdown も(HTML 経由で)AMP 化することができるようです。 そのため、ブログのようなコンテンツもポートフォリオページに加えることができそうと気づきました。 また、これまで私が書いたブログコンテンツは、Markdown で管理していたので、ちょうど使えそうでした。
結果、次のようなコンテンツを用意しました。
ウォッチページで、RSS の WebPush 機能を追加しようとしましたが、Push する側である Server が必要となり、開発が伸びそうだったのでやめておきました。
想定通り、Hugo ではできなかったような様々なポートフォリオサイトの機能拡張ができるようになりました。
想定通りにできなかったのは、AMP の制約なのですが、WebComponents のような amp-script 上で動かせない技術もあるということでした。 また、WebWorker(amp-script)上で、ES Module(skypack)を Import しようとしても、Safari が未対応だったりで、断念したりもしました。
ただ、最終的な感想としては、HTML を柔軟に処理できるようになったので、AMP 上でできることは何でもできるようになり、刷新してよかったと思います。
経験学習モデルより、簡単に振り返ります。(はじめて)
| 経験 | 省察 | 概念化 | 試行 |
|---|---|---|---|
| AMP を初めて使ってみた | AMP 使ったことなかったけど、思っていたより課題は少なかった。 / しかし、想定していなかった課題もあった。 | 使ったことがない技術要素の課題は、想定していても未知数 | 未知数な技術は、軽く試してみる |
| Next.js や Gatsby など、フレームワークを使わなかった | シンプルな構成にしたかった。 / 必要以上に機能が多いフレームワークを入れたくなかった。 | 保守性を担保するため、最小限の機能で構成 | 大掛かりな技術の選択は、保守性と天秤にかける |
ポートフォリオ刷新をしました。これまで 1 から Web サイトを作ったことがなかったので、 sitemap や JSON-LD など全て手作りで開発したので、良い勉強になりました。 まだまだポートフォリオの課題は山積みですが、少しずつ改善していきたいと思います。
タグ「成果物」の記事
個人サイト(ジブンノート)をリニューアルしました。本記事では、個人サイトをリニューアルした際にあった出来事などを振り返りたいと思います。ちなみに、個人サイトは以下のページです。ノート風デザインで、ブログ記事が読めるようになりました!🎉
個人サイトをリニューアルしました!🎉 https://silverbirder.github.io リニューアルは、今回で6回目です。制作期間は、去年の12月27日から今年の1月28日までの約1ヶ月間です。個人的には最速の開発期間でした。AIの力は偉大ですね。本記事では、個人サイトのリニューアルでこだわったポイントについて紹介します。
2026-01-28
個人開発として、機能リクエスト投稿サービスを作成しました。 サービス名は Fequest で、Feature Request の略です。 Fequest は、プロダクトに対して「この機能を追加してほしい」「ここを改善してほしい」といった要望
2025-12-28