zenweb 3.0.0.b5 → 3.0.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/History.txt +23 -0
- data/Manifest.txt +0 -1
- data/example-site/_layouts/site.erb +1 -1
- data/lib/zenweb/extensions.rb +36 -0
- data/lib/zenweb/page.rb +12 -2
- data/lib/zenweb/plugins/google.rb +47 -0
- data/lib/zenweb/plugins/markdown.rb +75 -73
- data/lib/zenweb/site.rb +1 -1
- data/lib/zenweb.rb +1 -1
- data/test/test_zenweb_extensions.rb +32 -0
- data/test/test_zenweb_page.rb +2 -3
- data/test/test_zenweb_plugins_markdown.rb +23 -24
- data.tar.gz.sig +0 -0
- metadata +15 -20
- metadata.gz.sig +0 -0
- data/example-site/_includes/analytics.html.erb +0 -11
data/History.txt
CHANGED
@@ -1,3 +1,26 @@
|
|
1
|
+
=== 3.0.0 / 2012-11-03
|
2
|
+
|
3
|
+
* 1 major enhancement:
|
4
|
+
|
5
|
+
* Added ability to run extend_<filetype> so plugins can directly extend pages based on type.
|
6
|
+
|
7
|
+
* 10 minor enhancements:
|
8
|
+
|
9
|
+
* #sitemap no longer takes a pages arg. It does too much already.
|
10
|
+
* 1.8: Added Enumerable#chunk
|
11
|
+
* Added Array#deep_each.
|
12
|
+
* Added Page#date_str ... prolly needs more love.
|
13
|
+
* Markdown helper now extends Page instances with MarkdownHelpers.
|
14
|
+
* Moved all markdown methods into MarkdownHelpers. No more infection of Page.
|
15
|
+
* Page#analytics now calls both and is smart about it.
|
16
|
+
* Refactored analytics and split into google_analytics and gauges_analytics.
|
17
|
+
* Removed example analytics include now that it is pushed up to the lib.
|
18
|
+
* Rewrote markdown #sitemap so that it is non-recursive and works across non-markdown pages.
|
19
|
+
|
20
|
+
* 1 bug fix:
|
21
|
+
|
22
|
+
* Force html entities to be symbolic. WTF kramdown? Different output on 1.8 and 1.9??
|
23
|
+
|
1
24
|
=== 3.0.0.b5 / 2012-08-21
|
2
25
|
|
3
26
|
* 1 minor enhancement:
|
data/Manifest.txt
CHANGED
data/lib/zenweb/extensions.rb
CHANGED
@@ -9,6 +9,42 @@ def File.each_parent dir, file
|
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
|
+
module Enumerable
|
13
|
+
def chunk
|
14
|
+
bin, result, prev = [], [], Object.new
|
15
|
+
|
16
|
+
each do |o|
|
17
|
+
curr = yield o
|
18
|
+
|
19
|
+
if prev != curr then
|
20
|
+
bin = []
|
21
|
+
result << [curr, bin]
|
22
|
+
prev = curr
|
23
|
+
end
|
24
|
+
|
25
|
+
bin << o
|
26
|
+
end
|
27
|
+
|
28
|
+
result
|
29
|
+
end unless [].respond_to? :chunk
|
30
|
+
end
|
31
|
+
|
32
|
+
class Array # :nodoc:
|
33
|
+
def deep_each(depth = 0, &b) # :nodoc:
|
34
|
+
return self.to_enum(:deep_each) unless b
|
35
|
+
|
36
|
+
each do |x|
|
37
|
+
case x
|
38
|
+
when Array then
|
39
|
+
x.deep_each(depth + 1, &b)
|
40
|
+
else
|
41
|
+
# yield (depth-1)/2, x
|
42
|
+
yield depth, x
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
12
48
|
class File # :nodoc:
|
13
49
|
RUBY19 = "<3".respond_to? :encoding # :nodoc:
|
14
50
|
|
data/lib/zenweb/page.rb
CHANGED
@@ -52,6 +52,11 @@ module Zenweb
|
|
52
52
|
# TODO: make sure that creating page /a.html strips leading / from path
|
53
53
|
@site, @path = site, path
|
54
54
|
@config = config if config
|
55
|
+
|
56
|
+
self.filetypes.each do |type|
|
57
|
+
send "extend_#{type}" if self.respond_to? "extend_#{type}"
|
58
|
+
end
|
59
|
+
|
55
60
|
@subpages = []
|
56
61
|
end
|
57
62
|
|
@@ -66,7 +71,7 @@ module Zenweb
|
|
66
71
|
# All pages below this page, recursively.
|
67
72
|
|
68
73
|
def all_subpages
|
69
|
-
subpages.map { |p| [p, p.all_subpages] }
|
74
|
+
subpages.map { |p| [p, p.all_subpages] }
|
70
75
|
end
|
71
76
|
|
72
77
|
##
|
@@ -146,6 +151,11 @@ module Zenweb
|
|
146
151
|
Time.local(*date.split(/-/).map(&:to_i)) if date
|
147
152
|
end
|
148
153
|
|
154
|
+
def date_str
|
155
|
+
fmt ||= self.config["date_fmt"] || "%Y-%m" # REFACTOR: yuck
|
156
|
+
self.date.strftime fmt
|
157
|
+
end
|
158
|
+
|
149
159
|
##
|
150
160
|
# Returns true if this page has a date (via config or within the path).
|
151
161
|
|
@@ -408,7 +418,7 @@ module Zenweb
|
|
408
418
|
self.layout.wire
|
409
419
|
end
|
410
420
|
|
411
|
-
file url_path => all_subpages.map(&:url_path) if url =~ /index.html/
|
421
|
+
file url_path => all_subpages.flatten.map(&:url_path) if url =~ /index.html/
|
412
422
|
|
413
423
|
unless url_dir =~ %r%/_% then
|
414
424
|
directory url_dir
|
@@ -17,4 +17,51 @@ class Zenweb::Page
|
|
17
17
|
</script>
|
18
18
|
EOM
|
19
19
|
end
|
20
|
+
|
21
|
+
def google_analytics
|
22
|
+
if site.config["google_ua"] then
|
23
|
+
<<-"EOM".gsub(/^ {8}/, '')
|
24
|
+
<script type="text/javascript">
|
25
|
+
var _gaq = _gaq || [];
|
26
|
+
_gaq.push(['_setAccount', '#{site.google_ua}']);
|
27
|
+
_gaq.push(['_trackPageview']);
|
28
|
+
|
29
|
+
(function() {
|
30
|
+
var ga = document.createElement('script');
|
31
|
+
ga.type = 'text/javascript';
|
32
|
+
ga.async = true;
|
33
|
+
ga.src = ('https:' == document.location.protocol ?
|
34
|
+
'https://ssl' : 'http://www') +
|
35
|
+
'.google-analytics.com/ga.js';
|
36
|
+
(document.getElementsByTagName('head')[0] ||
|
37
|
+
document.getElementsByTagName('body')[0]).appendChild(ga);
|
38
|
+
})();
|
39
|
+
</script>
|
40
|
+
EOM
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def gauges_analytics
|
45
|
+
if site.config["gauges_id"] then
|
46
|
+
<<-"EOM".gsub(/^ {8}/, '')
|
47
|
+
<script type="text/javascript">
|
48
|
+
var _gauges = _gauges || [];
|
49
|
+
(function() {
|
50
|
+
var t = document.createElement('script');
|
51
|
+
t.type = 'text/javascript';
|
52
|
+
t.async = true;
|
53
|
+
t.id = 'gauges-tracker';
|
54
|
+
t.setAttribute('data-site-id', '#{site.gauges_id}');
|
55
|
+
t.src = '//secure.gaug.es/track.js';
|
56
|
+
var s = document.getElementsByTagName('script')[0];
|
57
|
+
s.parentNode.insertBefore(t, s);
|
58
|
+
})();
|
59
|
+
</script>
|
60
|
+
EOM
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def analytics
|
65
|
+
[google_analytics, gauges_analytics].compact.join "\n\n"
|
66
|
+
end
|
20
67
|
end # google
|
@@ -2,11 +2,12 @@ class Zenweb::Page
|
|
2
2
|
KRAMDOWN_CONFIG = { # :nodoc:
|
3
3
|
:toc_levels => '2..4',
|
4
4
|
|
5
|
+
:entity_output => :symbolic,
|
6
|
+
|
5
7
|
:coderay_wrap => :div,
|
6
8
|
:coderay_line_numbers => :table,
|
7
9
|
:coderay_tab_width => 4,
|
8
10
|
:coderay_css => :class,
|
9
|
-
# TODO: turn off smart quotes
|
10
11
|
}
|
11
12
|
|
12
13
|
##
|
@@ -16,6 +17,10 @@ class Zenweb::Page
|
|
16
17
|
markdown(content || self.body) # HACK
|
17
18
|
end
|
18
19
|
|
20
|
+
def extend_md
|
21
|
+
extend Zenweb::Page::MarkdownHelpers
|
22
|
+
end
|
23
|
+
|
19
24
|
##
|
20
25
|
# Render markdown content.
|
21
26
|
#
|
@@ -29,93 +34,90 @@ class Zenweb::Page
|
|
29
34
|
gsub(/^``` *(\w+)/) { "{:lang=\"#$1\"}\n~~~" }.
|
30
35
|
gsub(/^```/, '~~~')
|
31
36
|
|
32
|
-
Kramdown::Document.new(content, KRAMDOWN_CONFIG).to_html
|
37
|
+
Kramdown::Document.new(content, KRAMDOWN_CONFIG.dup).to_html
|
33
38
|
end
|
34
39
|
|
35
|
-
|
36
|
-
|
40
|
+
module MarkdownHelpers
|
41
|
+
##
|
42
|
+
# Returns a markdown formatted sitemap for the given pages or the
|
43
|
+
# current page's subpages. This intelligently composes a sitemap
|
44
|
+
# whether the pages are ordered (dated) or not or a combination of
|
45
|
+
# the two.
|
37
46
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
# the two.
|
43
|
-
|
44
|
-
def sitemap pages = nil, indent = 0
|
45
|
-
pages ||= self.subpages
|
46
|
-
dated, regular = pages.partition(&:dated?)
|
47
|
-
|
48
|
-
bonus = 0
|
49
|
-
prev = nil
|
50
|
-
regular = regular
|
51
|
-
subpages =
|
52
|
-
regular.sort_by { |p| p.url } +
|
53
|
-
dated.sort_by { |p| [-p.date.to_i, p.url] }
|
54
|
-
|
55
|
-
subpages.map { |page|
|
56
|
-
x = []
|
57
|
-
|
58
|
-
if page.dated? then
|
59
|
-
bonus = 1
|
60
|
-
fmt ||= page.config["date_fmt"] || "%Y-%m" # REFACTOR: yuck
|
61
|
-
curr = page.date.strftime fmt
|
62
|
-
if prev != curr then
|
63
|
-
x << "#{" " * (indent)}* #{curr}:"
|
64
|
-
prev = curr
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
x << "#{" " * (indent+bonus)}* [#{page.title}](#{page.clean_url})"
|
69
|
-
x += [page.sitemap(nil, indent+bonus+1)] unless page.subpages.empty?
|
70
|
-
x
|
71
|
-
}.flatten.join "\n"
|
72
|
-
end
|
47
|
+
def sitemap
|
48
|
+
self.all_subpages.deep_each.chunk { |n, p| n }.map { |depth, a|
|
49
|
+
level = (depth-1)/2
|
50
|
+
dated, normal = a.map(&:last).partition(&:dated?)
|
73
51
|
|
74
|
-
|
75
|
-
# Convenience function to return a markdown TOC.
|
52
|
+
normal = normal.sort_by(&:url).map { |p| page_sitemap_url p, level }
|
76
53
|
|
77
|
-
|
78
|
-
|
79
|
-
|
54
|
+
dated = dated_map(dated) { |month, ps2|
|
55
|
+
date_sorted_map(ps2) { |p|
|
56
|
+
page_sitemap_url p, level + 1
|
57
|
+
}.unshift "#{" " * level}* #{month}:"
|
58
|
+
}
|
80
59
|
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
# be a simple name or a hash of key/value pairs.
|
60
|
+
normal + dated
|
61
|
+
}.join "\n"
|
62
|
+
end
|
85
63
|
|
86
|
-
|
87
|
-
|
88
|
-
|
64
|
+
def page_sitemap_url page, depth # :nodoc:
|
65
|
+
"#{" " * (depth)}* [#{page.title}](#{page.clean_url})"
|
66
|
+
end
|
89
67
|
|
90
|
-
|
91
|
-
|
68
|
+
def date_sorted_map a, &b # :nodoc:
|
69
|
+
a.sort_by { |p| [-p.date.to_i, p.url] }.map(&b)
|
70
|
+
end
|
92
71
|
|
93
|
-
|
94
|
-
|
72
|
+
def dated_map a, &b # :nodoc:
|
73
|
+
a.group_by(&:date_str).sort.reverse.map(&b)
|
74
|
+
end
|
95
75
|
|
96
|
-
|
97
|
-
|
98
|
-
end
|
76
|
+
##
|
77
|
+
# Convenience function to return a markdown TOC.
|
99
78
|
|
100
|
-
|
101
|
-
|
79
|
+
def toc
|
80
|
+
"* \n{:toc}\n"
|
81
|
+
end
|
102
82
|
|
103
|
-
|
104
|
-
|
105
|
-
|
83
|
+
##
|
84
|
+
# Return a kramdown block-tag to add attributes to the following (or
|
85
|
+
# preceding... kramdown is a bit crazy) block. Attributes can either
|
86
|
+
# be a simple name or a hash of key/value pairs.
|
106
87
|
|
107
|
-
|
108
|
-
|
88
|
+
def attr h_or_name
|
89
|
+
h_or_name = h_or_name.map { |k,v| "#{k}=\"#{v}\"" }.join " " if
|
90
|
+
Hash === h_or_name
|
109
91
|
|
110
|
-
|
111
|
-
|
112
|
-
end
|
92
|
+
"{:#{h_or_name}}"
|
93
|
+
end
|
113
94
|
|
114
|
-
|
115
|
-
|
95
|
+
##
|
96
|
+
# Return a kramdown block-tag for a CSS class.
|
97
|
+
|
98
|
+
def css_class name
|
99
|
+
attr ".#{name}"
|
100
|
+
end
|
101
|
+
|
102
|
+
##
|
103
|
+
# Return a kramdown block-tag for a CSS ID.
|
116
104
|
|
117
|
-
|
118
|
-
|
105
|
+
def css_id name
|
106
|
+
attr "##{name}"
|
107
|
+
end
|
108
|
+
|
109
|
+
##
|
110
|
+
# Return a markdown-formatted link for a given url and title.
|
111
|
+
|
112
|
+
def link(url, title) # :nodoc:
|
113
|
+
"[#{title}](#{url})"
|
114
|
+
end
|
115
|
+
|
116
|
+
##
|
117
|
+
# Return a markdown-formatted image for a given url and an optional alt.
|
118
|
+
|
119
|
+
def image url, alt=url
|
120
|
+
""
|
121
|
+
end
|
119
122
|
end
|
120
123
|
end # markdown
|
121
|
-
|
data/lib/zenweb/site.rb
CHANGED
@@ -208,7 +208,7 @@ module Zenweb
|
|
208
208
|
@pages.values.each do |p|
|
209
209
|
unless p.subpages.empty? then
|
210
210
|
sorted = p.subpages.sort_by(&:clean_url)
|
211
|
-
sorted = sorted.reverse if
|
211
|
+
sorted = sorted.reverse if sorted.first.dated_path?
|
212
212
|
p.subpages.replace sorted
|
213
213
|
end
|
214
214
|
end
|
data/lib/zenweb.rb
CHANGED
@@ -4,6 +4,38 @@ require "rubygems"
|
|
4
4
|
require "minitest/autorun"
|
5
5
|
require "zenweb/extensions"
|
6
6
|
|
7
|
+
class TestArray < MiniTest::Unit::TestCase
|
8
|
+
def test_deep_each
|
9
|
+
act = []
|
10
|
+
[1, 2, [3, [4], 5], 6].deep_each do |n, o|
|
11
|
+
act << [o, n]
|
12
|
+
end
|
13
|
+
|
14
|
+
exp = [[1, 0], [2, 0], [3, 1], [4, 2], [5, 1], [6, 0]]
|
15
|
+
assert_equal exp, act
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_deep_each_enum
|
19
|
+
act = [1, 2, [3, [4], 5], 6].deep_each.map { |n, o|
|
20
|
+
[o, n]
|
21
|
+
}
|
22
|
+
|
23
|
+
exp = [[1, 0], [2, 0], [3, 1], [4, 2], [5, 1], [6, 0]]
|
24
|
+
assert_equal exp, act
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_chunk
|
28
|
+
act = [3,1,4,1,5,9,2,6,5,3,5].chunk {|n| n.even? }.to_a
|
29
|
+
exp = [[false, [3, 1]],
|
30
|
+
[true, [4]],
|
31
|
+
[false, [1, 5, 9]],
|
32
|
+
[true, [2, 6]],
|
33
|
+
[false, [5, 3, 5]]]
|
34
|
+
|
35
|
+
assert_equal exp, act
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
7
39
|
class TestFile < MiniTest::Unit::TestCase
|
8
40
|
def test_class_each_parent
|
9
41
|
a = []
|
data/test/test_zenweb_page.rb
CHANGED
@@ -158,9 +158,8 @@ class TestZenwebPage < MiniTest::Unit::TestCase
|
|
158
158
|
def test_include
|
159
159
|
# test via a layout page so we can test indirect access of page vars
|
160
160
|
layout = Zenweb::Page.new(site, "_layouts/site.erb")
|
161
|
-
fragment = layout.include("
|
162
|
-
assert_match(/
|
163
|
-
assert_match site.config["google_ua"], fragment
|
161
|
+
fragment = layout.include("header.html.erb", page)
|
162
|
+
assert_match(/Example Page 1/, fragment)
|
164
163
|
end
|
165
164
|
|
166
165
|
def test_include_page_var
|
@@ -51,9 +51,8 @@ class TestZenwebPageMarkdown < MiniTest::Unit::TestCase
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def test_render_md_content
|
54
|
-
skip "not yet"
|
55
54
|
act = page.render_md page, "woot"
|
56
|
-
exp = "<p>
|
55
|
+
exp = "<p>woot</p>\n"
|
57
56
|
|
58
57
|
assert_equal exp, act
|
59
58
|
end
|
@@ -66,16 +65,16 @@ class TestZenwebPageMarkdown < MiniTest::Unit::TestCase
|
|
66
65
|
end
|
67
66
|
|
68
67
|
def test_sitemap
|
69
|
-
build_fake_site %w[a/index.html
|
70
|
-
a/b/index.html
|
68
|
+
build_fake_site %w[a/index.html.md
|
69
|
+
a/b/index.html.md
|
71
70
|
a/b/2012-01-02-p1.html
|
72
71
|
a/b/2012-02-03-p2.html
|
73
72
|
a/b/2012-03-04-p3.html]
|
74
73
|
|
75
|
-
page = site.pages["a/index.html"]
|
74
|
+
page = site.pages["a/index.html.md"]
|
76
75
|
act = page.sitemap
|
77
76
|
exp = <<-END.cleanup
|
78
|
-
* [Title for a/b/index.html](/a/b/)
|
77
|
+
* [Title for a/b/index.html.md](/a/b/)
|
79
78
|
* 2012-03:
|
80
79
|
* [Title for a/b/2012-03-04-p3.html](/a/b/2012/03/04/p3.html)
|
81
80
|
* 2012-02:
|
@@ -88,16 +87,16 @@ class TestZenwebPageMarkdown < MiniTest::Unit::TestCase
|
|
88
87
|
end
|
89
88
|
|
90
89
|
def test_sitemap_multidir
|
91
|
-
build_fake_site %w[a/index.html
|
92
|
-
a/b/index.html
|
90
|
+
build_fake_site %w[a/index.html.md
|
91
|
+
a/b/index.html.md
|
93
92
|
a/b/p1.html
|
94
93
|
a/b/p2.html
|
95
94
|
a/b/p3.html]
|
96
95
|
|
97
|
-
page = site.pages["a/index.html"]
|
96
|
+
page = site.pages["a/index.html.md"]
|
98
97
|
act = page.sitemap
|
99
98
|
exp = <<-END.cleanup
|
100
|
-
* [Title for a/b/index.html](/a/b/)
|
99
|
+
* [Title for a/b/index.html.md](/a/b/)
|
101
100
|
* [Title for a/b/p1.html](/a/b/p1.html)
|
102
101
|
* [Title for a/b/p2.html](/a/b/p2.html)
|
103
102
|
* [Title for a/b/p3.html](/a/b/p3.html)
|
@@ -108,12 +107,12 @@ class TestZenwebPageMarkdown < MiniTest::Unit::TestCase
|
|
108
107
|
|
109
108
|
def test_sitemap_subdir
|
110
109
|
build_fake_site %w[a/index.html
|
111
|
-
a/b/index.html
|
110
|
+
a/b/index.html.md
|
112
111
|
a/b/p1.html
|
113
112
|
a/b/p2.html
|
114
113
|
a/b/p3.html]
|
115
114
|
|
116
|
-
page = site.pages["a/b/index.html"]
|
115
|
+
page = site.pages["a/b/index.html.md"]
|
117
116
|
act = page.sitemap
|
118
117
|
exp = <<-END.cleanup
|
119
118
|
* [Title for a/b/p1.html](/a/b/p1.html)
|
@@ -125,8 +124,8 @@ class TestZenwebPageMarkdown < MiniTest::Unit::TestCase
|
|
125
124
|
end
|
126
125
|
|
127
126
|
def test_sitemap_subdir_mixed
|
128
|
-
build_fake_site %w[index.html
|
129
|
-
a/index.html
|
127
|
+
build_fake_site %w[index.html.md
|
128
|
+
a/index.html.md
|
130
129
|
a/a.html
|
131
130
|
a/b.html
|
132
131
|
a/c.html
|
@@ -136,25 +135,25 @@ class TestZenwebPageMarkdown < MiniTest::Unit::TestCase
|
|
136
135
|
a/2012-02-02-p1.html
|
137
136
|
a/2012-02-03-p2.html
|
138
137
|
a/2012-02-04-p3.html
|
139
|
-
c/index.html
|
138
|
+
c/index.html.md
|
140
139
|
c/a.html
|
141
140
|
c/b.html
|
142
141
|
c/c.html
|
143
|
-
c/d/index.html
|
142
|
+
c/d/index.html.md
|
144
143
|
c/d/e.html
|
145
144
|
c/d/f.html
|
146
145
|
c/d/g.html
|
147
|
-
d/index.html
|
146
|
+
d/index.html.md
|
148
147
|
d/2012-01-02-p1.html
|
149
148
|
d/2012-01-03-p2.html
|
150
149
|
d/2012-01-04-p3.html
|
151
150
|
some_random_page.html
|
152
151
|
]
|
153
152
|
|
154
|
-
page = site.pages["index.html"]
|
153
|
+
page = site.pages["index.html.md"]
|
155
154
|
act = page.sitemap
|
156
155
|
exp = <<-END.cleanup
|
157
|
-
* [Title for a/index.html](/a/)
|
156
|
+
* [Title for a/index.html.md](/a/)
|
158
157
|
* [Title for a/a.html](/a/a.html)
|
159
158
|
* [Title for a/b.html](/a/b.html)
|
160
159
|
* [Title for a/c.html](/a/c.html)
|
@@ -166,15 +165,15 @@ class TestZenwebPageMarkdown < MiniTest::Unit::TestCase
|
|
166
165
|
* [Title for a/2012-01-04-p3.html](/a/2012/01/04/p3.html)
|
167
166
|
* [Title for a/2012-01-03-p2.html](/a/2012/01/03/p2.html)
|
168
167
|
* [Title for a/2012-01-02-p1.html](/a/2012/01/02/p1.html)
|
169
|
-
* [Title for c/index.html](/c/)
|
168
|
+
* [Title for c/index.html.md](/c/)
|
170
169
|
* [Title for c/a.html](/c/a.html)
|
171
170
|
* [Title for c/b.html](/c/b.html)
|
172
171
|
* [Title for c/c.html](/c/c.html)
|
173
|
-
* [Title for c/d/index.html](/c/d/)
|
172
|
+
* [Title for c/d/index.html.md](/c/d/)
|
174
173
|
* [Title for c/d/e.html](/c/d/e.html)
|
175
174
|
* [Title for c/d/f.html](/c/d/f.html)
|
176
175
|
* [Title for c/d/g.html](/c/d/g.html)
|
177
|
-
* [Title for d/index.html](/d/)
|
176
|
+
* [Title for d/index.html.md](/d/)
|
178
177
|
* 2012-01:
|
179
178
|
* [Title for d/2012-01-04-p3.html](/d/2012/01/04/p3.html)
|
180
179
|
* [Title for d/2012-01-03-p2.html](/d/2012/01/03/p2.html)
|
@@ -186,7 +185,7 @@ class TestZenwebPageMarkdown < MiniTest::Unit::TestCase
|
|
186
185
|
end
|
187
186
|
|
188
187
|
def test_sitemap_subdir_bloggish
|
189
|
-
build_fake_site %w[index.html
|
188
|
+
build_fake_site %w[index.html.md
|
190
189
|
2012-01-02-p1.html
|
191
190
|
2012-01-03-p2.html
|
192
191
|
2012-01-04-p3.html
|
@@ -197,7 +196,7 @@ class TestZenwebPageMarkdown < MiniTest::Unit::TestCase
|
|
197
196
|
some_random_page.html
|
198
197
|
]
|
199
198
|
|
200
|
-
page = site.pages["index.html"]
|
199
|
+
page = site.pages["index.html.md"]
|
201
200
|
act = page.sitemap
|
202
201
|
exp = <<-END.cleanup
|
203
202
|
* [Title for sitemap.html](/sitemap.html)
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zenweb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 7
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 0
|
9
9
|
- 0
|
10
|
-
|
11
|
-
- 5
|
12
|
-
version: 3.0.0.b5
|
10
|
+
version: 3.0.0
|
13
11
|
platform: ruby
|
14
12
|
authors:
|
15
13
|
- Ryan Davis
|
@@ -38,7 +36,7 @@ cert_chain:
|
|
38
36
|
FBHgymkyj/AOSqKRIpXPhjC6
|
39
37
|
-----END CERTIFICATE-----
|
40
38
|
|
41
|
-
date: 2012-
|
39
|
+
date: 2012-11-03 00:00:00 Z
|
42
40
|
dependencies:
|
43
41
|
- !ruby/object:Gem::Dependency
|
44
42
|
name: rake
|
@@ -123,11 +121,11 @@ dependencies:
|
|
123
121
|
requirements:
|
124
122
|
- - ~>
|
125
123
|
- !ruby/object:Gem::Version
|
126
|
-
hash:
|
124
|
+
hash: 25
|
127
125
|
segments:
|
128
|
-
-
|
129
|
-
-
|
130
|
-
version: "
|
126
|
+
- 4
|
127
|
+
- 1
|
128
|
+
version: "4.1"
|
131
129
|
type: :development
|
132
130
|
version_requirements: *id006
|
133
131
|
- !ruby/object:Gem::Dependency
|
@@ -153,11 +151,11 @@ dependencies:
|
|
153
151
|
requirements:
|
154
152
|
- - ~>
|
155
153
|
- !ruby/object:Gem::Version
|
156
|
-
hash:
|
154
|
+
hash: 5
|
157
155
|
segments:
|
158
156
|
- 3
|
159
|
-
-
|
160
|
-
version: "3.
|
157
|
+
- 1
|
158
|
+
version: "3.1"
|
161
159
|
type: :development
|
162
160
|
version_requirements: *id008
|
163
161
|
description: |-
|
@@ -193,7 +191,6 @@ files:
|
|
193
191
|
- example-site/.isolate.rb
|
194
192
|
- example-site/Rakefile
|
195
193
|
- example-site/_config.yml
|
196
|
-
- example-site/_includes/analytics.html.erb
|
197
194
|
- example-site/_includes/header.html.erb
|
198
195
|
- example-site/_includes/page_list_item.html
|
199
196
|
- example-site/_includes/post_list_item.html
|
@@ -264,14 +261,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
264
261
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
265
262
|
none: false
|
266
263
|
requirements:
|
267
|
-
- - "
|
264
|
+
- - ">="
|
268
265
|
- !ruby/object:Gem::Version
|
269
|
-
hash:
|
266
|
+
hash: 3
|
270
267
|
segments:
|
271
|
-
-
|
272
|
-
|
273
|
-
- 1
|
274
|
-
version: 1.3.1
|
268
|
+
- 0
|
269
|
+
version: "0"
|
275
270
|
requirements: []
|
276
271
|
|
277
272
|
rubyforge_project: zenweb
|
metadata.gz.sig
CHANGED
Binary file
|
@@ -1,11 +0,0 @@
|
|
1
|
-
<script type="text/javascript">
|
2
|
-
var _gaq = _gaq || [];
|
3
|
-
_gaq.push(['_setAccount', '{{ site.google_ua }}']);
|
4
|
-
_gaq.push(['_trackPageview']);
|
5
|
-
|
6
|
-
(function() {
|
7
|
-
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
8
|
-
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
9
|
-
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
|
10
|
-
})();
|
11
|
-
</script>
|