Writing & formatting
Long-text fields use a rich editor that always writes clean Markdown behind the scenes — so you focus on the words, not the syntax.
Open an entry (or click New) and you get a form built from your site's content model. Text fields like a body or introduction open in the rich editor. Here's how to get the most out of it.


The basics
Type as you would anywhere. Use the toolbar at the top for bold, italic, strikethrough, inline code, headings, lists, quotes, tables and links. An empty field shows a friendly hint so you always know where to start.
- The Text style menu sets any heading level from 1 to 6, or turns a heading back into normal text.
- The + (Insert) menu adds a code block, a divider, a footnote or a piece of HTML or a shortcode. While your cursor is in a code block, a Language box next to it sets the language for syntax highlighting (
js,python, …). - A footnote puts a small number at the cursor and its note at the bottom of the text, where you type it right away.


The “/” slash menu
On a new, empty line, type / to open the block menu. Each block has an icon so you can spot it quickly:
- Heading and Subheading — section titles (H2 and H3).
- List and Numbered list — bulleted or ordered points.
- Task list — checkable to-do items.
- Quote, Table, Code block and Divider.
Keep typing after the “/” to filter (for example /table), then press Enter or click to insert.


Use ↑/↓ to move through the list and Esc to close it without inserting anything — the “/” you typed simply stays as text.
Reordering blocks
Hover over any paragraph, heading, list, quote, table or code block and a grip handle (“Drag to reorder”) appears in the left margin. Drag it to move the whole block — a line shows where it will land. Prefer the keyboard? Put your cursor in the block and press Alt + ↑/↓ to nudge it up or down. Either way it's one action: a single undo puts the block right back.
The floating toolbar
Select some text and a small toolbar appears right next to your selection for quick bold, italic, strikethrough and link — handy when you don't want to reach for the top bar.


Adding a link
- Select the words you want to turn into a link.
- Click the link button (in the floating or top toolbar), or simply paste a URL while the text is selected — PullPress turns the selection into a link instead of replacing it.
- If your site URL is set, you'll also get suggestions for existing pages on your own site as you type, so internal links stay correct.
Pasting from Word or Google Docs
Paste away — PullPress cleans up the messy formatting that word processors add (stray styles, fonts, comments) and keeps only what maps to clean Markdown: headings, lists, bold/italic, links and so on.
HTML, shortcodes and other code
The visual editor handles everything Markdown can hold: tables, task lists, strikethrough, footnotes, code blocks with a language, images, quotes and dividers — and the code a developer put in a page. Raw HTML (a <details> block, a <kbd> key), HTML comments, Hugo shortcodes ({{< youtube … >}}), Liquid and Nunjucks tags ({% include … %}, {{ page.title }}), math ($$ … $$) and ::: blocks show as small labelled chips. They go back to your site exactly as they were, character for character, while you edit the words around them. Double-click a chip (or select it and press Enter) to change its code.
Plain-text mode
Click Plain text to work on the Markdown itself. Its toolbar inserts the Markdown for you (bold, headings, lists, links, images, code blocks, tables, dividers, footnotes), and Preview shows the result next to it as you type. Pages with MDX code (import lines or components) open in plain-text mode, because the visual editor can't show that code safely. Text with HTML, shortcodes, components, template tags or math is saved exactly as typed — PullPress only tidies up the formatting of plain Markdown.
Code is for site administrators: in MDX pages, editors can't add import/export lines or { … } expressions, or start using a component the page doesn't use yet. On any page, editors can't add template code either — {{ … }}, {% … %} or a new shortcode — because site builders such as Eleventy and Jekyll run it as code. Nobody but an administrator can add HTML that could run code — <script>, <iframe>, forms, on… attributes or javascript: links. Simple formatting HTML (images, tables, <details>, line breaks, …) is fine. Code that was already in a page stays — you can still edit the words around it and inside existing components, and the error message quotes the piece that isn't allowed.
In rare cases a page's settings block (the part between ---, +++ or { } at the top of the file) contains an error. The editor then refuses to open the page instead of guessing: nothing is changed or damaged, and the message tells you to ask whoever maintains the site to fix the file first.
Live stats
Under a text field you'll see live word count, reading time and character count — a quick gauge while you write, with no need to leave the editor.
Next: add images & media →