onepageblog is a small blogging application. It shows all post titles on a single page, and loads the body asynchronously when the user clicks on the title. Each post also has a unique URL and can be rendered on its own page.
It is intended to be used as a submodule in a Django project. A standalone harness is included for running it independently.
uv sync
./manage-dev migrate
./manage-dev createsuperuser
./manage-dev runserverThen open http://127.0.0.1:8000/.
- Go to http://127.0.0.1:8000/django-admin/ and log in with your superuser account.
- Under Posts, click Add.
- Enter a title and body. The body uses Markdown syntax.
- Tick Is published to make the post visible on the public site. The Published at timestamp is set automatically when a post is first published.
- Click Save.
The slug is auto-generated from the title. Duplicate titles get a
numeric suffix (-2, -3, etc.).
Registered users can submit posts at http://127.0.0.1:8000/new/. These posts are created unpublished and must be published by a staff member in the admin.
Users in the Moderators group can see unpublished posts on the public site, which is useful for reviewing submissions before publishing.
GNU Affero General Public License v3 — see COPYING.