Skip to content

dporkka/100-year-website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

100-Year Website

A minimal, dependency-free static website designed to last for decades with near-zero maintenance. All files are self-contained: no databases, no external fonts, no CDNs.


What’s in this repository

  • index.html: Single-page site with inline CSS.
  • LICENSE: CC0 1.0 (public domain dedication).
  • 100-year-website.zip: Example offline archive (if present). You can regenerate your own archive; see Archiving below.

Quick start

  1. Edit index.html with your content.
  2. Open index.html directly in any browser, or run a tiny local server:
python3 -m http.server 8000
# then open http://localhost:8000/

Deploy (GitHub Pages)

  1. Push this folder to a GitHub repository.
  2. In GitHub: Settings → Pages → Source → "Deploy from a branch" → Branch main → Folder / (root) → Save.
  3. Wait for the green check, then visit https://<your-username>.github.io/<repo-name>/.

Notes:

  • Custom domain: configure DNS (CNAME) and set it in Pages settings.
  • Mirror to GitLab/Codeberg if you want additional redundancy.

Archiving and integrity (manual, no dependencies)

Create an offline ZIP of the site (exclude VCS metadata):

zip -r 100-year-website-"$(date +%Y%m%d)".zip . -x ".git/*" ".github/*"

Generate and verify SHA-256 checksums:

sha256sum 100-year-website-*.zip > SHA256SUMS.txt
sha256sum -c SHA256SUMS.txt

After deploying, create a WARC snapshot of the live site (replace placeholders):

wget \
  --mirror --page-requisites --adjust-extension --convert-links --no-parent \
  --warc-file=100-year-website \
  https://<your-username>.github.io/<repo-name>/
# Produces: 100-year-website.warc.gz

Store ZIP, SHA256SUMS.txt, and WARC on multiple media (e.g., M-DISC, external HDDs, archival USBs) and in multiple locations.


Optional: Permanent archives

  • Wayback Machine: visit https://web.archive.org/save/https://<your-username>.github.io/<repo-name>/ to trigger a snapshot.
  • IPFS: add your build or ZIP (ipfs add -r . or use a pinning service like web3.storage).
  • Arweave: upload the ZIP via Bundlr/Arweave tools (requires account/funding).

Automation (future plan)

If you want automation without adding runtime dependencies to the site, use a CI workflow that:

  • Triggers on push to main and on tags.
  • Packages a ZIP (zip -r ...) and writes SHA256SUMS.txt.
  • Creates a GitHub Release and uploads artifacts.
  • Calls the Wayback Machine SavePageNow endpoint to snapshot the live site.
  • Optionally uploads to IPFS (web3.storage) and Arweave (Bundlr) using repository secrets.

This keeps the site itself static while making archiving routine and repeatable.


Maintenance philosophy

  • Prefer plain HTML/CSS. Avoid client-side JavaScript and external assets.
  • Keep hosting simple (GitHub Pages). Mirror to alternative hosts for resilience.
  • Rotate fresh archives occasionally; verify integrity with SHA-256.

License

Public Domain (CC0 1.0). See LICENSE.

About

Build a website that lasts 100 years or more without maintenance

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages