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.
Files changed (141) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/.rspec +1 -0
  4. data/.rubocop.yml +27 -0
  5. data/.rubocop_todo.yml +35 -0
  6. data/.travis.yml +13 -0
  7. data/.yardopts +4 -0
  8. data/CHANGELOG.md +5 -0
  9. data/Gemfile +3 -0
  10. data/Gemfile.lock +110 -0
  11. data/Guardfile +24 -0
  12. data/LICENSE.txt +21 -0
  13. data/README.md +87 -0
  14. data/Rakefile +33 -0
  15. data/coverage/.last_run.json +5 -0
  16. data/coverage/.resultset.json +1366 -0
  17. data/coverage/.resultset.json.lock +0 -0
  18. data/coverage/assets/0.10.2/application.css +799 -0
  19. data/coverage/assets/0.10.2/application.js +1707 -0
  20. data/coverage/assets/0.10.2/colorbox/border.png +0 -0
  21. data/coverage/assets/0.10.2/colorbox/controls.png +0 -0
  22. data/coverage/assets/0.10.2/colorbox/loading.gif +0 -0
  23. data/coverage/assets/0.10.2/colorbox/loading_background.png +0 -0
  24. data/coverage/assets/0.10.2/favicon_green.png +0 -0
  25. data/coverage/assets/0.10.2/favicon_red.png +0 -0
  26. data/coverage/assets/0.10.2/favicon_yellow.png +0 -0
  27. data/coverage/assets/0.10.2/loading.gif +0 -0
  28. data/coverage/assets/0.10.2/magnify.png +0 -0
  29. data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  30. data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  31. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  32. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  33. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  34. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  35. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  36. data/coverage/assets/0.10.2/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  37. data/coverage/assets/0.10.2/smoothness/images/ui-icons_222222_256x240.png +0 -0
  38. data/coverage/assets/0.10.2/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  39. data/coverage/assets/0.10.2/smoothness/images/ui-icons_454545_256x240.png +0 -0
  40. data/coverage/assets/0.10.2/smoothness/images/ui-icons_888888_256x240.png +0 -0
  41. data/coverage/assets/0.10.2/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  42. data/coverage/index.html +9110 -0
  43. data/doc/StructuredTextRenderer/BaseBlockRenderer.html +248 -0
  44. data/doc/StructuredTextRenderer/BaseInlineRenderer.html +242 -0
  45. data/doc/StructuredTextRenderer/BaseNodeRenderer.html +300 -0
  46. data/doc/StructuredTextRenderer/BoldRenderer.html +169 -0
  47. data/doc/StructuredTextRenderer/CodeRenderer.html +169 -0
  48. data/doc/StructuredTextRenderer/DocumentRenderer.html +242 -0
  49. data/doc/StructuredTextRenderer/EntryBlockRenderer.html +239 -0
  50. data/doc/StructuredTextRenderer/HeadingFiveRenderer.html +169 -0
  51. data/doc/StructuredTextRenderer/HeadingFourRenderer.html +169 -0
  52. data/doc/StructuredTextRenderer/HeadingOneRenderer.html +169 -0
  53. data/doc/StructuredTextRenderer/HeadingSixRenderer.html +169 -0
  54. data/doc/StructuredTextRenderer/HeadingThreeRenderer.html +169 -0
  55. data/doc/StructuredTextRenderer/HeadingTwoRenderer.html +169 -0
  56. data/doc/StructuredTextRenderer/HrRenderer.html +238 -0
  57. data/doc/StructuredTextRenderer/HyperlinkRenderer.html +254 -0
  58. data/doc/StructuredTextRenderer/ItalicRenderer.html +169 -0
  59. data/doc/StructuredTextRenderer/ListItemRenderer.html +169 -0
  60. data/doc/StructuredTextRenderer/NullRenderer.html +238 -0
  61. data/doc/StructuredTextRenderer/OrderedListRenderer.html +169 -0
  62. data/doc/StructuredTextRenderer/ParagraphRenderer.html +169 -0
  63. data/doc/StructuredTextRenderer/QuoteRenderer.html +169 -0
  64. data/doc/StructuredTextRenderer/Renderer.html +349 -0
  65. data/doc/StructuredTextRenderer/TextRenderer.html +254 -0
  66. data/doc/StructuredTextRenderer/UnderlineRenderer.html +169 -0
  67. data/doc/StructuredTextRenderer/UnorderedListRenderer.html +169 -0
  68. data/doc/StructuredTextRenderer.html +155 -0
  69. data/doc/_index.html +403 -0
  70. data/doc/class_list.html +51 -0
  71. data/doc/css/common.css +1 -0
  72. data/doc/css/full_list.css +58 -0
  73. data/doc/css/style.css +496 -0
  74. data/doc/file.CHANGELOG.html +77 -0
  75. data/doc/file.LICENSE.html +70 -0
  76. data/doc/file.README.html +171 -0
  77. data/doc/file_list.html +66 -0
  78. data/doc/frames.html +17 -0
  79. data/doc/index.html +171 -0
  80. data/doc/js/app.js +292 -0
  81. data/doc/js/full_list.js +216 -0
  82. data/doc/js/jquery.js +4 -0
  83. data/doc/method_list.html +147 -0
  84. data/doc/top-level-namespace.html +110 -0
  85. data/lib/structured_text_renderer/base_node_renderer.rb +18 -0
  86. data/lib/structured_text_renderer/block_renderers/base_block_renderer.rb +20 -0
  87. data/lib/structured_text_renderer/block_renderers/entry_block_renderer.rb +13 -0
  88. data/lib/structured_text_renderer/block_renderers/heading_five_renderer.rb +12 -0
  89. data/lib/structured_text_renderer/block_renderers/heading_four_renderer.rb +12 -0
  90. data/lib/structured_text_renderer/block_renderers/heading_one_renderer.rb +12 -0
  91. data/lib/structured_text_renderer/block_renderers/heading_six_renderer.rb +12 -0
  92. data/lib/structured_text_renderer/block_renderers/heading_three_renderer.rb +12 -0
  93. data/lib/structured_text_renderer/block_renderers/heading_two_renderer.rb +12 -0
  94. data/lib/structured_text_renderer/block_renderers/hr_renderer.rb +11 -0
  95. data/lib/structured_text_renderer/block_renderers/hyperlink_renderer.rb +15 -0
  96. data/lib/structured_text_renderer/block_renderers/list_item_renderer.rb +12 -0
  97. data/lib/structured_text_renderer/block_renderers/ordered_list_renderer.rb +12 -0
  98. data/lib/structured_text_renderer/block_renderers/paragraph_renderer.rb +12 -0
  99. data/lib/structured_text_renderer/block_renderers/quote_renderer.rb +12 -0
  100. data/lib/structured_text_renderer/block_renderers/unordered_list_renderer.rb +12 -0
  101. data/lib/structured_text_renderer/block_renderers.rb +18 -0
  102. data/lib/structured_text_renderer/document_renderers/document_renderer.rb +13 -0
  103. data/lib/structured_text_renderer/document_renderers.rb +1 -0
  104. data/lib/structured_text_renderer/null_renderer.rb +19 -0
  105. data/lib/structured_text_renderer/renderer.rb +46 -0
  106. data/lib/structured_text_renderer/text_renderers/base_inline_renderer.rb +17 -0
  107. data/lib/structured_text_renderer/text_renderers/bold_renderer.rb +12 -0
  108. data/lib/structured_text_renderer/text_renderers/code_renderer.rb +12 -0
  109. data/lib/structured_text_renderer/text_renderers/italic_renderer.rb +12 -0
  110. data/lib/structured_text_renderer/text_renderers/text_renderer.rb +19 -0
  111. data/lib/structured_text_renderer/text_renderers/underline_renderer.rb +12 -0
  112. data/lib/structured_text_renderer/text_renderers.rb +5 -0
  113. data/lib/structured_text_renderer/version.rb +4 -0
  114. data/lib/structured_text_renderer.rb +2 -0
  115. data/spec/lib/structured_text_renderer/block_renderers/base_block_renderer_spec.rb +26 -0
  116. data/spec/lib/structured_text_renderer/block_renderers/entry_block_renderer_spec.rb +15 -0
  117. data/spec/lib/structured_text_renderer/block_renderers/heading_five_renderer_spec.rb +24 -0
  118. data/spec/lib/structured_text_renderer/block_renderers/heading_four_renderer_spec.rb +24 -0
  119. data/spec/lib/structured_text_renderer/block_renderers/heading_one_renderer_spec.rb +24 -0
  120. data/spec/lib/structured_text_renderer/block_renderers/heading_six_renderer_spec.rb +24 -0
  121. data/spec/lib/structured_text_renderer/block_renderers/heading_three_renderer_spec.rb +24 -0
  122. data/spec/lib/structured_text_renderer/block_renderers/heading_two_renderer_spec.rb +24 -0
  123. data/spec/lib/structured_text_renderer/block_renderers/hr_renderer_spec.rb +13 -0
  124. data/spec/lib/structured_text_renderer/block_renderers/hyperlink_renderer_spec.rb +24 -0
  125. data/spec/lib/structured_text_renderer/block_renderers/list_item_renderer_spec.rb +24 -0
  126. data/spec/lib/structured_text_renderer/block_renderers/ordered_list_renderer_spec.rb +56 -0
  127. data/spec/lib/structured_text_renderer/block_renderers/paragraph_renderer_spec.rb +24 -0
  128. data/spec/lib/structured_text_renderer/block_renderers/quote_renderer_spec.rb +25 -0
  129. data/spec/lib/structured_text_renderer/block_renderers/unordered_list_renderer_spec.rb +56 -0
  130. data/spec/lib/structured_text_renderer/document_renderers/document_renderer_spec.rb +42 -0
  131. data/spec/lib/structured_text_renderer/null_renderer_spec.rb +19 -0
  132. data/spec/lib/structured_text_renderer/renderer_spec.rb +308 -0
  133. data/spec/lib/structured_text_renderer/text_renderers/base_inline_renderer_spec.rb +11 -0
  134. data/spec/lib/structured_text_renderer/text_renderers/bold_renderer_spec.rb +11 -0
  135. data/spec/lib/structured_text_renderer/text_renderers/code_renderer_spec.rb +11 -0
  136. data/spec/lib/structured_text_renderer/text_renderers/italic_renderer_spec.rb +11 -0
  137. data/spec/lib/structured_text_renderer/text_renderers/text_renderer_spec.rb +53 -0
  138. data/spec/lib/structured_text_renderer/text_renderers/underline_renderer_spec.rb +11 -0
  139. data/spec/spec_helper.rb +82 -0
  140. data/structured_text_renderer.gemspec +30 -0
  141. 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
+ &mdash; 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> &raquo;
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&#39;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'>&#39;</span><span class='tstring_content'>structured_text_renderer</span><span class='tstring_end'>&#39;</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&#39;re planning to embed entries within your structured text,
106
+ overriding the <code>&#39;embedded-entry-block&#39;</code> mapping is a
107
+ must, as by default it only does
108
+ <code>&lt;div&gt;#{entry.to_s}&lt;/div&gt;</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'>&#39;</span><span class='tstring_content'>embedded-entry-block</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</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'>&lt;</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'>&#39;</span><span class='tstring_content'>data</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
126
+
127
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&lt;div class=&#39;my-entry&#39;&gt;&lt;h3&gt;</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'>&lt;/h3&gt;&lt;p&gt;&lt;small&gt;</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'>&lt;/p&gt;&lt;/small&gt;&lt;/div&gt;</span><span class='tstring_end'>&quot;</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'>&lt;</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'>&quot;</span><span class='tstring_end'>&quot;</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'>=&gt;</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>
@@ -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
+ &mdash; 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> &raquo;
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&#39;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'>&#39;</span><span class='tstring_content'>structured_text_renderer</span><span class='tstring_end'>&#39;</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&#39;re planning to embed entries within your structured text,
106
+ overriding the <code>&#39;embedded-entry-block&#39;</code> mapping is a
107
+ must, as by default it only does
108
+ <code>&lt;div&gt;#{entry.to_s}&lt;/div&gt;</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'>&#39;</span><span class='tstring_content'>embedded-entry-block</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</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'>&lt;</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'>&#39;</span><span class='tstring_content'>data</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
126
+
127
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&lt;div class=&#39;my-entry&#39;&gt;&lt;h3&gt;</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'>&lt;/h3&gt;&lt;p&gt;&lt;small&gt;</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'>&lt;/p&gt;&lt;/small&gt;&lt;/div&gt;</span><span class='tstring_end'>&quot;</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'>&lt;</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'>&quot;</span><span class='tstring_end'>&quot;</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'>=&gt;</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>