olelo 0.9.0

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 (282) hide show
  1. data/.gitignore +10 -0
  2. data/.gitmodules +3 -0
  3. data/Gemfile +3 -0
  4. data/README.markdown +104 -0
  5. data/Rakefile +92 -0
  6. data/bin/olelo +5 -0
  7. data/config.ru +86 -0
  8. data/config/aspects.rb +256 -0
  9. data/config/config.yml.default +154 -0
  10. data/config/initializers/00-mime_types.rb +29 -0
  11. data/config/initializers/01-slim.rb +2 -0
  12. data/config/interwiki.yml +11 -0
  13. data/doc/AUTHORS +7 -0
  14. data/doc/LICENSE +22 -0
  15. data/lib/olelo.rb +39 -0
  16. data/lib/olelo/application.rb +294 -0
  17. data/lib/olelo/attributes.rb +285 -0
  18. data/lib/olelo/config.rb +88 -0
  19. data/lib/olelo/extensions.rb +252 -0
  20. data/lib/olelo/helper.rb +290 -0
  21. data/lib/olelo/hooks.rb +142 -0
  22. data/lib/olelo/html_safe.rb +29 -0
  23. data/lib/olelo/initializer.rb +76 -0
  24. data/lib/olelo/locale.rb +63 -0
  25. data/lib/olelo/locale.yml +284 -0
  26. data/lib/olelo/menu.rb +101 -0
  27. data/lib/olelo/middleware/blacklist.rb +25 -0
  28. data/lib/olelo/middleware/degrade_mime_type.rb +19 -0
  29. data/lib/olelo/middleware/flash.rb +97 -0
  30. data/lib/olelo/middleware/force_encoding.rb +41 -0
  31. data/lib/olelo/page.rb +266 -0
  32. data/lib/olelo/patch.rb +311 -0
  33. data/lib/olelo/plugin.rb +188 -0
  34. data/lib/olelo/repository.rb +225 -0
  35. data/lib/olelo/routing.rb +223 -0
  36. data/lib/olelo/templates.rb +30 -0
  37. data/lib/olelo/user.rb +132 -0
  38. data/lib/olelo/util.rb +233 -0
  39. data/lib/olelo/version.rb +3 -0
  40. data/lib/olelo/virtualfs.rb +161 -0
  41. data/lib/rack/olelo_patches.rb +33 -0
  42. data/lib/rack/relative_redirect.rb +44 -0
  43. data/lib/rack/static_cache.rb +93 -0
  44. data/lib/yard/addons.rb +1 -0
  45. data/lib/yard/addons/hook_handler.rb +25 -0
  46. data/lib/yard/addons/override_tag.rb +14 -0
  47. data/lib/yard/addons/route_handler.rb +33 -0
  48. data/lib/yard/addons/sanitize_anchor.rb +16 -0
  49. data/olelo.gemspec +31 -0
  50. data/plugins/aspects/changelog.rb +45 -0
  51. data/plugins/aspects/documentbrowser.rb +57 -0
  52. data/plugins/aspects/download.rb +11 -0
  53. data/plugins/aspects/highlight.rb +8 -0
  54. data/plugins/aspects/image.rb +41 -0
  55. data/plugins/aspects/imageinfo.rb +64 -0
  56. data/plugins/aspects/locale.yml +60 -0
  57. data/plugins/aspects/main.rb +199 -0
  58. data/plugins/aspects/pageinfo.rb +37 -0
  59. data/plugins/aspects/source.rb +6 -0
  60. data/plugins/aspects/subpages.rb +44 -0
  61. data/plugins/aspects/text.rb +9 -0
  62. data/plugins/blog/blog.css +1 -0
  63. data/plugins/blog/blog.scss +37 -0
  64. data/plugins/blog/locale.yml +12 -0
  65. data/plugins/blog/main.rb +85 -0
  66. data/plugins/editor/locale.yml +18 -0
  67. data/plugins/editor/markup/main.rb +3 -0
  68. data/plugins/editor/markup/script.js +10 -0
  69. data/plugins/editor/markup/script/00-jquery.textselection.js +267 -0
  70. data/plugins/editor/markup/script/01-olelo.markupeditor.js +116 -0
  71. data/plugins/editor/markup/script/init.js +10 -0
  72. data/plugins/editor/preview.rb +52 -0
  73. data/plugins/editor/recaptcha.rb +56 -0
  74. data/plugins/filters/creole.rb +37 -0
  75. data/plugins/filters/disposition.rb +9 -0
  76. data/plugins/filters/editsection.rb +67 -0
  77. data/plugins/filters/fix_img_tag.rb +16 -0
  78. data/plugins/filters/html_wrapper.rb +12 -0
  79. data/plugins/filters/interwiki.rb +19 -0
  80. data/plugins/filters/link_classifier.rb +26 -0
  81. data/plugins/filters/locale.yml +15 -0
  82. data/plugins/filters/main.rb +202 -0
  83. data/plugins/filters/markdown_nowiki.rb +15 -0
  84. data/plugins/filters/numbering.xsl +93 -0
  85. data/plugins/filters/orgmode.rb +6 -0
  86. data/plugins/filters/rubypants.rb +6 -0
  87. data/plugins/filters/s5/main.rb +32 -0
  88. data/plugins/filters/s5/s5.xsl +118 -0
  89. data/plugins/filters/tilt.rb +17 -0
  90. data/plugins/filters/toc.rb +50 -0
  91. data/plugins/filters/xhtml2latex.xsl +232 -0
  92. data/plugins/filters/xslt.rb +22 -0
  93. data/plugins/gallery/gallery.css +1 -0
  94. data/plugins/gallery/gallery.scss +28 -0
  95. data/plugins/gallery/main.rb +34 -0
  96. data/plugins/misc/fancybox/images/blank.gif +0 -0
  97. data/plugins/misc/fancybox/images/fancy_close.png +0 -0
  98. data/plugins/misc/fancybox/images/fancy_loading.png +0 -0
  99. data/plugins/misc/fancybox/images/fancy_nav_left.png +0 -0
  100. data/plugins/misc/fancybox/images/fancy_nav_right.png +0 -0
  101. data/plugins/misc/fancybox/images/fancy_shadow_e.png +0 -0
  102. data/plugins/misc/fancybox/images/fancy_shadow_n.png +0 -0
  103. data/plugins/misc/fancybox/images/fancy_shadow_ne.png +0 -0
  104. data/plugins/misc/fancybox/images/fancy_shadow_nw.png +0 -0
  105. data/plugins/misc/fancybox/images/fancy_shadow_s.png +0 -0
  106. data/plugins/misc/fancybox/images/fancy_shadow_se.png +0 -0
  107. data/plugins/misc/fancybox/images/fancy_shadow_sw.png +0 -0
  108. data/plugins/misc/fancybox/images/fancy_shadow_w.png +0 -0
  109. data/plugins/misc/fancybox/images/fancy_title_left.png +0 -0
  110. data/plugins/misc/fancybox/images/fancy_title_main.png +0 -0
  111. data/plugins/misc/fancybox/images/fancy_title_over.png +0 -0
  112. data/plugins/misc/fancybox/images/fancy_title_right.png +0 -0
  113. data/plugins/misc/fancybox/images/fancybox-x.png +0 -0
  114. data/plugins/misc/fancybox/images/fancybox-y.png +0 -0
  115. data/plugins/misc/fancybox/images/fancybox.png +0 -0
  116. data/plugins/misc/fancybox/jquery.fancybox.css +1 -0
  117. data/plugins/misc/fancybox/jquery.fancybox.scss +323 -0
  118. data/plugins/misc/fancybox/main.rb +4 -0
  119. data/plugins/misc/fancybox/script.js +37 -0
  120. data/plugins/misc/fancybox/script/00-jquery.mousewheel.js +84 -0
  121. data/plugins/misc/fancybox/script/01-jquery.easing.js +205 -0
  122. data/plugins/misc/fancybox/script/02-jquery.fancybox.js +1156 -0
  123. data/plugins/misc/fancybox/script/init.js +18 -0
  124. data/plugins/misc/system.rb +192 -0
  125. data/plugins/misc/variables.rb +29 -0
  126. data/plugins/misc/webdav.rb +45 -0
  127. data/plugins/repositories/git_grep.rb +69 -0
  128. data/plugins/repositories/gitrb_repository.rb +204 -0
  129. data/plugins/repositories/locale.yml +12 -0
  130. data/plugins/repositories/rugged_repository.rb +454 -0
  131. data/plugins/security/acl.rb +57 -0
  132. data/plugins/security/basic_auth.rb +21 -0
  133. data/plugins/security/locale.yml +21 -0
  134. data/plugins/security/persistent_login.rb +32 -0
  135. data/plugins/security/portal.rb +28 -0
  136. data/plugins/security/private_wiki.rb +24 -0
  137. data/plugins/security/readonly_wiki.rb +25 -0
  138. data/plugins/security/stack.rb +20 -0
  139. data/plugins/security/yamlfile.rb +66 -0
  140. data/plugins/tags/code.rb +6 -0
  141. data/plugins/tags/footnotes.rb +35 -0
  142. data/plugins/tags/gist-embed.css +123 -0
  143. data/plugins/tags/gist.rb +13 -0
  144. data/plugins/tags/html.rb +57 -0
  145. data/plugins/tags/include.rb +20 -0
  146. data/plugins/tags/main.rb +353 -0
  147. data/plugins/tags/math.rb +117 -0
  148. data/plugins/tags/scripting.rb +64 -0
  149. data/plugins/tags/sort.rb +7 -0
  150. data/plugins/tags/tabs.rb +20 -0
  151. data/plugins/treeview/images/collapsed.png +0 -0
  152. data/plugins/treeview/images/expanded.png +0 -0
  153. data/plugins/treeview/images/menu.png +0 -0
  154. data/plugins/treeview/images/tree.png +0 -0
  155. data/plugins/treeview/images/wait.gif +0 -0
  156. data/plugins/treeview/main.rb +16 -0
  157. data/plugins/treeview/script.js +5 -0
  158. data/plugins/treeview/script/00-jquery.treeview.js +164 -0
  159. data/plugins/treeview/script/init.js +25 -0
  160. data/plugins/treeview/treeview.css +1 -0
  161. data/plugins/treeview/treeview.scss +113 -0
  162. data/plugins/utils/assets.rb +74 -0
  163. data/plugins/utils/cache.rb +53 -0
  164. data/plugins/utils/image_magick.rb +34 -0
  165. data/plugins/utils/pygments.css +1 -0
  166. data/plugins/utils/pygments.rb +50 -0
  167. data/plugins/utils/pygments.scss +83 -0
  168. data/plugins/utils/semaphore.rb +50 -0
  169. data/plugins/utils/shell.rb +45 -0
  170. data/plugins/utils/store.rb +315 -0
  171. data/plugins/utils/worker.rb +36 -0
  172. data/plugins/utils/xml.rb +29 -0
  173. data/static/images/favicon.png +0 -0
  174. data/static/script.js +267 -0
  175. data/static/script/00-json2.js +486 -0
  176. data/static/script/01-jstorage.js +217 -0
  177. data/static/script/02-jquery.js +9440 -0
  178. data/static/script/03-jquery.ui.core.js +337 -0
  179. data/static/script/04-jquery.ui.widget.js +502 -0
  180. data/static/script/05-jquery.ui.position.js +517 -0
  181. data/static/script/06-jquery.ui.menu.js +609 -0
  182. data/static/script/07-jquery.ui.autocomplete.js +601 -0
  183. data/static/script/08-olelo.i18n.js +37 -0
  184. data/static/script/09-olelo.unsaved.js +68 -0
  185. data/static/script/10-olelo.historytable.js +40 -0
  186. data/static/script/11-olelo.pagination.js +18 -0
  187. data/static/script/13-olelo.tabwidget.js +57 -0
  188. data/static/script/14-olelo.timeago.js +70 -0
  189. data/static/script/15-olelo.underliner.js +31 -0
  190. data/static/script/16-olelo.ui.combobox.js +32 -0
  191. data/static/script/init.js +48 -0
  192. data/static/themes/atlantis/constants.scss +15 -0
  193. data/static/themes/atlantis/iehacks.scss +38 -0
  194. data/static/themes/atlantis/images/actions/delete.png +0 -0
  195. data/static/themes/atlantis/images/actions/edit.png +0 -0
  196. data/static/themes/atlantis/images/actions/history.png +0 -0
  197. data/static/themes/atlantis/images/actions/home.png +0 -0
  198. data/static/themes/atlantis/images/actions/move.png +0 -0
  199. data/static/themes/atlantis/images/actions/new.png +0 -0
  200. data/static/themes/atlantis/images/actions/page.png +0 -0
  201. data/static/themes/atlantis/images/bg/button.png +0 -0
  202. data/static/themes/atlantis/images/bg/container.png +0 -0
  203. data/static/themes/atlantis/images/bg/content.png +0 -0
  204. data/static/themes/atlantis/images/bg/footer.png +0 -0
  205. data/static/themes/atlantis/images/bg/header.jpg +0 -0
  206. data/static/themes/atlantis/images/bg/header.orig.jpg +0 -0
  207. data/static/themes/atlantis/images/bg/header_gray.jpg +0 -0
  208. data/static/themes/atlantis/images/bug.png +0 -0
  209. data/static/themes/atlantis/images/filetypes/7z.png +0 -0
  210. data/static/themes/atlantis/images/filetypes/_archive.png +0 -0
  211. data/static/themes/atlantis/images/filetypes/_audio.png +0 -0
  212. data/static/themes/atlantis/images/filetypes/_code.png +0 -0
  213. data/static/themes/atlantis/images/filetypes/_linux.png +0 -0
  214. data/static/themes/atlantis/images/filetypes/_picture.png +0 -0
  215. data/static/themes/atlantis/images/filetypes/_video.png +0 -0
  216. data/static/themes/atlantis/images/filetypes/bz2.png +0 -0
  217. data/static/themes/atlantis/images/filetypes/doc.png +0 -0
  218. data/static/themes/atlantis/images/filetypes/flac.png +0 -0
  219. data/static/themes/atlantis/images/filetypes/gz.png +0 -0
  220. data/static/themes/atlantis/images/filetypes/html.png +0 -0
  221. data/static/themes/atlantis/images/filetypes/java.png +0 -0
  222. data/static/themes/atlantis/images/filetypes/jpg.png +0 -0
  223. data/static/themes/atlantis/images/filetypes/midi.png +0 -0
  224. data/static/themes/atlantis/images/filetypes/mp3.png +0 -0
  225. data/static/themes/atlantis/images/filetypes/ogg.png +0 -0
  226. data/static/themes/atlantis/images/filetypes/pdf.png +0 -0
  227. data/static/themes/atlantis/images/filetypes/php.png +0 -0
  228. data/static/themes/atlantis/images/filetypes/png.png +0 -0
  229. data/static/themes/atlantis/images/filetypes/ppt.png +0 -0
  230. data/static/themes/atlantis/images/filetypes/psd.png +0 -0
  231. data/static/themes/atlantis/images/filetypes/rar.png +0 -0
  232. data/static/themes/atlantis/images/filetypes/rb.png +0 -0
  233. data/static/themes/atlantis/images/filetypes/sh.png +0 -0
  234. data/static/themes/atlantis/images/filetypes/tar.png +0 -0
  235. data/static/themes/atlantis/images/filetypes/txt.png +0 -0
  236. data/static/themes/atlantis/images/filetypes/wma.png +0 -0
  237. data/static/themes/atlantis/images/filetypes/xls.png +0 -0
  238. data/static/themes/atlantis/images/filetypes/zip.png +0 -0
  239. data/static/themes/atlantis/images/folder.png +0 -0
  240. data/static/themes/atlantis/images/folder_open.png +0 -0
  241. data/static/themes/atlantis/images/loading.gif +0 -0
  242. data/static/themes/atlantis/images/loading.xcf +0 -0
  243. data/static/themes/atlantis/images/not_found.png +0 -0
  244. data/static/themes/atlantis/images/page.png +0 -0
  245. data/static/themes/atlantis/images/search.png +0 -0
  246. data/static/themes/atlantis/layout.scss +115 -0
  247. data/static/themes/atlantis/menu.scss +99 -0
  248. data/static/themes/atlantis/print.scss +129 -0
  249. data/static/themes/atlantis/screen.scss +495 -0
  250. data/static/themes/atlantis/style.css +3 -0
  251. data/static/themes/lib/autocomplete.scss +39 -0
  252. data/static/themes/lib/headlines.scss +10 -0
  253. data/static/themes/lib/horizontal-list.scss +31 -0
  254. data/static/themes/lib/patch.scss +88 -0
  255. data/static/themes/lib/reset.scss +114 -0
  256. data/static/themes/lib/rounded.scss +46 -0
  257. data/static/themes/lib/shadow.scss +14 -0
  258. data/test/config_test.rb +28 -0
  259. data/test/factory_test.rb +29 -0
  260. data/test/hash_extensions_test.rb +16 -0
  261. data/test/helper.rb +38 -0
  262. data/test/hooks_test.rb +85 -0
  263. data/test/object_extensions_test.rb +20 -0
  264. data/test/page_test.rb +168 -0
  265. data/test/request_test.rb +166 -0
  266. data/test/string_extensions_test.rb +32 -0
  267. data/test/templates_test.rb +39 -0
  268. data/test/util_test.rb +71 -0
  269. data/views/changes.slim +22 -0
  270. data/views/compare.slim +8 -0
  271. data/views/delete.slim +9 -0
  272. data/views/deleted.slim +2 -0
  273. data/views/edit.slim +65 -0
  274. data/views/error.slim +6 -0
  275. data/views/history.slim +20 -0
  276. data/views/layout.slim +38 -0
  277. data/views/login.slim +37 -0
  278. data/views/move.slim +10 -0
  279. data/views/not_found.slim +6 -0
  280. data/views/profile.slim +26 -0
  281. data/views/show.slim +9 -0
  282. metadata +488 -0
@@ -0,0 +1,39 @@
1
+ require 'olelo/virtualfs'
2
+ require 'olelo/templates'
3
+ require 'slim'
4
+
5
+ class Bacon::Context
6
+ include Olelo::Templates
7
+ end
8
+
9
+ class TestTemplateLoader
10
+ def context
11
+ nil
12
+ end
13
+
14
+ def load(path)
15
+ Olelo::VirtualFS::Embedded.new(__FILE__).read(path)
16
+ end
17
+ end
18
+
19
+ describe 'Olelo::Templates' do
20
+ before do
21
+ Olelo::Templates.enable_caching
22
+ Olelo::Templates.loader = TestTemplateLoader.new
23
+ end
24
+
25
+ after do
26
+ Olelo::Templates.cache.clear
27
+ end
28
+
29
+ it 'should have #render' do
30
+ render(:test, :locals => {:text => 'Hello, World!'}).should.equal "<h1>Hello, World!</h1>"
31
+ Olelo::Templates.cache.size.should.equal 1
32
+ end
33
+ end
34
+
35
+ __END__
36
+
37
+ @@ test.slim
38
+ h1= text
39
+
data/test/util_test.rb ADDED
@@ -0,0 +1,71 @@
1
+ # encoding: UTF-8
2
+ require 'cgi'
3
+ require 'digest/md5'
4
+ require 'digest/sha2'
5
+ require 'open3'
6
+ require 'olelo/extensions'
7
+ require 'olelo/util'
8
+
9
+ describe 'Olelo::Util' do
10
+ it 'should have #check' do
11
+ Olelo::Util.check do |errors|
12
+ # do nothing
13
+ end
14
+ lambda do
15
+ Olelo::Util.check do |errors|
16
+ errors << 'Error 1'
17
+ errors << 'Error 2'
18
+ end
19
+ end.should.raise Olelo::MultiError
20
+ end
21
+
22
+ it 'should have #escape which escapes space as %20' do
23
+ Olelo::Util.escape('+@ ').should.equal '%2B%40%20'
24
+ end
25
+
26
+ it 'should have #unescape which does not unescape +' do
27
+ Olelo::Util.unescape('+%20+').should.equal '+ +'
28
+ end
29
+
30
+ it 'should have #escape_html' do
31
+ Olelo::Util.escape_html('<').should.equal '&lt;'
32
+ end
33
+
34
+ it 'should have #unescape_html' do
35
+ Olelo::Util.unescape_html('&lt;').should.equal '<'
36
+ end
37
+
38
+ it 'should have #escape_javascript' do
39
+ Olelo::Util.escape_javascript('a&b<c>').should.equal 'a\u0026b\u003Cc\u003E'
40
+ end
41
+
42
+ it 'should have #md5' do
43
+ Olelo::Util.md5('test').should.equal '098f6bcd4621d373cade4e832627b4f6'
44
+ end
45
+
46
+ it 'should have #sha256' do
47
+ Olelo::Util.sha256('test').should.equal '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08'
48
+ end
49
+
50
+ it 'should have #build_query' do
51
+ Olelo::Util.build_query(:a => 1, :b => [1, 2, 3]).should.equal 'a=1&b=1&b=2&b=3'
52
+ end
53
+
54
+ it 'should have #truncate' do
55
+ Olelo::Util.truncate('Annabel Lee It was many and many a year ago', 11).should.equal 'Annabel Lee...'
56
+ Olelo::Util.truncate('In a kingdom by the sea', 39).should.equal 'In a kingdom by the sea'
57
+ Olelo::Util.truncate("\346\254\242\350\277\216\350\277\233\345\205\245", 1).should.equal "\346\254\242..."
58
+ end
59
+
60
+ it 'should have #titlecase' do
61
+ Olelo::Util.titlecase(:hello_world).should.equal 'Hello World'
62
+ Olelo::Util.titlecase('hello_world').should.equal 'Hello World'
63
+ Olelo::Util.titlecase('hello world').should.equal 'Hello World'
64
+ end
65
+
66
+ it 'should have #valid_xml_chars?' do
67
+ Olelo::Util.valid_xml_chars?('test').should.equal true
68
+ Olelo::Util.valid_xml_chars?("\346\254\242\350\277\216\350\277\233\345\205\245").should.equal true
69
+ Olelo::Util.valid_xml_chars?("\032").should.equal false
70
+ end
71
+ end
@@ -0,0 +1,22 @@
1
+ - title :changes_of.t(:page => page.title)
2
+ h1= title
3
+ table
4
+ tbody
5
+ tr
6
+ td= :version.t
7
+ td.version= @version
8
+ tr
9
+ td= :comment.t
10
+ td= @version.comment
11
+ tr
12
+ td= :author.t
13
+ td= @version.author.name
14
+ tr
15
+ td= :date.t
16
+ td= date @version.date
17
+ tr
18
+ td= :parents.t
19
+ td.version
20
+ - @version.parents.each do |parent|
21
+ a href=build_path(parent, :action => :changes) = Olelo::Version.short(parent)
22
+ = format_diff(@diff)
@@ -0,0 +1,8 @@
1
+ - title "#{:compare.t(:name => page.title)}: #{@diff.from.short} -> #{@diff.to.short}"
2
+ h1
3
+ = :compare.t(:name => page.title)
4
+ | :
5
+ a.version href=build_path(page, :version => @diff.from) = @diff.from.short
6
+ | &#8594;
7
+ a.version href=build_path(page, :version => @diff.to) = @diff.to.short
8
+ = format_diff(@diff)
data/views/delete.slim ADDED
@@ -0,0 +1,9 @@
1
+ - title :delete_page.t(:page => page.title)
2
+ h1= title
3
+ form action=build_path(page.path) method='post'
4
+ .box
5
+ = flash_messages
6
+ &hidden name='_method' value='delete'
7
+ label for='submit' = :really_delete.t
8
+ button&submit#submit name='submit' accesskey='d' = :delete.t
9
+ button&button accesskey='c' onclick='history.back()' = :cancel.t
@@ -0,0 +1,2 @@
1
+ - title :page_deleted.t(:page => page.title)
2
+ h1= title
data/views/edit.slim ADDED
@@ -0,0 +1,65 @@
1
+ - if page.new?
2
+ - title params[:path].blank? ? :new_page.t : "#{:new_page.t}: #{params[:path]}"
3
+ - else
4
+ - title params[:pos] ? :edit_page_section.t(:page => page.title) : :edit_page.t(:page => page.title)
5
+ h1= title
6
+ = tabs :edit, :upload, :attributes
7
+ form action=build_path(page.new? ? nil : page.path) method='post'
8
+ #tab-edit.tab
9
+ h2= :edit.t
10
+ = flash_messages if action?(:edit) || page.new?
11
+ - content = edit_content(page)
12
+ - if page.new?
13
+ label for='edit-path' = :path.t
14
+ &text#edit-path name='path' value=params[:path]
15
+ br
16
+ hr
17
+ - else
18
+ &hidden name='version' value=page.version
19
+ - if params[:pos]
20
+ &hidden name='pos' value=params[:pos]
21
+ &hidden name='len' value=content.size
22
+ textarea#edit-content.observe name='content' cols='100' rows='20' = content
23
+ br
24
+ label for='edit-comment' = :comment.t
25
+ &text#edit-comment name='comment' value=params[:comment] size='50'
26
+ = render_block :edit_buttons do
27
+ button&submit name='action' value='edit' = :save.t
28
+ button&submit name='action' value='edit-close' = :save_and_close.t
29
+ button&reset = :reset.t
30
+ br
31
+ form action=build_path(page.new? ? nil : page.path) method='post' enctype='multipart/form-data'
32
+ #tab-upload.tab
33
+ h2= :upload_file.t
34
+ - if page.new?
35
+ label for='upload-path' = :path.t
36
+ &text#upload-path name='path' value=params[:path]
37
+ br
38
+ hr
39
+ - else
40
+ &hidden name='version' value=page.version
41
+ = flash_messages :upload
42
+ label for='upload-file' = :file.t
43
+ &file#upload-file.observe name='file'
44
+ br
45
+ button&submit name='action' value='upload' = :save.t
46
+ button&submit name='action' value='upload-close' = :save_and_close.t
47
+ button&reset = :reset.t
48
+ br
49
+ form action=build_path(page.new? ? nil : page.path) method='post'
50
+ #tab-attributes.tab.fieldset
51
+ h2= :attributes.t
52
+ - if page.new?
53
+ label for='attributes-path' = :path.t
54
+ &text#attributes-path name='path' value=params[:path]
55
+ br
56
+ hr
57
+ - else
58
+ &hidden name='version' value=page.version
59
+ = flash_messages :attributes
60
+ = page.attribute_editor
61
+ .indent
62
+ button&submit name='action' value='attributes' = :save.t
63
+ button&submit name='action' value='attributes-close' = :save_and_close.t
64
+ button&reset = :reset.t
65
+ br
data/views/error.slim ADDED
@@ -0,0 +1,6 @@
1
+ - title error.message
2
+ .error_page
3
+ h1= title
4
+ p= :error_occurred.t
5
+ - if !Olelo::Config['production']
6
+ pre= error.backtrace.to_a.join("\n")
@@ -0,0 +1,20 @@
1
+ - title :history_of.t(:page => page.title)
2
+ h1= title
3
+ = pagination(page, @page_count, @page_nr, :action => :history)
4
+ table#history-table
5
+ thead
6
+ tr
7
+ th= :comment.t
8
+ th= :author.t
9
+ th= :date.t
10
+ tbody
11
+ - @history.each do |version|
12
+ tr id="version-#{version}"
13
+ td
14
+ a href=build_path(page, :version => version) = truncate(version.comment, 50)
15
+ | (
16
+ a href=build_path(page, :action => 'changes'/version) = :changes.t
17
+ | )
18
+ td= truncate(version.author.name, 30)
19
+ td= date version.date
20
+ = pagination(page, @page_count, @page_nr, :action => :history)
data/views/layout.slim ADDED
@@ -0,0 +1,38 @@
1
+ doctype 5
2
+ html.no-js lang=Olelo::Config['locale'].sub('_', '-') class={page && !page.head? ? 'archive' : nil} xmlns='http://www.w3.org/1999/xhtml'
3
+ head
4
+ title= Olelo::Config['title'] + ' - ' + title
5
+ link rel='shortcut icon' href=build_path('static/images/favicon.png?1') type='image/png'
6
+ = head
7
+ body
8
+ #header
9
+ h1
10
+ a href=Olelo::Config['base_path'] = Olelo::Config['title']
11
+ #info
12
+ - if Olelo::User.logged_in?
13
+ a href=build_path(:profile) = Olelo::User.current.name
14
+ ' |
15
+ a href=build_path(:logout) = :logout.t
16
+ - else
17
+ a href=build_path(:login) = :login.t
18
+ #search
19
+ form action=build_path(:search) method='get'
20
+ div
21
+ label.hidden for='pattern' = :search.t
22
+ &text id='pattern' name='pattern' value={params[:pattern]} placeholder=:search.t
23
+ #menu
24
+ ul
25
+ = breadcrumbs(page)
26
+ - if page && !page.head?
27
+ li.noborder
28
+ = date page.version.date
29
+ = menu :actions
30
+ #container
31
+ #sidebar == include_page(Olelo::Config['sidebar_page'])
32
+ #content == yield
33
+ #footer
34
+ == footer
35
+ .noprint.powered_by
36
+ ' Powered by
37
+ a href='http://github.com/minad/olelo' &#332;lelo
38
+ = script
data/views/login.slim ADDED
@@ -0,0 +1,37 @@
1
+ - title :login.t
2
+ p
3
+ = Olelo::Config['authentication.enable_signup'] ? tabs(:login, :signup) : tabs(:login)
4
+ form action=build_path(:login) method='post'
5
+ #tab-login.tab.fieldset
6
+ h2 Login
7
+ = flash_messages :login
8
+ label for='login-user' = :user.t
9
+ &text#login-user name='user'
10
+ br
11
+ label for='login-password' = :password.t
12
+ &password#login-password name='password'
13
+ br
14
+ .indent
15
+ = render_block :login_buttons do
16
+ button&submit= :login.t
17
+ br
18
+ - if Olelo::Config['authentication.enable_signup']
19
+ form action=build_path(:signup) method='post'
20
+ #tab-signup.tab.fieldset
21
+ h2= :signup.t
22
+ = flash_messages :signup
23
+ label for='signup-user' = :user.t
24
+ &text#signup-user name='user'
25
+ br
26
+ label for='signup-password' = :password.t
27
+ &password#signup-password name='password'
28
+ br
29
+ label for='signup-confirm' = :confirm_password.t
30
+ &password#signup-confirm name='confirm'
31
+ br
32
+ label for='signup-email' = :email.t
33
+ &text#signup-email name='email'
34
+ br
35
+ .indent
36
+ button&submit = :signup.t
37
+ br
data/views/move.slim ADDED
@@ -0,0 +1,10 @@
1
+ - title :move_page.t(:page => page.title)
2
+ h1= title
3
+ form action=build_path(page, :action => :move) method='post'
4
+ .box
5
+ = flash_messages
6
+ label for='destination' = :destination.t
7
+ &text#destination name='destination' value={params[:destination] || page.path}
8
+ br
9
+ button&submit accesskey='m' = :move.t
10
+ button&button accesskey='c' onclick='history.back()' = :cancel.t
@@ -0,0 +1,6 @@
1
+ - title '404 Not Found'
2
+ .not_found_page
3
+ h1= title
4
+ p= :page_not_found.t
5
+ - if !Olelo::Config['production']
6
+ pre= error.backtrace.to_a.join("\n")
@@ -0,0 +1,26 @@
1
+ - title :profile_title.t(:user => Olelo::User.current.name)
2
+ h1= title
3
+ form action=build_path(:profile) method='post'
4
+ .fieldset
5
+ = flash_messages
6
+ h2= :change_password.t
7
+ label for='oldpassword' = :old_password.t
8
+ &password name='oldpassword' id='oldpassword'
9
+ br
10
+ label for='password' = :password.t
11
+ &password name='password' id='password'
12
+ br
13
+ label for='confirm' = :confirm_password.t
14
+ &password name='confirm' id='confirm'
15
+ br
16
+ h2= :settings.t
17
+ label for='email' = :email.t
18
+ &email name='email' id='email' value=Olelo::User.current.email
19
+ br
20
+ h2= :groups.t
21
+ ul
22
+ - Olelo::User.current.groups.each do |x|
23
+ li= x
24
+ br
25
+ button&submit = :save.t
26
+ br
data/views/show.slim ADDED
@@ -0,0 +1,9 @@
1
+ - title page.title
2
+ = footer do
3
+ ' #{:version.t}
4
+ a.version href=build_path(page, :version => page.version, :force_version => true) title=page.version = page.version.short
5
+ ' #{:by.t} #{page.version.author.name},
6
+ = date page.version.date
7
+ - if !page.attributes['no_title']
8
+ h1= title
9
+ == content
metadata ADDED
@@ -0,0 +1,488 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: olelo
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Daniel Mendler
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-10-17 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: tilt
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 1.3.3
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 1.3.3
30
+ - !ruby/object:Gem::Dependency
31
+ name: slim
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 1.3.3
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.3.3
46
+ - !ruby/object:Gem::Dependency
47
+ name: creole
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.4.2
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.4.2
62
+ - !ruby/object:Gem::Dependency
63
+ name: nokogiri
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 1.5.5
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 1.5.5
78
+ - !ruby/object:Gem::Dependency
79
+ name: mimemagic
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 0.1.9
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 0.1.9
94
+ - !ruby/object:Gem::Dependency
95
+ name: rack
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: 1.4.1
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 1.4.1
110
+ - !ruby/object:Gem::Dependency
111
+ name: redcarpet
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 2.1.1
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 2.1.1
126
+ - !ruby/object:Gem::Dependency
127
+ name: rugged
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: 0.17.0b6
134
+ type: :runtime
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 0.17.0b6
142
+ - !ruby/object:Gem::Dependency
143
+ name: rake
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: 0.8.7
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: 0.8.7
158
+ - !ruby/object:Gem::Dependency
159
+ name: sass
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: 3.1.0
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: 3.1.0
174
+ description:
175
+ email:
176
+ - mail@daniel-mendler.de
177
+ executables:
178
+ - olelo
179
+ extensions: []
180
+ extra_rdoc_files: []
181
+ files:
182
+ - .gitignore
183
+ - .gitmodules
184
+ - Gemfile
185
+ - README.markdown
186
+ - Rakefile
187
+ - bin/olelo
188
+ - config.ru
189
+ - config/aspects.rb
190
+ - config/config.yml.default
191
+ - config/initializers/00-mime_types.rb
192
+ - config/initializers/01-slim.rb
193
+ - config/interwiki.yml
194
+ - doc/AUTHORS
195
+ - doc/LICENSE
196
+ - lib/olelo.rb
197
+ - lib/olelo/application.rb
198
+ - lib/olelo/attributes.rb
199
+ - lib/olelo/config.rb
200
+ - lib/olelo/extensions.rb
201
+ - lib/olelo/helper.rb
202
+ - lib/olelo/hooks.rb
203
+ - lib/olelo/html_safe.rb
204
+ - lib/olelo/initializer.rb
205
+ - lib/olelo/locale.rb
206
+ - lib/olelo/locale.yml
207
+ - lib/olelo/menu.rb
208
+ - lib/olelo/middleware/blacklist.rb
209
+ - lib/olelo/middleware/degrade_mime_type.rb
210
+ - lib/olelo/middleware/flash.rb
211
+ - lib/olelo/middleware/force_encoding.rb
212
+ - lib/olelo/page.rb
213
+ - lib/olelo/patch.rb
214
+ - lib/olelo/plugin.rb
215
+ - lib/olelo/repository.rb
216
+ - lib/olelo/routing.rb
217
+ - lib/olelo/templates.rb
218
+ - lib/olelo/user.rb
219
+ - lib/olelo/util.rb
220
+ - lib/olelo/version.rb
221
+ - lib/olelo/virtualfs.rb
222
+ - lib/rack/olelo_patches.rb
223
+ - lib/rack/relative_redirect.rb
224
+ - lib/rack/static_cache.rb
225
+ - lib/yard/addons.rb
226
+ - lib/yard/addons/hook_handler.rb
227
+ - lib/yard/addons/override_tag.rb
228
+ - lib/yard/addons/route_handler.rb
229
+ - lib/yard/addons/sanitize_anchor.rb
230
+ - olelo.gemspec
231
+ - plugins/aspects/changelog.rb
232
+ - plugins/aspects/documentbrowser.rb
233
+ - plugins/aspects/download.rb
234
+ - plugins/aspects/highlight.rb
235
+ - plugins/aspects/image.rb
236
+ - plugins/aspects/imageinfo.rb
237
+ - plugins/aspects/locale.yml
238
+ - plugins/aspects/main.rb
239
+ - plugins/aspects/pageinfo.rb
240
+ - plugins/aspects/source.rb
241
+ - plugins/aspects/subpages.rb
242
+ - plugins/aspects/text.rb
243
+ - plugins/blog/blog.css
244
+ - plugins/blog/blog.scss
245
+ - plugins/blog/locale.yml
246
+ - plugins/blog/main.rb
247
+ - plugins/editor/locale.yml
248
+ - plugins/editor/markup/main.rb
249
+ - plugins/editor/markup/script.js
250
+ - plugins/editor/markup/script/00-jquery.textselection.js
251
+ - plugins/editor/markup/script/01-olelo.markupeditor.js
252
+ - plugins/editor/markup/script/init.js
253
+ - plugins/editor/preview.rb
254
+ - plugins/editor/recaptcha.rb
255
+ - plugins/filters/creole.rb
256
+ - plugins/filters/disposition.rb
257
+ - plugins/filters/editsection.rb
258
+ - plugins/filters/fix_img_tag.rb
259
+ - plugins/filters/html_wrapper.rb
260
+ - plugins/filters/interwiki.rb
261
+ - plugins/filters/link_classifier.rb
262
+ - plugins/filters/locale.yml
263
+ - plugins/filters/main.rb
264
+ - plugins/filters/markdown_nowiki.rb
265
+ - plugins/filters/numbering.xsl
266
+ - plugins/filters/orgmode.rb
267
+ - plugins/filters/rubypants.rb
268
+ - plugins/filters/s5/main.rb
269
+ - plugins/filters/s5/s5.xsl
270
+ - plugins/filters/tilt.rb
271
+ - plugins/filters/toc.rb
272
+ - plugins/filters/xhtml2latex.xsl
273
+ - plugins/filters/xslt.rb
274
+ - plugins/gallery/gallery.css
275
+ - plugins/gallery/gallery.scss
276
+ - plugins/gallery/main.rb
277
+ - plugins/misc/fancybox/images/blank.gif
278
+ - plugins/misc/fancybox/images/fancy_close.png
279
+ - plugins/misc/fancybox/images/fancy_loading.png
280
+ - plugins/misc/fancybox/images/fancy_nav_left.png
281
+ - plugins/misc/fancybox/images/fancy_nav_right.png
282
+ - plugins/misc/fancybox/images/fancy_shadow_e.png
283
+ - plugins/misc/fancybox/images/fancy_shadow_n.png
284
+ - plugins/misc/fancybox/images/fancy_shadow_ne.png
285
+ - plugins/misc/fancybox/images/fancy_shadow_nw.png
286
+ - plugins/misc/fancybox/images/fancy_shadow_s.png
287
+ - plugins/misc/fancybox/images/fancy_shadow_se.png
288
+ - plugins/misc/fancybox/images/fancy_shadow_sw.png
289
+ - plugins/misc/fancybox/images/fancy_shadow_w.png
290
+ - plugins/misc/fancybox/images/fancy_title_left.png
291
+ - plugins/misc/fancybox/images/fancy_title_main.png
292
+ - plugins/misc/fancybox/images/fancy_title_over.png
293
+ - plugins/misc/fancybox/images/fancy_title_right.png
294
+ - plugins/misc/fancybox/images/fancybox-x.png
295
+ - plugins/misc/fancybox/images/fancybox-y.png
296
+ - plugins/misc/fancybox/images/fancybox.png
297
+ - plugins/misc/fancybox/jquery.fancybox.css
298
+ - plugins/misc/fancybox/jquery.fancybox.scss
299
+ - plugins/misc/fancybox/main.rb
300
+ - plugins/misc/fancybox/script.js
301
+ - plugins/misc/fancybox/script/00-jquery.mousewheel.js
302
+ - plugins/misc/fancybox/script/01-jquery.easing.js
303
+ - plugins/misc/fancybox/script/02-jquery.fancybox.js
304
+ - plugins/misc/fancybox/script/init.js
305
+ - plugins/misc/system.rb
306
+ - plugins/misc/variables.rb
307
+ - plugins/misc/webdav.rb
308
+ - plugins/repositories/git_grep.rb
309
+ - plugins/repositories/gitrb_repository.rb
310
+ - plugins/repositories/locale.yml
311
+ - plugins/repositories/rugged_repository.rb
312
+ - plugins/security/acl.rb
313
+ - plugins/security/basic_auth.rb
314
+ - plugins/security/locale.yml
315
+ - plugins/security/persistent_login.rb
316
+ - plugins/security/portal.rb
317
+ - plugins/security/private_wiki.rb
318
+ - plugins/security/readonly_wiki.rb
319
+ - plugins/security/stack.rb
320
+ - plugins/security/yamlfile.rb
321
+ - plugins/tags/code.rb
322
+ - plugins/tags/footnotes.rb
323
+ - plugins/tags/gist-embed.css
324
+ - plugins/tags/gist.rb
325
+ - plugins/tags/html.rb
326
+ - plugins/tags/include.rb
327
+ - plugins/tags/main.rb
328
+ - plugins/tags/math.rb
329
+ - plugins/tags/scripting.rb
330
+ - plugins/tags/sort.rb
331
+ - plugins/tags/tabs.rb
332
+ - plugins/treeview/images/collapsed.png
333
+ - plugins/treeview/images/expanded.png
334
+ - plugins/treeview/images/menu.png
335
+ - plugins/treeview/images/tree.png
336
+ - plugins/treeview/images/wait.gif
337
+ - plugins/treeview/main.rb
338
+ - plugins/treeview/script.js
339
+ - plugins/treeview/script/00-jquery.treeview.js
340
+ - plugins/treeview/script/init.js
341
+ - plugins/treeview/treeview.css
342
+ - plugins/treeview/treeview.scss
343
+ - plugins/utils/assets.rb
344
+ - plugins/utils/cache.rb
345
+ - plugins/utils/image_magick.rb
346
+ - plugins/utils/pygments.css
347
+ - plugins/utils/pygments.rb
348
+ - plugins/utils/pygments.scss
349
+ - plugins/utils/semaphore.rb
350
+ - plugins/utils/shell.rb
351
+ - plugins/utils/store.rb
352
+ - plugins/utils/worker.rb
353
+ - plugins/utils/xml.rb
354
+ - static/images/favicon.png
355
+ - static/script.js
356
+ - static/script/00-json2.js
357
+ - static/script/01-jstorage.js
358
+ - static/script/02-jquery.js
359
+ - static/script/03-jquery.ui.core.js
360
+ - static/script/04-jquery.ui.widget.js
361
+ - static/script/05-jquery.ui.position.js
362
+ - static/script/06-jquery.ui.menu.js
363
+ - static/script/07-jquery.ui.autocomplete.js
364
+ - static/script/08-olelo.i18n.js
365
+ - static/script/09-olelo.unsaved.js
366
+ - static/script/10-olelo.historytable.js
367
+ - static/script/11-olelo.pagination.js
368
+ - static/script/13-olelo.tabwidget.js
369
+ - static/script/14-olelo.timeago.js
370
+ - static/script/15-olelo.underliner.js
371
+ - static/script/16-olelo.ui.combobox.js
372
+ - static/script/init.js
373
+ - static/themes/atlantis/constants.scss
374
+ - static/themes/atlantis/iehacks.scss
375
+ - static/themes/atlantis/images/actions/delete.png
376
+ - static/themes/atlantis/images/actions/edit.png
377
+ - static/themes/atlantis/images/actions/history.png
378
+ - static/themes/atlantis/images/actions/home.png
379
+ - static/themes/atlantis/images/actions/move.png
380
+ - static/themes/atlantis/images/actions/new.png
381
+ - static/themes/atlantis/images/actions/page.png
382
+ - static/themes/atlantis/images/bg/button.png
383
+ - static/themes/atlantis/images/bg/container.png
384
+ - static/themes/atlantis/images/bg/content.png
385
+ - static/themes/atlantis/images/bg/footer.png
386
+ - static/themes/atlantis/images/bg/header.jpg
387
+ - static/themes/atlantis/images/bg/header.orig.jpg
388
+ - static/themes/atlantis/images/bg/header_gray.jpg
389
+ - static/themes/atlantis/images/bug.png
390
+ - static/themes/atlantis/images/filetypes/7z.png
391
+ - static/themes/atlantis/images/filetypes/_archive.png
392
+ - static/themes/atlantis/images/filetypes/_audio.png
393
+ - static/themes/atlantis/images/filetypes/_code.png
394
+ - static/themes/atlantis/images/filetypes/_linux.png
395
+ - static/themes/atlantis/images/filetypes/_picture.png
396
+ - static/themes/atlantis/images/filetypes/_video.png
397
+ - static/themes/atlantis/images/filetypes/bz2.png
398
+ - static/themes/atlantis/images/filetypes/doc.png
399
+ - static/themes/atlantis/images/filetypes/flac.png
400
+ - static/themes/atlantis/images/filetypes/gz.png
401
+ - static/themes/atlantis/images/filetypes/html.png
402
+ - static/themes/atlantis/images/filetypes/java.png
403
+ - static/themes/atlantis/images/filetypes/jpg.png
404
+ - static/themes/atlantis/images/filetypes/midi.png
405
+ - static/themes/atlantis/images/filetypes/mp3.png
406
+ - static/themes/atlantis/images/filetypes/ogg.png
407
+ - static/themes/atlantis/images/filetypes/pdf.png
408
+ - static/themes/atlantis/images/filetypes/php.png
409
+ - static/themes/atlantis/images/filetypes/png.png
410
+ - static/themes/atlantis/images/filetypes/ppt.png
411
+ - static/themes/atlantis/images/filetypes/psd.png
412
+ - static/themes/atlantis/images/filetypes/rar.png
413
+ - static/themes/atlantis/images/filetypes/rb.png
414
+ - static/themes/atlantis/images/filetypes/sh.png
415
+ - static/themes/atlantis/images/filetypes/tar.png
416
+ - static/themes/atlantis/images/filetypes/txt.png
417
+ - static/themes/atlantis/images/filetypes/wma.png
418
+ - static/themes/atlantis/images/filetypes/xls.png
419
+ - static/themes/atlantis/images/filetypes/zip.png
420
+ - static/themes/atlantis/images/folder.png
421
+ - static/themes/atlantis/images/folder_open.png
422
+ - static/themes/atlantis/images/loading.gif
423
+ - static/themes/atlantis/images/loading.xcf
424
+ - static/themes/atlantis/images/not_found.png
425
+ - static/themes/atlantis/images/page.png
426
+ - static/themes/atlantis/images/search.png
427
+ - static/themes/atlantis/layout.scss
428
+ - static/themes/atlantis/menu.scss
429
+ - static/themes/atlantis/print.scss
430
+ - static/themes/atlantis/screen.scss
431
+ - static/themes/atlantis/style.css
432
+ - static/themes/lib/autocomplete.scss
433
+ - static/themes/lib/headlines.scss
434
+ - static/themes/lib/horizontal-list.scss
435
+ - static/themes/lib/patch.scss
436
+ - static/themes/lib/reset.scss
437
+ - static/themes/lib/rounded.scss
438
+ - static/themes/lib/shadow.scss
439
+ - test/config_test.rb
440
+ - test/factory_test.rb
441
+ - test/hash_extensions_test.rb
442
+ - test/helper.rb
443
+ - test/hooks_test.rb
444
+ - test/object_extensions_test.rb
445
+ - test/page_test.rb
446
+ - test/request_test.rb
447
+ - test/string_extensions_test.rb
448
+ - test/templates_test.rb
449
+ - test/util_test.rb
450
+ - views/changes.slim
451
+ - views/compare.slim
452
+ - views/delete.slim
453
+ - views/deleted.slim
454
+ - views/edit.slim
455
+ - views/error.slim
456
+ - views/history.slim
457
+ - views/layout.slim
458
+ - views/login.slim
459
+ - views/move.slim
460
+ - views/not_found.slim
461
+ - views/profile.slim
462
+ - views/show.slim
463
+ homepage: http://gitwiki.org/
464
+ licenses: []
465
+ post_install_message:
466
+ rdoc_options: []
467
+ require_paths:
468
+ - lib
469
+ required_ruby_version: !ruby/object:Gem::Requirement
470
+ none: false
471
+ requirements:
472
+ - - ! '>='
473
+ - !ruby/object:Gem::Version
474
+ version: '0'
475
+ required_rubygems_version: !ruby/object:Gem::Requirement
476
+ none: false
477
+ requirements:
478
+ - - ! '>='
479
+ - !ruby/object:Gem::Version
480
+ version: '0'
481
+ requirements: []
482
+ rubyforge_project: olelo
483
+ rubygems_version: 1.8.24
484
+ signing_key:
485
+ specification_version: 3
486
+ summary: Olelo is a git-based wiki which supports many markup languages, tags, embedded
487
+ TeX and much more. It can be extended through plugins.
488
+ test_files: []