henshin 0.0.0

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 (176) hide show
  1. data/.document +5 -0
  2. data/.gitignore +21 -0
  3. data/.yardoc/checksums +12 -0
  4. data/.yardoc/objects/Hash.dat +0 -0
  5. data/.yardoc/objects/Hash/to_options_i.dat +0 -0
  6. data/.yardoc/objects/Henshin.dat +0 -0
  7. data/.yardoc/objects/Henshin/CSSGenerator.dat +0 -0
  8. data/.yardoc/objects/Henshin/CSSGenerator/generate_i.dat +0 -0
  9. data/.yardoc/objects/Henshin/Defaults.dat +0 -0
  10. data/.yardoc/objects/Henshin/Gen.dat +0 -0
  11. data/.yardoc/objects/Henshin/Gen/config_3D_i.dat +0 -0
  12. data/.yardoc/objects/Henshin/Gen/config_i.dat +0 -0
  13. data/.yardoc/objects/Henshin/Gen/content_3D_i.dat +0 -0
  14. data/.yardoc/objects/Henshin/Gen/content_i.dat +0 -0
  15. data/.yardoc/objects/Henshin/Gen/date_3D_i.dat +0 -0
  16. data/.yardoc/objects/Henshin/Gen/date_i.dat +0 -0
  17. data/.yardoc/objects/Henshin/Gen/extension_3D_i.dat +0 -0
  18. data/.yardoc/objects/Henshin/Gen/extension_i.dat +0 -0
  19. data/.yardoc/objects/Henshin/Gen/initialize_i.dat +0 -0
  20. data/.yardoc/objects/Henshin/Gen/layout_3D_i.dat +0 -0
  21. data/.yardoc/objects/Henshin/Gen/layout_i.dat +0 -0
  22. data/.yardoc/objects/Henshin/Gen/override_i.dat +0 -0
  23. data/.yardoc/objects/Henshin/Gen/path_3D_i.dat +0 -0
  24. data/.yardoc/objects/Henshin/Gen/path_i.dat +0 -0
  25. data/.yardoc/objects/Henshin/Gen/payload_i.dat +0 -0
  26. data/.yardoc/objects/Henshin/Gen/process_i.dat +0 -0
  27. data/.yardoc/objects/Henshin/Gen/read_yaml_i.dat +0 -0
  28. data/.yardoc/objects/Henshin/Gen/render_i.dat +0 -0
  29. data/.yardoc/objects/Henshin/Gen/site_3D_i.dat +0 -0
  30. data/.yardoc/objects/Henshin/Gen/site_i.dat +0 -0
  31. data/.yardoc/objects/Henshin/Gen/title_3D_i.dat +0 -0
  32. data/.yardoc/objects/Henshin/Gen/title_i.dat +0 -0
  33. data/.yardoc/objects/Henshin/Gen/write_i.dat +0 -0
  34. data/.yardoc/objects/Henshin/HTMLGenerator.dat +0 -0
  35. data/.yardoc/objects/Henshin/HTMLGenerator/generate_i.dat +0 -0
  36. data/.yardoc/objects/Henshin/JSGenerator.dat +0 -0
  37. data/.yardoc/objects/Henshin/JSGenerator/generate_i.dat +0 -0
  38. data/.yardoc/objects/Henshin/LayoutParser.dat +0 -0
  39. data/.yardoc/objects/Henshin/LayoutParser/generate_i.dat +0 -0
  40. data/.yardoc/objects/Henshin/Post.dat +0 -0
  41. data/.yardoc/objects/Henshin/Post/author_3D_i.dat +0 -0
  42. data/.yardoc/objects/Henshin/Post/author_i.dat +0 -0
  43. data/.yardoc/objects/Henshin/Post/category_3D_i.dat +0 -0
  44. data/.yardoc/objects/Henshin/Post/category_i.dat +0 -0
  45. data/.yardoc/objects/Henshin/Post/date_3D_i.dat +0 -0
  46. data/.yardoc/objects/Henshin/Post/date_i.dat +0 -0
  47. data/.yardoc/objects/Henshin/Post/initialize_i.dat +0 -0
  48. data/.yardoc/objects/Henshin/Post/override_i.dat +0 -0
  49. data/.yardoc/objects/Henshin/Post/payload_i.dat +0 -0
  50. data/.yardoc/objects/Henshin/Post/permalink_i.dat +0 -0
  51. data/.yardoc/objects/Henshin/Post/process_i.dat +0 -0
  52. data/.yardoc/objects/Henshin/Post/read_name_i.dat +0 -0
  53. data/.yardoc/objects/Henshin/Post/read_yaml_i.dat +0 -0
  54. data/.yardoc/objects/Henshin/Post/tags_3D_i.dat +0 -0
  55. data/.yardoc/objects/Henshin/Post/tags_i.dat +0 -0
  56. data/.yardoc/objects/Henshin/Post/title_3D_i.dat +0 -0
  57. data/.yardoc/objects/Henshin/Post/title_i.dat +0 -0
  58. data/.yardoc/objects/Henshin/Post/write_i.dat +0 -0
  59. data/.yardoc/objects/Henshin/Site.dat +0 -0
  60. data/.yardoc/objects/Henshin/Site/archives_3D_i.dat +0 -0
  61. data/.yardoc/objects/Henshin/Site/archives_i.dat +0 -0
  62. data/.yardoc/objects/Henshin/Site/categories_3D_i.dat +0 -0
  63. data/.yardoc/objects/Henshin/Site/categories_i.dat +0 -0
  64. data/.yardoc/objects/Henshin/Site/config_3D_i.dat +0 -0
  65. data/.yardoc/objects/Henshin/Site/config_i.dat +0 -0
  66. data/.yardoc/objects/Henshin/Site/gens_3D_i.dat +0 -0
  67. data/.yardoc/objects/Henshin/Site/gens_i.dat +0 -0
  68. data/.yardoc/objects/Henshin/Site/initialize_i.dat +0 -0
  69. data/.yardoc/objects/Henshin/Site/layouts_3D_i.dat +0 -0
  70. data/.yardoc/objects/Henshin/Site/layouts_i.dat +0 -0
  71. data/.yardoc/objects/Henshin/Site/payload_i.dat +0 -0
  72. data/.yardoc/objects/Henshin/Site/plugins_3D_i.dat +0 -0
  73. data/.yardoc/objects/Henshin/Site/plugins_i.dat +0 -0
  74. data/.yardoc/objects/Henshin/Site/posts_3D_i.dat +0 -0
  75. data/.yardoc/objects/Henshin/Site/posts_i.dat +0 -0
  76. data/.yardoc/objects/Henshin/Site/process_i.dat +0 -0
  77. data/.yardoc/objects/Henshin/Site/read_i.dat +0 -0
  78. data/.yardoc/objects/Henshin/Site/read_layouts_i.dat +0 -0
  79. data/.yardoc/objects/Henshin/Site/read_others_i.dat +0 -0
  80. data/.yardoc/objects/Henshin/Site/read_posts_i.dat +0 -0
  81. data/.yardoc/objects/Henshin/Site/render_i.dat +0 -0
  82. data/.yardoc/objects/Henshin/Site/reset_i.dat +0 -0
  83. data/.yardoc/objects/Henshin/Site/statics_3D_i.dat +0 -0
  84. data/.yardoc/objects/Henshin/Site/statics_i.dat +0 -0
  85. data/.yardoc/objects/Henshin/Site/tags_3D_i.dat +0 -0
  86. data/.yardoc/objects/Henshin/Site/tags_i.dat +0 -0
  87. data/.yardoc/objects/Henshin/Site/write_i.dat +0 -0
  88. data/.yardoc/objects/Henshin/StandardPlugin.dat +0 -0
  89. data/.yardoc/objects/Henshin/configure_c.dat +0 -0
  90. data/.yardoc/objects/Henshin/extensions_c.dat +0 -0
  91. data/.yardoc/objects/Henshin/load_plugins_c.dat +0 -0
  92. data/.yardoc/objects/LiquidPlugin.dat +0 -0
  93. data/.yardoc/objects/LiquidPlugin/extensions_3D_i.dat +0 -0
  94. data/.yardoc/objects/LiquidPlugin/extensions_i.dat +0 -0
  95. data/.yardoc/objects/LiquidPlugin/generate_i.dat +0 -0
  96. data/.yardoc/objects/LiquidPlugin/initialize_i.dat +0 -0
  97. data/.yardoc/objects/LiquidPlugin/read_i.dat +0 -0
  98. data/.yardoc/objects/MarukuPlugin.dat +0 -0
  99. data/.yardoc/objects/MarukuPlugin/extensions_3D_i.dat +0 -0
  100. data/.yardoc/objects/MarukuPlugin/extensions_i.dat +0 -0
  101. data/.yardoc/objects/MarukuPlugin/generate_i.dat +0 -0
  102. data/.yardoc/objects/MarukuPlugin/initialize_i.dat +0 -0
  103. data/.yardoc/objects/PygmentsPlugin.dat +0 -0
  104. data/.yardoc/objects/PygmentsPlugin/extensions_3D_i.dat +0 -0
  105. data/.yardoc/objects/PygmentsPlugin/extensions_i.dat +0 -0
  106. data/.yardoc/objects/PygmentsPlugin/generate_i.dat +0 -0
  107. data/.yardoc/objects/PygmentsPlugin/initialize_i.dat +0 -0
  108. data/.yardoc/objects/SassPlugin.dat +0 -0
  109. data/.yardoc/objects/SassPlugin/extensions_3D_i.dat +0 -0
  110. data/.yardoc/objects/SassPlugin/extensions_i.dat +0 -0
  111. data/.yardoc/objects/SassPlugin/generate_i.dat +0 -0
  112. data/.yardoc/objects/SassPlugin/initialize_i.dat +0 -0
  113. data/.yardoc/objects/String.dat +0 -0
  114. data/.yardoc/objects/String/directory_i.dat +0 -0
  115. data/.yardoc/objects/String/extension_i.dat +0 -0
  116. data/.yardoc/objects/String/file_name_i.dat +0 -0
  117. data/.yardoc/objects/String/slugify_i.dat +0 -0
  118. data/.yardoc/objects/root.dat +0 -0
  119. data/.yardoc/proxy_types +2 -0
  120. data/LICENSE +20 -0
  121. data/README.markdown +73 -0
  122. data/Rakefile +53 -0
  123. data/VERSION +1 -0
  124. data/bin/henshin +31 -0
  125. data/doc/Hash.html +179 -0
  126. data/doc/Henshin.html +479 -0
  127. data/doc/Henshin/CSSGenerator.html +186 -0
  128. data/doc/Henshin/Gen.html +1225 -0
  129. data/doc/Henshin/HTMLGenerator.html +186 -0
  130. data/doc/Henshin/JSGenerator.html +182 -0
  131. data/doc/Henshin/LayoutParser.html +186 -0
  132. data/doc/Henshin/Post.html +1159 -0
  133. data/doc/Henshin/Site.html +1462 -0
  134. data/doc/Henshin/StandardPlugin.html +99 -0
  135. data/doc/LiquidPlugin.html +399 -0
  136. data/doc/MarukuPlugin.html +325 -0
  137. data/doc/PygmentsPlugin.html +325 -0
  138. data/doc/SassPlugin.html +325 -0
  139. data/doc/String.html +371 -0
  140. data/doc/_index.html +239 -0
  141. data/doc/class_list.html +36 -0
  142. data/doc/css/common.css +1 -0
  143. data/doc/css/full_list.css +50 -0
  144. data/doc/css/style.css +273 -0
  145. data/doc/file.README.html +131 -0
  146. data/doc/file_list.html +38 -0
  147. data/doc/frames.html +13 -0
  148. data/doc/index.html +131 -0
  149. data/doc/js/app.js +111 -0
  150. data/doc/js/full_list.js +117 -0
  151. data/doc/js/jquery.js +19 -0
  152. data/doc/method_list.html +611 -0
  153. data/doc/top-level-namespace.html +89 -0
  154. data/henshin.gemspec +224 -0
  155. data/lib/henshin.rb +74 -0
  156. data/lib/henshin/ext.rb +42 -0
  157. data/lib/henshin/gen.rb +89 -0
  158. data/lib/henshin/plugin.rb +43 -0
  159. data/lib/henshin/plugins/liquid.rb +27 -0
  160. data/lib/henshin/plugins/maruku.rb +16 -0
  161. data/lib/henshin/plugins/pygments.rb +15 -0
  162. data/lib/henshin/plugins/sass.rb +16 -0
  163. data/lib/henshin/post.rb +127 -0
  164. data/lib/henshin/site.rb +112 -0
  165. data/test/helper.rb +10 -0
  166. data/test/site/_site/2010/10/20-testing-stuff/index.html +24 -0
  167. data/test/site/_site/2010/5/15-lorem-ipsum/index.html +24 -0
  168. data/test/site/_site/index.html +29 -0
  169. data/test/site/index.html +12 -0
  170. data/test/site/layouts/main.html +15 -0
  171. data/test/site/layouts/post.html +24 -0
  172. data/test/site/options.yaml +11 -0
  173. data/test/site/posts/Testing-Stuff.markdown +7 -0
  174. data/test/site/posts/lorem-ipsum.markdown +7 -0
  175. data/test/test_henshin.rb +7 -0
  176. metadata +261 -0
@@ -0,0 +1,1159 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>Class: Henshin::Post</title>
7
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '..';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="../_index.html">Index (P)</a> &raquo;
27
+ <span class='title'><a href="../Henshin.html" title="Henshin (module)">Henshin</a></span>
28
+ &raquo;
29
+ <span class="title">Post</span>
30
+
31
+
32
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
+ </div>
34
+
35
+ <div id="search">
36
+ <a id="class_list_link" href="#">Class List</a>
37
+ <a id="method_list_link" href="#">Method List</a>
38
+ <a id ="file_list_link" href="#">File List</a>
39
+ </div>
40
+
41
+ <div class="clear"></div>
42
+ </div>
43
+
44
+ <iframe id="search_frame"></iframe>
45
+
46
+ <div id="content"><h1>Class: Henshin::Post
47
+
48
+
49
+ </h1>
50
+
51
+ <dl class="box">
52
+
53
+ <dt class="r1">Inherits:</dt>
54
+ <dd class="r1">
55
+ <span class="inheritName"><a href="Gen.html" title="Henshin::Gen (class)">Gen</a></span>
56
+
57
+ <ul class="fullTree">
58
+ <li>Object</li>
59
+
60
+ <li class="next"><a href="Gen.html" title="Henshin::Gen (class)">Gen</a></li>
61
+
62
+ <li class="next">Henshin::Post</li>
63
+
64
+ </ul>
65
+ <a href="#" class="inheritanceTree">show all</a>
66
+
67
+ </dd>
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+ <dt class="r2 last">Defined in:</dt>
78
+ <dd class="r2 last">lib/henshin/post.rb</dd>
79
+
80
+ </dl>
81
+ <div class="clear"></div>
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+ <h2>Instance Attribute Summary</h2>
90
+ <ul class="summary">
91
+
92
+ <li class="public ">
93
+ <span class="summary_signature">
94
+
95
+ <a href="#author-instance_method" title="#author (instance method)">- (Object) <strong>author</strong> </a>
96
+
97
+
98
+
99
+ </span>
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+ <span class="summary_desc"><div class='inline'><p>
111
+ Returns the value of attribute author.
112
+ </p>
113
+ </div></span>
114
+
115
+ </li>
116
+
117
+
118
+ <li class="public ">
119
+ <span class="summary_signature">
120
+
121
+ <a href="#category-instance_method" title="#category (instance method)">- (Object) <strong>category</strong> </a>
122
+
123
+
124
+
125
+ </span>
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+ <span class="summary_desc"><div class='inline'><p>
137
+ Returns the value of attribute category.
138
+ </p>
139
+ </div></span>
140
+
141
+ </li>
142
+
143
+
144
+ <li class="public ">
145
+ <span class="summary_signature">
146
+
147
+ <a href="#date-instance_method" title="#date (instance method)">- (Object) <strong>date</strong> </a>
148
+
149
+
150
+
151
+ </span>
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+ <span class="summary_desc"><div class='inline'><p>
163
+ Returns the value of attribute date.
164
+ </p>
165
+ </div></span>
166
+
167
+ </li>
168
+
169
+
170
+ <li class="public ">
171
+ <span class="summary_signature">
172
+
173
+ <a href="#tags-instance_method" title="#tags (instance method)">- (Object) <strong>tags</strong> </a>
174
+
175
+
176
+
177
+ </span>
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+ <span class="summary_desc"><div class='inline'><p>
189
+ Returns the value of attribute tags.
190
+ </p>
191
+ </div></span>
192
+
193
+ </li>
194
+
195
+
196
+ <li class="public ">
197
+ <span class="summary_signature">
198
+
199
+ <a href="#title-instance_method" title="#title (instance method)">- (Object) <strong>title</strong> </a>
200
+
201
+
202
+
203
+ </span>
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+ <span class="summary_desc"><div class='inline'><p>
215
+ Returns the value of attribute title.
216
+ </p>
217
+ </div></span>
218
+
219
+ </li>
220
+
221
+
222
+ </ul>
223
+
224
+
225
+
226
+ <h2>Instance Method Summary</h2>
227
+
228
+ <ul class="summary">
229
+
230
+ <li class="public ">
231
+ <span class="summary_signature">
232
+
233
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Post) <strong>initialize</strong>(path, site) </a>
234
+
235
+
236
+
237
+ </span>
238
+
239
+ <span class="note title constructor">constructor</span>
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+ <span class="summary_desc"><div class='inline'><p>
248
+ A new instance of Post.
249
+ </p>
250
+ </div></span>
251
+
252
+ </li>
253
+
254
+
255
+ <li class="public ">
256
+ <span class="summary_signature">
257
+
258
+ <a href="#override-instance_method" title="#override (instance method)">- (Object) <strong>override</strong>(override) </a>
259
+
260
+
261
+
262
+ </span>
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+ <span class="summary_desc"><div class='inline'><p>
271
+ Uses the loaded data to override settings.
272
+ </p>
273
+ </div></span>
274
+
275
+ </li>
276
+
277
+
278
+ <li class="public ">
279
+ <span class="summary_signature">
280
+
281
+ <a href="#payload-instance_method" title="#payload (instance method)">- (Hash) <strong>payload</strong> </a>
282
+
283
+
284
+
285
+ </span>
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+ <span class="summary_desc"><div class='inline'><p>
294
+ Creates the data to be sent to the layout engine.
295
+ </p>
296
+ </div></span>
297
+
298
+ </li>
299
+
300
+
301
+ <li class="public ">
302
+ <span class="summary_signature">
303
+
304
+ <a href="#permalink-instance_method" title="#permalink (instance method)">- (Object) <strong>permalink</strong> </a>
305
+
306
+
307
+
308
+ </span>
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+ <span class="summary_desc"><div class='inline'><p>
317
+ Creates the permalink for the post.
318
+ </p>
319
+ </div></span>
320
+
321
+ </li>
322
+
323
+
324
+ <li class="public ">
325
+ <span class="summary_signature">
326
+
327
+ <a href="#process-instance_method" title="#process (instance method)">- (Object) <strong>process</strong> </a>
328
+
329
+
330
+
331
+ </span>
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+ <span class="summary_desc"><div class='inline'><p>
340
+ Processes the file.
341
+ </p>
342
+ </div></span>
343
+
344
+ </li>
345
+
346
+
347
+ <li class="public ">
348
+ <span class="summary_signature">
349
+
350
+ <a href="#read_name-instance_method" title="#read_name (instance method)">- (Object) <strong>read_name</strong> </a>
351
+
352
+
353
+
354
+ </span>
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+ <span class="summary_desc"><div class='inline'><p>
363
+ Reads the filename and extracts information from it.
364
+ </p>
365
+ </div></span>
366
+
367
+ </li>
368
+
369
+
370
+ <li class="public ">
371
+ <span class="summary_signature">
372
+
373
+ <a href="#read_yaml-instance_method" title="#read_yaml (instance method)">- (Object) <strong>read_yaml</strong> </a>
374
+
375
+
376
+
377
+ </span>
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+ <span class="summary_desc"><div class='inline'><p>
386
+ Reads the files yaml frontmatter and uses it to override some settings,
387
+ then grabs content.
388
+ </p>
389
+ </div></span>
390
+
391
+ </li>
392
+
393
+
394
+ <li class="public ">
395
+ <span class="summary_signature">
396
+
397
+ <a href="#write-instance_method" title="#write (instance method)">- (Object) <strong>write</strong> </a>
398
+
399
+
400
+
401
+ </span>
402
+
403
+
404
+
405
+
406
+
407
+
408
+
409
+ <span class="summary_desc"><div class='inline'><p>
410
+ Writes the file to the correct place.
411
+ </p>
412
+ </div></span>
413
+
414
+ </li>
415
+
416
+
417
+ </ul>
418
+
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+ <h3 class="inherited">Methods inherited from <a href="Gen.html" title="Henshin::Gen (class)">Gen</a></h3>
429
+ <p class="inherited"><a href="Gen.html#render-instance_method" title="Henshin::Gen#render (method)">#render</a></p>
430
+ <div id="constructor_details" class="method_details_list">
431
+ <h2>Constructor Details</h2>
432
+
433
+ <div class="method_details first">
434
+ <p class="signature first" id="initialize-instance_method">
435
+
436
+ - (<tt><a href="" title="Henshin::Post (class)">Post</a></tt>) <strong>initialize</strong>(path, site)
437
+
438
+
439
+
440
+ </p><div class="docstring">
441
+ <div class="discussion">
442
+ <p>
443
+ A new instance of Post
444
+ </p>
445
+
446
+
447
+ </div>
448
+ </div>
449
+ <div class="tags">
450
+
451
+ </div><table class="source_code">
452
+ <tr>
453
+ <td>
454
+ <pre class="lines">
455
+
456
+
457
+ 7
458
+ 8
459
+ 9
460
+ 10
461
+ 11
462
+ 12
463
+ 13</pre>
464
+ </td>
465
+ <td>
466
+ <pre class="code"><span class="info file"># File 'lib/henshin/post.rb', line 7</span>
467
+
468
+ <span class='kw'>def</span> <span class='id initialize'>initialize</span><span class='lparen'>(</span> <span class='id path'>path</span><span class='comma'>,</span> <span class='id site'>site</span> <span class='rparen'>)</span>
469
+ <span class='ivar'>@path</span> <span class='op'>=</span> <span class='id path'>path</span>
470
+ <span class='ivar'>@site</span> <span class='op'>=</span> <span class='id site'>site</span>
471
+ <span class='ivar'>@config</span> <span class='op'>=</span> <span class='id site'>site</span><span class='period'>.</span><span class='id config'>config</span>
472
+ <span class='ivar'>@extension</span> <span class='op'>=</span> <span class='id path'>path</span><span class='period'>.</span><span class='id extension'>extension</span>
473
+ <span class='ivar'>@layout</span> <span class='op'>=</span> <span class='id site'>site</span><span class='period'>.</span><span class='id layouts'>layouts</span><span class='lbracket'>[</span> <span class='id site'>site</span><span class='period'>.</span><span class='id config'>config</span><span class='lbracket'>[</span><span class='symbol'>:layout</span><span class='rbracket'>]</span> <span class='rbracket'>]</span>
474
+ <span class='kw'>end</span></pre>
475
+ </td>
476
+ </tr>
477
+ </table>
478
+ </div>
479
+
480
+ </div>
481
+
482
+ <div id="instance_attr_details" class="attr_details">
483
+ <h2>Instance Attribute Details</h2>
484
+
485
+
486
+ <span id="author=-instance_method"></span>
487
+ <span id="author-instance_method"></span>
488
+ <div class="method_details first">
489
+ <p class="signature first" id="author-instance_method">
490
+
491
+ - (<tt>Object</tt>) <strong>author</strong>
492
+
493
+
494
+
495
+ </p><div class="docstring">
496
+ <div class="discussion">
497
+ <p>
498
+ Returns the value of attribute author
499
+ </p>
500
+
501
+
502
+ </div>
503
+ </div>
504
+ <div class="tags">
505
+
506
+ </div><table class="source_code">
507
+ <tr>
508
+ <td>
509
+ <pre class="lines">
510
+
511
+
512
+ 5
513
+ 6
514
+ 7</pre>
515
+ </td>
516
+ <td>
517
+ <pre class="code"><span class="info file"># File 'lib/henshin/post.rb', line 5</span>
518
+
519
+ <span class='kw'>def</span> <span class='id author'>author</span>
520
+ <span class='ivar'>@author</span>
521
+ <span class='kw'>end</span></pre>
522
+ </td>
523
+ </tr>
524
+ </table>
525
+ </div>
526
+
527
+
528
+ <span id="category=-instance_method"></span>
529
+ <span id="category-instance_method"></span>
530
+ <div class="method_details ">
531
+ <p class="signature " id="category-instance_method">
532
+
533
+ - (<tt>Object</tt>) <strong>category</strong>
534
+
535
+
536
+
537
+ </p><div class="docstring">
538
+ <div class="discussion">
539
+ <p>
540
+ Returns the value of attribute category
541
+ </p>
542
+
543
+
544
+ </div>
545
+ </div>
546
+ <div class="tags">
547
+
548
+ </div><table class="source_code">
549
+ <tr>
550
+ <td>
551
+ <pre class="lines">
552
+
553
+
554
+ 5
555
+ 6
556
+ 7</pre>
557
+ </td>
558
+ <td>
559
+ <pre class="code"><span class="info file"># File 'lib/henshin/post.rb', line 5</span>
560
+
561
+ <span class='kw'>def</span> <span class='id category'>category</span>
562
+ <span class='ivar'>@category</span>
563
+ <span class='kw'>end</span></pre>
564
+ </td>
565
+ </tr>
566
+ </table>
567
+ </div>
568
+
569
+
570
+ <span id="date=-instance_method"></span>
571
+ <span id="date-instance_method"></span>
572
+ <div class="method_details ">
573
+ <p class="signature " id="date-instance_method">
574
+
575
+ - (<tt>Object</tt>) <strong>date</strong>
576
+
577
+
578
+
579
+ </p><div class="docstring">
580
+ <div class="discussion">
581
+ <p>
582
+ Returns the value of attribute date
583
+ </p>
584
+
585
+
586
+ </div>
587
+ </div>
588
+ <div class="tags">
589
+
590
+ </div><table class="source_code">
591
+ <tr>
592
+ <td>
593
+ <pre class="lines">
594
+
595
+
596
+ 5
597
+ 6
598
+ 7</pre>
599
+ </td>
600
+ <td>
601
+ <pre class="code"><span class="info file"># File 'lib/henshin/post.rb', line 5</span>
602
+
603
+ <span class='kw'>def</span> <span class='id date'>date</span>
604
+ <span class='ivar'>@date</span>
605
+ <span class='kw'>end</span></pre>
606
+ </td>
607
+ </tr>
608
+ </table>
609
+ </div>
610
+
611
+
612
+ <span id="tags=-instance_method"></span>
613
+ <span id="tags-instance_method"></span>
614
+ <div class="method_details ">
615
+ <p class="signature " id="tags-instance_method">
616
+
617
+ - (<tt>Object</tt>) <strong>tags</strong>
618
+
619
+
620
+
621
+ </p><div class="docstring">
622
+ <div class="discussion">
623
+ <p>
624
+ Returns the value of attribute tags
625
+ </p>
626
+
627
+
628
+ </div>
629
+ </div>
630
+ <div class="tags">
631
+
632
+ </div><table class="source_code">
633
+ <tr>
634
+ <td>
635
+ <pre class="lines">
636
+
637
+
638
+ 5
639
+ 6
640
+ 7</pre>
641
+ </td>
642
+ <td>
643
+ <pre class="code"><span class="info file"># File 'lib/henshin/post.rb', line 5</span>
644
+
645
+ <span class='kw'>def</span> <span class='id tags'>tags</span>
646
+ <span class='ivar'>@tags</span>
647
+ <span class='kw'>end</span></pre>
648
+ </td>
649
+ </tr>
650
+ </table>
651
+ </div>
652
+
653
+
654
+ <span id="title=-instance_method"></span>
655
+ <span id="title-instance_method"></span>
656
+ <div class="method_details ">
657
+ <p class="signature " id="title-instance_method">
658
+
659
+ - (<tt>Object</tt>) <strong>title</strong>
660
+
661
+
662
+
663
+ </p><div class="docstring">
664
+ <div class="discussion">
665
+ <p>
666
+ Returns the value of attribute title
667
+ </p>
668
+
669
+
670
+ </div>
671
+ </div>
672
+ <div class="tags">
673
+
674
+ </div><table class="source_code">
675
+ <tr>
676
+ <td>
677
+ <pre class="lines">
678
+
679
+
680
+ 5
681
+ 6
682
+ 7</pre>
683
+ </td>
684
+ <td>
685
+ <pre class="code"><span class="info file"># File 'lib/henshin/post.rb', line 5</span>
686
+
687
+ <span class='kw'>def</span> <span class='id title'>title</span>
688
+ <span class='ivar'>@title</span>
689
+ <span class='kw'>end</span></pre>
690
+ </td>
691
+ </tr>
692
+ </table>
693
+ </div>
694
+
695
+ </div>
696
+
697
+
698
+ <div id="instance_method_details" class="method_details_list">
699
+ <h2>Instance Method Details</h2>
700
+
701
+
702
+ <div class="method_details first">
703
+ <p class="signature first" id="override-instance_method">
704
+
705
+ - (<tt>Object</tt>) <strong>override</strong>(override)
706
+
707
+
708
+
709
+ </p><div class="docstring">
710
+ <div class="discussion">
711
+ <p>
712
+ Uses the loaded data to override settings
713
+ </p>
714
+
715
+
716
+ </div>
717
+ </div>
718
+ <div class="tags">
719
+ <h3>Parameters:</h3>
720
+ <ul class="param">
721
+
722
+ <li>
723
+
724
+ <span class='type'>(<tt><a href="../Hash.html" title="Hash (class)">Hash</a></tt>)</span>
725
+
726
+
727
+ <span class='name'>override</span>
728
+
729
+
730
+
731
+ &mdash;
732
+ <div class='inline'><p>
733
+ data to override settings with
734
+ </p>
735
+ </div>
736
+
737
+ </li>
738
+
739
+ </ul>
740
+
741
+ </div><table class="source_code">
742
+ <tr>
743
+ <td>
744
+ <pre class="lines">
745
+
746
+
747
+ 77
748
+ 78
749
+ 79
750
+ 80
751
+ 81
752
+ 82
753
+ 83
754
+ 84
755
+ 85</pre>
756
+ </td>
757
+ <td>
758
+ <pre class="code"><span class="info file"># File 'lib/henshin/post.rb', line 77</span>
759
+
760
+ <span class='kw'>def</span> <span class='id override'>override</span><span class='lparen'>(</span> <span class='id override'>override</span> <span class='rparen'>)</span>
761
+ <span class='ivar'>@title</span> <span class='op'>||=</span> <span class='id override'>override</span><span class='lbracket'>[</span><span class='symbol'>:title</span><span class='rbracket'>]</span>
762
+ <span class='ivar'>@layout</span> <span class='op'>||=</span> <span class='ivar'>@site</span><span class='period'>.</span><span class='id layouts'>layouts</span><span class='lbracket'>[</span> <span class='id override'>override</span><span class='lbracket'>[</span><span class='symbol'>:layout</span><span class='rbracket'>]</span> <span class='rbracket'>]</span>
763
+ <span class='ivar'>@date</span> <span class='op'>||=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span> <span class='id override'>override</span><span class='lbracket'>[</span><span class='symbol'>:date</span><span class='rbracket'>]</span> <span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id override'>override</span><span class='lbracket'>[</span><span class='symbol'>:date</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id nil?'>nil?</span>
764
+ <span class='ivar'>@tags</span> <span class='op'>||=</span> <span class='id override'>override</span><span class='lbracket'>[</span><span class='symbol'>:tags</span><span class='rbracket'>]</span>
765
+ <span class='ivar'>@category</span> <span class='op'>||=</span> <span class='id override'>override</span><span class='lbracket'>[</span><span class='symbol'>:category</span><span class='rbracket'>]</span>
766
+ <span class='ivar'>@author</span> <span class='op'>||=</span> <span class='id override'>override</span><span class='lbracket'>[</span><span class='symbol'>:author</span><span class='rbracket'>]</span>
767
+ <span class='ivar'>@extension</span> <span class='op'>||=</span> <span class='id override'>override</span><span class='lbracket'>[</span><span class='symbol'>:extension</span><span class='rbracket'>]</span>
768
+ <span class='kw'>end</span></pre>
769
+ </td>
770
+ </tr>
771
+ </table>
772
+ </div>
773
+
774
+ <div class="method_details ">
775
+ <p class="signature " id="payload-instance_method">
776
+
777
+ - (<tt><a href="../Hash.html" title="Hash (class)">Hash</a></tt>) <strong>payload</strong>
778
+
779
+
780
+
781
+ </p><div class="docstring">
782
+ <div class="discussion">
783
+ <p>
784
+ Creates the data to be sent to the layout engine
785
+ </p>
786
+
787
+
788
+ </div>
789
+ </div>
790
+ <div class="tags">
791
+ <h3>Returns:</h3>
792
+ <ul class="return">
793
+
794
+ <li>
795
+
796
+ <span class='type'>(<tt><a href="../Hash.html" title="Hash (class)">Hash</a></tt>)</span>
797
+
798
+
799
+
800
+
801
+ &mdash;
802
+ <div class='inline'><p>
803
+ the payload for the layout engine
804
+ </p>
805
+ </div>
806
+
807
+ </li>
808
+
809
+ </ul>
810
+
811
+ </div><table class="source_code">
812
+ <tr>
813
+ <td>
814
+ <pre class="lines">
815
+
816
+
817
+ 91
818
+ 92
819
+ 93
820
+ 94
821
+ 95
822
+ 96
823
+ 97
824
+ 98
825
+ 99
826
+ 100
827
+ 101</pre>
828
+ </td>
829
+ <td>
830
+ <pre class="code"><span class="info file"># File 'lib/henshin/post.rb', line 91</span>
831
+
832
+ <span class='kw'>def</span> <span class='id payload'>payload</span>
833
+ <span class='lbrace'>{</span>
834
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>yield</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='ivar'>@content</span><span class='comma'>,</span>
835
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>site</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='ivar'>@site</span><span class='period'>.</span><span class='id payload'>payload</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>site</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
836
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>post</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>title</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='ivar'>@title</span><span class='comma'>,</span>
837
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>author</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='ivar'>@author</span><span class='comma'>,</span>
838
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>date</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='ivar'>@date</span><span class='comma'>,</span>
839
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>tags</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='ivar'>@tags</span><span class='comma'>,</span>
840
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>category</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='ivar'>@category</span><span class='rbrace'>}</span>
841
+ <span class='rbrace'>}</span>
842
+ <span class='kw'>end</span></pre>
843
+ </td>
844
+ </tr>
845
+ </table>
846
+ </div>
847
+
848
+ <div class="method_details ">
849
+ <p class="signature " id="permalink-instance_method">
850
+
851
+ - (<tt>Object</tt>) <strong>permalink</strong>
852
+
853
+
854
+
855
+ </p><div class="docstring">
856
+ <div class="discussion">
857
+ <p>
858
+ Creates the permalink for the post
859
+ </p>
860
+
861
+
862
+ </div>
863
+ </div>
864
+ <div class="tags">
865
+
866
+ </div><table class="source_code">
867
+ <tr>
868
+ <td>
869
+ <pre class="lines">
870
+
871
+
872
+ 114
873
+ 115
874
+ 116
875
+ 117
876
+ 118
877
+ 119
878
+ 120
879
+ 121
880
+ 122
881
+ 123</pre>
882
+ </td>
883
+ <td>
884
+ <pre class="code"><span class="info file"># File 'lib/henshin/post.rb', line 114</span>
885
+
886
+ <span class='kw'>def</span> <span class='id permalink'>permalink</span>
887
+ <span class='id partials'>partials</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>year</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='kw'>self</span><span class='period'>.</span><span class='id date'>date</span><span class='period'>.</span><span class='id year'>year</span><span class='comma'>,</span>
888
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>month</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='kw'>self</span><span class='period'>.</span><span class='id date'>date</span><span class='period'>.</span><span class='id month'>month</span><span class='comma'>,</span>
889
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>date</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='kw'>self</span><span class='period'>.</span><span class='id date'>date</span><span class='period'>.</span><span class='id day'>day</span><span class='comma'>,</span>
890
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>title</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='kw'>self</span><span class='period'>.</span><span class='id title'>title</span><span class='period'>.</span><span class='id slugify'>slugify</span><span class='rbrace'>}</span>
891
+
892
+ <span class='id config'>config</span><span class='lbracket'>[</span><span class='symbol'>:permalink</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\{([a-z-]+)\}</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
893
+ <span class='id partials'>partials</span><span class='lbracket'>[</span><span class='backref'>$1</span><span class='rbracket'>]</span>
894
+ <span class='kw'>end</span>
895
+ <span class='kw'>end</span></pre>
896
+ </td>
897
+ </tr>
898
+ </table>
899
+ </div>
900
+
901
+ <div class="method_details ">
902
+ <p class="signature " id="process-instance_method">
903
+
904
+ - (<tt>Object</tt>) <strong>process</strong>
905
+
906
+
907
+
908
+ </p><div class="docstring">
909
+ <div class="discussion">
910
+ <p>
911
+ Processes the file
912
+ </p>
913
+
914
+
915
+ </div>
916
+ </div>
917
+ <div class="tags">
918
+
919
+ </div><table class="source_code">
920
+ <tr>
921
+ <td>
922
+ <pre class="lines">
923
+
924
+
925
+ 18
926
+ 19
927
+ 20
928
+ 21</pre>
929
+ </td>
930
+ <td>
931
+ <pre class="code"><span class="info file"># File 'lib/henshin/post.rb', line 18</span>
932
+
933
+ <span class='kw'>def</span> <span class='id process'>process</span>
934
+ <span class='kw'>self</span><span class='period'>.</span><span class='id read_name'>read_name</span>
935
+ <span class='kw'>self</span><span class='period'>.</span><span class='id read_yaml'>read_yaml</span>
936
+ <span class='kw'>end</span></pre>
937
+ </td>
938
+ </tr>
939
+ </table>
940
+ </div>
941
+
942
+ <div class="method_details ">
943
+ <p class="signature " id="read_name-instance_method">
944
+
945
+ - (<tt>Object</tt>) <strong>read_name</strong>
946
+
947
+
948
+
949
+ </p><div class="docstring">
950
+ <div class="discussion">
951
+ <p>
952
+ Reads the filename and extracts information from it
953
+ </p>
954
+
955
+
956
+ </div>
957
+ </div>
958
+ <div class="tags">
959
+
960
+ </div><table class="source_code">
961
+ <tr>
962
+ <td>
963
+ <pre class="lines">
964
+
965
+
966
+ 24
967
+ 25
968
+ 26
969
+ 27
970
+ 28
971
+ 29
972
+ 30
973
+ 31
974
+ 32
975
+ 33
976
+ 34
977
+ 35
978
+ 36
979
+ 37
980
+ 38
981
+ 39
982
+ 40
983
+ 41
984
+ 42
985
+ 43
986
+ 44
987
+ 45
988
+ 46
989
+ 47
990
+ 48
991
+ 49
992
+ 50
993
+ 51
994
+ 52
995
+ 53
996
+ 54
997
+ 55
998
+ 56
999
+ 57
1000
+ 58
1001
+ 59</pre>
1002
+ </td>
1003
+ <td>
1004
+ <pre class="code"><span class="info file"># File 'lib/henshin/post.rb', line 24</span>
1005
+
1006
+ <span class='kw'>def</span> <span class='id read_name'>read_name</span>
1007
+ <span class='id parser'>parser</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>title</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>([a-zA-Z0-9 ]+)</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
1008
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>title-with-dashes</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>([a-zA-Z0-9-]+)</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
1009
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>date</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>(\d{4}-\d{2}-\d{2})</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
1010
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>date-time</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>(\d{4}-\d{2}-\d{2} at \d{2}:\d{2})</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
1011
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>xml-date-time</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(:\d{2})?((\+|-)\d{2}:\d{2})?)</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
1012
+ <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>extension</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span> <span class='id site'>site</span><span class='period'>.</span><span class='id config'>config</span><span class='lbracket'>[</span><span class='symbol'>:extensions</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>|</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='rbrace'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>&quot;</span></span><span class='rbrace'>}</span>
1013
+
1014
+ <span class='id file_parser'>file_parser</span> <span class='op'>=</span> <span class='id config'>config</span><span class='lbracket'>[</span><span class='symbol'>:file_name</span><span class='rbracket'>]</span>
1015
+ <span class='comment'># create string regex and keep order of info
1016
+ </span> <span class='id data_order'>data_order</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1017
+ <span class='id m'>m</span> <span class='op'>=</span> <span class='id file_parser'>file_parser</span><span class='period'>.</span><span class='id gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\{([a-z-]+)\}</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
1018
+ <span class='id data_order'>data_order</span> <span class='op'>&lt;&lt;</span> <span class='backref'>$1</span>
1019
+ <span class='id parser'>parser</span><span class='lbracket'>[</span><span class='backref'>$1</span><span class='rbracket'>]</span>
1020
+ <span class='kw'>end</span>
1021
+ <span class='comment'># convert string to actual regex
1022
+ </span> <span class='id matcher'>matcher</span> <span class='op'>=</span> <span class='const'>Regexp</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id m'>m</span><span class='rparen'>)</span>
1023
+
1024
+ <span class='id override'>override</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1025
+ <span class='comment'># extract data from filename
1026
+ </span> <span class='id file_data'>file_data</span> <span class='op'>=</span> <span class='id path'>path</span><span class='period'>.</span><span class='id file_name'>file_name</span><span class='period'>.</span><span class='id match'>match</span><span class='lparen'>(</span> <span class='id matcher'>matcher</span> <span class='rparen'>)</span><span class='period'>.</span><span class='id captures'>captures</span>
1027
+ <span class='id file_data'>file_data</span><span class='period'>.</span><span class='id each_with_index'>each_with_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id data'>data</span><span class='comma'>,</span> <span class='id i'>i</span><span class='op'>|</span>
1028
+ <span class='kw'>if</span> <span class='id data_order'>data_order</span><span class='lbracket'>[</span><span class='id i'>i</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id include?'>include?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>title</span><span class='tstring_end'>'</span></span>
1029
+ <span class='kw'>if</span> <span class='id data_order'>data_order</span><span class='lbracket'>[</span><span class='id i'>i</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id include?'>include?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>dashes</span><span class='tstring_end'>'</span></span>
1030
+ <span class='id override'>override</span><span class='lbracket'>[</span><span class='symbol'>:title</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id data'>data</span><span class='period'>.</span><span class='id gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>-</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
1031
+ <span class='kw'>else</span>
1032
+ <span class='id override'>override</span><span class='lbracket'>[</span><span class='symbol'>:title</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id data'>data</span>
1033
+ <span class='kw'>end</span>
1034
+ <span class='kw'>elsif</span> <span class='id data_order'>data_order</span><span class='lbracket'>[</span><span class='id i'>i</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id include?'>include?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>date</span><span class='tstring_end'>'</span></span>
1035
+ <span class='id override'>override</span><span class='lbracket'>[</span><span class='symbol'>:date</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id data'>data</span>
1036
+ <span class='kw'>elsif</span> <span class='id data_order'>data_order</span><span class='lbracket'>[</span><span class='id i'>i</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id include?'>include?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>extension</span><span class='tstring_end'>'</span></span>
1037
+ <span class='id override'>override</span><span class='lbracket'>[</span><span class='symbol'>:extension</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id data'>data</span>
1038
+ <span class='kw'>end</span>
1039
+ <span class='kw'>end</span>
1040
+ <span class='kw'>self</span><span class='period'>.</span><span class='id override'>override</span><span class='lparen'>(</span> <span class='id override'>override</span> <span class='rparen'>)</span>
1041
+ <span class='kw'>end</span></pre>
1042
+ </td>
1043
+ </tr>
1044
+ </table>
1045
+ </div>
1046
+
1047
+ <div class="method_details ">
1048
+ <p class="signature " id="read_yaml-instance_method">
1049
+
1050
+ - (<tt>Object</tt>) <strong>read_yaml</strong>
1051
+
1052
+
1053
+
1054
+ </p><div class="docstring">
1055
+ <div class="discussion">
1056
+ <p>
1057
+ Reads the files yaml frontmatter and uses it to override some settings,
1058
+ then grabs content
1059
+ </p>
1060
+
1061
+
1062
+ </div>
1063
+ </div>
1064
+ <div class="tags">
1065
+
1066
+ </div><table class="source_code">
1067
+ <tr>
1068
+ <td>
1069
+ <pre class="lines">
1070
+
1071
+
1072
+ 62
1073
+ 63
1074
+ 64
1075
+ 65
1076
+ 66
1077
+ 67
1078
+ 68
1079
+ 69
1080
+ 70
1081
+ 71
1082
+ 72</pre>
1083
+ </td>
1084
+ <td>
1085
+ <pre class="code"><span class="info file"># File 'lib/henshin/post.rb', line 62</span>
1086
+
1087
+ <span class='kw'>def</span> <span class='id read_yaml'>read_yaml</span>
1088
+ <span class='id file'>file</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id read'>read</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id path'>path</span><span class='rparen'>)</span>
1089
+
1090
+ <span class='kw'>if</span> <span class='id file'>file</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^(---\s*\n.*?\n?^---\s*$\n?)</span><span class='regexp_end'>/m</span></span>
1091
+ <span class='id override'>override</span> <span class='op'>=</span> <span class='const'>YAML</span><span class='period'>.</span><span class='id load_file'>load_file</span><span class='lparen'>(</span><span class='ivar'>@path</span><span class='rparen'>)</span><span class='period'>.</span><span class='id to_options'>to_options</span>
1092
+ <span class='kw'>self</span><span class='period'>.</span><span class='id override'>override</span><span class='lparen'>(</span><span class='id override'>override</span><span class='rparen'>)</span>
1093
+ <span class='ivar'>@content</span> <span class='op'>=</span> <span class='id file'>file</span><span class='lbracket'>[</span><span class='backref'>$1</span><span class='period'>.</span><span class='id size'>size</span><span class='op'>..</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span>
1094
+ <span class='kw'>else</span>
1095
+ <span class='ivar'>@content</span> <span class='op'>=</span> <span class='id file'>file</span>
1096
+ <span class='kw'>end</span>
1097
+ <span class='kw'>end</span></pre>
1098
+ </td>
1099
+ </tr>
1100
+ </table>
1101
+ </div>
1102
+
1103
+ <div class="method_details ">
1104
+ <p class="signature " id="write-instance_method">
1105
+
1106
+ - (<tt>Object</tt>) <strong>write</strong>
1107
+
1108
+
1109
+
1110
+ </p><div class="docstring">
1111
+ <div class="discussion">
1112
+ <p>
1113
+ Writes the file to the correct place
1114
+ </p>
1115
+
1116
+
1117
+ </div>
1118
+ </div>
1119
+ <div class="tags">
1120
+
1121
+ </div><table class="source_code">
1122
+ <tr>
1123
+ <td>
1124
+ <pre class="lines">
1125
+
1126
+
1127
+ 106
1128
+ 107
1129
+ 108
1130
+ 109
1131
+ 110
1132
+ 111</pre>
1133
+ </td>
1134
+ <td>
1135
+ <pre class="code"><span class="info file"># File 'lib/henshin/post.rb', line 106</span>
1136
+
1137
+ <span class='kw'>def</span> <span class='id write'>write</span>
1138
+ <span class='id write_path'>write_path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span> <span class='id config'>config</span><span class='lbracket'>[</span><span class='symbol'>:root</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id config'>config</span><span class='lbracket'>[</span><span class='symbol'>:target</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id permalink'>permalink</span> <span class='rparen'>)</span>
1139
+ <span class='const'>FileUtils</span><span class='period'>.</span><span class='id mkdir_p'>mkdir_p</span> <span class='const'>File</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span> <span class='id write_path'>write_path</span><span class='period'>.</span><span class='id directory'>directory</span> <span class='rparen'>)</span>
1140
+ <span class='id file'>file</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span> <span class='const'>File</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span> <span class='id write_path'>write_path</span> <span class='rparen'>)</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>w</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span>
1141
+ <span class='id file'>file</span><span class='period'>.</span><span class='id puts'>puts</span><span class='lparen'>(</span> <span class='ivar'>@content</span> <span class='rparen'>)</span>
1142
+ <span class='kw'>end</span></pre>
1143
+ </td>
1144
+ </tr>
1145
+ </table>
1146
+ </div>
1147
+
1148
+ </div>
1149
+
1150
+ </div>
1151
+
1152
+ <div id="footer">
1153
+ Generated on Wed May 19 14:45:03 2010 by
1154
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
1155
+ 0.5.4 (ruby-1.9.1).
1156
+ </div>
1157
+
1158
+ </body>
1159
+ </html>