This page contains features and fixes that I'm planning to implement for Koriander CMS:
Content management
- Improve first start onboarding experience
- Show whether a page is a branch/leaf in administration toolbar in frontend
- Add rename & leave alias shortcut
- Make it easier to add new child pages to a leaf page. Example: fresh Koriander installation with just root page shows no "add leaf page" shortcut
- Validate fragment-level references
- Improve new page experience for frequent blogging
- Add a render to ZIP button to the CMS administration screen that lets you download
koriander render- rendered version of your site as a ZIP file - Create page templates, similar to Hugo archetypes
- Make Koriander better suited for multi user editing
- Make it easier to import and export Koriander databases
- Support editing multiple Koriander sites on the same computer with a splash screen
- MAYBE: consider adding Lua scripting support like Scribunto
- MAYBE: Import Sphinx or other automatically generated documentation as sub-tree
- Add MediaWiki-style "red links" that you can click on to create new pages
- Show the current Koriander CMS version in the administration screen
- Show that a page is statically rendered in the frontend footer
- Add import for WordPress XML content
- MAYBE: Support bidirectional links (show on the linked page which pages link to it)
- Add render & rsync to server feature
- Renaming pages should update other page's references to it (or, make it a lot harder to rename pages)
Portability
- Let users export their Koriander CMS contents using an XML exporter
- Let users import their Koriander CMS XML export using an import screen
- Make it easier to import and export Koriander SQLITE databases
MediaWiki interoperability
- Let users import MediaWiki XML dumps using a drag and drop screen
- Support converting Wikitext to Markdown, at least partially
Hugo interoperability
- Improve Hugo template conversion
- Add export to Hugo feature
- Let users import their existing Hugo content archetypes
Command-line interface (CLI)
- Show the current Koriander CMS version in the CLI
- Add "version" command and "-v/--version" flag
Markdown editor
- Split add link (Ctrl+K) and add (internal) link (Ctrl+Shift+K) menu button
- Make internal links searchable by tag and summary
- Improve crash-resilience of Markdown editor when browser unexpectedly exits.
- Fix text overwrite issue when editing text mid-sentence.
- Support browser spell checkers
- Allow adding fragment-level internal links, referencing other pages' headers
- Add (optional) review changes before saving screen
- Combine page change form and markdown editor into one
change_form.html - Fix editor and preview alignment
- Add option to switch to fixed-width font in Markdown editor
- Let the user enter footnote text in the add footnote modal
- Fix color contrast in Markdown editor links
- Show all footnotes in Markdown editor
- Support inserting Markdown checkboxes1
- Add better default placeholder footnote name, other than
^fn34 - Add merge-conflict resolution feature on conflicting edits
- Support substituting links for Wayback Machine snapshots
- Add footnote template for citations
Default templates
- Fix page resource overflow
Asset management
- Merge static and asset file model to one StaticFile with a type static/asset enum type.3
- Store content hashes as binary and index as binary4
- Connect page resources and pages as M2M
- Renaming page resources should rename their
links in pages
Wiki
- Create a new Wiki content model
- Serve Wiki pages under
/wiki - Add MediaWiki import for
/wiki - Add MediaWiki export for
/wiki - Maybe: Connect to a federated Wiki like ibis.wiki
- Publicly show Wiki page edit history
- Add recent changes page
- Add permanent links (permalinks) to page versions
Federation
- Support ActivityPub
Translation
- Mark all user interface strings for translation and prepare app for localization
- Prepare German language translation
- If you want to help translate Koriander CMS, contact me
Deployment
- Make Koriander runnable as a zipapp bundled with all dependencies, similar to a JAR file
- Make Koriander suitable for deploying on servers
Documentation
- Create built-in documentation for Koriander CMS administration screen
- Add and format doc strings in Python code
- Create demo video for Koriander CMS first steps
- Extend current Koriander CMS and explain how to create leaf pages, render your site, and publish it to the web
- Add help text to model fields
- Update architecture documentation to explain all
korianderCLI commands - Create sphinx documentation
- Create tutorials for the most common 5 tasks
Testing
- Make end to end tests in
test_e2e.pyuse a LiveServerTestcase
Bug fixes
- Fix CSRF issue after restarting Koriander CMS
- Fix broken page resource insert button in Markdown editor
- Fix order of footnotes when rendering Markdown. 2
- Updating templates should invalidate the Page cache
- When setting the date prefix option, check if a child slug doesn't have YYYY-MM-DD and correct it
- Fix slugs containing
.htmlat the end instead of throwing an error - Hide gunicorn
winchlog messages - Add tag M2M field back to pages
-
A GitHub Flavored Markdown (GFM) feature ↩
-
https://python-markdown.github.io/extensions/footnotes/#:~:text=USE%5FDEFINITION%5FORDER%3A%20Order%20footnotes%20by%20definition%20order%20%28True%29%20or%20by%20document%20order%20%28False%29%2E%20Defaults%20to%20True%2E ↩
-
Only static files should use blake hashes ↩
-
provided that SQLite supports indexing by binary fields ↩