glyph 0.2.0 → 0.3.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 +1 -1
- data/CHANGELOG.textile +119 -222
- data/LICENSE.textile +1 -1
- data/README.textile +42 -23
- data/Rakefile +1 -3
- data/VERSION +1 -1
- data/benchmark.rb +72 -0
- data/book/config.yml +4 -4
- data/book/document.glyph +90 -57
- data/book/images/document_generation.png +0 -0
- data/book/lib/macros/reference.rb +75 -22
- data/book/output/html/glyph.html +3183 -2121
- data/book/output/html/images/document_generation.png +0 -0
- data/book/output/pdf/glyph.pdf +7370 -4913
- data/book/resources/document_generation.txt +34 -0
- data/book/snippets.yml +6 -0
- data/book/text/changelog.glyph +45 -34
- data/book/text/compiling/compiling.glyph +23 -0
- data/book/text/compiling/lite_mode.glyph +23 -0
- data/book/text/compiling/programmatic_usage.glyph +77 -0
- data/book/text/extending/bookmarks_headers.glyph +21 -0
- data/book/text/extending/further_reading.glyph +13 -0
- data/book/text/extending/internals.glyph +79 -0
- data/book/text/extending/interpreting.glyph +51 -0
- data/book/text/extending/macro_def.glyph +64 -0
- data/book/text/extending/params_attrs.glyph +70 -0
- data/book/text/extending/placeholders.glyph +34 -0
- data/book/text/extending/validators.glyph +16 -0
- data/book/text/getting_started/configuration.glyph +49 -0
- data/book/text/getting_started/create_project.glyph +41 -0
- data/book/text/getting_started/structure.glyph +55 -0
- data/book/text/introduction.glyph +49 -26
- data/book/text/license.glyph +1 -1
- data/book/text/macros/macros_block.glyph +99 -0
- data/book/text/macros/macros_core.glyph +208 -0
- data/book/text/macros/macros_filters.glyph +40 -0
- data/book/text/macros/macros_inline.glyph +50 -0
- data/book/text/macros/macros_structure.glyph +100 -0
- data/book/text/ref_commands.glyph +94 -73
- data/book/text/ref_config.glyph +34 -42
- data/book/text/ref_macros.glyph +1 -373
- data/book/text/text_editing/code.glyph +51 -0
- data/book/text/text_editing/conditionals.glyph +49 -0
- data/book/text/text_editing/evaluation.glyph +13 -0
- data/book/text/text_editing/glyph_files.glyph +7 -0
- data/book/text/text_editing/images.glyph +29 -0
- data/book/text/text_editing/inclusions.glyph +44 -0
- data/book/text/text_editing/links.glyph +53 -0
- data/book/text/text_editing/macro_intro.glyph +111 -0
- data/book/text/text_editing/raw_html.glyph +112 -0
- data/book/text/text_editing/sections.glyph +63 -0
- data/book/text/text_editing/stylesheets.glyph +36 -0
- data/book/text/troubleshooting/errors_command.glyph +39 -0
- data/book/text/troubleshooting/errors_generic.glyph +29 -0
- data/book/text/troubleshooting/errors_intro.glyph +3 -0
- data/book/text/troubleshooting/errors_macro.glyph +98 -0
- data/book/text/troubleshooting/errors_parser.glyph +29 -0
- data/config.yml +77 -58
- data/document.glyph +25 -25
- data/glyph.gemspec +57 -22
- data/lib/glyph.rb +54 -13
- data/lib/glyph/commands.rb +84 -17
- data/lib/glyph/config.rb +3 -3
- data/lib/glyph/document.rb +14 -8
- data/lib/glyph/interpreter.rb +18 -58
- data/lib/glyph/macro.rb +160 -55
- data/lib/glyph/macro_validators.rb +104 -12
- data/lib/glyph/node.rb +24 -0
- data/lib/glyph/parser.rb +278 -0
- data/lib/glyph/syntax_node.rb +225 -0
- data/macros/core.rb +212 -0
- data/macros/filters.rb +66 -15
- data/macros/html/block.rb +43 -105
- data/macros/html/inline.rb +11 -12
- data/macros/html/structure.rb +123 -58
- data/macros/xml.rb +33 -0
- data/spec/files/container.textile +2 -2
- data/spec/files/document.glyph +2 -2
- data/spec/files/document_with_toc.glyph +3 -3
- data/spec/files/included.textile +1 -1
- data/spec/files/ligature.jpg +0 -0
- data/spec/files/markdown.markdown +2 -1
- data/spec/lib/commands_spec.rb +46 -3
- data/spec/lib/document_spec.rb +4 -4
- data/spec/lib/glyph_spec.rb +17 -46
- data/spec/lib/interpreter_spec.rb +6 -25
- data/spec/lib/macro_spec.rb +141 -43
- data/spec/lib/macro_validators_spec.rb +27 -5
- data/spec/lib/node_spec.rb +26 -1
- data/spec/lib/parser_spec.rb +246 -0
- data/spec/lib/syntax_node_spec.rb +111 -0
- data/spec/macros/core_spec.rb +195 -0
- data/spec/macros/filters_spec.rb +38 -4
- data/spec/macros/macros_spec.rb +20 -176
- data/spec/macros/textile_spec.rb +13 -71
- data/spec/macros/xml_spec.rb +77 -0
- data/spec/spec_helper.rb +50 -10
- data/spec/tasks/load_spec.rb +13 -2
- data/styles/default.css +18 -6
- data/styles/pagination.css +1 -19
- data/tasks/generate.rake +2 -2
- data/tasks/load.rake +27 -17
- data/tasks/project.rake +1 -1
- metadata +75 -62
- data/book/script/compile.rb +0 -8
- data/book/script/prof +0 -1
- data/book/script/prof_results.htm +0 -21079
- data/book/text/authoring.glyph +0 -548
- data/book/text/extending.glyph +0 -224
- data/book/text/getting_started.glyph +0 -158
- data/book/text/troubleshooting.glyph +0 -179
- data/lib/glyph/glyph_language.rb +0 -538
- data/lib/glyph/glyph_language.treetop +0 -27
- data/macros/common.rb +0 -160
@@ -1,96 +1,117 @@
|
|
1
|
+
txt[
|
1
2
|
Glyph's command-line interface has been built using the =>[http://github.com/davetron5000/gli|gli] (Git-like interface) gem. Therefore, Glyph commands are all written like this:
|
2
3
|
|
3
|
-
|
4
|
+
strong[glyph] em[global_options] strong[command] em[options] em[parameters]
|
4
5
|
|
5
6
|
Where:
|
6
|
-
*
|
7
|
+
* em[global_options] and _options_ are in the form: @-n@ _value_ or @--name=@\._value_, e.g. @-f pdf@ or @--format=pdf@
|
7
8
|
* _parameters_ are separated by whitespaces, and can be wrapped in quotes.
|
8
|
-
|
9
|
-
section[header[Global Options]
|
10
|
-
|
11
|
-
section[header[@-d@, @--debug@|debug_switch]
|
12
|
-
If specified, the command is executed in debug mode and additional diagnostic information is printed on the screen.
|
13
9
|
]
|
10
|
+
section[
|
11
|
+
@title[Global Options]
|
12
|
+
section[
|
13
|
+
@title[code[-d], code[--debug]]
|
14
|
+
@id[debug_switch]
|
15
|
+
p[If specified, the command is executed in debug mode and additional diagnostic information is printed on the screen.]
|
16
|
+
]
|
14
17
|
]
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
example[glyph add introduction.textile]
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
]
|
24
|
-
] --[End add]
|
25
|
-
|
26
|
-
section[header[@compile@|c_compile]
|
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
|
-
|
29
|
-
example[glyph compile -f pdf]
|
30
|
-
|
31
|
-
parameters[
|
32
|
-
-p[_source_|The source glyph file to compile _(Optional)_.]
|
33
|
-
-p[_destination_|The destination file _(Optional)_.]
|
18
|
+
section[
|
19
|
+
@title[code[add]]
|
20
|
+
@id[c_add]
|
21
|
+
p[Creates a new text file in the code[text/] folder.]
|
22
|
+
example[glyph add introduction.textile]
|
23
|
+
parameters[
|
24
|
+
-p[em[file_name]|The name (or relative path) of the new file to be created.]
|
25
|
+
]
|
34
26
|
]
|
35
|
-
|
36
|
-
|
37
|
-
|
27
|
+
section[
|
28
|
+
@title[code[compile]]
|
29
|
+
@id[c_compile]
|
30
|
+
p[Compiles a Glyph document into an output file. If no options are specified, the code[document.glyph] file is used as source to produce a standalone HTML file.]
|
31
|
+
example[glyph compile -f pdf]
|
32
|
+
parameters[
|
33
|
+
-p[em[source]|The source glyph file to compile em[(Optional)].]
|
34
|
+
-p[em[destination]|The destination file em[(Optional)].]
|
35
|
+
]
|
36
|
+
options[
|
37
|
+
-o[source|
|
38
38
|
The source file to compile.
|
39
|
-
default[document.glyph]
|
40
|
-
]
|
41
|
-
-o[format|
|
39
|
+
default[document.glyph]
|
40
|
+
]
|
41
|
+
-o[format|
|
42
42
|
The format of the output file.
|
43
|
-
default[html]
|
44
|
-
values[html, pdf]
|
45
|
-
]
|
46
|
-
-o[auto|
|
43
|
+
default[html]
|
44
|
+
values[html, pdf]
|
45
|
+
]
|
46
|
+
-o[auto|
|
47
47
|
If specified, enable =>[#auto_regeneration|auto regeneration] (requires the =>[http://rubygems.org/gems/directory_watcher|directory_watcher] gem to be installed).
|
48
|
+
]
|
49
|
+
]
|
48
50
|
]
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
section[header[@config@|c_config]
|
51
|
+
section[
|
52
|
+
@title[code[config]]
|
53
|
+
@id[c_config]
|
53
54
|
Gets or sets a configuration setting in the project or global configuration file (\.fmi[configuration files|#cfg]).
|
54
|
-
|
55
|
-
examples[
|
55
|
+
examples[
|
56
56
|
glyph config document.filename
|
57
57
|
glyph config -g document.author "Fabio Cevasco"
|
58
|
-
]
|
59
|
-
|
60
|
-
|
61
|
-
-o[global|
|
58
|
+
]
|
59
|
+
options[
|
60
|
+
-o[global|
|
62
61
|
If specified, the global configuration file is processed instead of the project file.
|
63
|
-
default[false]
|
64
|
-
]
|
62
|
+
default[false]
|
63
|
+
]
|
64
|
+
]
|
65
|
+
parameters[
|
66
|
+
-p[em[setting]|The name of a valid =>[#cfg_ref|configuration setting].]
|
67
|
+
-p[em[value]|The new value of the configuration setting.]
|
68
|
+
]
|
65
69
|
]
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
]
|
70
|
-
] --[End config]
|
71
|
-
|
72
|
-
section[header[@help@|c_help]
|
70
|
+
section[
|
71
|
+
@title[code[help]]
|
72
|
+
@id[c_help]
|
73
73
|
Prints information about all Glyph commands or about one specific command.
|
74
|
-
|
75
|
-
examples[
|
74
|
+
examples[
|
76
75
|
glyph help
|
77
76
|
glyph help compile
|
77
|
+
]
|
78
|
+
parameters[
|
79
|
+
-p[em[command]|A valid Glyph command.]
|
80
|
+
]
|
78
81
|
]
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
]
|
83
|
-
|
84
|
-
] --[End help]
|
85
|
-
|
86
|
-
section[header[@init@|c_init]
|
82
|
+
section[
|
83
|
+
@title[code[init]]
|
84
|
+
@id[c_init]
|
87
85
|
Creates a new Glyph project in the current directory (if empty).
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
86
|
+
example[glyph init]
|
87
|
+
]
|
88
|
+
section[
|
89
|
+
@title[code[outline]]
|
90
|
+
@id[c_outline]
|
91
|
+
Display an outline of the current document.
|
92
|
+
options[
|
93
|
+
-o[limit|
|
94
|
+
Only display headers until the specified level.
|
95
|
+
]
|
96
|
+
-o[ids|
|
97
|
+
Display section IDs.
|
98
|
+
]
|
99
|
+
-o[files|
|
100
|
+
Display file names.
|
101
|
+
]
|
102
|
+
-o[titles|
|
103
|
+
Display section titles.
|
104
|
+
]
|
105
|
+
]
|
106
|
+
examples[
|
107
|
+
glyph outline -it -l 1
|
108
|
+
glyph outline -l 2
|
109
|
+
glyph outline -f
|
110
|
+
]
|
111
|
+
]
|
112
|
+
section[
|
113
|
+
@title[code[todo]]
|
114
|
+
@id[c_todo]
|
93
115
|
Prints all the todo items saved using the %>[todo].
|
94
|
-
|
95
|
-
|
96
|
-
] --[End todo]
|
116
|
+
example[glyph todo]
|
117
|
+
]
|
data/book/text/ref_config.glyph
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
section[
|
1
|
+
section[
|
2
|
+
@title[document.*]
|
3
|
+
@id[cfg_document]
|
2
4
|
The following configuration settings are related to the current Glyph document. Therefore, you should update them right after creating a project.
|
3
5
|
|
4
6
|
config_table[
|
@@ -16,6 +18,9 @@ The format of the output file. It can be set to any value stored in the $>[docum
|
|
16
18
|
]
|
17
19
|
ref_config[document.output_targets|
|
18
20
|
An @Array@ containing all the possible output formats. This setting should not be changed by the user.
|
21
|
+
]
|
22
|
+
ref_config[document.revision|
|
23
|
+
The document's revision.
|
19
24
|
]
|
20
25
|
ref_config[document.source|
|
21
26
|
The main source file to compile. It can be also be overridden by calling the #>[compile] with the @-s@ option.
|
@@ -28,9 +33,11 @@ The subtitle of the document, displayed using the %>[subtitle].
|
|
28
33
|
The title of the document, displayed using the %>[title].
|
29
34
|
]
|
30
35
|
]
|
31
|
-
]
|
36
|
+
]
|
32
37
|
|
33
|
-
section[
|
38
|
+
section[
|
39
|
+
@title[filters.*]
|
40
|
+
@id[cfg_filters]
|
34
41
|
config_table[
|
35
42
|
ref_config[filters.by_file_extension|
|
36
43
|
If set to @true@, a filter macro is applied to included files, based on their extensions (\.fmi[including files|#incl]).
|
@@ -43,6 +50,12 @@ The name of the markdown converter to use with the %>[markdown]. It can be set t
|
|
43
50
|
* Kramdown
|
44
51
|
|
45
52
|
If not set, Glyph tests for the presence of each gem in the same order, until one is found.
|
53
|
+
]
|
54
|
+
ref_config[filters.coderay.*|
|
55
|
+
Some &[coderay]-specific =>[http://coderay.rubychan.de/doc/classes/CodeRay/Encoders/HTML.html|options].
|
56
|
+
]
|
57
|
+
ref_config[filters.highlighter|
|
58
|
+
The current highlighter to use. It can be set to @coderay@ or @ultraviolet@
|
46
59
|
]
|
47
60
|
ref_config[filters.redcloth.restrictions|
|
48
61
|
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).
|
@@ -50,59 +63,38 @@ An @Array@ containing restrictions applied to RedCloth, used by the %>[textile]
|
|
50
63
|
ref_config[filters.target|
|
51
64
|
The output target for filters. It can be set to @html@ (for RedCloth and MarkDown) or @latex@ (RedCloth-only).
|
52
65
|
]
|
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|
|
66
|
+
ref_config[filters.ultraviolet.line_numbers|
|
70
67
|
Whether the &[uv] highlighter should display line numbers or not.
|
71
68
|
]
|
72
|
-
ref_config[
|
69
|
+
ref_config[filters.ultraviolet.theme|
|
73
70
|
The theme used by the &[uv] highlighter.
|
74
71
|
]
|
75
72
|
]
|
73
|
+
]
|
76
74
|
|
77
|
-
|
78
|
-
|
79
|
-
section[header[@structure.*@]
|
80
|
-
The following configuration settings are used internally by Glyph and should not be changed by the user.
|
81
|
-
|
75
|
+
section[
|
76
|
+
@title[language.*]
|
82
77
|
config_table[
|
83
|
-
ref_config[
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
78
|
+
ref_config[language.set|
|
79
|
+
Determines which macro set will be loaded. It can be set to:
|
80
|
+
* glyph – Loads core, filter, xml macros plus all macros necessary for the $>[document.output].
|
81
|
+
* xml – Loads core and xml macros.
|
82
|
+
* core – Loads core macros only.
|
88
83
|
]
|
89
|
-
ref_config[
|
90
|
-
The
|
84
|
+
ref_config[language.options.xml_blacklist|
|
85
|
+
The XML tags listed here cannot be generated using Glyph code.
|
91
86
|
]
|
92
|
-
ref_config[
|
93
|
-
|
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.
|
87
|
+
ref_config[language.options.xml_fallback|
|
88
|
+
If set to true, any unknown macro name will considered an XML element (see =>[#other_elements]).
|
97
89
|
]
|
98
90
|
]
|
99
|
-
]
|
91
|
+
]
|
100
92
|
|
101
|
-
section[
|
93
|
+
section[
|
94
|
+
@title[tools.*]
|
102
95
|
config_table[
|
103
96
|
ref_config[tools.pdf_generator|
|
104
97
|
The external program used to generate PDF files. It can only be set to @prince@.
|
105
98
|
]
|
106
99
|
]
|
107
|
-
]
|
108
|
-
|
100
|
+
]
|
data/book/text/ref_macros.glyph
CHANGED
@@ -1,378 +1,6 @@
|
|
1
|
-
|
1
|
+
|
2
2
|
|
3
|
-
ref_macro[and|
|
4
|
-
Conditional @and@ operator, to be used with the %>[condition].
|
5
3
|
|
6
|
-
example[=?[and[true\|false]\|This is never displayed.]=]
|
7
|
-
]
|
8
4
|
|
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
5
|
|
12
|
-
aliases[--]
|
13
|
-
example[=--[This is a comment. It will not be displayed in the output]=]
|
14
|
-
]
|
15
6
|
|
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]
|