diff --git a/README.md b/README.md index 414c97d..2d9d311 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,36 @@ # Ty Clifford's Content Management System -Ty Clifford's Content Management System is a small PHP blog CMS with a Bludit-style content layout: +Ty Clifford's Content Management System, or TCMS, is a dark-neon PHP blog CMS built around portable files, clean URLs, and a dedicated native Mac client. + +## Feature Showcase + +- Bludit-style content folders make copying or importing posts simple: `bl-content/pages//index.txt`. +- Trusted author rendering parses Markdown while allowing raw HTML, iframes, JavaScript, and executable PHP blocks inside posts/pages. +- Shortcodes are declared in `config/shortcodes.php` or `config/shortcodes.json`, including `[youtube=]` and `[video poster= file=]`. +- Embed support uses `lone-embed.php` for generated full-frame HTML5 video players, while YouTube shortcodes render privacy-friendly iframe embeds. +- The AppKit macOS 12+ client, `TCMS.app`, manages posts, pages, media, comments, autosave, API login, publishing, updates, and deletes. +- Blog essentials are included: pretty URLs, search, pagination, static pages, tags, categories, social links, moderated comments with captcha/honeypot, SQLite, JSON, and Excel-ready CSV stats. + +## Details + +TCMS uses a Bludit-style content layout: ```text bl-content/pages//index.txt ``` -Posts and static pages are Markdown `.txt` files with front matter. Comments are stored in SQLite, site configuration and generated indexes are JSON, and visit stats are CSV for easy Excel import. +Posts and static pages are Markdown `.txt` files with front matter. Comments live in SQLite, site configuration and generated indexes are JSON, and visit stats are CSV for easy Excel import. Post and page bodies are treated as trusted author content. Markdown is rendered while allowing raw HTML, iframes, JavaScript, and executable PHP blocks inside the `.txt` files. -Shortcodes are declared in `config/shortcodes.php` as a PHP array, with optional JSON overrides in `config/shortcodes.json`. Built-in examples: +Shortcodes are declared in `config/shortcodes.php` as a PHP array, with optional JSON overrides in `config/shortcodes.json`. ```text [youtube=dQw4w9WgXcQ] [video poster=poster.jpg file=file.mp4] ``` -`[video]` renders an iframe pointed at `lone-embed.php`, which serves a full-frame HTML5 video player. Bare filenames resolve from `bl-content/uploads`. +`[video]` renders an iframe pointed at `lone-embed.php`, which serves the full-frame HTML5 video player. Bare filenames resolve from `bl-content/uploads`. ## Requirements