fagiani-jekyll 0.10.1

Sign up to get free protection for your applications and to get access to all the features.
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