awestruct 0.1.2 → 0.1.3

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 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