🖊️

Nuxtを使って自分用のウェブサイトを書いた話

avatar
MineArchive

作ろうと思った理由

このウェブサイトを作ろうと思った理由は、そろそろ自分用のウェブサイトが欲しくなったからです。今年から大学生で、自分をアピールするためのところがほしかった(?)というのもあります。
あとは今まで HTML と CSS, JS のみでしかサイトを作ってきてなかったのでフレームワークを使った方法での作成を経験しておきたかったからです。

技術選定

フレームワーク

フレームワークを使ってウェブサイトを作ろうとしたときに思いうかんだのは React です。その後にどんなフレームワークがあるか調べて出てきたのが、Vue, Svelte, Solid ...など。それぞれのコードの書き方を見たときに、一番いいな〜と思ったのが Vue でした。個人的に感じた特徴はこんな感じ
フレームワーク特徴
ReactJSX を使用、コンポーネント指向、豊富なエコシステム
Vueテンプレート構文が直感的、学習コストが低い、柔軟性が高い
Svelteコンパイル時に最適化、記述量が少ない、リアクティブ
Solid高速、細かい粒度のリアクティビティ、JSX を使用
個人的に JSX を使って記述するのが自分にあってない気がしたので Vue と Svelte のどちらにするかで迷いました。有名度とか色々考えて、Vue を選びました。

スタイリング

絶望的に CSS がかけないので、先人の知恵の結晶である Tailwind を選びました。コンポネントは Tailwind component library で調べて上の方に出てきた DaisyUI を使いました。普通にきれいで使いやすくてテーマがあって最高。

TypeScript

JavaScript なんて書いてられません。型指定がない言語なんてやってられない。

サイトに入れたかった機能

自分のウェブサイトを作るときにブログみたいな機能をつけたいなというのを考えてました。それでマークダウンから自動生成できたら楽だなーと。 Vue にその機能をつけるモジュールは見つけましたが、 Nuxt を使うと自動で生成できると聞いて Nuxt を選びました。あとは Markdown でLaTeX\LaTeXを使えたら便利だな〜みたいな感じです。
あとは友達に Java とか C とか色々教えることがあったのでその時に教えたこととか色々まとめるためのページもほしかったです。機能は基本的に上記のものでできるので何も考える必要はなかったです。

苦戦したこと

特にないです。この時代だと、わからないことは、もう AI に聞けばある程度のことであれば解決してくれるので Gemini CLI を使いながら作成しました。 まぁそれでも食ってる情報が古かったりでマークダウンの設定あたりがうまく行ってなかったですね。そこは自分でドキュメント見ながら修正修正。

今後

今後は必要になったら機能を足していく予定です。Web フロントエンドはころころ変わるので気づいたときに新しい機能とか色々つけていきたいなとは思います。