Ruby's Poetry Press πŸ”ΆπŸ“πŸ¦‹

Ruby's Poetry Press πŸ”ΆπŸ“πŸ¦‹

β˜• Support on Ko-fi

Page Text (PoetryPress Markdown Language)

PML Formatting Guide

Inline styles β€” freely combinable and nestable, e.g. **bold [with accent] still bold**:

**bold**, *italic*, _underline_, ~~strikethrough~~

[accent one], {accent two} β€” only apply when that accent color is enabled above

{[gradient left-to-right]}, [{gradient right-to-left]} β€” a hidden extra: blends accent one into accent two across just that span (both accents must be enabled)

A single accent can also gradient into the normal text color: [text/lg] and {text/lg} fade from normal text color into that accent (left to right); [text/rg] and {text/rg} run the other way

Line prefixes (start of line):

## text β€” big heading line

-# text β€” small aside line

> text β€” quote line: gets a left bar, a slight tilt, and a touch of transparency

#D text β€” drop cap: the first letter renders much larger, top-aligned with the line

#S text β€” small caps: lowercase letters render as smaller capitals

Rhyme scheme:

End a line with ~A, ~B, ~C, or ~D to mark its rhyme group β€” stripped from display, shown instead as a small colored bar after the line. A and B use accent one and two; C and D are each accent's split-complement. Coexists with a trailing justification suffix: text~A/r.

Justification:

End a whole line with /l /c /r (or the longer /left /center /right β€” both forms always work) to override that line's justification.

Split a line's justification (for example: one part aligned left and the other right) using the Segmentation Operator, below.

Segmentation (Advanced):

Use <...> β€” the Segmentation Operator β€” to isolate part of a line for advanced formatting. A segment can contain any of the inline styles above, plus:

  • custom color (overrides accent colors): <text/#:ff00ff>
  • custom font, by index number (list below): <text/f:4>
  • custom size, as a percentage of the line's own fitted size: <text/scale:150> (150%); bare <text/scale> is a no-op at 100%. Scaling stays visually centered on the line automatically.
  • letter-spacing, as a percentage: <text/track:150>; bare <text/track> defaults to 100%
  • raise or lower on the line, as a signed percentage of this segment's own size: <text/basis:50> raises, <text/basis:-50> lowers; bare <text/basis> defaults to a modest +30 raise
  • hand-jitter, per-letter, as a percentage: <text/jitter:150>; bare <text/jitter> defaults to 100%
  • full custom gradient, up to 4 stops: <text/grad:1#ff0000,2#00ff00,3#0000ff,4#ffffff>
  • flag/rainbow gradient shortcuts, no stops needed: <text/rainbow>, <text/trans>, <text/lesbian> β€” add :rev to any of them to reverse direction, e.g. <text/rainbow:rev>
  • split justification: left text <right text/r> or <left text/l><right text/r> (or the longer /left /right)
  • custom shadow: <text/fx2,#FF00FF,blur,x,y>; bare <text/fx2> gets a sane default shadow
  • custom outline: <text/fx1,#ABC123,thickness>; bare <text/fx1> gets a sane default outline
  • turn off outline/shadow for this segment even if on globally: <text/fx0>
  • chain as many as you like: <text/#:ff00ff/f:4/scale:150/r/fx2,#ffffff,10,10,10>

Escaping:

Put a backslash before any special character to print it literally: \[not accent\] prints [not accent] exactly, with no color applied.

Emoji inside an accent-colored or gradient span get tinted to match, instead of rendering in their normal full-color glyph.

Loaded Font indecies:

Style Presets

Set a mood, and then adjust!~

Card Size & Justification

1:1
2:3
3:4
9:16
9:20
16:9
Centered
Left
Right
Top
Center
Bottom

Typesetting

1.00x
2
3
4
45Β°

Text Effects

Stage Options

2
3
4
135Β°
60%
50%
Advanced