Open4
Astro + mdxでブログを作ってみる
ピン留めされたアイテム
これは何
初めてAstroを使ってみる。試しにMDXが書けるブログを作る。
手元の環境
- 💻 MacBook Pro
- macOS 14.4.1 (23E224)
- x86_64
- Node.js 21.7.3
- npm 10.5.0
- astro 4.8.2
プロジェクト初期化
npm create astro@latest
コマンドで対話形式のセットアップ。
"How strict should Typescript be" では tsconfig.json をbase
strict
strictest
の3段階が用意されている。内容はここ → https://github.com/withastro/astro/tree/main/packages/astro/tsconfigs
astro Launch sequence initiated.
dir Where should we create your new project?
.
tmpl How would you like to start your new project?
Use blog template
ts Do you plan to write TypeScript?
Yes
use How strict should TypeScript be?
Strictest
deps Install dependencies?
Yes
git Initialize a new git repository?
Yes
✔ Project initialized!
作成されるファイル群。ディレクトリ構成の説明は公式にある通り。
.vscode/extensions.json
の推奨拡張機能にはAstroとMDXの2つが書かれている。
./
├── .gitignore
├── .vscode/
│ ├── extensions.json
│ └── launch.json
├── README.md
├── astro.config.mjs
├── package-lock.json
├── package.json
├── public/
│ ├── blog-placeholder-1.jpg
│ ├── blog-placeholder-2.jpg
│ ├── blog-placeholder-3.jpg
│ ├── blog-placeholder-4.jpg
│ ├── blog-placeholder-5.jpg
│ ├── blog-placeholder-about.jpg
│ ├── favicon.svg
│ └── fonts/
│ ├── atkinson-bold.woff
│ └── atkinson-regular.woff
├── src/
│ ├── components/
│ │ ├── BaseHead.astro
│ │ ├── Footer.astro
│ │ ├── FormattedDate.astro
│ │ ├── Header.astro
│ │ └── HeaderLink.astro
│ ├── consts.ts
│ ├── content/
│ │ ├── blog/
│ │ └── config.ts
│ ├── env.d.ts
│ ├── layouts/
│ │ └── BlogPost.astro
│ ├── pages/
│ │ ├── about.astro
│ │ ├── blog/
│ │ ├── index.astro
│ │ └── rss.xml.js
│ └── styles/
│ └── global.css
└── tsconfig.json
なんとなく雰囲気が掴めたところで、1から作り直そう。思ったよりテンプレートがしっかりしすぎていた。
再度 今度はblog templateは使わずにEmptyでプロジェクトを作成する
チュートリアルを参考にしながら進める