I’m remaking this website in the open. Follow along, if you wish: Writing, RSS, Source
The Work Before the Work
I plan to record just about every bit of work that goes into this site. But first, I had to do a bit of work to make that possible.
Create the repo on GitHub, cloned it to my machine, and initialized the project (
yarn init) (commit)
Add 11ty with minimal content and configuration (commit)
Migrate (some) old content (commit)
- The migration itself was as simple as copy/pasting and updating some frontmatter because all of my content, old and new, is written in Markdown.
- I could use an intermediate template to translate from the old frontmatter properties to the new ones expected by 11ty, but with only three migrated posts, that seems like overkill.
- Now that I have more than just a home page, I need to create a basic template to display content.
- I also need to ensure that media like images display correctly. Keeping all images in a single directory will make any future migrations go more smoothly and enables a more straightforward path to setting up a CMS later.
- Finally, I need to add a collection to display a list of all posts on the Writing page.
Add content to the home page, re: redesign (commit)
Set up continuous deployment on Netlify
- Now I can push to my master branch and the site will automatically build and, if successful, deploy.
Archive full previous version of the site at v1.kylegach.com
- I want to keep the old version around for posterity.
- I chose to not migrate some content; this provides a location to which I can redirect those requests.
Add minimal styles (system font, max-width for content) (deploy, commit)
- There’s a lot I want to have in place before I touch styles, but a limitless line length is difficult to read and must be addressed.
Add task list support for Markdown, so that I could, well, use task lists in markdown (commit)
Publish V2 Rebuild & Redesign, the first post on the new site ✨ (deploy, commit)
List V2-related posts on the home page (deploy, commit)
- Until I have better content, it seems wise to simply list all posts tagged ‘v2’.
- Which means I have to add tags to posts and add another collection to collect the ‘v2’ ones.
Publish V2 Goals (and update V2 Rebuild & Redesign) (deploy, commit)
- Revise the first post only to record work and pull out then expand the rest of what was there into a new one.
Add redirects for old content that was not migrated (commit)
Add site header with banner and update home page (deploy, commit)
- If people land on the site from a page that isn’t home, I’d like them to understand the redesign going on.
- Also, previously, only the home page displayed the site name. Oops.
So, now I have a workflow that allows me to publish posts and deploy changes with ease, and a simple foundation on which to build. Going forward, I’ll try not to dump these big lists of work, but I needed to get these essential tasks done as quickly as possible to preserve content and enable future updates.