Roadmap
Heine grows through small, complete vertical features. A planned item is not a compatibility promise or a commitment to a particular interface. Before work starts, it needs a concrete use case, an issue, a design, tests, documentation, and a cohesive starter-site example where one fits naturally.
Next
- Release hygiene: establish a repeatable local release procedure before publishing. It checks the required formatting, Clippy, and test commands, the packaged crate contents, and the optimized release binary. CI may later reproduce the same checks, but it is not a prerequisite for the first release. Decide a dependency policy for advisories, source provenance, duplicate versions, and acceptable licenses before automating those checks.
- Markdown facts: begin with deterministic Unicode-aware word counts. Reading time needs an explicit locale-aware policy, not an invented universal rate.
- Absolute URLs: expose
absolute_urlbeside existing checkedurlandrelative_urlvalues whensite.originis configured. - Multilingual sitemap alternates: opt in to checked
hreflangXHTML annotations in sitemap entries for explicit authoredtranslationidgroups. Emit every known group member, including self, in deterministic locale order; partial groups remain partial. Do not infer counterparts from paths or cover generated pagination, collection, taxonomy, or Series pages. Account for alternate URLs and XML bytes when checking and splitting sitemap output. HTML-head annotations belong to a later template-facing companion, built on checked absolute page URLs; never inject them into arbitrary templates. - Kits: one selected, checked presentation layer with root-owned site structure and narrow, declared overrides. See the design.
- Renderer adapters: explicit Markdown constructs that a trusted external renderer turns into checked generated resources and replacements. This is the only planned plugin boundary. See the design.
Later
- Calendar archives: add a narrow generated-resource consumer of one resolved collection when a concrete site establishes its bucket and route contract.
- Collection-specific membership weights: model a page's distinct curated position in more than one weight-ordered collection without overloading its directory sibling weight.
- Dependency-aware incremental builds and, if large sites justify it, streaming rendering into the staging tree while preserving atomic publication.
Under consideration
Redirect aliases
A host-level redirect is preferable whenever the deployment platform supports
one. Apache .htaccess, Netlify and Cloudflare Pages _redirects, and Vercel
configuration all have different formats and capabilities. Portable generated
HTML redirect pages work more widely but cannot provide an HTTP 301 or
308 response.
Heine therefore does not yet own redirects. A future feature must preserve a checked old-route-to-rendered-target relationship without assuming a hosting format or treating a browser-level redirect as equivalent to a server redirect.