mojombo-jekyll 0.1.1 → 0.1.2

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.
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: