rrtf 0.1.1 → 0.1.2
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.
- checksums.yaml +4 -4
- data/README.md +31 -7
- data/documentation/RRTF/CharacterFormatting.html +1002 -0
- data/documentation/RRTF/CharacterStyle.html +1058 -0
- data/documentation/RRTF/Colour.html +813 -0
- data/documentation/RRTF/ColourTable.html +770 -0
- data/documentation/RRTF/CommandNode.html +2372 -0
- data/documentation/RRTF/ContainerNode.html +826 -0
- data/documentation/RRTF/Converters/HTML/Helpers.html +272 -0
- data/documentation/RRTF/Converters/HTML/Node.html +364 -0
- data/documentation/RRTF/Converters/HTML/NodeSet.html +265 -0
- data/documentation/RRTF/Converters/HTML.html +337 -0
- data/documentation/RRTF/Converters.html +117 -0
- data/documentation/RRTF/Document.html +2405 -0
- data/documentation/RRTF/DocumentStyle.html +1367 -0
- data/documentation/RRTF/Font.html +790 -0
- data/documentation/RRTF/FontTable.html +763 -0
- data/documentation/RRTF/FooterNode.html +515 -0
- data/documentation/RRTF/HeaderNode.html +515 -0
- data/documentation/RRTF/ImageNode.html +1374 -0
- data/documentation/RRTF/Information.html +809 -0
- data/documentation/RRTF/LinkNode.html +264 -0
- data/documentation/RRTF/ListLevel.html +799 -0
- data/documentation/RRTF/ListLevelNode.html +612 -0
- data/documentation/RRTF/ListMarker.html +595 -0
- data/documentation/RRTF/ListNode.html +368 -0
- data/documentation/RRTF/ListTable.html +343 -0
- data/documentation/RRTF/ListTemplate.html +433 -0
- data/documentation/RRTF/ListTextNode.html +285 -0
- data/documentation/RRTF/Node.html +616 -0
- data/documentation/RRTF/Paper.html +624 -0
- data/documentation/RRTF/ParagraphFormatting.html +749 -0
- data/documentation/RRTF/ParagraphNode.html +275 -0
- data/documentation/RRTF/ParagraphStyle.html +1319 -0
- data/documentation/RRTF/RTFError.html +295 -0
- data/documentation/RRTF/Style.html +1767 -0
- data/documentation/RRTF/Stylesheet.html +1768 -0
- data/documentation/RRTF/TableCellNode.html +1704 -0
- data/documentation/RRTF/TableNode.html +1025 -0
- data/documentation/RRTF/TableRowNode.html +675 -0
- data/documentation/RRTF/TextNode.html +600 -0
- data/documentation/RRTF/Utilities.html +201 -0
- data/documentation/RRTF.html +129 -0
- data/documentation/_index.html +478 -0
- data/documentation/class_list.html +51 -0
- data/documentation/css/common.css +1 -0
- data/documentation/css/full_list.css +58 -0
- data/documentation/css/style.css +492 -0
- data/documentation/file.README.html +223 -0
- data/documentation/file_list.html +56 -0
- data/documentation/frames.html +17 -0
- data/documentation/index.html +223 -0
- data/documentation/js/app.js +248 -0
- data/documentation/js/full_list.js +216 -0
- data/documentation/js/jquery.js +4 -0
- data/documentation/method_list.html +2203 -0
- data/documentation/top-level-namespace.html +110 -0
- data/examples/01.rtf +14 -17
- data/examples/01_mac_word15_36.png +0 -0
- data/examples/01_styles_and_paragraphs.rb +3 -4
- data/examples/resources/json/redshirt_styles.json +4 -2
- data/lib/rrtf/node.rb +86 -167
- data/lib/rrtf/style/character_style.rb +4 -3
- data/lib/rrtf/style/formatting.rb +55 -11
- data/lib/rrtf/style/paragraph_style.rb +19 -4
- data/lib/rrtf/style/style.rb +15 -15
- data/lib/rrtf/stylesheet.rb +57 -16
- data/lib/rrtf/version.rb +1 -1
- data/rrtf.gemspec +1 -0
- metadata +70 -1
@@ -0,0 +1,223 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
+
<title>
|
7
|
+
File: README
|
8
|
+
|
9
|
+
— Documentation by YARD 0.9.9
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
pathId = "README";
|
19
|
+
relpath = '';
|
20
|
+
</script>
|
21
|
+
|
22
|
+
|
23
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
24
|
+
|
25
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
26
|
+
|
27
|
+
|
28
|
+
</head>
|
29
|
+
<body>
|
30
|
+
<div class="nav_wrap">
|
31
|
+
<iframe id="nav" src="file_list.html?1"></iframe>
|
32
|
+
<div id="resizer"></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="main" tabindex="-1">
|
36
|
+
<div id="header">
|
37
|
+
<div id="menu">
|
38
|
+
|
39
|
+
<a href="_index.html">Index</a> »
|
40
|
+
<span class="title">File: README</span>
|
41
|
+
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<div id="search">
|
45
|
+
|
46
|
+
<a class="full_list_link" id="class_list_link"
|
47
|
+
href="class_list.html">
|
48
|
+
|
49
|
+
<svg width="24" height="24">
|
50
|
+
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
51
|
+
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
52
|
+
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
53
|
+
</svg>
|
54
|
+
</a>
|
55
|
+
|
56
|
+
</div>
|
57
|
+
<div class="clear"></div>
|
58
|
+
</div>
|
59
|
+
|
60
|
+
<div id="content"><div id='filecontents'>
|
61
|
+
<h1 id="label-RRTF-3A+Ruby+Rich-Text-Format+Document+Generator">RRTF: Ruby Rich-Text-Format Document Generator</h1>
|
62
|
+
|
63
|
+
<p>RRTF enables programatic creation of Rich Text Format (RTF) documents in
|
64
|
+
Ruby, focusing on simplifying RTF document assembly and generating clean
|
65
|
+
RTF source code. This gem is founded on the <a
|
66
|
+
href="https://github.com/clbustos/rtf">ifad-rtf gem</a>, but differs in
|
67
|
+
several respects:</p>
|
68
|
+
<ul><li>
|
69
|
+
<p>The syntax for creating documents and styles is simpler.</p>
|
70
|
+
</li><li>
|
71
|
+
<p>Paragraph styles can take on character formatting attributes (in accord to
|
72
|
+
the RTF specification).</p>
|
73
|
+
</li><li>
|
74
|
+
<p>Document stylesheets can be defined, enabling the end user to easily modify
|
75
|
+
the look larger RTF documents.</p>
|
76
|
+
</li></ul>
|
77
|
+
|
78
|
+
<p>The gem was created with reference to the <a
|
79
|
+
href="https://www.microsoft.com/en-us/download/details.aspx?id=10725">Microsoft
|
80
|
+
Office RTF Specification (v1.9.1)</a>.</p>
|
81
|
+
|
82
|
+
<h2 id="label-Installation">Installation</h2>
|
83
|
+
|
84
|
+
<p>Add this line to your application's Gemfile:</p>
|
85
|
+
|
86
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_gem'>gem</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rrtf</span><span class='tstring_end'>'</span></span>
|
87
|
+
</code></pre>
|
88
|
+
|
89
|
+
<p>And then execute:</p>
|
90
|
+
|
91
|
+
<pre class="code ruby"><code class="ruby">$ bundle</code></pre>
|
92
|
+
|
93
|
+
<p>Or install it yourself as:</p>
|
94
|
+
|
95
|
+
<pre class="code ruby"><code class="ruby">$ gem install rrtf</code></pre>
|
96
|
+
|
97
|
+
<h2 id="label-Usage">Usage</h2>
|
98
|
+
|
99
|
+
<p>Define the paragraph and character styles your document is to leverage in a
|
100
|
+
hashmap array or JSON file:</p>
|
101
|
+
|
102
|
+
<pre class="code ruby"><code class="ruby"><span class='lbracket'>[</span>
|
103
|
+
<span class='lbrace'>{</span>
|
104
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>type</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>paragraph</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
105
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>id</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>TITLE</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
106
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>name</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Title</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
107
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>primary</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
108
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>auto_update</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
109
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>next_style</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>BODY</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
110
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>base_style</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>BODY</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
111
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>justification</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>CENTER</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
112
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>space_after</span><span class='label_end'>":</span> <span class='int'>100</span><span class='comma'>,</span>
|
113
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>bold</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
114
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>underline</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>DOUBLE</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
115
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>underline_color</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>#ff0000</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
116
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>uppercase</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
117
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>font_size</span><span class='label_end'>":</span> <span class='int'>36</span>
|
118
|
+
<span class='rbrace'>}</span><span class='comma'>,</span>
|
119
|
+
<span class='lbrace'>{</span>
|
120
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>type</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>paragraph</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
121
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>id</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>H1</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
122
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>name</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Heading 1</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
123
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>primary</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
124
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>next_style</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>BODY</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
125
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>space_after</span><span class='label_end'>":</span> <span class='int'>40</span><span class='comma'>,</span>
|
126
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>space_before</span><span class='label_end'>":</span> <span class='int'>200</span><span class='comma'>,</span>
|
127
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>underline</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>SINGLE</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
128
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>underline_color</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>#ff0000</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
129
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>bold</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
130
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>font_size</span><span class='label_end'>":</span> <span class='int'>24</span>
|
131
|
+
<span class='rbrace'>}</span><span class='comma'>,</span>
|
132
|
+
<span class='lbrace'>{</span>
|
133
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>type</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>paragraph</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
134
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>id</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>BODY</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
135
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>name</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Body</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
136
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>primary</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
137
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>justification</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>LEFT</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
138
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>font_size</span><span class='label_end'>":</span> <span class='int'>24</span><span class='comma'>,</span>
|
139
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>hyphenate</span><span class='label_end'>":</span> <span class='kw'>true</span>
|
140
|
+
<span class='rbrace'>}</span><span class='comma'>,</span>
|
141
|
+
<span class='lbrace'>{</span>
|
142
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>type</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>character</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
143
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>id</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>EMPH</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
144
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>name</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Emphasis</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
145
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>additive</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
146
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>italic</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
147
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>bold</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
148
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>foreground_color</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>#ff0000</span><span class='tstring_end'>"</span></span>
|
149
|
+
<span class='rbrace'>}</span>
|
150
|
+
<span class='rbracket'>]</span>
|
151
|
+
</code></pre>
|
152
|
+
|
153
|
+
<p>(Note that font size is given in <em>half points</em> and spacing in
|
154
|
+
<em>twentieth points</em>, or “twips” using the somewhat disagreeable
|
155
|
+
abbreviation, in accord with the RTF specification.)</p>
|
156
|
+
|
157
|
+
<p>Create a RTF document object using the settings needed for your document,
|
158
|
+
then build your document and save it in an RTF file:</p>
|
159
|
+
|
160
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rrtf</span><span class='tstring_end'>'</span></span>
|
161
|
+
<span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>JSON</span><span class='tstring_end'>'</span></span>
|
162
|
+
|
163
|
+
<span class='id identifier rubyid_raw_styles'>raw_styles</span> <span class='op'>=</span> <span class='const'>JSON</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>styles.json</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
164
|
+
|
165
|
+
<span class='id identifier rubyid_rtf'>rtf</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="RRTF.html" title="RRTF (module)">RRTF</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="RRTF/Document.html" title="RRTF::Document (class)">Document</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="RRTF/Document.html#initialize-instance_method" title="RRTF::Document#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>stylesheet</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='id identifier rubyid_raw_styles'>raw_styles</span><span class='rparen'>)</span>
|
166
|
+
<span class='id identifier rubyid_styles'>styles</span> <span class='op'>=</span> <span class='id identifier rubyid_rtf'>rtf</span><span class='period'>.</span><span class='id identifier rubyid_stylesheet'>stylesheet</span><span class='period'>.</span><span class='id identifier rubyid_styles'>styles</span>
|
167
|
+
|
168
|
+
<span class='id identifier rubyid_rtf'>rtf</span><span class='period'>.</span><span class='id identifier rubyid_paragraph'>paragraph</span><span class='lparen'>(</span><span class='id identifier rubyid_styles'>styles</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>TITLE</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>RedShirts 101</span><span class='tstring_end'>"</span></span>
|
169
|
+
<span class='id identifier rubyid_rtf'>rtf</span><span class='period'>.</span><span class='id identifier rubyid_paragraph'>paragraph</span><span class='lparen'>(</span><span class='id identifier rubyid_styles'>styles</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>BODY</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_p'>p</span><span class='op'>|</span>
|
170
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Should you ever find yourself on a spacefaring vessel wearing a</span><span class='tstring_end'>"</span></span>
|
171
|
+
<span class='id identifier rubyid_p'>p</span><span class='period'>.</span><span class='id identifier rubyid_apply'>apply</span><span class='lparen'>(</span><span class='id identifier rubyid_styles'>styles</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>EMPH</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> red </span><span class='tstring_end'>"</span></span>
|
172
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>shirt, take heed and be on guard, for danger is immanent and you are </span><span class='tstring_end'>"</span></span>
|
173
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>likely expendable among the crew...</span><span class='tstring_end'>"</span></span>
|
174
|
+
<span class='kw'>end</span>
|
175
|
+
<span class='id identifier rubyid_rtf'>rtf</span><span class='period'>.</span><span class='id identifier rubyid_paragraph'>paragraph</span><span class='lparen'>(</span><span class='id identifier rubyid_styles'>styles</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>H1</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>1. The Danger of Away Missions</span><span class='tstring_end'>"</span></span>
|
176
|
+
<span class='id identifier rubyid_rtf'>rtf</span><span class='period'>.</span><span class='id identifier rubyid_paragraph'>paragraph</span><span class='lparen'>(</span><span class='id identifier rubyid_styles'>styles</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>BODY</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_p'>p</span><span class='op'>|</span>
|
177
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>If you're ever assigned an away mission, it's almost certain to be your doom. </span><span class='tstring_end'>"</span></span>
|
178
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>The optimal strategy is to avoid away missions to begin with...</span><span class='tstring_end'>"</span></span>
|
179
|
+
<span class='kw'>end</span>
|
180
|
+
<span class='id identifier rubyid_rtf'>rtf</span><span class='period'>.</span><span class='id identifier rubyid_paragraph'>paragraph</span><span class='lparen'>(</span><span class='id identifier rubyid_styles'>styles</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>H1</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>2. Avoiding High-Ranking Officers</span><span class='tstring_end'>"</span></span>
|
181
|
+
<span class='id identifier rubyid_rtf'>rtf</span><span class='period'>.</span><span class='id identifier rubyid_paragraph'>paragraph</span><span class='lparen'>(</span><span class='id identifier rubyid_styles'>styles</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>BODY</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_p'>p</span><span class='op'>|</span>
|
182
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>You're likely to notice an influx of unfortunate outcomes around </span><span class='tstring_end'>"</span></span>
|
183
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>certain high-ranking officers. Its to your advantage to quickly identify and </span><span class='tstring_end'>"</span></span>
|
184
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>avoid these officers...</span><span class='tstring_end'>"</span></span>
|
185
|
+
<span class='kw'>end</span>
|
186
|
+
</code></pre>
|
187
|
+
|
188
|
+
<p><img src="examples/01_mac_word15_36.png"></p>
|
189
|
+
|
190
|
+
<h2 id="label-Development">Development</h2>
|
191
|
+
|
192
|
+
<p>After checking out the repo, run <code>bin/setup</code> to install
|
193
|
+
dependencies. Then, run <code>rake spec</code> to run the tests. You can
|
194
|
+
also run <code>bin/console</code> for an interactive prompt that will allow
|
195
|
+
you to experiment.</p>
|
196
|
+
|
197
|
+
<p>To install this gem onto your local machine, run <code>bundle exec rake
|
198
|
+
install</code>. To release a new version, update the version number in
|
199
|
+
<code>version.rb</code>, and then run <code>bundle exec rake
|
200
|
+
release</code>, which will create a git tag for the version, push git
|
201
|
+
commits and tags, and push the <code>.gem</code> file to <a
|
202
|
+
href="https://rubygems.org">rubygems.org</a>.</p>
|
203
|
+
|
204
|
+
<h2 id="label-Contributing">Contributing</h2>
|
205
|
+
|
206
|
+
<p>Bug reports and pull requests are welcome on GitHub at <a
|
207
|
+
href="https://github.com/whileman133/rrtf">github.com/whileman133/rrtf</a>.</p>
|
208
|
+
|
209
|
+
<h2 id="label-License">License</h2>
|
210
|
+
|
211
|
+
<p>Just like ifad-rtf, this gem is available as open source under the terms of
|
212
|
+
the <a href="http://opensource.org/licenses/MIT">MIT License</a>.</p>
|
213
|
+
</div></div>
|
214
|
+
|
215
|
+
<div id="footer">
|
216
|
+
Generated on Mon Jul 24 15:48:59 2017 by
|
217
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
218
|
+
0.9.9 (ruby-2.3.3).
|
219
|
+
</div>
|
220
|
+
|
221
|
+
</div>
|
222
|
+
</body>
|
223
|
+
</html>
|
@@ -0,0 +1,56 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
5
|
+
<meta charset="utf-8" />
|
6
|
+
|
7
|
+
<link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
|
8
|
+
|
9
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
14
|
+
|
15
|
+
<script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
|
16
|
+
|
17
|
+
|
18
|
+
<title>File List</title>
|
19
|
+
<base id="base_target" target="_parent" />
|
20
|
+
</head>
|
21
|
+
<body>
|
22
|
+
<div id="content">
|
23
|
+
<div class="fixed_header">
|
24
|
+
<h1 id="full_list_header">File List</h1>
|
25
|
+
<div id="full_list_nav">
|
26
|
+
|
27
|
+
<span><a target="_self" href="class_list.html">
|
28
|
+
Classes
|
29
|
+
</a></span>
|
30
|
+
|
31
|
+
<span><a target="_self" href="method_list.html">
|
32
|
+
Methods
|
33
|
+
</a></span>
|
34
|
+
|
35
|
+
<span><a target="_self" href="file_list.html">
|
36
|
+
Files
|
37
|
+
</a></span>
|
38
|
+
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div id="search">Search: <input type="text" /></div>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<ul id="full_list" class="file">
|
45
|
+
|
46
|
+
|
47
|
+
<li id="object_README" class="odd">
|
48
|
+
<div class="item"><span class="object_link"><a href="index.html" title="README">README</a></span></div>
|
49
|
+
</li>
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
</ul>
|
54
|
+
</div>
|
55
|
+
</body>
|
56
|
+
</html>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>Documentation by YARD 0.9.9</title>
|
6
|
+
</head>
|
7
|
+
<script type="text/javascript" charset="utf-8">
|
8
|
+
var match = unescape(window.location.hash).match(/^#!(.+)/);
|
9
|
+
var name = match ? match[1] : 'index.html';
|
10
|
+
name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
|
11
|
+
window.top.location = name;
|
12
|
+
</script>
|
13
|
+
<noscript>
|
14
|
+
<h1>Oops!</h1>
|
15
|
+
<h2>YARD requires JavaScript!</h2>
|
16
|
+
</noscript>
|
17
|
+
</html>
|
@@ -0,0 +1,223 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
+
<title>
|
7
|
+
File: README
|
8
|
+
|
9
|
+
— Documentation by YARD 0.9.9
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
pathId = "README";
|
19
|
+
relpath = '';
|
20
|
+
</script>
|
21
|
+
|
22
|
+
|
23
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
24
|
+
|
25
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
26
|
+
|
27
|
+
|
28
|
+
</head>
|
29
|
+
<body>
|
30
|
+
<div class="nav_wrap">
|
31
|
+
<iframe id="nav" src="class_list.html?1"></iframe>
|
32
|
+
<div id="resizer"></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="main" tabindex="-1">
|
36
|
+
<div id="header">
|
37
|
+
<div id="menu">
|
38
|
+
|
39
|
+
<a href="_index.html">Index</a> »
|
40
|
+
<span class="title">File: README</span>
|
41
|
+
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<div id="search">
|
45
|
+
|
46
|
+
<a class="full_list_link" id="class_list_link"
|
47
|
+
href="class_list.html">
|
48
|
+
|
49
|
+
<svg width="24" height="24">
|
50
|
+
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
51
|
+
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
52
|
+
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
53
|
+
</svg>
|
54
|
+
</a>
|
55
|
+
|
56
|
+
</div>
|
57
|
+
<div class="clear"></div>
|
58
|
+
</div>
|
59
|
+
|
60
|
+
<div id="content"><div id='filecontents'>
|
61
|
+
<h1 id="label-RRTF-3A+Ruby+Rich-Text-Format+Document+Generator">RRTF: Ruby Rich-Text-Format Document Generator</h1>
|
62
|
+
|
63
|
+
<p>RRTF enables programatic creation of Rich Text Format (RTF) documents in
|
64
|
+
Ruby, focusing on simplifying RTF document assembly and generating clean
|
65
|
+
RTF source code. This gem is founded on the <a
|
66
|
+
href="https://github.com/clbustos/rtf">ifad-rtf gem</a>, but differs in
|
67
|
+
several respects:</p>
|
68
|
+
<ul><li>
|
69
|
+
<p>The syntax for creating documents and styles is simpler.</p>
|
70
|
+
</li><li>
|
71
|
+
<p>Paragraph styles can take on character formatting attributes (in accord to
|
72
|
+
the RTF specification).</p>
|
73
|
+
</li><li>
|
74
|
+
<p>Document stylesheets can be defined, enabling the end user to easily modify
|
75
|
+
the look larger RTF documents.</p>
|
76
|
+
</li></ul>
|
77
|
+
|
78
|
+
<p>The gem was created with reference to the <a
|
79
|
+
href="https://www.microsoft.com/en-us/download/details.aspx?id=10725">Microsoft
|
80
|
+
Office RTF Specification (v1.9.1)</a>.</p>
|
81
|
+
|
82
|
+
<h2 id="label-Installation">Installation</h2>
|
83
|
+
|
84
|
+
<p>Add this line to your application's Gemfile:</p>
|
85
|
+
|
86
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_gem'>gem</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rrtf</span><span class='tstring_end'>'</span></span>
|
87
|
+
</code></pre>
|
88
|
+
|
89
|
+
<p>And then execute:</p>
|
90
|
+
|
91
|
+
<pre class="code ruby"><code class="ruby">$ bundle</code></pre>
|
92
|
+
|
93
|
+
<p>Or install it yourself as:</p>
|
94
|
+
|
95
|
+
<pre class="code ruby"><code class="ruby">$ gem install rrtf</code></pre>
|
96
|
+
|
97
|
+
<h2 id="label-Usage">Usage</h2>
|
98
|
+
|
99
|
+
<p>Define the paragraph and character styles your document is to leverage in a
|
100
|
+
hashmap array or JSON file:</p>
|
101
|
+
|
102
|
+
<pre class="code ruby"><code class="ruby"><span class='lbracket'>[</span>
|
103
|
+
<span class='lbrace'>{</span>
|
104
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>type</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>paragraph</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
105
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>id</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>TITLE</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
106
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>name</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Title</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
107
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>primary</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
108
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>auto_update</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
109
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>next_style</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>BODY</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
110
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>base_style</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>BODY</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
111
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>justification</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>CENTER</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
112
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>space_after</span><span class='label_end'>":</span> <span class='int'>100</span><span class='comma'>,</span>
|
113
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>bold</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
114
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>underline</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>DOUBLE</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
115
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>underline_color</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>#ff0000</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
116
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>uppercase</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
117
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>font_size</span><span class='label_end'>":</span> <span class='int'>36</span>
|
118
|
+
<span class='rbrace'>}</span><span class='comma'>,</span>
|
119
|
+
<span class='lbrace'>{</span>
|
120
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>type</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>paragraph</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
121
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>id</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>H1</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
122
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>name</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Heading 1</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
123
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>primary</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
124
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>next_style</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>BODY</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
125
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>space_after</span><span class='label_end'>":</span> <span class='int'>40</span><span class='comma'>,</span>
|
126
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>space_before</span><span class='label_end'>":</span> <span class='int'>200</span><span class='comma'>,</span>
|
127
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>underline</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>SINGLE</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
128
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>underline_color</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>#ff0000</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
129
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>bold</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
130
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>font_size</span><span class='label_end'>":</span> <span class='int'>24</span>
|
131
|
+
<span class='rbrace'>}</span><span class='comma'>,</span>
|
132
|
+
<span class='lbrace'>{</span>
|
133
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>type</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>paragraph</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
134
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>id</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>BODY</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
135
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>name</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Body</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
136
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>primary</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
137
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>justification</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>LEFT</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
138
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>font_size</span><span class='label_end'>":</span> <span class='int'>24</span><span class='comma'>,</span>
|
139
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>hyphenate</span><span class='label_end'>":</span> <span class='kw'>true</span>
|
140
|
+
<span class='rbrace'>}</span><span class='comma'>,</span>
|
141
|
+
<span class='lbrace'>{</span>
|
142
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>type</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>character</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
143
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>id</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>EMPH</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
144
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>name</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Emphasis</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
145
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>additive</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
146
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>italic</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
147
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>bold</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
148
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>foreground_color</span><span class='label_end'>":</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>#ff0000</span><span class='tstring_end'>"</span></span>
|
149
|
+
<span class='rbrace'>}</span>
|
150
|
+
<span class='rbracket'>]</span>
|
151
|
+
</code></pre>
|
152
|
+
|
153
|
+
<p>(Note that font size is given in <em>half points</em> and spacing in
|
154
|
+
<em>twentieth points</em>, or “twips” using the somewhat disagreeable
|
155
|
+
abbreviation, in accord with the RTF specification.)</p>
|
156
|
+
|
157
|
+
<p>Create a RTF document object using the settings needed for your document,
|
158
|
+
then build your document and save it in an RTF file:</p>
|
159
|
+
|
160
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rrtf</span><span class='tstring_end'>'</span></span>
|
161
|
+
<span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>JSON</span><span class='tstring_end'>'</span></span>
|
162
|
+
|
163
|
+
<span class='id identifier rubyid_raw_styles'>raw_styles</span> <span class='op'>=</span> <span class='const'>JSON</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>styles.json</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
164
|
+
|
165
|
+
<span class='id identifier rubyid_rtf'>rtf</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="RRTF.html" title="RRTF (module)">RRTF</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="RRTF/Document.html" title="RRTF::Document (class)">Document</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="RRTF/Document.html#initialize-instance_method" title="RRTF::Document#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>stylesheet</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='id identifier rubyid_raw_styles'>raw_styles</span><span class='rparen'>)</span>
|
166
|
+
<span class='id identifier rubyid_styles'>styles</span> <span class='op'>=</span> <span class='id identifier rubyid_rtf'>rtf</span><span class='period'>.</span><span class='id identifier rubyid_stylesheet'>stylesheet</span><span class='period'>.</span><span class='id identifier rubyid_styles'>styles</span>
|
167
|
+
|
168
|
+
<span class='id identifier rubyid_rtf'>rtf</span><span class='period'>.</span><span class='id identifier rubyid_paragraph'>paragraph</span><span class='lparen'>(</span><span class='id identifier rubyid_styles'>styles</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>TITLE</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>RedShirts 101</span><span class='tstring_end'>"</span></span>
|
169
|
+
<span class='id identifier rubyid_rtf'>rtf</span><span class='period'>.</span><span class='id identifier rubyid_paragraph'>paragraph</span><span class='lparen'>(</span><span class='id identifier rubyid_styles'>styles</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>BODY</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_p'>p</span><span class='op'>|</span>
|
170
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Should you ever find yourself on a spacefaring vessel wearing a</span><span class='tstring_end'>"</span></span>
|
171
|
+
<span class='id identifier rubyid_p'>p</span><span class='period'>.</span><span class='id identifier rubyid_apply'>apply</span><span class='lparen'>(</span><span class='id identifier rubyid_styles'>styles</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>EMPH</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> red </span><span class='tstring_end'>"</span></span>
|
172
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>shirt, take heed and be on guard, for danger is immanent and you are </span><span class='tstring_end'>"</span></span>
|
173
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>likely expendable among the crew...</span><span class='tstring_end'>"</span></span>
|
174
|
+
<span class='kw'>end</span>
|
175
|
+
<span class='id identifier rubyid_rtf'>rtf</span><span class='period'>.</span><span class='id identifier rubyid_paragraph'>paragraph</span><span class='lparen'>(</span><span class='id identifier rubyid_styles'>styles</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>H1</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>1. The Danger of Away Missions</span><span class='tstring_end'>"</span></span>
|
176
|
+
<span class='id identifier rubyid_rtf'>rtf</span><span class='period'>.</span><span class='id identifier rubyid_paragraph'>paragraph</span><span class='lparen'>(</span><span class='id identifier rubyid_styles'>styles</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>BODY</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_p'>p</span><span class='op'>|</span>
|
177
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>If you're ever assigned an away mission, it's almost certain to be your doom. </span><span class='tstring_end'>"</span></span>
|
178
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>The optimal strategy is to avoid away missions to begin with...</span><span class='tstring_end'>"</span></span>
|
179
|
+
<span class='kw'>end</span>
|
180
|
+
<span class='id identifier rubyid_rtf'>rtf</span><span class='period'>.</span><span class='id identifier rubyid_paragraph'>paragraph</span><span class='lparen'>(</span><span class='id identifier rubyid_styles'>styles</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>H1</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>2. Avoiding High-Ranking Officers</span><span class='tstring_end'>"</span></span>
|
181
|
+
<span class='id identifier rubyid_rtf'>rtf</span><span class='period'>.</span><span class='id identifier rubyid_paragraph'>paragraph</span><span class='lparen'>(</span><span class='id identifier rubyid_styles'>styles</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>BODY</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_p'>p</span><span class='op'>|</span>
|
182
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>You're likely to notice an influx of unfortunate outcomes around </span><span class='tstring_end'>"</span></span>
|
183
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>certain high-ranking officers. Its to your advantage to quickly identify and </span><span class='tstring_end'>"</span></span>
|
184
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>avoid these officers...</span><span class='tstring_end'>"</span></span>
|
185
|
+
<span class='kw'>end</span>
|
186
|
+
</code></pre>
|
187
|
+
|
188
|
+
<p><img src="examples/01_mac_word15_36.png"></p>
|
189
|
+
|
190
|
+
<h2 id="label-Development">Development</h2>
|
191
|
+
|
192
|
+
<p>After checking out the repo, run <code>bin/setup</code> to install
|
193
|
+
dependencies. Then, run <code>rake spec</code> to run the tests. You can
|
194
|
+
also run <code>bin/console</code> for an interactive prompt that will allow
|
195
|
+
you to experiment.</p>
|
196
|
+
|
197
|
+
<p>To install this gem onto your local machine, run <code>bundle exec rake
|
198
|
+
install</code>. To release a new version, update the version number in
|
199
|
+
<code>version.rb</code>, and then run <code>bundle exec rake
|
200
|
+
release</code>, which will create a git tag for the version, push git
|
201
|
+
commits and tags, and push the <code>.gem</code> file to <a
|
202
|
+
href="https://rubygems.org">rubygems.org</a>.</p>
|
203
|
+
|
204
|
+
<h2 id="label-Contributing">Contributing</h2>
|
205
|
+
|
206
|
+
<p>Bug reports and pull requests are welcome on GitHub at <a
|
207
|
+
href="https://github.com/whileman133/rrtf">github.com/whileman133/rrtf</a>.</p>
|
208
|
+
|
209
|
+
<h2 id="label-License">License</h2>
|
210
|
+
|
211
|
+
<p>Just like ifad-rtf, this gem is available as open source under the terms of
|
212
|
+
the <a href="http://opensource.org/licenses/MIT">MIT License</a>.</p>
|
213
|
+
</div></div>
|
214
|
+
|
215
|
+
<div id="footer">
|
216
|
+
Generated on Mon Jul 24 15:48:59 2017 by
|
217
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
218
|
+
0.9.9 (ruby-2.3.3).
|
219
|
+
</div>
|
220
|
+
|
221
|
+
</div>
|
222
|
+
</body>
|
223
|
+
</html>
|