Use EJS to turn submitted form data into live summaries, warnings, confirmation emails, printable layouts, review screens, scorecards, and clean human-readable output.
This guide uses proven Wizara patterns from real forms and exports. If a behavior is not confirmed, it is not included.
This page collects the habits that keep Mobirise projects stable: how the builder thinks, where CSS belongs, Code Editor shortcuts, and the quirks that break sections when you least expect them. Use it as one long reference now. We can split it into shorter guides later.
Mobirise is a visual site builder with a real code layer underneath. The win is speed. The risk is editing the wrong layer, or editing the right layer in a way that strips Mobirise’s editing hooks. This cheat sheet is written for anyone who opens a Rayova project: marketers tweaking copy, designers adjusting layout, and developers pasting custom sections.
Treat Mobirise as two related worlds:
project.mobirise). This is the durable source of truth.Rule of thumb
If you only change exported HTML on the server, the next Publish from Mobirise can overwrite it. Make durable changes in the builder (or in a documented paste-ready section), then publish.
Most day-to-day work happens in these places:
website-accessibility-compliance.html).Global items such as menus and footers are often marked as shared. Edit them carefully: one change can appear on every page.
A Mobirise “block” is one section on the page. Custom sections usually start with a real <section>, include an <mbr-parameters> panel, then the visible markup.
Keep these attributes whenever you redesign a block. They are how Mobirise keeps content editable:
mbr-theme-style, mbr-fonts-style, data-app-selectormbr-if for show/hide togglesmbr-buttons around button groupsmbr-icon on icon spansmbr-class for container width switchescontainer, row, col-*Visual editing tip
If text stops being clickable in the canvas after a Code Editor paste, you likely removed an mbr-* hook. Restore the attributes first, then restyle.
Rayova work is smoother when CSS ownership is deliberate:
| Layer | Use for | Avoid |
|---|---|---|
| Section CSS Editor | Padding, background, and styles that belong only to this block. Mobirise scopes rules to the block. | Targeting the section’s own class name as if it were global. |
| Dynamic Styles / Main CSS | Shared patterns reused across pages (features cards, footnotes, list chrome). | One-off experiments that belong to a single article. |
Inline <style> in HTML |
Rare emergencies only. | Normal Rayova section work. |
Section CSS often uses Mobirise LESS helpers such as @paddingTop, @bg-value, and & when (@gradientBg). That is expected. Do not wrap section CSS in a <style> tag when pasting into the CSS pane.
Comments in the Section CSS Editor are frequently stripped on save. Keep human notes in your library README, not as the only documentation inside the CSS pane.
Open a block’s Code Editor when you need structure beyond the gear panel. The modal is usually two panes:
<mbr-parameters> and the visible content.Bottom controls typically include discard, undo, and apply/save. Always apply, then preview the page. Do not assume the canvas alone proves publish success.
For Rayova paste-ready sections, paste HTML first, then CSS. Confirm the opening line is a real <section ...>, not a comment.
These shortcuts come from Mobirise’s Code Editor Quick Help. On Windows they use Ctrl. On Mac, use Cmd in place of Ctrl for most of these.
| Shortcut | Action |
|---|---|
| Ctrl + X | Cut line |
| Ctrl + Enter | Insert line after |
| Ctrl + Shift + Enter | Insert line before |
| Ctrl + Shift + Up / Down | Move line or selection up / down |
| Ctrl + L | Select line |
| Ctrl + D | Select word; repeat to select next matches |
| Ctrl + Shift + K | Delete line |
| Ctrl + Shift + L | Split selection by line |
| Ctrl + Shift + D | Duplicate line(s) |
| Ctrl + J | Join line below onto current line |
| Ctrl + [ / ] | Indent / un-indent |
| Ctrl + / | Comment / un-comment current line |
| Shortcut | Action |
|---|---|
| Ctrl + M | Jump to matching brackets |
| Ctrl + Shift + M | Select between brackets |
| Ctrl + F / H | Find / Replace |
| F3 / Ctrl + F3 | Find next / previous |
| Alt + F3 | Select all occurrences of current word |
| Alt + Shift + Up / Down | Add cursor on previous / next line |
| Ctrl + K, U / L | Uppercase / lowercase |
| Ctrl + Shift + [ / ] | Fold / unfold code block |
| Ctrl + K, 0 | Unfold all |
| F9 / Ctrl + F9 | Sort lines / sort lines (case insensitive) |
| Shortcut | Action |
|---|---|
| Ctrl + F2 | Toggle bookmark |
| F2 / Shift + F2 | Next / previous bookmark |
| Ctrl + Shift + F2 | Clear bookmarks |
These quirks cause most “it looked fine in the editor, then broke” moments.
Never start the HTML pane with an HTML comment. A leading <!-- ... --> can error the section or confuse the parser.
A related failure mode looks like this in the Code Editor:
<!-- data-bs-version="5.1" class="ray-colour-checker" group="Content" -->
<mbr-parameters>
...
That usually means the opening <section ...> was turned into a comment. Fix it back to a real section tag:
<section data-bs-version="5.1" class="ray-colour-checker" group="Content">
<mbr-parameters>
...
Safe comments can live deeper inside the section if needed. Prefer none at the very top.
In Code Editor HTML, a raw & can break attributes, titles, or validation. Prefer & in markup, or rewrite the phrase with “and”.
Transportation & LogisticsIn the Section CSS Editor, writing .ray-article-section { ... } is unreliable because Mobirise already scopes the pane to that block. Prefer child selectors such as .ray-mcs-table or .ray-cc-grid.
After Apply, Mobirise can normalize tags, drop some attributes, or reshape wrappers. Always re-open the Code Editor and compare critical parts: IDs used by scripts, mbr-* attributes, and the opening <section>.
Custom tools (forms helpers, colour checkers, calculators) can live inside a section, but Mobirise is not a neutral HTML host.
<p> tags can be stripped. Prefer <div id="..."> for script targets, or query by class with null checks.$ in page scripts. Mobirise pages often load jQuery. Use a clear name such as byId.assets/..., that file must exist on the live host after Publish. Embedding small JSON in the section is safer for critical data.assets/images/ with stable filenames.background-image: url(@paramName) than as <img src="}">.<img> tags with meaningful alt text.Every block should survive this quick pass before publish:
project.mobirise directly: close Mobirise first, make a timestamped backup, then edit carefully.Publish warning
Local assets that were copied into the Mobirise project still need a successful Publish to appear on rayova.com. “It works on my machine” is not the same as “it is live.”
| Situation | Do this |
|---|---|
| Need durable content change | Edit in Mobirise, then Publish |
| Need a new custom layout | Paste section HTML + section CSS; preserve mbr-* |
| Shared look across pages | Dynamic Styles / Main CSS |
| One-block look only | Section CSS Editor |
Top of HTML shows <!-- data-bs-version |
Restore a real <section> opening tag |
| Ampersand issues | Use & or write “and” |
| Script target missing | Avoid IDs on <p>; use <div> + class fallbacks |
Direct project.mobirise edit |
Close Mobirise, backup first |
This cheat sheet is intentionally dense. When a topic grows (Code Editor only, publishing only, custom sections only), split it into its own article and leave this page as the index.
Last updated: 14 August 2026