56 lines
1.4 KiB
Markdown
56 lines
1.4 KiB
Markdown
# Neon Notes CMS
|
|
|
|
Neon Notes is a small PHP blog CMS with 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.
|
|
|
|
## Requirements
|
|
|
|
- PHP 8.1 or newer
|
|
- PDO SQLite enabled
|
|
- Apache with `mod_rewrite` for `.htaccess` pretty URLs, or the PHP built-in server for local testing
|
|
|
|
## Local Server
|
|
|
|
```bash
|
|
php -S 127.0.0.1:8080 router.php
|
|
```
|
|
|
|
## CLI
|
|
|
|
```bash
|
|
php cli/blog.php help
|
|
php cli/blog.php list --all
|
|
php cli/blog.php create "New Post" --status=published --category=Notes --tags=php,markdown
|
|
php cli/blog.php update hello-neon --title="Hello Neon"
|
|
php cli/blog.php delete old-slug
|
|
php cli/blog.php rebuild
|
|
```
|
|
|
|
## Comments
|
|
|
|
Comments are moderated by default and protected by captcha plus a honeypot field.
|
|
|
|
```bash
|
|
php cli/blog.php comments:list --status=pending
|
|
php cli/blog.php comments:approve 1
|
|
php cli/blog.php comments:spam 2
|
|
php cli/blog.php comments:delete 3
|
|
```
|
|
|
|
## Stats
|
|
|
|
Visits are appended to `storage/stats/visits.csv` with a header row suitable for spreadsheet import.
|
|
|
|
```bash
|
|
php cli/blog.php stats:summary
|
|
```
|
|
|
|
## Apache
|
|
|
|
The included `.htaccess` enables pretty URLs and blocks direct access to app code, configuration, SQLite, CSV, JSON databases, and Markdown content files.
|