crnixon-jekyll 0.5.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 (59) hide show
  1. data/.gitignore +6 -0
  2. data/History.txt +115 -0
  3. data/README.textile +649 -0
  4. data/Rakefile +91 -0
  5. data/TODO +3 -0
  6. data/VERSION.yml +4 -0
  7. data/bin/jekyll +156 -0
  8. data/crnixon-jekyll.gemspec +125 -0
  9. data/features/create_sites.feature +46 -0
  10. data/features/embed_filters.feature +60 -0
  11. data/features/permalinks.feature +54 -0
  12. data/features/post_data.feature +155 -0
  13. data/features/site_configuration.feature +40 -0
  14. data/features/site_data.feature +51 -0
  15. data/features/step_definitions/jekyll_steps.rb +118 -0
  16. data/features/support/env.rb +18 -0
  17. data/lib/jekyll/albino.rb +122 -0
  18. data/lib/jekyll/converters/csv.rb +26 -0
  19. data/lib/jekyll/converters/mephisto.rb +79 -0
  20. data/lib/jekyll/converters/mt.rb +59 -0
  21. data/lib/jekyll/converters/textpattern.rb +50 -0
  22. data/lib/jekyll/converters/typo.rb +49 -0
  23. data/lib/jekyll/converters/wordpress.rb +54 -0
  24. data/lib/jekyll/convertible.rb +117 -0
  25. data/lib/jekyll/core_ext.rb +29 -0
  26. data/lib/jekyll/filters.rb +47 -0
  27. data/lib/jekyll/haml_helpers.rb +17 -0
  28. data/lib/jekyll/layout.rb +37 -0
  29. data/lib/jekyll/page.rb +67 -0
  30. data/lib/jekyll/post.rb +305 -0
  31. data/lib/jekyll/site.rb +310 -0
  32. data/lib/jekyll/tags/highlight.rb +68 -0
  33. data/lib/jekyll/tags/include.rb +31 -0
  34. data/lib/jekyll.rb +84 -0
  35. data/test/helper.rb +24 -0
  36. data/test/source/_includes/sig.markdown +3 -0
  37. data/test/source/_layouts/default.html +27 -0
  38. data/test/source/_layouts/simple.html +1 -0
  39. data/test/source/_posts/2008-02-02-not-published.textile +8 -0
  40. data/test/source/_posts/2008-02-02-published.textile +8 -0
  41. data/test/source/_posts/2008-10-18-foo-bar.textile +8 -0
  42. data/test/source/_posts/2008-11-21-complex.textile +8 -0
  43. data/test/source/_posts/2008-12-03-permalinked-post.textile +9 -0
  44. data/test/source/_posts/2008-12-13-include.markdown +8 -0
  45. data/test/source/_posts/2009-01-27-array-categories.textile +10 -0
  46. data/test/source/_posts/2009-01-27-categories.textile +7 -0
  47. data/test/source/_posts/2009-01-27-category.textile +7 -0
  48. data/test/source/category/_posts/2008-9-23-categories.textile +6 -0
  49. data/test/source/css/screen.css +76 -0
  50. data/test/source/foo/_posts/bar/2008-12-12-topical-post.textile +8 -0
  51. data/test/source/index.html +22 -0
  52. data/test/source/z_category/_posts/2008-9-23-categories.textile +6 -0
  53. data/test/suite.rb +9 -0
  54. data/test/test_filters.rb +41 -0
  55. data/test/test_generated_site.rb +38 -0
  56. data/test/test_post.rb +262 -0
  57. data/test/test_site.rb +61 -0
  58. data/test/test_tags.rb +51 -0
  59. metadata +180 -0
data/test/test_site.rb ADDED
@@ -0,0 +1,61 @@
1
+ require File.dirname(__FILE__) + '/helper'
2
+
3
+ class TestSite < Test::Unit::TestCase
4
+ context "creating sites" do
5
+ setup do
6
+ stub(Jekyll).configuration do
7
+ Jekyll::DEFAULTS.merge({'source' => source_dir, 'destination' => dest_dir, 'other_param' => 1})
8
+ end
9
+ @site = Site.new(Jekyll.configuration)
10
+ end
11
+
12
+ should "give access to configuration parameters" do
13
+ assert_equal @site.other_param, 1
14
+ end
15
+
16
+ should "reset data before processing" do
17
+ clear_dest
18
+ @site.process
19
+ before_posts = @site.posts.length
20
+ before_layouts = @site.layouts.length
21
+ before_categories = @site.categories.length
22
+
23
+ @site.process
24
+ assert_equal before_posts, @site.posts.length
25
+ assert_equal before_layouts, @site.layouts.length
26
+ assert_equal before_categories, @site.categories.length
27
+ end
28
+
29
+ should "read layouts" do
30
+ @site.read_layouts
31
+ assert_equal ["default", "simple"].sort, @site.layouts.keys.sort
32
+ end
33
+
34
+ should "read posts" do
35
+ @site.read_posts('')
36
+ posts = Dir[source_dir('_posts', '*')]
37
+ assert_equal posts.size - 1, @site.posts.size
38
+ end
39
+
40
+ should "deploy payload" do
41
+ clear_dest
42
+ @site.process
43
+
44
+ posts = Dir[source_dir("**", "_posts", "*")]
45
+ categories = %w(bar baz category foo z_category publish_test).sort
46
+
47
+ assert_equal posts.size - 1, @site.posts.size
48
+ assert_equal categories, @site.categories.keys.sort
49
+ assert_equal 4, @site.categories['foo'].size
50
+ end
51
+
52
+ should "filter entries" do
53
+ ent1 = %w[foo.markdown bar.markdown baz.markdown #baz.markdown#
54
+ .baz.markdow foo.markdown~]
55
+ ent2 = %w[.htaccess _posts bla.bla]
56
+
57
+ assert_equal %w[foo.markdown bar.markdown baz.markdown], @site.filter_entries(ent1)
58
+ assert_equal ent2, @site.filter_entries(ent2)
59
+ end
60
+ end
61
+ end
data/test/test_tags.rb ADDED
@@ -0,0 +1,51 @@
1
+ require File.dirname(__FILE__) + '/helper'
2
+
3
+ class TestTags < Test::Unit::TestCase
4
+
5
+ def create_post(code)
6
+ stub(Jekyll).configuration do
7
+ Jekyll::DEFAULTS.merge({'pygments' => true})
8
+ end
9
+ site = Site.new(Jekyll.configuration)
10
+ info = { :filters => [Jekyll::Filters], :registers => { :site => site } }
11
+
12
+ content = <<CONTENT
13
+ ---
14
+ title: This is a test
15
+ ---
16
+
17
+ This document results in a markdown error with maruku
18
+
19
+ {% highlight text %}
20
+ #{code}
21
+ {% endhighlight %}
22
+ CONTENT
23
+
24
+ @result = Liquid::Template.parse(content).render({}, info)
25
+ @result = site.markdown(@result)
26
+ end
27
+
28
+ context "post content has highlight tag" do
29
+ setup do
30
+ create_post("test")
31
+ end
32
+
33
+ should "not cause a markdown error" do
34
+ assert_no_match /markdown\-html\-error/, @result
35
+ end
36
+
37
+ should "render markdown with pygments line handling" do
38
+ assert_match %{<pre>test\n</pre>}, @result
39
+ end
40
+ end
41
+
42
+ context "post content has highlight tag with UTF character" do
43
+ setup do
44
+ create_post("Æ")
45
+ end
46
+
47
+ should "render markdown with pygments line handling" do
48
+ assert_match %{<pre>Æ\n</pre>}, @result
49
+ end
50
+ end
51
+ end
metadata ADDED
@@ -0,0 +1,180 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: crnixon-jekyll
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.1
5
+ platform: ruby
6
+ authors:
7
+ - Tom Preston-Werner
8
+ - Henrik Nyh
9
+ - Clinton R. Nixon
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+
14
+ date: 2010-01-23 00:00:00 -05:00
15
+ default_executable: jekyll
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ name: RedCloth
19
+ type: :runtime
20
+ version_requirement:
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: 4.0.4
26
+ version:
27
+ - !ruby/object:Gem::Dependency
28
+ name: liquid
29
+ type: :runtime
30
+ version_requirement:
31
+ version_requirements: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: 1.9.0
36
+ version:
37
+ - !ruby/object:Gem::Dependency
38
+ name: classifier
39
+ type: :runtime
40
+ version_requirement:
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 1.3.1
46
+ version:
47
+ - !ruby/object:Gem::Dependency
48
+ name: maruku
49
+ type: :runtime
50
+ version_requirement:
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 0.5.9
56
+ version:
57
+ - !ruby/object:Gem::Dependency
58
+ name: directory_watcher
59
+ type: :runtime
60
+ version_requirement:
61
+ version_requirements: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 1.1.1
66
+ version:
67
+ - !ruby/object:Gem::Dependency
68
+ name: open4
69
+ type: :runtime
70
+ version_requirement:
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 0.9.6
76
+ version:
77
+ description: Jekyll is a simple, blog aware, static site generator.
78
+ email: crnixon@gmail.com
79
+ executables:
80
+ - jekyll
81
+ extensions: []
82
+
83
+ extra_rdoc_files:
84
+ - README.textile
85
+ - TODO
86
+ files:
87
+ - .gitignore
88
+ - History.txt
89
+ - README.textile
90
+ - Rakefile
91
+ - TODO
92
+ - VERSION.yml
93
+ - bin/jekyll
94
+ - crnixon-jekyll.gemspec
95
+ - features/create_sites.feature
96
+ - features/embed_filters.feature
97
+ - features/permalinks.feature
98
+ - features/post_data.feature
99
+ - features/site_configuration.feature
100
+ - features/site_data.feature
101
+ - features/step_definitions/jekyll_steps.rb
102
+ - features/support/env.rb
103
+ - lib/jekyll.rb
104
+ - lib/jekyll/albino.rb
105
+ - lib/jekyll/converters/csv.rb
106
+ - lib/jekyll/converters/mephisto.rb
107
+ - lib/jekyll/converters/mt.rb
108
+ - lib/jekyll/converters/textpattern.rb
109
+ - lib/jekyll/converters/typo.rb
110
+ - lib/jekyll/converters/wordpress.rb
111
+ - lib/jekyll/convertible.rb
112
+ - lib/jekyll/core_ext.rb
113
+ - lib/jekyll/filters.rb
114
+ - lib/jekyll/haml_helpers.rb
115
+ - lib/jekyll/layout.rb
116
+ - lib/jekyll/page.rb
117
+ - lib/jekyll/post.rb
118
+ - lib/jekyll/site.rb
119
+ - lib/jekyll/tags/highlight.rb
120
+ - lib/jekyll/tags/include.rb
121
+ - test/helper.rb
122
+ - test/source/_includes/sig.markdown
123
+ - test/source/_layouts/default.html
124
+ - test/source/_layouts/simple.html
125
+ - test/source/_posts/2008-02-02-not-published.textile
126
+ - test/source/_posts/2008-02-02-published.textile
127
+ - test/source/_posts/2008-10-18-foo-bar.textile
128
+ - test/source/_posts/2008-11-21-complex.textile
129
+ - test/source/_posts/2008-12-03-permalinked-post.textile
130
+ - test/source/_posts/2008-12-13-include.markdown
131
+ - test/source/_posts/2009-01-27-array-categories.textile
132
+ - test/source/_posts/2009-01-27-categories.textile
133
+ - test/source/_posts/2009-01-27-category.textile
134
+ - test/source/category/_posts/2008-9-23-categories.textile
135
+ - test/source/css/screen.css
136
+ - test/source/foo/_posts/bar/2008-12-12-topical-post.textile
137
+ - test/source/index.html
138
+ - test/source/z_category/_posts/2008-9-23-categories.textile
139
+ - test/suite.rb
140
+ - test/test_filters.rb
141
+ - test/test_generated_site.rb
142
+ - test/test_post.rb
143
+ - test/test_site.rb
144
+ - test/test_tags.rb
145
+ has_rdoc: true
146
+ homepage: http://github.com/crnixon/jekyll
147
+ licenses: []
148
+
149
+ post_install_message:
150
+ rdoc_options:
151
+ - --charset=UTF-8
152
+ require_paths:
153
+ - lib
154
+ required_ruby_version: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: "0"
159
+ version:
160
+ required_rubygems_version: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: "0"
165
+ version:
166
+ requirements: []
167
+
168
+ rubyforge_project: crnixon-jekyll
169
+ rubygems_version: 1.3.5
170
+ signing_key:
171
+ specification_version: 3
172
+ summary: Jekyll is a simple, blog aware, static site generator.
173
+ test_files:
174
+ - test/helper.rb
175
+ - test/suite.rb
176
+ - test/test_filters.rb
177
+ - test/test_generated_site.rb
178
+ - test/test_post.rb
179
+ - test/test_site.rb
180
+ - test/test_tags.rb