-
Notifications
You must be signed in to change notification settings - Fork 1
/
slideml_spec.txt
154 lines (115 loc) · 4.75 KB
/
slideml_spec.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
1. Overview
SlideML is a meta-language to aid in writing presentations in simple to read
text. This text is then translated into XHTML and can be presented
using a standard web browser.
2. Meta-data
All meta-data tags must be at the start of the line and prefixed with @.
The meta-data is either a flag or a "value equals pair". When the
meta-data tags are used before the first new slide designator the
values are global defaults.
The currently supported meta-data tags are:
The title of the presentation use the @title tag. For example:
@title=My fancy presentation
The background color of the presentation uses the @background tag. For
example:
@background=#12abff
The foreground color of the text uses the @foreground tag. For example:
@foreground=#abcd00
There are two types of slides:
1. Title slides (title)
The title slide has centered large text for typically one or
two lines for the presentation name and author.
2. Regular slides (normal)
This is a slide with a header, content and footer.
For example:
@type=title
or
@type=normal
If required one can use a picture as the background for the presentation
using the @backimage tag. For example:
@backimage=example.png
The default font can be changed using the @font tag. For example:
@font=mysnazyfont
3. Slides
All slide tags and section designators must be at the start of the line.
A slide consists of five sections:
1. New slide designator
2. Slide specific meta-data
3. Slide header
4. Slide content
5. Slide footer
Expressed in slideml:
---
@metadata
<this is the header>
This is the slide content.
!this is the footer!
3.1 New slide designator
The new slide designator --- designates the start of a new slide.
3.2 Slide meta-data
See section 2. Only difference being that the meta-data only applies to
the current slide.
3.3 Slide header
The title of a slide is designated between <>. This title is a large
font and is rendered on top of the page. For example:
<This is my title>
The title attribute must be the first character on the line so that
something like a < b renders as text.
To center the title on the slide use >< instead. For example:
>centered title<
3.4 Slide content
This is where the meat of the presentation goes. See section 4 for text
and other tags.
3.5 Slide footer
The footer of a slide is designated between !!. This footer is a small
font and is rendered bottom of the page.For example:
!This is my footer!
The footer attribute must be the first character on the line so that
something like hi!! renders as text.
4. Text
The text tags are wrappers of meta-characters surrounding a piece of text.
The supported tags are:
* Bold. Bold is text wrapped in **
For example *this is bold*
* Italic. Italic is text wrapped in //
For example /this text is italic/
* Underline. Underline is text wrapped in __
For example _this text is underline_
* Bigger font size. Bigger font size is text wrapped in ^^
For example: ^bigger font^
Multiple ^ can be used to indicate ^^even bigger font^^
Up to two ^ can be used.
* Bullets. The graphical representation of bullets is
determined by which character is used. The characters that
can be used are * (large bullet) - (dash bullet) . (small
bullet) and > (arrow bullet).
The physical indentation, expressed in number of tabs,
determines the indentation depth on the slides.
* Pictures.
[img=I [size=P | width=W height=H] [xpos=X ypos=Y | align=A]]
Where: I is a link to, or a picture.
P is a percentage of the orignal size of an image.
W & H are width and heigh in pixels
X & Y are pixel locations
A is align keyword such as left or top.
5. Tables
A table is specified as one or more cells that are denoted using the pipe (|)
character for the cell boundary. The pipe character can be followed by an
optional formatting specifier. This is then followed by a tab or a space and
your cell content.
Valid formatting specifiers for a table cell are:
- A pipe (i.e. ||) - this denotes a heading cell.
- A L, C, or R - these denote left, center or right alignment for the contents.
- A digit - this denotes the number of columns to span.
- A NxN (i.e. 2x2) - this denotes the number of columns and rows to span.
Tables automatically begin and end whenever cells are specified. For example:
||L Heading A ||C Heading B ||R Heading C |
| 1 | 2 | 3 |
| _logical_ *OR* | \|\| | or |
|2 /foo/ |L _blah_ |
Will generate a table with one heading row and three data rows, with the left
column being left aligned, the middle column being centered and the right
column being right aligned. With the last row the first cell is left aligned
and spans two columns, with the last (second) cell being left aligned.
The border of a table is controlled via the @tableborder meta-data value:
@tableborder=[solid|dotted|none]