awestruct 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/bin/awestruct CHANGED
@@ -8,6 +8,7 @@ require 'awestruct/commands/init'
8
8
  require 'awestruct/commands/generate'
9
9
  require 'awestruct/commands/server'
10
10
  require 'awestruct/commands/deploy'
11
+ require 'yaml'
11
12
 
12
13
  def parse(args)
13
14
  options = OpenStruct.new( {
@@ -26,6 +26,7 @@ require 'awestruct/extensions/atomizer'
26
26
  require 'awestruct/extensions/tagger'
27
27
  require 'awestruct/extensions/tag_cloud'
28
28
  require 'awestruct/extensions/intense_debate'
29
+ require 'awestruct/extensions/disqus'
29
30
  require 'awestruct/extensions/google_analytics'
30
31
  require 'awestruct/extensions/partial'
31
32
 
@@ -213,8 +214,10 @@ module Awestruct
213
214
  if ( layout )
214
215
  layout_mtime = File.mtime( layout.source_path )
215
216
  return true if layout_mtime > generated_mtime
217
+ layout_name = layout.layout
218
+ else
219
+ return false
216
220
  end
217
- layout_name = layout.layout
218
221
  end
219
222
  false
220
223
  end
@@ -227,8 +230,10 @@ module Awestruct
227
230
  while ( ! cur.nil? && ! cur.layout.nil? )
228
231
  layout_name = cur.layout.to_s + page.output_extension
229
232
  cur = site.layouts[ layout_name ]
230
- context.content = rendered.to_s
231
- rendered = cur.render( context )
233
+ if ! cur.nil?
234
+ context.content = rendered.to_s
235
+ rendered = cur.render( context )
236
+ end
232
237
  end
233
238
  end
234
239
  rendered
@@ -0,0 +1,51 @@
1
+ module Awestruct
2
+ module Extensions
3
+ class Disqus
4
+
5
+ def execute(site)
6
+ site.pages.each{|p| p.extend Disqus }
7
+ end
8
+
9
+ module Disqus
10
+ def disqus_comments()
11
+ 'comments'
12
+ end
13
+
14
+ def disqus_comments_link()
15
+ 'comments link'
16
+ end
17
+
18
+ # http://bakery.cakephp.org/articles/view/disqus-comment-system-integration-helper
19
+
20
+ # <div id="disqus_thread"></div>
21
+ # <script type="text/javascript">
22
+ # /**
23
+ # * var disqus_identifier; [Optional but recommended: Define a unique identifier (e.g. post id or slug) for this thread]
24
+ # */
25
+ # (function() {
26
+ # var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
27
+ # dsq.src = 'http://vafer.disqus.com/embed.js';
28
+ # (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
29
+ # })();
30
+ # </script>
31
+ # <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript=vafer">comments powered by Disqus.</a></noscript>
32
+ # <a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
33
+
34
+ # <script type="text/javascript">
35
+ # var disqus_shortname = 'vafer';
36
+ # (function () {
37
+ # var s = document.createElement('script'); s.async = true;
38
+ # s.src = 'http://disqus.com/forums/vafer/count.js';
39
+ # (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
40
+ # }());
41
+ # </script>
42
+
43
+ # <a href="http://example.com/my_article.html#disqus_thread">Comments</a>
44
+
45
+ # post_id = self.post_id ? self.post_id : Digest::SHA1.hexdigest( self.url )
46
+
47
+ end
48
+ end
49
+ end
50
+
51
+ end
@@ -1,5 +1,5 @@
1
1
 
2
- require 'sha1'
2
+ require 'digest/sha1'
3
3
 
4
4
  module Awestruct
5
5
  module Extensions
@@ -11,7 +11,7 @@ module Awestruct
11
11
 
12
12
  module IntenseDebatable
13
13
  def intense_debate_comments()
14
- post_id = self.post_id ? self.post_id : SHA1.hexdigest( self.url )
14
+ post_id = self.post_id ? self.post_id : Digest::SHA1.hexdigest( self.url )
15
15
  html = %Q(<script>\n)
16
16
  html += %Q( var idcomments_acct='#{site.intense_debate_acct}';\n)
17
17
  html += %Q( var idcomments_post_id='#{post_id}';\n )
@@ -23,7 +23,7 @@ module Awestruct
23
23
  end
24
24
 
25
25
  def intense_debate_comments_link()
26
- post_id = self.post_id ? self.post_id : SHA1.hexdigest( self.url )
26
+ post_id = self.post_id ? self.post_id : Digest::SHA1.hexdigest( self.url )
27
27
  html = %Q(<script>\n)
28
28
  html += %Q( var idcomments_acct='#{site.intense_debate_acct}';\n)
29
29
  html += %Q( var idcomments_post_id='#{post_id}';\n )
@@ -58,12 +58,18 @@ module Awestruct
58
58
  end
59
59
 
60
60
  span = max - min
61
- slice = span / 6
62
-
63
- ordered_tags.each do |tag|
64
- adjusted_size = tag.pages.size - min
65
- scaled_size = adjusted_size / slice
66
- tag.group = ( tag.pages.size - min ) / slice
61
+
62
+ if span > 0
63
+ slice = span / 6
64
+ ordered_tags.each do |tag|
65
+ adjusted_size = tag.pages.size - min
66
+ scaled_size = adjusted_size / slice
67
+ tag.group = ( tag.pages.size - min ) / slice
68
+ end
69
+ else
70
+ ordered_tags.each do |tag|
71
+ tag.group = 0
72
+ end
67
73
  end
68
74
 
69
75
  @tags.values.each do |tag|
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awestruct
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Bob McWhirter
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-30 00:00:00 -04:00
18
+ date: 2010-10-09 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -125,6 +125,7 @@ files:
125
125
  - lib/awestruct/erbable.rb
126
126
  - lib/awestruct/extensions/atomizer.rb
127
127
  - lib/awestruct/extensions/data_dir.rb
128
+ - lib/awestruct/extensions/disqus.rb
128
129
  - lib/awestruct/extensions/google_analytics.rb
129
130
  - lib/awestruct/extensions/indexifier.rb
130
131
  - lib/awestruct/extensions/intense_debate.rb