henshin 0.0.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -0
- data/VERSION +1 -1
- data/bin/henshin +7 -1
- data/henshin.gemspec +6 -149
- data/lib/henshin.rb +22 -6
- data/lib/henshin/categories.rb +19 -0
- data/lib/henshin/ext.rb +47 -2
- data/lib/henshin/gen.rb +8 -11
- data/lib/henshin/plugin.rb +9 -0
- data/lib/henshin/plugins/liquid.rb +1 -1
- data/lib/henshin/post.rb +38 -14
- data/lib/henshin/site.rb +68 -29
- data/lib/henshin/tags.rb +19 -0
- data/test/site/_site/2010/10/20-testing-stuff/index.html +14 -6
- data/test/site/_site/2010/5/15-lorem-ipsum/index.html +14 -6
- data/test/site/_site/css/print.css +10 -24
- data/test/site/_site/index.html +82 -1
- data/test/site/index.html +2 -0
- data/test/site/layouts/main.html +35 -1
- data/test/site/layouts/post.html +7 -5
- data/test/site/options.yaml +5 -2
- data/test/site/plugins/test.rb +11 -0
- data/test/site/posts/Testing-Stuff.markdown +1 -0
- metadata +7 -150
- data/.yardoc/checksums +0 -10
- data/.yardoc/objects/Hash.dat +0 -0
- data/.yardoc/objects/Hash/to_options_i.dat +0 -0
- data/.yardoc/objects/Henshin.dat +0 -0
- data/.yardoc/objects/Henshin/CSSGenerator.dat +0 -0
- data/.yardoc/objects/Henshin/CSSGenerator/generate_i.dat +0 -0
- data/.yardoc/objects/Henshin/Defaults.dat +0 -0
- data/.yardoc/objects/Henshin/Gen.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/config_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/config_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/content_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/content_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/date_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/date_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/extension_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/extension_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/initialize_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/layout_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/layout_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/override_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/path_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/path_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/payload_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/process_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/read_yaml_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/render_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/site_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/site_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/title_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/title_i.dat +0 -0
- data/.yardoc/objects/Henshin/Gen/write_i.dat +0 -0
- data/.yardoc/objects/Henshin/HTMLGenerator.dat +0 -0
- data/.yardoc/objects/Henshin/HTMLGenerator/generate_i.dat +0 -0
- data/.yardoc/objects/Henshin/JSGenerator.dat +0 -0
- data/.yardoc/objects/Henshin/JSGenerator/generate_i.dat +0 -0
- data/.yardoc/objects/Henshin/LayoutParser.dat +0 -0
- data/.yardoc/objects/Henshin/LayoutParser/generate_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post.dat +0 -0
- data/.yardoc/objects/Henshin/Post/author_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/author_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/category_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/category_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/date_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/date_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/initialize_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/override_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/payload_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/permalink_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/process_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/read_name_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/read_yaml_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/tags_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/tags_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/title_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/title_i.dat +0 -0
- data/.yardoc/objects/Henshin/Post/write_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site.dat +0 -0
- data/.yardoc/objects/Henshin/Site/archives_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/archives_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/categories_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/categories_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/config_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/config_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/gens_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/gens_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/initialize_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/layouts_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/layouts_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/payload_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/plugins_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/plugins_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/posts_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/posts_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/process_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/read_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/read_layouts_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/read_others_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/read_posts_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/render_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/reset_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/statics_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/statics_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/tags_3D_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/tags_i.dat +0 -0
- data/.yardoc/objects/Henshin/Site/write_i.dat +0 -0
- data/.yardoc/objects/Henshin/StandardPlugin.dat +0 -0
- data/.yardoc/objects/Henshin/configure_c.dat +0 -0
- data/.yardoc/objects/Henshin/extensions_c.dat +0 -0
- data/.yardoc/objects/Henshin/load_plugins_c.dat +0 -0
- data/.yardoc/objects/LiquidPlugin.dat +0 -0
- data/.yardoc/objects/LiquidPlugin/extensions_3D_i.dat +0 -0
- data/.yardoc/objects/LiquidPlugin/extensions_i.dat +0 -0
- data/.yardoc/objects/LiquidPlugin/generate_i.dat +0 -0
- data/.yardoc/objects/LiquidPlugin/initialize_i.dat +0 -0
- data/.yardoc/objects/LiquidPlugin/read_i.dat +0 -0
- data/.yardoc/objects/MarukuPlugin.dat +0 -0
- data/.yardoc/objects/MarukuPlugin/extensions_3D_i.dat +0 -0
- data/.yardoc/objects/MarukuPlugin/extensions_i.dat +0 -0
- data/.yardoc/objects/MarukuPlugin/generate_i.dat +0 -0
- data/.yardoc/objects/MarukuPlugin/initialize_i.dat +0 -0
- data/.yardoc/objects/PygmentsPlugin.dat +0 -0
- data/.yardoc/objects/PygmentsPlugin/extensions_3D_i.dat +0 -0
- data/.yardoc/objects/PygmentsPlugin/extensions_i.dat +0 -0
- data/.yardoc/objects/PygmentsPlugin/generate_i.dat +0 -0
- data/.yardoc/objects/PygmentsPlugin/initialize_i.dat +0 -0
- data/.yardoc/objects/SassPlugin.dat +0 -0
- data/.yardoc/objects/SassPlugin/extensions_3D_i.dat +0 -0
- data/.yardoc/objects/SassPlugin/extensions_i.dat +0 -0
- data/.yardoc/objects/SassPlugin/generate_i.dat +0 -0
- data/.yardoc/objects/SassPlugin/initialize_i.dat +0 -0
- data/.yardoc/objects/String.dat +0 -0
- data/.yardoc/objects/String/directory_i.dat +0 -0
- data/.yardoc/objects/String/extension_i.dat +0 -0
- data/.yardoc/objects/String/file_name_i.dat +0 -0
- data/.yardoc/objects/String/slugify_i.dat +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -2
- data/doc/Hash.html +0 -179
- data/doc/Henshin.html +0 -479
- data/doc/Henshin/CSSGenerator.html +0 -186
- data/doc/Henshin/Gen.html +0 -1225
- data/doc/Henshin/HTMLGenerator.html +0 -186
- data/doc/Henshin/JSGenerator.html +0 -182
- data/doc/Henshin/LayoutParser.html +0 -186
- data/doc/Henshin/Post.html +0 -1159
- data/doc/Henshin/Site.html +0 -1462
- data/doc/Henshin/StandardPlugin.html +0 -99
- data/doc/LiquidPlugin.html +0 -399
- data/doc/MarukuPlugin.html +0 -325
- data/doc/PygmentsPlugin.html +0 -325
- data/doc/SassPlugin.html +0 -325
- data/doc/String.html +0 -371
- data/doc/_index.html +0 -239
- data/doc/class_list.html +0 -36
- data/doc/css/common.css +0 -1
- data/doc/css/full_list.css +0 -50
- data/doc/css/style.css +0 -273
- data/doc/file.README.html +0 -133
- data/doc/file_list.html +0 -38
- data/doc/frames.html +0 -13
- data/doc/index.html +0 -133
- data/doc/js/app.js +0 -111
- data/doc/js/full_list.js +0 -117
- data/doc/js/jquery.js +0 -19
- data/doc/method_list.html +0 -611
- data/doc/top-level-namespace.html +0 -89
- data/test/site/_site/css/screen.css +0 -15
data/lib/henshin/post.rb
CHANGED
@@ -10,6 +10,9 @@ module Henshin
|
|
10
10
|
@config = site.config
|
11
11
|
@extension = path.extension
|
12
12
|
@layout = site.layouts[ site.config[:layout] ]
|
13
|
+
@author = @config[:author]
|
14
|
+
@tags = []
|
15
|
+
@date = Time.now
|
13
16
|
end
|
14
17
|
|
15
18
|
|
@@ -45,9 +48,9 @@ module Henshin
|
|
45
48
|
file_data.each_with_index do |data, i|
|
46
49
|
if data_order[i].include? 'title'
|
47
50
|
if data_order[i].include? 'dashes'
|
48
|
-
override[:title] = data.gsub(/-/, ' ')
|
51
|
+
override[:title] = data.gsub(/-/, ' ').titlize
|
49
52
|
else
|
50
|
-
override[:title] = data
|
53
|
+
override[:title] = data.titlize
|
51
54
|
end
|
52
55
|
elsif data_order[i].include? 'date'
|
53
56
|
override[:date] = data
|
@@ -75,13 +78,19 @@ module Henshin
|
|
75
78
|
#
|
76
79
|
# @param [Hash] override data to override settings with
|
77
80
|
def override( override )
|
78
|
-
@title
|
79
|
-
@layout
|
80
|
-
@date
|
81
|
-
@tags
|
82
|
-
@category
|
83
|
-
@author
|
84
|
-
@extension
|
81
|
+
@title = override[:title] if override[:title]
|
82
|
+
@layout = @site.layouts[ override[:layout] ] if override[:layout]
|
83
|
+
@date = Time.parse( override[:date] ) if override[:date]
|
84
|
+
@tags = override[:tags].split(', ') if override[:tags]
|
85
|
+
@category = override[:category] if override[:category]
|
86
|
+
@author = override[:author] if override[:author]
|
87
|
+
@extension = override[:extension] if override[:extension]
|
88
|
+
@category = override[:category] if override[:category]
|
89
|
+
|
90
|
+
if override[:tags]
|
91
|
+
@tags << override[:tags].split(', ')
|
92
|
+
@tags.flatten!
|
93
|
+
end
|
85
94
|
end
|
86
95
|
|
87
96
|
|
@@ -92,14 +101,25 @@ module Henshin
|
|
92
101
|
{
|
93
102
|
'yield' => @content,
|
94
103
|
'site' => @site.payload['site'],
|
95
|
-
'post' =>
|
96
|
-
'author' => @author,
|
97
|
-
'date' => @date,
|
98
|
-
'tags' => @tags,
|
99
|
-
'category' => @category}
|
104
|
+
'post' => self.to_hash
|
100
105
|
}
|
101
106
|
end
|
102
107
|
|
108
|
+
# Turns all of the post data into a hash
|
109
|
+
#
|
110
|
+
# @return [Hash]
|
111
|
+
def to_hash
|
112
|
+
{
|
113
|
+
'title' => @title,
|
114
|
+
'author' => @author,
|
115
|
+
'url' => self.permalink,
|
116
|
+
'date' => @date,
|
117
|
+
'category' => @category,
|
118
|
+
'tags' => @tags,
|
119
|
+
'content' => @content
|
120
|
+
}
|
121
|
+
end
|
122
|
+
|
103
123
|
|
104
124
|
##
|
105
125
|
# Writes the file to the correct place
|
@@ -122,6 +142,10 @@ module Henshin
|
|
122
142
|
end
|
123
143
|
end
|
124
144
|
|
145
|
+
def inspect
|
146
|
+
"#<Post:#{@path}>"
|
147
|
+
end
|
148
|
+
|
125
149
|
end
|
126
150
|
|
127
151
|
end
|
data/lib/henshin/site.rb
CHANGED
@@ -2,7 +2,7 @@ module Henshin
|
|
2
2
|
|
3
3
|
class Site
|
4
4
|
|
5
|
-
attr_accessor :posts, :gens, :statics, :
|
5
|
+
attr_accessor :posts, :gens, :statics, :archive, :tags, :categories, :plugins
|
6
6
|
attr_accessor :layouts, :config
|
7
7
|
|
8
8
|
def initialize( config )
|
@@ -15,9 +15,9 @@ module Henshin
|
|
15
15
|
@posts = []
|
16
16
|
@gens = []
|
17
17
|
@statics = []
|
18
|
-
@
|
19
|
-
@tags = {}
|
20
|
-
@categories = {}
|
18
|
+
@archive = {}
|
19
|
+
@tags = Hash.new { |h, k| h[k] = Tag.new(k) }
|
20
|
+
@categories = Hash.new { |h, k| h[k] = Category.new(k) }
|
21
21
|
@layouts = {}
|
22
22
|
end
|
23
23
|
|
@@ -44,7 +44,6 @@ module Henshin
|
|
44
44
|
def read_posts
|
45
45
|
path = File.join(config[:root], 'posts')
|
46
46
|
Dir.glob(path + '/*.*').each do |post|
|
47
|
-
# should really create a new post object but I haven't made one yet
|
48
47
|
@posts << Post.new(post, self)
|
49
48
|
end
|
50
49
|
end
|
@@ -53,25 +52,28 @@ module Henshin
|
|
53
52
|
def read_others
|
54
53
|
path = File.join(config[:root], '**', '*.*')
|
55
54
|
items = Dir.glob(path)
|
56
|
-
items = items.select {|i| !i.include?(config[:root] + '/_site')}
|
57
55
|
|
58
|
-
|
56
|
+
['/_site', '/plugins'].each do |r|
|
57
|
+
items = items.select {|i| !i.include?( File.join(config[:root], r) )}
|
58
|
+
end
|
59
|
+
|
60
|
+
ignored = ['/options.yaml'] + config[:exclude]
|
61
|
+
ignored.each do |r|
|
62
|
+
items -= [File.join(config[:root], r)]
|
63
|
+
items -= items.select {|i| i.include?( File.join(config[:root], r) )}
|
64
|
+
end
|
65
|
+
|
59
66
|
items -= @posts.collect {|i| i.path}
|
60
67
|
items -= @layouts.collect {|k, v| v}
|
61
68
|
|
62
69
|
gens = items.select {|i| config[:extensions].include?(i.extension) }
|
63
|
-
gens
|
64
|
-
|
65
|
-
File.open(i, "r").read(3) == "---"
|
66
|
-
else
|
67
|
-
true
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
70
|
+
gens += items.select {|i| File.open(i, "r").read(3) == "---" }
|
71
|
+
|
71
72
|
gens.each do |g|
|
72
73
|
@gens << Gen.new(g, self)
|
73
74
|
end
|
74
75
|
|
76
|
+
|
75
77
|
static = items - @gens.collect {|i| i.path}
|
76
78
|
static.each do |s|
|
77
79
|
@statics << Static.new(s, self)
|
@@ -82,36 +84,73 @@ module Henshin
|
|
82
84
|
##
|
83
85
|
# Processes all of the necessary files
|
84
86
|
def process
|
85
|
-
@posts.
|
86
|
-
@gens.
|
87
|
+
@posts.each_parallel {|p| p.process}
|
88
|
+
@gens.each_parallel {|g| g.process}
|
89
|
+
|
90
|
+
self.build_tags
|
91
|
+
self.build_categories
|
92
|
+
self.build_archive
|
87
93
|
end
|
88
94
|
|
89
|
-
# Creates the data to be sent to the layout engine
|
90
|
-
#
|
91
95
|
# @return [Hash] the payload for the layout engine
|
92
96
|
def payload
|
93
|
-
{
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
97
|
+
{
|
98
|
+
'site' => {
|
99
|
+
'author' => @config[:author],
|
100
|
+
'title' => @config[:title],
|
101
|
+
'description' => @config[:description],
|
102
|
+
'time_zone' => @config[:time_zone],
|
103
|
+
'created_at' => Time.now,
|
104
|
+
'posts' => @posts.collect {|i| i.to_hash},
|
105
|
+
'tags' => @tags.collect {|k, t| t.to_hash},
|
106
|
+
'categories' => @categories.collect {|k, t| t.to_hash},
|
107
|
+
'archive' => @archive
|
108
|
+
}
|
109
|
+
}
|
110
|
+
end
|
111
|
+
|
112
|
+
# Creates tags from posts and adds them to @tags
|
113
|
+
def build_tags
|
114
|
+
@posts.each do |p|
|
115
|
+
p.tags.each do |t|
|
116
|
+
@tags[t].posts << p
|
117
|
+
end
|
118
|
+
end
|
98
119
|
end
|
99
120
|
|
121
|
+
# Create categories from posts and add to @categories
|
122
|
+
def build_categories
|
123
|
+
@posts.each do |p|
|
124
|
+
@categories[p.category].posts << p unless p.category.nil?
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
# @return [Hash] archive hash
|
129
|
+
def build_archive
|
130
|
+
{
|
131
|
+
'2010' => {
|
132
|
+
'01' => [
|
133
|
+
{'post' => 'hash'},
|
134
|
+
{'post' => 'hash'}
|
135
|
+
]
|
136
|
+
}
|
137
|
+
}
|
138
|
+
end
|
100
139
|
|
101
140
|
##
|
102
141
|
# Renders the files
|
103
142
|
def render
|
104
|
-
@posts.
|
105
|
-
@gens.
|
143
|
+
@posts.each_parallel {|p| p.render}
|
144
|
+
@gens.each_parallel {|g| g.render}
|
106
145
|
end
|
107
146
|
|
108
147
|
|
109
148
|
##
|
110
149
|
# Writes the files
|
111
150
|
def write
|
112
|
-
@posts.
|
113
|
-
@gens.
|
114
|
-
@statics.
|
151
|
+
@posts.each_parallel {|p| p.write}
|
152
|
+
@gens.each_parallel {|g| g.write}
|
153
|
+
@statics.each_parallel {|s| s.write}
|
115
154
|
end
|
116
155
|
|
117
156
|
end
|
data/lib/henshin/tags.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
module Henshin
|
2
|
+
class Tag
|
3
|
+
|
4
|
+
attr_accessor :name, :posts
|
5
|
+
|
6
|
+
def initialize( name )
|
7
|
+
@name = name
|
8
|
+
@posts = []
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_hash
|
12
|
+
hash = {
|
13
|
+
'name' => @name,
|
14
|
+
'posts' => @posts.collect {|i| i.to_hash}
|
15
|
+
}
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
@@ -2,23 +2,31 @@
|
|
2
2
|
<html lang="en">
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8" />
|
5
|
-
<title
|
5
|
+
<title>Testing Stuff</title>
|
6
6
|
<link rel="stylesheet" href="" type="text/css" />
|
7
7
|
</head>
|
8
8
|
<body>
|
9
9
|
|
10
10
|
<header>
|
11
|
-
<h1>Testing Stuff</h1>
|
11
|
+
<h1>Testing Stuff</h1><span>in test</span>
|
12
12
|
<time>2010-10-20 17:33:23 +0100</time>
|
13
|
+
|
13
14
|
<ul>
|
14
|
-
|
15
|
-
|
16
|
-
|
15
|
+
|
16
|
+
<li>test</li>
|
17
|
+
|
18
|
+
<li>nolorem</li>
|
19
|
+
|
20
|
+
<li>test</li>
|
21
|
+
|
22
|
+
<li>nolorem</li>
|
23
|
+
|
17
24
|
</ul>
|
25
|
+
|
18
26
|
</header>
|
19
27
|
|
20
28
|
<p>So Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
|
21
29
|
|
22
|
-
<span>Copyright © </span>
|
30
|
+
<span>Copyright © Joshua Hawxwell</span>
|
23
31
|
</body>
|
24
32
|
</html>
|
@@ -2,23 +2,31 @@
|
|
2
2
|
<html lang="en">
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8" />
|
5
|
-
<title
|
5
|
+
<title>Lorem Ipsum</title>
|
6
6
|
<link rel="stylesheet" href="" type="text/css" />
|
7
7
|
</head>
|
8
8
|
<body>
|
9
9
|
|
10
10
|
<header>
|
11
|
-
<h1>
|
11
|
+
<h1>Lorem Ipsum</h1><span>in </span>
|
12
12
|
<time>2010-05-15 13:23:47 +0100</time>
|
13
|
+
|
13
14
|
<ul>
|
14
|
-
|
15
|
-
|
16
|
-
|
15
|
+
|
16
|
+
<li>test</li>
|
17
|
+
|
18
|
+
<li>lorem</li>
|
19
|
+
|
20
|
+
<li>test</li>
|
21
|
+
|
22
|
+
<li>lorem</li>
|
23
|
+
|
17
24
|
</ul>
|
25
|
+
|
18
26
|
</header>
|
19
27
|
|
20
28
|
<p>So Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
|
21
29
|
|
22
|
-
<span>Copyright © </span>
|
30
|
+
<span>Copyright © Joshua Hawxwell</span>
|
23
31
|
</body>
|
24
32
|
</html>
|
@@ -1,33 +1,19 @@
|
|
1
|
-
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
|
2
|
-
margin: 0;
|
3
|
-
padding: 0; }
|
1
|
+
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td { margin: 0; padding: 0; }
|
4
2
|
|
5
|
-
table {
|
6
|
-
border-collapse: collapse;
|
7
|
-
border-spacing: 0; }
|
3
|
+
table { border-collapse: collapse; border-spacing: 0; }
|
8
4
|
|
9
|
-
fieldset, img {
|
10
|
-
border: 0; }
|
5
|
+
fieldset, img { border: 0; }
|
11
6
|
|
12
|
-
address, caption, cite, code, dfn, em, strong, th, var {
|
13
|
-
font-style: normal;
|
14
|
-
font-weight: normal; }
|
7
|
+
address, caption, cite, code, dfn, em, strong, th, var { font-style: normal; font-weight: normal; }
|
15
8
|
|
16
|
-
ol, ul {
|
17
|
-
list-style: none; }
|
9
|
+
ol, ul { list-style: none; }
|
18
10
|
|
19
|
-
caption, th {
|
20
|
-
text-align: left; }
|
11
|
+
caption, th { text-align: left; }
|
21
12
|
|
22
|
-
h1, h2, h3, h4, h5, h6 {
|
23
|
-
font-size: 100%;
|
24
|
-
font-weight: normal; }
|
13
|
+
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
|
25
14
|
|
26
|
-
q:before, q:after {
|
27
|
-
content: ”; }
|
15
|
+
q:before, q:after { content: ”; }
|
28
16
|
|
29
|
-
abbr, acronym {
|
30
|
-
border: 0; }
|
17
|
+
abbr, acronym { border: 0; }
|
31
18
|
|
32
|
-
h1 {
|
33
|
-
font-size: 2em; }
|
19
|
+
h1 { font-size: 2em; }
|
data/test/site/_site/index.html
CHANGED
@@ -1,5 +1,86 @@
|
|
1
|
-
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8" />
|
5
|
+
<title>Test Site</title>
|
6
|
+
<link rel="stylesheet" href="screen.css" type="text/css" />
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
|
10
|
+
<header>
|
2
11
|
<h1>Joshua Hawxwell</h1>
|
3
12
|
</header>
|
4
13
|
|
5
14
|
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
<h2>A List of Posts</h2>
|
21
|
+
<ul>
|
22
|
+
|
23
|
+
<li><a href="/2010/5/15-lorem-ipsum/index.html">Lorem Ipsum</a> - 2010-05-15 13:23:47 +0100</li>
|
24
|
+
|
25
|
+
<li><a href="/2010/10/20-testing-stuff/index.html">Testing Stuff</a> - 2010-10-20 17:33:23 +0100</li>
|
26
|
+
|
27
|
+
</ul>
|
28
|
+
|
29
|
+
<h2>A List of Tags</h2>
|
30
|
+
<ul>
|
31
|
+
|
32
|
+
<li>
|
33
|
+
test
|
34
|
+
<ul>
|
35
|
+
|
36
|
+
<li>Lorem Ipsum - 2010-05-15 13:23:47 +0100</li>
|
37
|
+
|
38
|
+
<li>Lorem Ipsum - 2010-05-15 13:23:47 +0100</li>
|
39
|
+
|
40
|
+
<li>Testing Stuff - 2010-10-20 17:33:23 +0100</li>
|
41
|
+
|
42
|
+
<li>Testing Stuff - 2010-10-20 17:33:23 +0100</li>
|
43
|
+
|
44
|
+
</ul>
|
45
|
+
</li>
|
46
|
+
|
47
|
+
<li>
|
48
|
+
lorem
|
49
|
+
<ul>
|
50
|
+
|
51
|
+
<li>Lorem Ipsum - 2010-05-15 13:23:47 +0100</li>
|
52
|
+
|
53
|
+
<li>Lorem Ipsum - 2010-05-15 13:23:47 +0100</li>
|
54
|
+
|
55
|
+
</ul>
|
56
|
+
</li>
|
57
|
+
|
58
|
+
<li>
|
59
|
+
nolorem
|
60
|
+
<ul>
|
61
|
+
|
62
|
+
<li>Testing Stuff - 2010-10-20 17:33:23 +0100</li>
|
63
|
+
|
64
|
+
<li>Testing Stuff - 2010-10-20 17:33:23 +0100</li>
|
65
|
+
|
66
|
+
</ul>
|
67
|
+
</li>
|
68
|
+
|
69
|
+
</ul>
|
70
|
+
|
71
|
+
<h2>A List of Categories</h2>
|
72
|
+
<ul>
|
73
|
+
|
74
|
+
<li>test</li>
|
75
|
+
<ul>
|
76
|
+
|
77
|
+
<li>Testing Stuff - 2010-10-20 17:33:23 +0100</li>
|
78
|
+
|
79
|
+
</ul>
|
80
|
+
|
81
|
+
</ul>
|
82
|
+
|
83
|
+
|
84
|
+
<span>Copyright © Joshua Hawxwell</span>
|
85
|
+
</body>
|
86
|
+
</html>
|