awestruct 0.2.5 → 0.2.6
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/awestruct +7 -0
- data/lib/awestruct/extensions/disqus.rb +17 -6
- data/lib/awestruct/extensions/gsub.rb +19 -0
- data/lib/awestruct/sassable.rb +1 -1
- data/lib/awestruct/textilable.rb +5 -1
- data/lib/awestruct/version.rb +4 -0
- metadata +5 -3
data/bin/awestruct
CHANGED
@@ -4,6 +4,7 @@ $: << File.dirname(__FILE__) + '/../lib'
|
|
4
4
|
|
5
5
|
require 'rubygems'
|
6
6
|
require 'optparse'
|
7
|
+
require 'awestruct/version'
|
7
8
|
require 'awestruct/commands/init'
|
8
9
|
require 'awestruct/commands/generate'
|
9
10
|
require 'awestruct/commands/server'
|
@@ -87,6 +88,12 @@ def parse(args)
|
|
87
88
|
exit
|
88
89
|
end
|
89
90
|
|
91
|
+
opts.on_tail("-v", "--version", "Display the version") do
|
92
|
+
puts "Awestruct: #{Awestruct::VERSION}"
|
93
|
+
puts "http://awestruct.org/"
|
94
|
+
end
|
95
|
+
|
96
|
+
|
90
97
|
end
|
91
98
|
|
92
99
|
opts.parse!(args)
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'digest/sha1'
|
2
|
+
|
1
3
|
module Awestruct
|
2
4
|
module Extensions
|
3
5
|
class Disqus
|
@@ -8,15 +10,17 @@ module Awestruct
|
|
8
10
|
|
9
11
|
module Disqus
|
10
12
|
def disqus_comments()
|
11
|
-
|
12
|
-
|
13
|
+
identifier = "null"
|
14
|
+
if self.disqus_identifier or site.disqus_generate_id
|
15
|
+
identifier = %Q("#{self.resolve_disqus_identifier()}")
|
16
|
+
end
|
13
17
|
%Q{
|
14
18
|
<div id="disqus_thread"></div>
|
15
19
|
<script type="text/javascript">
|
16
20
|
var disqus_shortname = '#{site.disqus}';
|
17
21
|
var disqus_url = "#{site.base_url}#{self.url}";
|
18
|
-
#{
|
19
|
-
#{identifier}
|
22
|
+
var disqus_developer = #{site.disqus_developer ? 1 : "null"};
|
23
|
+
var disqus_identifier = #{identifier};
|
20
24
|
(function() {
|
21
25
|
var dsq = document.createElement("script"); dsq.type = "text/javascript"; dsq.async = true;
|
22
26
|
dsq.src = "http://#{site.disqus}.disqus.com/embed.js";
|
@@ -28,8 +32,11 @@ module Awestruct
|
|
28
32
|
end
|
29
33
|
|
30
34
|
def disqus_comments_link()
|
31
|
-
identifier =
|
32
|
-
|
35
|
+
identifier = ''
|
36
|
+
if self.disqus_identifier or site.disqus_generate_id
|
37
|
+
identifier = %Q{ data-disqus-identifier="#{self.resolve_disqus_identifier()}"}
|
38
|
+
end
|
39
|
+
%Q{ <a href="#{self.url}#disqus_thread"#{identifier}>Comments</a> }
|
33
40
|
end
|
34
41
|
|
35
42
|
def disqus_comments_count()
|
@@ -44,6 +51,10 @@ module Awestruct
|
|
44
51
|
</script>
|
45
52
|
}
|
46
53
|
end
|
54
|
+
|
55
|
+
def resolve_disqus_identifier()
|
56
|
+
self.disqus_identifier ? self.disqus_identifier : Digest::SHA1.hexdigest(self.date.strftime('%Y-%m-%d-') + self.slug)
|
57
|
+
end
|
47
58
|
end
|
48
59
|
end
|
49
60
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
|
2
|
+
module Awestruct
|
3
|
+
module Extensions
|
4
|
+
class Gsub
|
5
|
+
def initialize(pattern, replacement, options = {})
|
6
|
+
@pattern = pattern
|
7
|
+
@replacement = replacement
|
8
|
+
@gsub_required = options[:gsub_required] || lambda { |site, page| page.output_path.end_with?(".html") }
|
9
|
+
end
|
10
|
+
|
11
|
+
def transform(site, page, rendered)
|
12
|
+
if (@gsub_required.call(site, page))
|
13
|
+
rendered = rendered.gsub(@pattern, @replacement)
|
14
|
+
end
|
15
|
+
rendered
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/awestruct/sassable.rb
CHANGED
data/lib/awestruct/textilable.rb
CHANGED
@@ -4,7 +4,11 @@ module Awestruct
|
|
4
4
|
def render(context)
|
5
5
|
rendered = ''
|
6
6
|
begin
|
7
|
-
|
7
|
+
# a module of rule functions is included in RedCloth using RedCloth.send(:include, MyRules)
|
8
|
+
# rule functions on that module are activated by setting the property site.textile_rules
|
9
|
+
# ex. site.textile_rules = ['emoticons']
|
10
|
+
rules = context.site.textile_rules ? context.site.textile_rules.map { |r| r.to_sym } : []
|
11
|
+
rendered = RedCloth.new( context.interpolate_string( raw_page_content ) ).to_html(*rules)
|
8
12
|
rescue => e
|
9
13
|
puts e
|
10
14
|
puts e.backtrace
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 6
|
9
|
+
version: 0.2.6
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Bob McWhirter
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-10-
|
17
|
+
date: 2011-10-30 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -180,6 +180,7 @@ files:
|
|
180
180
|
- lib/awestruct/extensions/disqus.rb
|
181
181
|
- lib/awestruct/extensions/flattr.rb
|
182
182
|
- lib/awestruct/extensions/google_analytics.rb
|
183
|
+
- lib/awestruct/extensions/gsub.rb
|
183
184
|
- lib/awestruct/extensions/indexifier.rb
|
184
185
|
- lib/awestruct/extensions/intense_debate.rb
|
185
186
|
- lib/awestruct/extensions/paginator.rb
|
@@ -206,6 +207,7 @@ files:
|
|
206
207
|
- lib/awestruct/util/default_inflections.rb
|
207
208
|
- lib/awestruct/util/inflector.rb
|
208
209
|
- lib/awestruct/verbatim_file.rb
|
210
|
+
- lib/awestruct/version.rb
|
209
211
|
- lib/awestruct.rb
|
210
212
|
- lib/awestruct/commands/frameworks/960/base_layout.html.haml
|
211
213
|
- lib/awestruct/commands/frameworks/base_index.html.haml
|