The page editor
Site pages use a block editor, similar to WordPress's "Gutenberg" editor. Content is built from individual blocks — paragraphs, headings, images, embeds, and layout blocks — that you can insert, reorder, and configure independently, instead of one long flat document.
Starting a new page: the template picker
When you create a new page, you're first shown a template picker. Pick a starting point and the editor opens pre-filled with that template's blocks — nothing is saved until you press Save, so you can freely change your mind or switch templates before your first save. The templates are:
- Blank — an empty page, exactly like starting from scratch today.
- 2-Column / 3-Column — a single empty Columns layout block with 2 or 3 side-by-side columns.
- Landing / Hero — a heading and lead paragraph with a call-to-action link, followed by a 3-column row of feature callouts.
- Cover — a large, sparse heading, paragraph, and single link, for a minimal full-page intro.
- Album / Gallery — a heading followed by a 3-column grid of images with captions.
- Masonry gallery — a heading followed by a flowing multi-column grid of images.
- Pricing — a heading and 3 pricing tiers, each with a name, price, feature list, and a call-to-action link.
- Product — an image on one side and a heading, description, and call-to-action link on the other.
- Blog — a heading followed by a few repeated post summaries (heading, byline, excerpt, link), for a listing-style page.
- Dashboard shell — a narrow navigation column beside a wide content column, with an empty data table and chart embed ready to configure.
- Sidebar layout — a narrow rail beside a wide content column, for docs- or article-style pages.
- Sign-in — a centered mockup of sign-in fields. This is a visual layout only — it does not perform real sign-in. Use your dashboard's own login, not a site page, for real authentication.
Inserting content: the slash menu
Type / at the start of an empty line (or on any empty paragraph) to open the slash-command menu.
Keep typing to filter the list, use the arrow keys to move the highlight, press Enter to insert the
highlighted item, and press Escape to close the menu without inserting anything. Filtering tolerates
the block name typed with or without spaces — /datatable and /data table both find "Embedded
data table."
The menu can insert:
- Text blocks — paragraph, headings (four levels), bullet list, numbered list, quote, code block, horizontal rule.
- Image and table.
- Embedded form — drops in one of your site's forms so visitors can fill it out right on the page.
- Embedded data table — drops in a live view of one of your site's public datastore views.
- Embedded chart — drops in one of your site's public datastore charts.
- Page link — inserts a link to another page on your site; click it to choose the target page and, optionally, parameters to pass along.
- 2 columns / 3 columns — inserts a Columns layout block (see below).
An empty paragraph shows faint placeholder text ("Type / for commands…") as a reminder that the
menu is available — it disappears as soon as you start typing.
Reordering blocks
Every block can be reordered two ways:
- Drag the handle. Hover over a block to reveal a small drag handle at its left edge; click and drag it up or down to move the block, including into or out of a Columns block.
- Move up / Move down. Every block's floating toolbar (see below) has Move up and Move down buttons that move the block one position at a time. This works everywhere dragging works, including into and out of columns, and is the reliable option if you'd rather not drag — for example on a touch device, with a keyboard only, or if dragging ever feels awkward for a particular block.
The floating block toolbar
Click into (or hover over) a block to reveal its floating toolbar, with:
- Move up / Move down — reorder, as above.
- Duplicate — inserts a copy of the block directly after itself.
- Delete — removes the block.
- Turn into — converts the block to a different, compatible type (for example, a paragraph into a heading). Only offered where a sensible conversion exists — embeds, tables, and Columns/Column blocks don't offer it.
Columns blocks
A Columns block lays out 2 or 3 columns side by side; each column can hold any mix of ordinary blocks — headings, paragraphs, lists, images, embeds — but not another Columns block nested inside it. On a narrow screen (phone-width), columns automatically stack vertically instead of side-by-side.
The column count is fixed when you insert the block. Choosing "2 columns" or "3 columns" from the slash menu (or a template that seeds one) sets the count for that block permanently — there's no in-place "add a column" control. If you need a different count, delete the block and insert a fresh Columns block with the count you want.
The four tabs: Properties, Visual, HTML, Advanced
The editor has four tabs:
- Properties — Title, Slug, Parent page, navigation/mobile visibility, dynamic parameters, who can see this page, and the SEO fields (Meta description, OG image URL, Canonical URL).
- Visual — the block editor described above. Use this for normal editing; it's what almost every edit should use.
- HTML — a raw HTML editor (with syntax highlighting) over the exact same underlying content. Use this only when you need to hand-write or paste markup the block editor doesn't have a block for. Content you save here is still sanitized on the server like any other page content. Switching into this tab automatically reformats the markup with readable 2-space indentation.
- Advanced — per-page Custom CSS and Custom JS, each with its own Format button to clean up indentation. (This is separate from the site-wide custom CSS/JS under Content → Site.)
Switching between Visual and HTML may show a warning if the content changed in a way the Visual tab can't fully represent — this protects you from silently losing formatting when going back and forth. When in doubt, finish your edit in one tab, save, and switch tabs afterward rather than jumping back and forth mid-edit.
Who can see this page
By default a published page is a public web page: anyone with the address can read it. On the Properties tab you can narrow that instead:
- Anyone — a normal public page.
- Signed-in users only — anyone with an MFICore account, signed in.
- One team only — just the members of a team you pick.
This is how you build an internal dashboard rather than a public page: a private page can show data tables and charts that aren't published for the world, so you don't have to make a query public just to look at it. The trading bundle's Trading page works exactly this way.
A restricted page also stays out of your site's menu and out of sitemap.xml, so its address isn't
advertised to visitors or search engines, and browsers are told not to cache it.
Two things worth knowing:
- This applies as soon as you save, not when you publish. Restricting a page shouldn't wait for a separate step.
- It needs a
.sites.platform address. If your site uses your own domain, visitors there have no way to carry an MFICore sign-in, so a restricted page would turn everyone away. The editor warns you when you pick that combination.
Saving, publishing, and history
Nothing above changes how pages are saved and published: Save writes your draft and keeps a version snapshot, Preview always shows the current draft, and Publish / Unpublish control what visitors actually see. Use History to view, restore, or publish any past version. See Sites & domains for the full picture of how a site's pages fit together.