poly-cms 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (460) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/Gemfile +27 -0
  4. data/Gemfile.lock +95 -0
  5. data/README.md +3 -0
  6. data/Rakefile +45 -0
  7. data/bin/poly +88 -0
  8. data/config.ru +3 -0
  9. data/core/admin/assets/images/icons/cache-clear.svg +11 -0
  10. data/core/admin/assets/images/icons/delete-dark.svg +10 -0
  11. data/core/admin/assets/images/icons/delete.svg +10 -0
  12. data/core/admin/assets/images/icons/handle.svg +12 -0
  13. data/core/admin/assets/images/icons/logout.svg +13 -0
  14. data/core/admin/assets/images/icons/move.svg +10 -0
  15. data/core/admin/assets/images/icons/new.svg +9 -0
  16. data/core/admin/assets/images/icons/prompt.svg +11 -0
  17. data/core/admin/assets/images/icons/refresh.svg +40 -0
  18. data/core/admin/assets/images/icons/save.svg +7 -0
  19. data/core/admin/assets/images/poly-small-boxed.svg +51 -0
  20. data/core/admin/assets/images/poly-small.svg +52 -0
  21. data/core/admin/assets/images/poly.svg +36 -0
  22. data/core/admin/assets/js/app/file-ext.js +15 -0
  23. data/core/admin/assets/js/app/views/editor.js +300 -0
  24. data/core/admin/assets/js/app/views/git.js +65 -0
  25. data/core/admin/assets/js/app/views/main.js +59 -0
  26. data/core/admin/assets/js/main.js +44 -0
  27. data/core/admin/assets/js/routes.js +25 -0
  28. data/core/admin/assets/js/vendor/backbone.js +4 -0
  29. data/core/admin/assets/js/vendor/codemirror/.gitattributes +8 -0
  30. data/core/admin/assets/js/vendor/codemirror/.gitignore +6 -0
  31. data/core/admin/assets/js/vendor/codemirror/.travis.yml +3 -0
  32. data/core/admin/assets/js/vendor/codemirror/addon/comment/comment.js +145 -0
  33. data/core/admin/assets/js/vendor/codemirror/addon/comment/continuecomment.js +54 -0
  34. data/core/admin/assets/js/vendor/codemirror/addon/dialog/dialog.css +32 -0
  35. data/core/admin/assets/js/vendor/codemirror/addon/dialog/dialog.js +80 -0
  36. data/core/admin/assets/js/vendor/codemirror/addon/display/fullscreen.css +6 -0
  37. data/core/admin/assets/js/vendor/codemirror/addon/display/fullscreen.js +30 -0
  38. data/core/admin/assets/js/vendor/codemirror/addon/display/placeholder.js +54 -0
  39. data/core/admin/assets/js/vendor/codemirror/addon/edit/closebrackets.js +82 -0
  40. data/core/admin/assets/js/vendor/codemirror/addon/edit/closetag.js +87 -0
  41. data/core/admin/assets/js/vendor/codemirror/addon/edit/continuelist.js +25 -0
  42. data/core/admin/assets/js/vendor/codemirror/addon/edit/matchbrackets.js +86 -0
  43. data/core/admin/assets/js/vendor/codemirror/addon/edit/matchtags.js +56 -0
  44. data/core/admin/assets/js/vendor/codemirror/addon/edit/trailingspace.js +15 -0
  45. data/core/admin/assets/js/vendor/codemirror/addon/fold/brace-fold.js +93 -0
  46. data/core/admin/assets/js/vendor/codemirror/addon/fold/comment-fold.js +40 -0
  47. data/core/admin/assets/js/vendor/codemirror/addon/fold/foldcode.js +75 -0
  48. data/core/admin/assets/js/vendor/codemirror/addon/fold/foldgutter.css +21 -0
  49. data/core/admin/assets/js/vendor/codemirror/addon/fold/foldgutter.js +124 -0
  50. data/core/admin/assets/js/vendor/codemirror/addon/fold/indent-fold.js +26 -0
  51. data/core/admin/assets/js/vendor/codemirror/addon/fold/xml-fold.js +167 -0
  52. data/core/admin/assets/js/vendor/codemirror/addon/hint/anyword-hint.js +34 -0
  53. data/core/admin/assets/js/vendor/codemirror/addon/hint/css-hint.js +50 -0
  54. data/core/admin/assets/js/vendor/codemirror/addon/hint/html-hint.js +337 -0
  55. data/core/admin/assets/js/vendor/codemirror/addon/hint/javascript-hint.js +130 -0
  56. data/core/admin/assets/js/vendor/codemirror/addon/hint/pig-hint.js +121 -0
  57. data/core/admin/assets/js/vendor/codemirror/addon/hint/python-hint.js +95 -0
  58. data/core/admin/assets/js/vendor/codemirror/addon/hint/show-hint.css +38 -0
  59. data/core/admin/assets/js/vendor/codemirror/addon/hint/show-hint.js +274 -0
  60. data/core/admin/assets/js/vendor/codemirror/addon/hint/sql-hint.js +105 -0
  61. data/core/admin/assets/js/vendor/codemirror/addon/hint/xml-hint.js +69 -0
  62. data/core/admin/assets/js/vendor/codemirror/addon/lint/coffeescript-lint.js +27 -0
  63. data/core/admin/assets/js/vendor/codemirror/addon/lint/css-lint.js +19 -0
  64. data/core/admin/assets/js/vendor/codemirror/addon/lint/javascript-lint.js +126 -0
  65. data/core/admin/assets/js/vendor/codemirror/addon/lint/json-lint.js +17 -0
  66. data/core/admin/assets/js/vendor/codemirror/addon/lint/lint.css +73 -0
  67. data/core/admin/assets/js/vendor/codemirror/addon/lint/lint.js +203 -0
  68. data/core/admin/assets/js/vendor/codemirror/addon/merge/dep/diff_match_patch.js +50 -0
  69. data/core/admin/assets/js/vendor/codemirror/addon/merge/merge.css +92 -0
  70. data/core/admin/assets/js/vendor/codemirror/addon/merge/merge.js +474 -0
  71. data/core/admin/assets/js/vendor/codemirror/addon/mode/loadmode.js +51 -0
  72. data/core/admin/assets/js/vendor/codemirror/addon/mode/multiplex.js +101 -0
  73. data/core/admin/assets/js/vendor/codemirror/addon/mode/multiplex_test.js +30 -0
  74. data/core/admin/assets/js/vendor/codemirror/addon/mode/overlay.js +59 -0
  75. data/core/admin/assets/js/vendor/codemirror/addon/runmode/colorize.js +29 -0
  76. data/core/admin/assets/js/vendor/codemirror/addon/runmode/runmode-standalone.js +136 -0
  77. data/core/admin/assets/js/vendor/codemirror/addon/runmode/runmode.js +56 -0
  78. data/core/admin/assets/js/vendor/codemirror/addon/runmode/runmode.node.js +103 -0
  79. data/core/admin/assets/js/vendor/codemirror/addon/scroll/scrollpastend.js +34 -0
  80. data/core/admin/assets/js/vendor/codemirror/addon/search/match-highlighter.js +91 -0
  81. data/core/admin/assets/js/vendor/codemirror/addon/search/search.js +133 -0
  82. data/core/admin/assets/js/vendor/codemirror/addon/search/searchcursor.js +143 -0
  83. data/core/admin/assets/js/vendor/codemirror/addon/selection/active-line.js +39 -0
  84. data/core/admin/assets/js/vendor/codemirror/addon/selection/mark-selection.js +108 -0
  85. data/core/admin/assets/js/vendor/codemirror/addon/tern/tern.css +85 -0
  86. data/core/admin/assets/js/vendor/codemirror/addon/tern/tern.js +632 -0
  87. data/core/admin/assets/js/vendor/codemirror/addon/tern/worker.js +41 -0
  88. data/core/admin/assets/js/vendor/codemirror/addon/wrap/hardwrap.js +99 -0
  89. data/core/admin/assets/js/vendor/codemirror/bin/authors.sh +6 -0
  90. data/core/admin/assets/js/vendor/codemirror/bin/compress +92 -0
  91. data/core/admin/assets/js/vendor/codemirror/bin/lint +16 -0
  92. data/core/admin/assets/js/vendor/codemirror/bin/source-highlight +61 -0
  93. data/core/admin/assets/js/vendor/codemirror/bower.json +15 -0
  94. data/core/admin/assets/js/vendor/codemirror/demo/activeline.html +78 -0
  95. data/core/admin/assets/js/vendor/codemirror/demo/anywordhint.html +79 -0
  96. data/core/admin/assets/js/vendor/codemirror/demo/bidi.html +74 -0
  97. data/core/admin/assets/js/vendor/codemirror/demo/btree.html +86 -0
  98. data/core/admin/assets/js/vendor/codemirror/demo/buffers.html +109 -0
  99. data/core/admin/assets/js/vendor/codemirror/demo/changemode.html +59 -0
  100. data/core/admin/assets/js/vendor/codemirror/demo/closebrackets.html +63 -0
  101. data/core/admin/assets/js/vendor/codemirror/demo/closetag.html +40 -0
  102. data/core/admin/assets/js/vendor/codemirror/demo/complete.html +80 -0
  103. data/core/admin/assets/js/vendor/codemirror/demo/emacs.html +75 -0
  104. data/core/admin/assets/js/vendor/codemirror/demo/folding.html +75 -0
  105. data/core/admin/assets/js/vendor/codemirror/demo/fullscreen.html +130 -0
  106. data/core/admin/assets/js/vendor/codemirror/demo/hardwrap.html +69 -0
  107. data/core/admin/assets/js/vendor/codemirror/demo/html5complete.html +54 -0
  108. data/core/admin/assets/js/vendor/codemirror/demo/indentwrap.html +58 -0
  109. data/core/admin/assets/js/vendor/codemirror/demo/lint.html +171 -0
  110. data/core/admin/assets/js/vendor/codemirror/demo/loadmode.html +49 -0
  111. data/core/admin/assets/js/vendor/codemirror/demo/marker.html +52 -0
  112. data/core/admin/assets/js/vendor/codemirror/demo/markselection.html +45 -0
  113. data/core/admin/assets/js/vendor/codemirror/demo/matchhighlighter.html +47 -0
  114. data/core/admin/assets/js/vendor/codemirror/demo/matchtags.html +49 -0
  115. data/core/admin/assets/js/vendor/codemirror/demo/merge.html +82 -0
  116. data/core/admin/assets/js/vendor/codemirror/demo/multiplex.html +75 -0
  117. data/core/admin/assets/js/vendor/codemirror/demo/mustache.html +68 -0
  118. data/core/admin/assets/js/vendor/codemirror/demo/placeholder.html +45 -0
  119. data/core/admin/assets/js/vendor/codemirror/demo/preview.html +88 -0
  120. data/core/admin/assets/js/vendor/codemirror/demo/resize.html +58 -0
  121. data/core/admin/assets/js/vendor/codemirror/demo/runmode.html +62 -0
  122. data/core/admin/assets/js/vendor/codemirror/demo/search.html +94 -0
  123. data/core/admin/assets/js/vendor/codemirror/demo/spanaffectswrapping_shim.html +85 -0
  124. data/core/admin/assets/js/vendor/codemirror/demo/tern.html +128 -0
  125. data/core/admin/assets/js/vendor/codemirror/demo/theme.html +121 -0
  126. data/core/admin/assets/js/vendor/codemirror/demo/trailingspace.html +48 -0
  127. data/core/admin/assets/js/vendor/codemirror/demo/variableheight.html +61 -0
  128. data/core/admin/assets/js/vendor/codemirror/demo/vim.html +74 -0
  129. data/core/admin/assets/js/vendor/codemirror/demo/visibletabs.html +62 -0
  130. data/core/admin/assets/js/vendor/codemirror/demo/widget.html +85 -0
  131. data/core/admin/assets/js/vendor/codemirror/demo/xmlcomplete.html +116 -0
  132. data/core/admin/assets/js/vendor/codemirror/doc/activebookmark.js +42 -0
  133. data/core/admin/assets/js/vendor/codemirror/doc/compress.html +231 -0
  134. data/core/admin/assets/js/vendor/codemirror/doc/docs.css +226 -0
  135. data/core/admin/assets/js/vendor/codemirror/doc/internals.html +503 -0
  136. data/core/admin/assets/js/vendor/codemirror/doc/logo.png +0 -0
  137. data/core/admin/assets/js/vendor/codemirror/doc/logo.svg +147 -0
  138. data/core/admin/assets/js/vendor/codemirror/doc/manual.html +2512 -0
  139. data/core/admin/assets/js/vendor/codemirror/doc/realworld.html +134 -0
  140. data/core/admin/assets/js/vendor/codemirror/doc/releases.html +779 -0
  141. data/core/admin/assets/js/vendor/codemirror/doc/reporting.html +61 -0
  142. data/core/admin/assets/js/vendor/codemirror/doc/upgrade_v2.2.html +96 -0
  143. data/core/admin/assets/js/vendor/codemirror/doc/upgrade_v3.html +230 -0
  144. data/core/admin/assets/js/vendor/codemirror/index.html +192 -0
  145. data/core/admin/assets/js/vendor/codemirror/keymap/emacs.js +387 -0
  146. data/core/admin/assets/js/vendor/codemirror/keymap/extra.js +43 -0
  147. data/core/admin/assets/js/vendor/codemirror/keymap/vim.js +3704 -0
  148. data/core/admin/assets/js/vendor/codemirror/lib/codemirror.css +263 -0
  149. data/core/admin/assets/js/vendor/codemirror/lib/codemirror.js +5910 -0
  150. data/core/admin/assets/js/vendor/codemirror/mode/apl/apl.js +160 -0
  151. data/core/admin/assets/js/vendor/codemirror/mode/apl/index.html +72 -0
  152. data/core/admin/assets/js/vendor/codemirror/mode/asterisk/asterisk.js +183 -0
  153. data/core/admin/assets/js/vendor/codemirror/mode/asterisk/index.html +154 -0
  154. data/core/admin/assets/js/vendor/codemirror/mode/clike/clike.js +362 -0
  155. data/core/admin/assets/js/vendor/codemirror/mode/clike/index.html +195 -0
  156. data/core/admin/assets/js/vendor/codemirror/mode/clike/scala.html +767 -0
  157. data/core/admin/assets/js/vendor/codemirror/mode/clojure/clojure.js +224 -0
  158. data/core/admin/assets/js/vendor/codemirror/mode/clojure/index.html +88 -0
  159. data/core/admin/assets/js/vendor/codemirror/mode/cobol/cobol.js +240 -0
  160. data/core/admin/assets/js/vendor/codemirror/mode/cobol/index.html +210 -0
  161. data/core/admin/assets/js/vendor/codemirror/mode/coffeescript/coffeescript.js +349 -0
  162. data/core/admin/assets/js/vendor/codemirror/mode/coffeescript/index.html +740 -0
  163. data/core/admin/assets/js/vendor/codemirror/mode/commonlisp/commonlisp.js +105 -0
  164. data/core/admin/assets/js/vendor/codemirror/mode/commonlisp/index.html +177 -0
  165. data/core/admin/assets/js/vendor/codemirror/mode/css/css.js +639 -0
  166. data/core/admin/assets/js/vendor/codemirror/mode/css/index.html +70 -0
  167. data/core/admin/assets/js/vendor/codemirror/mode/css/scss.html +157 -0
  168. data/core/admin/assets/js/vendor/codemirror/mode/css/scss_test.js +84 -0
  169. data/core/admin/assets/js/vendor/codemirror/mode/css/test.js +130 -0
  170. data/core/admin/assets/js/vendor/codemirror/mode/d/d.js +205 -0
  171. data/core/admin/assets/js/vendor/codemirror/mode/d/index.html +273 -0
  172. data/core/admin/assets/js/vendor/codemirror/mode/diff/diff.js +32 -0
  173. data/core/admin/assets/js/vendor/codemirror/mode/diff/index.html +117 -0
  174. data/core/admin/assets/js/vendor/codemirror/mode/dtd/dtd.js +127 -0
  175. data/core/admin/assets/js/vendor/codemirror/mode/dtd/index.html +89 -0
  176. data/core/admin/assets/js/vendor/codemirror/mode/ecl/ecl.js +192 -0
  177. data/core/admin/assets/js/vendor/codemirror/mode/ecl/index.html +52 -0
  178. data/core/admin/assets/js/vendor/codemirror/mode/eiffel/eiffel.js +147 -0
  179. data/core/admin/assets/js/vendor/codemirror/mode/eiffel/index.html +430 -0
  180. data/core/admin/assets/js/vendor/codemirror/mode/erlang/erlang.js +484 -0
  181. data/core/admin/assets/js/vendor/codemirror/mode/erlang/index.html +75 -0
  182. data/core/admin/assets/js/vendor/codemirror/mode/fortran/fortran.js +173 -0
  183. data/core/admin/assets/js/vendor/codemirror/mode/fortran/index.html +81 -0
  184. data/core/admin/assets/js/vendor/codemirror/mode/gas/gas.js +330 -0
  185. data/core/admin/assets/js/vendor/codemirror/mode/gas/index.html +68 -0
  186. data/core/admin/assets/js/vendor/codemirror/mode/gfm/gfm.js +97 -0
  187. data/core/admin/assets/js/vendor/codemirror/mode/gfm/index.html +82 -0
  188. data/core/admin/assets/js/vendor/codemirror/mode/gfm/test.js +112 -0
  189. data/core/admin/assets/js/vendor/codemirror/mode/gherkin/gherkin.js +168 -0
  190. data/core/admin/assets/js/vendor/codemirror/mode/gherkin/index.html +48 -0
  191. data/core/admin/assets/js/vendor/codemirror/mode/go/go.js +168 -0
  192. data/core/admin/assets/js/vendor/codemirror/mode/go/index.html +85 -0
  193. data/core/admin/assets/js/vendor/codemirror/mode/groovy/groovy.js +211 -0
  194. data/core/admin/assets/js/vendor/codemirror/mode/groovy/index.html +84 -0
  195. data/core/admin/assets/js/vendor/codemirror/mode/haml/haml.js +153 -0
  196. data/core/admin/assets/js/vendor/codemirror/mode/haml/index.html +79 -0
  197. data/core/admin/assets/js/vendor/codemirror/mode/haml/test.js +94 -0
  198. data/core/admin/assets/js/vendor/codemirror/mode/haskell/haskell.js +250 -0
  199. data/core/admin/assets/js/vendor/codemirror/mode/haskell/index.html +73 -0
  200. data/core/admin/assets/js/vendor/codemirror/mode/haxe/haxe.js +429 -0
  201. data/core/admin/assets/js/vendor/codemirror/mode/haxe/index.html +103 -0
  202. data/core/admin/assets/js/vendor/codemirror/mode/htmlembedded/htmlembedded.js +73 -0
  203. data/core/admin/assets/js/vendor/codemirror/mode/htmlembedded/index.html +60 -0
  204. data/core/admin/assets/js/vendor/codemirror/mode/htmlmixed/htmlmixed.js +104 -0
  205. data/core/admin/assets/js/vendor/codemirror/mode/htmlmixed/index.html +85 -0
  206. data/core/admin/assets/js/vendor/codemirror/mode/http/http.js +98 -0
  207. data/core/admin/assets/js/vendor/codemirror/mode/http/index.html +45 -0
  208. data/core/admin/assets/js/vendor/codemirror/mode/index.html +112 -0
  209. data/core/admin/assets/js/vendor/codemirror/mode/jade/index.html +66 -0
  210. data/core/admin/assets/js/vendor/codemirror/mode/jade/jade.js +90 -0
  211. data/core/admin/assets/js/vendor/codemirror/mode/javascript/index.html +107 -0
  212. data/core/admin/assets/js/vendor/codemirror/mode/javascript/javascript.js +480 -0
  213. data/core/admin/assets/js/vendor/codemirror/mode/javascript/test.js +10 -0
  214. data/core/admin/assets/js/vendor/codemirror/mode/javascript/typescript.html +61 -0
  215. data/core/admin/assets/js/vendor/codemirror/mode/jinja2/index.html +50 -0
  216. data/core/admin/assets/js/vendor/codemirror/mode/jinja2/jinja2.js +42 -0
  217. data/core/admin/assets/js/vendor/codemirror/mode/less/index.html +753 -0
  218. data/core/admin/assets/js/vendor/codemirror/mode/less/less.js +344 -0
  219. data/core/admin/assets/js/vendor/codemirror/mode/livescript/index.html +459 -0
  220. data/core/admin/assets/js/vendor/codemirror/mode/livescript/livescript.js +267 -0
  221. data/core/admin/assets/js/vendor/codemirror/mode/livescript/livescript.ls +266 -0
  222. data/core/admin/assets/js/vendor/codemirror/mode/lua/index.html +86 -0
  223. data/core/admin/assets/js/vendor/codemirror/mode/lua/lua.js +144 -0
  224. data/core/admin/assets/js/vendor/codemirror/mode/markdown/index.html +359 -0
  225. data/core/admin/assets/js/vendor/codemirror/mode/markdown/markdown.js +551 -0
  226. data/core/admin/assets/js/vendor/codemirror/mode/markdown/test.js +656 -0
  227. data/core/admin/assets/js/vendor/codemirror/mode/meta.js +89 -0
  228. data/core/admin/assets/js/vendor/codemirror/mode/mirc/index.html +161 -0
  229. data/core/admin/assets/js/vendor/codemirror/mode/mirc/mirc.js +177 -0
  230. data/core/admin/assets/js/vendor/codemirror/mode/nginx/index.html +181 -0
  231. data/core/admin/assets/js/vendor/codemirror/mode/nginx/nginx.js +163 -0
  232. data/core/admin/assets/js/vendor/codemirror/mode/ntriples/index.html +45 -0
  233. data/core/admin/assets/js/vendor/codemirror/mode/ntriples/ntriples.js +170 -0
  234. data/core/admin/assets/js/vendor/codemirror/mode/ocaml/index.html +146 -0
  235. data/core/admin/assets/js/vendor/codemirror/mode/ocaml/ocaml.js +116 -0
  236. data/core/admin/assets/js/vendor/codemirror/mode/octave/index.html +95 -0
  237. data/core/admin/assets/js/vendor/codemirror/mode/octave/octave.js +118 -0
  238. data/core/admin/assets/js/vendor/codemirror/mode/pascal/index.html +61 -0
  239. data/core/admin/assets/js/vendor/codemirror/mode/pascal/pascal.js +94 -0
  240. data/core/admin/assets/js/vendor/codemirror/mode/perl/index.html +75 -0
  241. data/core/admin/assets/js/vendor/codemirror/mode/perl/perl.js +816 -0
  242. data/core/admin/assets/js/vendor/codemirror/mode/php/index.html +62 -0
  243. data/core/admin/assets/js/vendor/codemirror/mode/php/php.js +132 -0
  244. data/core/admin/assets/js/vendor/codemirror/mode/pig/index.html +55 -0
  245. data/core/admin/assets/js/vendor/codemirror/mode/pig/pig.js +171 -0
  246. data/core/admin/assets/js/vendor/codemirror/mode/properties/index.html +53 -0
  247. data/core/admin/assets/js/vendor/codemirror/mode/properties/properties.js +63 -0
  248. data/core/admin/assets/js/vendor/codemirror/mode/python/index.html +187 -0
  249. data/core/admin/assets/js/vendor/codemirror/mode/python/python.js +368 -0
  250. data/core/admin/assets/js/vendor/codemirror/mode/q/index.html +144 -0
  251. data/core/admin/assets/js/vendor/codemirror/mode/q/q.js +124 -0
  252. data/core/admin/assets/js/vendor/codemirror/mode/r/index.html +86 -0
  253. data/core/admin/assets/js/vendor/codemirror/mode/r/r.js +141 -0
  254. data/core/admin/assets/js/vendor/codemirror/mode/rpm/changes/changes.js +19 -0
  255. data/core/admin/assets/js/vendor/codemirror/mode/rpm/changes/index.html +67 -0
  256. data/core/admin/assets/js/vendor/codemirror/mode/rpm/spec/index.html +114 -0
  257. data/core/admin/assets/js/vendor/codemirror/mode/rpm/spec/spec.css +5 -0
  258. data/core/admin/assets/js/vendor/codemirror/mode/rpm/spec/spec.js +66 -0
  259. data/core/admin/assets/js/vendor/codemirror/mode/rst/index.html +534 -0
  260. data/core/admin/assets/js/vendor/codemirror/mode/rst/rst.js +560 -0
  261. data/core/admin/assets/js/vendor/codemirror/mode/ruby/index.html +185 -0
  262. data/core/admin/assets/js/vendor/codemirror/mode/ruby/ruby.js +247 -0
  263. data/core/admin/assets/js/vendor/codemirror/mode/rust/index.html +61 -0
  264. data/core/admin/assets/js/vendor/codemirror/mode/rust/rust.js +436 -0
  265. data/core/admin/assets/js/vendor/codemirror/mode/sass/index.html +66 -0
  266. data/core/admin/assets/js/vendor/codemirror/mode/sass/sass.js +330 -0
  267. data/core/admin/assets/js/vendor/codemirror/mode/scheme/index.html +77 -0
  268. data/core/admin/assets/js/vendor/codemirror/mode/scheme/scheme.js +232 -0
  269. data/core/admin/assets/js/vendor/codemirror/mode/shell/index.html +66 -0
  270. data/core/admin/assets/js/vendor/codemirror/mode/shell/shell.js +118 -0
  271. data/core/admin/assets/js/vendor/codemirror/mode/sieve/index.html +93 -0
  272. data/core/admin/assets/js/vendor/codemirror/mode/sieve/sieve.js +183 -0
  273. data/core/admin/assets/js/vendor/codemirror/mode/smalltalk/index.html +68 -0
  274. data/core/admin/assets/js/vendor/codemirror/mode/smalltalk/smalltalk.js +151 -0
  275. data/core/admin/assets/js/vendor/codemirror/mode/smarty/index.html +136 -0
  276. data/core/admin/assets/js/vendor/codemirror/mode/smarty/smarty.js +205 -0
  277. data/core/admin/assets/js/vendor/codemirror/mode/smartymixed/index.html +114 -0
  278. data/core/admin/assets/js/vendor/codemirror/mode/smartymixed/smartymixed.js +175 -0
  279. data/core/admin/assets/js/vendor/codemirror/mode/sparql/index.html +54 -0
  280. data/core/admin/assets/js/vendor/codemirror/mode/sparql/sparql.js +145 -0
  281. data/core/admin/assets/js/vendor/codemirror/mode/sql/index.html +75 -0
  282. data/core/admin/assets/js/vendor/codemirror/mode/sql/sql.js +365 -0
  283. data/core/admin/assets/js/vendor/codemirror/mode/stex/index.html +110 -0
  284. data/core/admin/assets/js/vendor/codemirror/mode/stex/stex.js +246 -0
  285. data/core/admin/assets/js/vendor/codemirror/mode/stex/test.js +120 -0
  286. data/core/admin/assets/js/vendor/codemirror/mode/tcl/index.html +143 -0
  287. data/core/admin/assets/js/vendor/codemirror/mode/tcl/tcl.js +131 -0
  288. data/core/admin/assets/js/vendor/codemirror/mode/tiddlywiki/index.html +155 -0
  289. data/core/admin/assets/js/vendor/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  290. data/core/admin/assets/js/vendor/codemirror/mode/tiddlywiki/tiddlywiki.js +353 -0
  291. data/core/admin/assets/js/vendor/codemirror/mode/tiki/index.html +95 -0
  292. data/core/admin/assets/js/vendor/codemirror/mode/tiki/tiki.css +26 -0
  293. data/core/admin/assets/js/vendor/codemirror/mode/tiki/tiki.js +308 -0
  294. data/core/admin/assets/js/vendor/codemirror/mode/toml/index.html +73 -0
  295. data/core/admin/assets/js/vendor/codemirror/mode/toml/toml.js +71 -0
  296. data/core/admin/assets/js/vendor/codemirror/mode/turtle/index.html +51 -0
  297. data/core/admin/assets/js/vendor/codemirror/mode/turtle/turtle.js +145 -0
  298. data/core/admin/assets/js/vendor/codemirror/mode/vb/index.html +103 -0
  299. data/core/admin/assets/js/vendor/codemirror/mode/vb/vb.js +259 -0
  300. data/core/admin/assets/js/vendor/codemirror/mode/vbscript/index.html +55 -0
  301. data/core/admin/assets/js/vendor/codemirror/mode/vbscript/vbscript.js +334 -0
  302. data/core/admin/assets/js/vendor/codemirror/mode/velocity/index.html +119 -0
  303. data/core/admin/assets/js/vendor/codemirror/mode/velocity/velocity.js +186 -0
  304. data/core/admin/assets/js/vendor/codemirror/mode/verilog/index.html +132 -0
  305. data/core/admin/assets/js/vendor/codemirror/mode/verilog/verilog.js +182 -0
  306. data/core/admin/assets/js/vendor/codemirror/mode/xml/index.html +57 -0
  307. data/core/admin/assets/js/vendor/codemirror/mode/xml/xml.js +345 -0
  308. data/core/admin/assets/js/vendor/codemirror/mode/xquery/index.html +210 -0
  309. data/core/admin/assets/js/vendor/codemirror/mode/xquery/test.js +64 -0
  310. data/core/admin/assets/js/vendor/codemirror/mode/xquery/xquery.js +432 -0
  311. data/core/admin/assets/js/vendor/codemirror/mode/yaml/index.html +80 -0
  312. data/core/admin/assets/js/vendor/codemirror/mode/yaml/yaml.js +97 -0
  313. data/core/admin/assets/js/vendor/codemirror/mode/z80/index.html +52 -0
  314. data/core/admin/assets/js/vendor/codemirror/mode/z80/z80.js +85 -0
  315. data/core/admin/assets/js/vendor/codemirror/package.json +19 -0
  316. data/core/admin/assets/js/vendor/codemirror/test/comment_test.js +51 -0
  317. data/core/admin/assets/js/vendor/codemirror/test/doc_test.js +329 -0
  318. data/core/admin/assets/js/vendor/codemirror/test/driver.js +139 -0
  319. data/core/admin/assets/js/vendor/codemirror/test/emacs_test.js +135 -0
  320. data/core/admin/assets/js/vendor/codemirror/test/index.html +209 -0
  321. data/core/admin/assets/js/vendor/codemirror/test/lint/acorn.js +1593 -0
  322. data/core/admin/assets/js/vendor/codemirror/test/lint/lint.js +139 -0
  323. data/core/admin/assets/js/vendor/codemirror/test/lint/walk.js +216 -0
  324. data/core/admin/assets/js/vendor/codemirror/test/mode_test.css +10 -0
  325. data/core/admin/assets/js/vendor/codemirror/test/mode_test.js +200 -0
  326. data/core/admin/assets/js/vendor/codemirror/test/phantom_driver.js +31 -0
  327. data/core/admin/assets/js/vendor/codemirror/test/run.js +34 -0
  328. data/core/admin/assets/js/vendor/codemirror/test/test.js +1562 -0
  329. data/core/admin/assets/js/vendor/codemirror/test/vim_test.js +2391 -0
  330. data/core/admin/assets/js/vendor/codemirror/theme/3024-day.css +34 -0
  331. data/core/admin/assets/js/vendor/codemirror/theme/3024-night.css +34 -0
  332. data/core/admin/assets/js/vendor/codemirror/theme/ambiance-mobile.css +5 -0
  333. data/core/admin/assets/js/vendor/codemirror/theme/ambiance.css +75 -0
  334. data/core/admin/assets/js/vendor/codemirror/theme/base16-dark.css +34 -0
  335. data/core/admin/assets/js/vendor/codemirror/theme/base16-light.css +34 -0
  336. data/core/admin/assets/js/vendor/codemirror/theme/blackboard.css +28 -0
  337. data/core/admin/assets/js/vendor/codemirror/theme/cobalt.css +21 -0
  338. data/core/admin/assets/js/vendor/codemirror/theme/eclipse.css +23 -0
  339. data/core/admin/assets/js/vendor/codemirror/theme/elegant.css +13 -0
  340. data/core/admin/assets/js/vendor/codemirror/theme/erlang-dark.css +30 -0
  341. data/core/admin/assets/js/vendor/codemirror/theme/lesser-dark.css +47 -0
  342. data/core/admin/assets/js/vendor/codemirror/theme/mbo.css +35 -0
  343. data/core/admin/assets/js/vendor/codemirror/theme/midnight.css +43 -0
  344. data/core/admin/assets/js/vendor/codemirror/theme/monokai.css +29 -0
  345. data/core/admin/assets/js/vendor/codemirror/theme/neat.css +12 -0
  346. data/core/admin/assets/js/vendor/codemirror/theme/night.css +24 -0
  347. data/core/admin/assets/js/vendor/codemirror/theme/paraiso-dark.css +34 -0
  348. data/core/admin/assets/js/vendor/codemirror/theme/paraiso-light.css +34 -0
  349. data/core/admin/assets/js/vendor/codemirror/theme/rubyblue.css +23 -0
  350. data/core/admin/assets/js/vendor/codemirror/theme/solarized-mod.css +181 -0
  351. data/core/admin/assets/js/vendor/codemirror/theme/solarized.css +180 -0
  352. data/core/admin/assets/js/vendor/codemirror/theme/the-matrix.css +26 -0
  353. data/core/admin/assets/js/vendor/codemirror/theme/tomorrow-night-eighties.css +34 -0
  354. data/core/admin/assets/js/vendor/codemirror/theme/twilight.css +28 -0
  355. data/core/admin/assets/js/vendor/codemirror/theme/vibrant-ink.css +30 -0
  356. data/core/admin/assets/js/vendor/codemirror/theme/xq-dark.css +49 -0
  357. data/core/admin/assets/js/vendor/codemirror/theme/xq-light.css +43 -0
  358. data/core/admin/assets/js/vendor/fastclick.js +777 -0
  359. data/core/admin/assets/js/vendor/jquery.js +6 -0
  360. data/core/admin/assets/js/vendor/lodash.underscore.js +38 -0
  361. data/core/admin/assets/js/vendor/require.js +36 -0
  362. data/core/admin/assets/scss/bootstrap.scss +18 -0
  363. data/core/admin/assets/scss/modules/_all.scss +7 -0
  364. data/core/admin/assets/scss/modules/_colors.scss +7 -0
  365. data/core/admin/assets/scss/modules/_extensions.scss +24 -0
  366. data/core/admin/assets/scss/modules/_mixins.scss +18 -0
  367. data/core/admin/assets/scss/modules/_susy.scss +7 -0
  368. data/core/admin/assets/scss/partials/_base.scss +33 -0
  369. data/core/admin/assets/scss/partials/_buttons.scss +9 -0
  370. data/core/admin/assets/scss/partials/_links.scss +15 -0
  371. data/core/admin/assets/scss/partials/_main.scss +14 -0
  372. data/core/admin/assets/scss/partials/_typography.scss +15 -0
  373. data/core/admin/assets/scss/sections/_editor.scss +274 -0
  374. data/core/admin/assets/scss/sections/_login.scss +34 -0
  375. data/core/admin/assets/scss/vendor/_normalize.scss +406 -0
  376. data/core/admin/layouts/admin.haml +67 -0
  377. data/core/admin/partials/_head.haml +23 -0
  378. data/core/admin/partials/_tree.haml +3 -0
  379. data/core/admin/partials/_treeitem.haml +4 -0
  380. data/core/admin/settings.yml +4 -0
  381. data/core/app.rb +21 -0
  382. data/core/classes/cached.rb +35 -0
  383. data/core/classes/checker.rb +37 -0
  384. data/core/classes/commit.rb +62 -0
  385. data/core/classes/error.rb +9 -0
  386. data/core/classes/page.rb +165 -0
  387. data/core/classes/partial.rb +13 -0
  388. data/core/classes/path.rb +30 -0
  389. data/core/classes/persona.rb +55 -0
  390. data/core/classes/sassfile.rb +95 -0
  391. data/core/classes/settings.rb +19 -0
  392. data/core/classes/theme.rb +55 -0
  393. data/core/helpers/base.rb +46 -0
  394. data/core/helpers/render.rb +26 -0
  395. data/core/helpers/truncate.rb +17 -0
  396. data/core/routes/admin.rb +139 -0
  397. data/core/routes/assetcompiler.rb +23 -0
  398. data/core/routes/base.rb +22 -0
  399. data/core/routes/bootstrap.rb +35 -0
  400. data/core/routes/cache.rb +52 -0
  401. data/core/routes/deploy.rb +16 -0
  402. data/core/routes/git.rb +23 -0
  403. data/poly.gemspec +29 -0
  404. data/sample/.cabi-data +0 -0
  405. data/sample/data/home/index.haml +22 -0
  406. data/sample/data/other/nav/links.yml +4 -0
  407. data/sample/data/page/about/index.haml +12 -0
  408. data/sample/data/page/contact-us/index.haml +11 -0
  409. data/sample/data/page/dynamic-page/index.haml +14 -0
  410. data/sample/data/page/error/index.haml +8 -0
  411. data/sample/data/page/html/index.html +4 -0
  412. data/sample/data/page/no-front-matter/index.haml +7 -0
  413. data/sample/data/page/not-found/index.haml +8 -0
  414. data/sample/data/page/static-page/index.haml +14 -0
  415. data/sample/data/post/about-life/index.md +12 -0
  416. data/sample/data/post/sample-post/index.haml +12 -0
  417. data/sample/data/post/technology/index.haml +12 -0
  418. data/sample/data/post/the-40-hour-workweek/index.haml +9 -0
  419. data/sample/data/post/things-are-changing/index.haml +9 -0
  420. data/sample/data/post/yet-another-post/index.haml +11 -0
  421. data/sample/plugins/my-plugin/plugin.rb +15 -0
  422. data/sample/settings.yml +21 -0
  423. data/sample/themes/base/assets/css/readme.txt +6 -0
  424. data/sample/themes/base/assets/images/poly.svg +36 -0
  425. data/sample/themes/base/assets/js/app/views/main.js +13 -0
  426. data/sample/themes/base/assets/js/main.js +31 -0
  427. data/sample/themes/base/assets/js/vendor/backbone.js +4 -0
  428. data/sample/themes/base/assets/js/vendor/jquery.js +6 -0
  429. data/sample/themes/base/assets/js/vendor/lodash.underscore.js +38 -0
  430. data/sample/themes/base/assets/js/vendor/require.js +36 -0
  431. data/sample/themes/base/assets/scss/bootstrap.scss +20 -0
  432. data/sample/themes/base/assets/scss/modules/_all.scss +7 -0
  433. data/sample/themes/base/assets/scss/modules/_colors.scss +7 -0
  434. data/sample/themes/base/assets/scss/modules/_extensions.scss +13 -0
  435. data/sample/themes/base/assets/scss/modules/_mixins.scss +11 -0
  436. data/sample/themes/base/assets/scss/modules/_susy.scss +7 -0
  437. data/sample/themes/base/assets/scss/partials/_base.scss +33 -0
  438. data/sample/themes/base/assets/scss/partials/_buttons.scss +0 -0
  439. data/sample/themes/base/assets/scss/partials/_links.scss +15 -0
  440. data/sample/themes/base/assets/scss/partials/_main.scss +39 -0
  441. data/sample/themes/base/assets/scss/partials/_typography.scss +15 -0
  442. data/sample/themes/base/assets/scss/sections/_footer.scss +22 -0
  443. data/sample/themes/base/assets/scss/sections/_header.scss +23 -0
  444. data/sample/themes/base/assets/scss/sections/_home.scss +13 -0
  445. data/sample/themes/base/assets/scss/sections/_pages.scss +11 -0
  446. data/sample/themes/base/assets/scss/vendor/_normalize.scss +406 -0
  447. data/sample/themes/base/layouts/default.haml +14 -0
  448. data/sample/themes/base/layouts/post.haml +15 -0
  449. data/sample/themes/base/partials/_footer.haml +9 -0
  450. data/sample/themes/base/partials/_ga.haml +10 -0
  451. data/sample/themes/base/partials/_head.haml +20 -0
  452. data/sample/themes/base/partials/_header.haml +5 -0
  453. data/sample/themes/base/settings.yml +4 -0
  454. data/test/data/post-receive-hook.json +146 -0
  455. data/test/test_basics.rb +50 -0
  456. data/test/test_data.rb +14 -0
  457. data/test/test_deploy.rb +23 -0
  458. data/test/test_includes.rb +43 -0
  459. data/test/test_page.rb +47 -0
  460. metadata +1049 -0
@@ -0,0 +1,41 @@
1
+ // declare global: tern, server
2
+
3
+ var server;
4
+
5
+ this.onmessage = function(e) {
6
+ var data = e.data;
7
+ switch (data.type) {
8
+ case "init": return startServer(data.defs, data.plugins, data.scripts);
9
+ case "add": return server.addFile(data.name, data.text);
10
+ case "del": return server.delFile(data.name);
11
+ case "req": return server.request(data.body, function(err, reqData) {
12
+ postMessage({id: data.id, body: reqData, err: err && String(err)});
13
+ });
14
+ case "getFile":
15
+ var c = pending[data.id];
16
+ delete pending[data.id];
17
+ return c(data.err, data.text);
18
+ default: throw new Error("Unknown message type: " + data.type);
19
+ }
20
+ };
21
+
22
+ var nextId = 0, pending = {};
23
+ function getFile(file, c) {
24
+ postMessage({type: "getFile", name: file, id: ++nextId});
25
+ pending[nextId] = c;
26
+ }
27
+
28
+ function startServer(defs, plugins, scripts) {
29
+ if (scripts) importScripts.apply(null, scripts);
30
+
31
+ server = new tern.Server({
32
+ getFile: getFile,
33
+ async: true,
34
+ defs: defs,
35
+ plugins: plugins
36
+ });
37
+ }
38
+
39
+ var console = {
40
+ log: function(v) { postMessage({type: "debug", message: v}); }
41
+ };
@@ -0,0 +1,99 @@
1
+ (function() {
2
+ "use strict";
3
+
4
+ var Pos = CodeMirror.Pos;
5
+
6
+ function findParagraph(cm, pos, options) {
7
+ var startRE = options.paragraphStart || cm.getHelper(pos, "paragraphStart");
8
+ for (var start = pos.line, first = cm.firstLine(); start > first; --start) {
9
+ var line = cm.getLine(start);
10
+ if (startRE && startRE.test(line)) break;
11
+ if (!/\S/.test(line)) { ++start; break; }
12
+ }
13
+ var endRE = options.paragraphEnd || cm.getHelper(pos, "paragraphEnd");
14
+ for (var end = pos.line + 1, last = cm.lastLine(); end <= last; ++end) {
15
+ var line = cm.getLine(end);
16
+ if (endRE && endRE.test(line)) { ++end; break; }
17
+ if (!/\S/.test(line)) break;
18
+ }
19
+ return {from: start, to: end};
20
+ }
21
+
22
+ function findBreakPoint(text, column, wrapOn, killTrailingSpace) {
23
+ for (var at = column; at > 0; --at)
24
+ if (wrapOn.test(text.slice(at - 1, at + 1))) break;
25
+ if (at == 0) at = column;
26
+ var endOfText = at;
27
+ if (killTrailingSpace)
28
+ while (text.charAt(endOfText - 1) == " ") --endOfText;
29
+ return {from: endOfText, to: at};
30
+ }
31
+
32
+ function wrapRange(cm, from, to, options) {
33
+ from = cm.clipPos(from); to = cm.clipPos(to);
34
+ var column = options.column || 80;
35
+ var wrapOn = options.wrapOn || /\s\S|-[^\.\d]/;
36
+ var killTrailing = options.killTrailingSpace !== false;
37
+ var changes = [], curLine = "", curNo = from.line;
38
+ var lines = cm.getRange(from, to, false);
39
+ for (var i = 0; i < lines.length; ++i) {
40
+ var text = lines[i], oldLen = curLine.length, spaceInserted = 0;
41
+ if (curLine && text && !wrapOn.test(curLine.charAt(curLine.length - 1) + text.charAt(0))) {
42
+ curLine += " ";
43
+ spaceInserted = 1;
44
+ }
45
+ curLine += text;
46
+ if (i) {
47
+ var firstBreak = curLine.length > column && findBreakPoint(curLine, column, wrapOn, killTrailing);
48
+ // If this isn't broken, or is broken at a different point, remove old break
49
+ if (!firstBreak || firstBreak.from != oldLen || firstBreak.to != oldLen + spaceInserted) {
50
+ changes.push({text: spaceInserted ? " " : "",
51
+ from: Pos(curNo, oldLen),
52
+ to: Pos(curNo + 1, 0)});
53
+ } else {
54
+ curLine = text;
55
+ ++curNo;
56
+ }
57
+ }
58
+ while (curLine.length > column) {
59
+ var bp = findBreakPoint(curLine, column, wrapOn, killTrailing);
60
+ changes.push({text: "\n",
61
+ from: Pos(curNo, bp.from),
62
+ to: Pos(curNo, bp.to)});
63
+ curLine = curLine.slice(bp.to);
64
+ ++curNo;
65
+ }
66
+ }
67
+ if (changes.length) cm.operation(function() {
68
+ for (var i = 0; i < changes.length; ++i) {
69
+ var change = changes[i];
70
+ cm.replaceRange(change.text, change.from, change.to);
71
+ }
72
+ });
73
+ }
74
+
75
+ CodeMirror.defineExtension("wrapParagraph", function(pos, options) {
76
+ options = options || {};
77
+ if (!pos) pos = this.getCursor();
78
+ var para = findParagraph(this, pos, options);
79
+ wrapRange(this, Pos(para.from, 0), Pos(para.to - 1), options);
80
+ });
81
+
82
+ CodeMirror.defineExtension("wrapRange", function(from, to, options) {
83
+ wrapRange(this, from, to, options || {});
84
+ });
85
+
86
+ CodeMirror.defineExtension("wrapParagraphsInRange", function(from, to, options) {
87
+ options = options || {};
88
+ var cm = this, paras = [];
89
+ for (var line = from.line; line <= to.line;) {
90
+ var para = findParagraph(cm, Pos(line, 0), options);
91
+ paras.push(para);
92
+ line = para.to;
93
+ }
94
+ if (paras.length) cm.operation(function() {
95
+ for (var i = paras.length - 1; i >= 0; --i)
96
+ wrapRange(cm, Pos(paras[i].from, 0), Pos(paras[i].to - 1), options);
97
+ });
98
+ });
99
+ })();
@@ -0,0 +1,6 @@
1
+ # Combine existing list of authors with everyone known in git, sort, add header.
2
+ tail --lines=+3 AUTHORS > AUTHORS.tmp
3
+ git log --format='%aN' >> AUTHORS.tmp
4
+ echo -e "List of CodeMirror contributors. Updated before every release.\n" > AUTHORS
5
+ sort -u AUTHORS.tmp >> AUTHORS
6
+ rm -f AUTHORS.tmp
@@ -0,0 +1,92 @@
1
+ #!/usr/bin/env node
2
+
3
+ // Compression helper for CodeMirror
4
+ //
5
+ // Example:
6
+ //
7
+ // bin/compress codemirror runmode javascript xml
8
+ //
9
+ // Will take lib/codemirror.js, addon/runmode/runmode.js,
10
+ // mode/javascript/javascript.js, and mode/xml/xml.js, run them though
11
+ // the online minifier at http://marijnhaverbeke.nl/uglifyjs, and spit
12
+ // out the result.
13
+ //
14
+ // bin/compress codemirror --local /path/to/bin/UglifyJS
15
+ //
16
+ // Will use a local minifier instead of the online default one.
17
+ //
18
+ // Script files are specified without .js ending. Prefixing them with
19
+ // their full (local) path is optional. So you may say lib/codemirror
20
+ // or mode/xml/xml to be more precise. In fact, even the .js suffix
21
+ // may be speficied, if wanted.
22
+
23
+ "use strict";
24
+
25
+ var fs = require("fs");
26
+
27
+ function help(ok) {
28
+ console.log("usage: " + process.argv[1] + " [--local /path/to/uglifyjs] files...");
29
+ process.exit(ok ? 0 : 1);
30
+ }
31
+
32
+ var local = null, args = [], extraArgs = null, files = [], blob = "";
33
+
34
+ for (var i = 2; i < process.argv.length; ++i) {
35
+ var arg = process.argv[i];
36
+ if (arg == "--local" && i + 1 < process.argv.length) {
37
+ var parts = process.argv[++i].split(/\s+/);
38
+ local = parts[0];
39
+ extraArgs = parts.slice(1);
40
+ if (!extraArgs.length) extraArgs = ["-c", "-m"];
41
+ } else if (arg == "--help") {
42
+ help(true);
43
+ } else if (arg[0] != "-") {
44
+ files.push({name: arg, re: new RegExp("(?:\\/|^)" + arg + (/\.js$/.test(arg) ? "$" : "\\.js$"))});
45
+ } else help(false);
46
+ }
47
+
48
+ function walk(dir) {
49
+ fs.readdirSync(dir).forEach(function(fname) {
50
+ if (/^[_\.]/.test(fname)) return;
51
+ var file = dir + fname;
52
+ if (fs.statSync(file).isDirectory()) return walk(file + "/");
53
+ if (files.some(function(spec, i) {
54
+ var match = spec.re.test(file);
55
+ if (match) files.splice(i, 1);
56
+ return match;
57
+ })) {
58
+ if (local) args.push(file);
59
+ else blob += fs.readFileSync(file, "utf8");
60
+ }
61
+ });
62
+ }
63
+
64
+ walk("lib/");
65
+ walk("addon/");
66
+ walk("mode/");
67
+
68
+ if (!local && !blob) help(false);
69
+
70
+ if (files.length) {
71
+ console.log("Some speficied files were not found: " +
72
+ files.map(function(a){return a.name;}).join(", "));
73
+ process.exit(1);
74
+ }
75
+
76
+ if (local) {
77
+ require("child_process").spawn(local, args.concat(extraArgs), {stdio: ["ignore", process.stdout, process.stderr]});
78
+ } else {
79
+ var data = new Buffer("js_code=" + require("querystring").escape(blob), "utf8");
80
+ var req = require("http").request({
81
+ host: "marijnhaverbeke.nl",
82
+ port: 80,
83
+ method: "POST",
84
+ path: "/uglifyjs",
85
+ headers: {"content-type": "application/x-www-form-urlencoded",
86
+ "content-length": data.length}
87
+ });
88
+ req.on("response", function(resp) {
89
+ resp.on("data", function (chunk) { process.stdout.write(chunk); });
90
+ });
91
+ req.end(data);
92
+ }
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+
3
+ var lint = require("../test/lint/lint"),
4
+ path = require("path");
5
+
6
+ if (process.argv.length > 2) {
7
+ lint.checkDir(process.argv[2]);
8
+ } else {
9
+ process.chdir(path.resolve(__dirname, ".."));
10
+ lint.checkDir("lib");
11
+ lint.checkDir("mode");
12
+ lint.checkDir("addon");
13
+ lint.checkDir("keymap");
14
+ }
15
+
16
+ process.exit(lint.success() ? 0 : 1);
@@ -0,0 +1,61 @@
1
+ #!/usr/bin/env node
2
+
3
+ // Simple command-line code highlighting tool. Reads code from stdin,
4
+ // spits html to stdout. For example:
5
+ //
6
+ // echo 'function foo(a) { return a; }' | bin/source-highlight -s javascript
7
+ // bin/source-highlight -s
8
+
9
+ var fs = require("fs");
10
+
11
+ CodeMirror = require("../addon/runmode/runmode.node.js");
12
+ require("../mode/meta.js");
13
+
14
+ var sPos = process.argv.indexOf("-s");
15
+ if (sPos == -1 || sPos == process.argv.length - 1) {
16
+ console.error("Usage: source-highlight -s language");
17
+ process.exit(1);
18
+ }
19
+ var lang = process.argv[sPos + 1].toLowerCase(), modeName = lang;
20
+ CodeMirror.modeInfo.forEach(function(info) {
21
+ if (info.mime == lang) {
22
+ modeName = info.mode;
23
+ } else if (info.name.toLowerCase() == lang) {
24
+ modeName = info.mode;
25
+ lang = info.mime;
26
+ }
27
+ });
28
+
29
+ function ensureMode(name) {
30
+ if (CodeMirror.modes[name] || name == "null") return;
31
+ try {
32
+ require("../mode/" + name + "/" + name + ".js");
33
+ } catch(e) {
34
+ console.error("Could not load mode " + name + ".");
35
+ process.exit(1);
36
+ }
37
+ var obj = CodeMirror.modes[name];
38
+ if (obj.dependencies) obj.dependencies.forEach(ensureMode);
39
+ }
40
+ ensureMode(modeName);
41
+
42
+ function esc(str) {
43
+ return str.replace(/[<&]/, function(ch) { return ch == "&" ? "&amp;" : "&lt;"; });
44
+ }
45
+
46
+ var code = fs.readFileSync("/dev/stdin", "utf8");
47
+ var curStyle = null, accum = "";
48
+ function flush() {
49
+ if (curStyle) process.stdout.write("<span class=\"" + curStyle.replace(/(^|\s+)/g, "$1cm-") + "\">" + esc(accum) + "</span>");
50
+ else process.stdout.write(esc(accum));
51
+ }
52
+
53
+ CodeMirror.runMode(code, lang, function(text, style) {
54
+ if (style != curStyle) {
55
+ flush();
56
+ curStyle = style; accum = text;
57
+ } else {
58
+ accum += text;
59
+ }
60
+ });
61
+ flush();
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "CodeMirror",
3
+ "main": ["lib/codemirror.js", "lib/codemirror.css"],
4
+ "ignore": [
5
+ "**/.*",
6
+ "node_modules",
7
+ "components",
8
+ "bin",
9
+ "demo",
10
+ "doc",
11
+ "test",
12
+ "index.html",
13
+ "package.json"
14
+ ]
15
+ }
@@ -0,0 +1,78 @@
1
+ <!doctype html>
2
+
3
+ <title>CodeMirror: Active Line Demo</title>
4
+ <meta charset="utf-8"/>
5
+ <link rel=stylesheet href="../doc/docs.css">
6
+
7
+ <link rel="stylesheet" href="../lib/codemirror.css">
8
+ <script src="../lib/codemirror.js"></script>
9
+ <script src="../mode/xml/xml.js"></script>
10
+ <script src="../addon/selection/active-line.js"></script>
11
+ <style type="text/css">
12
+ .CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}
13
+ </style>
14
+ <div id=nav>
15
+ <a href="http://codemirror.net"><img id=logo src="../doc/logo.png"></a>
16
+
17
+ <ul>
18
+ <li><a href="../index.html">Home</a>
19
+ <li><a href="../doc/manual.html">Manual</a>
20
+ <li><a href="https://github.com/marijnh/codemirror">Code</a>
21
+ </ul>
22
+ <ul>
23
+ <li><a class=active href="#">Active Line</a>
24
+ </ul>
25
+ </div>
26
+
27
+ <article>
28
+ <h2>Active Line Demo</h2>
29
+ <form><textarea id="code" name="code">
30
+ <?xml version="1.0" encoding="UTF-8"?>
31
+ <rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"
32
+ xmlns:georss="http://www.georss.org/georss"
33
+ xmlns:twitter="http://api.twitter.com">
34
+ <channel>
35
+ <title>Twitter / codemirror</title>
36
+ <link>http://twitter.com/codemirror</link>
37
+ <atom:link type="application/rss+xml"
38
+ href="http://twitter.com/statuses/user_timeline/242283288.rss" rel="self"/>
39
+ <description>Twitter updates from CodeMirror / codemirror.</description>
40
+ <language>en-us</language>
41
+ <ttl>40</ttl>
42
+ <item>
43
+ <title>codemirror: http://cloud-ide.com &#8212; they're springing up like mushrooms. This one
44
+ uses CodeMirror as its editor.</title>
45
+ <description>codemirror: http://cloud-ide.com &#8212; they're springing up like mushrooms. This
46
+ one uses CodeMirror as its editor.</description>
47
+ <pubDate>Thu, 17 Mar 2011 23:34:47 +0000</pubDate>
48
+ <guid>http://twitter.com/codemirror/statuses/48527733722058752</guid>
49
+ <link>http://twitter.com/codemirror/statuses/48527733722058752</link>
50
+ <twitter:source>web</twitter:source>
51
+ <twitter:place/>
52
+ </item>
53
+ <item>
54
+ <title>codemirror: Posted a description of the CodeMirror 2 internals at
55
+ http://codemirror.net/2/internals.html</title>
56
+ <description>codemirror: Posted a description of the CodeMirror 2 internals at
57
+ http://codemirror.net/2/internals.html</description>
58
+ <pubDate>Wed, 02 Mar 2011 12:15:09 +0000</pubDate>
59
+ <guid>http://twitter.com/codemirror/statuses/42920879788789760</guid>
60
+ <link>http://twitter.com/codemirror/statuses/42920879788789760</link>
61
+ <twitter:source>web</twitter:source>
62
+ <twitter:place/>
63
+ </item>
64
+ </channel>
65
+ </rss></textarea></form>
66
+
67
+ <script>
68
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
69
+ mode: "application/xml",
70
+ styleActiveLine: true,
71
+ lineNumbers: true,
72
+ lineWrapping: true
73
+ });
74
+ </script>
75
+
76
+ <p>Styling the current cursor line.</p>
77
+
78
+ </article>
@@ -0,0 +1,79 @@
1
+ <!doctype html>
2
+
3
+ <title>CodeMirror: Any Word Completion Demo</title>
4
+ <meta charset="utf-8"/>
5
+ <link rel=stylesheet href="../doc/docs.css">
6
+
7
+ <link rel="stylesheet" href="../lib/codemirror.css">
8
+ <link rel="stylesheet" href="../addon/hint/show-hint.css">
9
+ <script src="../lib/codemirror.js"></script>
10
+ <script src="../addon/hint/show-hint.js"></script>
11
+ <script src="../addon/hint/anyword-hint.js"></script>
12
+ <script src="../mode/javascript/javascript.js"></script>
13
+ <div id=nav>
14
+ <a href="http://codemirror.net"><img id=logo src="../doc/logo.png"></a>
15
+
16
+ <ul>
17
+ <li><a href="../index.html">Home</a>
18
+ <li><a href="../doc/manual.html">Manual</a>
19
+ <li><a href="https://github.com/marijnh/codemirror">Code</a>
20
+ </ul>
21
+ <ul>
22
+ <li><a class=active href="#">Any Word Completion</a>
23
+ </ul>
24
+ </div>
25
+
26
+ <article>
27
+ <h2>Any Word Completion Demo</h2>
28
+ <form><textarea id="code" name="code">
29
+ (function() {
30
+ "use strict";
31
+
32
+ var WORD = /[\w$]+/g, RANGE = 500;
33
+
34
+ CodeMirror.registerHelper("hint", "anyword", function(editor, options) {
35
+ var word = options && options.word || WORD;
36
+ var range = options && options.range || RANGE;
37
+ var cur = editor.getCursor(), curLine = editor.getLine(cur.line);
38
+ var start = cur.ch, end = start;
39
+ while (end < curLine.length && word.test(curLine.charAt(end))) ++end;
40
+ while (start && word.test(curLine.charAt(start - 1))) --start;
41
+ var curWord = start != end && curLine.slice(start, end);
42
+
43
+ var list = [], seen = {};
44
+ function scan(dir) {
45
+ var line = cur.line, end = Math.min(Math.max(line + dir * range, editor.firstLine()), editor.lastLine()) + dir;
46
+ for (; line != end; line += dir) {
47
+ var text = editor.getLine(line), m;
48
+ word.lastIndex = 0;
49
+ while (m = word.exec(text)) {
50
+ if ((!curWord || m[0].indexOf(curWord) == 0) && !seen.hasOwnProperty(m[0])) {
51
+ seen[m[0]] = true;
52
+ list.push(m[0]);
53
+ }
54
+ }
55
+ }
56
+ }
57
+ scan(-1);
58
+ scan(1);
59
+ return {list: list, from: CodeMirror.Pos(cur.line, start), to: CodeMirror.Pos(cur.line, end)};
60
+ });
61
+ })();
62
+ </textarea></form>
63
+
64
+ <p>Press <strong>ctrl-space</strong> to activate autocompletion. The
65
+ completion uses
66
+ the <a href="../doc/manual.html#addon_anyword-hint">anyword-hint.js</a>
67
+ module, which simply looks at nearby words in the buffer and completes
68
+ to those.</p>
69
+
70
+ <script>
71
+ CodeMirror.commands.autocomplete = function(cm) {
72
+ CodeMirror.showHint(cm, CodeMirror.hint.anyword);
73
+ }
74
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
75
+ lineNumbers: true,
76
+ extraKeys: {"Ctrl-Space": "autocomplete"}
77
+ });
78
+ </script>
79
+ </article>