prepare('SELECT key, value FROM project_settings WHERE project_id = ?'); $psStmt->execute([$pid]); $pSettings = []; foreach ($psStmt->fetchAll() as $row) { $pSettings[$row['key']] = $row['value']; } ?> prepare('SELECT * FROM scheduled_builds WHERE project_id = ? ORDER BY id'); $sStmt->execute([$pid]); $schedules = $sStmt->fetchAll(); } ?>
Project

Broken link checker

Scans posts/pages for HTTP/HTTPS links (and internal links if a project URL is set) and reports any that are unreachable.


Backup & export

Download a zip of the project source. Excludes node_modules, public, and .git.

Download backup (.zip)
Scheduled builds

Run a project command on a cron schedule. Output is saved to command history. Requires the system cron entry to be installed (see docs/scheduled-builds.md).

No schedules yet.
>
last: () never run

Page directories

Subdirectories of source/ scanned for pages, one per line. Leave empty to scan only source/*.md.


Post Templates

Full post file content (front matter + body). Applied when creating a new post.


Snippets

Reusable markdown fragments. Insert into post body via the snippet picker.