This is the source for my personal portfolio and blog website: nateglenn.com. It's generated using Astro. The domain name is registered with CloudFlare. The page quality scores from Lighthouse are 92 for performance, 100 for best practices and SEO, and 89 for accessibility. Fixing the accessibility issue would require some redesign to improve text color contrast.
To create a new blog post, use yarn run newpost <title>
. To publish the post, remove draft: true
from the frontmatter.
public/resume/resume-en.html
and resume-ja.html
must be generated via a separate project and copied over manually: https://github.com/garfieldnate/resume.
Overall I'm really enjoying working with Astro, but it's young software and there are still sharp corners. I've gathered issues I encountered under GOTCHA.md.
Original Astro template project readme below:
npm init astro -- --template blog
π§βπ Seasoned astronaut? Delete this file. Have fun!
Features:
- β SEO-friendly setup with canonical URLs and OpenGraph data
- β Full Markdown support
Inside of your Astro project, you'll see the following folders and files:
βββ public
β βββ assets
β β βββ blog
β β βββ introducing-astro.jpg
β βββ favicon.ico
β βββ social.jpg
β βββ social.png
βββ src
β βββ components
β β βββ Author.astro
β β βββ BaseHead.astro
β β βββ BlogPostPreview.astro
β β βββ FollowMe.astro
β β βββ Header.astro
β β βββ LikeButton.tsx
β βββ layouts
β β βββ BlogPost.astro
β βββ pages
β β βββ index.astro
β β βββ posts
β β βββ interactive-content.md
β β βββ static-content.md
β βββ styles
β βββ blog.css
βββ astro.config.mjs
βββ README.md
βββ package.json
βββ tsconfig.json
Astro looks for .astro
or .md
files in the src/pages/
directory. Each page is exposed as a route based on its file name.
There's nothing special about src/components/
, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
Any static assets, like images, can be placed in the public/
directory.
All commands are run from the root of the project, from a terminal:
Command | Action |
---|---|
yarn |
Installs dependencies |
yarn dev |
Starts local dev server at localhost:3000 |
yarn build |
Build your production site to ./dist/ |
yarn preview |
Preview your build locally, before deploying |
Feel free to check our documentation or jump into our Discord server.