PoetryPress
Support

Inscription Editor (PML)

Arcane Guidance (PML Syntax)

PML (Poetic Magick Language) styles a poem with a few marks. Plain text stays plain, and a mark PML doesn’t understand is shown as typed, so nothing here can break a poem. Each section ends with an example: ⤓ Try inserts it at the cursor, and ↶ takes it out again.

Emphasis

Wrap words to change their weight or line: **bold**, *italic*, _underline_, ~~strike~~. They combine and nest: a bold phrase can hold one italic word.

the **heart** of it, *softly*, ~~never~~ always

Accents and gradients

The page has two accent colors, set under Thoughtforms: the Opposition Hue and the Conjunction Hue. Square brackets use the Opposition Hue, braces the Conjunction Hue, and both together blend from one to the other across the words. A slash fades an accent into the ink, from the left (/lg) or the right (/rg). Emoji inside take the color too.

[one] {two}
accent one, accent two
{[text]} [{text]}
one accent blending into the other, and the reverse
[text/lg] {text/rg}
an accent fading into the ink

a [red] word, a {blue} word, and {[both at once]}

Kinds of line

A mark at the start of a line changes the whole line.

##
a heading: larger, for titles
-#
a small aside, for dates and dedications
>
a quote: a bar at the left, a slight tilt, a little fainter
#D
a drop cap: the first letter large, as in old books
#S
small caps: lowercase letters as small capitals

## The Lantern -# for M., in winter #D Once there was a light that would not go out.

Alignment

End a line with /l, /c or /r (or /left, /center, /right) to override the page’s alignment for that line. To split a line between alignments, put part of it in a segment (below) with its own.

this line leans right/r left words <and right words/r>

Rhyme markers

End a line with ~A, ~B, ~C or ~D to mark its rhyme. Each shows as a small colored bar beside the line, not as text: A and B in the accent colors, C and D in the accents’ opposite hues. They combine with alignment: text~A/r.

the night was cold~A the stars were old~A and still the light~B held on till bright~B

Segments <…>

Angle brackets mark part of a line to style on its own. After the words, add a slash and a directive; chain as many as you like. These also work bare, with a default amount: /scale, /track, /jitter, /basis, /fx1, /fx2, /effect.

/#:ff00ff
a color of its own (a hex code)
/color:rose
a color by its name: any web color name (midnightblue), the app’s own (rose, oxblood, moss, bone, parchment, graphite, teastain, clay, sage, ink, starlight, ember), or a hex code
/f:4
a typeface, by its number in the list at the end
/font:Cinzel
a typeface, by its name
/scale:150
size, as a percent of the poem’s fitted size
/track:150
letter-spacing, as a percent
/basis:50
raises the words; a negative number lowers them
/jitter:150
shakes each letter a little, like a hand that trembles
/grad:1#f00,2#00f
a gradient of its own, up to four stops
/rainbow /trans /lesbian
ready-made gradients; add :rev to reverse one
/fx1,#abc,3
an outline: its color and thickness
/fx2,#f0f,10,4,4
a shadow: its color, blur, and offset across and down
/effect:halo,60,#fff
a typeface effect (letterpress, longshadow, doublestrike, chromatic, halo, bevel, erosion, doubleline, wavyline, dottedline or bloom), then its strength, hue, angle, distance and grain, each optional
/fx:outline(#fff,4)+glow(#fd0,40,70)
up to three effects, in order, each with its color, two amounts and an angle: outline, shadow, longshadow, glow, letterpress, bevel, chromatic, doublestrike or erosion (/fx:none clears them)
/under:wave,#c33,150
an underline sewn in any of the stitches: its color and size
/fx0
no effects on this segment, even if the page has some

<grow/scale:160/track:130> and <fall/basis:-40/jitter:200> and <glow/effect:halo,70>

Glass, blends and shaped lines

Words can be made of glass, cut through the surface, pressed into the page, or set on a curve. Each of these works bare too.

/glass
frosted glass letters: the page behind them blurred and lit
/glass:clear /glass:rose /glass:80
clear glass, which only bends the page; glass tinted any color; and its strength, 0–100 (/glass:rose,30)
/cut
the letters as windows through the surface, to the page under it. With no surface on, plain letters.
/blend:multiply
how the letters lie on the page: multiply (ink pressed into the paper), screen, overlay, soft-light and the rest of the blends
/op:60
opacity, as a percent
/arc:30
the words on an arc of this many degrees; a negative arc sags
/wave:25,2
the words on a wave: its height, as a percent of the size, and how many waves
/rot:-8
the words turned, in degrees, about their middle
/gap:100
room after the line, as a percent of its height; a negative gap draws the next line in

<frosted/glass/scale:150> <and pressed/blend:multiply> <over the hill/arc:40> <and away/wave:30,2> <a turned word/rot:-6/op:70/gap:60>

Named styles

Name a set of directives once, on its own line, then use it anywhere a directive goes with /@ and the name. The naming line isn’t drawn, and one style can use another. The editor underlines any directive it can’t read (a misspelling, a value it doesn’t take, a style or typeface no one has named) and explains why under the poem.

§style ember = /color:ember/glass/scale:120 the <coals/@ember> and the <sparks/@ember/rot:4>

Over many lines, and within each other

A bracket or segment can span lines: open it on one line, close it on a later one, and every line between takes it. Directives right after a closing bracket make it a segment, so [words]/jitter:150 works without angle brackets. An alignment alone at the end of a block aligns all its lines. Marks nest: a segment inside a segment takes both sets of directives, its own last. Bold and italic span lines the same way. A bracket that never closes ends with its line, and <3 is always a heart.

[This is a stanza that should be colored and centered]/c {[We are doing something strange but bear with me, dear}]/jitter:200 <a <nested/scale:150> segment/track:130>

Rules and stitches

A line of three dashes draws a rule across the page, to divide stanzas. In a segment it takes a width, an alignment and a stitch: a motif sewn along it, pointing down (the default) or up.

--- [---] {---}
a rule; an accent colors it
<---/50%/c>
half the width, centered (l c r)
<---/vine/up>
a stitch, pointing up
/size:150 /weight:200 /#:ff00aa
the motif’s size, the thread’s weight, its color

Borders take the same stitches (Materia → Border Stitch), and an inset box follows a stitched border’s inner edge.

<---/vine/60%/c>

Code

Backticks show words exactly as typed, in a monospace face on a small backdrop: for a line of code, or anything marks would otherwise change. Variables (below) still resolve inside; glyphs don’t.

`**not bold**, [not an accent]`

Variables

A § and a name is replaced by a value before anything else is read: the surface’s name, tonight’s moon, the look’s spell. They let a page describe itself (the Grimoire’s Instrument Panel is made of them). A name the app doesn’t know stays as typed; \§ prints a plain §. On a computer’s keyboard, $ works the same before a variable’s name ($SurfName, $style); “$5” stays as typed.

§SurfName §SurfParamsA §SurfParamsB
the surface, its knobs, its hues (with Two Surfaces, the one on top)
§MoonPhase!tonight !seed :0.5
a moon (−1…1: 0 full, ±1 new)
§Glyph!fire §Glyph!materia §UVIcon
glyphs, by name
§SpellName §Spell §Font §TypeEffect
the look
§RenderMs §Profile §CacheMB §Canvas §Scale §Build
the renderer’s timings and sizes, and the release

tonight's moon: §MoonPhase!tonight, on §SurfName

Escaping

A backslash before any mark prints the mark itself instead of acting on it: \[text\] prints [text].

Fonts, by index

Form & Bearing

Standard

1:1
2:3
3:4
9:16
1:2
9:20.5

Landscape

16:9
4:3
2:1
West
Neutral
East
Crest
Heart
Root
Built-In Presets
Custom Presets

Use + Save this look to keep the current look here, under a name you choose.

Script Options
1.00x
100%
2
3
4
45°
Text Effects

Up to three effects, drawn under the letters in order. A segment can set its own: <word/fx:glow(#fd0,40,70)>

45°
45°
45°
0%
Backdrop Color
2
3
4
135°
50%
50%
75%
Surface Texture
100%
Controls
60%
Light Colors
Surface Colors
Material Colors
Border Options
45°
0
2px
14px
0%
60px
Inset Box
90°
50
50
14px
2px
60px
Vignette Options
50%
35
50
50
0
Moving Image

The page as a short film: its camera turning, its light or its day going round, or one look easing into another. Holding Save image opens it too.

Interface

Spellcrafting

Spells keep looks: every setting, but not the poem's words.

Create saves the current look as a spell. Invoke puts it back on the page.

Advanced
Grimoire

The Grimoire keeps poems: the words only. Choose one, then Invoke or Dissolve.

The Grimoire is empty. Record saves your poem's text here.

Advanced
Workbench