glyph 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/AUTHORS.textile +8 -0
- data/CHANGELOG.textile +260 -0
- data/LICENSE.textile +26 -0
- data/README.textile +49 -21
- data/Rakefile +17 -7
- data/VERSION +1 -1
- data/book/config.yml +11 -5
- data/book/document.glyph +24 -13
- data/book/lib/macros/reference.rb +41 -14
- data/book/output/html/glyph.html +2298 -687
- data/book/output/pdf/glyph.pdf +6218 -2698
- data/book/script/authors +1 -0
- data/book/script/changelog +1 -0
- data/book/script/compile.rb +8 -0
- data/book/script/license +1 -0
- data/book/script/prof +1 -0
- data/book/script/prof_results.htm +21079 -0
- data/book/script/readme +1 -0
- data/book/snippets.yml +3 -4
- data/book/text/acknowledgement.glyph +8 -0
- data/book/text/authoring.glyph +548 -0
- data/book/text/changelog.glyph +76 -0
- data/book/text/extending.glyph +224 -0
- data/book/text/{getting_started.textile → getting_started.glyph} +30 -24
- data/book/text/{introduction.textile → introduction.glyph} +22 -12
- data/book/text/license.glyph +21 -0
- data/book/text/{ref_commands.textile → ref_commands.glyph} +30 -8
- data/book/text/ref_config.glyph +108 -0
- data/book/text/ref_macros.glyph +378 -0
- data/book/text/troubleshooting.glyph +179 -0
- data/config.yml +16 -4
- data/glyph.gemspec +83 -22
- data/lib/glyph.rb +164 -31
- data/lib/glyph/commands.rb +98 -23
- data/lib/glyph/document.rb +13 -7
- data/lib/glyph/glyph_language.rb +9 -1
- data/lib/glyph/glyph_language.treetop +1 -1
- data/lib/glyph/interpreter.rb +19 -9
- data/lib/glyph/macro.rb +88 -11
- data/lib/glyph/macro_validators.rb +48 -0
- data/lib/glyph/node.rb +13 -1
- data/lib/glyph/system_extensions.rb +0 -28
- data/macros/common.rb +125 -31
- data/macros/filters.rb +19 -13
- data/macros/html/block.rb +119 -68
- data/macros/html/inline.rb +29 -3
- data/macros/html/structure.rb +40 -40
- data/spec/files/article.glyph +5 -0
- data/spec/lib/commands_spec.rb +98 -3
- data/spec/lib/document_spec.rb +15 -2
- data/spec/lib/glyph_spec.rb +39 -10
- data/spec/lib/interpreter_spec.rb +8 -2
- data/spec/lib/macro_spec.rb +54 -6
- data/spec/lib/macro_validators_spec.rb +33 -0
- data/spec/lib/node_spec.rb +11 -3
- data/spec/macros/filters_spec.rb +5 -5
- data/spec/macros/macros_spec.rb +185 -8
- data/spec/macros/textile_spec.rb +217 -0
- data/spec/spec_helper.rb +25 -15
- data/spec/tasks/generate_spec.rb +3 -3
- data/spec/tasks/load_spec.rb +11 -1
- data/spec/tasks/project_spec.rb +0 -3
- data/styles/coderay.css +121 -0
- data/styles/default.css +54 -20
- data/{book/styles/css3.css → styles/pagination.css} +35 -7
- data/styles/ultraviolet/active4d.css +114 -0
- data/styles/ultraviolet/all_hallows_eve.css +72 -0
- data/styles/ultraviolet/amy.css +147 -0
- data/styles/ultraviolet/blackboard.css +88 -0
- data/styles/ultraviolet/brilliance_black.css +605 -0
- data/styles/ultraviolet/brilliance_dull.css +599 -0
- data/styles/ultraviolet/cobalt.css +149 -0
- data/styles/ultraviolet/dawn.css +121 -0
- data/styles/ultraviolet/eiffel.css +121 -0
- data/styles/ultraviolet/espresso_libre.css +109 -0
- data/styles/ultraviolet/idle.css +62 -0
- data/styles/ultraviolet/iplastic.css +80 -0
- data/styles/ultraviolet/lazy.css +73 -0
- data/styles/ultraviolet/mac_classic.css +123 -0
- data/styles/ultraviolet/magicwb_amiga.css +104 -0
- data/styles/ultraviolet/pastels_on_dark.css +188 -0
- data/styles/ultraviolet/slush_poppies.css +85 -0
- data/styles/ultraviolet/spacecadet.css +51 -0
- data/styles/ultraviolet/sunburst.css +180 -0
- data/styles/ultraviolet/twilight.css +137 -0
- data/styles/ultraviolet/zenburnesque.css +91 -0
- data/tasks/generate.rake +45 -26
- data/tasks/load.rake +21 -18
- data/tasks/project.rake +3 -1
- metadata +210 -41
- data/book/styles/default.css +0 -190
- data/book/text/authoring.textile +0 -351
- data/book/text/extending.textile +0 -148
- data/book/text/ref_config.textile +0 -0
- data/book/text/ref_macros.textile +0 -256
- data/book/text/troubleshooting.textile +0 -118
- data/styles/css3.css +0 -220
@@ -0,0 +1,21 @@
|
|
1
|
+
Copyright (c) 2010 **Fabio Cevasco**, =>[http://www.h3rald.com]
|
2
|
+
|
3
|
+
code[
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
|
+
of this software and associated documentation files (the "Software"), to deal
|
6
|
+
in the Software without restriction, including without limitation the rights
|
7
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8
|
+
copies of the Software, and to permit persons to whom the Software is
|
9
|
+
furnished to do so, subject to the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be included in
|
12
|
+
all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20
|
+
THE SOFTWARE.
|
21
|
+
]
|
@@ -8,26 +8,31 @@ Where:
|
|
8
8
|
|
9
9
|
section[header[Global Options]
|
10
10
|
|
11
|
-
section[header[@-d@, @--debug
|
11
|
+
section[header[@-d@, @--debug@|debug_switch]
|
12
12
|
If specified, the command is executed in debug mode and additional diagnostic information is printed on the screen.
|
13
13
|
]
|
14
14
|
]
|
15
15
|
|
16
|
-
section[header[@add
|
16
|
+
section[header[@add@|c_add]
|
17
17
|
Creates a new text file in the @text/@ folder.
|
18
18
|
|
19
19
|
example[glyph add introduction.textile]
|
20
20
|
|
21
21
|
parameters[
|
22
|
-
-p[
|
22
|
+
-p[_file-name_|The name (or relative path) of the new file to be created.]
|
23
23
|
]
|
24
24
|
] --[End add]
|
25
25
|
|
26
|
-
section[header[@compile
|
26
|
+
section[header[@compile@|c_compile]
|
27
27
|
Compiles a Glyph document into an output file. If no options are specified, the @document.glyph@ file is used as source to produce a standalone HTML file.
|
28
28
|
|
29
29
|
example[glyph compile -f pdf]
|
30
30
|
|
31
|
+
parameters[
|
32
|
+
-p[_source_|The source glyph file to compile _(Optional)_.]
|
33
|
+
-p[_destination_|The destination file _(Optional)_.]
|
34
|
+
]
|
35
|
+
|
31
36
|
options[
|
32
37
|
-o[source|
|
33
38
|
The source file to compile.
|
@@ -38,10 +43,13 @@ The format of the output file.
|
|
38
43
|
default[html]
|
39
44
|
values[html, pdf]
|
40
45
|
]
|
46
|
+
-o[auto|
|
47
|
+
If specified, enable =>[#auto_regeneration|auto regeneration] (requires the =>[http://rubygems.org/gems/directory_watcher|directory_watcher] gem to be installed).
|
48
|
+
]
|
41
49
|
]
|
42
50
|
] --[End compile]
|
43
51
|
|
44
|
-
section[header[@config
|
52
|
+
section[header[@config@|c_config]
|
45
53
|
Gets or sets a configuration setting in the project or global configuration file (\.fmi[configuration files|#cfg]).
|
46
54
|
|
47
55
|
examples[
|
@@ -56,12 +64,26 @@ default[false]
|
|
56
64
|
]
|
57
65
|
]
|
58
66
|
parameters[
|
59
|
-
-p[
|
60
|
-
-p[
|
67
|
+
-p[_setting_|The name of a valid =>[#cfg_ref|configuration setting].]
|
68
|
+
-p[_value_|The new value of the configuration setting.]
|
61
69
|
]
|
62
70
|
] --[End config]
|
63
71
|
|
64
|
-
section[header[@
|
72
|
+
section[header[@help@|c_help]
|
73
|
+
Prints information about all Glyph commands or about one specific command.
|
74
|
+
|
75
|
+
examples[
|
76
|
+
glyph help
|
77
|
+
glyph help compile
|
78
|
+
]
|
79
|
+
|
80
|
+
parameters[
|
81
|
+
-p[_command_|A valid Glyph command.]
|
82
|
+
]
|
83
|
+
|
84
|
+
] --[End help]
|
85
|
+
|
86
|
+
section[header[@init@|c_init]
|
65
87
|
Creates a new Glyph project in the current directory (if empty).
|
66
88
|
|
67
89
|
example[glyph init]
|
@@ -0,0 +1,108 @@
|
|
1
|
+
section[header[@document.*@]
|
2
|
+
The following configuration settings are related to the current Glyph document. Therefore, you should update them right after creating a project.
|
3
|
+
|
4
|
+
config_table[
|
5
|
+
ref_config[document.author|
|
6
|
+
The author of the document.
|
7
|
+
]
|
8
|
+
ref_config[document.draft|
|
9
|
+
If set to @true@, the document is considered a draft, so =>[#m_draftcomment|draft comments] and =>[#m_todo|todo items] will be displayed.
|
10
|
+
]
|
11
|
+
ref_config[document.filename|
|
12
|
+
The name of the output file.
|
13
|
+
]
|
14
|
+
ref_config[document.output|
|
15
|
+
The format of the output file. It can be set to any value stored in the $>[document.output_targets].
|
16
|
+
]
|
17
|
+
ref_config[document.output_targets|
|
18
|
+
An @Array@ containing all the possible output formats. This setting should not be changed by the user.
|
19
|
+
]
|
20
|
+
ref_config[document.source|
|
21
|
+
The main source file to compile. It can be also be overridden by calling the #>[compile] with the @-s@ option.
|
22
|
+
]
|
23
|
+
|
24
|
+
ref_config[document.subtitle|
|
25
|
+
The subtitle of the document, displayed using the %>[subtitle].
|
26
|
+
]
|
27
|
+
ref_config[document.title|
|
28
|
+
The title of the document, displayed using the %>[title].
|
29
|
+
]
|
30
|
+
]
|
31
|
+
] --[End document section]
|
32
|
+
|
33
|
+
section[header[@filters.*@]
|
34
|
+
config_table[
|
35
|
+
ref_config[filters.by_file_extension|
|
36
|
+
If set to @true@, a filter macro is applied to included files, based on their extensions (\.fmi[including files|#incl]).
|
37
|
+
]
|
38
|
+
ref_config[filters.markdown.converter|
|
39
|
+
The name of the markdown converter to use with the %>[markdown]. It can be set to one of the following values:
|
40
|
+
* BlueCloth
|
41
|
+
* RDiscount
|
42
|
+
* Maruku
|
43
|
+
* Kramdown
|
44
|
+
|
45
|
+
If not set, Glyph tests for the presence of each gem in the same order, until one is found.
|
46
|
+
]
|
47
|
+
ref_config[filters.redcloth.restrictions|
|
48
|
+
An @Array@ containing restrictions applied to RedCloth, used by the %>[textile] (see =>[http://redcloth.rubyforge.org/classes/RedCloth/TextileDoc.html|RedCloth Documentation] for more information).
|
49
|
+
]
|
50
|
+
ref_config[filters.target|
|
51
|
+
The output target for filters. It can be set to @html@ (for RedCloth and MarkDown) or @latex@ (RedCloth-only).
|
52
|
+
]
|
53
|
+
]
|
54
|
+
] --[End filters section]
|
55
|
+
|
56
|
+
|
57
|
+
section[header[@highlighters.*@|s_highlighters]
|
58
|
+
|
59
|
+
config_table[
|
60
|
+
ref_config[highlighters.coderay.*|
|
61
|
+
Some &[coderay]-specific =>[http://coderay.rubychan.de/doc/classes/CodeRay/Encoders/HTML.html|options].
|
62
|
+
]
|
63
|
+
ref_config[highlighters.current|
|
64
|
+
The current highlighter to use. It can be set to @coderay@ or @ultraviolet@
|
65
|
+
]
|
66
|
+
ref_config[highlighters.target|
|
67
|
+
The target output of the =>[#s_highlighters_current|current highlighter]. It can be set to anything the highlighter supports.
|
68
|
+
]
|
69
|
+
ref_config[highlighters.ultraviolet.line_numbers|
|
70
|
+
Whether the &[uv] highlighter should display line numbers or not.
|
71
|
+
]
|
72
|
+
ref_config[highlighters.ultraviolet.theme|
|
73
|
+
The theme used by the &[uv] highlighter.
|
74
|
+
]
|
75
|
+
]
|
76
|
+
|
77
|
+
] --[End highlighters section]
|
78
|
+
|
79
|
+
section[header[@structure.*@]
|
80
|
+
The following configuration settings are used internally by Glyph and should not be changed by the user.
|
81
|
+
|
82
|
+
config_table[
|
83
|
+
ref_config[structure.backmatter|
|
84
|
+
The section types used in the document backmatter.
|
85
|
+
]
|
86
|
+
ref_config[structure.bodymatter|
|
87
|
+
The section types used in the document bodymatter.
|
88
|
+
]
|
89
|
+
ref_config[structure.frontmatter|
|
90
|
+
The section types used in the document frontmatter.
|
91
|
+
]
|
92
|
+
ref_config[structure.hidden|
|
93
|
+
The section types that will not be shown in the Table of Contents.
|
94
|
+
]
|
95
|
+
ref_config[structure.special|
|
96
|
+
The section types that will be considered _special_ and whose children will not be included in the Table of Contents.
|
97
|
+
]
|
98
|
+
]
|
99
|
+
] --[End structure section]
|
100
|
+
|
101
|
+
section[header[@tools.*@]
|
102
|
+
config_table[
|
103
|
+
ref_config[tools.pdf_generator|
|
104
|
+
The external program used to generate PDF files. It can only be set to @prince@.
|
105
|
+
]
|
106
|
+
]
|
107
|
+
] --[End tools section]
|
108
|
+
|
@@ -0,0 +1,378 @@
|
|
1
|
+
section[header[Common Macros]
|
2
|
+
|
3
|
+
ref_macro[and|
|
4
|
+
Conditional @and@ operator, to be used with the %>[condition].
|
5
|
+
|
6
|
+
example[=?[and[true\|false]\|This is never displayed.]=]
|
7
|
+
]
|
8
|
+
|
9
|
+
ref_macro[comment|
|
10
|
+
Evaluates to nothing. Used to add comments in a Glyph document that will not be displayed in output files.
|
11
|
+
|
12
|
+
aliases[--]
|
13
|
+
example[=--[This is a comment. It will not be displayed in the output]=]
|
14
|
+
]
|
15
|
+
|
16
|
+
ref_macro[condition|
|
17
|
+
Tests a conditional expression (first parameter), and evaluates to the second parameter if the condition is satisfied. If the second parameter is an %>[escape] macro, its contents are unescaped and interpreted only if the condition is satisfied. For more information, see =>[#cond_macros].
|
18
|
+
|
19
|
+
aliases[?]
|
20
|
+
|
21
|
+
*Examples*
|
22
|
+
|
23
|
+
See any of the following:
|
24
|
+
* %>[and]
|
25
|
+
* %>[or]
|
26
|
+
* %>[not]
|
27
|
+
* %>[match]
|
28
|
+
* %>[eq]
|
29
|
+
|
30
|
+
]
|
31
|
+
|
32
|
+
ref_macro[config|
|
33
|
+
Evaluates to the configuration setting referenced by its value.
|
34
|
+
|
35
|
+
aliases[$]
|
36
|
+
example[=$[document.author]=]
|
37
|
+
]
|
38
|
+
|
39
|
+
ref_macro[config:|
|
40
|
+
Sets the value of a configuration setting.
|
41
|
+
|
42
|
+
aliases[$:]
|
43
|
+
|
44
|
+
example[=$:[document.draft\|true]=]
|
45
|
+
|
46
|
+
]
|
47
|
+
ref_macro[decode|
|
48
|
+
Decodes some text that was previously encoded (see %>[encode]). fmi[this topic|#encode_decode].
|
49
|
+
|
50
|
+
aliases[**]
|
51
|
+
|
52
|
+
example[=*[\=note‡\.‡¤\.91\.¤‡\.‡This will not be evaluated‡\.‡¤\.93\.¤‡\.‡\=]=]
|
53
|
+
|
54
|
+
]
|
55
|
+
|
56
|
+
ref_macro[encode|
|
57
|
+
Encodes some Glyph code to prevent its evaluation, so that it can be decoded (and interpreted) later on (see the %>[decode]). fmi[this topic|#encode_decode].
|
58
|
+
|
59
|
+
aliases[*]
|
60
|
+
|
61
|
+
example[=*[\=note[This will not be evaluated]\=]=]
|
62
|
+
|
63
|
+
]
|
64
|
+
|
65
|
+
ref_macro[eq|
|
66
|
+
Conditional equality operator, to be used with the %>[condition].
|
67
|
+
|
68
|
+
example[=?[eq[$[document.draft]\|true]\|This is displayed only in draft documents.]=]
|
69
|
+
]
|
70
|
+
|
71
|
+
ref_macro[escape|
|
72
|
+
Evaluates to its value. Commonly used with the escaping delimiters codeph[\[\=] and codeph[\=\]].
|
73
|
+
|
74
|
+
aliases[.]
|
75
|
+
example[=.\[=Macros are escaped here =>[#test].=\]=]
|
76
|
+
]
|
77
|
+
|
78
|
+
ref_macro[include|
|
79
|
+
Evaluates to the contents of a text file stored in the @text/@ directory referenced by its value. If &[filter_by_ext], filters the contents of the file using the =>[#f_macros|filter macro] corresponding to the file extension.
|
80
|
+
|
81
|
+
aliases[@]
|
82
|
+
example[=@[introduction.textile]=]
|
83
|
+
]
|
84
|
+
|
85
|
+
ref_macro[match|
|
86
|
+
Evaluates to @true@ if the first parameter matches the second, an empty string otherwise. The second parameter must be a valid Ruby-compatible regular expression. This macro must be used with the %>[condition].
|
87
|
+
|
88
|
+
example[=?[match[Hello!\|/^hell/i]\|This is always displayed]=]
|
89
|
+
]
|
90
|
+
|
91
|
+
ref_macro[macro:|
|
92
|
+
Defines a macro.
|
93
|
+
|
94
|
+
note[The new macro &[only_after_declaration].]
|
95
|
+
|
96
|
+
aliases[%:]
|
97
|
+
|
98
|
+
example[=%:[test\|"<em>test: #@value</em>"]=]
|
99
|
+
|
100
|
+
]
|
101
|
+
|
102
|
+
ref_macro[not|
|
103
|
+
Conditional @and@ operator, to be used with the %>[condition].
|
104
|
+
|
105
|
+
example[=?[not[false]\|This is always displayed.]=]
|
106
|
+
]
|
107
|
+
|
108
|
+
ref_macro[or|
|
109
|
+
Conditional @or@ operator, to be used with the %>[condition].
|
110
|
+
|
111
|
+
example[=?[or[true\|false]\|This is always displayed.]=]
|
112
|
+
]
|
113
|
+
|
114
|
+
ref_macro[ruby|
|
115
|
+
Evaluates its value as Ruby code (using @Kernel#instance_eval@).
|
116
|
+
|
117
|
+
aliases[%]
|
118
|
+
examples[=
|
119
|
+
%[Time.now]
|
120
|
+
%[Glyph::VERSION]
|
121
|
+
=]
|
122
|
+
]
|
123
|
+
|
124
|
+
ref_macro[snippet|
|
125
|
+
Evaluates to the snippet referenced by its value.
|
126
|
+
|
127
|
+
aliases[&]
|
128
|
+
example[=&[glang]=]
|
129
|
+
]
|
130
|
+
|
131
|
+
ref_macro[snippet:|
|
132
|
+
Defines a snippet.
|
133
|
+
|
134
|
+
note[The new snippet &[only_after_declaration].]
|
135
|
+
|
136
|
+
aliases[&:]
|
137
|
+
|
138
|
+
example[=&:[test\|This is a test]=]
|
139
|
+
|
140
|
+
]
|
141
|
+
|
142
|
+
ref_macro[todo|
|
143
|
+
Saves the value as a TODO item, which can be printed using the #>[todo] or included in the document if the $>[document.draft] is set to @true@.
|
144
|
+
|
145
|
+
example[=todo[Remember to do this.]=]
|
146
|
+
]
|
147
|
+
|
148
|
+
] --[End common macros]
|
149
|
+
|
150
|
+
section[header[Filter Macros|f_macros]
|
151
|
+
|
152
|
+
ref_macro[markdown|
|
153
|
+
Uses a markdown converter (BlueCloth, RDiscount, Maruku or Kramdown) to transform the value into HTML if the $>[filters.target] is set to @html@.
|
154
|
+
|
155
|
+
&[called_on_files] with a @.markdown@ or a @.md@ extension.
|
156
|
+
|
157
|
+
example[=markdown[This is *emphasized* text.]=]
|
158
|
+
]
|
159
|
+
|
160
|
+
ref_macro[textile|
|
161
|
+
Uses the RedCloth gem to transform the value into HTML or LaTeX, depending on the value of the $>[filters.target].
|
162
|
+
|
163
|
+
&[called_on_files] with a @.textile@ extension.
|
164
|
+
|
165
|
+
example[=textile[This is a *strong emphasis*.]=]
|
166
|
+
]
|
167
|
+
|
168
|
+
] --[End filter macros]
|
169
|
+
|
170
|
+
section[header[Block Macros]
|
171
|
+
|
172
|
+
ref_macro[box|
|
173
|
+
Creates a titled box (@<div>@ tag).
|
174
|
+
|
175
|
+
*Example:*
|
176
|
+
|
177
|
+
code[=
|
178
|
+
box[Why boxes?\|
|
179
|
+
Boxes can be used to make a section of text stand out from the rest of the document.
|
180
|
+
]
|
181
|
+
=]
|
182
|
+
]
|
183
|
+
|
184
|
+
ref_macro[code|
|
185
|
+
Used to render a block of code within @<pre>@ and @<code>@ tags.
|
186
|
+
* For inline code, see the %>[codeph].
|
187
|
+
* For code highlighting, see the %>[highlight].
|
188
|
+
|
189
|
+
*Example:*
|
190
|
+
|
191
|
+
code[=
|
192
|
+
code[
|
193
|
+
def hello
|
194
|
+
puts "Hello World"
|
195
|
+
end
|
196
|
+
]
|
197
|
+
=]
|
198
|
+
|
199
|
+
]
|
200
|
+
|
201
|
+
ref_macro[fig|
|
202
|
+
Includes an image in the document, with an optional caption.
|
203
|
+
|
204
|
+
examples[=
|
205
|
+
fig[diagram.png]
|
206
|
+
fig[graph.png\|Monthly pageviews]
|
207
|
+
=]
|
208
|
+
]
|
209
|
+
|
210
|
+
ref_macro[highlight|
|
211
|
+
Highlights a piece of source code (second parameter) according to the specified language (first parameter). fmi[code highligting|#source_code].
|
212
|
+
|
213
|
+
*Example:*
|
214
|
+
|
215
|
+
code[=
|
216
|
+
highlight[ruby\|
|
217
|
+
def hello
|
218
|
+
puts "Hello World"
|
219
|
+
end
|
220
|
+
]
|
221
|
+
=]
|
222
|
+
|
223
|
+
]
|
224
|
+
|
225
|
+
ref_macro[img|
|
226
|
+
Includes an image in the document, optionally scaled according to the specified width and height. The image must be stored within the @images/@ directory of the current project.
|
227
|
+
|
228
|
+
examples[=
|
229
|
+
img[icon.png]
|
230
|
+
img[holidays/landscape.jpg\|70%]
|
231
|
+
img[logo.svg\|50%\|50%]
|
232
|
+
=]
|
233
|
+
]
|
234
|
+
|
235
|
+
ref_macro[note|
|
236
|
+
Creates a note @div@ containing the value.
|
237
|
+
|
238
|
+
aliases[important, caution, tip]
|
239
|
+
example[=note[This is a note.]=]
|
240
|
+
]
|
241
|
+
|
242
|
+
ref_macro[pubdate|
|
243
|
+
Evaluates to a date string (in the format: _current-month_ _current-year_; or _%B_ _%Y_), within a @<div>@ tag.
|
244
|
+
|
245
|
+
example[=pubdate[]=]
|
246
|
+
]
|
247
|
+
|
248
|
+
ref_macro[subtitle|
|
249
|
+
Renders the subtitle of the document (based on the $>[document.subtitle]) within a @<h2>@ tag.
|
250
|
+
|
251
|
+
example[=subtitle[]=]
|
252
|
+
]
|
253
|
+
|
254
|
+
ref_macro[table|
|
255
|
+
Evaluates to an HTML table. Used in conjunction with the =>[#m_tr|@tr@], =>[#m_td|@td@] and =>[#m_th|@th@] macros.
|
256
|
+
|
257
|
+
*Example:*
|
258
|
+
|
259
|
+
code[=
|
260
|
+
table[
|
261
|
+
tr[
|
262
|
+
th[Name]
|
263
|
+
th[Value]
|
264
|
+
]
|
265
|
+
tr[
|
266
|
+
td[A]
|
267
|
+
td[1]
|
268
|
+
]
|
269
|
+
tr[
|
270
|
+
td[B]
|
271
|
+
td[2]
|
272
|
+
]
|
273
|
+
]
|
274
|
+
=]
|
275
|
+
|
276
|
+
]
|
277
|
+
|
278
|
+
ref_macro[td|See =>[#m_table].]
|
279
|
+
|
280
|
+
ref_macro[title|
|
281
|
+
Renders the title of the document (based on the $>[document.title]) within a @<h1>@ tag.
|
282
|
+
|
283
|
+
example[=title[]=]
|
284
|
+
]
|
285
|
+
|
286
|
+
ref_macro[th|See =>[#m_table].]
|
287
|
+
ref_macro[tr|See =>[#m_table].]
|
288
|
+
|
289
|
+
] --[End block macros]
|
290
|
+
|
291
|
+
section[header[Inline Macros]
|
292
|
+
|
293
|
+
ref_macro[anchor|
|
294
|
+
Creates a named anchor (or bookmark).
|
295
|
+
|
296
|
+
aliases[bookmark, #]
|
297
|
+
example[=#[test\|Test Bookmark]=]
|
298
|
+
]
|
299
|
+
|
300
|
+
ref_macro[codeph|
|
301
|
+
Wraps the value in a @<code>@ tag.
|
302
|
+
|
303
|
+
example[=codeph[Kernel.instance_eval]=]
|
304
|
+
|
305
|
+
]
|
306
|
+
|
307
|
+
ref_macro[draftcomment|
|
308
|
+
If the $>[document.draft] is set to @true@, displays a draft comment within the document.
|
309
|
+
|
310
|
+
aliases[dc]
|
311
|
+
|
312
|
+
example[=dc[This is printed only in draft documents.]=]
|
313
|
+
|
314
|
+
]
|
315
|
+
|
316
|
+
ref_macro[fmi|
|
317
|
+
Creates a _For More Information_ link (for an example usage, see the %>[link]).
|
318
|
+
|
319
|
+
example[=fmi[creating links\|#links]=]
|
320
|
+
]
|
321
|
+
|
322
|
+
ref_macro[link|
|
323
|
+
Creates an hyperlink (\.fmi[creating links|#links]).
|
324
|
+
|
325
|
+
aliases[\.=>]
|
326
|
+
examples[=
|
327
|
+
=>[#introduction]
|
328
|
+
=>[#troub\|Troubleshooting]
|
329
|
+
=>[http://www.h3rald.com\|H3RALD.com]
|
330
|
+
=]
|
331
|
+
]
|
332
|
+
|
333
|
+
] --[End inline macros]
|
334
|
+
|
335
|
+
section[header[Structure Macros]
|
336
|
+
|
337
|
+
ref_macro[body|
|
338
|
+
Creates a @<body>@ tag.
|
339
|
+
]
|
340
|
+
|
341
|
+
ref_macro[div|
|
342
|
+
Creates a @<div>@ tag.
|
343
|
+
|
344
|
+
*Aliases:* codeph[%[=Glyph['structure'].values.flatten.uniq.map{\|a\| a.to_s }.push("section").sort.join(', ')=]]
|
345
|
+
]
|
346
|
+
|
347
|
+
ref_macro[document|
|
348
|
+
The root macro used in every Glyph document. It creates an @<html>@ tag.
|
349
|
+
]
|
350
|
+
|
351
|
+
ref_macro[head|
|
352
|
+
Creates a @<head>@ tag, pre-populated with @title@ and author/copyright @<meta>@ tags.
|
353
|
+
]
|
354
|
+
|
355
|
+
ref_macro[header|
|
356
|
+
Creates an @h2@, @h3@, @h4@, etc. header (\.fmi[using headers|#sec_head]).
|
357
|
+
|
358
|
+
examples[=
|
359
|
+
header[Introduction]
|
360
|
+
header[Getting Started\|gs]
|
361
|
+
=]
|
362
|
+
]
|
363
|
+
|
364
|
+
ref_macro[section|See =>[#m_div].]
|
365
|
+
|
366
|
+
ref_macro[style|
|
367
|
+
Embeds the content of a CSS or Sass file within a @<style>@ tag (\.fmi[stylesheets|#stylesheets]).
|
368
|
+
|
369
|
+
example[=style[default.css]=]
|
370
|
+
]
|
371
|
+
|
372
|
+
ref_macro[toc|
|
373
|
+
Generates a _Table of Contents_ based on how sections and headers are nested in the current document.
|
374
|
+
|
375
|
+
example[=toc[]=]
|
376
|
+
]
|
377
|
+
|
378
|
+
] --[End structure macros]
|