hobix 0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. data/COPYING +18 -0
  2. data/README +18 -0
  3. data/Rakefile +96 -0
  4. data/bin/hobix +94 -0
  5. data/contrib/blosxom-to-hobix.rb +253 -0
  6. data/contrib/txp-to-hobix.rb +56 -0
  7. data/contrib/webrick-all-mine.rb +20 -0
  8. data/doc/CHANGELOG +285 -0
  9. data/doc/rdoc/classes/Hobix/API.html +382 -0
  10. data/doc/rdoc/classes/Hobix/Article.html +111 -0
  11. data/doc/rdoc/classes/Hobix/BaseContent.html +692 -0
  12. data/doc/rdoc/classes/Hobix/BaseEntry.html +218 -0
  13. data/doc/rdoc/classes/Hobix/BaseFacet.html +205 -0
  14. data/doc/rdoc/classes/Hobix/BaseOutput.html +122 -0
  15. data/doc/rdoc/classes/Hobix/BasePlugin.html +201 -0
  16. data/doc/rdoc/classes/Hobix/BaseProperties/ClassMethods.html +243 -0
  17. data/doc/rdoc/classes/Hobix/BaseProperties.html +218 -0
  18. data/doc/rdoc/classes/Hobix/BasePublish.html +157 -0
  19. data/doc/rdoc/classes/Hobix/BaseStorage.html +417 -0
  20. data/doc/rdoc/classes/Hobix/BixWik/Entry.html +196 -0
  21. data/doc/rdoc/classes/Hobix/BixWik/IndexEntry.html +170 -0
  22. data/doc/rdoc/classes/Hobix/BixWik/WikiRedCloth.html +111 -0
  23. data/doc/rdoc/classes/Hobix/BixWik.html +418 -0
  24. data/doc/rdoc/classes/Hobix/BixWikPlugin.html +158 -0
  25. data/doc/rdoc/classes/Hobix/CommandLine.html +1970 -0
  26. data/doc/rdoc/classes/Hobix/Comment.html +113 -0
  27. data/doc/rdoc/classes/Hobix/Config.html +212 -0
  28. data/doc/rdoc/classes/Hobix/DataMarsh.html +667 -0
  29. data/doc/rdoc/classes/Hobix/Entry.html +178 -0
  30. data/doc/rdoc/classes/Hobix/EntryEnum.html +162 -0
  31. data/doc/rdoc/classes/Hobix/Enumerable.html +170 -0
  32. data/doc/rdoc/classes/Hobix/Facets/WikiEdit.html +180 -0
  33. data/doc/rdoc/classes/Hobix/Facets.html +111 -0
  34. data/doc/rdoc/classes/Hobix/LinkList.html +182 -0
  35. data/doc/rdoc/classes/Hobix/Out/Quick.html +412 -0
  36. data/doc/rdoc/classes/Hobix/Out.html +119 -0
  37. data/doc/rdoc/classes/Hobix/Page.html +381 -0
  38. data/doc/rdoc/classes/Hobix/Trackback.html +113 -0
  39. data/doc/rdoc/classes/Hobix/UriStr.html +198 -0
  40. data/doc/rdoc/classes/Hobix/WebApp/QueryString.html +207 -0
  41. data/doc/rdoc/classes/Hobix/WebApp/QueryValidationFailure.html +111 -0
  42. data/doc/rdoc/classes/Hobix/WebApp.html +1383 -0
  43. data/doc/rdoc/classes/Hobix/Weblog/AuthorNotFound.html +111 -0
  44. data/doc/rdoc/classes/Hobix/Weblog.html +2082 -0
  45. data/doc/rdoc/classes/Hobix.html +399 -0
  46. data/doc/rdoc/classes/Kernel.html +139 -0
  47. data/doc/rdoc/classes/Regexp.html +154 -0
  48. data/doc/rdoc/classes/YAML/Omap.html +144 -0
  49. data/doc/rdoc/classes/YAML.html +111 -0
  50. data/doc/rdoc/created.rid +1 -0
  51. data/doc/rdoc/files/COPYING.html +129 -0
  52. data/doc/rdoc/files/README.html +131 -0
  53. data/doc/rdoc/files/doc/CHANGELOG.html +101 -0
  54. data/doc/rdoc/files/lib/hobix/api_rb.html +119 -0
  55. data/doc/rdoc/files/lib/hobix/article_rb.html +126 -0
  56. data/doc/rdoc/files/lib/hobix/base_rb.html +128 -0
  57. data/doc/rdoc/files/lib/hobix/bixwik_rb.html +126 -0
  58. data/doc/rdoc/files/lib/hobix/commandline_rb.html +140 -0
  59. data/doc/rdoc/files/lib/hobix/comments_rb.html +126 -0
  60. data/doc/rdoc/files/lib/hobix/config_rb.html +125 -0
  61. data/doc/rdoc/files/lib/hobix/datamarsh_rb.html +108 -0
  62. data/doc/rdoc/files/lib/hobix/entry_rb.html +118 -0
  63. data/doc/rdoc/files/lib/hobix/linklist_rb.html +127 -0
  64. data/doc/rdoc/files/lib/hobix/publisher_rb.html +126 -0
  65. data/doc/rdoc/files/lib/hobix/trackbacks_rb.html +128 -0
  66. data/doc/rdoc/files/lib/hobix/webapp_rb.html +127 -0
  67. data/doc/rdoc/files/lib/hobix/weblog_rb.html +135 -0
  68. data/doc/rdoc/files/lib/hobix_rb.html +127 -0
  69. data/doc/rdoc/fr_class_index.html +67 -0
  70. data/doc/rdoc/fr_file_index.html +44 -0
  71. data/doc/rdoc/fr_method_index.html +307 -0
  72. data/doc/rdoc/index.html +24 -0
  73. data/doc/rdoc/rdoc-style.css +208 -0
  74. data/git_hobix_update.php +13 -0
  75. data/lib/hobix/api.rb +91 -0
  76. data/lib/hobix/article.rb +22 -0
  77. data/lib/hobix/base.rb +480 -0
  78. data/lib/hobix/bixwik.rb +200 -0
  79. data/lib/hobix/commandline.rb +677 -0
  80. data/lib/hobix/comments.rb +98 -0
  81. data/lib/hobix/config.rb +39 -0
  82. data/lib/hobix/datamarsh.rb +110 -0
  83. data/lib/hobix/entry.rb +84 -0
  84. data/lib/hobix/facets/comments.rb +99 -0
  85. data/lib/hobix/facets/publisher.rb +314 -0
  86. data/lib/hobix/facets/trackbacks.rb +80 -0
  87. data/lib/hobix/linklist.rb +81 -0
  88. data/lib/hobix/out/atom.rb +101 -0
  89. data/lib/hobix/out/erb.rb +64 -0
  90. data/lib/hobix/out/okaynews.rb +55 -0
  91. data/lib/hobix/out/quick.rb +314 -0
  92. data/lib/hobix/out/rdf.rb +97 -0
  93. data/lib/hobix/out/redrum.rb +26 -0
  94. data/lib/hobix/out/rss.rb +128 -0
  95. data/lib/hobix/plugin/akismet.rb +196 -0
  96. data/lib/hobix/plugin/bloglines.rb +73 -0
  97. data/lib/hobix/plugin/calendar.rb +212 -0
  98. data/lib/hobix/plugin/flickr.rb +110 -0
  99. data/lib/hobix/plugin/recent_comments.rb +84 -0
  100. data/lib/hobix/plugin/sections.rb +91 -0
  101. data/lib/hobix/plugin/tags.rb +60 -0
  102. data/lib/hobix/publish/ping.rb +53 -0
  103. data/lib/hobix/publish/replicate.rb +283 -0
  104. data/lib/hobix/publisher.rb +18 -0
  105. data/lib/hobix/search/dictionary.rb +141 -0
  106. data/lib/hobix/search/porter_stemmer.rb +203 -0
  107. data/lib/hobix/search/simple.rb +209 -0
  108. data/lib/hobix/search/vector.rb +100 -0
  109. data/lib/hobix/storage/filesys.rb +408 -0
  110. data/lib/hobix/trackbacks.rb +93 -0
  111. data/lib/hobix/util/objedit.rb +193 -0
  112. data/lib/hobix/util/patcher.rb +155 -0
  113. data/lib/hobix/webapp/cli.rb +195 -0
  114. data/lib/hobix/webapp/htmlform.rb +107 -0
  115. data/lib/hobix/webapp/message.rb +177 -0
  116. data/lib/hobix/webapp/urigen.rb +141 -0
  117. data/lib/hobix/webapp/webrick-servlet.rb +90 -0
  118. data/lib/hobix/webapp.rb +723 -0
  119. data/lib/hobix/weblog.rb +893 -0
  120. data/lib/hobix.rb +230 -0
  121. data/share/default-blog/hobix.yaml +16 -0
  122. data/share/default-blog/htdocs/site.css +174 -0
  123. data/share/default-blog/skel/entry.html.quick +0 -0
  124. data/share/default-blog/skel/index.atom.atom +0 -0
  125. data/share/default-blog/skel/index.html.quick-summary +0 -0
  126. data/share/default-blog/skel/index.xml.rss +0 -0
  127. data/share/default-blog/skel/index.yaml.okaynews +0 -0
  128. data/share/default-blog/skel/monthly.html.quick-archive +0 -0
  129. data/share/default-blog/skel/section.html.quick-archive +0 -0
  130. data/share/default-blog/skel/yearly.html.quick-archive +0 -0
  131. data/share/default-blog-modes.yaml +7 -0
  132. data/share/default-blog.apache-cgi.patch +8 -0
  133. data/share/default-blog.apache-ssi.patch +38 -0
  134. data/share/default-blog.apache2-ssi.patch +3 -0
  135. data/share/default-blog.cgi.patch +8 -0
  136. data/share/default-blog.comments.patch +5 -0
  137. data/share/default-blog.prototype.patch +766 -0
  138. data/share/default-blog.publisher.patch +5 -0
  139. data/share/default-blog.wiki.patch +29 -0
  140. data/share/publisher/css/control.css +90 -0
  141. data/share/publisher/css/form.css +238 -0
  142. data/share/publisher/css/form.import.css +72 -0
  143. data/share/publisher/css/main-menu.css +134 -0
  144. data/share/publisher/i/hobix-emblazen-1.png +0 -0
  145. data/share/publisher/i/hobix-emblazen-2.png +0 -0
  146. data/share/publisher/i/hobix-emblazen-3.png +0 -0
  147. data/share/publisher/i/hobix-emblazen-4.png +0 -0
  148. data/share/publisher/i/hobix-emblazen-5.png +0 -0
  149. data/share/publisher/i/hobix-emblazen-6.png +0 -0
  150. data/share/publisher/i/hobix-emblazen-7.png +0 -0
  151. data/share/publisher/index.erb +66 -0
  152. data/share/publisher/js/controls.js +261 -0
  153. data/share/publisher/js/dragdrop.js +476 -0
  154. data/share/publisher/js/effects.js +570 -0
  155. data/share/publisher/js/prototype.js +1011 -0
  156. metadata +230 -0
@@ -0,0 +1,5 @@
1
+ --- !hobix.com,2004/patches/^list
2
+ hobix.yaml: !^yaml-merge
3
+ requires:
4
+ - hobix/out/quick
5
+ - hobix/publisher
@@ -0,0 +1,29 @@
1
+ --- !hobix.com,2004/patches/^list
2
+ hobix.yaml: !^yaml-merge
3
+ requires:
4
+ - hobix/out/quick
5
+ - hobix/bixwik
6
+
7
+ # who needs dated archives on a wiki
8
+ skel/monthly.html.quick-archive: !^file-remove ''
9
+ skel/yearly.html.quick-archive: !^file-remove ''
10
+
11
+ skel/list/index.html.quick-summary: !^file-create ''
12
+ skel/recent/index.atom.atom: !^file-create ''
13
+ skel/recent/index.xml.rss: !^file-create ''
14
+ skel/recent/index.yaml.okaynews: !^file-create ''
15
+ skel/recent/index.html.quick-summary: !^file-create |
16
+ entries: |
17
+ <% entries.each_day do |day, day_entries| %>
18
+ <+ day_header +>
19
+ <ul>
20
+ <% day_entries.each do |entry| %>
21
+ <li><+ entry +></li>
22
+ <% end %>
23
+ </ul>
24
+ <% end %>
25
+ entry: |
26
+ <div class="entry">
27
+ <+ entry_title +>
28
+ <+ entry_footer +>
29
+ </div>
@@ -0,0 +1,90 @@
1
+ body {
2
+ font-family: verdana, arial, sans-serif;
3
+ background-color: #F1F1F1;
4
+ margin: 0;
5
+ }
6
+
7
+ .clearfix:after {
8
+ content: ".";
9
+ display: block;
10
+ position:relative; /*works better in IE5.5 or float in float situations*/
11
+ height: 0;
12
+ clear: both;
13
+ visibility: hidden;
14
+ }
15
+
16
+ .clearfix {display: inline-block;}
17
+
18
+ /* Hides from IE-mac \*/
19
+ * html .clearfix {height: 1%;}
20
+ .clearfix {display: block;}
21
+ /* End hide from IE-mac */
22
+
23
+ /* header styles */
24
+ h2, h3, h4, h5, h6, legend
25
+ {
26
+ font-family: Baskerville, Georgia, "Times New Roman", serif;
27
+ /* text-shadow: 3px 3px 5px #ccc; */
28
+ font-weight: normal;
29
+ margin: 0px;
30
+ padding: 0px;
31
+ }
32
+ p
33
+ {
34
+ margin: 5px 0;
35
+ }
36
+ #emblazen {
37
+ /* background-color: #F46C51; */
38
+ background-color: #94CC31;
39
+ height: 80px;
40
+ }
41
+ #emblazen .gfx {
42
+ background: url(hobix-emblazen-7.png) top left no-repeat;
43
+ width: 400px;
44
+ height: 80px;
45
+ float: left;
46
+ }
47
+ #emblazen .selector {
48
+ float: right;
49
+ margin: 0;
50
+ padding: 10px 30px;
51
+ }
52
+ #emblazen .selector h1 {
53
+ margin: 0;
54
+ }
55
+ #emblazen .selector h2,
56
+ #emblazen .selector h3,
57
+ #emblazen .selector h4 {
58
+ margin: 0;
59
+ max-width: 280px;
60
+ }
61
+ #emblazen-low {
62
+ /* background-color: #549Ca1; */
63
+ background-color: #94CC31;
64
+ margin-top: 2px;
65
+ height: 26px;
66
+ clear: both;
67
+ }
68
+ #emblazen-low .gfx {
69
+ float: left;
70
+ background: url(hobix-emblazen-7.png) bottom left no-repeat;
71
+ width: 400px;
72
+ height: 26px;
73
+ background-color: #846173;
74
+ }
75
+ #emblazen-low .selector {
76
+ float: right;
77
+ margin: 0;
78
+ padding: 4px 30px;
79
+ }
80
+ #emblazen-low .selector h1 {
81
+ margin: 0;
82
+ }
83
+
84
+ /* entry screen styles */
85
+ #entry-screen {
86
+ background-color: #F8FEFE;
87
+ border: dotted 1px #94CC31;
88
+ padding: 20px;
89
+ margin: 8px;
90
+ }
@@ -0,0 +1,238 @@
1
+ /* form.css */
2
+
3
+ * {
4
+ margin: 0px;
5
+ padding: 0px;
6
+ }
7
+
8
+ form {
9
+ margin: 0px;
10
+ padding: 0px;
11
+ font-size: 100%;
12
+ min-width: 660px;
13
+ }
14
+
15
+ form fieldset {
16
+ font-size: 100%;
17
+ border-color: #000000;
18
+ border-width: 1px 0px 0px 0px;
19
+ border-style: solid none none none;
20
+ padding: 10px;
21
+ margin: 0px 0px 0px 0px;
22
+ }
23
+
24
+ form fieldset legend {
25
+ font-size: 130%;
26
+ font-weight: normal;
27
+ color: #000000;
28
+ margin: 0px 0px 0px 0px;
29
+ padding: 0px 5px;
30
+ }
31
+
32
+ label {
33
+ font-size: 100%;
34
+ }
35
+
36
+ label u {
37
+ font-style: normal;
38
+ text-decoration: underline;
39
+ }
40
+
41
+ input, select, textarea {
42
+ font-family: Tahoma, Arial, sans-serif;
43
+ font-size: 100%;
44
+ color: #000000;
45
+ }
46
+
47
+ textarea {
48
+ overflow: auto;
49
+ }
50
+
51
+ form div {
52
+ clear: left;
53
+ display: block;
54
+ width: 600px;
55
+ height: expression('1%');
56
+ margin: 5px 0px 0px 0px;
57
+ padding: 1px 3px;
58
+ }
59
+
60
+ form fieldset div.notes {
61
+ float: right;
62
+ width: 200px;
63
+ height: auto;
64
+ margin: 0px 0px 10px 10px;
65
+ padding: 5px;
66
+ border: 1px solid #666666;
67
+ background-color: #ffffe1;
68
+ color: #666666;
69
+ font-size: 88%;
70
+ }
71
+
72
+ form fieldset div.notes h4 {
73
+ background-image: url(/images/icon_info.gif);
74
+ background-repeat: no-repeat;
75
+ background-position: top left;
76
+ padding: 3px 0px 3px 27px;
77
+ border-width: 0px 0px 1px 0px;
78
+ border-style: solid;
79
+ border-color: #666666;
80
+ color: #666666;
81
+ font-size: 110%;
82
+ }
83
+
84
+ form fieldset div.notes p {
85
+ margin: 0em 0em 1.2em 0em;
86
+ color: #666666;
87
+ }
88
+
89
+ form fieldset div.notes p.last {
90
+ margin: 0em;
91
+ }
92
+
93
+ form fieldset li a {
94
+ background-color: #efd;
95
+ font-size: 60%;
96
+ padding: 2px;
97
+ }
98
+
99
+ form div fieldset {
100
+ clear: none;
101
+ border-width: 1px;
102
+ border-style: solid;
103
+ border-color: #666666;
104
+ margin: 0px 0px 0px 142px;
105
+ padding: 0px 5px 5px 5px;
106
+ }
107
+
108
+ form div fieldset legend {
109
+ font-size: 100%;
110
+ padding: 0px 3px 0px 9px;
111
+ }
112
+
113
+ form div.required fieldset legend {
114
+ font-weight: bold;
115
+ }
116
+
117
+ form div label {
118
+ display: block;
119
+ float: left;
120
+ width: 130px;
121
+ padding: 3px 5px;
122
+ margin: 0px 0px 5px 0px;
123
+ text-align: right;
124
+ }
125
+
126
+ form div.optional label, label.optional {
127
+ font-weight: normal;
128
+ }
129
+
130
+ form div.required label, label.required {
131
+ font-weight: bold;
132
+ }
133
+
134
+ form div label.labelCheckbox, form div label.labelRadio {
135
+ float: none;
136
+ display: block;
137
+ width: 200px;
138
+ height: expression('1%');
139
+ padding: 0px;
140
+ margin: 0px 0px 5px 142px;
141
+ text-align: left;
142
+ }
143
+
144
+ form div fieldset label.labelCheckbox, form div fieldset label.labelRadio {
145
+ margin: 0px 0px 5px 0px;
146
+ width: 170px;
147
+ }
148
+
149
+ p.error {
150
+ background-color: #ff0000;
151
+ background-image: url(/images/icon_error.gif);
152
+ background-repeat: no-repeat;
153
+ background-position: 3px 3px;
154
+ color: #ffffff;
155
+ padding: 3px 3px 5px 27px;
156
+ border: 1px solid #000000;
157
+ margin: auto 100px;
158
+ }
159
+
160
+ form div.error {
161
+ background-color: #ffffe1;
162
+ background-image: url(/images/required_bg.gif);
163
+ background-repeat: no-repeat;
164
+ background-position: top left;
165
+ color: #666666;
166
+ border: 1px solid #ff0000;
167
+ }
168
+
169
+ form div.error p.error {
170
+ background-image: url(/images/icon_error.gif);
171
+ background-position: top left;
172
+ background-color: transparent;
173
+ border-style: none;
174
+ font-size: 88%;
175
+ font-weight: bold;
176
+ margin: 0px 0px 0px 118px;
177
+ width: 200px;
178
+ color: #ff0000;
179
+ }
180
+
181
+ form div input, form div select, form div textarea {
182
+ padding: 1px 3px;
183
+ margin: 0px 0px 0px 0px;
184
+ }
185
+
186
+ form div input.inputFile {
187
+ width: 211px;
188
+ }
189
+
190
+ form div select.selectOne, form div select.selectMultiple {
191
+ width: 211px;
192
+ padding: 1px 3px;
193
+ }
194
+
195
+ form div input.inputCheckbox, form div input.inputRadio, input.inputCheckbox, input.inputRadio {
196
+ display: inline;
197
+ height: 14px;
198
+ width: 14px;
199
+ background-color: transparent;
200
+ border-width: 0px;
201
+ padding: 0px;
202
+ margin: 0px 0px 0px 140px;
203
+ }
204
+
205
+ form div.submit {
206
+ width: 214px;
207
+ padding: 0px 0px 0px 140px;
208
+ }
209
+
210
+ form div.submit div {
211
+ display: inline;
212
+ float: left;
213
+ text-align: left;
214
+ width: auto;
215
+ padding: 0px;
216
+ margin: 0px;
217
+ }
218
+
219
+ form div input.inputSubmit, form div input.inputButton, input.inputSubmit, input.inputButton {
220
+ background-color: #cccccc;
221
+ color: #000000;
222
+ width: auto;
223
+ padding: 0px 6px;
224
+ margin: 0px;
225
+ }
226
+
227
+ form div.submit div input.inputSubmit, form div.submit div input.inputButton {
228
+ float: right;
229
+ margin: 0px 0px 0px 5px;
230
+ }
231
+
232
+ form div small {
233
+ display: block;
234
+ margin: 0px 0px 5px 142px;
235
+ padding: 1px 3px;
236
+ font-size: 88%;
237
+ height: expression('1%');
238
+ }
@@ -0,0 +1,72 @@
1
+ /* form.import.css */
2
+
3
+ form fieldset legend {
4
+ line-height: 150%;
5
+ }
6
+
7
+ form input, form select, form textarea {
8
+ background-color: #ffffff;
9
+ }
10
+
11
+ form textarea.expanding {
12
+ overflow: auto;
13
+ overflow-x: auto;
14
+ overflow-y: visible;
15
+ }
16
+
17
+ div.optional label:before {
18
+ content: '';
19
+ }
20
+
21
+ div.required label:before {
22
+ content: '';
23
+ }
24
+
25
+ form div label.labelCheckbox, form div label.labelRadio, label.labelCheckbox, label.labelRadio {
26
+ display: block;
27
+ width: 190px;
28
+ height: expression('1%');
29
+ padding: 4px 0px 0px 18px;
30
+ text-indent: -18px;
31
+ line-height: 120%;
32
+ }
33
+
34
+ form div label.labelCheckbox input.inputCheckbox, form div label.labelRadio input.inputRadio, label.labelCheckbox input.inputCheckbox, label.labelRadio input.inputRadio {
35
+ margin: 0px 0px 0px 0px;
36
+ }
37
+
38
+ form div fieldset input.inputText, form div fieldset input.inputPassword, form div fieldset input.inputFile, form div fieldset textarea.inputTextarea {
39
+ width: 160px;
40
+ margin: 0px 0px 0px 18px;
41
+ margin: expression('0px 0px 0px -124px');
42
+ }
43
+
44
+ form div label.compact {
45
+ display: inline;
46
+ width: auto;
47
+ padding: 4px 10px 0px 0px;
48
+ text-indent: 0px;
49
+ margin: 0px 0px 0px 0px;
50
+ }
51
+
52
+ form div.wide label {
53
+ float: none;
54
+ display: block;
55
+ }
56
+
57
+ form div label.wide {
58
+ width: 348px;
59
+ }
60
+
61
+ form div.wide input.inputText, form div.wide input.inputPassword, form div.wide input.inputFile, form div.wide select, form div.wide textarea {
62
+ width: 344px;
63
+ margin: 0px;
64
+ }
65
+
66
+ form div.notes p, form div small {
67
+ line-height: 125%;
68
+ }
69
+
70
+ form div.wide small {
71
+ margin: 0px 0px 5px 0px;
72
+ }
@@ -0,0 +1,134 @@
1
+ #main-menu {
2
+ width: 100%;
3
+ padding: 0;
4
+ z-index: 100;
5
+ }
6
+
7
+ #main-menu ul {
8
+ margin: 0;
9
+ padding: 0;
10
+ list-style: none;
11
+ z-index: 100;
12
+ }
13
+
14
+ #main-menu li {
15
+ float: left;
16
+ z-index: 100;
17
+ text-align:left;
18
+ border-right: dotted 1px #D1E1C9;
19
+ }
20
+
21
+ #main-menu > li {
22
+ z-index: 100;
23
+ }
24
+
25
+ #main-menu li, #main-menu ul li {
26
+ position: relative;
27
+ z-index: 100;
28
+ }
29
+
30
+ #main-menu li ul, #main-menu ul li {
31
+ z-index: 100;
32
+ }
33
+
34
+ #main-menu li ul {
35
+ position: absolute;
36
+ left: 0; /* Set 1px less than menu width */
37
+ top: 28px;
38
+ display: none;
39
+ z-index: 100;
40
+ }
41
+
42
+ #main-menu li ul li ul {
43
+ position: absolute;
44
+ left: 220px; /* Set 1px less than menu width */
45
+ top: 0px;
46
+ border-top: none;
47
+ display: none;
48
+ z-index: 100;
49
+ }
50
+
51
+ /* Styles for Menu Items */
52
+ #main-menu ul li a {
53
+ display: block;
54
+ text-decoration: none;
55
+ filter: alpha(opacity= 70); opacity: 0.700;
56
+ z-index: 100;
57
+ }
58
+
59
+ #main-menu h2, #main-menu a, #main-menu #search {
60
+ text-decoration: none;
61
+ font-weight: 300;
62
+ z-index: 100;
63
+ }
64
+
65
+ h2 img {
66
+ border: none;
67
+ }
68
+
69
+ #main-menu ul li a, #main-menu ul li a:hover, #main-menu ul li p {
70
+ margin: 0;
71
+ padding: 3px 15px 3px 15px;
72
+ z-index: 100;
73
+ }
74
+
75
+ #main-menu a:hover {
76
+ color: #000;
77
+ background: #ddd;
78
+ z-index: 100;
79
+ }
80
+
81
+ #main-menu li.first a,
82
+ #main-menu li.first a:visited,
83
+ #main-menu li.first a:active,
84
+ #main-menu li.first a:hover {
85
+ padding-top: 10px;
86
+ }
87
+
88
+ /*
89
+ #main-menu a:active {
90
+ color:#060;
91
+ background: #ccc;
92
+ z-index: 100;
93
+ }
94
+ */
95
+
96
+ /* Fix IE. Hide from IE Mac \*/
97
+ * html #main-menu ul li { float: left; height: 1%; }
98
+ * html #main-menu ul li a { height: 1%; }
99
+ /* End */
100
+
101
+ #main-menu li a:hover, #main-menu ul li a:hover { color: white; background: #455; filter: alpha(opacity=100); opacity: 1.000; } /* Hover Styles */
102
+
103
+ #main-menu li:hover > ul { display: block; } /* The magic */
104
+ #main-menu ul.over { display: block; } /* The magic */
105
+
106
+ /* SEARCH FORM */
107
+ #main-menu #search_form {
108
+ margin: 0;
109
+ }
110
+
111
+ #search_title img {
112
+ border: none;
113
+ }
114
+
115
+ #search_form #search_box {
116
+ display: inline;
117
+ margin: 0px 0px 0px 5px;
118
+ font-size: 11px;
119
+ border: solid 1px #ccc;
120
+ padding: 2px;
121
+ }
122
+
123
+ #search_form #search_box input {
124
+ background-color: #EBBDBD;
125
+ border: 1px solid #CF5F5F;
126
+ width: 85px;
127
+ color: black;
128
+ }
129
+
130
+ #search_form #search_button {
131
+ display: inline;
132
+ float: left;
133
+ margin-left: 5px;
134
+ }
@@ -0,0 +1,66 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
+ <head>
4
+ <title>hobix .: <%= @title %> :.</title>
5
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
+ <script src="<%= app.absuri( :path_info => '/publisher/js/prototype.js' ) %>" type="text/javascript"></script>
7
+ <script src="<%= app.absuri( :path_info => '/publisher/js/controls.js' ) %>" type="text/javascript"></script>
8
+ <script src="<%= app.absuri( :path_info => '/publisher/js/effects.js' ) %>" type="text/javascript"></script>
9
+ <script src="<%= app.absuri( :path_info => '/publisher/js/dragdrop.js' ) %>" type="text/javascript"></script>
10
+ <style type="text/css">
11
+ @import '<%= app.absuri( :path_info => '/publisher/css/control.css' ) %>';
12
+ @import '<%= app.absuri( :path_info => '/publisher/css/main-menu.css' ) %>';
13
+ @import '<%= app.absuri( :path_info => '/publisher/css/form.css' ) %>';
14
+ #emblazen .gfx,
15
+ #emblazen-low .gfx {
16
+ background: url(<%= app.absuri( :path_info => '/publisher/i/hobix-emblazen-1.png' ) %>) bottom left no-repeat;
17
+ }
18
+ </style>
19
+ </head>
20
+ <body>
21
+
22
+ <div id="all">
23
+
24
+ <!-- hobix header, blog title, login -->
25
+ <div class="clearfix">
26
+ <div id="emblazen">
27
+ <div class="gfx">&nbsp;</div>
28
+ <div class="selector">
29
+ <h1><%= @weblog.title %></h1>
30
+ <div id="login">Logged in as: <b><%= @user %></b></div>
31
+ </div>
32
+ </div>
33
+ </div>
34
+
35
+ <!-- hobix menu items, search box -->
36
+ <div id="main-menu" class="clearfix">
37
+ <form id="search_form" method="post" action="<%= app.absuri :path_info => '/publisher/search' %>">
38
+ <ul class="clearfix">
39
+ <li><a href="<%= app.absuri( :path_info => '/publisher/config' ) %>">config</a></li>
40
+ <li><a href="<%= app.absuri( :path_info => '/publisher/entries' ) %>">entries</a></li>
41
+ <li><a href="<%= app.absuri( :path_info => '/publisher/images' ) %>">images</a></li>
42
+ <li><a href="<%= app.absuri( :path_info => '/publisher/skel' ) %>">skel</a></li>
43
+ <li><p>search:
44
+ <input id="search_box" name="q" type="text" /></p>
45
+ </li>
46
+ <li><a href="<%= app.absuri( :path_info => '/publisher/help' ) %>">help</a></li>
47
+ </ul>
48
+ </form>
49
+ </div>
50
+
51
+ <!-- hobix entry screens -->
52
+ <div id="entry-screen">
53
+ <%= @screen %>
54
+ </div>
55
+ </div>
56
+
57
+ <!-- hobix header, blog title, login -->
58
+ <div id="emblazen-low">
59
+ <div class="gfx">&nbsp;</div>
60
+ <div class="selector">
61
+ <h5 id="ad">You are using <a href="http://hobix.com">Hobix</a> 0.3f!</h5>
62
+ </div>
63
+ </div>
64
+
65
+ </body>
66
+ </html>