darthapo-stratus 0.3 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. data/Changelog +41 -0
  2. data/Manifest +15 -36
  3. data/Readme.markdown +4 -0
  4. data/examples/dev-blog/config/defaults/{article.html → article.default.html} +0 -0
  5. data/{test/fixtures/site → examples/dev-blog}/config/defaults/page.default.html +0 -0
  6. data/examples/dev-blog/config/defaults/{page.html → post.default.html} +0 -0
  7. data/examples/dev-blog/themes/default/styles/main.css +1 -1
  8. data/examples/dev-blog/themes/default/templates/posts/content.html +4 -5
  9. data/lib/stratus.rb +1 -0
  10. data/lib/stratus/filters.rb +35 -1
  11. data/lib/stratus/generator/builder.rb +32 -8
  12. data/lib/stratus/generator/context.rb +28 -25
  13. data/lib/stratus/generator/renderer.rb +5 -2
  14. data/lib/stratus/logging.rb +28 -2
  15. data/lib/stratus/resources.rb +4 -2
  16. data/lib/stratus/resources/base.rb +15 -5
  17. data/lib/stratus/resources/content.rb +3 -1
  18. data/lib/stratus/tasks/app/boilerplate/config/content.yaml +19 -0
  19. data/lib/stratus/tasks/app/boilerplate/config/site.yaml +5 -11
  20. data/lib/stratus/tasks/app/boilerplate/content/pages/home/index.html +12 -16
  21. data/lib/stratus/tasks/app/boilerplate/content/posts/001_welcome/index.html +37 -0
  22. data/lib/stratus/tasks/app/boilerplate/content/posts/002_getting-started/index.html +37 -0
  23. data/lib/stratus/tasks/app/boilerplate/themes/default/images/footer-bg.png +0 -0
  24. data/lib/stratus/tasks/app/boilerplate/themes/default/images/page-bg.png +0 -0
  25. data/lib/stratus/tasks/app/boilerplate/themes/default/scripts/site.js +1 -0
  26. data/lib/stratus/tasks/app/boilerplate/themes/default/styles/main.css +99 -2
  27. data/lib/stratus/tasks/app/boilerplate/themes/default/templates/layouts/main.html +18 -11
  28. data/lib/stratus/tasks/app/boilerplate/themes/default/templates/{objects/page.html → pages/content.html} +9 -1
  29. data/lib/stratus/tasks/app/boilerplate/themes/default/templates/pages/feed.xml +25 -0
  30. data/lib/stratus/tasks/app/boilerplate/themes/default/templates/{objects/page.index.html → pages/list.html} +1 -1
  31. data/lib/stratus/tasks/app/boilerplate/themes/default/templates/posts/content.html +19 -0
  32. data/lib/stratus/tasks/app/boilerplate/themes/default/templates/posts/feed.xml +25 -0
  33. data/lib/stratus/tasks/app/boilerplate/themes/default/templates/posts/list.html +14 -0
  34. data/lib/stratus/tasks/site/site.rake +5 -0
  35. data/lib/stratus/version.rb +1 -1
  36. data/stratus.gemspec +3 -3
  37. metadata +17 -38
  38. data/examples/dev-blog/config/defaults/content.html +0 -7
  39. data/examples/dev-blog/config/defaults/post.html +0 -10
  40. data/lib/stratus/tasks/app/boilerplate/themes/default/templates/objects/post.html +0 -22
  41. data/lib/stratus/tasks/app/boilerplate/themes/default/templates/objects/post.index.html +0 -10
  42. data/test/fixtures/site/StratusSite +0 -26
  43. data/test/fixtures/site/config/defaults/article.default.html +0 -7
  44. data/test/fixtures/site/config/defaults/content.default.html +0 -7
  45. data/test/fixtures/site/config/defaults/post.default.html +0 -10
  46. data/test/fixtures/site/config/site.yaml +0 -36
  47. data/test/fixtures/site/content/articles/001_im-the-title/index.html +0 -10
  48. data/test/fixtures/site/content/pages/about/index.html +0 -7
  49. data/test/fixtures/site/content/pages/home/index.html +0 -37
  50. data/test/fixtures/site/content/pages/projects/index.html +0 -6
  51. data/test/fixtures/site/content/posts/001_new-blog/dom.js +0 -123
  52. data/test/fixtures/site/content/posts/001_new-blog/index.html +0 -24
  53. data/test/fixtures/site/content/posts/001_new-blog/old.html +0 -18
  54. data/test/fixtures/site/content/posts/002_fun-for-the-whole-family/index.html +0 -12
  55. data/test/fixtures/site/content/posts/002_fun-for-the-whole-family/snippet_one.rb +0 -5
  56. data/test/fixtures/site/content/posts/003_life-is-quite-fun-really/index.html +0 -12
  57. data/test/fixtures/site/themes/default/scripts/code_highlighter.js +0 -188
  58. data/test/fixtures/site/themes/default/scripts/code_syntax.js +0 -92
  59. data/test/fixtures/site/themes/default/styles/code_syntax.css +0 -68
  60. data/test/fixtures/site/themes/default/styles/main.css +0 -66
  61. data/test/fixtures/site/themes/default/templates/layouts/main.html +0 -36
  62. data/test/fixtures/site/themes/default/templates/objects/article.html +0 -7
  63. data/test/fixtures/site/themes/default/templates/objects/article.index.html +0 -8
  64. data/test/fixtures/site/themes/default/templates/objects/feed.xml +0 -25
  65. data/test/fixtures/site/themes/default/templates/objects/page.html +0 -7
  66. data/test/fixtures/site/themes/default/templates/objects/page.index.html +0 -10
  67. data/test/fixtures/site/themes/default/templates/objects/post.html +0 -22
  68. data/test/fixtures/site/themes/default/templates/objects/post.index.html +0 -10
data/Changelog CHANGED
@@ -1,3 +1,44 @@
1
+ 2008-12-23 15:43:50 -0600
2
+ Added 'site:tree' task to print entire collection tree to console.
3
+
4
+ 2008-12-22 02:05:38 -0600
5
+ Updated boilerplate site, updated number_of_words filter
6
+
7
+ 2008-12-21 02:30:26 -0600
8
+ Udpated example dev-blog and added support Growl, if you have ruby-growl installed.
9
+
10
+ 2008-12-20 18:38:48 -0600
11
+ Updated boilerplate, next/prev now honors your sorting settings, memoized LiquidContext's site_data.
12
+
13
+ 2008-12-20 16:29:37 -0600
14
+ New: ignoring post dated content, validation failure messsages. Bugfixes: copy_file exceptions.
15
+ * Copying a file that doesn't exist will no longer throw an exception.
16
+ * Added support for validation failure messages
17
+ * Added validation for Content resources to be skipped if they are post dated
18
+
19
+ 2008-12-20 05:31:31 -0600
20
+ Nearing core feature completion...
21
+ * All collection types are rendered now, not just pages and posts
22
+ * Feed are generated for collection types
23
+ * Moved content configuration into config/content.yaml
24
+ * Added simple logging
25
+ * Added configuration options for creating relative links, forcing XHTML support and more
26
+ * Added sourcecode Liquid filter and tag.
27
+ - Tag: It will take all the contents within the tag and create pre/code wrapper around it.
28
+ - Filter: If an attachment is passed, it will load it and insert it's contents within a pre/code wrapper.
29
+
30
+ 2008-12-19 03:33:02 -0600
31
+ Returned markdown support to Maruku
32
+
33
+ 2008-12-19 03:31:29 -0600
34
+ Performance updates
35
+ * All paths are absolute uris (no more path_to_root during Liquid rendering)
36
+ * Relative paths are generated after the page generation using Hpricot
37
+ * Memoized liquid hash generation
38
+
39
+ 2008-12-18 21:41:51 -0600
40
+ Updated changelog
41
+
1
42
  2008-12-18 21:40:18 -0600
2
43
  Updated manifest and gemspec
3
44
 
data/Manifest CHANGED
@@ -5,10 +5,9 @@ Readme.markdown
5
5
  bin/stratus
6
6
  examples/dev-blog/StratusSite
7
7
  examples/dev-blog/config/content.yaml
8
- examples/dev-blog/config/defaults/article.html
9
- examples/dev-blog/config/defaults/content.html
10
- examples/dev-blog/config/defaults/page.html
11
- examples/dev-blog/config/defaults/post.html
8
+ examples/dev-blog/config/defaults/article.default.html
9
+ examples/dev-blog/config/defaults/page.default.html
10
+ examples/dev-blog/config/defaults/post.default.html
12
11
  examples/dev-blog/config/site.yaml
13
12
  examples/dev-blog/content/articles/animating-nsviews-in-rubycocoa/awake_from_nib.rb
14
13
  examples/dev-blog/content/articles/animating-nsviews-in-rubycocoa/ib_action.rb
@@ -65,16 +64,24 @@ lib/stratus/tags/markdown.rb
65
64
  lib/stratus/tags/sourcecode.rb
66
65
  lib/stratus/tags/textile.rb
67
66
  lib/stratus/tasks/app/boilerplate/StratusSite
67
+ lib/stratus/tasks/app/boilerplate/config/content.yaml
68
68
  lib/stratus/tasks/app/boilerplate/config/defaults/page.default.html
69
69
  lib/stratus/tasks/app/boilerplate/config/defaults/post.default.html
70
70
  lib/stratus/tasks/app/boilerplate/config/site.yaml
71
71
  lib/stratus/tasks/app/boilerplate/content/pages/home/index.html
72
+ lib/stratus/tasks/app/boilerplate/content/posts/001_welcome/index.html
73
+ lib/stratus/tasks/app/boilerplate/content/posts/002_getting-started/index.html
74
+ lib/stratus/tasks/app/boilerplate/themes/default/images/footer-bg.png
75
+ lib/stratus/tasks/app/boilerplate/themes/default/images/page-bg.png
76
+ lib/stratus/tasks/app/boilerplate/themes/default/scripts/site.js
72
77
  lib/stratus/tasks/app/boilerplate/themes/default/styles/main.css
73
78
  lib/stratus/tasks/app/boilerplate/themes/default/templates/layouts/main.html
74
- lib/stratus/tasks/app/boilerplate/themes/default/templates/objects/page.html
75
- lib/stratus/tasks/app/boilerplate/themes/default/templates/objects/page.index.html
76
- lib/stratus/tasks/app/boilerplate/themes/default/templates/objects/post.html
77
- lib/stratus/tasks/app/boilerplate/themes/default/templates/objects/post.index.html
79
+ lib/stratus/tasks/app/boilerplate/themes/default/templates/pages/content.html
80
+ lib/stratus/tasks/app/boilerplate/themes/default/templates/pages/feed.xml
81
+ lib/stratus/tasks/app/boilerplate/themes/default/templates/pages/list.html
82
+ lib/stratus/tasks/app/boilerplate/themes/default/templates/posts/content.html
83
+ lib/stratus/tasks/app/boilerplate/themes/default/templates/posts/feed.xml
84
+ lib/stratus/tasks/app/boilerplate/themes/default/templates/posts/list.html
78
85
  lib/stratus/tasks/app/site.rake
79
86
  lib/stratus/tasks/shared/system.rake
80
87
  lib/stratus/tasks/site/new.rake
@@ -82,32 +89,4 @@ lib/stratus/tasks/site/site.rake
82
89
  lib/stratus/tasks/site/theme.rake
83
90
  lib/stratus/version.rb
84
91
  stratus.gemspec
85
- test/fixtures/site/StratusSite
86
- test/fixtures/site/config/defaults/article.default.html
87
- test/fixtures/site/config/defaults/content.default.html
88
- test/fixtures/site/config/defaults/page.default.html
89
- test/fixtures/site/config/defaults/post.default.html
90
- test/fixtures/site/config/site.yaml
91
- test/fixtures/site/content/articles/001_im-the-title/index.html
92
- test/fixtures/site/content/pages/about/index.html
93
- test/fixtures/site/content/pages/home/index.html
94
- test/fixtures/site/content/pages/projects/index.html
95
- test/fixtures/site/content/posts/001_new-blog/dom.js
96
- test/fixtures/site/content/posts/001_new-blog/index.html
97
- test/fixtures/site/content/posts/001_new-blog/old.html
98
- test/fixtures/site/content/posts/002_fun-for-the-whole-family/index.html
99
- test/fixtures/site/content/posts/002_fun-for-the-whole-family/snippet_one.rb
100
- test/fixtures/site/content/posts/003_life-is-quite-fun-really/index.html
101
- test/fixtures/site/themes/default/scripts/code_highlighter.js
102
- test/fixtures/site/themes/default/scripts/code_syntax.js
103
- test/fixtures/site/themes/default/styles/code_syntax.css
104
- test/fixtures/site/themes/default/styles/main.css
105
- test/fixtures/site/themes/default/templates/layouts/main.html
106
- test/fixtures/site/themes/default/templates/objects/article.html
107
- test/fixtures/site/themes/default/templates/objects/article.index.html
108
- test/fixtures/site/themes/default/templates/objects/feed.xml
109
- test/fixtures/site/themes/default/templates/objects/page.html
110
- test/fixtures/site/themes/default/templates/objects/page.index.html
111
- test/fixtures/site/themes/default/templates/objects/post.html
112
- test/fixtures/site/themes/default/templates/objects/post.index.html
113
92
  test/test_helper.rb
@@ -12,3 +12,7 @@ And yes, I know, I'm on a weird cloud kick.
12
12
  * Publishing (S/FTP)
13
13
  * Tagging support (limited)
14
14
  * Category support (limited)
15
+
16
+ # Ideas
17
+
18
+ * `vimeo` tag that embeds a thumbnail image with a link to the vimeo page (metadata: http://vimeo.com/api/clip/963462.xml)
@@ -4,7 +4,7 @@
4
4
  }
5
5
 
6
6
  BODY {
7
- font-family: "tahoma";
7
+ font-family: "lucida grande", "tahoma", sans-serif;
8
8
  background: #555;
9
9
  }
10
10
 
@@ -8,12 +8,11 @@
8
8
  Published on {{ this.publish_date | short_date }}. {{ this.body | number_of_words }} words.
9
9
  </p>
10
10
  <p class="pager">
11
- {% if this.prev %}
12
- <a href="{{ this.prev | uri_rel }}">&laquo; {{ this.prev.title }}</a>
13
- {% endif %}
14
- <a href="{{ page.home | uri_rel }}">Home</a>
15
11
  {% if this.next %}
16
- <a href="{{ this.next | uri_rel }}">{{ this.next.title }} &raquo;</a>
12
+ <a class="older" href="{{ this.next | uri_rel }}">&laquo; {{ this.next.title }}</a>
13
+ {% endif %}
14
+ {% if this.prev %}
15
+ <a class="newer" href="{{ this.prev | uri_rel }}">{{ this.prev.title }} &raquo;</a>
17
16
  {% endif %}
18
17
  </p>
19
18
  </div>
@@ -42,6 +42,7 @@ require 'maruku'
42
42
  #require 'cgi' # for HTML Escaping...
43
43
  #require 'bluecloth' rescue LoadError
44
44
 
45
+ require 'stratus/version'
45
46
  require 'stratus/logging'
46
47
  require 'stratus/generator'
47
48
  require 'stratus/resources'
@@ -19,9 +19,43 @@ module Stratus
19
19
  end
20
20
 
21
21
  def number_of_words(input)
22
- input.split.length
22
+ s = strip_html(CGI::unescapeHTML(input))
23
+ s.gsub!(/[\w|\']+/, 'X')
24
+ s.gsub!(/\W+/, '')
25
+ s.length
23
26
  end
24
27
 
28
+ # Moved to base resource...
29
+ # def last(content)
30
+ # return nil unless content.is_a? Hash and content.has_key?('collection_type')
31
+ # collection = Stratus::Generator::LiquidContext.site_data[content['collection_type']]
32
+ # collection.last
33
+ # end
34
+ #
35
+ # def prev(content)
36
+ # return nil unless content.is_a? Hash and content.has_key?('collection_type')
37
+ # collection = Stratus::Generator::LiquidContext.site_data[content['collection_type']]
38
+ # collection.each_with_index do |c,i|
39
+ # return collection[(i - 1)] if c.slug == content['slug']
40
+ # end
41
+ # nil
42
+ # end
43
+ #
44
+ # def next(content)
45
+ # return nil unless content.is_a? Hash and content.has_key?('collection_type')
46
+ # collection = Stratus::Generator::LiquidContext.site_data[content['collection_type']]
47
+ # collection.each_with_index do |c,i|
48
+ # return collection[(i + 1)] if c.slug == content['slug']
49
+ # end
50
+ # nil
51
+ # end
52
+ #
53
+ # def first(content)
54
+ # return nil unless content.is_a? Hash and content.has_key?('collection_type')
55
+ # collection = Stratus::Generator::LiquidContext.site_data[content['collection_type']]
56
+ # collection.first
57
+ # end
58
+
25
59
  EXTS = {
26
60
  '.rb' => 'ruby',
27
61
  '.css' => 'css',
@@ -9,10 +9,21 @@ class Builder
9
9
  end
10
10
 
11
11
  def execute
12
+ sweep_content
13
+ render_content
14
+ copy_theme_files
15
+
16
+ info "Done.", "\n"
17
+ growl "Build complete."
18
+ end
19
+
20
+ def sweep_content
12
21
  info "Scanning source structure..."
13
22
  scanner = Stratus::Generator::Scanner.new(@root_path)
14
23
  scanner.sweep
15
-
24
+ end
25
+
26
+ def render_content
16
27
  info "Rendering output..."
17
28
  make_dir Stratus.output_dir
18
29
  Stratus::Resources.collection_types.each do |col_type|
@@ -42,10 +53,6 @@ class Builder
42
53
  else
43
54
  error "NO HOME PAGE DEFINED! UPDATE YOUR CONFIG FILE!!!"
44
55
  end
45
-
46
- copy_theme_files
47
-
48
- info "Done.", "\n"
49
56
  end
50
57
 
51
58
  def copy_theme_files
@@ -80,12 +87,17 @@ protected
80
87
  end
81
88
 
82
89
  def copy_file(path, to)
83
- make_dir( File.dirname( to ) )
84
- FileUtils.cp_r path, to
85
- info(" - #{ to }", '.')
90
+ unless File.exists?(path)
91
+ info(" ? #{ to }", '.')
92
+ else
93
+ make_dir( File.dirname( to ) )
94
+ FileUtils.cp_r path, to
95
+ info(" - #{ to }", '.')
96
+ end
86
97
  end
87
98
 
88
99
  def delete_file(path, force=false)
100
+ return unless File.exists?(path)
89
101
  if force
90
102
  FileUtils.rm_rf( path )
91
103
  else
@@ -102,6 +114,18 @@ class << self
102
114
  Builder.new(root_path).execute
103
115
  end
104
116
 
117
+ def page_tree(root_path)
118
+ builder = Builder.new(root_path)
119
+ builder.sweep_content
120
+
121
+ Stratus::Resources.collection_types.sort.each do |col_type|
122
+ puts "#{ col_type }/"
123
+ Stratus::Resources.content(:collection_type=>col_type, :sort_by=>:slug).each do |r|
124
+ puts " #{ r.slug }"
125
+ end
126
+ end
127
+ end
128
+
105
129
  end
106
130
 
107
131
  end
@@ -7,39 +7,42 @@ class LiquidContext < Hash
7
7
 
8
8
  def initialize
9
9
  super
10
- site_data = {
11
- 'site' => Stratus.settings['site'],
12
- 'vars' => Stratus.settings.fetch('vars', {})
13
- }
14
- Stratus::Resources.collection_types.each do |col_type|
15
- sort_col = Stratus.content_setting(col_type, 'sort', 'index').to_sym
16
- reversed = Stratus.content_setting(col_type, 'reverse', false)
17
- collection_data = Stratus::Resources.content(:collection_type=>col_type, :sort_by=>sort_col, :reverse=>reversed)
18
- # puts "#{col_type}: #{collection_data.length} items... (sorted by #{sort_col}#{reversed ? ', reversed': ''})"
19
- site_data[col_type] = collection_data
20
- site_data[col_type.singularize] = hashify(collection_data)
21
- end
22
- self.merge!(site_data)
10
+ self.merge!(self.class.site_data)
23
11
  self
24
12
  end
25
13
 
26
- def self.path_to_root
27
- @@path_to_root ||= ''
28
- end
29
- def self.path_to_root=(path)
30
- @@path_to_root = path
31
- end
14
+ class << self
15
+ def path_to_root
16
+ @path_to_root ||= ''
17
+ end
18
+ def path_to_root=(path)
19
+ @path_to_root = path
20
+ end
21
+
22
+ def site_data
23
+ @site_data ||= returning({}) do |data|
24
+ data['site'] = Stratus.settings['site']
25
+ data['vars'] =Stratus.settings.fetch('vars', {})
26
+ Stratus::Resources.collection_types.each do |col_type|
27
+ sort_col = Stratus.content_setting(col_type, 'sort', 'index').to_sym
28
+ reversed = Stratus.content_setting(col_type, 'reverse', false)
29
+ collection_data = Stratus::Resources.content(:collection_type=>col_type, :sort_by=>sort_col, :reverse=>reversed)
30
+ data[col_type] = collection_data
31
+ data[col_type.singularize] = hashify(collection_data)
32
+ end
33
+ end
34
+ end
32
35
 
33
- protected
36
+ protected
34
37
 
35
- def hashify(list)
36
- returning({}) do |h|
37
- list.each do |item|
38
- h[item.slug] = item
38
+ def hashify(list)
39
+ returning({}) do |h|
40
+ list.each do |item|
41
+ h[item.slug] = item
42
+ end
39
43
  end
40
44
  end
41
45
  end
42
-
43
46
  end
44
47
 
45
48
  end
@@ -54,9 +54,12 @@ protected
54
54
 
55
55
  # Allows all context changes to be scoped
56
56
  def in_context(&block)
57
- old_context = @context.clone
57
+ #old_context = @context.clone
58
58
  results = yield
59
- @context = old_context
59
+ # Make sure stuff doesn't bleed over...
60
+ @context['this'] = nil
61
+ @context['content'] = nil
62
+ #@context = old_context
60
63
  results
61
64
  end
62
65
 
@@ -12,14 +12,40 @@ module Logging
12
12
  end
13
13
  end
14
14
 
15
- def error
15
+ def error(msg)
16
+ puts msg
17
+ end
18
+
19
+ def notify(type='', title='', msg='')
16
20
  puts msg
17
21
  end
18
22
 
19
- def fatal
23
+ def fatal(msg)
20
24
  puts msg
21
25
  end
22
26
 
27
+ def growl(message, title="Stratus Notification", type="stratus-notify")
28
+ growler.notify type, title, message
29
+ #notify(notify_type, title, message, priority = 0, sticky = false)
30
+ end
31
+
32
+ def growler
33
+ @growler ||= begin
34
+ if defined?(Growl)
35
+ Growl.new( "localhost", "stratus", ["stratus-notify"])
36
+ else
37
+ self
38
+ end
39
+ end
40
+ end
41
+
23
42
  end
24
43
 
44
+ end
45
+
46
+
47
+ begin
48
+ require 'ruby-growl'
49
+ rescue LoadError
50
+ # If you had ruby-growl, stratus would use it.
25
51
  end
@@ -8,11 +8,13 @@ module Stratus::Resources
8
8
 
9
9
  def register_content(content)
10
10
  content.fixup_meta
11
- if content.validate! # Should allow returning false to exclude from DB
11
+ validates, msg = content.validate!
12
+ if validates
12
13
  collection_types << content.collection_type unless collection_types.include?( content.collection_type ) or content.content_type != :content
13
14
  all << content
14
15
  else
15
- puts " - Skipping '#{content.content_path}': failed validation"
16
+ msg ||= "Failed validation..."
17
+ puts " * Skipping '#{content.content_path}': #{msg}"
16
18
  end
17
19
  end
18
20
 
@@ -107,12 +107,18 @@ class Base
107
107
  Stratus.setting('homepage') == content_path
108
108
  end
109
109
 
110
- def next_content
111
- Stratus::Resources.content(:first, :collection_type=>@collection_type, :index=>(@index + 1)) unless index.nil?
112
- end
113
-
114
110
  def prev_content
115
- Stratus::Resources.content(:first, :collection_type=>@collection_type, :index=>(@index - 1)) unless index.nil?
111
+ collection = Stratus::Generator::LiquidContext.site_data[ collection_type ]
112
+ idx = collection.index(self)
113
+ return false if idx.nil? or idx <= 0
114
+ collection[(idx - 1)]
115
+ end
116
+
117
+ def next_content
118
+ collection = Stratus::Generator::LiquidContext.site_data[ collection_type ]
119
+ idx = collection.index(self)
120
+ return false if idx.nil? or idx >= (collection.length - 1)
121
+ collection[(idx + 1)]
116
122
  end
117
123
 
118
124
  def to_liquid
@@ -190,6 +196,10 @@ protected
190
196
  # Coerce the meta data value if it's defined...
191
197
  content = if meta_tag[:type]
192
198
  case meta_tag[:type].downcase.to_sym
199
+ when :bool
200
+ (meta_tag[:content] == 'true')
201
+ when :boolean
202
+ (meta_tag[:content] == 'true')
193
203
  when :int
194
204
  meta_tag[:content].to_i
195
205
  when :integer