git-scribe 0.0.4 → 0.0.5
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/.gitignore +1 -0
- data/Rakefile +31 -0
- data/SPEC.asciidoc +126 -0
- data/TODO.txt +29 -0
- data/bin/git-scribe +2 -1
- data/docbook-xsl/.CatalogManager.properties.example +61 -0
- data/docbook-xsl/.urilist +1 -0
- data/git-scribe.gemspec +32 -0
- data/lib/git-scribe.rb +21 -315
- data/lib/git-scribe/check.rb +60 -0
- data/lib/git-scribe/cli.rb +84 -0
- data/lib/git-scribe/generate.rb +222 -0
- data/lib/git-scribe/init.rb +16 -0
- data/lib/git-scribe/version.rb +3 -0
- data/template/.gitignore +1 -0
- data/template/.gitscribe +5 -0
- data/test/check_test.rb +12 -0
- data/test/gen_test.rb +78 -0
- data/test/init_test.rb +36 -0
- data/test/test_helper.rb +44 -0
- metadata +49 -161
- data/example/book/big.asc +0 -5604
- data/example/book/holmes.asc +0 -12983
- data/example/output/META-INF/container.xml +0 -6
- data/example/output/OEBPS/ar01s02.html +0 -15
- data/example/output/OEBPS/ar01s03.html +0 -3
- data/example/output/OEBPS/content.opf +0 -21
- data/example/output/OEBPS/index.html +0 -5
- data/example/output/OEBPS/toc.ncx +0 -37
- data/example/output/a_case_of_identity.html +0 -725
- data/example/output/a_example_appendix.html +0 -63
- data/example/output/a_migration_notes.html +0 -95
- data/example/output/apa.html +0 -20
- data/example/output/apb.html +0 -6
- data/example/output/apc.html +0 -24
- data/example/output/apd.html +0 -30
- data/example/output/ape.html +0 -26
- data/example/output/apf.html +0 -9
- data/example/output/apg.html +0 -42
- data/example/output/aph.html +0 -89
- data/example/output/ar01s02.html +0 -12
- data/example/output/ar01s03.html +0 -34
- data/example/output/ar01s04.html +0 -77
- data/example/output/ar01s05.html +0 -272
- data/example/output/ar01s06.html +0 -35
- data/example/output/ar01s07.html +0 -105
- data/example/output/ar01s08.html +0 -33
- data/example/output/ar01s09.html +0 -12
- data/example/output/ar01s10.html +0 -14
- data/example/output/ar01s11.html +0 -34
- data/example/output/ar01s12.html +0 -63
- data/example/output/ar01s13.html +0 -156
- data/example/output/ar01s14.html +0 -330
- data/example/output/ar01s15.html +0 -22
- data/example/output/ar01s16.html +0 -27
- data/example/output/ar01s17.html +0 -94
- data/example/output/ar01s18.html +0 -359
- data/example/output/ar01s19.html +0 -373
- data/example/output/ar01s20.html +0 -27
- data/example/output/ar01s21.html +0 -33
- data/example/output/ar01s22.html +0 -351
- data/example/output/ar01s23.html +0 -21
- data/example/output/ar01s24.html +0 -69
- data/example/output/ar01s25.html +0 -60
- data/example/output/ar01s26.html +0 -217
- data/example/output/ar01s27.html +0 -88
- data/example/output/ar01s28.html +0 -237
- data/example/output/ar01s29.html +0 -68
- data/example/output/ar01s30.html +0 -154
- data/example/output/ar01s31.html +0 -6
- data/example/output/ar01s32.html +0 -22
- data/example/output/ar01s33.html +0 -209
- data/example/output/asciidoc_backends.html +0 -190
- data/example/output/asciidoc_document_types.html +0 -131
- data/example/output/attribute_entries.html +0 -185
- data/example/output/attribute_lists.html +0 -157
- data/example/output/attribute_references.html +0 -414
- data/example/output/attributelist_element.html +0 -143
- data/example/output/b_packager_notes.html +0 -68
- data/example/output/bi01.html +0 -18
- data/example/output/big.asc +0 -5604
- data/example/output/block_element_definitions.html +0 -448
- data/example/output/block_titles.html +0 -83
- data/example/output/blockid_element.html +0 -80
- data/example/output/book.asc +0 -5604
- data/example/output/book.epub +0 -0
- data/example/output/book.fo +0 -3788
- data/example/output/book.html +0 -8793
- data/example/output/book.xml +0 -8265
- data/example/output/c_asciidoc_safe_mode.html +0 -105
- data/example/output/callouts.html +0 -214
- data/example/output/catalog +0 -10
- data/example/output/colophon.html +0 -397
- data/example/output/configuration_files.html +0 -672
- data/example/output/converting_docbook_to_other_file_formats.html +0 -324
- data/example/output/d_using_asciidoc_with_non-english_languages.html +0 -107
- data/example/output/delimited_blocks.html +0 -455
- data/example/output/document_attributes.html +0 -95
- data/example/output/document_processing.html +0 -116
- data/example/output/document_structure.html +0 -493
- data/example/output/e_vim_syntax_highlighter.html +0 -111
- data/example/output/example_bibliography.html +0 -82
- data/example/output/example_colophon.html +0 -58
- data/example/output/example_glossary.html +0 -73
- data/example/output/example_index.html +0 -108
- data/example/output/f_attribute_options.html +0 -129
- data/example/output/filters.html +0 -179
- data/example/output/footnotes.html +0 -103
- data/example/output/g_diagnostics.html +0 -148
- data/example/output/generating_plain_text_files.html +0 -68
- data/example/output/getting_started.html +0 -87
- data/example/output/glossary.html +0 -95
- data/example/output/go01.html +0 -24
- data/example/output/h_backend_attributes.html +0 -308
- data/example/output/help_commands.html +0 -96
- data/example/output/holmes.asc +0 -12983
- data/example/output/image/octocat_professor.png +0 -0
- data/example/output/include/hello.c +0 -10
- data/example/output/index.html +0 -656
- data/example/output/indexes.html +0 -104
- data/example/output/intrinsic_attributes.html +0 -165
- data/example/output/ix01.html +0 -3
- data/example/output/lists.html +0 -666
- data/example/output/macros.html +0 -737
- data/example/output/manpage_documents.html +0 -124
- data/example/output/master.css +0 -281
- data/example/output/mathematical_formulas.html +0 -125
- data/example/output/page.html +0 -60
- data/example/output/paragraphs.html +0 -192
- data/example/output/pr01.html +0 -3
- data/example/output/source_code_highlighting.html +0 -59
- data/example/output/stylesheets/handbookish-quirks.css +0 -0
- data/example/output/stylesheets/handbookish.css +0 -233
- data/example/output/tables.html +0 -797
- data/example/output/text_formatting.html +0 -273
- data/example/output/the_adventure_of_the_beryl_coronet.html +0 -968
- data/example/output/the_adventure_of_the_blue_carbuncle.html +0 -825
- data/example/output/the_adventure_of_the_copper_beeches.html +0 -998
- data/example/output/the_adventure_of_the_engineer_s_thumb.html +0 -851
- data/example/output/the_adventure_of_the_noble_bachelor.html +0 -861
- data/example/output/the_adventure_of_the_speckled_band.html +0 -1015
- data/example/output/the_boscombe_valley_mystery.html +0 -974
- data/example/output/the_first_chapter.html +0 -110
- data/example/output/the_five_orange_pips.html +0 -776
- data/example/output/the_man_with_the_twisted_lip.html +0 -946
- data/example/output/the_red-headed_league.html +0 -950
- data/example/output/the_second_chapter.html +0 -95
- data/example/output/the_third_chapter.html +0 -58
- data/example/output/tips_and_tricks.html +0 -452
- data/example/output/title.html +0 -120
- data/example/output/titles.html +0 -126
@@ -1,185 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
-
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
5
|
-
<link rel="stylesheet" href="master.css" type="text/css" />
|
6
|
-
<title>Attribute Entries</title>
|
7
|
-
</head>
|
8
|
-
|
9
|
-
<body>
|
10
|
-
<div class="nav" id="navheader">
|
11
|
-
<table width="100%">
|
12
|
-
<tr><td width="33%" align="left">
|
13
|
-
|
14
|
-
<a href="document_attributes.html">Prev</a><br/>
|
15
|
-
Document Attributes
|
16
|
-
|
17
|
-
</td><td width="33%" align="center">
|
18
|
-
|
19
|
-
<a href="index.html">Home</a><br/>
|
20
|
-
<strong>AsciiDoc User Guide</strong>
|
21
|
-
|
22
|
-
</td><td width="33%" align="right">
|
23
|
-
|
24
|
-
<a href="attribute_lists.html">Next</a><br/>
|
25
|
-
Attribute Lists
|
26
|
-
|
27
|
-
</td></tr>
|
28
|
-
</table>
|
29
|
-
</div>
|
30
|
-
|
31
|
-
<hr/>
|
32
|
-
|
33
|
-
<div class="content">
|
34
|
-
<div class="section" lang="en" xml:lang="en">
|
35
|
-
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
36
|
-
<a id="X18"></a>Attribute Entries</h2></div></div></div>
|
37
|
-
<p>The <code class="literal">AttributeEntry</code> block element allows document attributes to be
|
38
|
-
assigned within an AsciiDoc document. Attribute entries are added to
|
39
|
-
the global document attributes dictionary. The attribute name/value
|
40
|
-
syntax is a single line like:</p>
|
41
|
-
<pre class="literallayout">:<name>: <value></pre>
|
42
|
-
<p>For example:</p>
|
43
|
-
<pre class="literallayout">:Author Initials: JB</pre>
|
44
|
-
<p>This will set an attribute reference <code class="literal">{authorinitials}</code> to the value
|
45
|
-
<span class="emphasis"><em>JB</em></span> in the current document.</p>
|
46
|
-
<p>To delete (undefine) an attribute use the following syntax:</p>
|
47
|
-
<pre class="literallayout">:<name>!:</pre>
|
48
|
-
<div class="itemizedlist">
|
49
|
-
<p class="title"><b>AttributeEntry behavior</b></p>
|
50
|
-
<ul type="disc">
|
51
|
-
<li>
|
52
|
-
The attribute entry line begins with colon — no white space allowed
|
53
|
-
in left margin.
|
54
|
-
</li>
|
55
|
-
<li>
|
56
|
-
AsciiDoc converts the <code class="literal"><name></code> to a legal attribute name (lower
|
57
|
-
case, alphanumeric, dash and underscore characters only — all other
|
58
|
-
characters deleted). This allows more human friendly text to be
|
59
|
-
used.
|
60
|
-
</li>
|
61
|
-
<li>
|
62
|
-
Leading and trailing white space is stripped from the <code class="literal"><value></code>.
|
63
|
-
</li>
|
64
|
-
<li>
|
65
|
-
<p>
|
66
|
-
Lines ending in a space followed by a plus character are continued
|
67
|
-
to the next line, for example:
|
68
|
-
</p>
|
69
|
-
<pre class="literallayout">:description: AsciiDoc is a text document format for writing notes, +
|
70
|
-
documentation, articles, books, slideshows, web pages +
|
71
|
-
and man pages.</pre>
|
72
|
-
</li>
|
73
|
-
<li>
|
74
|
-
If the <code class="literal"><value></code> is blank then the corresponding attribute value is
|
75
|
-
set to an empty string.
|
76
|
-
</li>
|
77
|
-
<li>
|
78
|
-
Attribute references contained in the entry <code class="literal"><value></code> will be
|
79
|
-
expanded.
|
80
|
-
</li>
|
81
|
-
<li>
|
82
|
-
By default AttributeEntry values are substituted for
|
83
|
-
<code class="literal">specialcharacters</code> and <code class="literal">attributes</code> (see above), if you want to
|
84
|
-
change or disable AttributeEntry substitution use the <a class="link" href="macros.html#X77" title="Passthrough macros"> inline macro</a> syntax.
|
85
|
-
</li>
|
86
|
-
<li>
|
87
|
-
Attribute entries in the document Header are available for header
|
88
|
-
markup template substitution.
|
89
|
-
</li>
|
90
|
-
<li>
|
91
|
-
Attribute elements override configuration file and intrinsic
|
92
|
-
attributes but do not override command-line attributes.
|
93
|
-
</li>
|
94
|
-
</ul>
|
95
|
-
</div>
|
96
|
-
<p>Here are some more attribute entry examples:</p>
|
97
|
-
<pre class="screen">AsciiDoc User Manual
|
98
|
-
====================
|
99
|
-
:author: Stuart Rackham
|
100
|
-
:email: srackham@gmail.com
|
101
|
-
:revdate: April 23, 2004
|
102
|
-
:revnumber: 5.1.1</pre>
|
103
|
-
<p>Which creates these attributes:</p>
|
104
|
-
<pre class="literallayout">{author}, {firstname}, {lastname}, {authorinitials}, {email},
|
105
|
-
{revdate}, {revnumber}</pre>
|
106
|
-
<p>The previous example is equivalent to this <a class="link" href="document_structure.html#X95" title="Header">document header</a>:</p>
|
107
|
-
<pre class="screen">AsciiDoc User Manual
|
108
|
-
====================
|
109
|
-
Stuart Rackham <srackham@gmail.com>
|
110
|
-
5.1.1, April 23, 2004</pre>
|
111
|
-
<div class="section" lang="en" xml:lang="en">
|
112
|
-
<div class="titlepage"><div><div><h3 class="title">
|
113
|
-
<a id="_setting_configuration_entries"></a>Setting configuration entries</h3></div></div></div>
|
114
|
-
<p>A variant of the Attribute Entry syntax allows configuration file
|
115
|
-
entries to be set from within an AsciiDoc document:</p>
|
116
|
-
<pre class="literallayout">:<section_name>.<entry_name>: <entry_value></pre>
|
117
|
-
<p>Where <code class="literal"><section_name></code> is the configuration section name,
|
118
|
-
<code class="literal"><entry_name></code> is the name of the entry and <code class="literal"><entry_value></code> is the
|
119
|
-
optional entry value. This example sets the default labeled list style
|
120
|
-
to <span class="emphasis"><em>horizontal</em></span>:</p>
|
121
|
-
<pre class="literallayout">:listdef-labeled.style: horizontal</pre>
|
122
|
-
<p>It is exactly equivalent to a configuration file containing:</p>
|
123
|
-
<pre class="literallayout">[listdef-labeled]
|
124
|
-
style=horizontal</pre>
|
125
|
-
<p>No substitution is performed on configuration file attribute entries
|
126
|
-
and they cannot be undefined.</p>
|
127
|
-
<div class="sidebar">
|
128
|
-
<a id="X62"></a><p class="title"><b>Attribute entries promote clarity and eliminate repetition</b></p>
|
129
|
-
<p>URLs and file names in AsciiDoc macros are often quite long — they
|
130
|
-
break paragraph flow and readability suffers. The problem is
|
131
|
-
compounded by redundancy if the same name is used repeatedly.
|
132
|
-
Attribute entries can be used to make your documents easier to read
|
133
|
-
and write, here are some examples:</p>
|
134
|
-
<pre class="literallayout">:1: http://freshmeat.net/projects/asciidoc/
|
135
|
-
:homepage: http://methods.co.nz/asciidoc/[AsciiDoc home page]
|
136
|
-
:new: image:./images/smallnew.png[]
|
137
|
-
:footnote1: footnote:[A meaningless latin term]</pre>
|
138
|
-
<pre class="literallayout">Using previously defined attributes: See the {1}[Freshmeat summary]
|
139
|
-
or the {homepage} for something new {new}. Lorem ispum {footnote1}.</pre>
|
140
|
-
<div class="itemizedlist">
|
141
|
-
<p class="title"><b>Note</b></p>
|
142
|
-
<ul type="disc">
|
143
|
-
<li>
|
144
|
-
The attribute entry definition must precede it’s usage.
|
145
|
-
</li>
|
146
|
-
<li>
|
147
|
-
You are not limited to URLs or file names, entire macro calls or
|
148
|
-
arbitrary lines of text can be abbreviated.
|
149
|
-
</li>
|
150
|
-
<li>
|
151
|
-
Shared attributes entries could be grouped into a separate file and
|
152
|
-
<a class="link" href="macros.html#X63" title="Include Macros">included</a> in multiple documents.
|
153
|
-
</li>
|
154
|
-
</ul>
|
155
|
-
</div>
|
156
|
-
</div>
|
157
|
-
</div>
|
158
|
-
</div>
|
159
|
-
|
160
|
-
</div>
|
161
|
-
|
162
|
-
<hr/>
|
163
|
-
|
164
|
-
<div class="nav" id="navfooter">
|
165
|
-
<table width="100%">
|
166
|
-
<tr><td width="33%" align="left">
|
167
|
-
|
168
|
-
<a href="document_attributes.html">Prev</a><br/>
|
169
|
-
Document Attributes
|
170
|
-
|
171
|
-
</td><td width="33%" align="center">
|
172
|
-
|
173
|
-
<a href="index.html">Home</a><br/>
|
174
|
-
AsciiDoc User Guide
|
175
|
-
|
176
|
-
</td><td width="33%" align="right">
|
177
|
-
|
178
|
-
<a href="attribute_lists.html">Next</a><br/>
|
179
|
-
Attribute Lists
|
180
|
-
|
181
|
-
</td></tr>
|
182
|
-
</table>
|
183
|
-
</div>
|
184
|
-
</body>
|
185
|
-
</html>
|
@@ -1,157 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
-
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
5
|
-
<link rel="stylesheet" href="master.css" type="text/css" />
|
6
|
-
<title>Attribute Lists</title>
|
7
|
-
</head>
|
8
|
-
|
9
|
-
<body>
|
10
|
-
<div class="nav" id="navheader">
|
11
|
-
<table width="100%">
|
12
|
-
<tr><td width="33%" align="left">
|
13
|
-
|
14
|
-
<a href="attribute_entries.html">Prev</a><br/>
|
15
|
-
Attribute Entries
|
16
|
-
|
17
|
-
</td><td width="33%" align="center">
|
18
|
-
|
19
|
-
<a href="index.html">Home</a><br/>
|
20
|
-
<strong>AsciiDoc User Guide</strong>
|
21
|
-
|
22
|
-
</td><td width="33%" align="right">
|
23
|
-
|
24
|
-
<a href="attribute_references.html">Next</a><br/>
|
25
|
-
Attribute References
|
26
|
-
|
27
|
-
</td></tr>
|
28
|
-
</table>
|
29
|
-
</div>
|
30
|
-
|
31
|
-
<hr/>
|
32
|
-
|
33
|
-
<div class="content">
|
34
|
-
<div class="section" lang="en" xml:lang="en">
|
35
|
-
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
36
|
-
<a id="X21"></a>Attribute Lists</h2></div></div></div>
|
37
|
-
<div class="itemizedlist"><ul type="disc">
|
38
|
-
<li>
|
39
|
-
An attribute list is a comma separated list of attribute values.
|
40
|
-
</li>
|
41
|
-
<li>
|
42
|
-
The entire list is enclosed in square brackets.
|
43
|
-
</li>
|
44
|
-
<li>
|
45
|
-
Attribute lists are used to pass parameters to macros, blocks (using
|
46
|
-
the <a class="link" href="attributelist_element.html" title="AttributeList Element">AttributeList element</a>) and inline quotes.
|
47
|
-
</li>
|
48
|
-
</ul></div>
|
49
|
-
<p>The list consists of zero or more positional attribute values followed
|
50
|
-
by zero or more named attribute values. Here are three examples: a
|
51
|
-
single unquoted positional attribute; three unquoted positional
|
52
|
-
attribute values; one positional attribute followed by two named
|
53
|
-
attributes; the unquoted attribute value in the final example contains
|
54
|
-
comma (<code class="literal">&#44;</code>) and double-quote (<code class="literal">&#34;</code>) character entities:</p>
|
55
|
-
<pre class="literallayout">[Hello]
|
56
|
-
[quote, Bertrand Russell, The World of Mathematics (1956)]
|
57
|
-
["22 times", backcolor="#0e0e0e", options="noborders,wide"]
|
58
|
-
[A footnote&#44; &#34;with an image&#34; image:smallnew.png[]]</pre>
|
59
|
-
<div class="itemizedlist">
|
60
|
-
<p class="title"><b>Attribute list behavior</b></p>
|
61
|
-
<ul type="disc">
|
62
|
-
<li>
|
63
|
-
If one or more attribute values contains a comma the all string
|
64
|
-
values must be quoted (enclosed in double quotation mark
|
65
|
-
characters).
|
66
|
-
</li>
|
67
|
-
<li>
|
68
|
-
If the list contains any named or quoted attributes then all string
|
69
|
-
attribute values must be quoted.
|
70
|
-
</li>
|
71
|
-
<li>
|
72
|
-
To include a double quotation mark (") character in a quoted
|
73
|
-
attribute value the the quotation mark must be escaped with a
|
74
|
-
backslash.
|
75
|
-
</li>
|
76
|
-
<li>
|
77
|
-
List attributes take precedence over existing attributes.
|
78
|
-
</li>
|
79
|
-
<li>
|
80
|
-
List attributes can only be referenced in configuration file markup
|
81
|
-
templates and tags, they are not available elsewhere in the
|
82
|
-
document.
|
83
|
-
</li>
|
84
|
-
<li>
|
85
|
-
Setting a named attribute to <code class="literal">None</code> undefines the attribute.
|
86
|
-
</li>
|
87
|
-
<li>
|
88
|
-
Positional attributes are referred to as <code class="literal">{1}</code>,<code class="literal">{2}</code>,<code class="literal">{3}</code>,…
|
89
|
-
</li>
|
90
|
-
<li>
|
91
|
-
Attribute <code class="literal">{0}</code> refers to the entire list (excluding the enclosing
|
92
|
-
square brackets).
|
93
|
-
</li>
|
94
|
-
<li>
|
95
|
-
Named attribute names cannot contain dash characters.
|
96
|
-
</li>
|
97
|
-
</ul>
|
98
|
-
</div>
|
99
|
-
<div class="section" lang="en" xml:lang="en">
|
100
|
-
<div class="titlepage"><div><div><h3 class="title">
|
101
|
-
<a id="X75"></a>Options attribute</h3></div></div></div>
|
102
|
-
<p>If the attribute list contains an attribute named <code class="literal">options</code> it is
|
103
|
-
processed as a comma separated list of option names:</p>
|
104
|
-
<div class="itemizedlist"><ul type="disc">
|
105
|
-
<li>
|
106
|
-
Each name generates an attribute named like <code class="literal"><option>-option</code> (where
|
107
|
-
<code class="literal"><option></code> is the option name) with an empty string value. For
|
108
|
-
example <code class="literal">[options="opt1,opt2,opt3"]</code> is equivalent to setting the
|
109
|
-
following three attributes
|
110
|
-
<code class="literal">[opt1-option="",opt2-option="",opt2-option=""]</code>.
|
111
|
-
</li>
|
112
|
-
<li>
|
113
|
-
If you define a an option attribute globally (for example with an
|
114
|
-
<a class="link" href="attribute_entries.html" title="Attribute Entries">attribute entry</a>) then it will apply to all elements in the
|
115
|
-
document.
|
116
|
-
</li>
|
117
|
-
<li>
|
118
|
-
AsciiDoc implements a number of predefined options which are listed
|
119
|
-
in the <a class="link" href="f_attribute_options.html" title="F. Attribute Options">Attribute Options appendix</a>.
|
120
|
-
</li>
|
121
|
-
</ul></div>
|
122
|
-
</div>
|
123
|
-
<div class="section" lang="en" xml:lang="en">
|
124
|
-
<div class="titlepage"><div><div><h3 class="title">
|
125
|
-
<a id="_macro_attribute_lists"></a>Macro Attribute lists</h3></div></div></div>
|
126
|
-
<p>Macros calls are suffixed with an attribute list. The list may be
|
127
|
-
empty but it cannot be omitted. List entries are used to pass
|
128
|
-
attribute values to macro markup templates.</p>
|
129
|
-
</div>
|
130
|
-
</div>
|
131
|
-
|
132
|
-
</div>
|
133
|
-
|
134
|
-
<hr/>
|
135
|
-
|
136
|
-
<div class="nav" id="navfooter">
|
137
|
-
<table width="100%">
|
138
|
-
<tr><td width="33%" align="left">
|
139
|
-
|
140
|
-
<a href="attribute_entries.html">Prev</a><br/>
|
141
|
-
Attribute Entries
|
142
|
-
|
143
|
-
</td><td width="33%" align="center">
|
144
|
-
|
145
|
-
<a href="index.html">Home</a><br/>
|
146
|
-
AsciiDoc User Guide
|
147
|
-
|
148
|
-
</td><td width="33%" align="right">
|
149
|
-
|
150
|
-
<a href="attribute_references.html">Next</a><br/>
|
151
|
-
Attribute References
|
152
|
-
|
153
|
-
</td></tr>
|
154
|
-
</table>
|
155
|
-
</div>
|
156
|
-
</body>
|
157
|
-
</html>
|
@@ -1,414 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
-
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
5
|
-
<link rel="stylesheet" href="master.css" type="text/css" />
|
6
|
-
<title>Attribute References</title>
|
7
|
-
</head>
|
8
|
-
|
9
|
-
<body>
|
10
|
-
<div class="nav" id="navheader">
|
11
|
-
<table width="100%">
|
12
|
-
<tr><td width="33%" align="left">
|
13
|
-
|
14
|
-
<a href="attribute_lists.html">Prev</a><br/>
|
15
|
-
Attribute Lists
|
16
|
-
|
17
|
-
</td><td width="33%" align="center">
|
18
|
-
|
19
|
-
<a href="index.html">Home</a><br/>
|
20
|
-
<strong>AsciiDoc User Guide</strong>
|
21
|
-
|
22
|
-
</td><td width="33%" align="right">
|
23
|
-
|
24
|
-
<a href="intrinsic_attributes.html">Next</a><br/>
|
25
|
-
Intrinsic Attributes
|
26
|
-
|
27
|
-
</td></tr>
|
28
|
-
</table>
|
29
|
-
</div>
|
30
|
-
|
31
|
-
<hr/>
|
32
|
-
|
33
|
-
<div class="content">
|
34
|
-
<div class="section" lang="en" xml:lang="en">
|
35
|
-
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
36
|
-
<a id="_attribute_references"></a>Attribute References</h2></div></div></div>
|
37
|
-
<p>An attribute reference is an attribute name (possibly followed by an
|
38
|
-
additional parameters) enclosed in curly braces. When an attribute
|
39
|
-
reference is encountered it is evaluated and replaced by its
|
40
|
-
corresponding text value. If the attribute is undefined the line
|
41
|
-
containing the attribute is dropped.</p>
|
42
|
-
<p>There are three types of attribute reference: <span class="emphasis"><em>Simple</em></span>, <span class="emphasis"><em>Conditional</em></span>
|
43
|
-
and <span class="emphasis"><em>System</em></span>.</p>
|
44
|
-
<div class="itemizedlist">
|
45
|
-
<p class="title"><b>Attribute reference evaluation</b></p>
|
46
|
-
<ul type="disc">
|
47
|
-
<li>
|
48
|
-
You can suppress attribute reference expansion by placing a
|
49
|
-
backslash character immediately in front of the opening brace
|
50
|
-
character.
|
51
|
-
</li>
|
52
|
-
<li>
|
53
|
-
By default attribute references are not expanded in
|
54
|
-
<span class="emphasis"><em>LiteralParagraphs</em></span>, <span class="emphasis"><em>ListingBlocks</em></span> or <span class="emphasis"><em>LiteralBlocks</em></span>.
|
55
|
-
</li>
|
56
|
-
<li>
|
57
|
-
Attribute substitution proceeds line by line in reverse line order.
|
58
|
-
</li>
|
59
|
-
<li>
|
60
|
-
Attribute reference evaluation is performed in the following order:
|
61
|
-
<span class="emphasis"><em>Simple</em></span> then <span class="emphasis"><em>Conditional</em></span> and finally <span class="emphasis"><em>System</em></span>.
|
62
|
-
</li>
|
63
|
-
</ul>
|
64
|
-
</div>
|
65
|
-
<div class="section" lang="en" xml:lang="en">
|
66
|
-
<div class="titlepage"><div><div><h3 class="title">
|
67
|
-
<a id="_simple_attributes_references"></a>Simple Attributes References</h3></div></div></div>
|
68
|
-
<p>Simple attribute references take the form <code class="literal">{<name>}</code>. If the
|
69
|
-
attribute name is defined its text value is substituted otherwise the
|
70
|
-
line containing the reference is dropped from the output.</p>
|
71
|
-
</div>
|
72
|
-
<div class="section" lang="en" xml:lang="en">
|
73
|
-
<div class="titlepage"><div><div><h3 class="title">
|
74
|
-
<a id="_conditional_attribute_references"></a>Conditional Attribute References</h3></div></div></div>
|
75
|
-
<p>Additional parameters are used in conjunction with attribute names to
|
76
|
-
calculate a substitution value. Conditional attribute references take
|
77
|
-
the following forms:</p>
|
78
|
-
<div class="variablelist"><dl>
|
79
|
-
<dt><span class="term">
|
80
|
-
<code class="literal">{<names>=<value>}</code>
|
81
|
-
</span></dt>
|
82
|
-
<dd>
|
83
|
-
<code class="literal"><value></code> is substituted if the attribute <code class="literal"><names></code> is
|
84
|
-
undefined otherwise its value is substituted. <code class="literal"><value></code> can
|
85
|
-
contain simple attribute references.
|
86
|
-
</dd>
|
87
|
-
<dt><span class="term">
|
88
|
-
<code class="literal">{<names>?<value>}</code>
|
89
|
-
</span></dt>
|
90
|
-
<dd>
|
91
|
-
<code class="literal"><value></code> is substituted if the attribute <code class="literal"><names></code> is defined
|
92
|
-
otherwise an empty string is substituted. <code class="literal"><value></code> can
|
93
|
-
contain simple attribute references.
|
94
|
-
</dd>
|
95
|
-
<dt><span class="term">
|
96
|
-
<code class="literal">{<names>!<value>}</code>
|
97
|
-
</span></dt>
|
98
|
-
<dd>
|
99
|
-
<code class="literal"><value></code> is substituted if the attribute <code class="literal"><names></code> is
|
100
|
-
undefined otherwise an empty string is substituted. <code class="literal"><value></code>
|
101
|
-
can contain simple attribute references.
|
102
|
-
</dd>
|
103
|
-
<dt><span class="term">
|
104
|
-
<code class="literal">{<names>#<value>}</code>
|
105
|
-
</span></dt>
|
106
|
-
<dd>
|
107
|
-
<code class="literal"><value></code> is substituted if the attribute <code class="literal"><names></code> is defined
|
108
|
-
otherwise the undefined attribute entry causes the containing
|
109
|
-
line to be dropped. <code class="literal"><value></code> can contain simple attribute
|
110
|
-
references.
|
111
|
-
</dd>
|
112
|
-
<dt><span class="term">
|
113
|
-
<code class="literal">{<names>%<value>}</code>
|
114
|
-
</span></dt>
|
115
|
-
<dd>
|
116
|
-
<code class="literal"><value></code> is substituted if the attribute <code class="literal"><names></code> is not
|
117
|
-
defined otherwise the containing line is dropped. <code class="literal"><value></code>
|
118
|
-
can contain simple attribute references.
|
119
|
-
</dd>
|
120
|
-
<dt><span class="term">
|
121
|
-
<code class="literal">{<names>@<regexp>:<value1>[:<value2>]}</code>
|
122
|
-
</span></dt>
|
123
|
-
<dd>
|
124
|
-
<code class="literal"><value1></code> is substituted if the value of attribute <code class="literal"><names></code>
|
125
|
-
matches the regular expression <code class="literal"><regexp></code> otherwise <code class="literal"><value2></code>
|
126
|
-
is substituted. If attribute <code class="literal"><names></code> is not defined the
|
127
|
-
containing line is dropped. If <code class="literal"><value2></code> is omitted an empty
|
128
|
-
string is assumed. The values and the regular expression can
|
129
|
-
contain simple attribute references. To embed colons in the
|
130
|
-
values or the regular expression escape them with backslashes.
|
131
|
-
</dd>
|
132
|
-
<dt><span class="term">
|
133
|
-
<code class="literal">{<names>$<regexp>:<value1>[:<value2>]}</code>
|
134
|
-
</span></dt>
|
135
|
-
<dd>
|
136
|
-
<p>
|
137
|
-
Same behavior as the previous ternary attribute except for
|
138
|
-
the following cases:
|
139
|
-
</p>
|
140
|
-
<div class="variablelist"><dl>
|
141
|
-
<dt><span class="term">
|
142
|
-
<code class="literal">{<names>$<regexp>:<value>}</code>
|
143
|
-
</span></dt>
|
144
|
-
<dd>
|
145
|
-
Substitutes <code class="literal"><value></code> if <code class="literal"><names></code> matches <code class="literal"><regexp></code>
|
146
|
-
otherwise the result is undefined and the containing
|
147
|
-
line is dropped.
|
148
|
-
</dd>
|
149
|
-
<dt><span class="term">
|
150
|
-
<code class="literal">{<names>$<regexp>::<value>}</code>
|
151
|
-
</span></dt>
|
152
|
-
<dd>
|
153
|
-
Substitutes <code class="literal"><value></code> if <code class="literal"><names></code> does not match
|
154
|
-
<code class="literal"><regexp></code> otherwise the result is undefined and the
|
155
|
-
containing line is dropped.
|
156
|
-
</dd>
|
157
|
-
</dl></div>
|
158
|
-
</dd>
|
159
|
-
</dl></div>
|
160
|
-
<p>The attribute <code class="literal"><names></code> parameter normally consists of a single
|
161
|
-
attribute name but it can be any one of the following:</p>
|
162
|
-
<div class="itemizedlist"><ul type="disc">
|
163
|
-
<li>
|
164
|
-
A single attribute name which evaluates to the attributes value.
|
165
|
-
</li>
|
166
|
-
<li>
|
167
|
-
Multiple <span class="emphasis"><em>,</em></span> separated attribute names which evaluates to an empty
|
168
|
-
string if one or more of the attributes is defined, otherwise it’s
|
169
|
-
value is undefined.
|
170
|
-
</li>
|
171
|
-
<li>
|
172
|
-
Multiple <span class="emphasis"><em>+</em></span> separated attribute names which evaluates to an empty
|
173
|
-
string if all of the attributes are defined, otherwise it’s value is
|
174
|
-
undefined.
|
175
|
-
</li>
|
176
|
-
</ul></div>
|
177
|
-
<p>Conditional attributes with single attribute names are evaluated first
|
178
|
-
so they can be used inside the multi-attribute conditional <code class="literal"><value></code>.</p>
|
179
|
-
<div class="section" lang="en" xml:lang="en">
|
180
|
-
<div class="titlepage"><div><div><h4 class="title">
|
181
|
-
<a id="_conditional_attribute_examples"></a>Conditional attribute examples</h4></div></div></div>
|
182
|
-
<p>Conditional attributes are mainly used in AsciiDoc configuration
|
183
|
-
files — see the distribution <code class="literal">.conf</code> files for examples.</p>
|
184
|
-
<div class="variablelist"><dl>
|
185
|
-
<dt><span class="term">
|
186
|
-
Attribute equality test
|
187
|
-
</span></dt>
|
188
|
-
<dd>
|
189
|
-
<p>
|
190
|
-
If <code class="literal">{backend}</code> is <code class="literal">docbook45</code> or <code class="literal">xhtml11</code> the example evaluates to
|
191
|
-
“DocBook 4.5 or XHTML 1.1 backend” otherwise it evaluates to “some
|
192
|
-
other backend”:
|
193
|
-
</p>
|
194
|
-
<pre class="literallayout">{backend@docbook45|xhtml11:DocBook 4.5 or XHTML 1.1 backend:some other backend}</pre>
|
195
|
-
</dd>
|
196
|
-
<dt><span class="term">
|
197
|
-
Attribute value map
|
198
|
-
</span></dt>
|
199
|
-
<dd>
|
200
|
-
<p>
|
201
|
-
This example maps the <code class="literal">frame</code> attribute values [<code class="literal">topbot</code>, <code class="literal">all</code>,
|
202
|
-
<code class="literal">none</code>, <code class="literal">sides</code>] to [<code class="literal">hsides</code>, <code class="literal">border</code>, <code class="literal">void</code>, <code class="literal">vsides</code>]:
|
203
|
-
</p>
|
204
|
-
<pre class="literallayout">{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}</pre>
|
205
|
-
</dd>
|
206
|
-
</dl></div>
|
207
|
-
</div>
|
208
|
-
</div>
|
209
|
-
<div class="section" lang="en" xml:lang="en">
|
210
|
-
<div class="titlepage"><div><div><h3 class="title">
|
211
|
-
<a id="X24"></a>System Attribute References</h3></div></div></div>
|
212
|
-
<p>System attribute references generate the attribute text value by
|
213
|
-
executing a predefined action that is parametrized by one or more
|
214
|
-
arguments. The syntax is <code class="literal">{<action>:<arguments>}</code>.</p>
|
215
|
-
<div class="variablelist"><dl>
|
216
|
-
<dt><span class="term">
|
217
|
-
<code class="literal">{counter:<attrname>[:<seed>]}</code>
|
218
|
-
</span></dt>
|
219
|
-
<dd>
|
220
|
-
<p>
|
221
|
-
Increments the document attribute (if the attribute is
|
222
|
-
undefined it is set to <code class="literal">1</code>). Returns the new attribute value.
|
223
|
-
</p>
|
224
|
-
<div class="itemizedlist"><ul type="disc">
|
225
|
-
<li>
|
226
|
-
Counters generate global (document wide) attributes.
|
227
|
-
</li>
|
228
|
-
<li>
|
229
|
-
The optional <code class="literal"><seed></code> specifies the counter’s initial value;
|
230
|
-
it can be a number or a single letter; defaults to <span class="emphasis"><em>1</em></span>.
|
231
|
-
</li>
|
232
|
-
<li>
|
233
|
-
<code class="literal"><seed></code> can contain simple and conditional attribute
|
234
|
-
references.
|
235
|
-
</li>
|
236
|
-
<li>
|
237
|
-
The <span class="emphasis"><em>counter</em></span> system attribute will not be executed if the
|
238
|
-
containing line is dropped by the prior evaluation of an
|
239
|
-
undefined attribute.
|
240
|
-
</li>
|
241
|
-
</ul></div>
|
242
|
-
</dd>
|
243
|
-
<dt><span class="term">
|
244
|
-
<code class="literal">{counter2:<attrname>[:<seed>]}</code>
|
245
|
-
</span></dt>
|
246
|
-
<dd>
|
247
|
-
Same as <code class="literal">counter</code> except the it always returns a blank string.
|
248
|
-
</dd>
|
249
|
-
<dt><span class="term">
|
250
|
-
<code class="literal">{eval:<expression>}</code>
|
251
|
-
</span></dt>
|
252
|
-
<dd>
|
253
|
-
<p>
|
254
|
-
Substitutes the result of the Python <code class="literal"><expression></code>.
|
255
|
-
</p>
|
256
|
-
<div class="itemizedlist"><ul type="disc">
|
257
|
-
<li>
|
258
|
-
If <code class="literal"><expression></code> evaluates to <code class="literal">None</code> or <code class="literal">False</code> the
|
259
|
-
reference is deemed undefined and the line containing the
|
260
|
-
reference is dropped from the output.
|
261
|
-
</li>
|
262
|
-
<li>
|
263
|
-
If the expression evaluates to <code class="literal">True</code> the attribute
|
264
|
-
evaluates to an empty string.
|
265
|
-
</li>
|
266
|
-
<li>
|
267
|
-
<code class="literal"><expression></code> can contain simple and conditional attribute
|
268
|
-
references.
|
269
|
-
</li>
|
270
|
-
<li>
|
271
|
-
The <span class="emphasis"><em>eval</em></span> system attribute can be nested inside other
|
272
|
-
system attributes.
|
273
|
-
</li>
|
274
|
-
</ul></div>
|
275
|
-
</dd>
|
276
|
-
<dt><span class="term">
|
277
|
-
<code class="literal">{eval3:<command>}</code>
|
278
|
-
</span></dt>
|
279
|
-
<dd>
|
280
|
-
Passthrough version of <code class="literal">{eval:<expression>}</code> — the generated
|
281
|
-
output is written directly to the output without any further
|
282
|
-
substitutions.
|
283
|
-
</dd>
|
284
|
-
<dt><span class="term">
|
285
|
-
<code class="literal">{include:<filename>}</code>
|
286
|
-
</span></dt>
|
287
|
-
<dd>
|
288
|
-
<p>
|
289
|
-
Substitutes contents of the file named <code class="literal"><filename></code>.
|
290
|
-
</p>
|
291
|
-
<div class="itemizedlist"><ul type="disc">
|
292
|
-
<li>
|
293
|
-
The included file is read at the time of attribute
|
294
|
-
substitution.
|
295
|
-
</li>
|
296
|
-
<li>
|
297
|
-
If the file does not exist a warning is emitted and the line
|
298
|
-
containing the reference is dropped from the output file.
|
299
|
-
</li>
|
300
|
-
<li>
|
301
|
-
Tabs are expanded based on the current <span class="emphasis"><em>tabsize</em></span> attribute
|
302
|
-
value.
|
303
|
-
</li>
|
304
|
-
</ul></div>
|
305
|
-
</dd>
|
306
|
-
<dt><span class="term">
|
307
|
-
<code class="literal">{set:<attrname>[!][:<value>]}</code>
|
308
|
-
</span></dt>
|
309
|
-
<dd>
|
310
|
-
<p>
|
311
|
-
Sets or unsets document attribute. Normally only used in
|
312
|
-
configuration file markup templates (use
|
313
|
-
<a class="link" href="attribute_entries.html" title="Attribute Entries">AttributeEntries</a> in AsciiDoc documents).
|
314
|
-
</p>
|
315
|
-
<div class="itemizedlist"><ul type="disc">
|
316
|
-
<li>
|
317
|
-
If the attribute name is followed by an exclamation mark
|
318
|
-
the attribute becomes undefined.
|
319
|
-
</li>
|
320
|
-
<li>
|
321
|
-
If <code class="literal"><value></code> is omitted the attribute is set to a blank
|
322
|
-
string.
|
323
|
-
</li>
|
324
|
-
<li>
|
325
|
-
<code class="literal"><value></code> can contain simple and conditional attribute
|
326
|
-
references.
|
327
|
-
</li>
|
328
|
-
<li>
|
329
|
-
Returns a blank string unless the attribute is undefined in
|
330
|
-
which case the return value is undefined and the enclosing
|
331
|
-
line will be dropped.
|
332
|
-
</li>
|
333
|
-
</ul></div>
|
334
|
-
</dd>
|
335
|
-
<dt><span class="term">
|
336
|
-
<code class="literal">{set2:<attrname>[!][:<value>]}</code>
|
337
|
-
</span></dt>
|
338
|
-
<dd>
|
339
|
-
Same as <code class="literal">set</code> except that the attribute scope is local to the
|
340
|
-
template.
|
341
|
-
</dd>
|
342
|
-
<dt><span class="term">
|
343
|
-
<code class="literal">{sys:<command>}</code>
|
344
|
-
</span></dt>
|
345
|
-
<dd>
|
346
|
-
Substitutes the stdout generated by the execution of the shell
|
347
|
-
<code class="literal"><command></code>.
|
348
|
-
</dd>
|
349
|
-
<dt><span class="term">
|
350
|
-
<code class="literal">{sys2:<command>}</code>
|
351
|
-
</span></dt>
|
352
|
-
<dd>
|
353
|
-
Substitutes the stdout and stderr generated by the execution
|
354
|
-
of the shell <code class="literal"><command></code>.
|
355
|
-
</dd>
|
356
|
-
<dt><span class="term">
|
357
|
-
<code class="literal">{sys3:<command>}</code>
|
358
|
-
</span></dt>
|
359
|
-
<dd>
|
360
|
-
Passthrough version of <code class="literal">{sys:<command>}</code> — the generated
|
361
|
-
output is written directly to the output without any further
|
362
|
-
substitutions.
|
363
|
-
</dd>
|
364
|
-
<dt><span class="term">
|
365
|
-
<code class="literal">{template:<template>}</code>
|
366
|
-
</span></dt>
|
367
|
-
<dd>
|
368
|
-
Substitutes the contents of the configuration file section
|
369
|
-
named <code class="literal"><template></code>. Attribute references contained in the
|
370
|
-
template are substituted.
|
371
|
-
</dd>
|
372
|
-
</dl></div>
|
373
|
-
<div class="itemizedlist">
|
374
|
-
<p class="title"><b>System reference behavior</b></p>
|
375
|
-
<ul type="disc">
|
376
|
-
<li>
|
377
|
-
System attribute arguments can contain non-system attribute
|
378
|
-
references.
|
379
|
-
</li>
|
380
|
-
<li>
|
381
|
-
Closing brace characters inside system attribute arguments must be
|
382
|
-
escaped with a backslash.
|
383
|
-
</li>
|
384
|
-
</ul>
|
385
|
-
</div>
|
386
|
-
</div>
|
387
|
-
</div>
|
388
|
-
|
389
|
-
</div>
|
390
|
-
|
391
|
-
<hr/>
|
392
|
-
|
393
|
-
<div class="nav" id="navfooter">
|
394
|
-
<table width="100%">
|
395
|
-
<tr><td width="33%" align="left">
|
396
|
-
|
397
|
-
<a href="attribute_lists.html">Prev</a><br/>
|
398
|
-
Attribute Lists
|
399
|
-
|
400
|
-
</td><td width="33%" align="center">
|
401
|
-
|
402
|
-
<a href="index.html">Home</a><br/>
|
403
|
-
AsciiDoc User Guide
|
404
|
-
|
405
|
-
</td><td width="33%" align="right">
|
406
|
-
|
407
|
-
<a href="intrinsic_attributes.html">Next</a><br/>
|
408
|
-
Intrinsic Attributes
|
409
|
-
|
410
|
-
</td></tr>
|
411
|
-
</table>
|
412
|
-
</div>
|
413
|
-
</body>
|
414
|
-
</html>
|