mojombo-jekyll 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,4 +1,11 @@
1
- == 0.1.1 /
1
+ == 0.1.2 / 2008-11-22
2
+ * Major Features
3
+ * Add a real "related posts" implementation using Classifier
4
+ * Command Line Changes
5
+ * Allow cli to be called with 0, 1, or 2 args intuiting dir paths
6
+ if they are omitted
7
+
8
+ == 0.1.1 / 2008-11-22
2
9
  * Minor Additions
3
10
  * Posts now support introspectional data e.g. {{ page.url }}
4
11
 
data/Rakefile CHANGED
@@ -6,7 +6,7 @@ Hoe.new('jekyll', Jekyll::VERSION) do |p|
6
6
  # p.rubyforge_name = 'jekyllx' # if different than lowercase project name
7
7
  p.developer('Tom Preston-Werner', 'tom@mojombo.com')
8
8
  p.summary = "Jekyll is a simple, blog aware, static site generator."
9
- p.extra_deps = ['RedCloth', 'liquid']
9
+ p.extra_deps = ['RedCloth', 'liquid', 'classifier']
10
10
  end
11
11
 
12
12
  desc "Open an irb session preloaded with this library"
data/bin/jekyll CHANGED
@@ -4,8 +4,24 @@ $:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
4
4
 
5
5
  require 'jekyll'
6
6
 
7
- if ARGV[0] && ARGV[1]
8
- Jekyll.process(ARGV[0], ARGV[1])
9
- else
10
- puts "USAGE: jekyll /path/to/raw/site /path/to/generated/site"
11
- end
7
+ case ARGV.size
8
+ when 0
9
+ dest = File.join('.', '_site')
10
+ FileUtils.rm_rf(dest)
11
+ FileUtils.mkdir_p(dest)
12
+ Jekyll.process('.', dest)
13
+ when 1
14
+ Jekyll.process('.', ARGV[0])
15
+ when 2
16
+ Jekyll.process(ARGV[0], ARGV[1])
17
+ else
18
+ puts DATA.read
19
+ end
20
+
21
+ __END__
22
+ Jekyll is a blog-aware, static site generator.
23
+
24
+ Basic Command Line Usage:
25
+ jekyll # . -> ./_site
26
+ jekyll <path to write generated site> # . -> <path>
27
+ jekyll <path to source> <path to write generated site> # <path> -> <path>
data/jekyll.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{jekyll}
3
- s.version = "0.1.1"
3
+ s.version = "0.1.2"
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"]
@@ -25,15 +25,18 @@ Gem::Specification.new do |s|
25
25
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
26
26
  s.add_runtime_dependency(%q<RedCloth>, [">= 0"])
27
27
  s.add_runtime_dependency(%q<liquid>, [">= 0"])
28
+ s.add_runtime_dependency(%q<classifier>, [">= 0"])
28
29
  s.add_development_dependency(%q<hoe>, [">= 1.8.0"])
29
30
  else
30
31
  s.add_dependency(%q<RedCloth>, [">= 0"])
31
32
  s.add_dependency(%q<liquid>, [">= 0"])
33
+ s.add_dependency(%q<classifier>, [">= 0"])
32
34
  s.add_dependency(%q<hoe>, [">= 1.8.0"])
33
35
  end
34
36
  else
35
37
  s.add_dependency(%q<RedCloth>, [">= 0"])
36
38
  s.add_dependency(%q<liquid>, [">= 0"])
39
+ s.add_dependency(%q<classifier>, [">= 0"])
37
40
  s.add_dependency(%q<hoe>, [">= 1.8.0"])
38
41
  end
39
42
  end
data/lib/jekyll.rb CHANGED
@@ -12,6 +12,7 @@ require 'time'
12
12
  # 3rd party
13
13
  require 'liquid'
14
14
  require 'redcloth'
15
+ require 'classifier'
15
16
 
16
17
  # internal requires
17
18
  require 'jekyll/site'
@@ -22,7 +23,7 @@ require 'jekyll/post'
22
23
  require 'jekyll/filters'
23
24
 
24
25
  module Jekyll
25
- VERSION = '0.1.1'
26
+ VERSION = '0.1.2'
26
27
 
27
28
  def self.process(source, dest)
28
29
  Jekyll::Site.new(source, dest).process
@@ -1,5 +1,10 @@
1
1
  module Jekyll
2
2
  module Convertible
3
+ # Return the contents as a string
4
+ def to_s
5
+ self.content || ''
6
+ end
7
+
3
8
  # Read the YAML frontmatter
4
9
  # +base+ is the String path to the dir containing the file
5
10
  # +name+ is the String filename of the file
data/lib/jekyll/post.rb CHANGED
@@ -4,6 +4,10 @@ module Jekyll
4
4
  include Comparable
5
5
  include Convertible
6
6
 
7
+ class << self
8
+ attr_accessor :lsi
9
+ end
10
+
7
11
  MATCHER = /^(\d+-\d+-\d+)-(.*)(\.[^.]+)$/
8
12
 
9
13
  # Post name validator. Post filenames must be like:
@@ -77,7 +81,14 @@ module Jekyll
77
81
  #
78
82
  # Returns [<Post>]
79
83
  def related_posts(posts)
80
- related = posts - [self]
84
+ self.class.lsi ||= begin
85
+ lsi = Classifier::LSI.new
86
+ posts.each { |x| lsi.add_item(x) }
87
+ lsi
88
+ end
89
+
90
+ related = self.class.lsi.find_related(self.content, 11)
91
+ related - [self]
81
92
  end
82
93
 
83
94
  # Add any necessary layouts to this post
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.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Preston-Werner
@@ -30,6 +30,15 @@ dependencies:
30
30
  - !ruby/object:Gem::Version
31
31
  version: "0"
32
32
  version:
33
+ - !ruby/object:Gem::Dependency
34
+ name: classifier
35
+ version_requirement:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: "0"
41
+ version:
33
42
  - !ruby/object:Gem::Dependency
34
43
  name: hoe
35
44
  version_requirement: