fagiani-jekyll 0.10.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 (97) hide show
  1. data/History.txt +284 -0
  2. data/LICENSE +21 -0
  3. data/README.textile +41 -0
  4. data/Rakefile +159 -0
  5. data/bin/jekyll +192 -0
  6. data/cucumber.yml +1 -0
  7. data/features/create_sites.feature +94 -0
  8. data/features/embed_filters.feature +60 -0
  9. data/features/markdown.feature +30 -0
  10. data/features/pagination.feature +27 -0
  11. data/features/permalinks.feature +65 -0
  12. data/features/post_data.feature +153 -0
  13. data/features/site_configuration.feature +126 -0
  14. data/features/site_data.feature +82 -0
  15. data/features/step_definitions/jekyll_steps.rb +145 -0
  16. data/features/support/env.rb +16 -0
  17. data/jekyll.gemspec +140 -0
  18. data/lib/jekyll.rb +125 -0
  19. data/lib/jekyll/albino.rb +120 -0
  20. data/lib/jekyll/converter.rb +50 -0
  21. data/lib/jekyll/converters/identity.rb +22 -0
  22. data/lib/jekyll/converters/markdown.rb +113 -0
  23. data/lib/jekyll/converters/textile.rb +33 -0
  24. data/lib/jekyll/convertible.rb +98 -0
  25. data/lib/jekyll/core_ext.rb +52 -0
  26. data/lib/jekyll/errors.rb +6 -0
  27. data/lib/jekyll/filters.rb +53 -0
  28. data/lib/jekyll/generator.rb +7 -0
  29. data/lib/jekyll/generators/pagination.rb +87 -0
  30. data/lib/jekyll/layout.rb +36 -0
  31. data/lib/jekyll/migrators/csv.rb +26 -0
  32. data/lib/jekyll/migrators/drupal.rb +86 -0
  33. data/lib/jekyll/migrators/marley.rb +53 -0
  34. data/lib/jekyll/migrators/mephisto.rb +79 -0
  35. data/lib/jekyll/migrators/mt.rb +77 -0
  36. data/lib/jekyll/migrators/textpattern.rb +50 -0
  37. data/lib/jekyll/migrators/typo.rb +49 -0
  38. data/lib/jekyll/migrators/wordpress.com.rb +38 -0
  39. data/lib/jekyll/migrators/wordpress.rb +56 -0
  40. data/lib/jekyll/page.rb +134 -0
  41. data/lib/jekyll/plugin.rb +76 -0
  42. data/lib/jekyll/post.rb +244 -0
  43. data/lib/jekyll/site.rb +273 -0
  44. data/lib/jekyll/static_file.rb +75 -0
  45. data/lib/jekyll/tags/highlight.rb +73 -0
  46. data/lib/jekyll/tags/include.rb +37 -0
  47. data/test/helper.rb +34 -0
  48. data/test/source/.htaccess +8 -0
  49. data/test/source/_includes/sig.markdown +3 -0
  50. data/test/source/_layouts/default.html +27 -0
  51. data/test/source/_layouts/simple.html +1 -0
  52. data/test/source/_posts/2008-02-02-not-published.textile +8 -0
  53. data/test/source/_posts/2008-02-02-published.textile +8 -0
  54. data/test/source/_posts/2008-10-18-foo-bar.textile +8 -0
  55. data/test/source/_posts/2008-11-21-complex.textile +8 -0
  56. data/test/source/_posts/2008-12-03-permalinked-post.textile +9 -0
  57. data/test/source/_posts/2008-12-13-include.markdown +8 -0
  58. data/test/source/_posts/2009-01-27-array-categories.textile +10 -0
  59. data/test/source/_posts/2009-01-27-categories.textile +7 -0
  60. data/test/source/_posts/2009-01-27-category.textile +7 -0
  61. data/test/source/_posts/2009-01-27-empty-categories.textile +7 -0
  62. data/test/source/_posts/2009-01-27-empty-category.textile +7 -0
  63. data/test/source/_posts/2009-03-12-hash-#1.markdown +6 -0
  64. data/test/source/_posts/2009-05-18-empty-tag.textile +6 -0
  65. data/test/source/_posts/2009-05-18-empty-tags.textile +6 -0
  66. data/test/source/_posts/2009-05-18-tag.textile +6 -0
  67. data/test/source/_posts/2009-05-18-tags.textile +9 -0
  68. data/test/source/_posts/2009-06-22-empty-yaml.textile +3 -0
  69. data/test/source/_posts/2009-06-22-no-yaml.textile +1 -0
  70. data/test/source/_posts/2010-01-08-triple-dash.markdown +5 -0
  71. data/test/source/_posts/2010-01-09-date-override.textile +7 -0
  72. data/test/source/_posts/2010-01-09-time-override.textile +7 -0
  73. data/test/source/_posts/2010-01-09-timezone-override.textile +7 -0
  74. data/test/source/_posts/2010-01-16-override-data.textile +4 -0
  75. data/test/source/about.html +6 -0
  76. data/test/source/category/_posts/2008-9-23-categories.textile +6 -0
  77. data/test/source/contacts.html +5 -0
  78. data/test/source/css/screen.css +76 -0
  79. data/test/source/deal.with.dots.html +7 -0
  80. data/test/source/foo/_posts/bar/2008-12-12-topical-post.textile +8 -0
  81. data/test/source/index.html +22 -0
  82. data/test/source/sitemap.xml +32 -0
  83. data/test/source/win/_posts/2009-05-24-yaml-linebreak.markdown +7 -0
  84. data/test/source/z_category/_posts/2008-9-23-categories.textile +6 -0
  85. data/test/suite.rb +9 -0
  86. data/test/test_configuration.rb +29 -0
  87. data/test/test_core_ext.rb +66 -0
  88. data/test/test_filters.rb +53 -0
  89. data/test/test_generated_site.rb +72 -0
  90. data/test/test_kramdown.rb +23 -0
  91. data/test/test_page.rb +117 -0
  92. data/test/test_pager.rb +113 -0
  93. data/test/test_post.rb +396 -0
  94. data/test/test_rdiscount.rb +18 -0
  95. data/test/test_site.rb +186 -0
  96. data/test/test_tags.rb +127 -0
  97. metadata +332 -0
@@ -0,0 +1,127 @@
1
+ require File.dirname(__FILE__) + '/helper'
2
+
3
+ class TestTags < Test::Unit::TestCase
4
+
5
+ def create_post(content, override = {}, converter_class = Jekyll::MarkdownConverter)
6
+ stub(Jekyll).configuration do
7
+ Jekyll::DEFAULTS.merge({'pygments' => true}).merge(override)
8
+ end
9
+ site = Site.new(Jekyll.configuration)
10
+ info = { :filters => [Jekyll::Filters], :registers => { :site => site } }
11
+ @converter = site.converters.find { |c| c.class == converter_class }
12
+ payload = { "pygments_prefix" => @converter.pygments_prefix,
13
+ "pygments_suffix" => @converter.pygments_suffix }
14
+
15
+ @result = Liquid::Template.parse(content).render(payload, info)
16
+ @result = @converter.convert(@result)
17
+ end
18
+
19
+ def fill_post(code, override = {})
20
+ content = <<CONTENT
21
+ ---
22
+ title: This is a test
23
+ ---
24
+
25
+ This document results in a markdown error with maruku
26
+
27
+ {% highlight text %}#{code}{% endhighlight %}
28
+ CONTENT
29
+ create_post(content, override)
30
+ end
31
+
32
+ context "post content has highlight tag" do
33
+ setup do
34
+ fill_post("test")
35
+ end
36
+
37
+ should "not cause a markdown error" do
38
+ assert_no_match /markdown\-html\-error/, @result
39
+ end
40
+
41
+ should "render markdown with pygments line handling" do
42
+ assert_match %{<pre><code class='text'>test\n</code></pre>}, @result
43
+ end
44
+ end
45
+
46
+ context "post content has highlight with file reference" do
47
+ setup do
48
+ fill_post("./jekyll.gemspec")
49
+ end
50
+
51
+ should "not embed the file" do
52
+ assert_match %{<pre><code class='text'>./jekyll.gemspec\n</code></pre>}, @result
53
+ end
54
+ end
55
+
56
+ context "post content has highlight tag with UTF character" do
57
+ setup do
58
+ fill_post("Æ")
59
+ end
60
+
61
+ should "render markdown with pygments line handling" do
62
+ assert_match %{<pre><code class='text'>Æ\n</code></pre>}, @result
63
+ end
64
+ end
65
+
66
+ context "simple post with markdown and pre tags" do
67
+ setup do
68
+ @content = <<CONTENT
69
+ ---
70
+ title: Maruku vs. RDiscount
71
+ ---
72
+
73
+ _FIGHT!_
74
+
75
+ {% highlight ruby %}
76
+ puts "3..2..1.."
77
+ {% endhighlight %}
78
+
79
+ *FINISH HIM*
80
+ CONTENT
81
+ end
82
+
83
+ context "using Textile" do
84
+ setup do
85
+ create_post(@content, {}, Jekyll::TextileConverter)
86
+ end
87
+
88
+ # Broken in RedCloth 4.1.9
89
+ should "not textilize highlight block" do
90
+ assert_no_match %r{3\.\.2\.\.1\.\.&quot;</span><br />}, @result
91
+ end
92
+ end
93
+
94
+ context "using Maruku" do
95
+ setup do
96
+ create_post(@content)
97
+ end
98
+
99
+ should "parse correctly" do
100
+ assert_match %r{<em>FIGHT!</em>}, @result
101
+ assert_match %r{<em>FINISH HIM</em>}, @result
102
+ end
103
+ end
104
+
105
+ context "using RDiscount" do
106
+ setup do
107
+ create_post(@content, 'markdown' => 'rdiscount')
108
+ end
109
+
110
+ should "parse correctly" do
111
+ assert_match %r{<em>FIGHT!</em>}, @result
112
+ assert_match %r{<em>FINISH HIM</em>}, @result
113
+ end
114
+ end
115
+
116
+ context "using Kramdown" do
117
+ setup do
118
+ create_post(@content, 'markdown' => 'kramdown')
119
+ end
120
+
121
+ should "parse correctly" do
122
+ assert_match %r{<em>FIGHT!</em>}, @result
123
+ assert_match %r{<em>FINISH HIM</em>}, @result
124
+ end
125
+ end
126
+ end
127
+ end
metadata ADDED
@@ -0,0 +1,332 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fagiani-jekyll
3
+ version: !ruby/object:Gem::Version
4
+ hash: 53
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 10
9
+ - 1
10
+ version: 0.10.1
11
+ platform: ruby
12
+ authors:
13
+ - Tom Preston-Werner
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-02-09 00:00:00 -03:00
19
+ default_executable: jekyll
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: liquid
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 51
30
+ segments:
31
+ - 1
32
+ - 9
33
+ - 0
34
+ version: 1.9.0
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: classifier
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 25
46
+ segments:
47
+ - 1
48
+ - 3
49
+ - 1
50
+ version: 1.3.1
51
+ type: :runtime
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: directory_watcher
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ hash: 17
62
+ segments:
63
+ - 1
64
+ - 1
65
+ - 1
66
+ version: 1.1.1
67
+ type: :runtime
68
+ version_requirements: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ name: maruku
71
+ prerelease: false
72
+ requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ hash: 25
78
+ segments:
79
+ - 0
80
+ - 5
81
+ - 9
82
+ version: 0.5.9
83
+ type: :runtime
84
+ version_requirements: *id004
85
+ - !ruby/object:Gem::Dependency
86
+ name: redgreen
87
+ prerelease: false
88
+ requirement: &id005 !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ hash: 53
94
+ segments:
95
+ - 4
96
+ - 2
97
+ - 1
98
+ version: 4.2.1
99
+ type: :development
100
+ version_requirements: *id005
101
+ - !ruby/object:Gem::Dependency
102
+ name: shoulda
103
+ prerelease: false
104
+ requirement: &id006 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ hash: 53
110
+ segments:
111
+ - 4
112
+ - 2
113
+ - 1
114
+ version: 4.2.1
115
+ type: :development
116
+ version_requirements: *id006
117
+ - !ruby/object:Gem::Dependency
118
+ name: rr
119
+ prerelease: false
120
+ requirement: &id007 !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ hash: 53
126
+ segments:
127
+ - 4
128
+ - 2
129
+ - 1
130
+ version: 4.2.1
131
+ type: :development
132
+ version_requirements: *id007
133
+ - !ruby/object:Gem::Dependency
134
+ name: cucumber
135
+ prerelease: false
136
+ requirement: &id008 !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ hash: 53
142
+ segments:
143
+ - 4
144
+ - 2
145
+ - 1
146
+ version: 4.2.1
147
+ type: :development
148
+ version_requirements: *id008
149
+ - !ruby/object:Gem::Dependency
150
+ name: RedCloth
151
+ prerelease: false
152
+ requirement: &id009 !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ hash: 53
158
+ segments:
159
+ - 4
160
+ - 2
161
+ - 1
162
+ version: 4.2.1
163
+ type: :development
164
+ version_requirements: *id009
165
+ - !ruby/object:Gem::Dependency
166
+ name: kramdown
167
+ prerelease: false
168
+ requirement: &id010 !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ hash: 47
174
+ segments:
175
+ - 0
176
+ - 12
177
+ - 0
178
+ version: 0.12.0
179
+ type: :development
180
+ version_requirements: *id010
181
+ description: Jekyll is a simple, blog aware, static site generator.
182
+ email: tom@mojombo.com
183
+ executables:
184
+ - jekyll
185
+ extensions: []
186
+
187
+ extra_rdoc_files:
188
+ - README.textile
189
+ - LICENSE
190
+ files:
191
+ - History.txt
192
+ - LICENSE
193
+ - README.textile
194
+ - Rakefile
195
+ - bin/jekyll
196
+ - cucumber.yml
197
+ - features/create_sites.feature
198
+ - features/embed_filters.feature
199
+ - features/markdown.feature
200
+ - features/pagination.feature
201
+ - features/permalinks.feature
202
+ - features/post_data.feature
203
+ - features/site_configuration.feature
204
+ - features/site_data.feature
205
+ - features/step_definitions/jekyll_steps.rb
206
+ - features/support/env.rb
207
+ - jekyll.gemspec
208
+ - lib/jekyll.rb
209
+ - lib/jekyll/albino.rb
210
+ - lib/jekyll/converter.rb
211
+ - lib/jekyll/converters/identity.rb
212
+ - lib/jekyll/converters/markdown.rb
213
+ - lib/jekyll/converters/textile.rb
214
+ - lib/jekyll/convertible.rb
215
+ - lib/jekyll/core_ext.rb
216
+ - lib/jekyll/errors.rb
217
+ - lib/jekyll/filters.rb
218
+ - lib/jekyll/generator.rb
219
+ - lib/jekyll/generators/pagination.rb
220
+ - lib/jekyll/layout.rb
221
+ - lib/jekyll/migrators/csv.rb
222
+ - lib/jekyll/migrators/drupal.rb
223
+ - lib/jekyll/migrators/marley.rb
224
+ - lib/jekyll/migrators/mephisto.rb
225
+ - lib/jekyll/migrators/mt.rb
226
+ - lib/jekyll/migrators/textpattern.rb
227
+ - lib/jekyll/migrators/typo.rb
228
+ - lib/jekyll/migrators/wordpress.com.rb
229
+ - lib/jekyll/migrators/wordpress.rb
230
+ - lib/jekyll/page.rb
231
+ - lib/jekyll/plugin.rb
232
+ - lib/jekyll/post.rb
233
+ - lib/jekyll/site.rb
234
+ - lib/jekyll/static_file.rb
235
+ - lib/jekyll/tags/highlight.rb
236
+ - lib/jekyll/tags/include.rb
237
+ - test/helper.rb
238
+ - test/source/.htaccess
239
+ - test/source/_includes/sig.markdown
240
+ - test/source/_layouts/default.html
241
+ - test/source/_layouts/simple.html
242
+ - test/source/_posts/2008-02-02-not-published.textile
243
+ - test/source/_posts/2008-02-02-published.textile
244
+ - test/source/_posts/2008-10-18-foo-bar.textile
245
+ - test/source/_posts/2008-11-21-complex.textile
246
+ - test/source/_posts/2008-12-03-permalinked-post.textile
247
+ - test/source/_posts/2008-12-13-include.markdown
248
+ - test/source/_posts/2009-01-27-array-categories.textile
249
+ - test/source/_posts/2009-01-27-categories.textile
250
+ - test/source/_posts/2009-01-27-category.textile
251
+ - test/source/_posts/2009-01-27-empty-categories.textile
252
+ - test/source/_posts/2009-01-27-empty-category.textile
253
+ - test/source/_posts/2009-03-12-hash-#1.markdown
254
+ - test/source/_posts/2009-05-18-empty-tag.textile
255
+ - test/source/_posts/2009-05-18-empty-tags.textile
256
+ - test/source/_posts/2009-05-18-tag.textile
257
+ - test/source/_posts/2009-05-18-tags.textile
258
+ - test/source/_posts/2009-06-22-empty-yaml.textile
259
+ - test/source/_posts/2009-06-22-no-yaml.textile
260
+ - test/source/_posts/2010-01-08-triple-dash.markdown
261
+ - test/source/_posts/2010-01-09-date-override.textile
262
+ - test/source/_posts/2010-01-09-time-override.textile
263
+ - test/source/_posts/2010-01-09-timezone-override.textile
264
+ - test/source/_posts/2010-01-16-override-data.textile
265
+ - test/source/about.html
266
+ - test/source/category/_posts/2008-9-23-categories.textile
267
+ - test/source/contacts.html
268
+ - test/source/css/screen.css
269
+ - test/source/deal.with.dots.html
270
+ - test/source/foo/_posts/bar/2008-12-12-topical-post.textile
271
+ - test/source/index.html
272
+ - test/source/sitemap.xml
273
+ - test/source/win/_posts/2009-05-24-yaml-linebreak.markdown
274
+ - test/source/z_category/_posts/2008-9-23-categories.textile
275
+ - test/suite.rb
276
+ - test/test_configuration.rb
277
+ - test/test_core_ext.rb
278
+ - test/test_filters.rb
279
+ - test/test_generated_site.rb
280
+ - test/test_kramdown.rb
281
+ - test/test_page.rb
282
+ - test/test_pager.rb
283
+ - test/test_post.rb
284
+ - test/test_rdiscount.rb
285
+ - test/test_site.rb
286
+ - test/test_tags.rb
287
+ has_rdoc: true
288
+ homepage: http://github.com/mojombo/jekyll
289
+ licenses: []
290
+
291
+ post_install_message:
292
+ rdoc_options:
293
+ - --charset=UTF-8
294
+ require_paths:
295
+ - lib
296
+ required_ruby_version: !ruby/object:Gem::Requirement
297
+ none: false
298
+ requirements:
299
+ - - ">="
300
+ - !ruby/object:Gem::Version
301
+ hash: 3
302
+ segments:
303
+ - 0
304
+ version: "0"
305
+ required_rubygems_version: !ruby/object:Gem::Requirement
306
+ none: false
307
+ requirements:
308
+ - - ">="
309
+ - !ruby/object:Gem::Version
310
+ hash: 3
311
+ segments:
312
+ - 0
313
+ version: "0"
314
+ requirements: []
315
+
316
+ rubyforge_project: jekyll
317
+ rubygems_version: 1.5.0
318
+ signing_key:
319
+ specification_version: 2
320
+ summary: A simple, blog aware, static site generator.
321
+ test_files:
322
+ - test/test_configuration.rb
323
+ - test/test_core_ext.rb
324
+ - test/test_filters.rb
325
+ - test/test_generated_site.rb
326
+ - test/test_kramdown.rb
327
+ - test/test_page.rb
328
+ - test/test_pager.rb
329
+ - test/test_post.rb
330
+ - test/test_rdiscount.rb
331
+ - test/test_site.rb
332
+ - test/test_tags.rb