poly-cms 0.1.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.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/Gemfile +27 -0
- data/Gemfile.lock +95 -0
- data/README.md +3 -0
- data/Rakefile +45 -0
- data/bin/poly +88 -0
- data/config.ru +3 -0
- data/core/admin/assets/images/icons/cache-clear.svg +11 -0
- data/core/admin/assets/images/icons/delete-dark.svg +10 -0
- data/core/admin/assets/images/icons/delete.svg +10 -0
- data/core/admin/assets/images/icons/handle.svg +12 -0
- data/core/admin/assets/images/icons/logout.svg +13 -0
- data/core/admin/assets/images/icons/move.svg +10 -0
- data/core/admin/assets/images/icons/new.svg +9 -0
- data/core/admin/assets/images/icons/prompt.svg +11 -0
- data/core/admin/assets/images/icons/refresh.svg +40 -0
- data/core/admin/assets/images/icons/save.svg +7 -0
- data/core/admin/assets/images/poly-small-boxed.svg +51 -0
- data/core/admin/assets/images/poly-small.svg +52 -0
- data/core/admin/assets/images/poly.svg +36 -0
- data/core/admin/assets/js/app/file-ext.js +15 -0
- data/core/admin/assets/js/app/views/editor.js +300 -0
- data/core/admin/assets/js/app/views/git.js +65 -0
- data/core/admin/assets/js/app/views/main.js +59 -0
- data/core/admin/assets/js/main.js +44 -0
- data/core/admin/assets/js/routes.js +25 -0
- data/core/admin/assets/js/vendor/backbone.js +4 -0
- data/core/admin/assets/js/vendor/codemirror/.gitattributes +8 -0
- data/core/admin/assets/js/vendor/codemirror/.gitignore +6 -0
- data/core/admin/assets/js/vendor/codemirror/.travis.yml +3 -0
- data/core/admin/assets/js/vendor/codemirror/addon/comment/comment.js +145 -0
- data/core/admin/assets/js/vendor/codemirror/addon/comment/continuecomment.js +54 -0
- data/core/admin/assets/js/vendor/codemirror/addon/dialog/dialog.css +32 -0
- data/core/admin/assets/js/vendor/codemirror/addon/dialog/dialog.js +80 -0
- data/core/admin/assets/js/vendor/codemirror/addon/display/fullscreen.css +6 -0
- data/core/admin/assets/js/vendor/codemirror/addon/display/fullscreen.js +30 -0
- data/core/admin/assets/js/vendor/codemirror/addon/display/placeholder.js +54 -0
- data/core/admin/assets/js/vendor/codemirror/addon/edit/closebrackets.js +82 -0
- data/core/admin/assets/js/vendor/codemirror/addon/edit/closetag.js +87 -0
- data/core/admin/assets/js/vendor/codemirror/addon/edit/continuelist.js +25 -0
- data/core/admin/assets/js/vendor/codemirror/addon/edit/matchbrackets.js +86 -0
- data/core/admin/assets/js/vendor/codemirror/addon/edit/matchtags.js +56 -0
- data/core/admin/assets/js/vendor/codemirror/addon/edit/trailingspace.js +15 -0
- data/core/admin/assets/js/vendor/codemirror/addon/fold/brace-fold.js +93 -0
- data/core/admin/assets/js/vendor/codemirror/addon/fold/comment-fold.js +40 -0
- data/core/admin/assets/js/vendor/codemirror/addon/fold/foldcode.js +75 -0
- data/core/admin/assets/js/vendor/codemirror/addon/fold/foldgutter.css +21 -0
- data/core/admin/assets/js/vendor/codemirror/addon/fold/foldgutter.js +124 -0
- data/core/admin/assets/js/vendor/codemirror/addon/fold/indent-fold.js +26 -0
- data/core/admin/assets/js/vendor/codemirror/addon/fold/xml-fold.js +167 -0
- data/core/admin/assets/js/vendor/codemirror/addon/hint/anyword-hint.js +34 -0
- data/core/admin/assets/js/vendor/codemirror/addon/hint/css-hint.js +50 -0
- data/core/admin/assets/js/vendor/codemirror/addon/hint/html-hint.js +337 -0
- data/core/admin/assets/js/vendor/codemirror/addon/hint/javascript-hint.js +130 -0
- data/core/admin/assets/js/vendor/codemirror/addon/hint/pig-hint.js +121 -0
- data/core/admin/assets/js/vendor/codemirror/addon/hint/python-hint.js +95 -0
- data/core/admin/assets/js/vendor/codemirror/addon/hint/show-hint.css +38 -0
- data/core/admin/assets/js/vendor/codemirror/addon/hint/show-hint.js +274 -0
- data/core/admin/assets/js/vendor/codemirror/addon/hint/sql-hint.js +105 -0
- data/core/admin/assets/js/vendor/codemirror/addon/hint/xml-hint.js +69 -0
- data/core/admin/assets/js/vendor/codemirror/addon/lint/coffeescript-lint.js +27 -0
- data/core/admin/assets/js/vendor/codemirror/addon/lint/css-lint.js +19 -0
- data/core/admin/assets/js/vendor/codemirror/addon/lint/javascript-lint.js +126 -0
- data/core/admin/assets/js/vendor/codemirror/addon/lint/json-lint.js +17 -0
- data/core/admin/assets/js/vendor/codemirror/addon/lint/lint.css +73 -0
- data/core/admin/assets/js/vendor/codemirror/addon/lint/lint.js +203 -0
- data/core/admin/assets/js/vendor/codemirror/addon/merge/dep/diff_match_patch.js +50 -0
- data/core/admin/assets/js/vendor/codemirror/addon/merge/merge.css +92 -0
- data/core/admin/assets/js/vendor/codemirror/addon/merge/merge.js +474 -0
- data/core/admin/assets/js/vendor/codemirror/addon/mode/loadmode.js +51 -0
- data/core/admin/assets/js/vendor/codemirror/addon/mode/multiplex.js +101 -0
- data/core/admin/assets/js/vendor/codemirror/addon/mode/multiplex_test.js +30 -0
- data/core/admin/assets/js/vendor/codemirror/addon/mode/overlay.js +59 -0
- data/core/admin/assets/js/vendor/codemirror/addon/runmode/colorize.js +29 -0
- data/core/admin/assets/js/vendor/codemirror/addon/runmode/runmode-standalone.js +136 -0
- data/core/admin/assets/js/vendor/codemirror/addon/runmode/runmode.js +56 -0
- data/core/admin/assets/js/vendor/codemirror/addon/runmode/runmode.node.js +103 -0
- data/core/admin/assets/js/vendor/codemirror/addon/scroll/scrollpastend.js +34 -0
- data/core/admin/assets/js/vendor/codemirror/addon/search/match-highlighter.js +91 -0
- data/core/admin/assets/js/vendor/codemirror/addon/search/search.js +133 -0
- data/core/admin/assets/js/vendor/codemirror/addon/search/searchcursor.js +143 -0
- data/core/admin/assets/js/vendor/codemirror/addon/selection/active-line.js +39 -0
- data/core/admin/assets/js/vendor/codemirror/addon/selection/mark-selection.js +108 -0
- data/core/admin/assets/js/vendor/codemirror/addon/tern/tern.css +85 -0
- data/core/admin/assets/js/vendor/codemirror/addon/tern/tern.js +632 -0
- data/core/admin/assets/js/vendor/codemirror/addon/tern/worker.js +41 -0
- data/core/admin/assets/js/vendor/codemirror/addon/wrap/hardwrap.js +99 -0
- data/core/admin/assets/js/vendor/codemirror/bin/authors.sh +6 -0
- data/core/admin/assets/js/vendor/codemirror/bin/compress +92 -0
- data/core/admin/assets/js/vendor/codemirror/bin/lint +16 -0
- data/core/admin/assets/js/vendor/codemirror/bin/source-highlight +61 -0
- data/core/admin/assets/js/vendor/codemirror/bower.json +15 -0
- data/core/admin/assets/js/vendor/codemirror/demo/activeline.html +78 -0
- data/core/admin/assets/js/vendor/codemirror/demo/anywordhint.html +79 -0
- data/core/admin/assets/js/vendor/codemirror/demo/bidi.html +74 -0
- data/core/admin/assets/js/vendor/codemirror/demo/btree.html +86 -0
- data/core/admin/assets/js/vendor/codemirror/demo/buffers.html +109 -0
- data/core/admin/assets/js/vendor/codemirror/demo/changemode.html +59 -0
- data/core/admin/assets/js/vendor/codemirror/demo/closebrackets.html +63 -0
- data/core/admin/assets/js/vendor/codemirror/demo/closetag.html +40 -0
- data/core/admin/assets/js/vendor/codemirror/demo/complete.html +80 -0
- data/core/admin/assets/js/vendor/codemirror/demo/emacs.html +75 -0
- data/core/admin/assets/js/vendor/codemirror/demo/folding.html +75 -0
- data/core/admin/assets/js/vendor/codemirror/demo/fullscreen.html +130 -0
- data/core/admin/assets/js/vendor/codemirror/demo/hardwrap.html +69 -0
- data/core/admin/assets/js/vendor/codemirror/demo/html5complete.html +54 -0
- data/core/admin/assets/js/vendor/codemirror/demo/indentwrap.html +58 -0
- data/core/admin/assets/js/vendor/codemirror/demo/lint.html +171 -0
- data/core/admin/assets/js/vendor/codemirror/demo/loadmode.html +49 -0
- data/core/admin/assets/js/vendor/codemirror/demo/marker.html +52 -0
- data/core/admin/assets/js/vendor/codemirror/demo/markselection.html +45 -0
- data/core/admin/assets/js/vendor/codemirror/demo/matchhighlighter.html +47 -0
- data/core/admin/assets/js/vendor/codemirror/demo/matchtags.html +49 -0
- data/core/admin/assets/js/vendor/codemirror/demo/merge.html +82 -0
- data/core/admin/assets/js/vendor/codemirror/demo/multiplex.html +75 -0
- data/core/admin/assets/js/vendor/codemirror/demo/mustache.html +68 -0
- data/core/admin/assets/js/vendor/codemirror/demo/placeholder.html +45 -0
- data/core/admin/assets/js/vendor/codemirror/demo/preview.html +88 -0
- data/core/admin/assets/js/vendor/codemirror/demo/resize.html +58 -0
- data/core/admin/assets/js/vendor/codemirror/demo/runmode.html +62 -0
- data/core/admin/assets/js/vendor/codemirror/demo/search.html +94 -0
- data/core/admin/assets/js/vendor/codemirror/demo/spanaffectswrapping_shim.html +85 -0
- data/core/admin/assets/js/vendor/codemirror/demo/tern.html +128 -0
- data/core/admin/assets/js/vendor/codemirror/demo/theme.html +121 -0
- data/core/admin/assets/js/vendor/codemirror/demo/trailingspace.html +48 -0
- data/core/admin/assets/js/vendor/codemirror/demo/variableheight.html +61 -0
- data/core/admin/assets/js/vendor/codemirror/demo/vim.html +74 -0
- data/core/admin/assets/js/vendor/codemirror/demo/visibletabs.html +62 -0
- data/core/admin/assets/js/vendor/codemirror/demo/widget.html +85 -0
- data/core/admin/assets/js/vendor/codemirror/demo/xmlcomplete.html +116 -0
- data/core/admin/assets/js/vendor/codemirror/doc/activebookmark.js +42 -0
- data/core/admin/assets/js/vendor/codemirror/doc/compress.html +231 -0
- data/core/admin/assets/js/vendor/codemirror/doc/docs.css +226 -0
- data/core/admin/assets/js/vendor/codemirror/doc/internals.html +503 -0
- data/core/admin/assets/js/vendor/codemirror/doc/logo.png +0 -0
- data/core/admin/assets/js/vendor/codemirror/doc/logo.svg +147 -0
- data/core/admin/assets/js/vendor/codemirror/doc/manual.html +2512 -0
- data/core/admin/assets/js/vendor/codemirror/doc/realworld.html +134 -0
- data/core/admin/assets/js/vendor/codemirror/doc/releases.html +779 -0
- data/core/admin/assets/js/vendor/codemirror/doc/reporting.html +61 -0
- data/core/admin/assets/js/vendor/codemirror/doc/upgrade_v2.2.html +96 -0
- data/core/admin/assets/js/vendor/codemirror/doc/upgrade_v3.html +230 -0
- data/core/admin/assets/js/vendor/codemirror/index.html +192 -0
- data/core/admin/assets/js/vendor/codemirror/keymap/emacs.js +387 -0
- data/core/admin/assets/js/vendor/codemirror/keymap/extra.js +43 -0
- data/core/admin/assets/js/vendor/codemirror/keymap/vim.js +3704 -0
- data/core/admin/assets/js/vendor/codemirror/lib/codemirror.css +263 -0
- data/core/admin/assets/js/vendor/codemirror/lib/codemirror.js +5910 -0
- data/core/admin/assets/js/vendor/codemirror/mode/apl/apl.js +160 -0
- data/core/admin/assets/js/vendor/codemirror/mode/apl/index.html +72 -0
- data/core/admin/assets/js/vendor/codemirror/mode/asterisk/asterisk.js +183 -0
- data/core/admin/assets/js/vendor/codemirror/mode/asterisk/index.html +154 -0
- data/core/admin/assets/js/vendor/codemirror/mode/clike/clike.js +362 -0
- data/core/admin/assets/js/vendor/codemirror/mode/clike/index.html +195 -0
- data/core/admin/assets/js/vendor/codemirror/mode/clike/scala.html +767 -0
- data/core/admin/assets/js/vendor/codemirror/mode/clojure/clojure.js +224 -0
- data/core/admin/assets/js/vendor/codemirror/mode/clojure/index.html +88 -0
- data/core/admin/assets/js/vendor/codemirror/mode/cobol/cobol.js +240 -0
- data/core/admin/assets/js/vendor/codemirror/mode/cobol/index.html +210 -0
- data/core/admin/assets/js/vendor/codemirror/mode/coffeescript/coffeescript.js +349 -0
- data/core/admin/assets/js/vendor/codemirror/mode/coffeescript/index.html +740 -0
- data/core/admin/assets/js/vendor/codemirror/mode/commonlisp/commonlisp.js +105 -0
- data/core/admin/assets/js/vendor/codemirror/mode/commonlisp/index.html +177 -0
- data/core/admin/assets/js/vendor/codemirror/mode/css/css.js +639 -0
- data/core/admin/assets/js/vendor/codemirror/mode/css/index.html +70 -0
- data/core/admin/assets/js/vendor/codemirror/mode/css/scss.html +157 -0
- data/core/admin/assets/js/vendor/codemirror/mode/css/scss_test.js +84 -0
- data/core/admin/assets/js/vendor/codemirror/mode/css/test.js +130 -0
- data/core/admin/assets/js/vendor/codemirror/mode/d/d.js +205 -0
- data/core/admin/assets/js/vendor/codemirror/mode/d/index.html +273 -0
- data/core/admin/assets/js/vendor/codemirror/mode/diff/diff.js +32 -0
- data/core/admin/assets/js/vendor/codemirror/mode/diff/index.html +117 -0
- data/core/admin/assets/js/vendor/codemirror/mode/dtd/dtd.js +127 -0
- data/core/admin/assets/js/vendor/codemirror/mode/dtd/index.html +89 -0
- data/core/admin/assets/js/vendor/codemirror/mode/ecl/ecl.js +192 -0
- data/core/admin/assets/js/vendor/codemirror/mode/ecl/index.html +52 -0
- data/core/admin/assets/js/vendor/codemirror/mode/eiffel/eiffel.js +147 -0
- data/core/admin/assets/js/vendor/codemirror/mode/eiffel/index.html +430 -0
- data/core/admin/assets/js/vendor/codemirror/mode/erlang/erlang.js +484 -0
- data/core/admin/assets/js/vendor/codemirror/mode/erlang/index.html +75 -0
- data/core/admin/assets/js/vendor/codemirror/mode/fortran/fortran.js +173 -0
- data/core/admin/assets/js/vendor/codemirror/mode/fortran/index.html +81 -0
- data/core/admin/assets/js/vendor/codemirror/mode/gas/gas.js +330 -0
- data/core/admin/assets/js/vendor/codemirror/mode/gas/index.html +68 -0
- data/core/admin/assets/js/vendor/codemirror/mode/gfm/gfm.js +97 -0
- data/core/admin/assets/js/vendor/codemirror/mode/gfm/index.html +82 -0
- data/core/admin/assets/js/vendor/codemirror/mode/gfm/test.js +112 -0
- data/core/admin/assets/js/vendor/codemirror/mode/gherkin/gherkin.js +168 -0
- data/core/admin/assets/js/vendor/codemirror/mode/gherkin/index.html +48 -0
- data/core/admin/assets/js/vendor/codemirror/mode/go/go.js +168 -0
- data/core/admin/assets/js/vendor/codemirror/mode/go/index.html +85 -0
- data/core/admin/assets/js/vendor/codemirror/mode/groovy/groovy.js +211 -0
- data/core/admin/assets/js/vendor/codemirror/mode/groovy/index.html +84 -0
- data/core/admin/assets/js/vendor/codemirror/mode/haml/haml.js +153 -0
- data/core/admin/assets/js/vendor/codemirror/mode/haml/index.html +79 -0
- data/core/admin/assets/js/vendor/codemirror/mode/haml/test.js +94 -0
- data/core/admin/assets/js/vendor/codemirror/mode/haskell/haskell.js +250 -0
- data/core/admin/assets/js/vendor/codemirror/mode/haskell/index.html +73 -0
- data/core/admin/assets/js/vendor/codemirror/mode/haxe/haxe.js +429 -0
- data/core/admin/assets/js/vendor/codemirror/mode/haxe/index.html +103 -0
- data/core/admin/assets/js/vendor/codemirror/mode/htmlembedded/htmlembedded.js +73 -0
- data/core/admin/assets/js/vendor/codemirror/mode/htmlembedded/index.html +60 -0
- data/core/admin/assets/js/vendor/codemirror/mode/htmlmixed/htmlmixed.js +104 -0
- data/core/admin/assets/js/vendor/codemirror/mode/htmlmixed/index.html +85 -0
- data/core/admin/assets/js/vendor/codemirror/mode/http/http.js +98 -0
- data/core/admin/assets/js/vendor/codemirror/mode/http/index.html +45 -0
- data/core/admin/assets/js/vendor/codemirror/mode/index.html +112 -0
- data/core/admin/assets/js/vendor/codemirror/mode/jade/index.html +66 -0
- data/core/admin/assets/js/vendor/codemirror/mode/jade/jade.js +90 -0
- data/core/admin/assets/js/vendor/codemirror/mode/javascript/index.html +107 -0
- data/core/admin/assets/js/vendor/codemirror/mode/javascript/javascript.js +480 -0
- data/core/admin/assets/js/vendor/codemirror/mode/javascript/test.js +10 -0
- data/core/admin/assets/js/vendor/codemirror/mode/javascript/typescript.html +61 -0
- data/core/admin/assets/js/vendor/codemirror/mode/jinja2/index.html +50 -0
- data/core/admin/assets/js/vendor/codemirror/mode/jinja2/jinja2.js +42 -0
- data/core/admin/assets/js/vendor/codemirror/mode/less/index.html +753 -0
- data/core/admin/assets/js/vendor/codemirror/mode/less/less.js +344 -0
- data/core/admin/assets/js/vendor/codemirror/mode/livescript/index.html +459 -0
- data/core/admin/assets/js/vendor/codemirror/mode/livescript/livescript.js +267 -0
- data/core/admin/assets/js/vendor/codemirror/mode/livescript/livescript.ls +266 -0
- data/core/admin/assets/js/vendor/codemirror/mode/lua/index.html +86 -0
- data/core/admin/assets/js/vendor/codemirror/mode/lua/lua.js +144 -0
- data/core/admin/assets/js/vendor/codemirror/mode/markdown/index.html +359 -0
- data/core/admin/assets/js/vendor/codemirror/mode/markdown/markdown.js +551 -0
- data/core/admin/assets/js/vendor/codemirror/mode/markdown/test.js +656 -0
- data/core/admin/assets/js/vendor/codemirror/mode/meta.js +89 -0
- data/core/admin/assets/js/vendor/codemirror/mode/mirc/index.html +161 -0
- data/core/admin/assets/js/vendor/codemirror/mode/mirc/mirc.js +177 -0
- data/core/admin/assets/js/vendor/codemirror/mode/nginx/index.html +181 -0
- data/core/admin/assets/js/vendor/codemirror/mode/nginx/nginx.js +163 -0
- data/core/admin/assets/js/vendor/codemirror/mode/ntriples/index.html +45 -0
- data/core/admin/assets/js/vendor/codemirror/mode/ntriples/ntriples.js +170 -0
- data/core/admin/assets/js/vendor/codemirror/mode/ocaml/index.html +146 -0
- data/core/admin/assets/js/vendor/codemirror/mode/ocaml/ocaml.js +116 -0
- data/core/admin/assets/js/vendor/codemirror/mode/octave/index.html +95 -0
- data/core/admin/assets/js/vendor/codemirror/mode/octave/octave.js +118 -0
- data/core/admin/assets/js/vendor/codemirror/mode/pascal/index.html +61 -0
- data/core/admin/assets/js/vendor/codemirror/mode/pascal/pascal.js +94 -0
- data/core/admin/assets/js/vendor/codemirror/mode/perl/index.html +75 -0
- data/core/admin/assets/js/vendor/codemirror/mode/perl/perl.js +816 -0
- data/core/admin/assets/js/vendor/codemirror/mode/php/index.html +62 -0
- data/core/admin/assets/js/vendor/codemirror/mode/php/php.js +132 -0
- data/core/admin/assets/js/vendor/codemirror/mode/pig/index.html +55 -0
- data/core/admin/assets/js/vendor/codemirror/mode/pig/pig.js +171 -0
- data/core/admin/assets/js/vendor/codemirror/mode/properties/index.html +53 -0
- data/core/admin/assets/js/vendor/codemirror/mode/properties/properties.js +63 -0
- data/core/admin/assets/js/vendor/codemirror/mode/python/index.html +187 -0
- data/core/admin/assets/js/vendor/codemirror/mode/python/python.js +368 -0
- data/core/admin/assets/js/vendor/codemirror/mode/q/index.html +144 -0
- data/core/admin/assets/js/vendor/codemirror/mode/q/q.js +124 -0
- data/core/admin/assets/js/vendor/codemirror/mode/r/index.html +86 -0
- data/core/admin/assets/js/vendor/codemirror/mode/r/r.js +141 -0
- data/core/admin/assets/js/vendor/codemirror/mode/rpm/changes/changes.js +19 -0
- data/core/admin/assets/js/vendor/codemirror/mode/rpm/changes/index.html +67 -0
- data/core/admin/assets/js/vendor/codemirror/mode/rpm/spec/index.html +114 -0
- data/core/admin/assets/js/vendor/codemirror/mode/rpm/spec/spec.css +5 -0
- data/core/admin/assets/js/vendor/codemirror/mode/rpm/spec/spec.js +66 -0
- data/core/admin/assets/js/vendor/codemirror/mode/rst/index.html +534 -0
- data/core/admin/assets/js/vendor/codemirror/mode/rst/rst.js +560 -0
- data/core/admin/assets/js/vendor/codemirror/mode/ruby/index.html +185 -0
- data/core/admin/assets/js/vendor/codemirror/mode/ruby/ruby.js +247 -0
- data/core/admin/assets/js/vendor/codemirror/mode/rust/index.html +61 -0
- data/core/admin/assets/js/vendor/codemirror/mode/rust/rust.js +436 -0
- data/core/admin/assets/js/vendor/codemirror/mode/sass/index.html +66 -0
- data/core/admin/assets/js/vendor/codemirror/mode/sass/sass.js +330 -0
- data/core/admin/assets/js/vendor/codemirror/mode/scheme/index.html +77 -0
- data/core/admin/assets/js/vendor/codemirror/mode/scheme/scheme.js +232 -0
- data/core/admin/assets/js/vendor/codemirror/mode/shell/index.html +66 -0
- data/core/admin/assets/js/vendor/codemirror/mode/shell/shell.js +118 -0
- data/core/admin/assets/js/vendor/codemirror/mode/sieve/index.html +93 -0
- data/core/admin/assets/js/vendor/codemirror/mode/sieve/sieve.js +183 -0
- data/core/admin/assets/js/vendor/codemirror/mode/smalltalk/index.html +68 -0
- data/core/admin/assets/js/vendor/codemirror/mode/smalltalk/smalltalk.js +151 -0
- data/core/admin/assets/js/vendor/codemirror/mode/smarty/index.html +136 -0
- data/core/admin/assets/js/vendor/codemirror/mode/smarty/smarty.js +205 -0
- data/core/admin/assets/js/vendor/codemirror/mode/smartymixed/index.html +114 -0
- data/core/admin/assets/js/vendor/codemirror/mode/smartymixed/smartymixed.js +175 -0
- data/core/admin/assets/js/vendor/codemirror/mode/sparql/index.html +54 -0
- data/core/admin/assets/js/vendor/codemirror/mode/sparql/sparql.js +145 -0
- data/core/admin/assets/js/vendor/codemirror/mode/sql/index.html +75 -0
- data/core/admin/assets/js/vendor/codemirror/mode/sql/sql.js +365 -0
- data/core/admin/assets/js/vendor/codemirror/mode/stex/index.html +110 -0
- data/core/admin/assets/js/vendor/codemirror/mode/stex/stex.js +246 -0
- data/core/admin/assets/js/vendor/codemirror/mode/stex/test.js +120 -0
- data/core/admin/assets/js/vendor/codemirror/mode/tcl/index.html +143 -0
- data/core/admin/assets/js/vendor/codemirror/mode/tcl/tcl.js +131 -0
- data/core/admin/assets/js/vendor/codemirror/mode/tiddlywiki/index.html +155 -0
- data/core/admin/assets/js/vendor/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
- data/core/admin/assets/js/vendor/codemirror/mode/tiddlywiki/tiddlywiki.js +353 -0
- data/core/admin/assets/js/vendor/codemirror/mode/tiki/index.html +95 -0
- data/core/admin/assets/js/vendor/codemirror/mode/tiki/tiki.css +26 -0
- data/core/admin/assets/js/vendor/codemirror/mode/tiki/tiki.js +308 -0
- data/core/admin/assets/js/vendor/codemirror/mode/toml/index.html +73 -0
- data/core/admin/assets/js/vendor/codemirror/mode/toml/toml.js +71 -0
- data/core/admin/assets/js/vendor/codemirror/mode/turtle/index.html +51 -0
- data/core/admin/assets/js/vendor/codemirror/mode/turtle/turtle.js +145 -0
- data/core/admin/assets/js/vendor/codemirror/mode/vb/index.html +103 -0
- data/core/admin/assets/js/vendor/codemirror/mode/vb/vb.js +259 -0
- data/core/admin/assets/js/vendor/codemirror/mode/vbscript/index.html +55 -0
- data/core/admin/assets/js/vendor/codemirror/mode/vbscript/vbscript.js +334 -0
- data/core/admin/assets/js/vendor/codemirror/mode/velocity/index.html +119 -0
- data/core/admin/assets/js/vendor/codemirror/mode/velocity/velocity.js +186 -0
- data/core/admin/assets/js/vendor/codemirror/mode/verilog/index.html +132 -0
- data/core/admin/assets/js/vendor/codemirror/mode/verilog/verilog.js +182 -0
- data/core/admin/assets/js/vendor/codemirror/mode/xml/index.html +57 -0
- data/core/admin/assets/js/vendor/codemirror/mode/xml/xml.js +345 -0
- data/core/admin/assets/js/vendor/codemirror/mode/xquery/index.html +210 -0
- data/core/admin/assets/js/vendor/codemirror/mode/xquery/test.js +64 -0
- data/core/admin/assets/js/vendor/codemirror/mode/xquery/xquery.js +432 -0
- data/core/admin/assets/js/vendor/codemirror/mode/yaml/index.html +80 -0
- data/core/admin/assets/js/vendor/codemirror/mode/yaml/yaml.js +97 -0
- data/core/admin/assets/js/vendor/codemirror/mode/z80/index.html +52 -0
- data/core/admin/assets/js/vendor/codemirror/mode/z80/z80.js +85 -0
- data/core/admin/assets/js/vendor/codemirror/package.json +19 -0
- data/core/admin/assets/js/vendor/codemirror/test/comment_test.js +51 -0
- data/core/admin/assets/js/vendor/codemirror/test/doc_test.js +329 -0
- data/core/admin/assets/js/vendor/codemirror/test/driver.js +139 -0
- data/core/admin/assets/js/vendor/codemirror/test/emacs_test.js +135 -0
- data/core/admin/assets/js/vendor/codemirror/test/index.html +209 -0
- data/core/admin/assets/js/vendor/codemirror/test/lint/acorn.js +1593 -0
- data/core/admin/assets/js/vendor/codemirror/test/lint/lint.js +139 -0
- data/core/admin/assets/js/vendor/codemirror/test/lint/walk.js +216 -0
- data/core/admin/assets/js/vendor/codemirror/test/mode_test.css +10 -0
- data/core/admin/assets/js/vendor/codemirror/test/mode_test.js +200 -0
- data/core/admin/assets/js/vendor/codemirror/test/phantom_driver.js +31 -0
- data/core/admin/assets/js/vendor/codemirror/test/run.js +34 -0
- data/core/admin/assets/js/vendor/codemirror/test/test.js +1562 -0
- data/core/admin/assets/js/vendor/codemirror/test/vim_test.js +2391 -0
- data/core/admin/assets/js/vendor/codemirror/theme/3024-day.css +34 -0
- data/core/admin/assets/js/vendor/codemirror/theme/3024-night.css +34 -0
- data/core/admin/assets/js/vendor/codemirror/theme/ambiance-mobile.css +5 -0
- data/core/admin/assets/js/vendor/codemirror/theme/ambiance.css +75 -0
- data/core/admin/assets/js/vendor/codemirror/theme/base16-dark.css +34 -0
- data/core/admin/assets/js/vendor/codemirror/theme/base16-light.css +34 -0
- data/core/admin/assets/js/vendor/codemirror/theme/blackboard.css +28 -0
- data/core/admin/assets/js/vendor/codemirror/theme/cobalt.css +21 -0
- data/core/admin/assets/js/vendor/codemirror/theme/eclipse.css +23 -0
- data/core/admin/assets/js/vendor/codemirror/theme/elegant.css +13 -0
- data/core/admin/assets/js/vendor/codemirror/theme/erlang-dark.css +30 -0
- data/core/admin/assets/js/vendor/codemirror/theme/lesser-dark.css +47 -0
- data/core/admin/assets/js/vendor/codemirror/theme/mbo.css +35 -0
- data/core/admin/assets/js/vendor/codemirror/theme/midnight.css +43 -0
- data/core/admin/assets/js/vendor/codemirror/theme/monokai.css +29 -0
- data/core/admin/assets/js/vendor/codemirror/theme/neat.css +12 -0
- data/core/admin/assets/js/vendor/codemirror/theme/night.css +24 -0
- data/core/admin/assets/js/vendor/codemirror/theme/paraiso-dark.css +34 -0
- data/core/admin/assets/js/vendor/codemirror/theme/paraiso-light.css +34 -0
- data/core/admin/assets/js/vendor/codemirror/theme/rubyblue.css +23 -0
- data/core/admin/assets/js/vendor/codemirror/theme/solarized-mod.css +181 -0
- data/core/admin/assets/js/vendor/codemirror/theme/solarized.css +180 -0
- data/core/admin/assets/js/vendor/codemirror/theme/the-matrix.css +26 -0
- data/core/admin/assets/js/vendor/codemirror/theme/tomorrow-night-eighties.css +34 -0
- data/core/admin/assets/js/vendor/codemirror/theme/twilight.css +28 -0
- data/core/admin/assets/js/vendor/codemirror/theme/vibrant-ink.css +30 -0
- data/core/admin/assets/js/vendor/codemirror/theme/xq-dark.css +49 -0
- data/core/admin/assets/js/vendor/codemirror/theme/xq-light.css +43 -0
- data/core/admin/assets/js/vendor/fastclick.js +777 -0
- data/core/admin/assets/js/vendor/jquery.js +6 -0
- data/core/admin/assets/js/vendor/lodash.underscore.js +38 -0
- data/core/admin/assets/js/vendor/require.js +36 -0
- data/core/admin/assets/scss/bootstrap.scss +18 -0
- data/core/admin/assets/scss/modules/_all.scss +7 -0
- data/core/admin/assets/scss/modules/_colors.scss +7 -0
- data/core/admin/assets/scss/modules/_extensions.scss +24 -0
- data/core/admin/assets/scss/modules/_mixins.scss +18 -0
- data/core/admin/assets/scss/modules/_susy.scss +7 -0
- data/core/admin/assets/scss/partials/_base.scss +33 -0
- data/core/admin/assets/scss/partials/_buttons.scss +9 -0
- data/core/admin/assets/scss/partials/_links.scss +15 -0
- data/core/admin/assets/scss/partials/_main.scss +14 -0
- data/core/admin/assets/scss/partials/_typography.scss +15 -0
- data/core/admin/assets/scss/sections/_editor.scss +274 -0
- data/core/admin/assets/scss/sections/_login.scss +34 -0
- data/core/admin/assets/scss/vendor/_normalize.scss +406 -0
- data/core/admin/layouts/admin.haml +67 -0
- data/core/admin/partials/_head.haml +23 -0
- data/core/admin/partials/_tree.haml +3 -0
- data/core/admin/partials/_treeitem.haml +4 -0
- data/core/admin/settings.yml +4 -0
- data/core/app.rb +21 -0
- data/core/classes/cached.rb +35 -0
- data/core/classes/checker.rb +37 -0
- data/core/classes/commit.rb +62 -0
- data/core/classes/error.rb +9 -0
- data/core/classes/page.rb +165 -0
- data/core/classes/partial.rb +13 -0
- data/core/classes/path.rb +30 -0
- data/core/classes/persona.rb +55 -0
- data/core/classes/sassfile.rb +95 -0
- data/core/classes/settings.rb +19 -0
- data/core/classes/theme.rb +55 -0
- data/core/helpers/base.rb +46 -0
- data/core/helpers/render.rb +26 -0
- data/core/helpers/truncate.rb +17 -0
- data/core/routes/admin.rb +139 -0
- data/core/routes/assetcompiler.rb +23 -0
- data/core/routes/base.rb +22 -0
- data/core/routes/bootstrap.rb +35 -0
- data/core/routes/cache.rb +52 -0
- data/core/routes/deploy.rb +16 -0
- data/core/routes/git.rb +23 -0
- data/poly.gemspec +29 -0
- data/sample/.cabi-data +0 -0
- data/sample/data/home/index.haml +22 -0
- data/sample/data/other/nav/links.yml +4 -0
- data/sample/data/page/about/index.haml +12 -0
- data/sample/data/page/contact-us/index.haml +11 -0
- data/sample/data/page/dynamic-page/index.haml +14 -0
- data/sample/data/page/error/index.haml +8 -0
- data/sample/data/page/html/index.html +4 -0
- data/sample/data/page/no-front-matter/index.haml +7 -0
- data/sample/data/page/not-found/index.haml +8 -0
- data/sample/data/page/static-page/index.haml +14 -0
- data/sample/data/post/about-life/index.md +12 -0
- data/sample/data/post/sample-post/index.haml +12 -0
- data/sample/data/post/technology/index.haml +12 -0
- data/sample/data/post/the-40-hour-workweek/index.haml +9 -0
- data/sample/data/post/things-are-changing/index.haml +9 -0
- data/sample/data/post/yet-another-post/index.haml +11 -0
- data/sample/plugins/my-plugin/plugin.rb +15 -0
- data/sample/settings.yml +21 -0
- data/sample/themes/base/assets/css/readme.txt +6 -0
- data/sample/themes/base/assets/images/poly.svg +36 -0
- data/sample/themes/base/assets/js/app/views/main.js +13 -0
- data/sample/themes/base/assets/js/main.js +31 -0
- data/sample/themes/base/assets/js/vendor/backbone.js +4 -0
- data/sample/themes/base/assets/js/vendor/jquery.js +6 -0
- data/sample/themes/base/assets/js/vendor/lodash.underscore.js +38 -0
- data/sample/themes/base/assets/js/vendor/require.js +36 -0
- data/sample/themes/base/assets/scss/bootstrap.scss +20 -0
- data/sample/themes/base/assets/scss/modules/_all.scss +7 -0
- data/sample/themes/base/assets/scss/modules/_colors.scss +7 -0
- data/sample/themes/base/assets/scss/modules/_extensions.scss +13 -0
- data/sample/themes/base/assets/scss/modules/_mixins.scss +11 -0
- data/sample/themes/base/assets/scss/modules/_susy.scss +7 -0
- data/sample/themes/base/assets/scss/partials/_base.scss +33 -0
- data/sample/themes/base/assets/scss/partials/_buttons.scss +0 -0
- data/sample/themes/base/assets/scss/partials/_links.scss +15 -0
- data/sample/themes/base/assets/scss/partials/_main.scss +39 -0
- data/sample/themes/base/assets/scss/partials/_typography.scss +15 -0
- data/sample/themes/base/assets/scss/sections/_footer.scss +22 -0
- data/sample/themes/base/assets/scss/sections/_header.scss +23 -0
- data/sample/themes/base/assets/scss/sections/_home.scss +13 -0
- data/sample/themes/base/assets/scss/sections/_pages.scss +11 -0
- data/sample/themes/base/assets/scss/vendor/_normalize.scss +406 -0
- data/sample/themes/base/layouts/default.haml +14 -0
- data/sample/themes/base/layouts/post.haml +15 -0
- data/sample/themes/base/partials/_footer.haml +9 -0
- data/sample/themes/base/partials/_ga.haml +10 -0
- data/sample/themes/base/partials/_head.haml +20 -0
- data/sample/themes/base/partials/_header.haml +5 -0
- data/sample/themes/base/settings.yml +4 -0
- data/test/data/post-receive-hook.json +146 -0
- data/test/test_basics.rb +50 -0
- data/test/test_data.rb +14 -0
- data/test/test_deploy.rb +23 -0
- data/test/test_includes.rb +43 -0
- data/test/test_page.rb +47 -0
- metadata +1049 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
|
|
3
|
+
<title>CodeMirror: Reporting Bugs</title>
|
|
4
|
+
<meta charset="utf-8"/>
|
|
5
|
+
<link rel=stylesheet href="docs.css">
|
|
6
|
+
|
|
7
|
+
<div id=nav>
|
|
8
|
+
<a href="http://codemirror.net"><img id=logo src="logo.png"></a>
|
|
9
|
+
|
|
10
|
+
<ul>
|
|
11
|
+
<li><a href="../index.html">Home</a>
|
|
12
|
+
<li><a href="manual.html">Manual</a>
|
|
13
|
+
<li><a href="https://github.com/marijnh/codemirror">Code</a>
|
|
14
|
+
</ul>
|
|
15
|
+
<ul>
|
|
16
|
+
<li><a class=active href="#">Reporting bugs</a>
|
|
17
|
+
</ul>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<article>
|
|
21
|
+
|
|
22
|
+
<h2>Reporting bugs effectively</h2>
|
|
23
|
+
|
|
24
|
+
<div class="left">
|
|
25
|
+
|
|
26
|
+
<p>So you found a problem in CodeMirror. By all means, report it! Bug
|
|
27
|
+
reports from users are the main drive behind improvements to
|
|
28
|
+
CodeMirror. But first, please read over these points:</p>
|
|
29
|
+
|
|
30
|
+
<ol>
|
|
31
|
+
<li>CodeMirror is maintained by volunteers. They don't owe you
|
|
32
|
+
anything, so be polite. Reports with an indignant or belligerent
|
|
33
|
+
tone tend to be moved to the bottom of the pile.</li>
|
|
34
|
+
|
|
35
|
+
<li>Include information about <strong>the browser in which the
|
|
36
|
+
problem occurred</strong>. Even if you tested several browsers, and
|
|
37
|
+
the problem occurred in all of them, mention this fact in the bug
|
|
38
|
+
report. Also include browser version numbers and the operating
|
|
39
|
+
system that you're on.</li>
|
|
40
|
+
|
|
41
|
+
<li>Mention which release of CodeMirror you're using. Preferably,
|
|
42
|
+
try also with the current development snapshot, to ensure the
|
|
43
|
+
problem has not already been fixed.</li>
|
|
44
|
+
|
|
45
|
+
<li>Mention very precisely what went wrong. "X is broken" is not a
|
|
46
|
+
good bug report. What did you expect to happen? What happened
|
|
47
|
+
instead? Describe the exact steps a maintainer has to take to make
|
|
48
|
+
the problem occur. We can not fix something that we can not
|
|
49
|
+
observe.</li>
|
|
50
|
+
|
|
51
|
+
<li>If the problem can not be reproduced in any of the demos
|
|
52
|
+
included in the CodeMirror distribution, please provide an HTML
|
|
53
|
+
document that demonstrates the problem. The best way to do this is
|
|
54
|
+
to go to <a href="http://jsbin.com/ihunin/edit">jsbin.com</a>, enter
|
|
55
|
+
it there, press save, and include the resulting link in your bug
|
|
56
|
+
report.</li>
|
|
57
|
+
</ol>
|
|
58
|
+
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
</article>
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
|
|
3
|
+
<title>CodeMirror: Version 2.2 upgrade guide</title>
|
|
4
|
+
<meta charset="utf-8"/>
|
|
5
|
+
<link rel=stylesheet href="docs.css">
|
|
6
|
+
|
|
7
|
+
<div id=nav>
|
|
8
|
+
<a href="http://codemirror.net"><img id=logo src="logo.png"></a>
|
|
9
|
+
|
|
10
|
+
<ul>
|
|
11
|
+
<li><a href="../index.html">Home</a>
|
|
12
|
+
<li><a href="manual.html">Manual</a>
|
|
13
|
+
<li><a href="https://github.com/marijnh/codemirror">Code</a>
|
|
14
|
+
</ul>
|
|
15
|
+
<ul>
|
|
16
|
+
<li><a class=active href="#">2.2 upgrade guide</a>
|
|
17
|
+
</ul>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<article>
|
|
21
|
+
|
|
22
|
+
<h2>Upgrading to v2.2</h2>
|
|
23
|
+
|
|
24
|
+
<p>There are a few things in the 2.2 release that require some care
|
|
25
|
+
when upgrading.</p>
|
|
26
|
+
|
|
27
|
+
<h3>No more default.css</h3>
|
|
28
|
+
|
|
29
|
+
<p>The default theme is now included
|
|
30
|
+
in <a href="../lib/codemirror.css"><code>codemirror.css</code></a>, so
|
|
31
|
+
you do not have to included it separately anymore. (It was tiny, so
|
|
32
|
+
even if you're not using it, the extra data overhead is negligible.)
|
|
33
|
+
|
|
34
|
+
<h3>Different key customization</h3>
|
|
35
|
+
|
|
36
|
+
<p>CodeMirror has moved to a system
|
|
37
|
+
where <a href="manual.html#option_keyMap">keymaps</a> are used to
|
|
38
|
+
bind behavior to keys. This means <a href="../demo/emacs.html">custom
|
|
39
|
+
bindings</a> are now possible.</p>
|
|
40
|
+
|
|
41
|
+
<p>Three options that influenced key
|
|
42
|
+
behavior, <code>tabMode</code>, <code>enterMode</code>,
|
|
43
|
+
and <code>smartHome</code>, are no longer supported. Instead, you can
|
|
44
|
+
provide custom bindings to influence the way these keys act. This is
|
|
45
|
+
done through the
|
|
46
|
+
new <a href="manual.html#option_extraKeys"><code>extraKeys</code></a>
|
|
47
|
+
option, which can hold an object mapping key names to functionality. A
|
|
48
|
+
simple example would be:</p>
|
|
49
|
+
|
|
50
|
+
<pre> extraKeys: {
|
|
51
|
+
"Ctrl-S": function(instance) { saveText(instance.getValue()); },
|
|
52
|
+
"Ctrl-/": "undo"
|
|
53
|
+
}</pre>
|
|
54
|
+
|
|
55
|
+
<p>Keys can be mapped either to functions, which will be given the
|
|
56
|
+
editor instance as argument, or to strings, which are mapped through
|
|
57
|
+
functions through the <code>CodeMirror.commands</code> table, which
|
|
58
|
+
contains all the built-in editing commands, and can be inspected and
|
|
59
|
+
extended by external code.</p>
|
|
60
|
+
|
|
61
|
+
<p>By default, the <code>Home</code> key is bound to
|
|
62
|
+
the <code>"goLineStartSmart"</code> command, which moves the cursor to
|
|
63
|
+
the first non-whitespace character on the line. You can set do this to
|
|
64
|
+
make it always go to the very start instead:</p>
|
|
65
|
+
|
|
66
|
+
<pre> extraKeys: {"Home": "goLineStart"}</pre>
|
|
67
|
+
|
|
68
|
+
<p>Similarly, <code>Enter</code> is bound
|
|
69
|
+
to <code>"newlineAndIndent"</code> by default. You can bind it to
|
|
70
|
+
something else to get different behavior. To disable special handling
|
|
71
|
+
completely and only get a newline character inserted, you can bind it
|
|
72
|
+
to <code>false</code>:</p>
|
|
73
|
+
|
|
74
|
+
<pre> extraKeys: {"Enter": false}</pre>
|
|
75
|
+
|
|
76
|
+
<p>The same works for <code>Tab</code>. If you don't want CodeMirror
|
|
77
|
+
to handle it, bind it to <code>false</code>. The default behaviour is
|
|
78
|
+
to indent the current line more (<code>"indentMore"</code> command),
|
|
79
|
+
and indent it less when shift is held (<code>"indentLess"</code>).
|
|
80
|
+
There are also <code>"indentAuto"</code> (smart indent)
|
|
81
|
+
and <code>"insertTab"</code> commands provided for alternate
|
|
82
|
+
behaviors. Or you can write your own handler function to do something
|
|
83
|
+
different altogether.</p>
|
|
84
|
+
|
|
85
|
+
<h3>Tabs</h3>
|
|
86
|
+
|
|
87
|
+
<p>Handling of tabs changed completely. The display width of tabs can
|
|
88
|
+
now be set with the <code>tabSize</code> option, and tabs can
|
|
89
|
+
be <a href="../demo/visibletabs.html">styled</a> by setting CSS rules
|
|
90
|
+
for the <code>cm-tab</code> class.</p>
|
|
91
|
+
|
|
92
|
+
<p>The default width for tabs is now 4, as opposed to the 8 that is
|
|
93
|
+
hard-wired into browsers. If you are relying on 8-space tabs, make
|
|
94
|
+
sure you explicitly set <code>tabSize: 8</code> in your options.</p>
|
|
95
|
+
|
|
96
|
+
</article>
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
|
|
3
|
+
<title>CodeMirror: Version 3 upgrade guide</title>
|
|
4
|
+
<meta charset="utf-8"/>
|
|
5
|
+
<link rel=stylesheet href="docs.css">
|
|
6
|
+
<script src="../lib/codemirror.js"></script>
|
|
7
|
+
<link rel="stylesheet" href="../lib/codemirror.css">
|
|
8
|
+
<script src="../addon/runmode/runmode.js"></script>
|
|
9
|
+
<script src="../addon/runmode/colorize.js"></script>
|
|
10
|
+
<script src="../mode/javascript/javascript.js"></script>
|
|
11
|
+
<script src="../mode/xml/xml.js"></script>
|
|
12
|
+
<script src="../mode/css/css.js"></script>
|
|
13
|
+
<script src="../mode/htmlmixed/htmlmixed.js"></script>
|
|
14
|
+
<script src="activebookmark.js"></script>
|
|
15
|
+
|
|
16
|
+
<div id=nav>
|
|
17
|
+
<a href="http://codemirror.net"><img id=logo src="logo.png"></a>
|
|
18
|
+
|
|
19
|
+
<ul>
|
|
20
|
+
<li><a href="../index.html">Home</a>
|
|
21
|
+
<li><a href="manual.html">Manual</a>
|
|
22
|
+
<li><a href="https://github.com/marijnh/codemirror">Code</a>
|
|
23
|
+
</ul>
|
|
24
|
+
<ul>
|
|
25
|
+
<li><a class=active href="#upgrade">Upgrade guide</a>
|
|
26
|
+
<li><a href="#dom">DOM structure</a></li>
|
|
27
|
+
<li><a href="#gutters">Gutter model</a></li>
|
|
28
|
+
<li><a href="#events">Event handling</a></li>
|
|
29
|
+
<li><a href="#marktext">markText method arguments</a></li>
|
|
30
|
+
<li><a href="#folding">Line folding</a></li>
|
|
31
|
+
<li><a href="#lineclass">Line CSS classes</a></li>
|
|
32
|
+
<li><a href="#positions">Position properties</a></li>
|
|
33
|
+
<li><a href="#matchbrackets">Bracket matching</a></li>
|
|
34
|
+
<li><a href="#modes">Mode management</a></li>
|
|
35
|
+
<li><a href="#new">New features</a></li>
|
|
36
|
+
</ul>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<article>
|
|
40
|
+
|
|
41
|
+
<h2 id=upgrade>Upgrading to version 3</h2>
|
|
42
|
+
|
|
43
|
+
<p>Version 3 does not depart too much from 2.x API, and sites that use
|
|
44
|
+
CodeMirror in a very simple way might be able to upgrade without
|
|
45
|
+
trouble. But it does introduce a number of incompatibilities. Please
|
|
46
|
+
at least skim this text before upgrading.</p>
|
|
47
|
+
|
|
48
|
+
<p>Note that <strong>version 3 drops full support for Internet
|
|
49
|
+
Explorer 7</strong>. The editor will mostly work on that browser, but
|
|
50
|
+
it'll be significantly glitchy.</p>
|
|
51
|
+
|
|
52
|
+
<section id=dom>
|
|
53
|
+
<h2>DOM structure</h2>
|
|
54
|
+
|
|
55
|
+
<p>This one is the most likely to cause problems. The internal
|
|
56
|
+
structure of the editor has changed quite a lot, mostly to implement a
|
|
57
|
+
new scrolling model.</p>
|
|
58
|
+
|
|
59
|
+
<p>Editor height is now set on the outer wrapper element (CSS
|
|
60
|
+
class <code>CodeMirror</code>), not on the scroller element
|
|
61
|
+
(<code>CodeMirror-scroll</code>).</p>
|
|
62
|
+
|
|
63
|
+
<p>Other nodes were moved, dropped, and added. If you have any code
|
|
64
|
+
that makes assumptions about the internal DOM structure of the editor,
|
|
65
|
+
you'll have to re-test it and probably update it to work with v3.</p>
|
|
66
|
+
|
|
67
|
+
<p>See the <a href="manual.html#styling">styling section</a> of the
|
|
68
|
+
manual for more information.</p>
|
|
69
|
+
</section>
|
|
70
|
+
<section id=gutters>
|
|
71
|
+
<h2>Gutter model</h2>
|
|
72
|
+
|
|
73
|
+
<p>In CodeMirror 2.x, there was a single gutter, and line markers
|
|
74
|
+
created with <code>setMarker</code> would have to somehow coexist with
|
|
75
|
+
the line numbers (if present). Version 3 allows you to specify an
|
|
76
|
+
array of gutters, <a href="manual.html#option_gutters">by class
|
|
77
|
+
name</a>,
|
|
78
|
+
use <a href="manual.html#setGutterMarker"><code>setGutterMarker</code></a>
|
|
79
|
+
to add or remove markers in individual gutters, and clear whole
|
|
80
|
+
gutters
|
|
81
|
+
with <a href="manual.html#clearGutter"><code>clearGutter</code></a>.
|
|
82
|
+
Gutter markers are now specified as DOM nodes, rather than HTML
|
|
83
|
+
snippets.</p>
|
|
84
|
+
|
|
85
|
+
<p>The gutters no longer horizontally scrolls along with the content.
|
|
86
|
+
The <code>fixedGutter</code> option was removed (since it is now the
|
|
87
|
+
only behavior).</p>
|
|
88
|
+
|
|
89
|
+
<pre data-lang="text/html">
|
|
90
|
+
<style>
|
|
91
|
+
/* Define a gutter style */
|
|
92
|
+
.note-gutter { width: 3em; background: cyan; }
|
|
93
|
+
</style>
|
|
94
|
+
<script>
|
|
95
|
+
// Create an instance with two gutters -- line numbers and notes
|
|
96
|
+
var cm = new CodeMirror(document.body, {
|
|
97
|
+
gutters: ["note-gutter", "CodeMirror-linenumbers"],
|
|
98
|
+
lineNumbers: true
|
|
99
|
+
});
|
|
100
|
+
// Add a note to line 0
|
|
101
|
+
cm.setGutterMarker(0, "note-gutter", document.createTextNode("hi"));
|
|
102
|
+
</script>
|
|
103
|
+
</pre>
|
|
104
|
+
</section>
|
|
105
|
+
<section id=events>
|
|
106
|
+
<h2>Event handling</h2>
|
|
107
|
+
|
|
108
|
+
<p>Most of the <code>onXYZ</code> options have been removed. The same
|
|
109
|
+
effect is now obtained by calling
|
|
110
|
+
the <a href="manual.html#on"><code>on</code></a> method with a string
|
|
111
|
+
identifying the event type. Multiple handlers can now be registered
|
|
112
|
+
(and individually unregistered) for an event, and objects such as line
|
|
113
|
+
handlers now also expose events. See <a href="manual.html#events">the
|
|
114
|
+
full list here</a>.</p>
|
|
115
|
+
|
|
116
|
+
<p>(The <code>onKeyEvent</code> and <code>onDragEvent</code> options,
|
|
117
|
+
which act more as hooks than as event handlers, are still there in
|
|
118
|
+
their old form.)</p>
|
|
119
|
+
|
|
120
|
+
<pre data-lang="javascript">
|
|
121
|
+
cm.on("change", function(cm, change) {
|
|
122
|
+
console.log("something changed! (" + change.origin + ")");
|
|
123
|
+
});
|
|
124
|
+
</pre>
|
|
125
|
+
</section>
|
|
126
|
+
<section id=marktext>
|
|
127
|
+
<h2>markText method arguments</h2>
|
|
128
|
+
|
|
129
|
+
<p>The <a href="manual.html#markText"><code>markText</code></a> method
|
|
130
|
+
(which has gained some interesting new features, such as creating
|
|
131
|
+
atomic and read-only spans, or replacing spans with widgets) no longer
|
|
132
|
+
takes the CSS class name as a separate argument, but makes it an
|
|
133
|
+
optional field in the options object instead.</p>
|
|
134
|
+
|
|
135
|
+
<pre data-lang="javascript">
|
|
136
|
+
// Style first ten lines, and forbid the cursor from entering them
|
|
137
|
+
cm.markText({line: 0, ch: 0}, {line: 10, ch: 0}, {
|
|
138
|
+
className: "magic-text",
|
|
139
|
+
inclusiveLeft: true,
|
|
140
|
+
atomic: true
|
|
141
|
+
});
|
|
142
|
+
</pre>
|
|
143
|
+
</section>
|
|
144
|
+
<section id=folding>
|
|
145
|
+
<h2>Line folding</h2>
|
|
146
|
+
|
|
147
|
+
<p>The interface for hiding lines has been
|
|
148
|
+
removed. <a href="manual.html#markText"><code>markText</code></a> can
|
|
149
|
+
now be used to do the same in a more flexible and powerful way.</p>
|
|
150
|
+
|
|
151
|
+
<p>The <a href="../demo/folding.html">folding script</a> has been
|
|
152
|
+
updated to use the new interface, and should now be more robust.</p>
|
|
153
|
+
|
|
154
|
+
<pre data-lang="javascript">
|
|
155
|
+
// Fold a range, replacing it with the text "??"
|
|
156
|
+
var range = cm.markText({line: 4, ch: 2}, {line: 8, ch: 1}, {
|
|
157
|
+
replacedWith: document.createTextNode("??"),
|
|
158
|
+
// Auto-unfold when cursor moves into the range
|
|
159
|
+
clearOnEnter: true
|
|
160
|
+
});
|
|
161
|
+
// Get notified when auto-unfolding
|
|
162
|
+
CodeMirror.on(range, "clear", function() {
|
|
163
|
+
console.log("boom");
|
|
164
|
+
});
|
|
165
|
+
</pre>
|
|
166
|
+
</section>
|
|
167
|
+
<section id=lineclass>
|
|
168
|
+
<h2>Line CSS classes</h2>
|
|
169
|
+
|
|
170
|
+
<p>The <code>setLineClass</code> method has been replaced
|
|
171
|
+
by <a href="manual.html#addLineClass"><code>addLineClass</code></a>
|
|
172
|
+
and <a href="manual.html#removeLineClass"><code>removeLineClass</code></a>,
|
|
173
|
+
which allow more modular control over the classes attached to a line.</p>
|
|
174
|
+
|
|
175
|
+
<pre data-lang="javascript">
|
|
176
|
+
var marked = cm.addLineClass(10, "background", "highlighted-line");
|
|
177
|
+
setTimeout(function() {
|
|
178
|
+
cm.removeLineClass(marked, "background", "highlighted-line");
|
|
179
|
+
});
|
|
180
|
+
</pre>
|
|
181
|
+
</section>
|
|
182
|
+
<section id=positions>
|
|
183
|
+
<h2>Position properties</h2>
|
|
184
|
+
|
|
185
|
+
<p>All methods that take or return objects that represent screen
|
|
186
|
+
positions now use <code>{left, top, bottom, right}</code> properties
|
|
187
|
+
(not always all of them) instead of the <code>{x, y, yBot}</code> used
|
|
188
|
+
by some methods in v2.x.</p>
|
|
189
|
+
|
|
190
|
+
<p>Affected methods
|
|
191
|
+
are <a href="manual.html#cursorCoords"><code>cursorCoords</code></a>, <a href="manual.html#charCoords"><code>charCoords</code></a>, <a href="manual.html#coordsChar"><code>coordsChar</code></a>,
|
|
192
|
+
and <a href="manual.html#getScrollInfo"><code>getScrollInfo</code></a>.</p>
|
|
193
|
+
</section>
|
|
194
|
+
<section id=matchbrackets>
|
|
195
|
+
<h2>Bracket matching no longer in core</h2>
|
|
196
|
+
|
|
197
|
+
<p>The <a href="manual.html#addon_matchbrackets"><code>matchBrackets</code></a>
|
|
198
|
+
option is no longer defined in the core editor.
|
|
199
|
+
Load <code>addon/edit/matchbrackets.js</code> to enable it.</p>
|
|
200
|
+
</section>
|
|
201
|
+
<section id=modes>
|
|
202
|
+
<h2>Mode management</h2>
|
|
203
|
+
|
|
204
|
+
<p>The <code>CodeMirror.listModes</code>
|
|
205
|
+
and <code>CodeMirror.listMIMEs</code> functions, used for listing
|
|
206
|
+
defined modes, are gone. You are now encouraged to simply
|
|
207
|
+
inspect <code>CodeMirror.modes</code> (mapping mode names to mode
|
|
208
|
+
constructors) and <code>CodeMirror.mimeModes</code> (mapping MIME
|
|
209
|
+
strings to mode specs).</p>
|
|
210
|
+
</section>
|
|
211
|
+
<section id=new>
|
|
212
|
+
<h2>New features</h2>
|
|
213
|
+
|
|
214
|
+
<p>Some more reasons to upgrade to version 3.</p>
|
|
215
|
+
|
|
216
|
+
<ul>
|
|
217
|
+
<li>Bi-directional text support. CodeMirror will now mostly do the
|
|
218
|
+
right thing when editing Arabic or Hebrew text.</li>
|
|
219
|
+
<li>Arbitrary line heights. Using fonts with different heights
|
|
220
|
+
inside the editor (whether off by one pixel or fifty) is now
|
|
221
|
+
supported and handled gracefully.</li>
|
|
222
|
+
<li>In-line widgets. See <a href="../demo/widget.html">the demo</a>
|
|
223
|
+
and <a href="manual.html#addLineWidget">the docs</a>.</li>
|
|
224
|
+
<li>Defining custom options
|
|
225
|
+
with <a href="manual.html#defineOption"><code>CodeMirror.defineOption</code></a>.</li>
|
|
226
|
+
</ul>
|
|
227
|
+
</section>
|
|
228
|
+
</article>
|
|
229
|
+
|
|
230
|
+
<script>setTimeout(function(){CodeMirror.colorize();}, 20);</script>
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
|
|
3
|
+
<title>CodeMirror</title>
|
|
4
|
+
<meta charset="utf-8"/>
|
|
5
|
+
|
|
6
|
+
<link rel=stylesheet href="lib/codemirror.css">
|
|
7
|
+
<link rel=stylesheet href="doc/docs.css">
|
|
8
|
+
<script src="lib/codemirror.js"></script>
|
|
9
|
+
<script src="mode/xml/xml.js"></script>
|
|
10
|
+
<script src="mode/javascript/javascript.js"></script>
|
|
11
|
+
<script src="mode/css/css.js"></script>
|
|
12
|
+
<script src="mode/htmlmixed/htmlmixed.js"></script>
|
|
13
|
+
<script src="addon/edit/matchbrackets.js"></script>
|
|
14
|
+
|
|
15
|
+
<script src="doc/activebookmark.js"></script>
|
|
16
|
+
|
|
17
|
+
<style>
|
|
18
|
+
.CodeMirror { height: auto; border: 1px solid #ddd; }
|
|
19
|
+
.CodeMirror-scroll { max-height: 200px; }
|
|
20
|
+
.CodeMirror pre { padding-left: 7px; line-height: 1.25; }
|
|
21
|
+
</style>
|
|
22
|
+
|
|
23
|
+
<div id=nav>
|
|
24
|
+
<a href="http://codemirror.net"><img id=logo src="doc/logo.png"></a>
|
|
25
|
+
|
|
26
|
+
<ul>
|
|
27
|
+
<li><a class=active data-default="true" href="#description">Home</a>
|
|
28
|
+
<li><a href="doc/manual.html">Manual</a>
|
|
29
|
+
<li><a href="https://github.com/marijnh/codemirror">Code</a>
|
|
30
|
+
</ul>
|
|
31
|
+
<ul>
|
|
32
|
+
<li><a href="#features">Features</a>
|
|
33
|
+
<li><a href="#community">Community</a>
|
|
34
|
+
<li><a href="#browsersupport">Browser support</a>
|
|
35
|
+
</ul>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<article>
|
|
39
|
+
|
|
40
|
+
<section id=description class=first>
|
|
41
|
+
<p><strong>CodeMirror</strong> is a versatile text editor
|
|
42
|
+
implemented in JavaScript for the browser. It is specialized for
|
|
43
|
+
editing code, and comes with a number of language modes and addons
|
|
44
|
+
that implement more advanced editing functionaly.</p>
|
|
45
|
+
|
|
46
|
+
<p>A rich <a href="doc/manual.html#api">programming API</a> and a
|
|
47
|
+
CSS <a href="doc/manual.html#styling">theming</a> system are
|
|
48
|
+
available for customizing CodeMirror to fit your application, and
|
|
49
|
+
extending it with new functionality.</p>
|
|
50
|
+
</section>
|
|
51
|
+
|
|
52
|
+
<section id=demo>
|
|
53
|
+
<h2>This is CodeMirror</h2>
|
|
54
|
+
<form style="position: relative; margin-top: .5em;"><textarea id=demotext>
|
|
55
|
+
<!-- Create a simple CodeMirror instance -->
|
|
56
|
+
<link rel="stylesheet" href="lib/codemirror.css">
|
|
57
|
+
<script src="lib/codemirror.js"></script>
|
|
58
|
+
<script>
|
|
59
|
+
var editor = CodeMirror.fromTextArea(myTextarea, {
|
|
60
|
+
mode: "text/html"
|
|
61
|
+
});
|
|
62
|
+
</script></textarea>
|
|
63
|
+
<select id="demolist" onchange="document.location = this.options[this.selectedIndex].value;">
|
|
64
|
+
<option value="#">Other demos...</option>
|
|
65
|
+
<option value="demo/complete.html">Autocompletion</option>
|
|
66
|
+
<option value="demo/folding.html">Code folding</option>
|
|
67
|
+
<option value="demo/theme.html">Themes</option>
|
|
68
|
+
<option value="mode/htmlmixed/index.html">Mixed language modes</option>
|
|
69
|
+
<option value="demo/bidi.html">Bi-directional text</option>
|
|
70
|
+
<option value="demo/variableheight.html">Variable font sizes</option>
|
|
71
|
+
<option value="demo/search.html">Search interface</option>
|
|
72
|
+
<option value="demo/vim.html">Vim bindings</option>
|
|
73
|
+
<option value="demo/emacs.html">Emacs bindings</option>
|
|
74
|
+
<option value="demo/tern.html">Tern integration</option>
|
|
75
|
+
<option value="demo/merge.html">Merge/diff interface</option>
|
|
76
|
+
<option value="demo/fullscreen.html">Full-screen editor</option>
|
|
77
|
+
</select></form>
|
|
78
|
+
<script>
|
|
79
|
+
var editor = CodeMirror.fromTextArea(document.getElementById("demotext"), {
|
|
80
|
+
lineNumbers: true,
|
|
81
|
+
mode: "text/html",
|
|
82
|
+
matchBrackets: true
|
|
83
|
+
});
|
|
84
|
+
</script>
|
|
85
|
+
<div style="position: relative; margin: 1em 0;">
|
|
86
|
+
<a class="bigbutton left" href="http://codemirror.net/codemirror.zip">DOWNLOAD LATEST RELEASE</a>
|
|
87
|
+
<div><strong>version 3.19</strong> (<a href="doc/releases.html">Release notes</a>)</div>
|
|
88
|
+
<div>or use the <a href="doc/compress.html">minification helper</a></div>
|
|
89
|
+
<div style="position: absolute; top: 0; right: 0; text-align: right">
|
|
90
|
+
<span class="bigbutton right" onclick="document.getElementById('paypal').submit();">DONATE WITH PAYPAL</span>
|
|
91
|
+
<div style="position: relative">
|
|
92
|
+
or <span onclick="document.getElementById('bankinfo').style.display = 'block';" class=quasilink>Bank</span>,
|
|
93
|
+
<a href="https://www.gittip.com/marijnh">Gittip</a>,
|
|
94
|
+
<a href="https://flattr.com/profile/marijnh">Flattr</a><br>
|
|
95
|
+
<div id=bankinfo>
|
|
96
|
+
<span id=bankinfo_close onclick="document.getElementById('bankinfo').style.display = '';">×</span>
|
|
97
|
+
Bank: <i>Rabobank</i><br/>
|
|
98
|
+
Country: <i>Netherlands</i><br/>
|
|
99
|
+
SWIFT: <i>RABONL2U</i><br/>
|
|
100
|
+
Account: <i>147850770</i><br/>
|
|
101
|
+
Name: <i>Marijn Haverbeke</i><br/>
|
|
102
|
+
IBAN: <i>NL26 RABO 0147 8507 70</i>
|
|
103
|
+
</div>
|
|
104
|
+
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="paypal">
|
|
105
|
+
<input type="hidden" name="cmd" value="_s-xclick"/>
|
|
106
|
+
<input type="hidden" name="hosted_button_id" value="3FVHS5FGUY7CC"/>
|
|
107
|
+
</form>
|
|
108
|
+
</div>
|
|
109
|
+
<div>
|
|
110
|
+
Purchase <a href="http://codemirror.com">commercial support</a>
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
</section>
|
|
115
|
+
|
|
116
|
+
<section id=features>
|
|
117
|
+
<h2>Features</h2>
|
|
118
|
+
<ul>
|
|
119
|
+
<li>Support for <a href="mode/index.html">over 60 languages</a> out of the box
|
|
120
|
+
<li>A powerful, <a href="mode/htmlmixed/index.html">composable</a> language mode <a href="doc/manual.html#modeapi">system</a>
|
|
121
|
+
<li><a href="doc/manual.html#addon_show-hint">Autocompletion</a> (<a href="demo/xmlcomplete.html">XML</a>)
|
|
122
|
+
<li><a href="doc/manual.html#addon_foldcode">Code folding</a>
|
|
123
|
+
<li><a href="doc/manual.html#option_extraKeys">Configurable</a> keybindings
|
|
124
|
+
<li><a href="demo/vim.html">Vim</a> and <a href="demo/emacs.html">Emacs</a> bindings
|
|
125
|
+
<li><a href="doc/manual.html#addon_search">Search and replace</a> interface
|
|
126
|
+
<li><a href="doc/manual.html#addon_matchbrackets">Bracket</a> and <a href="doc/manual.html#addon_matchtags">tag</a> matching
|
|
127
|
+
<li>Support for <a href="demo/buffers.html">split views</a>
|
|
128
|
+
<li><a href="doc/manual.html#addon_lint">Linter integration</a>
|
|
129
|
+
<li><a href="demo/variableheight.html">Mixing font sizes and styles</a>
|
|
130
|
+
<li><a href="demo/theme.html">Various themes</a>
|
|
131
|
+
<li>Able to <a href="demo/resize.html">resize to fit content</a>
|
|
132
|
+
<li><a href="doc/manual.html#mark_replacedWith">Inline</a> and <a href="doc/manual.html#addLineWidget">block</a> widgets
|
|
133
|
+
<li>Programmable <a href="demo/marker.html">gutters</a>
|
|
134
|
+
<li>Making ranges of text <a href="doc/manual.html#markText">styled, read-only, or atomic</a>
|
|
135
|
+
<li><a href="demo/bidi.html">Bi-directional text</a> support
|
|
136
|
+
<li>Many other <a href="doc/manual.html#api">methods</a> and <a href="doc/manual.html#addons">addons</a>...</a>
|
|
137
|
+
</ul>
|
|
138
|
+
</section>
|
|
139
|
+
|
|
140
|
+
<section id=community>
|
|
141
|
+
<h2>Community</h2>
|
|
142
|
+
|
|
143
|
+
<p>CodeMirror is an open-source project shared under
|
|
144
|
+
an <a href="LICENSE">MIT license</a>. It is the editor used in
|
|
145
|
+
<a href="http://www.chris-granger.com/2012/04/12/light-table---a-new-ide-concept/">Light
|
|
146
|
+
Table</a>, <a href="http://brackets.io/">Adobe
|
|
147
|
+
Brackets</a>, <a href="https://script.google.com/">Google Apps
|
|
148
|
+
Script</a>, <a href="http://blog.bitbucket.org/2013/05/14/edit-your-code-in-the-cloud-with-bitbucket/">Bitbucket</a>,
|
|
149
|
+
and <a href="doc/realworld.html">many other projects</a>.</p>
|
|
150
|
+
|
|
151
|
+
<p>Development and bug tracking happens
|
|
152
|
+
on <a href="https://github.com/marijnh/CodeMirror/">github</a>
|
|
153
|
+
(<a href="http://marijnhaverbeke.nl/git/codemirror">alternate git
|
|
154
|
+
repository</a>).
|
|
155
|
+
Please <a href="http://codemirror.net/doc/reporting.html">read these
|
|
156
|
+
pointers</a> before submitting a bug. Use pull requests to submit
|
|
157
|
+
patches. All contributions must be released under the same MIT
|
|
158
|
+
license that CodeMirror uses.</p>
|
|
159
|
+
|
|
160
|
+
<p>Discussion around the project is done on
|
|
161
|
+
a <a href="http://groups.google.com/group/codemirror">mailing list</a>.
|
|
162
|
+
There is also
|
|
163
|
+
the <a href="http://groups.google.com/group/codemirror-announce">codemirror-announce</a>
|
|
164
|
+
list, which is only used for major announcements (such as new
|
|
165
|
+
versions). If needed, you can
|
|
166
|
+
contact <a href="mailto:marijnh@gmail.com">the maintainer</a>
|
|
167
|
+
directly.</p>
|
|
168
|
+
|
|
169
|
+
<p>A list of CodeMirror-related software that is not part of the
|
|
170
|
+
main distribution is maintained
|
|
171
|
+
on <a href="https://github.com/marijnh/CodeMirror/wiki/CodeMirror-addons">our
|
|
172
|
+
wiki</a>. Feel free to add your project.</p>
|
|
173
|
+
</section>
|
|
174
|
+
|
|
175
|
+
<section id=browsersupport>
|
|
176
|
+
<h2>Browser support</h2>
|
|
177
|
+
<p>The <em>desktop</em> versions of the following browsers,
|
|
178
|
+
in <em>standards mode</em> (HTML5 <code><!doctype html></code>
|
|
179
|
+
recommended) are supported:</p>
|
|
180
|
+
<table style="margin-bottom: 1em">
|
|
181
|
+
<tr><th>Firefox</th><td>version 3 and up</td></tr>
|
|
182
|
+
<tr><th>Chrome</th><td>any version</td></tr>
|
|
183
|
+
<tr><th>Safari</th><td>version 5.2 and up</td></tr>
|
|
184
|
+
<tr><th style="padding-right: 1em;">Internet Explorer</th><td>version 8 and up</td></tr>
|
|
185
|
+
<tr><th>Opera</th><td>version 9 and up</td></tr>
|
|
186
|
+
</table>
|
|
187
|
+
<p>Modern mobile browsers tend to partly work. Bug reports and
|
|
188
|
+
patches for mobile support are welcome, but the maintainer does not
|
|
189
|
+
have the time or budget to actually work on it himself.</p>
|
|
190
|
+
</section>
|
|
191
|
+
|
|
192
|
+
</article>
|