This is the source code for eva.town, designed, coded, and written by Eva—that's me! It's a place for me to share notes and learn in public. I try to update things regularly.
For information about the technology and tools behind the site, visit eva.town/colophon.
Note
You're welcome to fork this site, use it as inspiration, and modify things for your own projects—just don't steal it or try to claim it as your own. When in doubt, message me and we can chat about what you want to do.
To get started, run:
pnpm dev
If it's the first time running the repo you may need to run pnpm i
to install packages.
Other scripts in package.json
can also be run with pnpm
.
A weekly GitHub workflow scans the site for broken links and will open an issue if one is found.
Every pull request is tested for automatically-detectable accessibility issues and HTML5 compliance.
This site aims to conform to the Level AA accessibility standards outlined in the WCAG 2.2 specification. If you experience an issue with accessing any part of this site, please file an issue and I’ll do my best to correct it.
Some shortcuts and workflows to remember.
Frontmatter for content should include a required datePublished
and an optional dateModified
field. Dates should be ISO-formatted datetime strings and include the time zone of publishing, like this: 2023-09-26 03:47:00-04:00
.
It's important to include the time zone (EDT: -04:00
, EST: -05:00
) so that relative dates (like "4 days ago") can display correctly depending on a user's local time zone, and because I may not always write from the East Coast.
To insert dates in the frontmatter of Markdown files, use the Insert Date String from VS Code and press command
+ shift
+ I
.
Important
Remember to update dateModified
when revising articles! It's a mildly annoying manual step, yes, but it's easier (for now) than building something to handle setting dates automatically.