Releases: liyu1981/sifpress
Release list
v0.1.0
Sifpress v0.1.0
One PHP file. The whole site. — the first tagged release of Sifpress, a
single-file PHP + React publishing system with rewrite-free routing.
Sifpress compiles a PHP JSON API, a full React admin app, its styles and the SPA
HTML into one sifpress.php artifact — SQL migrations included. Copy it into any
directory of any PHP host and it runs: no .htaccess, no try_files, no #/
hash routes, and no Node.js in production.
Highlights
- Single-file artifact — API, admin UI, styles, HTML and migrations in one
file. One HTTP request per page load (JS and CSS are inlined), and it works at
/,/myapp/or four levels deep without a rebuild. - Rewrite-free
?p=routing —?p=sifpress/api&action=…serves JSON,
?p=sifpress/admin/…serves the admin UI, anything else belongs to the active
sifront. Every URL is real, shareable and crawler-friendly; back/forward work. - Admin UI — React 19 + TanStack Router/Query + Tailwind v4 + shadcn/ui:
articles with tags, front matter and full-text search (SQLite FTS5, WAL mode),
a Milkdown WYSIWYG markdown editor, asset uploads with browser-generated
thumbnails, SEO settings with sitemap/robots, analytics head tags, and a KV
store for site configuration. - Ownership & permissions — DB-backed sessions, roles (admin / editor /
viewer), per-page grants, and article ownership transfer from the editor
(admins can transfer any article; owners their own). - Revisions — content-addressed history with commit messages, diffs and
restore. - Sifronts — the public front end is a swappable theme shipped as a two-file
.sifrontarchive: identity, version and the theme contract inmeta.json,
the whole app inbundle.js. Upload it from Admin → Sifronts; theme identity
(welcome text, avatar, links, footer, background scene) is customizable from
Admin → KVs without touching code. - Operations — CLI (
setup · migrate · change_password · backup · config · cron · status), WAL-safeVACUUM INTObackups with pruning, and one-click
self-update from a release manifest.
Release assets
| Asset | What it is |
|---|---|
sifpress.php |
the complete application — this is the file you deploy |
sifpress1.sifront |
the default public theme — upload it from Admin → Sifronts |
Quick start
Requirements: PHP 8.3+ with pdo_sqlite (SQLite built with FTS5),
mbstring and fileinfo. Optional: curl, zlib.
# 1 — download the release artifact
curl -LO https://github.com/liyu1981/sifpress/releases/latest/download/sifpress.php
mkdir -p /var/www/html && cp sifpress.php /var/www/html/
# 2 — create the config + DB folder
cd /var/www/html
php sifpress.php setup
# 3 — apply the embedded migrations and seed the first admin
php sifpress.php migrateThen open the admin UI:
https://example.com/sifpress.php?p=sifpress/admin
Sign in with admin / admin — a password change is forced on first login.
Building from source (Node.js, pnpm) is only needed for local development.
Notes
- This release publishes
latest.jsontomaster; running instances read it
for update checks (?p=sifpress/update&action=status) and offer the
one-click upgrade. - The update manifest carries the artifact's md5, which the in-app updater
verifies after download. - This is the first tagged release: expect rough edges, and please report them.
Website: https://liyu1981.github.io/sifpress/ · Documentation: README · Development guide: AGENTS.md