(_) ___ | |_ ____
| |/ _ \| __|_ /
| | (_) | |_ / /
_/ |\___/ \__/___|
Jotz CMS design principles
- Free, obviously!
- Minimalist (minimum viable CMS)
- Web 1.0 aesthetic
- CMS from scratch - few files, few lines of code
- Do not sacrifice simplicity on the altar of scalability
- The ideal solution will be "almost trivial" to implement once you know how
- Flat file CMS - no database
- Write in markdown (i.e. plain text)
- Easy upload / authoring from desktop or phone
- Upload from insecure device (maybe with approval/authorization from secure device?)
- Content should be as transferable as possible - minimum proprietary syntax
- No need to implement all admin functionality in CMS UI - admin is assumed to have read/write access to the web storage anyway, so that can be used for file deletion, editing templates, etc.
- Key functionality is fast and convenient authoring/editing of content from a wide range of devices.
- Intended for single author or small team where all authors are in touch with admin
- Minimal data collection from site visitors - no cookies, no tracking, no popups, no permissions
- Security implemented via Apache password protected folder(s) and TLS (i.e. https) - allows login via URL shortcut, e.g. "https://johndoe:MyPa55word@tedz.eu/cms/"
- https for everyone - CMS users and site visitors
Philosophy / Inspirations
- "folk programming"
- "user developer" - Terry Davis
- "CMS from scratch" a la Linux From Scratch
- Type-in games from the 80s
- No tool lock-in - write your content in a format you can take somewhere else whenever you want
Assumptions / pre-requisites / dependencies
- Access to a hosted web folder with PHP execution
- PHP (v7.4)
/uploads/[various_files .jpg .png .svg .c etc...]
- Create frontend_header.md so that user can edit front page header html?
- Add button to rename article
- Add button to delete article
- Allow author to write "custom.css" using the regular editor? Or maybe "jotz.css"?