glyph 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -0,0 +1,63 @@
|
|
1
|
+
section[
|
2
|
+
@title[Sections and Headers]
|
3
|
+
@id[sec_head]
|
4
|
+
|
5
|
+
p[Glyph documents are normally organized as a hierarchical tree of nested chapters, appendixes, sections, etc. To define a section, use the %>[section], like so:]
|
6
|
+
|
7
|
+
highlight[=html|
|
8
|
+
section[
|
9
|
+
@title[Section #1]
|
10
|
+
Write the section contents here...
|
11
|
+
section[
|
12
|
+
@title[Section #2]
|
13
|
+
This section is nested into the previous one.
|
14
|
+
] --[End of Section #2]
|
15
|
+
] --[End of Section #1]
|
16
|
+
=]
|
17
|
+
|
18
|
+
txt[This example defines two nested sections. If the code[@title] attribute is specified like in this case, it will be converted to a proper HTML header and it will appear in the table of contents (see the %>[toc]).
|
19
|
+
|
20
|
+
Note an important difference from HTML: there is no need for an explicit level for the headers, as it will be determined at runtime when the document is compiled, based on how sections are nested. The previous code snippet (taken as it is), for example, will be transformed into the following HTML code:]
|
21
|
+
|
22
|
+
highlight[=html|
|
23
|
+
<div class="section">
|
24
|
+
<h2>Section #1</h2>
|
25
|
+
<p>Write the section contents here...</p>
|
26
|
+
<div class="section">
|
27
|
+
<h3>Section #2</h3>
|
28
|
+
<p>This section is nested in the previous one</p>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
=]
|
32
|
+
|
33
|
+
txt[
|
34
|
+
By default, in Glyph the first header level is _2_, so the two headers are rendered as @h2@ and @h3@, respectively (@--\[...\]@ macros are _comments_, therefore they are not included in the final output).
|
35
|
+
|
36
|
+
There are _a lot_ of macros that can be used in the same way as @section@, one for each element commonly used in =>[http://en.wikipedia.org/wiki/Book_design|book design]. Each one of them is a simple wrapper for a @<div>@ tag with a @class@ attribute set to its name.
|
37
|
+
|
38
|
+
The following table lists the identifiers of all section-like macros, divided according to the part of the book they should be placed in:
|
39
|
+
]
|
40
|
+
table[
|
41
|
+
tr[
|
42
|
+
th[Frontmatter]
|
43
|
+
td[txt[@imprint@ ^†^, @dedication@ ^†^, @inspiration@ ^†^, @foreword@ ^‡^, @introduction@ ^‡^, @acknowledgement@ ^‡^, @prologue@ ^‡^, @toc@ ^*^]]
|
44
|
+
]
|
45
|
+
tr[
|
46
|
+
th[Bodymatter]
|
47
|
+
td[txt[@volume@, @book@, @part@, @chapter@]]
|
48
|
+
]
|
49
|
+
tr[
|
50
|
+
th[Backmatter]
|
51
|
+
td[txt[@epilogue@ ^‡^, @afterword@ ^‡^, @postscript@ ^†^, @appendix@, @addendum@ ^‡^, @glossary@ ^**‡^, @colophon@ ^†^, @bibliography@ ^**‡^, @promotion@ ^†^, @references@ ^**‡^, @index@ ^**‡^, @lot@ ^**‡^, @lof@ ^**‡^]]
|
52
|
+
]
|
53
|
+
]
|
54
|
+
|
55
|
+
p[strong[*]: The %>[toc] is used to generate the Table of Contents automatically, and it takes no parameters.]
|
56
|
+
p[strong[**]: This macro is likely to be extended in future versions to generate/aggregate content automatically.]
|
57
|
+
p[strong[†]: This section is not listed in the Table of Contents.]
|
58
|
+
p[strong[‡]: Any subsection of this section is not listed in the Table of Contents.]
|
59
|
+
|
60
|
+
note[
|
61
|
+
code[frontmatter], code[bodymatter] and code[backmatter] are also macro identifiers, but they are exposed as attributes for the %>[book] and the %>[article], so if you're using either of these two macros as your root macro for your document, there's no need to use them explicitly.
|
62
|
+
]
|
63
|
+
]
|
@@ -0,0 +1,36 @@
|
|
1
|
+
section[
|
2
|
+
@title[Adding Stylesheets]
|
3
|
+
@id[stylesheets]
|
4
|
+
p[Currently, Glyph does not provide any native way to format text and pages. The reason is that there's absolutely no need for that: CSS does the job just fine. In particular, CSS3 offers specific attributes and elements that can be used specifically for paginated documents. That's no replacement for LaTeX by any means, but it is enough if you're not looking for advanced typographical features.]
|
5
|
+
p[You can embed CSS files using the %>[style], like this:]
|
6
|
+
p[code[= style[default.css] =]]
|
7
|
+
txt[In this case, the %>[style] looks for a @default.css@ file in the @/styles@ folder of your Glyph project _and_ among the default Glyph stylesheets, and embeds it within a @<style>@ tag. If you supply a file with a @.sass@ extension, it will interpret it as a Sass file and convert it to CSS automatically (if the _Haml_ gem is installed).]
|
8
|
+
section[
|
9
|
+
@title[Default Stylesheets]
|
10
|
+
@id[default_stylesheets]
|
11
|
+
p[Glyph provides the following default stylesheets, that can be referenced directly using the %>[style]:]
|
12
|
+
table[
|
13
|
+
tr[
|
14
|
+
th[File name]
|
15
|
+
th[Notes]
|
16
|
+
]
|
17
|
+
tr[
|
18
|
+
td[code[default.css]]
|
19
|
+
td[The stylesheet used for this book.]
|
20
|
+
]
|
21
|
+
tr[
|
22
|
+
td[code[pagination.css]]
|
23
|
+
td[A CSS3-compliant stylesheet used for pagination, suitable for PDF generation using &[prince].]
|
24
|
+
]
|
25
|
+
tr[
|
26
|
+
td[code[coderay.css]]
|
27
|
+
td[The default &[coderay] stylesheet, used for syntax highlighting.]
|
28
|
+
]
|
29
|
+
tr[
|
30
|
+
td[code[ultraviolet/*]]
|
31
|
+
td[This folder contains the following &[uv] stylesheets, used for syntax highlighting: code[%[(Glyph::HOME/"styles/ultraviolet").children.sort.map{\|c\| c.basename}.join(", ")]]]
|
32
|
+
]
|
33
|
+
]
|
34
|
+
]
|
35
|
+
]
|
36
|
+
|
@@ -0,0 +1,39 @@
|
|
1
|
+
section[
|
2
|
+
@title[Command Errors]
|
3
|
+
error_table[
|
4
|
+
ref_error[Source file '\.em[source_file]' does not exist|
|
5
|
+
Returned if Glyph is running in =>[#lite_mode|lite mode] and the specified source file was not found.
|
6
|
+
]
|
7
|
+
ref_error[Source and destination file are the same|
|
8
|
+
Returned if Glyph is running in =>[#lite_mode|lite mode] and you specified the same source and destination files.
|
9
|
+
]
|
10
|
+
ref_error[DirectoryWatcher is not available. Install it with: gem install directory_watcher|
|
11
|
+
Returned if =>[#auto_regeneration|auto regeneration] is enabled but the code[directory_watcher] gem in not installed.
|
12
|
+
]
|
13
|
+
ref_error[Document cannot be finalized due to previous errors|
|
14
|
+
Returned if one or more errors occurred in the document prevented finalization.
|
15
|
+
]
|
16
|
+
ref_error[Please specify a file name|
|
17
|
+
No file name was specified for the #>[add].
|
18
|
+
]
|
19
|
+
ref_error[Output target not specified|
|
20
|
+
Returned if no target was specified for the #>[compile] _and_ if the $>[document.output] is not set.
|
21
|
+
]
|
22
|
+
ref_error[Unknown output target '\.em[target_name]'|
|
23
|
+
An unsupported output target was specified for the #>[compile]. Only the following output targets are supported:
|
24
|
+
ul[
|
25
|
+
li[html]
|
26
|
+
li[pdf]
|
27
|
+
]
|
28
|
+
]
|
29
|
+
ref_error[Too few/too many arguments|
|
30
|
+
Returned if the #>[config] was used with no arguments or more than two arguments respectively.
|
31
|
+
]
|
32
|
+
ref_error[Unknown setting '\.em[setting_name]'|
|
33
|
+
The name of an unknown setting was specified for the #>[config].
|
34
|
+
]
|
35
|
+
ref_error[Cannot reset '\.em[setting_name]' setting (system use only).|
|
36
|
+
Returned by the #>[config] when attempting to override a setting in the code[system.*] namespace.
|
37
|
+
]
|
38
|
+
]
|
39
|
+
]
|
@@ -0,0 +1,29 @@
|
|
1
|
+
section[
|
2
|
+
@title[Generic Errors]
|
3
|
+
error_table[
|
4
|
+
ref_error[Invalid alias: macro '\.em[macro_name]' already exists|
|
5
|
+
The alias name supplied to the @macro_alias@ method has already been used for another macro or alias.
|
6
|
+
]
|
7
|
+
ref_error[Undefined macro '\.em[macro_name]'|
|
8
|
+
The document contains a macro that does not exist, i.e. it is not a standard or used-defined =>[#macro_ref|Glyph macro or alias].
|
9
|
+
]
|
10
|
+
ref_error[An error occurred when generating _file-name_.pdf|
|
11
|
+
Returned if Prince could not generate the PDF file or if Prince is not installed. Normally, Prince provides additional details on the specific error(s).
|
12
|
+
]
|
13
|
+
ref_error[Glyph cannot generate PDF. Please specify a valid tools.pdf_generator setting|
|
14
|
+
Returned if the $>[tools.pdf_generator] has not be set to a valid PDF renderer. Currently, the only supported value for this setting is code[prince].
|
15
|
+
]
|
16
|
+
ref_error[The current directory is not a valid Glyph project|
|
17
|
+
Returned if a glyph command was executed outside a valid glyph project directory.
|
18
|
+
]
|
19
|
+
ref_error[Invalid snippet file|
|
20
|
+
The code[snippet.yml] file contains invalid data. Most likely, it does not evaluate to a Ruby code[Hash].
|
21
|
+
]
|
22
|
+
ref_error[Directory '\.em[directory_name]' is not empty|
|
23
|
+
Returned when executing the #>[init] in a directory that is not empty.
|
24
|
+
]
|
25
|
+
ref_error[File '\.em[file_name]' already exists|
|
26
|
+
Returned if the name of an existing file was specified as a parameter for the #>[add].
|
27
|
+
]
|
28
|
+
]
|
29
|
+
]
|
@@ -0,0 +1,3 @@
|
|
1
|
+
This chapter lists the most common error messages that can be returned when running a Glyph command. It does not aim to be an exhaustive list, especially if you =>[#extending|extended] Glyph by creating your own macros or you're embedding Ruby code using the %>[ruby].
|
2
|
+
|
3
|
+
tip[As a general rule, more diagnostic information is provided if Glyph is run in =>[#debug_switch|debug mode].]
|
@@ -0,0 +1,98 @@
|
|
1
|
+
section[
|
2
|
+
@title[Macro Errors]
|
3
|
+
txt[
|
4
|
+
The following errors are displayed in the form:
|
5
|
+
|
6
|
+
em[message]
|
7
|
+
source: em[macro_source]
|
8
|
+
path: em[macro_path]
|
9
|
+
|
10
|
+
em[macro_value]
|
11
|
+
|
12
|
+
Where:
|
13
|
+
* em[message] is the error message.
|
14
|
+
* em[macro_source] is the file or snippet where the error occurred.
|
15
|
+
* em[macro_path] is the full path to the macro that returned the error, within the document syntax tree, e.g. @document/body/bodymatter/chapter/section/header/&@ if the error occurrent in a snippet within the header of a section in the @bodymatter@ part of the document.
|
16
|
+
* em[macro_value] is the value of the macro (shown only if Glyph is running in =>[#debug_switch|debug mode]).
|
17
|
+
]
|
18
|
+
error_table[
|
19
|
+
ref_error[Macro '\.em[name]' takes up to em[x] parameter(s) (\.em[y] given)|
|
20
|
+
Returned if the macro was called with extra parameters.
|
21
|
+
]
|
22
|
+
ref_error[Macro '\.em[name]' takes at least em[x] parameter(s) (\.em[y] given)|
|
23
|
+
Returned if the macro was called with fewer parameters than expected.
|
24
|
+
]
|
25
|
+
ref_error[Macro '\.em[name]' takes exactly em[x] parameter(s) (\.em[y] given)|
|
26
|
+
Returned if the macro was called with a different number of parameters than.
|
27
|
+
]
|
28
|
+
ref_error[Macro not available when compiling a single file.|
|
29
|
+
Returned by the %>[include] if used in =>[#lite_mode|lite mode].
|
30
|
+
]
|
31
|
+
ref_error[Filter macro '\.em[extension]' not available|
|
32
|
+
Returned by a filter macro if $>[filters.by_file_extension] is set to @true@, but the extension was not recognized.
|
33
|
+
]
|
34
|
+
ref_error[Invalid regular expression: em[regexp]|
|
35
|
+
Returned by the %>[match] if an invalid regular expression was supplied.
|
36
|
+
]
|
37
|
+
ref_error[Macro '\.em[name]' takes no parameters (\.em[x] given)|
|
38
|
+
Returned if the macro was called with parameters but none are requested.
|
39
|
+
]
|
40
|
+
ref_error[No highlighter installed. Please run: gem install coderay|
|
41
|
+
Returned by the %>[highlight] if no highlighters are installed.
|
42
|
+
]
|
43
|
+
ref_error[CodeRay highlighter not installed. Please run: gem install coderay|
|
44
|
+
Returned by the %>[highlight] if $>[filters.highlighter] is set to @coderay@ but &[coderay] is not installed.
|
45
|
+
]
|
46
|
+
ref_error[UltraViolet highlighter not installed. Please run: gem install ultraviolet|
|
47
|
+
Returned by the %>[highlight] if $>[filters.highlighter] is set to @ultraviolet@ but &[uv] is not installed.
|
48
|
+
]
|
49
|
+
ref_error[Mutual Inclusion in parameter/attribute(\.em[name]): '\.em[value]'|
|
50
|
+
Returned if a catch-22 situation occurs with macro inclusion, for example if the value of a snippet includes a reference to the same snippet.
|
51
|
+
]
|
52
|
+
ref_error[Snippet '\.em[snippet_id]' does not exist|
|
53
|
+
Returned by the %>[snippet] if an invalid snippet ID was supplied.
|
54
|
+
]
|
55
|
+
ref_error[File '\.em[file_name]' not found|
|
56
|
+
Returned by the %>[include] if an invalid file was supplied.
|
57
|
+
]
|
58
|
+
ref_error[Filter macro '\.em[macro_name]' not found|
|
59
|
+
Returned by the %>[include] if the $>[filters.by_file_extension] is set to @true@ but the file extension of the included file is not recognized as a filter macro.
|
60
|
+
]
|
61
|
+
ref_error[RedCloth gem not installed. Please run: gem install RedCloth|
|
62
|
+
Returned by the %>[textile] if the RedCloth gem is not installed.
|
63
|
+
]
|
64
|
+
ref_error[No MarkDown converter installed. Please run: gem install bluecloth|
|
65
|
+
Returned by the %>[markdown] if no valid Markdown converter gem is installed. Glyph checks for: BlueCloth, Maruku, Kramdown and RDiscount.
|
66
|
+
]
|
67
|
+
ref_error[Image/Figure not found|
|
68
|
+
Retured by the %>[image] or the %>[figure] respectively, if the specified image file could not be found within the code[images/] folder.
|
69
|
+
]
|
70
|
+
ref_error[Bookmark '\.em[bookmark_name]' already exists|
|
71
|
+
Returned by the %>[anchor] or by the %>[section] if the anchor ID supplied as attribute has already been used in the document.
|
72
|
+
]
|
73
|
+
ref_error[Bookmark '\.em[bookmark_name]' already exists|
|
74
|
+
Returned by the %>[link] if the anchor ID supplied as parameter has not been used in the document.
|
75
|
+
]
|
76
|
+
ref_error[Stylesheet '\.em[file_name]' not found|
|
77
|
+
Returned by the %>[style] if the code[.css] or code[.sass] file supplied as parameter was not found in the code[styles/] directory.
|
78
|
+
]
|
79
|
+
ref_error[Haml is not installed. Please run: gem install haml|
|
80
|
+
Returned by the %>[style] if a code[.sass] file was passed as parameter but the Haml gem is not installed.
|
81
|
+
]
|
82
|
+
ref_error[Invalid XML element: '\.em[element_name]'|
|
83
|
+
An invalid XML element name was supplied to the code[\|xml\|] system macro (see =>[#other_elements]).
|
84
|
+
]
|
85
|
+
ref_error[Invalid XML element: '\.em[element_name]'|
|
86
|
+
An invalid XML attribute name was supplied to the code[\|xml\|] system macro (see =>[#other_elements]).
|
87
|
+
]
|
88
|
+
ref_error[Macro '\.em[macro_name]' cannot be used in safe mode|
|
89
|
+
Returned if a forbidden macro was used in safe mode (see =>[#modes]).
|
90
|
+
]
|
91
|
+
ref_error[Cannot reset 'system.\.em[setting_name]' setting (system use only).|
|
92
|
+
Returned by the =>[config:] when attempting to override a setting in the code[system.*] namespace.
|
93
|
+
]
|
94
|
+
ref_error[Macro '\.em[macro_name]' cannot be defined by itself|
|
95
|
+
Returned by the =>[rewrite:] if it contains a macro with the same name.
|
96
|
+
]
|
97
|
+
]
|
98
|
+
]
|
@@ -0,0 +1,29 @@
|
|
1
|
+
section[
|
2
|
+
@title[Parsing Errors]
|
3
|
+
error_table[
|
4
|
+
ref_error[Macro delimiter '\.em[delimiter]' not escaped|
|
5
|
+
Returned in case of unescaped code[\[]or code[\]].
|
6
|
+
]
|
7
|
+
ref_error[em[macro_name]\[...\] - A macro cannot start with '@' or a digit.|
|
8
|
+
Returned if an invalid macro name was specified.
|
9
|
+
]
|
10
|
+
ref_error[Macro '\.em[macro_name]' not closed|
|
11
|
+
Returned if a macro lacks its end delimiter code[\.=\]].
|
12
|
+
]
|
13
|
+
ref_error[Escaping macro '\.em[macro_name]' not closed|
|
14
|
+
Returned if an escaping macro lacks its end delimiter code[\.=\]].
|
15
|
+
]
|
16
|
+
ref_error[Attribute @\.em[attribute_name] not closed|
|
17
|
+
Returned if a macro attribute lacks its end delimiter code[\]].
|
18
|
+
]
|
19
|
+
ref_error[Attributes cannot be nested|
|
20
|
+
Returned if a macro attribute was found immediately within another attribute.
|
21
|
+
]
|
22
|
+
ref_error[Cannot nest escaping macro '\.em[macro_name_1]' within escaping macro '\.em[macro_name_2]'|
|
23
|
+
Returned if an escaping macro contains another escaping macro.
|
24
|
+
]
|
25
|
+
ref_error[Parameter delimiter '\|' not allowed here|
|
26
|
+
Returned if a parameter delimiter is outside a macro or inside an attribute.
|
27
|
+
]
|
28
|
+
]
|
29
|
+
]
|
data/config.yml
CHANGED
@@ -4,72 +4,91 @@
|
|
4
4
|
:title: ""
|
5
5
|
:subtitle: ""
|
6
6
|
:filename: ""
|
7
|
+
:revision: ""
|
7
8
|
:draft: false
|
8
9
|
:output: 'html'
|
9
|
-
|
10
|
-
:
|
11
|
-
:
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
- :lot
|
29
|
-
- :lof
|
30
|
-
:frontmatter:
|
31
|
-
- :preface
|
32
|
-
- :imprint
|
33
|
-
- :dedication
|
34
|
-
- :inspiration
|
35
|
-
- :foreword
|
36
|
-
- :introduction
|
37
|
-
- :acknowledgement
|
38
|
-
- :prologue
|
39
|
-
:bodymatter:
|
40
|
-
- :volume
|
41
|
-
- :book
|
42
|
-
- :part
|
43
|
-
- :chapter
|
44
|
-
:backmatter:
|
45
|
-
- :epilogue
|
46
|
-
- :afterword
|
47
|
-
- :postscript
|
48
|
-
- :appendix
|
49
|
-
- :addendum
|
50
|
-
- :glossary
|
51
|
-
- :colophon
|
52
|
-
- :bibliography
|
53
|
-
- :promotion
|
54
|
-
- :references
|
55
|
-
- :index
|
56
|
-
- :lot
|
57
|
-
- :lof
|
10
|
+
:language:
|
11
|
+
:set: 'glyph' # xml, core, filters
|
12
|
+
:options:
|
13
|
+
:xml_fallback: true
|
14
|
+
:xml_blacklist:
|
15
|
+
- applet
|
16
|
+
- base
|
17
|
+
- basefont
|
18
|
+
- embed
|
19
|
+
- frame
|
20
|
+
- frameset
|
21
|
+
- iframe
|
22
|
+
- isindex
|
23
|
+
- meta
|
24
|
+
- noframes
|
25
|
+
- noscript
|
26
|
+
- object
|
27
|
+
- param
|
28
|
+
- title
|
58
29
|
:tools:
|
59
30
|
:pdf_generator: 'prince'
|
60
|
-
:highlighters:
|
61
|
-
:target: 'html'
|
62
|
-
:current: 'coderay'
|
63
|
-
:coderay:
|
64
|
-
# See options at http://coderay.rubychan.de/doc/classes/CodeRay/Encoders/HTML.html
|
65
|
-
:css: :class
|
66
|
-
:ultraviolet:
|
67
|
-
:line_numbers: false
|
68
|
-
:theme: 'blackboard'
|
69
31
|
:filters:
|
70
32
|
:by_file_extension: true
|
33
|
+
:highlighter: 'coderay'
|
71
34
|
:target: 'html'
|
72
35
|
:markdown:
|
73
36
|
:converter: 'bluecloth'
|
74
37
|
:redcloth:
|
75
38
|
:restrictions: []
|
39
|
+
:coderay:
|
40
|
+
# See options at http://coderay.rubychan.de/doc/classes/CodeRay/Encoders/HTML.html
|
41
|
+
:css: :class
|
42
|
+
:ultraviolet:
|
43
|
+
:line_numbers: true
|
44
|
+
:theme: 'lazy'
|
45
|
+
:system:
|
46
|
+
:quiet: false
|
47
|
+
:output_targets: [:html, :pdf]
|
48
|
+
:structure:
|
49
|
+
:hidden:
|
50
|
+
- :imprint
|
51
|
+
- :dedication
|
52
|
+
- :inspiration
|
53
|
+
- :postscript
|
54
|
+
- :colophon
|
55
|
+
- :promotion
|
56
|
+
:special:
|
57
|
+
- :foreword
|
58
|
+
- :acknowledgement
|
59
|
+
- :prologue
|
60
|
+
- :epilogue
|
61
|
+
- :addendum
|
62
|
+
- :glossary
|
63
|
+
- :bibliography
|
64
|
+
- :references
|
65
|
+
- :index
|
66
|
+
- :lot
|
67
|
+
- :lof
|
68
|
+
:frontmatter:
|
69
|
+
- :preface
|
70
|
+
- :imprint
|
71
|
+
- :dedication
|
72
|
+
- :inspiration
|
73
|
+
- :foreword
|
74
|
+
- :introduction
|
75
|
+
- :acknowledgement
|
76
|
+
- :prologue
|
77
|
+
:bodymatter:
|
78
|
+
- :volume
|
79
|
+
- :part
|
80
|
+
- :chapter
|
81
|
+
:backmatter:
|
82
|
+
- :epilogue
|
83
|
+
- :afterword
|
84
|
+
- :postscript
|
85
|
+
- :appendix
|
86
|
+
- :addendum
|
87
|
+
- :glossary
|
88
|
+
- :colophon
|
89
|
+
- :bibliography
|
90
|
+
- :promotion
|
91
|
+
- :references
|
92
|
+
- :index
|
93
|
+
- :lot
|
94
|
+
- :lof
|