who-needs-wp 0.6.1 → 0.7.0
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/bin/who-needs-wp +12 -2
- data/lib/who-needs-wp.rb +25 -4
- data/lib/who-needs-wp/Content.rb +23 -13
- data/lib/who-needs-wp/content/Page.rb +1 -0
- data/lib/who-needs-wp/content/Post.rb +6 -3
- data/lib/who-needs-wp/keywords.rb +17 -0
- data/lib/who-needs-wp/sidebar/delicious.rb +5 -6
- data/lib/who-needs-wp/sidebar/latitude.rb +14 -0
- data/lib/who-needs-wp/sitemap.rb +40 -0
- data/lib/who-needs-wp/stylesheets/style.sass +3 -1
- data/lib/who-needs-wp/templates.rb +4 -2
- data/lib/who-needs-wp/templates/all_posts.haml +8 -7
- data/lib/who-needs-wp/templates/latitude.haml +1 -0
- data/lib/who-needs-wp/templates/layout.haml +14 -8
- data/lib/who-needs-wp/templates/page.haml +5 -4
- data/lib/who-needs-wp/templates/pageindex.haml +1 -1
- data/lib/who-needs-wp/templates/post.haml +1 -1
- metadata +27 -38
- data/lib/who-needs-wp/stylesheets/pygments.sass +0 -140
data/bin/who-needs-wp
CHANGED
@@ -53,11 +53,21 @@ Choice.options do
|
|
53
53
|
desc 'Upload the output to an FTP address.'
|
54
54
|
end
|
55
55
|
|
56
|
-
option :
|
57
|
-
long '--
|
56
|
+
option :upload_url do
|
57
|
+
long '--upload-url=SCP address'
|
58
58
|
desc "Location to upload the output. To enable specify the --upload option. (Default: \"#{options[:ftp]}\")"
|
59
59
|
end
|
60
60
|
|
61
|
+
option :use_term_extractor do
|
62
|
+
long '--use-term-extractor'
|
63
|
+
desc "Generate tags for each post / page using the Yahoo Term Extractor API."
|
64
|
+
end
|
65
|
+
|
66
|
+
option :index_page do
|
67
|
+
long '--index-page=filename'
|
68
|
+
desc "Override the default index page for the site. If not set then the first page in the site is used."
|
69
|
+
end
|
70
|
+
|
61
71
|
option :help do
|
62
72
|
long '--help'
|
63
73
|
desc 'Show this message'
|
data/lib/who-needs-wp.rb
CHANGED
@@ -4,12 +4,17 @@ require 'rdiscount'
|
|
4
4
|
require 'haml'
|
5
5
|
require 'open-uri'
|
6
6
|
require 'sass'
|
7
|
-
require '
|
7
|
+
require 'kramdown'
|
8
8
|
require 'logger'
|
9
9
|
require 'rss/maker'
|
10
10
|
require 'net/ssh'
|
11
11
|
require 'net/sftp'
|
12
|
+
require 'rexml/document'
|
13
|
+
require 'net/http'
|
14
|
+
|
12
15
|
require 'who-needs-wp/css.rb'
|
16
|
+
require 'who-needs-wp/keywords.rb'
|
17
|
+
require 'who-needs-wp/sitemap.rb'
|
13
18
|
require 'who-needs-wp/Content.rb'
|
14
19
|
require 'who-needs-wp/content/Page.rb'
|
15
20
|
require 'who-needs-wp/content/Post.rb'
|
@@ -18,6 +23,7 @@ require 'who-needs-wp/sidebar/twitter.rb'
|
|
18
23
|
require 'who-needs-wp/sidebar/delicious.rb'
|
19
24
|
require 'who-needs-wp/sidebar/recentposts.rb'
|
20
25
|
require 'who-needs-wp/sidebar/pageindex.rb'
|
26
|
+
require 'who-needs-wp/sidebar/latitude.rb'
|
21
27
|
require 'who-needs-wp/templates.rb'
|
22
28
|
|
23
29
|
module WhoNeedsWP
|
@@ -47,6 +53,9 @@ module WhoNeedsWP
|
|
47
53
|
if @options[:delicious]
|
48
54
|
delicious = Delicious.new(@options[:delicious][:user])
|
49
55
|
end
|
56
|
+
if @options[:latitude]
|
57
|
+
Latitude.new(@options[:latitude])
|
58
|
+
end
|
50
59
|
Page.load
|
51
60
|
Post.load
|
52
61
|
if Post.all.length > 0
|
@@ -62,6 +71,7 @@ module WhoNeedsWP
|
|
62
71
|
Post.index
|
63
72
|
self.index
|
64
73
|
self.css
|
74
|
+
self.sitemap
|
65
75
|
|
66
76
|
if @options[:upload]
|
67
77
|
self.upload
|
@@ -74,19 +84,30 @@ module WhoNeedsWP
|
|
74
84
|
|
75
85
|
# Generate the index page for the blog
|
76
86
|
def self.index
|
87
|
+
keywords = []
|
77
88
|
contents = ""
|
78
89
|
if Post.all.length > 0
|
79
90
|
Post.all[0..3].each do |post|
|
80
91
|
contents << post.html
|
92
|
+
keywords = keywords + post.tags
|
81
93
|
end
|
82
94
|
else
|
83
|
-
|
95
|
+
index_page = Page.all.first
|
96
|
+
if @options[:index_page]
|
97
|
+
Page.all.each do |page|
|
98
|
+
if page.filename[:original] == @options[:index_page]
|
99
|
+
index_page = page
|
100
|
+
break
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
contents = index_page.html
|
84
105
|
end
|
85
|
-
self.render_html("index.html", "index", contents)
|
106
|
+
self.render_html("index.html", "index", contents, "", keywords, @options[:index_summary])
|
86
107
|
end
|
87
108
|
|
88
109
|
def self.upload
|
89
|
-
match = @options[:
|
110
|
+
match = @options[:upload_url].match(/(.*)@(.*):(.*)/)
|
90
111
|
username = match[1]
|
91
112
|
host = match[2]
|
92
113
|
remote_path = match[3]
|
data/lib/who-needs-wp/Content.rb
CHANGED
@@ -19,8 +19,9 @@ module WhoNeedsWP
|
|
19
19
|
attr_accessor :summary
|
20
20
|
# A Hash which contains the original and generated filename
|
21
21
|
attr_accessor :filename
|
22
|
-
|
23
|
-
|
22
|
+
# An array of tags which are associated with this content
|
23
|
+
attr_accessor :tags
|
24
|
+
|
24
25
|
def initialize(filename)
|
25
26
|
@filename = {
|
26
27
|
:original => filename,
|
@@ -30,7 +31,7 @@ module WhoNeedsWP
|
|
30
31
|
@url = WhoNeedsWP::options[:url] + '/' + @filename[:generated]
|
31
32
|
# Set the default author of the content to be the site author
|
32
33
|
@author = WhoNeedsWP::options[:author]
|
33
|
-
|
34
|
+
|
34
35
|
read_file
|
35
36
|
end
|
36
37
|
|
@@ -38,8 +39,10 @@ module WhoNeedsWP
|
|
38
39
|
def render
|
39
40
|
# Set the summary to be the first paragraph
|
40
41
|
@summary = $1 if @html =~ (/(?:<p>)(.*?)(?:<\/p>)/)
|
42
|
+
# Append the full site URL to any links referring to the root folder
|
43
|
+
@html.gsub!(/(href|src)=\"\//, '\1="' + WhoNeedsWP::options[:url] + '/')
|
41
44
|
# Render the content HTML within a page
|
42
|
-
WhoNeedsWP::render_html(@filename[:generated], "page", @html, @title)
|
45
|
+
WhoNeedsWP::render_html(@filename[:generated], "page", @html, @title, @tags, @summary)
|
43
46
|
end
|
44
47
|
|
45
48
|
private
|
@@ -49,7 +52,15 @@ module WhoNeedsWP
|
|
49
52
|
content = File.read(@filename[:original])
|
50
53
|
# Remove the author, if there is one from the Markdown
|
51
54
|
content = extract_author(content)
|
52
|
-
|
55
|
+
if WhoNeedsWP::options[:use_term_extractor]
|
56
|
+
@tags = YahooTermExtractor.generate_keywords(content)
|
57
|
+
else
|
58
|
+
@tags = []
|
59
|
+
end
|
60
|
+
|
61
|
+
@markdown = Kramdown::Document.new(content)
|
62
|
+
#,{:coderay => {:wrap => :div, :line_numbers => :inline,
|
63
|
+
#:line_number_start => 1, :tab_width => 8, :bold_every => 10, :css => :style}})
|
53
64
|
end
|
54
65
|
|
55
66
|
# Return the title of the content, based on the filename
|
@@ -60,18 +71,17 @@ module WhoNeedsWP
|
|
60
71
|
|
61
72
|
# Return the filename which will be use to save rendered content
|
62
73
|
def generate_filename(filename)
|
63
|
-
File.dirname(filename) + "/" + File.basename(filename, ".markdown") + ".html"
|
74
|
+
File.dirname(filename) + "/" + File.basename(filename, ".markdown").gsub(/[?\/]/, '') + ".html"
|
64
75
|
end
|
65
76
|
|
66
77
|
# Generate a unique ID for this content
|
67
78
|
def generate_id
|
68
|
-
if
|
69
|
-
|
79
|
+
if @created_at != nil
|
80
|
+
# Replace the HTTP from the URL with tag:
|
81
|
+
@id = (WhoNeedsWP::options[:url] + '/' + @filename[:generated]).gsub(/http:\/\//, 'tag:')
|
82
|
+
match = @id.match(/([^\/]*)\/(.*)/)
|
83
|
+
@id = "#{match[1]},#{self.created_at.strftime('%Y-%m-%d')}:#{match[2]}" if match
|
70
84
|
end
|
71
|
-
# Replace the HTTP from the URL with tag:
|
72
|
-
@id = (WhoNeedsWP::options[:url] + @filename[:generated]).gsub(/http:\/\//, 'tag:')
|
73
|
-
match = @id.match(/([^\/]*)\/(.*)/)
|
74
|
-
@id = "#{match[1]},#{self.created_at.strftime('%Y-%m-%d')}:#{match[2]}" if match
|
75
85
|
end
|
76
86
|
|
77
87
|
# Read the author from the Markdown content. If none exists
|
@@ -86,4 +96,4 @@ module WhoNeedsWP
|
|
86
96
|
return content
|
87
97
|
end
|
88
98
|
end
|
89
|
-
end
|
99
|
+
end
|
@@ -6,6 +6,7 @@ module WhoNeedsWP
|
|
6
6
|
def initialize(filename, created_at)
|
7
7
|
super(filename)
|
8
8
|
@created_at = created_at
|
9
|
+
generate_id
|
9
10
|
end
|
10
11
|
|
11
12
|
# A list of all the pages on the site
|
@@ -50,9 +51,11 @@ module WhoNeedsWP
|
|
50
51
|
end
|
51
52
|
|
52
53
|
def self.index(filename = "posts/index.html")
|
53
|
-
|
54
|
-
|
55
|
-
|
54
|
+
if File.exists?(File.dirname(filename))
|
55
|
+
WhoNeedsWP::render_html(filename, "post_index", WhoNeedsWP::render_template("all_posts", {
|
56
|
+
:posts => @@posts
|
57
|
+
}), "All Posts")
|
58
|
+
end
|
56
59
|
end
|
57
60
|
|
58
61
|
# Generate an RSS feed of all the posts
|
@@ -0,0 +1,17 @@
|
|
1
|
+
|
2
|
+
module WhoNeedsWP
|
3
|
+
|
4
|
+
class YahooTermExtractor
|
5
|
+
@@API_URI = URI.parse('http://api.search.yahoo.com/ContentAnalysisService/V1/termExtraction')
|
6
|
+
def self.generate_keywords(text)
|
7
|
+
return [] if text.empty?
|
8
|
+
keywords = []
|
9
|
+
i = Net::HTTP.post_form(@@API_URI, { 'appid' => 'who-needs-wp', 'context' => text } )
|
10
|
+
i = REXML::Document.new i.body
|
11
|
+
i.each_element("//Result") do |result|
|
12
|
+
keywords << result.text
|
13
|
+
end
|
14
|
+
return keywords
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'nokogiri'
|
2
1
|
|
3
2
|
module WhoNeedsWP
|
4
3
|
class Delicious < Sidebar
|
@@ -27,12 +26,12 @@ module WhoNeedsWP
|
|
27
26
|
def get_bookmarks
|
28
27
|
@logger.debug "Fetching bookmarks from Delicious"
|
29
28
|
bookmarks = []
|
30
|
-
doc =
|
31
|
-
doc.
|
29
|
+
doc = REXML::Document.new(open("http://feeds.delicious.com/v2/rss/#{@username}?count=5"))
|
30
|
+
doc.each_element('//channel/item') do |item|
|
32
31
|
bookmarks << {
|
33
|
-
:title => (
|
34
|
-
:url => (
|
35
|
-
:date => Date.parse((
|
32
|
+
:title => item.get_text('title'),
|
33
|
+
:url => item.get_text('link'),
|
34
|
+
:date => Date.parse(item.get_text('pubDate').to_s)
|
36
35
|
}
|
37
36
|
end
|
38
37
|
return bookmarks
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module WhoNeedsWP
|
2
|
+
class Latitude < Sidebar
|
3
|
+
def initialize(username)
|
4
|
+
super()
|
5
|
+
@username = username
|
6
|
+
end
|
7
|
+
|
8
|
+
# See Sidebar.render
|
9
|
+
def render
|
10
|
+
@logger.debug "Rendering Latitude iFrame"
|
11
|
+
WhoNeedsWP::render_template("latitude", { :username => @username })
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
|
2
|
+
module WhoNeedsWP
|
3
|
+
def self.sitemap
|
4
|
+
document = REXML::Document.new
|
5
|
+
urlset = document.add_element("urlset", { "xmlns" => "http://www.sitemaps.org/schemas/sitemap/0.9"})
|
6
|
+
Post.all.each do |post|
|
7
|
+
url = REXML::Element.new("url")
|
8
|
+
urlset.add(url)
|
9
|
+
url.add_element("loc").text = post.url
|
10
|
+
url.add_element("lastmod").text = post.created_at.strftime('%Y-%m-%d')
|
11
|
+
url.add_element("priority").text = "0.5"
|
12
|
+
end
|
13
|
+
Page.all.each do |page|
|
14
|
+
url = REXML::Element.new("url")
|
15
|
+
urlset.add(url)
|
16
|
+
url.add_element("loc").text = page.url
|
17
|
+
url.add_element("priority").text = "0.8"
|
18
|
+
end
|
19
|
+
|
20
|
+
# Generate sitemap for index page
|
21
|
+
url = REXML::Element.new("url")
|
22
|
+
|
23
|
+
url.add_element("loc").text = WhoNeedsWP::options[:url] + "/index.html"
|
24
|
+
if Post.all.length > 0
|
25
|
+
url.add_element("lastmod").text = Post.all[0].created_at.strftime('%Y-%m-%d')
|
26
|
+
end
|
27
|
+
url.add_element("priority").text = "1.0"
|
28
|
+
urlset.add(url)
|
29
|
+
|
30
|
+
# Write the XML document to a file
|
31
|
+
File.open("sitemap.xml", "w") do |file|
|
32
|
+
file.puts document
|
33
|
+
end
|
34
|
+
|
35
|
+
# Create a robots.txt which points to the sitemap.xml
|
36
|
+
File.open("robots.txt", "w") do |file|
|
37
|
+
file.puts "Sitemap: #{WhoNeedsWP::options[:url]}sitemap.xml"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -6,7 +6,7 @@ module WhoNeedsWP
|
|
6
6
|
end
|
7
7
|
|
8
8
|
# Render the specified HTML contents within the layout template
|
9
|
-
def self.render_html(filename, type, contents, title = "")
|
9
|
+
def self.render_html(filename, type, contents, title = "", tags = [], summary = "")
|
10
10
|
File.open(filename, "w") do |file|
|
11
11
|
body = @template['body'].render(Object.new, {
|
12
12
|
:content => contents,
|
@@ -17,7 +17,9 @@ module WhoNeedsWP
|
|
17
17
|
file.puts @template['layout'].render(Object.new, {
|
18
18
|
:content => body,
|
19
19
|
:options => @options,
|
20
|
-
:title => title
|
20
|
+
:title => title,
|
21
|
+
:tags => tags,
|
22
|
+
:summary => summary
|
21
23
|
})
|
22
24
|
end
|
23
25
|
end
|
@@ -1,7 +1,8 @@
|
|
1
|
-
|
2
|
-
%
|
3
|
-
|
4
|
-
|
5
|
-
%
|
6
|
-
|
7
|
-
|
1
|
+
- if posts.length > 1
|
2
|
+
%h1 All Posts
|
3
|
+
%ul
|
4
|
+
- posts.each do |post|
|
5
|
+
%li
|
6
|
+
%span.date= post.created_at.strftime('%Y-%m-%d')
|
7
|
+
%a.title{:href => "#{post.url}", :title => post.title}= post.title
|
8
|
+
%p= post.summary
|
@@ -0,0 +1 @@
|
|
1
|
+
%iframe{:src => "http://www.google.com/latitude/apps/badge/api?user=#{username}&type=iframe&maptype=terrain", :width => "180", :height => "300"}
|
@@ -1,10 +1,14 @@
|
|
1
|
-
!!!
|
1
|
+
!!! 5
|
2
2
|
%html
|
3
3
|
%head
|
4
4
|
- if options[:stylesheet] == nil or options[:stylesheet].empty?
|
5
5
|
%link{:rel => "stylesheet", :type => "text/css", :href => "#{options[:url]}/style.css"}/
|
6
6
|
%link{:rel => "alternate", :type => "application/atom+xml", :href => "#{options[:url]}/posts.atom", :title => "#{options[:title]} - Atom"}/
|
7
7
|
%link{:rel => "alternate", :type => "application/rss+xml", :href => "#{options[:url]}/posts.rss", :title => "#{options[:title]} - RSS"}/
|
8
|
+
- if defined? tags and tags != nil and tags.length > 0
|
9
|
+
%meta{:name => "keywords", :content => tags.join(' ')}/
|
10
|
+
- if defined? summary and summary != nil and !summary.empty?
|
11
|
+
%meta{:name => "description", :content => summary.gsub(/<\/?[^>]*>/, "")}/
|
8
12
|
%title
|
9
13
|
= options[:title]
|
10
14
|
- if defined? title and title != nil and not title.empty?
|
@@ -15,14 +19,16 @@
|
|
15
19
|
%meta{:"http-equiv" => "Content-Type", :content => "text/html; charset=utf-8"}/
|
16
20
|
%body
|
17
21
|
= content
|
22
|
+
- if options[:google_analytics] != nil and not options[:google_analytics].empty?
|
23
|
+
%script{:src => 'http://www.google-analytics.com/ga.js', :type => 'text/javascript'}
|
24
|
+
= ""
|
18
25
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
} catch(err) {}
|
26
|
+
:javascript
|
27
|
+
try {
|
28
|
+
var pageTracker = _gat._getTracker("#{options[:google_analytics]}");
|
29
|
+
pageTracker._trackPageview();
|
30
|
+
} catch(err) {}
|
31
|
+
|
26
32
|
|
27
33
|
|
28
34
|
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
-
-
|
8
|
-
-
|
9
|
-
version: 0.
|
7
|
+
- 7
|
8
|
+
- 0
|
9
|
+
version: 0.7.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Owen Griffin
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-04-21 00:00:00 +01:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -60,49 +60,49 @@ dependencies:
|
|
60
60
|
type: :runtime
|
61
61
|
version_requirements: *id003
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
63
|
+
name: choice
|
64
64
|
prerelease: false
|
65
65
|
requirement: &id004 !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
segments:
|
70
|
+
- 0
|
70
71
|
- 1
|
71
72
|
- 4
|
72
|
-
|
73
|
-
version: 1.4.1
|
73
|
+
version: 0.1.4
|
74
74
|
type: :runtime
|
75
75
|
version_requirements: *id004
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
|
-
name:
|
77
|
+
name: net-ssh
|
78
78
|
prerelease: false
|
79
79
|
requirement: &id005 !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - ">="
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
segments:
|
84
|
-
-
|
84
|
+
- 2
|
85
85
|
- 0
|
86
|
-
-
|
87
|
-
version:
|
86
|
+
- 21
|
87
|
+
version: 2.0.21
|
88
88
|
type: :runtime
|
89
89
|
version_requirements: *id005
|
90
90
|
- !ruby/object:Gem::Dependency
|
91
|
-
name:
|
91
|
+
name: net-sftp
|
92
92
|
prerelease: false
|
93
93
|
requirement: &id006 !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
95
|
- - ">="
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
segments:
|
98
|
+
- 2
|
98
99
|
- 0
|
99
|
-
-
|
100
|
-
|
101
|
-
version: 0.1.1
|
100
|
+
- 4
|
101
|
+
version: 2.0.4
|
102
102
|
type: :runtime
|
103
103
|
version_requirements: *id006
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
|
-
name:
|
105
|
+
name: kramdown
|
106
106
|
prerelease: false
|
107
107
|
requirement: &id007 !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
@@ -110,39 +110,25 @@ dependencies:
|
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
segments:
|
112
112
|
- 0
|
113
|
-
-
|
114
|
-
-
|
115
|
-
version: 0.
|
113
|
+
- 6
|
114
|
+
- 0
|
115
|
+
version: 0.6.0
|
116
116
|
type: :runtime
|
117
117
|
version_requirements: *id007
|
118
118
|
- !ruby/object:Gem::Dependency
|
119
|
-
name:
|
119
|
+
name: coderay
|
120
120
|
prerelease: false
|
121
121
|
requirement: &id008 !ruby/object:Gem::Requirement
|
122
122
|
requirements:
|
123
123
|
- - ">="
|
124
124
|
- !ruby/object:Gem::Version
|
125
125
|
segments:
|
126
|
-
- 2
|
127
126
|
- 0
|
128
|
-
-
|
129
|
-
version: 2.0.21
|
130
|
-
type: :runtime
|
131
|
-
version_requirements: *id008
|
132
|
-
- !ruby/object:Gem::Dependency
|
133
|
-
name: net-sftp
|
134
|
-
prerelease: false
|
135
|
-
requirement: &id009 !ruby/object:Gem::Requirement
|
136
|
-
requirements:
|
137
|
-
- - ">="
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
segments:
|
127
|
+
- 9
|
140
128
|
- 2
|
141
|
-
|
142
|
-
- 4
|
143
|
-
version: 2.0.4
|
129
|
+
version: 0.9.2
|
144
130
|
type: :runtime
|
145
|
-
version_requirements: *
|
131
|
+
version_requirements: *id008
|
146
132
|
description: A static web site generator.
|
147
133
|
email: owen.griffin@gmail.com
|
148
134
|
executables:
|
@@ -160,12 +146,14 @@ files:
|
|
160
146
|
- lib/who-needs-wp/content/Page.rb
|
161
147
|
- lib/who-needs-wp/content/Post.rb
|
162
148
|
- lib/who-needs-wp/css.rb
|
149
|
+
- lib/who-needs-wp/keywords.rb
|
163
150
|
- lib/who-needs-wp/sidebar/delicious.rb
|
151
|
+
- lib/who-needs-wp/sidebar/latitude.rb
|
164
152
|
- lib/who-needs-wp/sidebar/pageindex.rb
|
165
153
|
- lib/who-needs-wp/sidebar/recentposts.rb
|
166
154
|
- lib/who-needs-wp/sidebar/twitter.rb
|
155
|
+
- lib/who-needs-wp/sitemap.rb
|
167
156
|
- lib/who-needs-wp/stylesheets/base.sass
|
168
|
-
- lib/who-needs-wp/stylesheets/pygments.sass
|
169
157
|
- lib/who-needs-wp/stylesheets/reset-fonts-grids.sass
|
170
158
|
- lib/who-needs-wp/stylesheets/style.sass
|
171
159
|
- lib/who-needs-wp/templates.rb
|
@@ -173,6 +161,7 @@ files:
|
|
173
161
|
- lib/who-needs-wp/templates/atom.haml
|
174
162
|
- lib/who-needs-wp/templates/body.haml
|
175
163
|
- lib/who-needs-wp/templates/delicious.haml
|
164
|
+
- lib/who-needs-wp/templates/latitude.haml
|
176
165
|
- lib/who-needs-wp/templates/layout.haml
|
177
166
|
- lib/who-needs-wp/templates/page.haml
|
178
167
|
- lib/who-needs-wp/templates/pageindex.haml
|
@@ -1,140 +0,0 @@
|
|
1
|
-
.code
|
2
|
-
.c
|
3
|
-
color: #999988
|
4
|
-
font-style: italic
|
5
|
-
|
6
|
-
.err
|
7
|
-
color: #a61717
|
8
|
-
background-color: #e3d2d2
|
9
|
-
|
10
|
-
.k, .o
|
11
|
-
font-weight: bold
|
12
|
-
|
13
|
-
.cm
|
14
|
-
color: #999988
|
15
|
-
font-style: italic
|
16
|
-
|
17
|
-
.cp
|
18
|
-
color: #999999
|
19
|
-
font-weight: bold
|
20
|
-
|
21
|
-
.c1
|
22
|
-
color: #999988
|
23
|
-
font-style: italic
|
24
|
-
|
25
|
-
.cs
|
26
|
-
color: #999999
|
27
|
-
font-weight: bold
|
28
|
-
font-style: italic
|
29
|
-
|
30
|
-
.gd
|
31
|
-
color: #000000
|
32
|
-
background-color: #ffdddd
|
33
|
-
|
34
|
-
.x
|
35
|
-
color: #000000
|
36
|
-
background-color: #ffaaaa
|
37
|
-
|
38
|
-
.ge
|
39
|
-
font-style: italic
|
40
|
-
|
41
|
-
.gr
|
42
|
-
color: #aa0000
|
43
|
-
|
44
|
-
.gh
|
45
|
-
color: #999999
|
46
|
-
|
47
|
-
.gi
|
48
|
-
color: #000000
|
49
|
-
background-color: #ddffdd
|
50
|
-
|
51
|
-
.x
|
52
|
-
color: #000000
|
53
|
-
background-color: #aaffaa
|
54
|
-
|
55
|
-
.go
|
56
|
-
color: #888888
|
57
|
-
|
58
|
-
.gp
|
59
|
-
color: #555555
|
60
|
-
|
61
|
-
.gs
|
62
|
-
font-weight: bold
|
63
|
-
|
64
|
-
.gu
|
65
|
-
color: #aaaaaa
|
66
|
-
|
67
|
-
.gt
|
68
|
-
color: #aa0000
|
69
|
-
|
70
|
-
.kc, .kd, .kp, .kr
|
71
|
-
font-weight: bold
|
72
|
-
|
73
|
-
.kt
|
74
|
-
color: #445588
|
75
|
-
font-weight: bold
|
76
|
-
|
77
|
-
.m
|
78
|
-
color: #009999
|
79
|
-
|
80
|
-
.s
|
81
|
-
color: #d14
|
82
|
-
|
83
|
-
.na
|
84
|
-
color: #008080
|
85
|
-
|
86
|
-
.nb
|
87
|
-
color: #0086B3
|
88
|
-
|
89
|
-
.nc
|
90
|
-
color: #445588
|
91
|
-
font-weight: bold
|
92
|
-
|
93
|
-
.no
|
94
|
-
color: #008080
|
95
|
-
|
96
|
-
.ni
|
97
|
-
color: #800080
|
98
|
-
|
99
|
-
.ne, .nf
|
100
|
-
color: #990000
|
101
|
-
font-weight: bold
|
102
|
-
|
103
|
-
.nn
|
104
|
-
color: #555555
|
105
|
-
|
106
|
-
.nt
|
107
|
-
color: #000080
|
108
|
-
|
109
|
-
.nv
|
110
|
-
color: #008080
|
111
|
-
|
112
|
-
.ow
|
113
|
-
font-weight: bold
|
114
|
-
|
115
|
-
.w
|
116
|
-
color: #bbbbbb
|
117
|
-
|
118
|
-
.mf, .mh, .mi, .mo
|
119
|
-
color: #009999
|
120
|
-
|
121
|
-
.sb, .sc, .sd, .s2, .se, .sh, .si, .sx
|
122
|
-
color: #d14
|
123
|
-
|
124
|
-
.sr
|
125
|
-
color: #009926
|
126
|
-
|
127
|
-
.s1
|
128
|
-
color: #d14
|
129
|
-
|
130
|
-
.ss
|
131
|
-
color: #990073
|
132
|
-
|
133
|
-
.bp
|
134
|
-
color: #999999
|
135
|
-
|
136
|
-
.vc, .vg, .vi
|
137
|
-
color: #008080
|
138
|
-
|
139
|
-
.il
|
140
|
-
color: #009999
|