This may not actually be implemented here in contentapi, but I'll move it later if so:
Blogs are parents, pages are children of parent, must mark parent to turn it into a blog
Must set "share" = true on parent for it to become a blog
Can set "share-title" = "title" on parent to name your entire blog (won't impact the slug)
Can set "share-author" = "author" on parent to say the author of the entire blog, name will appear on all subpages
Can set "share-style" = 1234 on parent (maybe on children later) to point to another page that will have the styling for your blog
Available at potentially /share/parent-slug/child-slug
Fully statically rendered pages
Pages are crawled on startup, looking for the "share" = true value
Any pre-existing pages that are no longer readable should be removed
Listen on websocket (using anon token) for updates to pages, run same regeneration
Deletes also remove existing pages, WARN: cannot see when a page goes private!
Keep local database of content - revision pairings (simple enough to be json) so you don't regenerate pages already generated
Will also need to track style pages everywhere and update them whenever an update comes along for them.
So:
Top level directory has basic shared stuff, like the 12y renderer
Top level also houses the global style store, so you don't have to regenerate every page that references a style and they can all reference the same styles
Each blog is a folder with an index.html, the parent itself has the content for the main page
Each child page is a simple html page, have nginx check for pagename.html in the tryfiles entry for all subpages in the blogs folder
This may not actually be implemented here in contentapi, but I'll move it later if so:
"share" = true
on parent for it to become a blog"share-title" = "title"
on parent to name your entire blog (won't impact the slug)"share-author" = "author"
on parent to say the author of the entire blog, name will appear on all subpages"share-style" = 1234
on parent (maybe on children later) to point to another page that will have the styling for your blog"share" = true
valueSo: