- Readme
This commit is contained in:
@@ -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/<slug>/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=<id>]` and `[video poster=<poster> file=<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/<slug>/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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user