1Swim::Design(3) User Contributed Perl Documentation Swim::Design(3)
2
3
4
6 This document describes the Swim markup format, its goals and its
7 specific design decisions.
8
10 • Beautiful input syntax and beautiful output renderings
11
12 • (re)Use the best existing markup syntaxes
13
14 • Render to many formats
15
16 • HTML
17
18 • Plain text
19
20 • Other common text markups (Markdown, Pod, etc)
21
22 • Core info model supports most common, useful constructs
23
24 • Support everything else via pluggable extension syntax
25
27 Swim defines an information model for text documents. The 2 main
28 generic components are blocks and phrases. This pretty directly
29 corresponds to the HTML concepts of divs and spans.
30
31 The model is roughly expressed by this grammar:
32
33 # A document is a set of blocks
34 document: block*
35 # A block is /either/ a set of more blocks /or/ a set of phrases
36 block: block* | phrase*
37 # A phrase is moer or less a sentence fragement
38 phrase: bold | italic | link | … | plain-text
39
40 Swim is literally defined by this grammar:
41
42
43
44perl v5.34.0 2021-07-22 Swim::Design(3)