darthapo-stratus 0.2

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.
Files changed (88) hide show
  1. data/Changelog +3 -0
  2. data/Manifest +87 -0
  3. data/Rakefile +82 -0
  4. data/Readme.markdown +15 -0
  5. data/bin/stratus +8 -0
  6. data/lib/stratus/cli.rb +206 -0
  7. data/lib/stratus/filters.rb +73 -0
  8. data/lib/stratus/generator/builder.rb +147 -0
  9. data/lib/stratus/generator/context.rb +39 -0
  10. data/lib/stratus/generator/renderer.rb +100 -0
  11. data/lib/stratus/generator/scanner.rb +75 -0
  12. data/lib/stratus/generator.rb +12 -0
  13. data/lib/stratus/resources/attachment.rb +41 -0
  14. data/lib/stratus/resources/base.rb +257 -0
  15. data/lib/stratus/resources/content.rb +17 -0
  16. data/lib/stratus/resources/hash_db.rb +128 -0
  17. data/lib/stratus/resources/layout.rb +18 -0
  18. data/lib/stratus/resources/template.rb +22 -0
  19. data/lib/stratus/resources.rb +75 -0
  20. data/lib/stratus/settings.rb +19 -0
  21. data/lib/stratus/tags/markdown.rb +19 -0
  22. data/lib/stratus/tags/textile.rb +19 -0
  23. data/lib/stratus/tags.rb +3 -0
  24. data/lib/stratus/tasks/app/boilerplate/StratusSite +25 -0
  25. data/lib/stratus/tasks/app/boilerplate/config/defaults/page.default.html +10 -0
  26. data/lib/stratus/tasks/app/boilerplate/config/defaults/post.default.html +10 -0
  27. data/lib/stratus/tasks/app/boilerplate/config/site.yaml +16 -0
  28. data/lib/stratus/tasks/app/boilerplate/content/pages/home/index.html +35 -0
  29. data/lib/stratus/tasks/app/boilerplate/themes/default/styles/main.css +12 -0
  30. data/lib/stratus/tasks/app/boilerplate/themes/default/templates/layouts/main.html +31 -0
  31. data/lib/stratus/tasks/app/boilerplate/themes/default/templates/objects/page.html +7 -0
  32. data/lib/stratus/tasks/app/boilerplate/themes/default/templates/objects/page.index.html +10 -0
  33. data/lib/stratus/tasks/app/boilerplate/themes/default/templates/objects/post.html +22 -0
  34. data/lib/stratus/tasks/app/boilerplate/themes/default/templates/objects/post.index.html +10 -0
  35. data/lib/stratus/tasks/app/site.rake +68 -0
  36. data/lib/stratus/tasks/shared/system.rake +16 -0
  37. data/lib/stratus/tasks/site/new.rake +108 -0
  38. data/lib/stratus/tasks/site/site.rake +21 -0
  39. data/lib/stratus/tasks/site/theme.rake +13 -0
  40. data/lib/stratus.rb +62 -0
  41. data/stratus.gemspec +31 -0
  42. data/test/fixtures/site/StratusSite +26 -0
  43. data/test/fixtures/site/config/defaults/article.default.html +7 -0
  44. data/test/fixtures/site/config/defaults/content.default.html +7 -0
  45. data/test/fixtures/site/config/defaults/page.default.html +10 -0
  46. data/test/fixtures/site/config/defaults/post.default.html +10 -0
  47. data/test/fixtures/site/config/site.yaml +25 -0
  48. data/test/fixtures/site/content/articles/001_im-the-title/index.html +10 -0
  49. data/test/fixtures/site/content/pages/about/index.html +7 -0
  50. data/test/fixtures/site/content/pages/home/index.html +37 -0
  51. data/test/fixtures/site/content/pages/projects/index.html +6 -0
  52. data/test/fixtures/site/content/posts/001_new-blog/dom.js +123 -0
  53. data/test/fixtures/site/content/posts/001_new-blog/index.html +24 -0
  54. data/test/fixtures/site/content/posts/001_new-blog/old.html +18 -0
  55. data/test/fixtures/site/content/posts/002_fun-for-the-whole-family/index.html +12 -0
  56. data/test/fixtures/site/content/posts/002_fun-for-the-whole-family/snippet_one.rb +5 -0
  57. data/test/fixtures/site/content/posts/003_life-is-quite-fun-really/index.html +12 -0
  58. data/test/fixtures/site/themes/default/scripts/code_highlighter.js +188 -0
  59. data/test/fixtures/site/themes/default/scripts/code_syntax.js +92 -0
  60. data/test/fixtures/site/themes/default/styles/code_syntax.css +68 -0
  61. data/test/fixtures/site/themes/default/styles/main.css +66 -0
  62. data/test/fixtures/site/themes/default/templates/layouts/main.html +36 -0
  63. data/test/fixtures/site/themes/default/templates/objects/article.html +7 -0
  64. data/test/fixtures/site/themes/default/templates/objects/article.index.html +8 -0
  65. data/test/fixtures/site/themes/default/templates/objects/feed.xml +25 -0
  66. data/test/fixtures/site/themes/default/templates/objects/page.html +7 -0
  67. data/test/fixtures/site/themes/default/templates/objects/page.index.html +10 -0
  68. data/test/fixtures/site/themes/default/templates/objects/post.html +22 -0
  69. data/test/fixtures/site/themes/default/templates/objects/post.index.html +10 -0
  70. data/test/fixtures/site/www/index.html +82 -0
  71. data/test/fixtures/site/www/pages/about/index.html +43 -0
  72. data/test/fixtures/site/www/pages/home/index.html +82 -0
  73. data/test/fixtures/site/www/pages/index.html +52 -0
  74. data/test/fixtures/site/www/pages/projects/index.html +43 -0
  75. data/test/fixtures/site/www/posts/fun-for-the-whole-family/index.html +66 -0
  76. data/test/fixtures/site/www/posts/fun-for-the-whole-family/snippet_one.rb +5 -0
  77. data/test/fixtures/site/www/posts/index.html +63 -0
  78. data/test/fixtures/site/www/posts/life-is-quite-fun-really/index.html +58 -0
  79. data/test/fixtures/site/www/posts/new-blog/dom.js +123 -0
  80. data/test/fixtures/site/www/posts/new-blog/index.html +192 -0
  81. data/test/fixtures/site/www/posts/new-blog/old.html +18 -0
  82. data/test/fixtures/site/www/theme/scripts/code_highlighter.js +188 -0
  83. data/test/fixtures/site/www/theme/scripts/code_syntax.js +92 -0
  84. data/test/fixtures/site/www/theme/styles/code_syntax.css +68 -0
  85. data/test/fixtures/site/www/theme/styles/main.css +66 -0
  86. data/test/fixtures/site/www/themes/default/styles/main.css +62 -0
  87. data/test/test_helper.rb +0 -0
  88. metadata +143 -0
@@ -0,0 +1,188 @@
1
+ /* Unobtrustive Code Highlighter By Dan Webb 11/2005
2
+ Version: 0.4
3
+
4
+ Usage:
5
+ Add a script tag for this script and any stylesets you need to use
6
+ to the page in question, add correct class names to CODE elements,
7
+ define CSS styles for elements. That's it!
8
+
9
+ Known to work on:
10
+ IE 5.5+ PC
11
+ Firefox/Mozilla PC/Mac
12
+ Opera 7.23 + PC
13
+ Safari 2
14
+
15
+ Known to degrade gracefully on:
16
+ IE5.0 PC
17
+
18
+ Note: IE5.0 fails due to the use of lookahead in some stylesets. To avoid script errors
19
+ in older browsers use expressions that use lookahead in string format when defining stylesets.
20
+
21
+ This script is inspired by star-light by entirely cunning Dean Edwards
22
+ http://dean.edwards.name/star-light/.
23
+ */
24
+
25
+ // replace callback support for safari.
26
+ if ("a".replace(/a/, function() {return "b"}) != "b") (function(){
27
+ var default_replace = String.prototype.replace;
28
+ String.prototype.replace = function(search,replace){
29
+ // replace is not function
30
+ if(typeof replace != "function"){
31
+ return default_replace.apply(this,arguments)
32
+ }
33
+ var str = "" + this;
34
+ var callback = replace;
35
+ // search string is not RegExp
36
+ if(!(search instanceof RegExp)){
37
+ var idx = str.indexOf(search);
38
+ return (
39
+ idx == -1 ? str :
40
+ default_replace.apply(str,[search,callback(search, idx, str)])
41
+ )
42
+ }
43
+ var reg = search;
44
+ var result = [];
45
+ var lastidx = reg.lastIndex;
46
+ var re;
47
+ while((re = reg.exec(str)) != null){
48
+ var idx = re.index;
49
+ var args = re.concat(idx, str);
50
+ result.push(
51
+ str.slice(lastidx,idx),
52
+ callback.apply(null,args).toString()
53
+ );
54
+ if(!reg.global){
55
+ lastidx += RegExp.lastMatch.length;
56
+ break
57
+ }else{
58
+ lastidx = reg.lastIndex;
59
+ }
60
+ }
61
+ result.push(str.slice(lastidx));
62
+ return result.join("")
63
+ }
64
+ })();
65
+
66
+ var CodeHighlighter = { styleSets : new Array };
67
+
68
+ CodeHighlighter.addStyle = function(name, rules) {
69
+ // using push test to disallow older browsers from adding styleSets
70
+ if ([].push) this.styleSets.push({
71
+ name : name,
72
+ rules : rules,
73
+ ignoreCase : arguments[2] || false
74
+ })
75
+
76
+ function setEvent() {
77
+ // set highlighter to run on load (use LowPro if present)
78
+ if (typeof Event != 'undefined' && typeof Event.onReady == 'function')
79
+ return Event.onReady(CodeHighlighter.init.bind(CodeHighlighter));
80
+
81
+ var old = window.onload;
82
+
83
+ if (typeof window.onload != 'function') {
84
+ window.onload = function() { CodeHighlighter.init() };
85
+ } else {
86
+ window.onload = function() {
87
+ old();
88
+ CodeHighlighter.init();
89
+ }
90
+ }
91
+ }
92
+
93
+ // only set the event when the first style is added
94
+ if (this.styleSets.length==1) setEvent();
95
+ }
96
+
97
+ CodeHighlighter.init = function() {
98
+ if (!document.getElementsByTagName) return;
99
+ if ("a".replace(/a/, function() {return "b"}) != "b") return; // throw out Safari versions that don't support replace function
100
+ // throw out older browsers
101
+
102
+ var codeEls = document.getElementsByTagName("CODE");
103
+ // collect array of all pre elements
104
+ codeEls.filter = function(f) {
105
+ var a = new Array;
106
+ for (var i = 0; i < this.length; i++) if (f(this[i])) a[a.length] = this[i];
107
+ return a;
108
+ }
109
+
110
+ var rules = new Array;
111
+ rules.toString = function() {
112
+ // joins regexes into one big parallel regex
113
+ var exps = new Array;
114
+ for (var i = 0; i < this.length; i++) exps.push(this[i].exp);
115
+ return exps.join("|");
116
+ }
117
+
118
+ function addRule(className, rule) {
119
+ // add a replace rule
120
+ var exp = (typeof rule.exp != "string")?String(rule.exp).substr(1, String(rule.exp).length-2):rule.exp;
121
+ // converts regex rules to strings and chops of the slashes
122
+ rules.push({
123
+ className : className,
124
+ exp : "(" + exp + ")",
125
+ length : (exp.match(/(^|[^\\])\([^?]/g) || "").length + 1, // number of subexps in rule
126
+ replacement : rule.replacement || null
127
+ });
128
+ }
129
+
130
+ function parse(text, ignoreCase) {
131
+ // main text parsing and replacement
132
+ return text.replace(new RegExp(rules, (ignoreCase)?"gi":"g"), function() {
133
+ var i = 0, j = 1, rule;
134
+ while (rule = rules[i++]) {
135
+ if (arguments[j]) {
136
+ // if no custom replacement defined do the simple replacement
137
+ if (!rule.replacement) return "<span class=\"" + rule.className + "\">" + arguments[0] + "</span>";
138
+ else {
139
+ // replace $0 with the className then do normal replaces
140
+ var str = rule.replacement.replace("$0", rule.className);
141
+ for (var k = 1; k <= rule.length - 1; k++) str = str.replace("$" + k, arguments[j + k]);
142
+ return str;
143
+ }
144
+ } else j+= rule.length;
145
+ }
146
+ });
147
+ }
148
+
149
+ function highlightCode(styleSet) {
150
+ // clear rules array
151
+ var parsed, clsRx = new RegExp("(\\s|^)" + styleSet.name + "(\\s|$)");
152
+ rules.length = 0;
153
+
154
+ // get stylable elements by filtering out all code elements without the correct className
155
+ var stylableEls = codeEls.filter(function(item) { return clsRx.test(item.className) });
156
+
157
+ // add style rules to parser
158
+ for (var className in styleSet.rules) addRule(className, styleSet.rules[className]);
159
+
160
+
161
+ // replace for all elements
162
+ for (var i = 0; i < stylableEls.length; i++) {
163
+ // EVIL hack to fix IE whitespace badness if it's inside a <pre>
164
+ if (/MSIE/.test(navigator.appVersion) && stylableEls[i].parentNode.nodeName == 'PRE') {
165
+ stylableEls[i] = stylableEls[i].parentNode;
166
+
167
+ parsed = stylableEls[i].innerHTML.replace(/(<code[^>]*>)([^<]*)<\/code>/i, function() {
168
+ return arguments[1] + parse(arguments[2], styleSet.ignoreCase) + "</code>"
169
+ });
170
+ parsed = parsed.replace(/\n( *)/g, function() {
171
+ var spaces = "";
172
+ for (var i = 0; i < arguments[1].length; i++) spaces+= "&nbsp;";
173
+ return "\n" + spaces;
174
+ });
175
+ parsed = parsed.replace(/\t/g, "&nbsp;&nbsp;&nbsp;&nbsp;");
176
+ parsed = parsed.replace(/\n(<\/\w+>)?/g, "<br />$1").replace(/<br \/>[\n\r\s]*<br \/>/g, "<p><br></p>");
177
+
178
+ } else parsed = parse(stylableEls[i].innerHTML, styleSet.ignoreCase);
179
+
180
+ stylableEls[i].innerHTML = parsed;
181
+ }
182
+ }
183
+
184
+ // run highlighter on all stylesets
185
+ for (var i=0; i < this.styleSets.length; i++) {
186
+ highlightCode(this.styleSets[i]);
187
+ }
188
+ }
@@ -0,0 +1,92 @@
1
+ // =======
2
+ // = CSS =
3
+ // =======
4
+ CodeHighlighter.addStyle("css", {
5
+ comment : {
6
+ exp : /\/\*[^*]*\*+([^\/][^*]*\*+)*\//
7
+ },
8
+ keywords : {
9
+ exp : /@\w[\w\s]*/
10
+ },
11
+ selectors : {
12
+ exp : "([\\w-:\\[.#][^{};>]*)(?={)"
13
+ },
14
+ properties : {
15
+ exp : "([\\w-]+)(?=\\s*:)"
16
+ },
17
+ units : {
18
+ exp : /([0-9])(em|en|px|%|pt)\b/,
19
+ replacement : "$1<span class=\"$0\">$2</span>"
20
+ },
21
+ urls : {
22
+ exp : /url\([^\)]*\)/
23
+ }
24
+ });
25
+
26
+ // ========
27
+ // = HTML =
28
+ // ========
29
+ CodeHighlighter.addStyle("html", {
30
+ comment : {
31
+ exp: /&lt;!\s*(--([^-]|[\r\n]|-[^-])*--\s*)&gt;/
32
+ },
33
+ tag : {
34
+ exp: /(&lt;\/?)([a-zA-Z]+\s?)/,
35
+ replacement: "$1<span class=\"$0\">$2</span>"
36
+ },
37
+ string : {
38
+ exp : /'[^']*'|"[^"]*"/
39
+ },
40
+ attribute : {
41
+ exp: /\b([a-zA-Z-:]+)(=)/,
42
+ replacement: "<span class=\"$0\">$1</span>$2"
43
+ },
44
+ doctype : {
45
+ exp: /&lt;!DOCTYPE([^&]|&[^g]|&g[^t])*&gt;/
46
+ }
47
+ });
48
+
49
+ // ==============
50
+ // = JavaScript =
51
+ // ==============
52
+ CodeHighlighter.addStyle("javascript",{
53
+ comment : {
54
+ exp : /(\/\/[^\n]*(\n|$))|(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)/
55
+ },
56
+ brackets : {
57
+ exp : /\(|\)/
58
+ },
59
+ string : {
60
+ exp : /'[^']*'|"[^"]*"/
61
+ },
62
+ keywords : {
63
+ exp : /\b(arguments|break|case|continue|default|delete|do|else|false|for|function|if|in|instanceof|new|null|return|switch|this|true|typeof|var|void|while|with)\b/
64
+ },
65
+ global : {
66
+ exp : /\b(toString|valueOf|window|element|prototype|constructor|document|escape|unescape|parseInt|parseFloat|setTimeout|clearTimeout|setInterval|clearInterval|NaN|isNaN|Infinity)\b/
67
+ }
68
+ });
69
+
70
+ // ========
71
+ // = Ruby =
72
+ // ========
73
+ CodeHighlighter.addStyle("ruby",{
74
+ comment : {
75
+ exp : /#[^\n]+/
76
+ },
77
+ brackets : {
78
+ exp : /\(|\)/
79
+ },
80
+ string : {
81
+ exp : /'[^']*'|"[^"]*"/
82
+ },
83
+ keywords : {
84
+ exp : /\b(do|end|self|class|def|if|module|yield|then|else|for|until|unless|while|elsif|case|when|break|retry|redo|rescue|require|raise)\b/
85
+ },
86
+ symbol : {
87
+ exp : /(:[A-Za-z0-9_!?]+)/
88
+ },
89
+ attribute : {
90
+ exp : /(@[A-Za-z0-9_!?]+)/
91
+ }
92
+ });
@@ -0,0 +1,68 @@
1
+
2
+ /* ======================= */
3
+ /* = Syntax Highlighting = */
4
+ /* ======================= */
5
+ .javascript .comment, .ruby .comment {
6
+ color : green;
7
+ }
8
+
9
+ .javascript .string, .ruby .string {
10
+ color : teal;
11
+ }
12
+
13
+ .javascript .keywords, .ruby .keywords {
14
+ color : navy;
15
+ }
16
+
17
+ .javascript .global {
18
+ color : blue;
19
+ }
20
+
21
+ .javascript .brackets, .ruby .brackets {
22
+ color : navy;
23
+ }
24
+
25
+ .css .comment {
26
+ color : gray;
27
+ }
28
+
29
+ .css .properties {
30
+ color : navy;
31
+ }
32
+
33
+ .css .selectors {
34
+ color : maroon;
35
+ font-weight : bold;
36
+ }
37
+
38
+ .css .units {
39
+ color :red;
40
+ }
41
+
42
+ .css .urls {
43
+ color :green;
44
+ }
45
+
46
+ .html .tag {
47
+ color : purple;
48
+ }
49
+
50
+ .html .comment {
51
+ color : gray;
52
+ font-style: italic;
53
+ }
54
+
55
+ .html .string {
56
+ color : navy;
57
+ }
58
+
59
+ .html .doctype {
60
+ color : teal;
61
+ }
62
+
63
+ .ruby .symbol {
64
+ color: red;
65
+ }
66
+ .ruby .attribute {
67
+ color: teal;
68
+ }
@@ -0,0 +1,66 @@
1
+ * {
2
+ margin: 0px;
3
+ padding: 0px;
4
+ }
5
+
6
+ BODY {
7
+ font-family: "tahoma";
8
+ background: #555;
9
+ }
10
+
11
+ BODY BUTTON {
12
+ padding: 3px 10px;
13
+ }
14
+
15
+ .page-container {
16
+ width: 650px;
17
+ margin: 0 auto;
18
+ }
19
+
20
+ .header {
21
+ background: #0080FF;
22
+ padding: 10px 25px;
23
+ color: #FFF;
24
+ }
25
+
26
+ .subtitle {
27
+ font-size: 75%;
28
+ font-weight: normal;
29
+ color: #6CF;
30
+ }
31
+
32
+ .navigation {
33
+ background: #222;
34
+ color: #999;
35
+ padding: 5px 10px;
36
+ }
37
+ .navigation A {
38
+ color: #DDD;
39
+ font-size: 90%;
40
+ }
41
+ .navigation A:hover {
42
+ color: #FFF;
43
+ }
44
+
45
+ .contents {
46
+ padding: 10px 25px;
47
+ background: #EEE;
48
+ padding-top: 50px;
49
+ }
50
+ .contents h2, .contents h3, .contents h4 {
51
+ color: #00367E;
52
+ }
53
+ .contents P {
54
+ padding: 10px 0px;
55
+ }
56
+
57
+ .post {
58
+ padding-bottom: 50px;
59
+ }
60
+
61
+ .footer {
62
+ padding-top: 15px;
63
+ font-size: 80%;
64
+ color: #999;
65
+ text-align: center;
66
+ }
@@ -0,0 +1,62 @@
1
+ * {
2
+ margin: 0px;
3
+ padding: 0px;
4
+ }
5
+
6
+ BODY {
7
+ font-family: "tahoma";
8
+ background: #555;
9
+ }
10
+
11
+ .page-container {
12
+ width: 650px;
13
+ margin: 0 auto;
14
+ }
15
+
16
+ .header {
17
+ background: #0080FF;
18
+ padding: 10px 25px;
19
+ color: #FFF;
20
+ }
21
+
22
+ .subtitle {
23
+ font-size: 75%;
24
+ font-weight: normal;
25
+ color: #6CF;
26
+ }
27
+
28
+ .navigation {
29
+ background: #222;
30
+ color: #999;
31
+ padding: 5px 10px;
32
+ }
33
+ .navigation A {
34
+ color: #DDD;
35
+ font-size: 90%;
36
+ }
37
+ .navigation A:hover {
38
+ color: #FFF;
39
+ }
40
+
41
+ .contents {
42
+ padding: 10px 25px;
43
+ background: #EEE;
44
+ padding-top: 50px;
45
+ }
46
+ .contents h2, .contents h3, .contents h4 {
47
+ color: #00367E;
48
+ }
49
+ .contents P {
50
+ padding: 10px 0px;
51
+ }
52
+
53
+ .post {
54
+ padding-bottom: 50px;
55
+ }
56
+
57
+ .footer {
58
+ padding-top: 15px;
59
+ font-size: 80%;
60
+ color: #999;
61
+ text-align: center;
62
+ }
File without changes
metadata ADDED
@@ -0,0 +1,143 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: darthapo-stratus
3
+ version: !ruby/object:Gem::Version
4
+ version: "0.2"
5
+ platform: ruby
6
+ authors:
7
+ - M@ McCray
8
+ autorequire: rake
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-12-18 00:00:00 -08:00
13
+ default_executable: stratus
14
+ dependencies: []
15
+
16
+ description: A simple static blog building tool.
17
+ email: darthapo@gmail.com
18
+ executables:
19
+ - stratus
20
+ extensions: []
21
+
22
+ extra_rdoc_files: []
23
+
24
+ files:
25
+ - Changelog
26
+ - Manifest
27
+ - Rakefile
28
+ - Readme.markdown
29
+ - bin/stratus
30
+ - lib/stratus.rb
31
+ - lib/stratus/cli.rb
32
+ - lib/stratus/filters.rb
33
+ - lib/stratus/generator.rb
34
+ - lib/stratus/generator/builder.rb
35
+ - lib/stratus/generator/context.rb
36
+ - lib/stratus/generator/renderer.rb
37
+ - lib/stratus/generator/scanner.rb
38
+ - lib/stratus/resources.rb
39
+ - lib/stratus/resources/attachment.rb
40
+ - lib/stratus/resources/base.rb
41
+ - lib/stratus/resources/content.rb
42
+ - lib/stratus/resources/hash_db.rb
43
+ - lib/stratus/resources/layout.rb
44
+ - lib/stratus/resources/template.rb
45
+ - lib/stratus/settings.rb
46
+ - lib/stratus/tags.rb
47
+ - lib/stratus/tags/markdown.rb
48
+ - lib/stratus/tags/textile.rb
49
+ - lib/stratus/tasks/app/boilerplate/StratusSite
50
+ - lib/stratus/tasks/app/boilerplate/config/defaults/page.default.html
51
+ - lib/stratus/tasks/app/boilerplate/config/defaults/post.default.html
52
+ - lib/stratus/tasks/app/boilerplate/config/site.yaml
53
+ - lib/stratus/tasks/app/boilerplate/content/pages/home/index.html
54
+ - lib/stratus/tasks/app/boilerplate/themes/default/styles/main.css
55
+ - lib/stratus/tasks/app/boilerplate/themes/default/templates/layouts/main.html
56
+ - lib/stratus/tasks/app/boilerplate/themes/default/templates/objects/page.html
57
+ - lib/stratus/tasks/app/boilerplate/themes/default/templates/objects/page.index.html
58
+ - lib/stratus/tasks/app/boilerplate/themes/default/templates/objects/post.html
59
+ - lib/stratus/tasks/app/boilerplate/themes/default/templates/objects/post.index.html
60
+ - lib/stratus/tasks/app/site.rake
61
+ - lib/stratus/tasks/shared/system.rake
62
+ - lib/stratus/tasks/site/new.rake
63
+ - lib/stratus/tasks/site/site.rake
64
+ - lib/stratus/tasks/site/theme.rake
65
+ - stratus.gemspec
66
+ - test/fixtures/site/StratusSite
67
+ - test/fixtures/site/config/defaults/article.default.html
68
+ - test/fixtures/site/config/defaults/content.default.html
69
+ - test/fixtures/site/config/defaults/page.default.html
70
+ - test/fixtures/site/config/defaults/post.default.html
71
+ - test/fixtures/site/config/site.yaml
72
+ - test/fixtures/site/content/articles/001_im-the-title/index.html
73
+ - test/fixtures/site/content/pages/about/index.html
74
+ - test/fixtures/site/content/pages/home/index.html
75
+ - test/fixtures/site/content/pages/projects/index.html
76
+ - test/fixtures/site/content/posts/001_new-blog/dom.js
77
+ - test/fixtures/site/content/posts/001_new-blog/index.html
78
+ - test/fixtures/site/content/posts/001_new-blog/old.html
79
+ - test/fixtures/site/content/posts/002_fun-for-the-whole-family/index.html
80
+ - test/fixtures/site/content/posts/002_fun-for-the-whole-family/snippet_one.rb
81
+ - test/fixtures/site/content/posts/003_life-is-quite-fun-really/index.html
82
+ - test/fixtures/site/themes/default/scripts/code_highlighter.js
83
+ - test/fixtures/site/themes/default/scripts/code_syntax.js
84
+ - test/fixtures/site/themes/default/styles/code_syntax.css
85
+ - test/fixtures/site/themes/default/styles/main.css
86
+ - test/fixtures/site/themes/default/templates/layouts/main.html
87
+ - test/fixtures/site/themes/default/templates/objects/article.html
88
+ - test/fixtures/site/themes/default/templates/objects/article.index.html
89
+ - test/fixtures/site/themes/default/templates/objects/feed.xml
90
+ - test/fixtures/site/themes/default/templates/objects/page.html
91
+ - test/fixtures/site/themes/default/templates/objects/page.index.html
92
+ - test/fixtures/site/themes/default/templates/objects/post.html
93
+ - test/fixtures/site/themes/default/templates/objects/post.index.html
94
+ - test/fixtures/site/www/index.html
95
+ - test/fixtures/site/www/pages/about/index.html
96
+ - test/fixtures/site/www/pages/home/index.html
97
+ - test/fixtures/site/www/pages/index.html
98
+ - test/fixtures/site/www/pages/projects/index.html
99
+ - test/fixtures/site/www/posts/fun-for-the-whole-family/index.html
100
+ - test/fixtures/site/www/posts/fun-for-the-whole-family/snippet_one.rb
101
+ - test/fixtures/site/www/posts/index.html
102
+ - test/fixtures/site/www/posts/life-is-quite-fun-really/index.html
103
+ - test/fixtures/site/www/posts/new-blog/dom.js
104
+ - test/fixtures/site/www/posts/new-blog/index.html
105
+ - test/fixtures/site/www/posts/new-blog/old.html
106
+ - test/fixtures/site/www/theme/scripts/code_highlighter.js
107
+ - test/fixtures/site/www/theme/scripts/code_syntax.js
108
+ - test/fixtures/site/www/theme/styles/code_syntax.css
109
+ - test/fixtures/site/www/theme/styles/main.css
110
+ - test/fixtures/site/www/themes/default/styles/main.css
111
+ - test/test_helper.rb
112
+ has_rdoc: false
113
+ homepage: http://github.com/darthapo/stratus/wikis
114
+ post_install_message:
115
+ rdoc_options: []
116
+
117
+ require_paths:
118
+ - lib
119
+ required_ruby_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: "0"
124
+ version:
125
+ required_rubygems_version: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: "0"
130
+ version:
131
+ requirements:
132
+ - rake
133
+ - active_support
134
+ - chronic
135
+ - hpricot
136
+ - liquid
137
+ rubyforge_project:
138
+ rubygems_version: 1.2.0
139
+ signing_key:
140
+ specification_version: 2
141
+ summary: A simple static blog building tool.
142
+ test_files: []
143
+