Contribute

Edit this documentation

Translate the documentation or open the complete project on your computer.

Nothing is published until you choose to submit your work.

Versioning

Capture, verify, and mount immutable documentation releases.

M-Press versions are completed static builds, not alternate source trees. A captured version remains deployable even when the current documentation changes. The complete version workflow and reader selector are part of the open-source binary.

What is included

M-Press can:

  • capture a completed static build under a release label;
  • write a SHA-256 manifest for every captured file;
  • verify that a release is complete and unchanged;
  • mount several releases under stable routes;
  • show available releases in the generated navigation bar;
  • list and remove local release artifacts.

The published versions remain static files. Readers do not need an M-Press account, hosted service, or server-side application.

Enable versions

yaml
versioning:
  enabled: true
  current: next
  artifactsDir: .mpress/versions

Capture a release

sh
mpress build --strict
mpress check
mpress versions capture v1.0
mpress versions verify v1.0

Capture copies the current output and writes mpress-version.json containing a SHA-256 checksum for every file. verify fails if a captured file is missing or has changed.

Run mpress build again after capturing. Enabled versions are mounted beneath /versions/<label>/, versions.json is generated, and the current site displays a version selector.

text
site/
├── index.html
└── versions/
    ├── versions.json
    └── v1.0/
        └── index.html

Use mpress versions list and mpress versions remove <label> to manage local artifacts. capture --force <label> intentionally replaces an existing label.

Last updated: