TwP-webby 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. data/History.txt +176 -0
  2. data/Manifest.txt +173 -0
  3. data/README.txt +92 -0
  4. data/Rakefile +50 -0
  5. data/bin/webby +8 -0
  6. data/bin/webby-gen +8 -0
  7. data/examples/blog/Sitefile +7 -0
  8. data/examples/blog/tasks/blog.rake +72 -0
  9. data/examples/blog/templates/atom_feed.erb +40 -0
  10. data/examples/blog/templates/blog/month.erb +22 -0
  11. data/examples/blog/templates/blog/post.erb +16 -0
  12. data/examples/blog/templates/blog/year.erb +22 -0
  13. data/examples/presentation/Sitefile +10 -0
  14. data/examples/presentation/content/css/uv/twilight.css +137 -0
  15. data/examples/presentation/content/presentation/_sample_code.txt +10 -0
  16. data/examples/presentation/content/presentation/index.txt +63 -0
  17. data/examples/presentation/content/presentation/s5/blank.gif +0 -0
  18. data/examples/presentation/content/presentation/s5/bodybg.gif +0 -0
  19. data/examples/presentation/content/presentation/s5/framing.css +23 -0
  20. data/examples/presentation/content/presentation/s5/iepngfix.htc +42 -0
  21. data/examples/presentation/content/presentation/s5/opera.css +7 -0
  22. data/examples/presentation/content/presentation/s5/outline.css +15 -0
  23. data/examples/presentation/content/presentation/s5/pretty.css +86 -0
  24. data/examples/presentation/content/presentation/s5/print.css +1 -0
  25. data/examples/presentation/content/presentation/s5/s5-core.css +9 -0
  26. data/examples/presentation/content/presentation/s5/slides.css +3 -0
  27. data/examples/presentation/content/presentation/s5/slides.js +553 -0
  28. data/examples/presentation/layouts/presentation.txt +43 -0
  29. data/examples/presentation/templates/_code_partial.erb +13 -0
  30. data/examples/presentation/templates/presentation.erb +40 -0
  31. data/examples/tumblog/Sitefile +9 -0
  32. data/examples/tumblog/content/css/tumblog.css +308 -0
  33. data/examples/tumblog/content/images/tumblog/permalink.gif +0 -0
  34. data/examples/tumblog/content/images/tumblog/rss.gif +0 -0
  35. data/examples/tumblog/content/tumblog/200806/the-noble-chicken/index.txt +12 -0
  36. data/examples/tumblog/content/tumblog/200807/historical-perspectives-on-the-classic-chicken-joke/index.txt +12 -0
  37. data/examples/tumblog/content/tumblog/200807/mad-city-chickens/index.txt +10 -0
  38. data/examples/tumblog/content/tumblog/200807/the-wisdom-of-the-dutch/index.txt +11 -0
  39. data/examples/tumblog/content/tumblog/200807/up-a-tree/index.txt +13 -0
  40. data/examples/tumblog/content/tumblog/index.txt +37 -0
  41. data/examples/tumblog/content/tumblog/rss.txt +37 -0
  42. data/examples/tumblog/layouts/tumblog/default.txt +44 -0
  43. data/examples/tumblog/layouts/tumblog/post.txt +15 -0
  44. data/examples/tumblog/lib/tumblog_helper.rb +32 -0
  45. data/examples/tumblog/tasks/tumblog.rake +30 -0
  46. data/examples/tumblog/templates/atom_feed.erb +40 -0
  47. data/examples/tumblog/templates/tumblog/conversation.erb +12 -0
  48. data/examples/tumblog/templates/tumblog/link.erb +10 -0
  49. data/examples/tumblog/templates/tumblog/photo.erb +13 -0
  50. data/examples/tumblog/templates/tumblog/post.erb +12 -0
  51. data/examples/tumblog/templates/tumblog/quote.erb +11 -0
  52. data/examples/webby/Sitefile +19 -0
  53. data/examples/webby/content/communicate/index.txt +28 -0
  54. data/examples/webby/content/css/background.gif +0 -0
  55. data/examples/webby/content/css/blueprint/print.css +76 -0
  56. data/examples/webby/content/css/blueprint/screen.css +696 -0
  57. data/examples/webby/content/css/coderay.css +96 -0
  58. data/examples/webby/content/css/site.css +196 -0
  59. data/examples/webby/content/css/uv/twilight.css +137 -0
  60. data/examples/webby/content/index.txt +37 -0
  61. data/examples/webby/content/learn/index.txt +28 -0
  62. data/examples/webby/content/reference/index.txt +204 -0
  63. data/examples/webby/content/release-notes/rel-0-9-0/index.txt +73 -0
  64. data/examples/webby/content/robots.txt +6 -0
  65. data/examples/webby/content/script/jquery.corner.js +152 -0
  66. data/examples/webby/content/script/jquery.js +31 -0
  67. data/examples/webby/content/sitemap.txt +31 -0
  68. data/examples/webby/content/tips_and_tricks/index.txt +96 -0
  69. data/examples/webby/content/tutorial/index.txt +131 -0
  70. data/examples/webby/content/user-manual/index.txt +419 -0
  71. data/examples/webby/layouts/default.txt +49 -0
  72. data/examples/webby/templates/page.erb +10 -0
  73. data/examples/website/Sitefile +7 -0
  74. data/examples/website/content/css/blueprint/License.txt +21 -0
  75. data/examples/website/content/css/blueprint/Readme.txt +100 -0
  76. data/examples/website/content/css/blueprint/compressed/print.css +76 -0
  77. data/examples/website/content/css/blueprint/compressed/screen.css +696 -0
  78. data/examples/website/content/css/blueprint/lib/forms.css +45 -0
  79. data/examples/website/content/css/blueprint/lib/grid.css +193 -0
  80. data/examples/website/content/css/blueprint/lib/grid.png +0 -0
  81. data/examples/website/content/css/blueprint/lib/ie.css +30 -0
  82. data/examples/website/content/css/blueprint/lib/reset.css +39 -0
  83. data/examples/website/content/css/blueprint/lib/typography.css +116 -0
  84. data/examples/website/content/css/blueprint/plugins/buttons/Readme +31 -0
  85. data/examples/website/content/css/blueprint/plugins/buttons/buttons.css +97 -0
  86. data/examples/website/content/css/blueprint/plugins/buttons/icons/cross.png +0 -0
  87. data/examples/website/content/css/blueprint/plugins/buttons/icons/key.png +0 -0
  88. data/examples/website/content/css/blueprint/plugins/buttons/icons/tick.png +0 -0
  89. data/examples/website/content/css/blueprint/plugins/css-classes/Readme +14 -0
  90. data/examples/website/content/css/blueprint/plugins/css-classes/css-classes.css +24 -0
  91. data/examples/website/content/css/blueprint/plugins/fancy-type/Readme +22 -0
  92. data/examples/website/content/css/blueprint/plugins/fancy-type/fancy-type-compressed.css +5 -0
  93. data/examples/website/content/css/blueprint/plugins/fancy-type/fancy-type.css +74 -0
  94. data/examples/website/content/css/blueprint/print.css +68 -0
  95. data/examples/website/content/css/blueprint/screen.css +22 -0
  96. data/examples/website/content/css/coderay.css +111 -0
  97. data/examples/website/content/css/site.css +67 -0
  98. data/examples/website/content/index.txt +19 -0
  99. data/examples/website/layouts/default.txt +58 -0
  100. data/examples/website/lib/breadcrumbs.rb +28 -0
  101. data/examples/website/templates/_partial.erb +10 -0
  102. data/examples/website/templates/page.erb +18 -0
  103. data/examples/website/templates/presentation.erb +40 -0
  104. data/lib/webby/apps/generator.rb +283 -0
  105. data/lib/webby/apps/main.rb +221 -0
  106. data/lib/webby/apps.rb +12 -0
  107. data/lib/webby/auto_builder.rb +83 -0
  108. data/lib/webby/builder.rb +183 -0
  109. data/lib/webby/core_ext/enumerable.rb +11 -0
  110. data/lib/webby/core_ext/hash.rb +28 -0
  111. data/lib/webby/core_ext/kernel.rb +21 -0
  112. data/lib/webby/core_ext/string.rb +163 -0
  113. data/lib/webby/core_ext/time.rb +9 -0
  114. data/lib/webby/filters/basepath.rb +97 -0
  115. data/lib/webby/filters/erb.rb +9 -0
  116. data/lib/webby/filters/haml.rb +18 -0
  117. data/lib/webby/filters/markdown.rb +16 -0
  118. data/lib/webby/filters/outline.rb +309 -0
  119. data/lib/webby/filters/sass.rb +17 -0
  120. data/lib/webby/filters/slides.rb +56 -0
  121. data/lib/webby/filters/textile.rb +16 -0
  122. data/lib/webby/filters/tidy.rb +76 -0
  123. data/lib/webby/filters.rb +91 -0
  124. data/lib/webby/helpers/capture_helper.rb +141 -0
  125. data/lib/webby/helpers/coderay_helper.rb +69 -0
  126. data/lib/webby/helpers/graphviz_helper.rb +136 -0
  127. data/lib/webby/helpers/tag_helper.rb +65 -0
  128. data/lib/webby/helpers/tex_img_helper.rb +133 -0
  129. data/lib/webby/helpers/ultraviolet_helper.rb +63 -0
  130. data/lib/webby/helpers/url_helper.rb +235 -0
  131. data/lib/webby/helpers.rb +30 -0
  132. data/lib/webby/link_validator.rb +152 -0
  133. data/lib/webby/renderer.rb +379 -0
  134. data/lib/webby/resources/db.rb +251 -0
  135. data/lib/webby/resources/file.rb +221 -0
  136. data/lib/webby/resources/layout.rb +63 -0
  137. data/lib/webby/resources/page.rb +118 -0
  138. data/lib/webby/resources/partial.rb +79 -0
  139. data/lib/webby/resources/resource.rb +160 -0
  140. data/lib/webby/resources/static.rb +52 -0
  141. data/lib/webby/resources.rb +96 -0
  142. data/lib/webby/stelan/mktemp.rb +135 -0
  143. data/lib/webby/stelan/paginator.rb +150 -0
  144. data/lib/webby/stelan/spawner.rb +339 -0
  145. data/lib/webby/tasks/build.rake +27 -0
  146. data/lib/webby/tasks/create.rake +22 -0
  147. data/lib/webby/tasks/deploy.rake +22 -0
  148. data/lib/webby/tasks/growl.rake +15 -0
  149. data/lib/webby/tasks/heel.rake +28 -0
  150. data/lib/webby/tasks/validate.rake +19 -0
  151. data/lib/webby.rb +227 -0
  152. data/spec/core_ext/hash_spec.rb +47 -0
  153. data/spec/core_ext/string_spec.rb +110 -0
  154. data/spec/core_ext/time_spec.rb +19 -0
  155. data/spec/spec.opts +1 -0
  156. data/spec/spec_helper.rb +14 -0
  157. data/spec/webby/apps/generator_spec.rb +111 -0
  158. data/spec/webby/apps/main_spec.rb +75 -0
  159. data/spec/webby/helpers/capture_helper_spec.rb +56 -0
  160. data/spec/webby/resources/file_spec.rb +104 -0
  161. data/spec/webby/resources_spec.rb +17 -0
  162. data/tasks/ann.rake +81 -0
  163. data/tasks/bones.rake +21 -0
  164. data/tasks/gem.rake +126 -0
  165. data/tasks/git.rake +41 -0
  166. data/tasks/manifest.rake +49 -0
  167. data/tasks/notes.rake +28 -0
  168. data/tasks/post_load.rake +39 -0
  169. data/tasks/rdoc.rake +51 -0
  170. data/tasks/rubyforge.rake +57 -0
  171. data/tasks/setup.rb +268 -0
  172. data/tasks/spec.rake +55 -0
  173. data/tasks/website.rake +38 -0
  174. metadata +289 -0
@@ -0,0 +1,96 @@
1
+
2
+ div.CodeRay { }
3
+
4
+ span.CodeRay { white-space: pre; border: 0px; padding: 2px }
5
+
6
+ table.CodeRay { border-collapse: collapse; width: 100%; padding: 2px }
7
+ table.CodeRay td { padding: 2px 4px; vertical-align: top }
8
+
9
+ .CodeRay .line_numbers, .CodeRay .no {
10
+ background-color: #def;
11
+ color: gray;
12
+ text-align: right;
13
+ }
14
+ .CodeRay .line_numbers tt { font-weight: bold }
15
+ .CodeRay .no { padding: 0px 4px }
16
+
17
+ ol.CodeRay { font-size: 10pt }
18
+ ol.CodeRay li { white-space: pre }
19
+
20
+ .CodeRay .debug { color:white ! important; background:blue ! important; }
21
+
22
+ .CodeRay .af { color:#00C }
23
+ .CodeRay .an { color:#007 }
24
+ .CodeRay .av { color:#700 }
25
+ .CodeRay .aw { color:#C00 }
26
+ .CodeRay .bi { color:#509; font-weight:bold }
27
+ .CodeRay .c { color:#666; }
28
+
29
+ .CodeRay .ch { color:#04D }
30
+ .CodeRay .ch .k { color:#04D }
31
+ .CodeRay .ch .dl { color:#039 }
32
+
33
+ .CodeRay .cl { color:#B06; font-weight:bold }
34
+ .CodeRay .co { color:#036; font-weight:bold }
35
+ .CodeRay .cr { color:#0A0 }
36
+ .CodeRay .cv { color:#369 }
37
+ .CodeRay .df { color:#099; font-weight:bold }
38
+ .CodeRay .di { color:#088; font-weight:bold }
39
+ .CodeRay .dl { color:black }
40
+ .CodeRay .do { color:#970 }
41
+ .CodeRay .ds { color:#D42; font-weight:bold }
42
+ .CodeRay .e { color:#666; font-weight:bold }
43
+ .CodeRay .en { color:#800; font-weight:bold }
44
+ .CodeRay .er { color:#F00; background-color:#FAA }
45
+ .CodeRay .ex { color:#F00; font-weight:bold }
46
+ .CodeRay .fl { color:#60E; font-weight:bold }
47
+ .CodeRay .fu { color:#06B; font-weight:bold }
48
+ .CodeRay .gv { color:#d70; font-weight:bold }
49
+ .CodeRay .hx { color:#058; font-weight:bold }
50
+ .CodeRay .i { color:#00D; font-weight:bold }
51
+ .CodeRay .ic { color:#B44; font-weight:bold }
52
+
53
+ .CodeRay .il { background: #eee }
54
+ .CodeRay .il .il { background: #ddd }
55
+ .CodeRay .il .il .il { background: #ccc }
56
+ .CodeRay .il .idl { font-weight: bold; color: #888 }
57
+
58
+ .CodeRay .in { color:#B2B; font-weight:bold }
59
+ .CodeRay .iv { color:#33B }
60
+ .CodeRay .la { color:#970; font-weight:bold }
61
+ .CodeRay .lv { color:#963 }
62
+ .CodeRay .oc { color:#40E; font-weight:bold }
63
+ .CodeRay .of { color:#000; font-weight:bold }
64
+ .CodeRay .op { }
65
+ .CodeRay .pc { color:#038; font-weight:bold }
66
+ .CodeRay .pd { color:#369; font-weight:bold }
67
+ .CodeRay .pp { color:#579 }
68
+ .CodeRay .pt { color:#339; font-weight:bold }
69
+ .CodeRay .r { color:#080; font-weight:bold }
70
+
71
+ .CodeRay .rx { background-color:#fff0ff }
72
+ .CodeRay .rx .k { color:#808 }
73
+ .CodeRay .rx .dl { color:#404 }
74
+ .CodeRay .rx .mod { color:#C2C }
75
+ .CodeRay .rx .fu { color:#404; font-weight: bold }
76
+
77
+ .CodeRay .s { background-color:#fff0f0 }
78
+ .CodeRay .s .s { background-color:#ffe0e0 }
79
+ .CodeRay .s .s .s { background-color:#ffd0d0 }
80
+ .CodeRay .s .k { color:#D20 }
81
+ .CodeRay .s .dl { color:#710 }
82
+
83
+ .CodeRay .sh { background-color:#f0fff0 }
84
+ .CodeRay .sh .k { color:#2B2 }
85
+ .CodeRay .sh .dl { color:#161 }
86
+
87
+ .CodeRay .sy { color:#A60 }
88
+ .CodeRay .sy .k { color:#A60 }
89
+ .CodeRay .sy .dl { color:#630 }
90
+
91
+ .CodeRay .ta { color:#070 }
92
+ .CodeRay .tf { color:#070; font-weight:bold }
93
+ .CodeRay .ts { color:#D70; font-weight:bold }
94
+ .CodeRay .ty { color:#339; font-weight:bold }
95
+ .CodeRay .v { color:#036 }
96
+ .CodeRay .xt { color:#444 }
@@ -0,0 +1,196 @@
1
+ ---
2
+ extension: css
3
+ filter: sass
4
+ layout: nil # no layout
5
+ sass_options:
6
+ :style: :expanded
7
+ ---
8
+ !text = #000
9
+ !border = #CCC
10
+ !header = #111
11
+ !link = #125AA7
12
+ !link_hover = #000
13
+ !blockquote = #666
14
+ !code = #000
15
+ !box_bg = #EEE
16
+ !highlight = #B2CCFF
17
+ !quiet = #666
18
+ !alt = #666
19
+
20
+ @import blueprint/screen.css
21
+
22
+ body
23
+ :margin 0
24
+ :color = !text
25
+ :font-family Verdana, sans-serif
26
+ :background white url('background.gif') repeat-x left top
27
+
28
+ // Headings
29
+ // ------------------------------------------------------------------------
30
+ h1,h2,h3,h4,h5,h6
31
+ :color = !header
32
+ :font-weight bold
33
+
34
+ h2,h3,h4,h5,h6
35
+ :border-bottom = 2px solid !highlight
36
+
37
+ // Text Elements
38
+ // ------------------------------------------------------------------------
39
+ a
40
+ :color = !link
41
+ &:hover
42
+ :color = !link_hover
43
+
44
+ blockquote
45
+ :color = !blockquote
46
+
47
+ pre
48
+ :margin-left 18px
49
+ :padding 8px 8px 8px 18px
50
+ :color = !code
51
+ :font-family monospace, courier
52
+ :overflow auto
53
+ // :background = !box_bg
54
+ // :border = 1px solid !border
55
+ :border-left = 3px solid !border
56
+
57
+ hr
58
+ :background = !highlight
59
+ :color = !highlight
60
+
61
+ code
62
+ :background-color = !box_bg
63
+
64
+ // Tables
65
+ // ------------------------------------------------------------------------
66
+ table
67
+ :border-top = 1px solid !border
68
+ :border-left = 1px solid !border
69
+ th,td
70
+ :border-bottom = 1px solid !border
71
+ :border-right = 1px solid !border
72
+
73
+ // Default Classes
74
+ // ------------------------------------------------------------------------
75
+ p.quiet
76
+ :color = !quiet
77
+ .alt
78
+ :color = !alt
79
+
80
+ // My Site Stylings
81
+ // ------------------------------------------------------------------------
82
+ #header
83
+ :margin 0 0 25px 0
84
+ :padding-top 20px
85
+ a
86
+ :color = !header
87
+ :text-decoration none
88
+ h1
89
+ :margin 0
90
+ :font-size 2.0em
91
+ :letter-spacing 0.25em
92
+ p
93
+ :font-style italic
94
+ :font-weight normal
95
+ :color = !quiet
96
+ ul
97
+ :float right
98
+ :margin 0
99
+ :padding 0
100
+ :text-align right
101
+ :font-size 1.0em
102
+ :list-style-type circle
103
+ li
104
+ :display inline
105
+ :margin 0 0 0 2.5em
106
+ a
107
+ :color = !quiet
108
+ :font-weight bold
109
+ &:hover
110
+ :color = !header
111
+
112
+ #footer
113
+ :margin-top 18px
114
+ :font-size 0.8em
115
+ hr
116
+ :margin-bottom 18px
117
+ p
118
+ :text-align center
119
+
120
+ .CodeRay
121
+ pre
122
+ :font 12px monospace, courier
123
+
124
+ div.toc
125
+ :float right
126
+ :padding 8px
127
+ :margin-left 16px
128
+ :margin-bottom 16px
129
+ :background-color = !highlight
130
+ :border = 1px solid !border
131
+ ol
132
+ :margin-bottom 0.5em
133
+ ol
134
+ :margin-bottom 0
135
+ p.title
136
+ :margin-bottom 0.25em
137
+ :font-weight bold
138
+ :font-size 1.2em
139
+ :text-align center
140
+
141
+ ul
142
+ ul
143
+ :margin-bottom 0
144
+
145
+ span.heading-num
146
+ :margin-right 10px
147
+
148
+ p.fn
149
+ :color = !blockquote
150
+ :margin-left 1.5em
151
+
152
+ p.span-2
153
+ :clear left
154
+
155
+ pre.option
156
+ :float left
157
+ :margin-left 80px
158
+ :width 500px
159
+ :clear both
160
+
161
+ div.label
162
+ :float left
163
+ :clear left
164
+ :margin-right 10px
165
+ :width 110px
166
+ :font-weight bold
167
+
168
+ div.desc
169
+ :float left
170
+ :margin
171
+ :right 0
172
+ :bottom 1.5em
173
+ :width 510px
174
+ ul
175
+ :margin-bottom 0
176
+
177
+ p.TODO
178
+ :color white
179
+ :background-color red
180
+ :font-weight bold
181
+ :padding 5px 0.5em
182
+
183
+ p.pull
184
+ :float left
185
+ :clear left
186
+ :margin 0 10px 0 -120px
187
+ :width 110px
188
+ :text-align right
189
+
190
+ p.pulltext
191
+ :float left
192
+ :clear right
193
+ :margin-right 10px
194
+ :width 670px
195
+
196
+ // EOF
@@ -0,0 +1,137 @@
1
+ pre.twilight .DiffInserted {
2
+ background-color: #253B22;
3
+ color: #F8F8F8;
4
+ }
5
+ pre.twilight .DiffHeader {
6
+ background-color: #0E2231;
7
+ color: #F8F8F8;
8
+ font-style: italic;
9
+ }
10
+ pre.twilight .CssPropertyValue {
11
+ color: #F9EE98;
12
+ }
13
+ pre.twilight .CCCPreprocessorDirective {
14
+ color: #AFC4DB;
15
+ }
16
+ pre.twilight .Constant {
17
+ color: #CF6A4C;
18
+ }
19
+ pre.twilight .DiffChanged {
20
+ background-color: #4A410D;
21
+ color: #F8F8F8;
22
+ }
23
+ pre.twilight .EmbeddedSource {
24
+ background-color: #A3A6AD;
25
+ }
26
+ pre.twilight .Support {
27
+ color: #9B859D;
28
+ }
29
+ pre.twilight .MarkupList {
30
+ color: #F9EE98;
31
+ }
32
+ pre.twilight .CssConstructorArgument {
33
+ color: #8F9D6A;
34
+ }
35
+ pre.twilight .Storage {
36
+ color: #F9EE98;
37
+ }
38
+ pre.twilight .line-numbers {
39
+ background-color: inherit;
40
+ color: #999999;
41
+ }
42
+ pre.twilight .CssClass {
43
+ color: #9B703F;
44
+ }
45
+ pre.twilight .StringConstant {
46
+ color: #DDF2A4;
47
+ }
48
+ pre.twilight .CssAtRule {
49
+ color: #8693A5;
50
+ }
51
+ pre.twilight .MetaTagInline {
52
+ color: #E0C589;
53
+ }
54
+ pre.twilight .MarkupHeading {
55
+ color: #CF6A4C;
56
+ }
57
+ pre.twilight .CssTagName {
58
+ color: #CDA869;
59
+ }
60
+ pre.twilight .SupportConstant {
61
+ color: #CF6A4C;
62
+ }
63
+ pre.twilight .DiffDeleted {
64
+ background-color: #420E09;
65
+ color: #F8F8F8;
66
+ }
67
+ pre.twilight .CCCPreprocessorLine {
68
+ color: #8996A8;
69
+ }
70
+ pre.twilight .StringRegexpSpecial {
71
+ color: #CF7D34;
72
+ }
73
+ pre.twilight .EmbeddedSourceBright {
74
+ background-color: #9C9EA4;
75
+ }
76
+ pre.twilight .InvalidIllegal {
77
+ background-color: #241A24;
78
+ color: #F8F8F8;
79
+ }
80
+ pre.twilight .SupportFunction {
81
+ color: #DAD085;
82
+ }
83
+ pre.twilight .CssAdditionalConstants {
84
+ color: #CA7840;
85
+ }
86
+ pre.twilight .MetaTagAll {
87
+ color: #AC885B;
88
+ }
89
+ pre.twilight .StringRegexp {
90
+ color: #E9C062;
91
+ }
92
+ pre.twilight .StringEmbeddedSource {
93
+ color: #DAEFA3;
94
+ }
95
+ pre.twilight .EntityInheritedClass {
96
+ color: #9B5C2E;
97
+ font-style: italic;
98
+ }
99
+ pre.twilight .CssId {
100
+ color: #8B98AB;
101
+ }
102
+ pre.twilight .CssPseudoClass {
103
+ color: #8F9D6A;
104
+ }
105
+ pre.twilight .StringVariable {
106
+ color: #8A9A95;
107
+ }
108
+ pre.twilight .String {
109
+ color: #8F9D6A;
110
+ }
111
+ pre.twilight .Keyword {
112
+ color: #CDA869;
113
+ }
114
+ pre.twilight {
115
+ background-color: #141414;
116
+ color: #F8F8F8;
117
+ }
118
+ pre.twilight .CssPropertyName {
119
+ color: #C5AF75;
120
+ }
121
+ pre.twilight .DoctypeXmlProcessing {
122
+ color: #494949;
123
+ }
124
+ pre.twilight .InvalidDeprecated {
125
+ color: #D2A8A1;
126
+ font-style: italic;
127
+ }
128
+ pre.twilight .Variable {
129
+ color: #7587A6;
130
+ }
131
+ pre.twilight .Entity {
132
+ color: #9B703F;
133
+ }
134
+ pre.twilight .Comment {
135
+ color: #5F5A60;
136
+ font-style: italic;
137
+ }
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: Webby
3
+ created_at: 2007-08-21 11:25:06.000000 -06:00
4
+ filter: textile
5
+ ---
6
+ *Webby* is a fantastic little website management system. It would be called a _content management system_ if it were a bigger kid. But, it's just a runt with a special knack for transforming text. And that's really all it does - manages the legwork of turning text into something else, an *ASCII Alchemist* if you will.
7
+
8
+ Webby works by combining the contents of a *page* with a *layout* to produce HTML. The layout contains everything common to all the pages - HTML headers, navigation menu, footer, etc. - and the page contains just the information for that page. You can use your favorite markup language to write your pages; Webby supports quite a few.
9
+
10
+ Install Webby and try it out!
11
+
12
+ pre. sudo gem install webby
13
+
14
+ h2. Features
15
+
16
+ * choose your templating language: *ERB*, *Textile*, *Markdown*, *HAML*, *SASS*
17
+ * support for "UltraViolet":http://ultraviolet.rubyforge.org/ and "CodeRay":http://coderay.rubychan.de/ syntax highlighting
18
+ * embeddable DOT scripts for "Graphviz":http://www.graphviz.org/ graphs
19
+ * "LaTeX":http://www.latex-project.org/ snippets for mathematical formulas
20
+ * automatically clean up generated content using "Tidy":http://tidy.sourceforge.net/
21
+ * quick and speedy - only builds pages that have changed
22
+ * deploy anywhere - it's just HTML, no special server stuff required
23
+ * happy "rake":http://docs.rubyrake.org/ tasks for deploying your website to a server
24
+ * build new pages from templates for quicker blog posts and news items
25
+
26
+ h2. But Wait! There's More!
27
+
28
+ Webby has a great _autobuild_ feature that continuously generates HTML whenever the *pages* or *layouts* change. The HTML is served up via "heel":http://copiousfreetime.rubyforge.org/heel/, a static file webserver based on mongrel. Whenever you change a page, you can immediately see those changes without having to run any commands.
29
+
30
+ pre. $ webby autobuild
31
+ [10:21:26] INFO: starting autobuild (Ctrl-C to stop)
32
+ [10:21:26] INFO: creating output/index.html
33
+ [10:22:57] INFO: creating output/index.html
34
+
35
+ Webby is not limited to producing HTML. By no means! Do you ever get tired of repeating the same color code *#D3C4A2* in your CSS files? Webby can help. Need some customized JavaScript for your website. Webby can help. Anytime you find yourself repeating the same bit of text over and over, then you should be using Webby.
36
+
37
+ Read the "tutorial":/tutorial section for a quick introduction to Webby, and enjoy the wonders of *ASCII Alchemy*.
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: Learn
3
+ created_at: 2008-08-24 15:36:06.596051 -06:00
4
+ filter:
5
+ - erb
6
+ - textile
7
+ ---
8
+ h1. <%= h(@page.title) %>
9
+
10
+ This section is devoted to learning more about Webby. Located below are the various "official" documents to assist you on your way to becoming prolific with Webby.
11
+
12
+ If you cannot find your answer here, head on over to the <%= link_to_page('Communicate') %> section where the mailing list might help you.
13
+
14
+ p(pull). *<%= link_to_page('Tutorial') %>*
15
+
16
+ p(pulltext). The tutorial is a great introduction to Webby if you want to hit the ground running and figure things out as you go. Following along with the tutorial on your own computer will get you comfortable with the basic concepts of Webby.
17
+
18
+ p(pull). *<%= link_to_page('User Manual') %>*
19
+
20
+ p(pulltext). The user manual provides a more in-depth look into Webby. It assumes no prior experience with Webby, and it goes into more detail about the various aspects of creating a webby site and working with Webby itself. The user manual is the place to go if you want to go beyond the basics.
21
+
22
+ p(pull). *<%= link_to_page('Reference') %>*
23
+
24
+ p(pulltext). The reference does not provide an introduction to Webby. Instead, it is an indexed collection of the various Webby features with a brief explanation of each. It is useful when you vaguely remember reading something about filters and only need a quick refresher of the details without instructional text.
25
+
26
+ p(pull). *<%= link_to_page('Release Notes', :title => 'Release 0.9.0') %>*
27
+
28
+ p(pulltext). These are the release notes for past and present versions of Webby. Actually, it's only for the current version of Webby since formal release notes were only recently thought of by the developer. %(quiet)Bad developer! No latte!!%
@@ -0,0 +1,204 @@
1
+ ---
2
+ title: Reference
3
+ created_at: 2008-03-04 22:00:08.439182 -07:00
4
+ filter:
5
+ - erb
6
+ - textile
7
+ - outline
8
+ content_for_head: |
9
+ <link rel="stylesheet" href="/css/coderay.css" type="text/css" media="screen, projection" />
10
+ <link rel="stylesheet" href="/css/uv/twilight.css" type="text/css" media="screen, projection" />
11
+ ---
12
+ <div class="toc push-1">
13
+
14
+ p(title). Table of Contents
15
+
16
+ <toc toc_range="h2-h6" />
17
+ </div>
18
+
19
+ h1. <%= h(@page.title) %>
20
+
21
+ h3. Resources
22
+
23
+ Resources are the files that are found in the _content_ and _layouts_ folders of a webby site. They come in the following four flavors:
24
+
25
+ * *Pages* -- contain meta-data at the top of the file, are found in the content folder, and are processed by the Webby filter engine
26
+ * *Files* -- are found in the content folder and copied "as is" to the output folder
27
+ * *Partials* -- contain snippets of text that can be used in multiple locations; partial filenames begin with an underscore are are _not_ copied to the output folder
28
+ * *Layouts* -- are found in the layout folder and provide the basic framework of the webpage - the header, the footer, the navigation
29
+
30
+ h3. Attributes
31
+
32
+ Attributes are defined in the meta-data section of pages and layouts.
33
+
34
+ <div class="label">destination</div>
35
+ <div class="desc">
36
+ Defines the path in the output directory where the rendered page should be stored.
37
+ </div>
38
+
39
+ <div class="label">dirty</div>
40
+ <div class="desc">
41
+ The dirty flag is used to determine whether the page should rendered or not. Normally this is automatically determined by the filter engine, but it can be overridden by setting this attribute. If the dirty flag is set to _true_ then the page will always be rendered. If the dirty flag is set to _false_ then the page will never be rendered.
42
+ </div>
43
+
44
+ <div class="label">extension</div>
45
+ <div class="desc">
46
+ Defines the extension that will be appended to the filename of the rendered page in the output folder. The extension is determined by looking at the following:
47
+
48
+ * the meta-data of the current page for an @extension@ attribute
49
+ * the meta-data of layout file of the current page for an @extension@ attribute
50
+ * the extension of this page file in the _content_ folder
51
+
52
+ </div>
53
+
54
+ <div class="label">filter</div>
55
+ <div class="desc">
56
+ Defines the list of filters that will be applied to the contents of this page. If left blank, then the default filter will be applied to the page contents.
57
+ </div>
58
+
59
+ <div class="label">layout</div>
60
+ <div class="desc">
61
+ Defines the layout that the page contents will be rendered into. The default layout will be used if this attribute is not defined. The value of @nil@ should be specified if the page should not be rendered into any layout.
62
+ </div>
63
+
64
+ The following attributes are defined for each page in the content folder. These attributes cannot be changed in the page's meta-data section. However, they are available to the ERB filter when rendering the contents of a page.
65
+
66
+ <div class="label">path</div>
67
+ <div class="desc">
68
+ The full path to the file in the _content_ folder
69
+ </div>
70
+
71
+ <div class="label">dir</div>
72
+ <div class="desc">
73
+ The relative directory in the output folder where the page will be rendered
74
+ </div>
75
+
76
+ <div class="label">filename </div>
77
+ <div class="desc">
78
+ The name of the file in the _content_ folder excluding any path information and extension
79
+ </div>
80
+
81
+ <div class="label">ext</div>
82
+ <div class="desc">
83
+ The extension of the file in the _content_ folder
84
+ </div>
85
+
86
+ <div class="label">mtime</div>
87
+ <div class="desc">
88
+ The modification time of the file in the _content_ folder
89
+ </div>
90
+
91
+ <div class="label">number</div>
92
+ <div class="desc">
93
+ Reserved variable used for multi-page content
94
+ </div>
95
+
96
+ <div class="label">url</div>
97
+ <div class="desc">
98
+ A URL suitable for creating a link to the page
99
+ </div>
100
+
101
+ <div class="label">render</div>
102
+ <div class="desc">
103
+ Returns the contents of the page as rendered by the Webby filter engine
104
+ </div>
105
+
106
+ h3. Filters
107
+
108
+ h3. ERB Variables & Methods
109
+
110
+ h4. coderay
111
+
112
+ The coderay method is used to generate syntax highlighting on a block of code. You will need to have the coderay gem installed on your system, and you will need to include the coderay CSS stylesheet in your pages for the syntax highlighting markup to take effect.
113
+
114
+ The full list of "coderay options":/rdoc/classes/Webby/Helpers/CodeRayHelper.html can be found in the source documentation.
115
+
116
+ <pre>
117
+ <%% coderay :lang => 'ruby', :line_numbers => 'inline' do -%>
118
+ class Object
119
+ def returning( r )
120
+ yield r if block_given?
121
+ r
122
+ end
123
+ end
124
+ <%% end -%>
125
+ </pre>
126
+
127
+ <% coderay :lang => "ruby", :line_numbers => "inline" do -%>
128
+ class Object
129
+ def returning( r )
130
+ yield r if block_given?
131
+ r
132
+ end
133
+ end
134
+ <% end -%>
135
+
136
+
137
+ h4. graphviz
138
+
139
+ The graphviz method is used to convert a DOT script into an image and insert the image into the page. If the DOT script contains URL references, then an image map will also be generated. The resulting image will then have "clickable" regions that link to the URLs specified.
140
+
141
+ "Graphviz":http://www.graphviz.org/ needs to be installed on your system in order to use the graphviz method. The full list of "graphviz options":/rdoc/classes/Webby/Helpers/GraphvizHelper.html can be found in the source documentation.
142
+
143
+ <pre>
144
+ <%% graphviz :path => 'images', :alt => 'hello world graph' do -%>
145
+ digraph hello_world {
146
+ rankdir = LR;
147
+ Hello -> World;
148
+ }
149
+ <%% end -%>
150
+ </pre>
151
+
152
+ <% graphviz :path => "images", :alt => "hello world graph" do -%>
153
+ digraph hello_world {
154
+ rankdir = LR;
155
+ Hello -> World;
156
+ }
157
+ <% end -%>
158
+
159
+
160
+ h4. tex2img
161
+
162
+ The tex2img method is used to convert a LaTeX script into an image and insert the image into the page. "LaTeX":http://www.latex-project.org/ and "ImageMagick":http://www.imagemagick.org/script/index.php need to be instaled on your system in order to use the tex2img maethod.
163
+
164
+ The full list of "tex2img options":/rdoc/classes/Webby/Helpers/TexImgHelper.html can be found in the source documentation.
165
+
166
+ <pre>
167
+ <%% tex2img 'wave_eq', :path => 'images', :alt => 'wave equation' do -%>
168
+ $\psi_{tot}(x,-t_0,r) = \frac{1}{(2\pi)^2} \int\!\!\!\int
169
+ \tilde\Psi_{tot}\left(k_x,\frac{c}{2}\sqrt{k_x^2 + k_r^2},r=0\right)$
170
+ <%% end -%>
171
+ </pre>
172
+
173
+ <% tex2img 'wave_eq', :path => 'images', :alt => 'wave equation' do -%>
174
+ $\psi_{tot}(x,-t_0,r) = \frac{1}{(2\pi)^2} \int\!\!\!\int
175
+ \tilde\Psi_{tot}\left(k_x,\frac{c}{2}\sqrt{k_x^2 + k_r^2},r=0\right)$
176
+ <% end -%>
177
+
178
+
179
+ h4. uv
180
+
181
+ The uv method is used to generate syntax highlighting on a block of code. You will need to have the "Ultraviolet":http://ultraviolet.rubyforge.org/ gem installed on your system, and you will need to include the desired CSS stylesheet in your pages for the syntax highlighting markup to take effect.
182
+
183
+ The full list of "ultraviolet options":/rdoc/classes/Webby/Helpers/UltraVioletHelper.html can be found in the source documentation.
184
+
185
+ <pre>
186
+ <%% uv :lang => "ruby", :line_numbers => true do -%>
187
+ # Initializer for the class.
188
+ def initialize( string )
189
+ @str = string
190
+ end
191
+ <%% end -%>
192
+ </pre>
193
+
194
+ <% uv :lang => "ruby", :line_numbers => true, :theme => 'twilight' do -%>
195
+ # Initializer for the class.
196
+ def initialize( string )
197
+ @str = string
198
+ end
199
+ <% end -%>
200
+
201
+
202
+ h3. Rake Tasks
203
+
204
+ h3. Site Defaults