This is a personal archive designed to remain understandable and movable. The pages are ordinary text files, the photographs remain ordinary image files, and the published website is generated from them. There is no database required to read the archive and no page builder hiding the structure.

That choice is less fashionable than it is practical. The archive should still make sense if a hosting company disappears, a service changes its terms, or the person maintaining it has to reconstruct the site years from now.

The basic machinery

The site is generated by Hugo, a fast static-site generator. Articles and page information live in Markdown files. Hugo combines those files with a small set of HTML templates and one custom stylesheet, then produces the complete site as static HTML, CSS, images, RSS, and redirects.

The source and its history live in a private local Gitea repository. Changes are made on a separate branch, built and checked, reviewed, and only then merged into the production branch. That leaves a durable record of what changed and makes revisions reversible.

The public site is intended to run on a small Debian server behind nginx. Deployment copies the generated site rather than installing a content-management system on the public server. The server can therefore be replaced without becoming the only surviving copy of the archive.

Preserving the old site

The publicly available material from the original EricRedifer.com and its WordPress site was captured before reconstruction. A repeatable migration program accounts for every public source page rather than silently dropping whatever does not fit the new design. The inventory includes 35 legacy HTML pages, 11 WordPress posts, 8 WordPress pages, 4 comments, and 382 WordPress media files. A separate authenticated backup of the old WordPress installation and its database remains part of the preservation plan.

Old web addresses are retained as redirects, so an old bookmark can still reach the reconstructed page. The migration ledger records whether each source was migrated, consolidated, or deliberately excluded.

Checks before publishing

Every production build treats warnings as failures. An automated crawler follows internal links and images to find missing pages or assets. Browser checks capture representative desktop and mobile pages, report page errors, and detect horizontal overflow. The point is not elaborate machinery; it is catching ordinary breakage before a reader does.

Comments and other live services

Most of the archive is static, but comments are one place where a small live service is worthwhile. The planned system is Remark42, self-hosted alongside the site. It keeps discussion attached to the relevant page without making the writing itself dependent on a commercial social platform.

Remark42 is the foundation rather than the finished reader experience. Account identity, moderation, notifications, spam controls, backups, and reader-selected avatars all have to be tested as parts of the complete system before comments are opened publicly. Until that work is complete, pages show where conversation will live without pretending the service is already available.

Search and privacy-respecting traffic measurement follow the same rule: use small, replaceable tools whose failure cannot take the archive down with them.

Publishing and recovery

A new page begins as Markdown. Photographs and other source material are kept in their original form, while web-sized copies can be generated for publication. The site is built locally, checked automatically, reviewed in a browser, and then published from the reviewed production branch.

The durable copy is not the web server. Source history, original acquisitions, media, and backups live separately, with enough information to rebuild the public site on a different machine. Generated files can always be made again; irreplaceable source material is preserved rather than optimized away.

What belongs where

The website is the public presentation. Markdown is the durable content format. Gitea is authoritative for code and publishing history. Original acquisition files remain separate from the generated website so that reconstruction never destroys the source material.

That is the entire philosophy: plain files, explicit history, source preservation, automated checks, and as few irreplaceable dependencies as possible. The machinery should protect the stories without becoming the story.