Getting Started with Accent
This walkthrough takes you from a fresh checkout to your first published edit through the admin UI. The full reference docs live next to it; this page is the canonical 1.0 onboarding.
Install
curl -fsSL https://accentcms.dev/install.sh | sh
On Windows:
irm https://raw.githubusercontent.com/AccentCMS/accent/main/install.ps1 | iex
Manual downloads and verification: github.com/AccentCMS/accent.
Confirm the install with accent --help.
Initialise a site
accent init my-site cd my-site
init lays out the starter template: a config.yaml, a content/ directory with a homepage, and the default theme under themes/.
Start the dev server
accent serve
Visit http://localhost:4400. The home page is live. Editing any markdown file under content/ triggers a browser refresh in under a second.
Editing your first page in the admin Standard
The admin UI runs alongside the public site at /_admin/. Two gates must be true for the shell to mount: the binary must be built with the admin cargo feature (the default for Standard and Pro editions), and admin.enabled in config.yaml must be true.
-
Enable the admin and set a token. Add an admin section to
config.yaml:admin: enabled: true token: "your-secret-admin-token-min-32-bytes"
The token can also be supplied through the
ACCENT_ADMIN_TOKENenvironment variable, which takes precedence over the value inconfig.yaml. In production, use at least 32 bytes of entropy; a startup warning is logged for tokens shorter than 16 characters. -
Start the server:
accent serve
-
Open
http://localhost:4400/_admin/loginand enter your token. It is compared in constant time against the configured token; on success you land on the dashboard. Failed attempts re-render the form with an inline error; only failed attempts count toward the rate limit of 10 per minute, so a burst of legitimate logins never locks you out. -
Browse the dashboard. It lists the five most recently modified pages and a validation summary bucketed by severity, so you can see at a glance what changed and whether anything needs attention.
-
Open a page from the pages list. Click Pages to reach
/_admin/pages– a paginated, filterable list of every page – and open the page you want to edit. The editor opens in edit mode with one input per frontmatter field. -
Edit a field and watch the live preview. As you change a field, the editor re-renders a live preview from your current form values, giving immediate visual feedback before you commit the change.
-
Save the page. The save path validates your input, checks for concurrent edits, writes the file, and appends an entry to the admin audit log. The cache layer invalidates automatically, so the public site reflects your change on the next request.
-
Move the page through the workflow. The editor shows only the transitions legal from the page’s current state, so the available buttons depend on where the page is. New pages start as Published, so to send one into the editorial flow you choose Unpublish (back to Draft) or Archive. From Draft the flow runs Submit for review to Review, then Approve to Published. Published pages are publicly visible (subject to any date constraints); drafts and pages in review stay hidden from the public site.
Shareable by default
Every page the default theme renders ships complete Open Graph and Twitter Card
tags, a build-safe canonical link, and a page-specific description, so links
unfurl as rich cards on Slack, LinkedIn, X, Mastodon, and friends with no extra
work. To make those cards as good as possible, set a few site-wide values in
config.yaml:
site: name: My Site url: https://example.com # required for absolute canonical / og:url description: A short site-wide description used when a page has none. meta: twitter:site: "@mysite" # any platform tag is just a key structured_data: default_image: /assets/social-card.png # branded fallback card image
Per page, set description:, image:, or a meta: block in frontmatter to
override the defaults. See Social Sharing and SEO Metadata
for the full system.
What’s next
- Markdown Guide for content syntax
- Templating Guide for theme customisation
- Admin UI reference for the full admin feature set, including workflow transitions, the source / diff modes, and the publisher role