A page is static content you write for your space's website — rules, contacts, a schedule, an about page, a help article, or the site's own home page. You add pages from Content → Pages in the console, and each one is served at a path you choose. Creating, editing and deleting pages needs permission to change content.
Open Content. The section opens on Pages.
Press Add page.
Fill in the Title. It names the page in the console and in the browser tab, and stands in as the heading if the content has none.
Fill in the Path — where the page is served. It must start with /, may contain only lower-case letters, digits, ., -, _ and /, and must be unique in the space. See below for what a path means.
Write the Content in Markdown, LaTeX or rich text, checking the preview beside the form as you go.
Save.
Fig 1. The page editor: title, path and content on the left, the rendered page on the right.
The page editor has no draft state and no scheduling: its fields are title, path and content, and there is no publish step to follow. If you want to prepare something and release it at a moment of your choosing, that is what a post is for.
The path, not the title, decides where a page lives. Paths are stored with a /pages/ prefix and the public site drops it:
Stored path | Served at |
|---|---|
|
|
|
|
| The space home page. A space that has this page renders it instead of the default landing page. |
| The site navigation menu — see Customize navigation. |
Your space's address is derived from its key; see Space key and public address.
When you link from one page to another, write the link without the /pages/ prefix — /about/contacts, not /pages/about/contacts.
A page whose path sits below another's is not nested in any menu because of it. Nesting is something you express with the navigation page and with links, not with the path.
Edit in the row menu reopens the editor. Changing the path moves the page, and the old address stops working immediately — anything linking to it, including printed material and links in other pages, breaks at that moment.
Delete removes the page and all its translations after a confirmation, and frees the path for reuse. That is permanent and it takes the URL down with it.
Labels are free-form strings attached to a page. Most of them exist only to organise and filter — the Pages list can be filtered by label, alongside id and path. Two prefixes mean something to the public site:
Label | Effect |
|---|---|
| This page is listed in the related pages sidebar of the page served at |
| Visiting the page redirects to |
The page editor has no label field. Labels are set through the API, so a page you create in the console starts with none.
The visible heading is taken from the first heading in the content, and the stored title is only the fallback. A table of contents appears in a sidebar, built from the level-2 and lower headings, once there are at least three of them. The related-pages sidebar appears when other pages carry a matching related_to: label.
Pages accept two things other content does not: a contest widget and a problem widget, written as container blocks, which pull live contests or problems into the page. They take attributes such as contest, status, featured, series and size for contests, and problem, topic, difficulty, size, sort and order for problems.
Opening a page in the console renders it exactly as the public site does, with the language dropdown above it. That preview, and the preview pane in the editor, are the same renderer your visitors get — what you see there is what they will see.