mojombo-jekyll 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.1.6 / 2008-12-13
2
+ * Major Features
3
+ * Include files in _includes with {% include x.textile %}
4
+
1
5
  == 0.1.5 / 2008-12-12
2
6
  * Major Features
3
7
  * Code highlighting with Pygments if --pygments is specified
data/Manifest.txt CHANGED
@@ -6,7 +6,6 @@ bin/jekyll
6
6
  jekyll.gemspec
7
7
  lib/jekyll.rb
8
8
  lib/jekyll/albino.rb
9
- lib/jekyll/blocks.rb
10
9
  lib/jekyll/converters/csv.rb
11
10
  lib/jekyll/converters/mephisto.rb
12
11
  lib/jekyll/convertible.rb
@@ -15,11 +14,15 @@ lib/jekyll/layout.rb
15
14
  lib/jekyll/page.rb
16
15
  lib/jekyll/post.rb
17
16
  lib/jekyll/site.rb
17
+ lib/jekyll/tags/highlight.rb
18
+ lib/jekyll/tags/include.rb
18
19
  test/helper.rb
20
+ test/source/_includes/sig.textile
19
21
  test/source/_layouts/default.html
20
22
  test/source/_layouts/simple.html
21
23
  test/source/_posts/2008-10-18-foo-bar.textile
22
24
  test/source/_posts/2008-11-21-complex.textile
25
+ test/source/_posts/2008-12-13-include.textile
23
26
  test/source/css/screen.css
24
27
  test/source/index.html
25
28
  test/source/posts/2008-12-03-permalinked-post.textile
data/README.textile CHANGED
@@ -60,6 +60,43 @@ And if you don't want to be in the proto site root to run Jekyll:
60
60
 
61
61
  The autobuild feature can be used on any of the invocations.
62
62
 
63
+ h2. Filters, Tags, and Blocks
64
+
65
+ h3. Include Tag
66
+
67
+ If you have small page fragments that you wish to include in multiple places on your site, you can use the <code>include</code> tag.
68
+
69
+ <pre>{% include sig.textile %}</pre>
70
+
71
+ Jekyll expects all include files to be placed in an <code>_includes</code> directory at the root of your source dir. So this will embed the contents of <code>/path/to/proto/site/_includes/sig.textile</code> into the calling file.
72
+
73
+ h3. Code Highlighting Block
74
+
75
+ Jekyll has built in support for syntax highlighting of over "100
76
+ languages":http://pygments.org/languages/ via "Pygments":http://pygments.org/.
77
+ In order to take advantage of this you'll need to have Pygments installed (and
78
+ the pygmentize binary must be in your path).
79
+
80
+ To denote a code block that should be highlighted:
81
+
82
+ <pre>
83
+ {% highlight ruby %}
84
+ def foo
85
+ puts 'foo'
86
+ end
87
+ {% endhighlight %}
88
+ </pre>
89
+
90
+ The argument to <code>highlight</code> is the language identifier. To find the
91
+ appropriate identifier to use for your favorite language, look for the "short
92
+ name" on the "Lexers":http://pygments.org/docs/lexers/ page.
93
+
94
+ In order for the highlighting to show up, you'll need to include a
95
+ highlighting stylesheet. For an example stylesheet you can look at
96
+ "syntax.css":http://github.com/mojombo/tpw/tree/master/css/syntax.css. These
97
+ are the same styles as used by GitHub and you are free to use them for your
98
+ own site.
99
+
63
100
  h2. Contribute
64
101
 
65
102
  If you'd like to hack on Jekyll, grab the source from GitHub. To get
data/jekyll.gemspec CHANGED
@@ -1,15 +1,15 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{jekyll}
3
- s.version = "0.1.5"
3
+ s.version = "0.1.6"
4
4
 
5
5
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
6
  s.authors = ["Tom Preston-Werner"]
7
- s.date = %q{2008-12-12}
7
+ s.date = %q{2008-12-13}
8
8
  s.default_executable = %q{jekyll}
9
9
  s.email = ["tom@mojombo.com"]
10
10
  s.executables = ["jekyll"]
11
11
  s.extra_rdoc_files = ["History.txt", "Manifest.txt"]
12
- s.files = ["History.txt", "Manifest.txt", "README.textile", "Rakefile", "bin/jekyll", "jekyll.gemspec", "lib/jekyll.rb", "lib/jekyll/albino.rb", "lib/jekyll/blocks.rb", "lib/jekyll/converters/csv.rb", "lib/jekyll/converters/mephisto.rb", "lib/jekyll/convertible.rb", "lib/jekyll/filters.rb", "lib/jekyll/layout.rb", "lib/jekyll/page.rb", "lib/jekyll/post.rb", "lib/jekyll/site.rb", "test/helper.rb", "test/source/_layouts/default.html", "test/source/_layouts/simple.html", "test/source/_posts/2008-10-18-foo-bar.textile", "test/source/_posts/2008-11-21-complex.textile", "test/source/css/screen.css", "test/source/index.html", "test/source/posts/2008-12-03-permalinked-post.textile", "test/suite.rb", "test/test_jekyll.rb", "test/test_post.rb", "test/test_site.rb"]
12
+ s.files = ["History.txt", "Manifest.txt", "README.textile", "Rakefile", "bin/jekyll", "jekyll.gemspec", "lib/jekyll.rb", "lib/jekyll/albino.rb", "lib/jekyll/converters/csv.rb", "lib/jekyll/converters/mephisto.rb", "lib/jekyll/convertible.rb", "lib/jekyll/filters.rb", "lib/jekyll/layout.rb", "lib/jekyll/page.rb", "lib/jekyll/post.rb", "lib/jekyll/site.rb", "lib/jekyll/tags/highlight.rb", "lib/jekyll/tags/include.rb", "test/helper.rb", "test/source/_includes/sig.textile", "test/source/_layouts/default.html", "test/source/_layouts/simple.html", "test/source/_posts/2008-10-18-foo-bar.textile", "test/source/_posts/2008-11-21-complex.textile", "test/source/_posts/2008-12-13-include.textile", "test/source/css/screen.css", "test/source/index.html", "test/source/posts/2008-12-03-permalinked-post.textile", "test/suite.rb", "test/test_jekyll.rb", "test/test_post.rb", "test/test_site.rb"]
13
13
  s.has_rdoc = true
14
14
  s.rdoc_options = ["--main", "README.txt"]
15
15
  s.require_paths = ["lib"]
data/lib/jekyll.rb CHANGED
@@ -17,7 +17,6 @@ begin
17
17
  rescue LoadError
18
18
  puts "The rdiscount gem is required for markdown support!"
19
19
  end
20
- require 'classifier'
21
20
  require 'directory_watcher'
22
21
 
23
22
  # internal requires
@@ -27,20 +26,25 @@ require 'jekyll/layout'
27
26
  require 'jekyll/page'
28
27
  require 'jekyll/post'
29
28
  require 'jekyll/filters'
30
- require 'jekyll/blocks'
29
+ require 'jekyll/tags/highlight'
30
+ require 'jekyll/tags/include'
31
31
  require 'jekyll/albino'
32
32
 
33
33
  module Jekyll
34
- VERSION = '0.1.5'
34
+ VERSION = '0.1.6'
35
35
 
36
36
  class << self
37
- attr_accessor :lsi, :pygments
37
+ attr_accessor :source, :dest, :lsi, :pygments
38
38
  end
39
39
 
40
40
  Jekyll.lsi = false
41
41
  Jekyll.pygments = false
42
42
 
43
43
  def self.process(source, dest)
44
+ require 'classifier' if Jekyll.lsi
45
+
46
+ Jekyll.source = source
47
+ Jekyll.dest = dest
44
48
  Jekyll::Site.new(source, dest).process
45
49
  end
46
50
  end
@@ -1,6 +1,6 @@
1
1
  module Jekyll
2
2
 
3
- class Highlight < Liquid::Block
3
+ class HighlightBlock < Liquid::Block
4
4
  include Liquid::StandardFilters
5
5
 
6
6
  def initialize(tag_name, lang, tokens)
@@ -34,4 +34,4 @@ module Jekyll
34
34
 
35
35
  end
36
36
 
37
- Liquid::Template.register_tag('highlight', Jekyll::Highlight)
37
+ Liquid::Template.register_tag('highlight', Jekyll::HighlightBlock)
@@ -0,0 +1,16 @@
1
+ module Jekyll
2
+
3
+ class IncludeTag < Liquid::Tag
4
+ def initialize(tag_name, file, tokens)
5
+ super
6
+ @file = file.strip
7
+ end
8
+
9
+ def render(context)
10
+ File.read(File.join(Jekyll.source, '_includes', @file))
11
+ end
12
+ end
13
+
14
+ end
15
+
16
+ Liquid::Template.register_tag('include', Jekyll::IncludeTag)
@@ -0,0 +1,3 @@
1
+ --
2
+ Tom Preston-Werner
3
+ github.com/mojombo
@@ -0,0 +1,6 @@
1
+ ---
2
+ layout: default
3
+ title: Include
4
+ ---
5
+
6
+ {% include sig.textile %}
data/test/test_post.rb CHANGED
@@ -83,4 +83,13 @@ class TestPost < Test::Unit::TestCase
83
83
 
84
84
  assert_equal "<<< <p>url: /2008/11/21/complex.html<br />\ndate: Fri Nov 21 00:00:00 -0800 2008<br />\nid: /2008/11/21/complex</p> >>>", p.output
85
85
  end
86
+
87
+ def test_include
88
+ Jekyll.source = File.join(File.dirname(__FILE__), *%w[source])
89
+ p = Post.new(File.join(File.dirname(__FILE__), *%w[source _posts]), "2008-12-13-include.textile")
90
+ layouts = {"default" => Layout.new(File.join(File.dirname(__FILE__), *%w[source _layouts]), "simple.html")}
91
+ p.add_layout(layouts, {"site" => {"posts" => []}})
92
+
93
+ assert_equal "<<< <p>&#8212;<br />\nTom Preston-Werner<br />\ngithub.com/mojombo</p> >>>", p.output
94
+ end
86
95
  end
data/test/test_site.rb CHANGED
@@ -19,7 +19,7 @@ class TestSite < Test::Unit::TestCase
19
19
  def test_read_posts
20
20
  @s.read_posts
21
21
 
22
- assert_equal 2, @s.posts.size
22
+ assert_equal 3, @s.posts.size
23
23
  end
24
24
 
25
25
  def test_write_posts
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mojombo-jekyll
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Preston-Werner
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-12-12 00:00:00 -08:00
12
+ date: 2008-12-13 00:00:00 -08:00
13
13
  default_executable: jekyll
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -94,7 +94,6 @@ files:
94
94
  - jekyll.gemspec
95
95
  - lib/jekyll.rb
96
96
  - lib/jekyll/albino.rb
97
- - lib/jekyll/blocks.rb
98
97
  - lib/jekyll/converters/csv.rb
99
98
  - lib/jekyll/converters/mephisto.rb
100
99
  - lib/jekyll/convertible.rb
@@ -103,11 +102,15 @@ files:
103
102
  - lib/jekyll/page.rb
104
103
  - lib/jekyll/post.rb
105
104
  - lib/jekyll/site.rb
105
+ - lib/jekyll/tags/highlight.rb
106
+ - lib/jekyll/tags/include.rb
106
107
  - test/helper.rb
108
+ - test/source/_includes/sig.textile
107
109
  - test/source/_layouts/default.html
108
110
  - test/source/_layouts/simple.html
109
111
  - test/source/_posts/2008-10-18-foo-bar.textile
110
112
  - test/source/_posts/2008-11-21-complex.textile
113
+ - test/source/_posts/2008-12-13-include.textile
111
114
  - test/source/css/screen.css
112
115
  - test/source/index.html
113
116
  - test/source/posts/2008-12-03-permalinked-post.textile