Nibble 0.9.0
What’s new
- A folder of Markdown decides its own addresses. A collection written as files now answers where its files
sit:
content/docs/index.mdis/docs,content/docs/something.mdis/docs/something, andcontent/docs/a/b.mdis/docs/a/b. Give the collectionroute: /docs/{slug}and a view, and that is the whole of it — nested pages no longer need{parent_slugs}spelled out, and a folder’s ownindex.mdno longer lands at/docs/home. A route that already places its pages — one naming{parent_slugs}or{parent_uri}— is left exactly as written.
What’s fixed
- Changing where a collection lives now moves the pages already in it. A route is not a file, so the Markdown sync had nothing to compare and reported no changes: the schema said one address and the database held another, with nothing reporting the difference. The next edit to a single page would then have moved that page on its own. The sync now treats a page whose address no longer matches its route as out of date, like any other difference between the folder and the site.
Changed
- Nibble has a public home. The code is at
https://github.com/mah3uz/nibble.git, and the project’s site is athttps://nibble.ink.install.sh, the README and the constants that say where releases come from all name them now. - The control panel reads the release notes from
https://nibble.ink/api/v1/releasesrather than a raw file in a git repository. It serves the same notes, so nothing looks different; the address is one we can keep serving whatever happens to where the code is hosted.
Upgrade
- A Markdown collection routed
/x/{slug}will see its nested pages move. A page written atcontent/x/a/b.mdanswered at/x/band now answers at/x/a/b, and a rootindex.mdmoves from/x/hometo/x. The move happens on the nextbin/rails nibble:content:markdown, and no redirects are recorded for it — if anything links to the old addresses, write the redirects yourself before running it. A collection whose route already names{parent_slugs}or{parent_uri}is unaffected. - This release moves where upgrades are fetched from, which the release before it cannot know.
bin/nibble-upgradereads the address out of the version you already have, so the upgrade that takes you to this one still asks the old host. Run it once asNIBBLE_REPO=https://github.com/mah3uz/nibble.git bin/nibble-upgrade, and every upgrade after this one finds its own way. - A control panel older than this release keeps asking the old address for its notes, so its update check quietly stops finding anything once that address goes. Upgrading is the fix; nothing else is affected.