structured_text_renderer 0.0.1
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 +7 -0
- data/.gitignore +7 -0
- data/.rspec +1 -0
- data/.rubocop.yml +27 -0
- data/.rubocop_todo.yml +35 -0
- data/.travis.yml +13 -0
- data/.yardopts +4 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +110 -0
- data/Guardfile +24 -0
- data/LICENSE.txt +21 -0
- data/README.md +87 -0
- data/Rakefile +33 -0
- data/coverage/.last_run.json +5 -0
- data/coverage/.resultset.json +1366 -0
- data/coverage/.resultset.json.lock +0 -0
- data/coverage/assets/0.10.2/application.css +799 -0
- data/coverage/assets/0.10.2/application.js +1707 -0
- data/coverage/assets/0.10.2/colorbox/border.png +0 -0
- data/coverage/assets/0.10.2/colorbox/controls.png +0 -0
- data/coverage/assets/0.10.2/colorbox/loading.gif +0 -0
- data/coverage/assets/0.10.2/colorbox/loading_background.png +0 -0
- data/coverage/assets/0.10.2/favicon_green.png +0 -0
- data/coverage/assets/0.10.2/favicon_red.png +0 -0
- data/coverage/assets/0.10.2/favicon_yellow.png +0 -0
- data/coverage/assets/0.10.2/loading.gif +0 -0
- data/coverage/assets/0.10.2/magnify.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/coverage/assets/0.10.2/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/coverage/index.html +9110 -0
- data/doc/StructuredTextRenderer/BaseBlockRenderer.html +248 -0
- data/doc/StructuredTextRenderer/BaseInlineRenderer.html +242 -0
- data/doc/StructuredTextRenderer/BaseNodeRenderer.html +300 -0
- data/doc/StructuredTextRenderer/BoldRenderer.html +169 -0
- data/doc/StructuredTextRenderer/CodeRenderer.html +169 -0
- data/doc/StructuredTextRenderer/DocumentRenderer.html +242 -0
- data/doc/StructuredTextRenderer/EntryBlockRenderer.html +239 -0
- data/doc/StructuredTextRenderer/HeadingFiveRenderer.html +169 -0
- data/doc/StructuredTextRenderer/HeadingFourRenderer.html +169 -0
- data/doc/StructuredTextRenderer/HeadingOneRenderer.html +169 -0
- data/doc/StructuredTextRenderer/HeadingSixRenderer.html +169 -0
- data/doc/StructuredTextRenderer/HeadingThreeRenderer.html +169 -0
- data/doc/StructuredTextRenderer/HeadingTwoRenderer.html +169 -0
- data/doc/StructuredTextRenderer/HrRenderer.html +238 -0
- data/doc/StructuredTextRenderer/HyperlinkRenderer.html +254 -0
- data/doc/StructuredTextRenderer/ItalicRenderer.html +169 -0
- data/doc/StructuredTextRenderer/ListItemRenderer.html +169 -0
- data/doc/StructuredTextRenderer/NullRenderer.html +238 -0
- data/doc/StructuredTextRenderer/OrderedListRenderer.html +169 -0
- data/doc/StructuredTextRenderer/ParagraphRenderer.html +169 -0
- data/doc/StructuredTextRenderer/QuoteRenderer.html +169 -0
- data/doc/StructuredTextRenderer/Renderer.html +349 -0
- data/doc/StructuredTextRenderer/TextRenderer.html +254 -0
- data/doc/StructuredTextRenderer/UnderlineRenderer.html +169 -0
- data/doc/StructuredTextRenderer/UnorderedListRenderer.html +169 -0
- data/doc/StructuredTextRenderer.html +155 -0
- data/doc/_index.html +403 -0
- data/doc/class_list.html +51 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +58 -0
- data/doc/css/style.css +496 -0
- data/doc/file.CHANGELOG.html +77 -0
- data/doc/file.LICENSE.html +70 -0
- data/doc/file.README.html +171 -0
- data/doc/file_list.html +66 -0
- data/doc/frames.html +17 -0
- data/doc/index.html +171 -0
- data/doc/js/app.js +292 -0
- data/doc/js/full_list.js +216 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +147 -0
- data/doc/top-level-namespace.html +110 -0
- data/lib/structured_text_renderer/base_node_renderer.rb +18 -0
- data/lib/structured_text_renderer/block_renderers/base_block_renderer.rb +20 -0
- data/lib/structured_text_renderer/block_renderers/entry_block_renderer.rb +13 -0
- data/lib/structured_text_renderer/block_renderers/heading_five_renderer.rb +12 -0
- data/lib/structured_text_renderer/block_renderers/heading_four_renderer.rb +12 -0
- data/lib/structured_text_renderer/block_renderers/heading_one_renderer.rb +12 -0
- data/lib/structured_text_renderer/block_renderers/heading_six_renderer.rb +12 -0
- data/lib/structured_text_renderer/block_renderers/heading_three_renderer.rb +12 -0
- data/lib/structured_text_renderer/block_renderers/heading_two_renderer.rb +12 -0
- data/lib/structured_text_renderer/block_renderers/hr_renderer.rb +11 -0
- data/lib/structured_text_renderer/block_renderers/hyperlink_renderer.rb +15 -0
- data/lib/structured_text_renderer/block_renderers/list_item_renderer.rb +12 -0
- data/lib/structured_text_renderer/block_renderers/ordered_list_renderer.rb +12 -0
- data/lib/structured_text_renderer/block_renderers/paragraph_renderer.rb +12 -0
- data/lib/structured_text_renderer/block_renderers/quote_renderer.rb +12 -0
- data/lib/structured_text_renderer/block_renderers/unordered_list_renderer.rb +12 -0
- data/lib/structured_text_renderer/block_renderers.rb +18 -0
- data/lib/structured_text_renderer/document_renderers/document_renderer.rb +13 -0
- data/lib/structured_text_renderer/document_renderers.rb +1 -0
- data/lib/structured_text_renderer/null_renderer.rb +19 -0
- data/lib/structured_text_renderer/renderer.rb +46 -0
- data/lib/structured_text_renderer/text_renderers/base_inline_renderer.rb +17 -0
- data/lib/structured_text_renderer/text_renderers/bold_renderer.rb +12 -0
- data/lib/structured_text_renderer/text_renderers/code_renderer.rb +12 -0
- data/lib/structured_text_renderer/text_renderers/italic_renderer.rb +12 -0
- data/lib/structured_text_renderer/text_renderers/text_renderer.rb +19 -0
- data/lib/structured_text_renderer/text_renderers/underline_renderer.rb +12 -0
- data/lib/structured_text_renderer/text_renderers.rb +5 -0
- data/lib/structured_text_renderer/version.rb +4 -0
- data/lib/structured_text_renderer.rb +2 -0
- data/spec/lib/structured_text_renderer/block_renderers/base_block_renderer_spec.rb +26 -0
- data/spec/lib/structured_text_renderer/block_renderers/entry_block_renderer_spec.rb +15 -0
- data/spec/lib/structured_text_renderer/block_renderers/heading_five_renderer_spec.rb +24 -0
- data/spec/lib/structured_text_renderer/block_renderers/heading_four_renderer_spec.rb +24 -0
- data/spec/lib/structured_text_renderer/block_renderers/heading_one_renderer_spec.rb +24 -0
- data/spec/lib/structured_text_renderer/block_renderers/heading_six_renderer_spec.rb +24 -0
- data/spec/lib/structured_text_renderer/block_renderers/heading_three_renderer_spec.rb +24 -0
- data/spec/lib/structured_text_renderer/block_renderers/heading_two_renderer_spec.rb +24 -0
- data/spec/lib/structured_text_renderer/block_renderers/hr_renderer_spec.rb +13 -0
- data/spec/lib/structured_text_renderer/block_renderers/hyperlink_renderer_spec.rb +24 -0
- data/spec/lib/structured_text_renderer/block_renderers/list_item_renderer_spec.rb +24 -0
- data/spec/lib/structured_text_renderer/block_renderers/ordered_list_renderer_spec.rb +56 -0
- data/spec/lib/structured_text_renderer/block_renderers/paragraph_renderer_spec.rb +24 -0
- data/spec/lib/structured_text_renderer/block_renderers/quote_renderer_spec.rb +25 -0
- data/spec/lib/structured_text_renderer/block_renderers/unordered_list_renderer_spec.rb +56 -0
- data/spec/lib/structured_text_renderer/document_renderers/document_renderer_spec.rb +42 -0
- data/spec/lib/structured_text_renderer/null_renderer_spec.rb +19 -0
- data/spec/lib/structured_text_renderer/renderer_spec.rb +308 -0
- data/spec/lib/structured_text_renderer/text_renderers/base_inline_renderer_spec.rb +11 -0
- data/spec/lib/structured_text_renderer/text_renderers/bold_renderer_spec.rb +11 -0
- data/spec/lib/structured_text_renderer/text_renderers/code_renderer_spec.rb +11 -0
- data/spec/lib/structured_text_renderer/text_renderers/italic_renderer_spec.rb +11 -0
- data/spec/lib/structured_text_renderer/text_renderers/text_renderer_spec.rb +53 -0
- data/spec/lib/structured_text_renderer/text_renderers/underline_renderer_spec.rb +11 -0
- data/spec/spec_helper.rb +82 -0
- data/structured_text_renderer.gemspec +30 -0
- metadata +361 -0
|
@@ -0,0 +1,171 @@
|
|
|
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.16
|
|
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-Contentful+Structured+Text+Renderer">Contentful Structured Text Renderer</h1>
|
|
62
|
+
|
|
63
|
+
<p><a href="https://www.contentful.com">Contentful</a> provides a content
|
|
64
|
+
infrastructure for digital teams to power content in websites, apps, and
|
|
65
|
+
devices. Unlike a CMS, Contentful was built to integrate with the modern
|
|
66
|
+
software stack. It offers a central hub for structured content, powerful
|
|
67
|
+
management and delivery APIs, and a customizable web app that enable
|
|
68
|
+
developers and content creators to ship digital products faster.</p>
|
|
69
|
+
|
|
70
|
+
<p>This library provides rendering capabilities for the
|
|
71
|
+
<code>StructuredText</code> field type. It is recommended to be used
|
|
72
|
+
alongside the <a
|
|
73
|
+
href="https://www.github.com/contentful/contentful.rb">Contentful Delivery
|
|
74
|
+
SDK</a>. By default this library will serialize <code>StructuredText</code>
|
|
75
|
+
fields into it's corresponding HTML representation. All behaviour can
|
|
76
|
+
be overridden to serialize to different formats.</p>
|
|
77
|
+
|
|
78
|
+
<h2 id="label-Installation">Installation</h2>
|
|
79
|
+
|
|
80
|
+
<p>Install Contentful Structured Text Renderer from RubyGems:</p>
|
|
81
|
+
|
|
82
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_gem'>gem</span> <span class='id identifier rubyid_install'>install</span> <span class='id identifier rubyid_structured_text_renderer'>structured_text_renderer</span>
|
|
83
|
+
</code></pre>
|
|
84
|
+
|
|
85
|
+
<h2 id="label-Usage">Usage</h2>
|
|
86
|
+
|
|
87
|
+
<p>Create a renderer:</p>
|
|
88
|
+
|
|
89
|
+
<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'>structured_text_renderer</span><span class='tstring_end'>'</span></span>
|
|
90
|
+
|
|
91
|
+
<span class='id identifier rubyid_renderer'>renderer</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="StructuredTextRenderer.html" title="StructuredTextRenderer (module)">StructuredTextRenderer</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="StructuredTextRenderer/Renderer.html" title="StructuredTextRenderer::Renderer (class)">Renderer</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="StructuredTextRenderer/Renderer.html#initialize-instance_method" title="StructuredTextRenderer::Renderer#initialize (method)">new</a></span></span>
|
|
92
|
+
</code></pre>
|
|
93
|
+
|
|
94
|
+
<p>Render your document:</p>
|
|
95
|
+
|
|
96
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_renderer'>renderer</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_document'>document</span><span class='rparen'>)</span>
|
|
97
|
+
</code></pre>
|
|
98
|
+
|
|
99
|
+
<h2 id="label-Using+different+renderers">Using different renderers</h2>
|
|
100
|
+
|
|
101
|
+
<p>There are many cases in which HTML serialization is not what you want.
|
|
102
|
+
Therefore, all renderers are overridable when creating a
|
|
103
|
+
<code>StructuredTextRenderer</code>.</p>
|
|
104
|
+
|
|
105
|
+
<p>Also, if you're planning to embed entries within your structured text,
|
|
106
|
+
overriding the <code>'embedded-entry-block'</code> mapping is a
|
|
107
|
+
must, as by default it only does
|
|
108
|
+
<code><div>#{entry.to_s}</div></code>.</p>
|
|
109
|
+
|
|
110
|
+
<p>You can override the configuration like follows:</p>
|
|
111
|
+
|
|
112
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_renderer'>renderer</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="StructuredTextRenderer.html" title="StructuredTextRenderer (module)">StructuredTextRenderer</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="StructuredTextRenderer/Renderer.html" title="StructuredTextRenderer::Renderer (class)">Renderer</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="StructuredTextRenderer/Renderer.html#initialize-instance_method" title="StructuredTextRenderer::Renderer#initialize (method)">new</a></span></span><span class='lparen'>(</span>
|
|
113
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>embedded-entry-block</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='const'>MyEntryBlockRenderer</span>
|
|
114
|
+
<span class='rparen'>)</span>
|
|
115
|
+
</code></pre>
|
|
116
|
+
|
|
117
|
+
<p>Where <code>MyEntryBlockRenderer</code> requires to have a
|
|
118
|
+
<code>#render(node)</code> method and needs to return a string.</p>
|
|
119
|
+
|
|
120
|
+
<p>An example entry renderer, assuming our entry has 2 fields called
|
|
121
|
+
<code>name</code> and <code>description</code> could be:</p>
|
|
122
|
+
|
|
123
|
+
<pre class="code ruby"><code class="ruby"><span class='kw'>class</span> <span class='const'>MyEntryBlockRenderer</span> <span class='op'><</span> <span class='const'><span class='object_link'><a href="StructuredTextRenderer.html" title="StructuredTextRenderer (module)">StructuredTextRenderer</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="StructuredTextRenderer/BaseNodeRenderer.html" title="StructuredTextRenderer::BaseNodeRenderer (class)">BaseNodeRenderer</a></span></span>
|
|
124
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='rparen'>)</span>
|
|
125
|
+
<span class='id identifier rubyid_entry'>entry</span> <span class='op'>=</span> <span class='id identifier rubyid_node'>node</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>data</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
|
|
126
|
+
|
|
127
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'><div class='my-entry'><h3></span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entry'>entry</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'></h3><p><small></span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entry'>entry</span><span class='period'>.</span><span class='id identifier rubyid_description'>description</span><span class='embexpr_end'>}</span><span class='tstring_content'></p></small></div></span><span class='tstring_end'>"</span></span>
|
|
128
|
+
<span class='kw'>end</span>
|
|
129
|
+
<span class='kw'>end</span>
|
|
130
|
+
</code></pre>
|
|
131
|
+
|
|
132
|
+
<h2 id="label-Dealing+with+unknown+node+types">Dealing with unknown node types</h2>
|
|
133
|
+
|
|
134
|
+
<p>By default, this gem will treat all unknown node types as errors and will
|
|
135
|
+
raise an exception letting the user know which node mapping is missing. If
|
|
136
|
+
you wish to remove this behaviour then replace the <code>nil</code> key of
|
|
137
|
+
the mapping with a NullRenderer that returns an empty string, or something
|
|
138
|
+
similar.</p>
|
|
139
|
+
|
|
140
|
+
<p>An example would be like follows:</p>
|
|
141
|
+
|
|
142
|
+
<pre class="code ruby"><code class="ruby"><span class='kw'>class</span> <span class='const'>SilentNullRenderer</span> <span class='op'><</span> <span class='const'><span class='object_link'><a href="StructuredTextRenderer.html" title="StructuredTextRenderer (module)">StructuredTextRenderer</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="StructuredTextRenderer/BaseNodeRenderer.html" title="StructuredTextRenderer::BaseNodeRenderer (class)">BaseNodeRenderer</a></span></span>
|
|
143
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='rparen'>)</span>
|
|
144
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
|
145
|
+
<span class='kw'>end</span>
|
|
146
|
+
<span class='kw'>end</span>
|
|
147
|
+
|
|
148
|
+
<span class='id identifier rubyid_renderer'>renderer</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="StructuredTextRenderer.html" title="StructuredTextRenderer (module)">StructuredTextRenderer</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="StructuredTextRenderer/Renderer.html" title="StructuredTextRenderer::Renderer (class)">Renderer</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="StructuredTextRenderer/Renderer.html#initialize-instance_method" title="StructuredTextRenderer::Renderer#initialize (method)">new</a></span></span><span class='lparen'>(</span>
|
|
149
|
+
<span class='kw'>nil</span> <span class='op'>=></span> <span class='const'>SilentNullRenderer</span>
|
|
150
|
+
<span class='rparen'>)</span>
|
|
151
|
+
</code></pre>
|
|
152
|
+
|
|
153
|
+
<h2 id="label-License">License</h2>
|
|
154
|
+
|
|
155
|
+
<p>Copyright © 2018 Contentful GmbH. See <a href="./LICENSE">LICENSE</a> for
|
|
156
|
+
further details.</p>
|
|
157
|
+
|
|
158
|
+
<h2 id="label-Contributing">Contributing</h2>
|
|
159
|
+
|
|
160
|
+
<p>Feel free to improve this tool by submitting a Pull Request.</p>
|
|
161
|
+
</div></div>
|
|
162
|
+
|
|
163
|
+
<div id="footer">
|
|
164
|
+
Generated on Wed Sep 26 11:28:08 2018 by
|
|
165
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
166
|
+
0.9.16 (ruby-2.5.1).
|
|
167
|
+
</div>
|
|
168
|
+
|
|
169
|
+
</div>
|
|
170
|
+
</body>
|
|
171
|
+
</html>
|
data/doc/file_list.html
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
<li id="object_CHANGELOG" class="even">
|
|
53
|
+
<div class="item"><span class="object_link"><a href="file.CHANGELOG.html" title="CHANGELOG">CHANGELOG</a></span></div>
|
|
54
|
+
</li>
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
<li id="object_LICENSE" class="odd">
|
|
58
|
+
<div class="item"><span class="object_link"><a href="file.LICENSE.html" title="LICENSE">LICENSE</a></span></div>
|
|
59
|
+
</li>
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
</ul>
|
|
64
|
+
</div>
|
|
65
|
+
</body>
|
|
66
|
+
</html>
|
data/doc/frames.html
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<title>Documentation by YARD 0.9.16</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>
|
data/doc/index.html
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
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.16
|
|
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-Contentful+Structured+Text+Renderer">Contentful Structured Text Renderer</h1>
|
|
62
|
+
|
|
63
|
+
<p><a href="https://www.contentful.com">Contentful</a> provides a content
|
|
64
|
+
infrastructure for digital teams to power content in websites, apps, and
|
|
65
|
+
devices. Unlike a CMS, Contentful was built to integrate with the modern
|
|
66
|
+
software stack. It offers a central hub for structured content, powerful
|
|
67
|
+
management and delivery APIs, and a customizable web app that enable
|
|
68
|
+
developers and content creators to ship digital products faster.</p>
|
|
69
|
+
|
|
70
|
+
<p>This library provides rendering capabilities for the
|
|
71
|
+
<code>StructuredText</code> field type. It is recommended to be used
|
|
72
|
+
alongside the <a
|
|
73
|
+
href="https://www.github.com/contentful/contentful.rb">Contentful Delivery
|
|
74
|
+
SDK</a>. By default this library will serialize <code>StructuredText</code>
|
|
75
|
+
fields into it's corresponding HTML representation. All behaviour can
|
|
76
|
+
be overridden to serialize to different formats.</p>
|
|
77
|
+
|
|
78
|
+
<h2 id="label-Installation">Installation</h2>
|
|
79
|
+
|
|
80
|
+
<p>Install Contentful Structured Text Renderer from RubyGems:</p>
|
|
81
|
+
|
|
82
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_gem'>gem</span> <span class='id identifier rubyid_install'>install</span> <span class='id identifier rubyid_structured_text_renderer'>structured_text_renderer</span>
|
|
83
|
+
</code></pre>
|
|
84
|
+
|
|
85
|
+
<h2 id="label-Usage">Usage</h2>
|
|
86
|
+
|
|
87
|
+
<p>Create a renderer:</p>
|
|
88
|
+
|
|
89
|
+
<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'>structured_text_renderer</span><span class='tstring_end'>'</span></span>
|
|
90
|
+
|
|
91
|
+
<span class='id identifier rubyid_renderer'>renderer</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="StructuredTextRenderer.html" title="StructuredTextRenderer (module)">StructuredTextRenderer</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="StructuredTextRenderer/Renderer.html" title="StructuredTextRenderer::Renderer (class)">Renderer</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="StructuredTextRenderer/Renderer.html#initialize-instance_method" title="StructuredTextRenderer::Renderer#initialize (method)">new</a></span></span>
|
|
92
|
+
</code></pre>
|
|
93
|
+
|
|
94
|
+
<p>Render your document:</p>
|
|
95
|
+
|
|
96
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_renderer'>renderer</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_document'>document</span><span class='rparen'>)</span>
|
|
97
|
+
</code></pre>
|
|
98
|
+
|
|
99
|
+
<h2 id="label-Using+different+renderers">Using different renderers</h2>
|
|
100
|
+
|
|
101
|
+
<p>There are many cases in which HTML serialization is not what you want.
|
|
102
|
+
Therefore, all renderers are overridable when creating a
|
|
103
|
+
<code>StructuredTextRenderer</code>.</p>
|
|
104
|
+
|
|
105
|
+
<p>Also, if you're planning to embed entries within your structured text,
|
|
106
|
+
overriding the <code>'embedded-entry-block'</code> mapping is a
|
|
107
|
+
must, as by default it only does
|
|
108
|
+
<code><div>#{entry.to_s}</div></code>.</p>
|
|
109
|
+
|
|
110
|
+
<p>You can override the configuration like follows:</p>
|
|
111
|
+
|
|
112
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_renderer'>renderer</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="StructuredTextRenderer.html" title="StructuredTextRenderer (module)">StructuredTextRenderer</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="StructuredTextRenderer/Renderer.html" title="StructuredTextRenderer::Renderer (class)">Renderer</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="StructuredTextRenderer/Renderer.html#initialize-instance_method" title="StructuredTextRenderer::Renderer#initialize (method)">new</a></span></span><span class='lparen'>(</span>
|
|
113
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>embedded-entry-block</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='const'>MyEntryBlockRenderer</span>
|
|
114
|
+
<span class='rparen'>)</span>
|
|
115
|
+
</code></pre>
|
|
116
|
+
|
|
117
|
+
<p>Where <code>MyEntryBlockRenderer</code> requires to have a
|
|
118
|
+
<code>#render(node)</code> method and needs to return a string.</p>
|
|
119
|
+
|
|
120
|
+
<p>An example entry renderer, assuming our entry has 2 fields called
|
|
121
|
+
<code>name</code> and <code>description</code> could be:</p>
|
|
122
|
+
|
|
123
|
+
<pre class="code ruby"><code class="ruby"><span class='kw'>class</span> <span class='const'>MyEntryBlockRenderer</span> <span class='op'><</span> <span class='const'><span class='object_link'><a href="StructuredTextRenderer.html" title="StructuredTextRenderer (module)">StructuredTextRenderer</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="StructuredTextRenderer/BaseNodeRenderer.html" title="StructuredTextRenderer::BaseNodeRenderer (class)">BaseNodeRenderer</a></span></span>
|
|
124
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='rparen'>)</span>
|
|
125
|
+
<span class='id identifier rubyid_entry'>entry</span> <span class='op'>=</span> <span class='id identifier rubyid_node'>node</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>data</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
|
|
126
|
+
|
|
127
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'><div class='my-entry'><h3></span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entry'>entry</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'></h3><p><small></span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entry'>entry</span><span class='period'>.</span><span class='id identifier rubyid_description'>description</span><span class='embexpr_end'>}</span><span class='tstring_content'></p></small></div></span><span class='tstring_end'>"</span></span>
|
|
128
|
+
<span class='kw'>end</span>
|
|
129
|
+
<span class='kw'>end</span>
|
|
130
|
+
</code></pre>
|
|
131
|
+
|
|
132
|
+
<h2 id="label-Dealing+with+unknown+node+types">Dealing with unknown node types</h2>
|
|
133
|
+
|
|
134
|
+
<p>By default, this gem will treat all unknown node types as errors and will
|
|
135
|
+
raise an exception letting the user know which node mapping is missing. If
|
|
136
|
+
you wish to remove this behaviour then replace the <code>nil</code> key of
|
|
137
|
+
the mapping with a NullRenderer that returns an empty string, or something
|
|
138
|
+
similar.</p>
|
|
139
|
+
|
|
140
|
+
<p>An example would be like follows:</p>
|
|
141
|
+
|
|
142
|
+
<pre class="code ruby"><code class="ruby"><span class='kw'>class</span> <span class='const'>SilentNullRenderer</span> <span class='op'><</span> <span class='const'><span class='object_link'><a href="StructuredTextRenderer.html" title="StructuredTextRenderer (module)">StructuredTextRenderer</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="StructuredTextRenderer/BaseNodeRenderer.html" title="StructuredTextRenderer::BaseNodeRenderer (class)">BaseNodeRenderer</a></span></span>
|
|
143
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='rparen'>)</span>
|
|
144
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
|
145
|
+
<span class='kw'>end</span>
|
|
146
|
+
<span class='kw'>end</span>
|
|
147
|
+
|
|
148
|
+
<span class='id identifier rubyid_renderer'>renderer</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="StructuredTextRenderer.html" title="StructuredTextRenderer (module)">StructuredTextRenderer</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="StructuredTextRenderer/Renderer.html" title="StructuredTextRenderer::Renderer (class)">Renderer</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="StructuredTextRenderer/Renderer.html#initialize-instance_method" title="StructuredTextRenderer::Renderer#initialize (method)">new</a></span></span><span class='lparen'>(</span>
|
|
149
|
+
<span class='kw'>nil</span> <span class='op'>=></span> <span class='const'>SilentNullRenderer</span>
|
|
150
|
+
<span class='rparen'>)</span>
|
|
151
|
+
</code></pre>
|
|
152
|
+
|
|
153
|
+
<h2 id="label-License">License</h2>
|
|
154
|
+
|
|
155
|
+
<p>Copyright © 2018 Contentful GmbH. See <a href="./LICENSE">LICENSE</a> for
|
|
156
|
+
further details.</p>
|
|
157
|
+
|
|
158
|
+
<h2 id="label-Contributing">Contributing</h2>
|
|
159
|
+
|
|
160
|
+
<p>Feel free to improve this tool by submitting a Pull Request.</p>
|
|
161
|
+
</div></div>
|
|
162
|
+
|
|
163
|
+
<div id="footer">
|
|
164
|
+
Generated on Wed Sep 26 11:28:08 2018 by
|
|
165
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
166
|
+
0.9.16 (ruby-2.5.1).
|
|
167
|
+
</div>
|
|
168
|
+
|
|
169
|
+
</div>
|
|
170
|
+
</body>
|
|
171
|
+
</html>
|