├── LICENSE ├── README.md ├── bookeditor.css ├── bookeditor.js ├── bookeditor.min.css ├── bookeditor.min.js ├── example ├── book.html ├── common.html └── not-full.html ├── gulpfile.js ├── package.json ├── plugins ├── bootstrap-treeview │ ├── .bowerrc │ ├── .gitattributes │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── bootstrap-treeview.js │ ├── bootstrap-treeview.min.css │ ├── bootstrap-treeview.min.js │ └── tests │ │ ├── README.md │ │ ├── lib │ │ ├── blanket.min.js │ │ ├── bootstrap-treeview.css │ │ ├── bootstrap-treeview.js │ │ ├── jquery.js │ │ ├── qunit-1.12.0.css │ │ └── qunit-1.12.0.js │ │ ├── tests.html │ │ └── tests.js ├── bootstrap │ ├── css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ └── js │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ └── npm.js ├── codemirror │ ├── .gitattributes │ ├── .gitignore │ ├── .npmignore │ ├── .travis.yml │ ├── AUTHORS │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── README.md │ ├── addon │ │ ├── comment │ │ │ ├── comment.js │ │ │ └── continuecomment.js │ │ ├── dialog │ │ │ ├── dialog.css │ │ │ └── dialog.js │ │ ├── display │ │ │ ├── autorefresh.js │ │ │ ├── fullscreen.css │ │ │ ├── fullscreen.js │ │ │ ├── panel.js │ │ │ ├── placeholder.js │ │ │ └── rulers.js │ │ ├── edit │ │ │ ├── closebrackets.js │ │ │ ├── closetag.js │ │ │ ├── continuelist.js │ │ │ ├── matchbrackets.js │ │ │ ├── matchtags.js │ │ │ └── trailingspace.js │ │ ├── fold │ │ │ ├── brace-fold.js │ │ │ ├── comment-fold.js │ │ │ ├── foldcode.js │ │ │ ├── foldgutter.css │ │ │ ├── foldgutter.js │ │ │ ├── indent-fold.js │ │ │ ├── markdown-fold.js │ │ │ └── xml-fold.js │ │ ├── hint │ │ │ ├── anyword-hint.js │ │ │ ├── css-hint.js │ │ │ ├── html-hint.js │ │ │ ├── javascript-hint.js │ │ │ ├── show-hint.css │ │ │ ├── show-hint.js │ │ │ ├── sql-hint.js │ │ │ └── xml-hint.js │ │ ├── lint │ │ │ ├── coffeescript-lint.js │ │ │ ├── css-lint.js │ │ │ ├── html-lint.js │ │ │ ├── javascript-lint.js │ │ │ ├── json-lint.js │ │ │ ├── lint.css │ │ │ ├── lint.js │ │ │ └── yaml-lint.js │ │ ├── merge │ │ │ ├── merge.css │ │ │ └── merge.js │ │ ├── mode │ │ │ ├── loadmode.js │ │ │ ├── multiplex.js │ │ │ ├── multiplex_test.js │ │ │ ├── overlay.js │ │ │ └── simple.js │ │ ├── runmode │ │ │ ├── colorize.js │ │ │ ├── runmode-standalone.js │ │ │ ├── runmode.js │ │ │ └── runmode.node.js │ │ ├── scroll │ │ │ ├── annotatescrollbar.js │ │ │ ├── scrollpastend.js │ │ │ ├── simplescrollbars.css │ │ │ └── simplescrollbars.js │ │ ├── search │ │ │ ├── jump-to-line.js │ │ │ ├── match-highlighter.js │ │ │ ├── matchesonscrollbar.css │ │ │ ├── matchesonscrollbar.js │ │ │ ├── search.js │ │ │ └── searchcursor.js │ │ ├── selection │ │ │ ├── active-line.js │ │ │ ├── mark-selection.js │ │ │ └── selection-pointer.js │ │ ├── tern │ │ │ ├── tern.css │ │ │ ├── tern.js │ │ │ └── worker.js │ │ └── wrap │ │ │ └── hardwrap.js │ ├── bin │ │ ├── authors.sh │ │ ├── compress │ │ ├── lint │ │ ├── release │ │ ├── source-highlight │ │ └── upload-release.js │ ├── bower.json │ ├── demo │ │ ├── activeline.html │ │ ├── anywordhint.html │ │ ├── bidi.html │ │ ├── btree.html │ │ ├── buffers.html │ │ ├── changemode.html │ │ ├── closebrackets.html │ │ ├── closetag.html │ │ ├── complete.html │ │ ├── emacs.html │ │ ├── folding.html │ │ ├── fullscreen.html │ │ ├── hardwrap.html │ │ ├── html5complete.html │ │ ├── indentwrap.html │ │ ├── lint.html │ │ ├── loadmode.html │ │ ├── marker.html │ │ ├── markselection.html │ │ ├── matchhighlighter.html │ │ ├── matchtags.html │ │ ├── merge.html │ │ ├── multiplex.html │ │ ├── mustache.html │ │ ├── panel.html │ │ ├── placeholder.html │ │ ├── preview.html │ │ ├── requirejs.html │ │ ├── resize.html │ │ ├── rulers.html │ │ ├── runmode.html │ │ ├── search.html │ │ ├── simplemode.html │ │ ├── simplescrollbars.html │ │ ├── spanaffectswrapping_shim.html │ │ ├── sublime.html │ │ ├── tern.html │ │ ├── theme.html │ │ ├── trailingspace.html │ │ ├── variableheight.html │ │ ├── vim.html │ │ ├── visibletabs.html │ │ ├── widget.html │ │ └── xmlcomplete.html │ ├── doc │ │ ├── activebookmark.js │ │ ├── compress.html │ │ ├── docs.css │ │ ├── internals.html │ │ ├── logo.png │ │ ├── logo.svg │ │ ├── manual.html │ │ ├── realworld.html │ │ ├── releases.html │ │ ├── reporting.html │ │ ├── upgrade_v2.2.html │ │ ├── upgrade_v3.html │ │ ├── upgrade_v4.html │ │ └── yinyang.png │ ├── index.html │ ├── keymap │ │ ├── emacs.js │ │ ├── sublime.js │ │ └── vim.js │ ├── lib │ │ ├── codemirror.css │ │ └── codemirror.js │ ├── mode │ │ ├── apl │ │ │ ├── apl.js │ │ │ └── index.html │ │ ├── asciiarmor │ │ │ ├── asciiarmor.js │ │ │ └── index.html │ │ ├── asn.1 │ │ │ ├── asn.1.js │ │ │ └── index.html │ │ ├── asterisk │ │ │ ├── asterisk.js │ │ │ └── index.html │ │ ├── brainfuck │ │ │ ├── brainfuck.js │ │ │ └── index.html │ │ ├── clike │ │ │ ├── clike.js │ │ │ ├── index.html │ │ │ ├── scala.html │ │ │ └── test.js │ │ ├── clojure │ │ │ ├── clojure.js │ │ │ └── index.html │ │ ├── cmake │ │ │ ├── cmake.js │ │ │ └── index.html │ │ ├── cobol │ │ │ ├── cobol.js │ │ │ └── index.html │ │ ├── coffeescript │ │ │ ├── coffeescript.js │ │ │ └── index.html │ │ ├── commonlisp │ │ │ ├── commonlisp.js │ │ │ └── index.html │ │ ├── crystal │ │ │ ├── crystal.js │ │ │ └── index.html │ │ ├── css │ │ │ ├── css.js │ │ │ ├── gss.html │ │ │ ├── gss_test.js │ │ │ ├── index.html │ │ │ ├── less.html │ │ │ ├── less_test.js │ │ │ ├── scss.html │ │ │ ├── scss_test.js │ │ │ └── test.js │ │ ├── cypher │ │ │ ├── cypher.js │ │ │ └── index.html │ │ ├── d │ │ │ ├── d.js │ │ │ └── index.html │ │ ├── dart │ │ │ ├── dart.js │ │ │ └── index.html │ │ ├── diff │ │ │ ├── diff.js │ │ │ └── index.html │ │ ├── django │ │ │ ├── django.js │ │ │ └── index.html │ │ ├── dockerfile │ │ │ ├── dockerfile.js │ │ │ └── index.html │ │ ├── dtd │ │ │ ├── dtd.js │ │ │ └── index.html │ │ ├── dylan │ │ │ ├── dylan.js │ │ │ ├── index.html │ │ │ └── test.js │ │ ├── ebnf │ │ │ ├── ebnf.js │ │ │ └── index.html │ │ ├── ecl │ │ │ ├── ecl.js │ │ │ └── index.html │ │ ├── eiffel │ │ │ ├── eiffel.js │ │ │ └── index.html │ │ ├── elm │ │ │ ├── elm.js │ │ │ └── index.html │ │ ├── erlang │ │ │ ├── erlang.js │ │ │ └── index.html │ │ ├── factor │ │ │ ├── factor.js │ │ │ └── index.html │ │ ├── fcl │ │ │ ├── fcl.js │ │ │ └── index.html │ │ ├── forth │ │ │ ├── forth.js │ │ │ └── index.html │ │ ├── fortran │ │ │ ├── fortran.js │ │ │ └── index.html │ │ ├── gas │ │ │ ├── gas.js │ │ │ └── index.html │ │ ├── gfm │ │ │ ├── gfm.js │ │ │ ├── index.html │ │ │ └── test.js │ │ ├── gherkin │ │ │ ├── gherkin.js │ │ │ └── index.html │ │ ├── go │ │ │ ├── go.js │ │ │ └── index.html │ │ ├── groovy │ │ │ ├── groovy.js │ │ │ └── index.html │ │ ├── haml │ │ │ ├── haml.js │ │ │ ├── index.html │ │ │ └── test.js │ │ ├── handlebars │ │ │ ├── handlebars.js │ │ │ └── index.html │ │ ├── haskell-literate │ │ │ ├── haskell-literate.js │ │ │ └── index.html │ │ ├── haskell │ │ │ ├── haskell.js │ │ │ └── index.html │ │ ├── haxe │ │ │ ├── haxe.js │ │ │ └── index.html │ │ ├── htmlembedded │ │ │ ├── htmlembedded.js │ │ │ └── index.html │ │ ├── htmlmixed │ │ │ ├── htmlmixed.js │ │ │ └── index.html │ │ ├── http │ │ │ ├── http.js │ │ │ └── index.html │ │ ├── idl │ │ │ ├── idl.js │ │ │ └── index.html │ │ ├── index.html │ │ ├── jade │ │ │ ├── index.html │ │ │ └── jade.js │ │ ├── javascript │ │ │ ├── index.html │ │ │ ├── javascript.js │ │ │ ├── json-ld.html │ │ │ ├── test.js │ │ │ └── typescript.html │ │ ├── jinja2 │ │ │ ├── index.html │ │ │ └── jinja2.js │ │ ├── jsx │ │ │ ├── index.html │ │ │ ├── jsx.js │ │ │ └── test.js │ │ ├── julia │ │ │ ├── index.html │ │ │ └── julia.js │ │ ├── livescript │ │ │ ├── index.html │ │ │ └── livescript.js │ │ ├── lua │ │ │ ├── index.html │ │ │ └── lua.js │ │ ├── markdown │ │ │ ├── index.html │ │ │ ├── markdown.js │ │ │ └── test.js │ │ ├── mathematica │ │ │ ├── index.html │ │ │ └── mathematica.js │ │ ├── mbox │ │ │ ├── index.html │ │ │ └── mbox.js │ │ ├── meta.js │ │ ├── mirc │ │ │ ├── index.html │ │ │ └── mirc.js │ │ ├── mllike │ │ │ ├── index.html │ │ │ └── mllike.js │ │ ├── modelica │ │ │ ├── index.html │ │ │ └── modelica.js │ │ ├── mscgen │ │ │ ├── index.html │ │ │ ├── mscgen.js │ │ │ ├── mscgen_test.js │ │ │ ├── msgenny_test.js │ │ │ └── xu_test.js │ │ ├── mumps │ │ │ ├── index.html │ │ │ └── mumps.js │ │ ├── nginx │ │ │ ├── index.html │ │ │ └── nginx.js │ │ ├── nsis │ │ │ ├── index.html │ │ │ └── nsis.js │ │ ├── ntriples │ │ │ ├── index.html │ │ │ └── ntriples.js │ │ ├── octave │ │ │ ├── index.html │ │ │ └── octave.js │ │ ├── oz │ │ │ ├── index.html │ │ │ └── oz.js │ │ ├── pascal │ │ │ ├── index.html │ │ │ └── pascal.js │ │ ├── pegjs │ │ │ ├── index.html │ │ │ └── pegjs.js │ │ ├── perl │ │ │ ├── index.html │ │ │ └── perl.js │ │ ├── php │ │ │ ├── index.html │ │ │ ├── php.js │ │ │ └── test.js │ │ ├── pig │ │ │ ├── index.html │ │ │ └── pig.js │ │ ├── powershell │ │ │ ├── index.html │ │ │ ├── powershell.js │ │ │ └── test.js │ │ ├── properties │ │ │ ├── index.html │ │ │ └── properties.js │ │ ├── protobuf │ │ │ ├── index.html │ │ │ └── protobuf.js │ │ ├── puppet │ │ │ ├── index.html │ │ │ └── puppet.js │ │ ├── python │ │ │ ├── index.html │ │ │ ├── python.js │ │ │ └── test.js │ │ ├── q │ │ │ ├── index.html │ │ │ └── q.js │ │ ├── r │ │ │ ├── index.html │ │ │ └── r.js │ │ ├── rpm │ │ │ ├── changes │ │ │ │ └── index.html │ │ │ ├── index.html │ │ │ └── rpm.js │ │ ├── rst │ │ │ ├── index.html │ │ │ └── rst.js │ │ ├── ruby │ │ │ ├── index.html │ │ │ ├── ruby.js │ │ │ └── test.js │ │ ├── rust │ │ │ ├── index.html │ │ │ ├── rust.js │ │ │ └── test.js │ │ ├── sas │ │ │ ├── index.html │ │ │ └── sas.js │ │ ├── sass │ │ │ ├── index.html │ │ │ └── sass.js │ │ ├── scheme │ │ │ ├── index.html │ │ │ └── scheme.js │ │ ├── shell │ │ │ ├── index.html │ │ │ ├── shell.js │ │ │ └── test.js │ │ ├── sieve │ │ │ ├── index.html │ │ │ └── sieve.js │ │ ├── slim │ │ │ ├── index.html │ │ │ ├── slim.js │ │ │ └── test.js │ │ ├── smalltalk │ │ │ ├── index.html │ │ │ └── smalltalk.js │ │ ├── smarty │ │ │ ├── index.html │ │ │ └── smarty.js │ │ ├── solr │ │ │ ├── index.html │ │ │ └── solr.js │ │ ├── soy │ │ │ ├── index.html │ │ │ └── soy.js │ │ ├── sparql │ │ │ ├── index.html │ │ │ └── sparql.js │ │ ├── spreadsheet │ │ │ ├── index.html │ │ │ └── spreadsheet.js │ │ ├── sql │ │ │ ├── index.html │ │ │ └── sql.js │ │ ├── stex │ │ │ ├── index.html │ │ │ ├── stex.js │ │ │ └── test.js │ │ ├── stylus │ │ │ ├── index.html │ │ │ └── stylus.js │ │ ├── swift │ │ │ ├── index.html │ │ │ └── swift.js │ │ ├── tcl │ │ │ ├── index.html │ │ │ └── tcl.js │ │ ├── textile │ │ │ ├── index.html │ │ │ ├── test.js │ │ │ └── textile.js │ │ ├── tiddlywiki │ │ │ ├── index.html │ │ │ ├── tiddlywiki.css │ │ │ └── tiddlywiki.js │ │ ├── tiki │ │ │ ├── index.html │ │ │ ├── tiki.css │ │ │ └── tiki.js │ │ ├── toml │ │ │ ├── index.html │ │ │ └── toml.js │ │ ├── tornado │ │ │ ├── index.html │ │ │ └── tornado.js │ │ ├── troff │ │ │ ├── index.html │ │ │ └── troff.js │ │ ├── ttcn-cfg │ │ │ ├── index.html │ │ │ └── ttcn-cfg.js │ │ ├── ttcn │ │ │ ├── index.html │ │ │ └── ttcn.js │ │ ├── turtle │ │ │ ├── index.html │ │ │ └── turtle.js │ │ ├── twig │ │ │ ├── index.html │ │ │ └── twig.js │ │ ├── vb │ │ │ ├── index.html │ │ │ └── vb.js │ │ ├── vbscript │ │ │ ├── index.html │ │ │ └── vbscript.js │ │ ├── velocity │ │ │ ├── index.html │ │ │ └── velocity.js │ │ ├── verilog │ │ │ ├── index.html │ │ │ ├── test.js │ │ │ └── verilog.js │ │ ├── vhdl │ │ │ ├── index.html │ │ │ └── vhdl.js │ │ ├── vue │ │ │ ├── index.html │ │ │ └── vue.js │ │ ├── webidl │ │ │ ├── index.html │ │ │ └── webidl.js │ │ ├── xml │ │ │ ├── index.html │ │ │ ├── test.js │ │ │ └── xml.js │ │ ├── xquery │ │ │ ├── index.html │ │ │ ├── test.js │ │ │ └── xquery.js │ │ ├── yacas │ │ │ ├── index.html │ │ │ └── yacas.js │ │ ├── yaml-frontmatter │ │ │ ├── index.html │ │ │ └── yaml-frontmatter.js │ │ ├── yaml │ │ │ ├── index.html │ │ │ └── yaml.js │ │ └── z80 │ │ │ ├── index.html │ │ │ └── z80.js │ ├── package.json │ ├── test │ │ ├── comment_test.js │ │ ├── doc_test.js │ │ ├── driver.js │ │ ├── emacs_test.js │ │ ├── index.html │ │ ├── lint.js │ │ ├── mode_test.css │ │ ├── mode_test.js │ │ ├── multi_test.js │ │ ├── phantom_driver.js │ │ ├── run.js │ │ ├── scroll_test.js │ │ ├── search_test.js │ │ ├── sql-hint-test.js │ │ ├── sublime_test.js │ │ ├── test.js │ │ └── vim_test.js │ └── theme │ │ ├── 3024-day.css │ │ ├── 3024-night.css │ │ ├── abcdef.css │ │ ├── ambiance-mobile.css │ │ ├── ambiance.css │ │ ├── base16-dark.css │ │ ├── base16-light.css │ │ ├── bespin.css │ │ ├── blackboard.css │ │ ├── cobalt.css │ │ ├── colorforth.css │ │ ├── dracula.css │ │ ├── eclipse.css │ │ ├── elegant.css │ │ ├── erlang-dark.css │ │ ├── hopscotch.css │ │ ├── icecoder.css │ │ ├── isotope.css │ │ ├── lesser-dark.css │ │ ├── liquibyte.css │ │ ├── material.css │ │ ├── mbo.css │ │ ├── mdn-like.css │ │ ├── midnight.css │ │ ├── monokai.css │ │ ├── neat.css │ │ ├── neo.css │ │ ├── night.css │ │ ├── paraiso-dark.css │ │ ├── paraiso-light.css │ │ ├── pastel-on-dark.css │ │ ├── railscasts.css │ │ ├── rubyblue.css │ │ ├── seti.css │ │ ├── solarized.css │ │ ├── the-matrix.css │ │ ├── tomorrow-night-bright.css │ │ ├── tomorrow-night-eighties.css │ │ ├── ttcn.css │ │ ├── twilight.css │ │ ├── vibrant-ink.css │ │ ├── xq-dark.css │ │ ├── xq-light.css │ │ ├── yeti.css │ │ └── zenburn.css ├── font-awesome │ ├── HELP-US-OUT.txt │ ├── css │ │ ├── font-awesome.css │ │ └── font-awesome.min.css │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ ├── less │ │ ├── animated.less │ │ ├── bordered-pulled.less │ │ ├── core.less │ │ ├── fixed-width.less │ │ ├── font-awesome.less │ │ ├── icons.less │ │ ├── larger.less │ │ ├── list.less │ │ ├── mixins.less │ │ ├── path.less │ │ ├── rotated-flipped.less │ │ ├── screen-reader.less │ │ ├── stacked.less │ │ └── variables.less │ └── scss │ │ ├── _animated.scss │ │ ├── _bordered-pulled.scss │ │ ├── _core.scss │ │ ├── _fixed-width.scss │ │ ├── _icons.scss │ │ ├── _larger.scss │ │ ├── _list.scss │ │ ├── _mixins.scss │ │ ├── _path.scss │ │ ├── _rotated-flipped.scss │ │ ├── _screen-reader.scss │ │ ├── _stacked.scss │ │ ├── _variables.scss │ │ └── font-awesome.scss ├── jquery.min.js ├── katex │ ├── README.md │ ├── contrib │ │ └── auto-render.min.js │ ├── fonts │ │ ├── KaTeX_AMS-Regular.eot │ │ ├── KaTeX_AMS-Regular.ttf │ │ ├── KaTeX_AMS-Regular.woff │ │ ├── KaTeX_AMS-Regular.woff2 │ │ ├── KaTeX_Caligraphic-Bold.eot │ │ ├── KaTeX_Caligraphic-Bold.ttf │ │ ├── KaTeX_Caligraphic-Bold.woff │ │ ├── KaTeX_Caligraphic-Bold.woff2 │ │ ├── KaTeX_Caligraphic-Regular.eot │ │ ├── KaTeX_Caligraphic-Regular.ttf │ │ ├── KaTeX_Caligraphic-Regular.woff │ │ ├── KaTeX_Caligraphic-Regular.woff2 │ │ ├── KaTeX_Fraktur-Bold.eot │ │ ├── KaTeX_Fraktur-Bold.ttf │ │ ├── KaTeX_Fraktur-Bold.woff │ │ ├── KaTeX_Fraktur-Bold.woff2 │ │ ├── KaTeX_Fraktur-Regular.eot │ │ ├── KaTeX_Fraktur-Regular.ttf │ │ ├── KaTeX_Fraktur-Regular.woff │ │ ├── KaTeX_Fraktur-Regular.woff2 │ │ ├── KaTeX_Main-Bold.eot │ │ ├── KaTeX_Main-Bold.ttf │ │ ├── KaTeX_Main-Bold.woff │ │ ├── KaTeX_Main-Bold.woff2 │ │ ├── KaTeX_Main-Italic.eot │ │ ├── KaTeX_Main-Italic.ttf │ │ ├── KaTeX_Main-Italic.woff │ │ ├── KaTeX_Main-Italic.woff2 │ │ ├── KaTeX_Main-Regular.eot │ │ ├── KaTeX_Main-Regular.ttf │ │ ├── KaTeX_Main-Regular.woff │ │ ├── KaTeX_Main-Regular.woff2 │ │ ├── KaTeX_Math-BoldItalic.eot │ │ ├── KaTeX_Math-BoldItalic.ttf │ │ ├── KaTeX_Math-BoldItalic.woff │ │ ├── KaTeX_Math-BoldItalic.woff2 │ │ ├── KaTeX_Math-Italic.eot │ │ ├── KaTeX_Math-Italic.ttf │ │ ├── KaTeX_Math-Italic.woff │ │ ├── KaTeX_Math-Italic.woff2 │ │ ├── KaTeX_Math-Regular.eot │ │ ├── KaTeX_Math-Regular.ttf │ │ ├── KaTeX_Math-Regular.woff │ │ ├── KaTeX_Math-Regular.woff2 │ │ ├── KaTeX_SansSerif-Bold.eot │ │ ├── KaTeX_SansSerif-Bold.ttf │ │ ├── KaTeX_SansSerif-Bold.woff │ │ ├── KaTeX_SansSerif-Bold.woff2 │ │ ├── KaTeX_SansSerif-Italic.eot │ │ ├── KaTeX_SansSerif-Italic.ttf │ │ ├── KaTeX_SansSerif-Italic.woff │ │ ├── KaTeX_SansSerif-Italic.woff2 │ │ ├── KaTeX_SansSerif-Regular.eot │ │ ├── KaTeX_SansSerif-Regular.ttf │ │ ├── KaTeX_SansSerif-Regular.woff │ │ ├── KaTeX_SansSerif-Regular.woff2 │ │ ├── KaTeX_Script-Regular.eot │ │ ├── KaTeX_Script-Regular.ttf │ │ ├── KaTeX_Script-Regular.woff │ │ ├── KaTeX_Script-Regular.woff2 │ │ ├── KaTeX_Size1-Regular.eot │ │ ├── KaTeX_Size1-Regular.ttf │ │ ├── KaTeX_Size1-Regular.woff │ │ ├── KaTeX_Size1-Regular.woff2 │ │ ├── KaTeX_Size2-Regular.eot │ │ ├── KaTeX_Size2-Regular.ttf │ │ ├── KaTeX_Size2-Regular.woff │ │ ├── KaTeX_Size2-Regular.woff2 │ │ ├── KaTeX_Size3-Regular.eot │ │ ├── KaTeX_Size3-Regular.ttf │ │ ├── KaTeX_Size3-Regular.woff │ │ ├── KaTeX_Size3-Regular.woff2 │ │ ├── KaTeX_Size4-Regular.eot │ │ ├── KaTeX_Size4-Regular.ttf │ │ ├── KaTeX_Size4-Regular.woff │ │ ├── KaTeX_Size4-Regular.woff2 │ │ ├── KaTeX_Typewriter-Regular.eot │ │ ├── KaTeX_Typewriter-Regular.ttf │ │ ├── KaTeX_Typewriter-Regular.woff │ │ └── KaTeX_Typewriter-Regular.woff2 │ ├── katex.css │ ├── katex.js │ ├── katex.min.css │ └── katex.min.js ├── marked │ ├── .gitignore │ ├── .npmignore │ ├── .travis.yml │ ├── Gulpfile.js │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── bin │ │ └── marked │ ├── bower.json │ ├── component.json │ ├── doc │ │ ├── broken.md │ │ └── todo.md │ ├── index.js │ ├── lib │ │ └── marked.js │ ├── man │ │ └── marked.1 │ ├── marked.js │ ├── marked.min.js │ ├── package.json │ └── test │ │ ├── README │ │ ├── browser │ │ ├── index.html │ │ ├── index.js │ │ └── test.js │ │ ├── index.js │ │ ├── new │ │ ├── autolink_lines.html │ │ ├── autolink_lines.text │ │ ├── blockquote_list_item.html │ │ ├── blockquote_list_item.text │ │ ├── case_insensitive_refs.html │ │ ├── case_insensitive_refs.text │ │ ├── def_blocks.html │ │ ├── def_blocks.text │ │ ├── double_link.html │ │ ├── double_link.text │ │ ├── escaped_angles.html │ │ ├── escaped_angles.text │ │ ├── gfm_break.breaks.html │ │ ├── gfm_break.breaks.text │ │ ├── gfm_code.html │ │ ├── gfm_code.text │ │ ├── gfm_code_hr_list.html │ │ ├── gfm_code_hr_list.text │ │ ├── gfm_del.html │ │ ├── gfm_del.text │ │ ├── gfm_em.html │ │ ├── gfm_em.text │ │ ├── gfm_hashtag.gfm.html │ │ ├── gfm_hashtag.gfm.text │ │ ├── gfm_hashtag.nogfm.html │ │ ├── gfm_hashtag.nogfm.text │ │ ├── gfm_links.html │ │ ├── gfm_links.text │ │ ├── gfm_tables.html │ │ ├── gfm_tables.text │ │ ├── hr_list_break.html │ │ ├── hr_list_break.text │ │ ├── lazy_blockquotes.html │ │ ├── lazy_blockquotes.text │ │ ├── list_item_text.html │ │ ├── list_item_text.text │ │ ├── loose_lists.html │ │ ├── loose_lists.text │ │ ├── main.html │ │ ├── main.text │ │ ├── nested_code.html │ │ ├── nested_code.text │ │ ├── nested_em.html │ │ ├── nested_em.text │ │ ├── nested_square_link.html │ │ ├── nested_square_link.text │ │ ├── not_a_link.html │ │ ├── not_a_link.text │ │ ├── ref_paren.html │ │ ├── ref_paren.text │ │ ├── same_bullet.html │ │ ├── same_bullet.text │ │ ├── text.smartypants.html │ │ ├── text.smartypants.text │ │ ├── toplevel_paragraphs.gfm.html │ │ ├── toplevel_paragraphs.gfm.text │ │ ├── tricky_list.html │ │ └── tricky_list.text │ │ ├── original │ │ ├── amps_and_angles_encoding.html │ │ ├── amps_and_angles_encoding.text │ │ ├── auto_links.html │ │ ├── auto_links.text │ │ ├── backslash_escapes.html │ │ ├── backslash_escapes.text │ │ ├── blockquotes_with_code_blocks.html │ │ ├── blockquotes_with_code_blocks.text │ │ ├── code_blocks.html │ │ ├── code_blocks.text │ │ ├── code_spans.html │ │ ├── code_spans.text │ │ ├── hard_wrapped_paragraphs_with_list_like_lines.html │ │ ├── hard_wrapped_paragraphs_with_list_like_lines.text │ │ ├── horizontal_rules.html │ │ ├── horizontal_rules.text │ │ ├── inline_html_advanced.html │ │ ├── inline_html_advanced.text │ │ ├── inline_html_comments.html │ │ ├── inline_html_comments.text │ │ ├── inline_html_simple.html │ │ ├── inline_html_simple.text │ │ ├── links_inline_style.html │ │ ├── links_inline_style.text │ │ ├── links_reference_style.html │ │ ├── links_reference_style.text │ │ ├── links_shortcut_references.html │ │ ├── links_shortcut_references.text │ │ ├── literal_quotes_in_titles.html │ │ ├── literal_quotes_in_titles.text │ │ ├── markdown_documentation_basics.html │ │ ├── markdown_documentation_basics.text │ │ ├── markdown_documentation_syntax.html │ │ ├── markdown_documentation_syntax.text │ │ ├── nested_blockquotes.html │ │ ├── nested_blockquotes.text │ │ ├── ordered_and_unordered_lists.html │ │ ├── ordered_and_unordered_lists.text │ │ ├── strong_and_em_together.html │ │ ├── strong_and_em_together.text │ │ ├── tabs.html │ │ ├── tabs.text │ │ ├── tidyness.html │ │ └── tidyness.text │ │ └── tests │ │ ├── amps_and_angles_encoding.html │ │ ├── amps_and_angles_encoding.text │ │ ├── auto_links.html │ │ ├── auto_links.text │ │ ├── autolink_lines.html │ │ ├── autolink_lines.text │ │ ├── backslash_escapes.html │ │ ├── backslash_escapes.text │ │ ├── blockquote_list_item.html │ │ ├── blockquote_list_item.text │ │ ├── blockquotes_with_code_blocks.html │ │ ├── blockquotes_with_code_blocks.text │ │ ├── case_insensitive_refs.html │ │ ├── case_insensitive_refs.text │ │ ├── code_blocks.html │ │ ├── code_blocks.text │ │ ├── code_spans.html │ │ ├── code_spans.text │ │ ├── def_blocks.html │ │ ├── def_blocks.text │ │ ├── double_link.html │ │ ├── double_link.text │ │ ├── escaped_angles.html │ │ ├── escaped_angles.text │ │ ├── gfm_break.breaks.html │ │ ├── gfm_break.breaks.text │ │ ├── gfm_code.html │ │ ├── gfm_code.text │ │ ├── gfm_code_hr_list.html │ │ ├── gfm_code_hr_list.text │ │ ├── gfm_del.html │ │ ├── gfm_del.text │ │ ├── gfm_em.html │ │ ├── gfm_em.text │ │ ├── gfm_hashtag.gfm.html │ │ ├── gfm_hashtag.gfm.text │ │ ├── gfm_hashtag.nogfm.html │ │ ├── gfm_hashtag.nogfm.text │ │ ├── gfm_links.html │ │ ├── gfm_links.text │ │ ├── gfm_tables.html │ │ ├── gfm_tables.text │ │ ├── hard_wrapped_paragraphs_with_list_like_lines.nogfm.html │ │ ├── hard_wrapped_paragraphs_with_list_like_lines.nogfm.text │ │ ├── horizontal_rules.html │ │ ├── horizontal_rules.text │ │ ├── hr_list_break.html │ │ ├── hr_list_break.text │ │ ├── inline_html_advanced.html │ │ ├── inline_html_advanced.text │ │ ├── inline_html_comments.html │ │ ├── inline_html_comments.text │ │ ├── inline_html_simple.html │ │ ├── inline_html_simple.text │ │ ├── lazy_blockquotes.html │ │ ├── lazy_blockquotes.text │ │ ├── links_inline_style.html │ │ ├── links_inline_style.text │ │ ├── links_reference_style.html │ │ ├── links_reference_style.text │ │ ├── links_shortcut_references.html │ │ ├── links_shortcut_references.text │ │ ├── list_item_text.html │ │ ├── list_item_text.text │ │ ├── literal_quotes_in_titles.html │ │ ├── literal_quotes_in_titles.text │ │ ├── loose_lists.html │ │ ├── loose_lists.text │ │ ├── main.html │ │ ├── main.text │ │ ├── markdown_documentation_basics.html │ │ ├── markdown_documentation_basics.text │ │ ├── markdown_documentation_syntax.html │ │ ├── markdown_documentation_syntax.text │ │ ├── nested_blockquotes.html │ │ ├── nested_blockquotes.text │ │ ├── nested_code.html │ │ ├── nested_code.text │ │ ├── nested_em.html │ │ ├── nested_em.text │ │ ├── nested_square_link.html │ │ ├── nested_square_link.text │ │ ├── not_a_link.html │ │ ├── not_a_link.text │ │ ├── ordered_and_unordered_lists.html │ │ ├── ordered_and_unordered_lists.text │ │ ├── ref_paren.html │ │ ├── ref_paren.text │ │ ├── same_bullet.html │ │ ├── same_bullet.text │ │ ├── strong_and_em_together.html │ │ ├── strong_and_em_together.text │ │ ├── tabs.html │ │ ├── tabs.text │ │ ├── text.smartypants.html │ │ ├── text.smartypants.text │ │ ├── tidyness.html │ │ ├── tidyness.text │ │ ├── toplevel_paragraphs.gfm.html │ │ ├── toplevel_paragraphs.gfm.text │ │ ├── tricky_list.html │ │ └── tricky_list.text ├── mousetrap │ ├── .gitignore │ ├── Gruntfile.js │ ├── README.md │ ├── mousetrap.js │ ├── mousetrap.min.js │ ├── package.json │ ├── plugins │ │ ├── README.md │ │ ├── bind-dictionary │ │ │ ├── README.md │ │ │ ├── mousetrap-bind-dictionary.js │ │ │ └── mousetrap-bind-dictionary.min.js │ │ ├── global-bind │ │ │ ├── README.md │ │ │ ├── mousetrap-global-bind.js │ │ │ └── mousetrap-global-bind.min.js │ │ ├── pause │ │ │ ├── README.md │ │ │ ├── mousetrap-pause.js │ │ │ └── mousetrap-pause.min.js │ │ └── record │ │ │ ├── README.md │ │ │ ├── mousetrap-record.js │ │ │ ├── mousetrap-record.min.js │ │ │ └── tests │ │ │ ├── index.html │ │ │ ├── jelly.css │ │ │ └── jelly.js │ └── tests │ │ ├── libs │ │ ├── chai-1.6.0.js │ │ ├── jquery-1.7.2.min.js │ │ ├── key-event.js │ │ ├── mocha-1.9.0.css │ │ ├── mocha-1.9.0.js │ │ ├── sinon-1.7.1.js │ │ ├── sinon-chai-2.4.0.js │ │ └── sinon-ie-1.7.1.js │ │ ├── mousetrap.html │ │ └── test.mousetrap.js ├── prettify.min.js └── sortable │ ├── .editorconfig │ ├── .gitignore │ ├── .jshintrc │ ├── CONTRIBUTING.md │ ├── Gruntfile.js │ ├── README.md │ ├── Sortable.html │ ├── Sortable.js │ ├── Sortable.min.js │ ├── bower.json │ ├── component.json │ ├── index.html │ ├── jquery.binding.js │ ├── knockout-sortable.js │ ├── meteor │ ├── .versions │ ├── README.md │ ├── example │ │ ├── .meteor │ │ │ ├── .finished-upgraders │ │ │ ├── .gitignore │ │ │ ├── .id │ │ │ ├── packages │ │ │ ├── platforms │ │ │ ├── release │ │ │ └── versions │ │ ├── README.md │ │ ├── client │ │ │ ├── define-object-type.css │ │ │ ├── define-object-type.html │ │ │ └── define-object-type.js │ │ ├── model.js │ │ ├── run.bat │ │ ├── run.sh │ │ └── server │ │ │ ├── fixtures.js │ │ │ └── sortable-collections.js │ ├── methods-client.js │ ├── methods-server.js │ ├── package.js │ ├── publish.sh │ ├── reactivize.js │ ├── runtests.bat │ ├── runtests.sh │ ├── template.html │ └── test.js │ ├── ng-sortable.js │ ├── package.json │ ├── react-sortable-mixin.js │ └── st │ ├── app.css │ ├── app.js │ ├── face-01.jpg │ ├── face-02.jpg │ ├── face-03.jpg │ ├── face-04.jpg │ ├── face-05.jpg │ ├── face-06.jpg │ ├── face-07.jpg │ ├── face-08.jpg │ ├── face-09.jpg │ ├── iframe │ ├── frame.html │ └── index.html │ ├── logo.png │ └── og-image.png └── src ├── bookeditor.js ├── bookeditor.scss └── html.scss /README.md: -------------------------------------------------------------------------------- 1 | # Bookeditor 2 | 一个开源的Markdown在线写书编辑器 3 | 4 | 码云地址:https://gitee.com/beibq/bookeditor 5 | 6 | 7 | github地址:https://github.com/chaijunit/bookeditor 8 | 9 | # Bookeditor依赖的开源项目 10 | 11 | - [jQuery](http://jquery.com/) 12 | - [Bootstrap](https://v3.bootcss.com/) 13 | - [Codemirror](http://codemirror.net/) 14 | - [FontAwesome](http://fontawesome.io/) 15 | - [KaTeX](https://khan.github.io/KaTeX/) 16 | - [marked](https://github.com/chjj/marked) 17 | - [Mousetrap](https://craig.is/killing/mice) 18 | - [Prettify](https://github.com/google/code-prettify) 19 | - [bootstrap-treeview](https://github.com/jonmiles/bootstrap-treeview)(目录) 20 | - [Sortable](https://github.com/RubaXa/Sortable)(目录) 21 | 22 | # 示例 23 | 24 | - [写书示例(带目录)](http://www.beibq.cn/bookeditor/book) 25 | - [普通示例](http://www.beibq.cn/bookeditor/common) 26 | - [非全屏示例](http://www.beibq.cn/bookeditor/not-full) 27 | 28 | 29 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bookeditor", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "devDependencies": { 12 | "autoprefixer": "^7.2.3", 13 | "cssnext": "^1.8.4", 14 | "gulp": "^3.9.1", 15 | "gulp-connect": "^5.0.0", 16 | "gulp-jshint": "^2.0.4", 17 | "gulp-minify-css": "^1.2.4", 18 | "gulp-postcss": "^7.0.0", 19 | "gulp-rename": "^1.2.2", 20 | "gulp-uglify": "^3.0.0", 21 | "node-sass": "^4.7.2", 22 | "precss": "^2.0.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /plugins/bootstrap-treeview/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "public/bower_components" 3 | } -------------------------------------------------------------------------------- /plugins/bootstrap-treeview/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /plugins/bootstrap-treeview/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | public/bower_components/ 3 | -------------------------------------------------------------------------------- /plugins/bootstrap-treeview/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | // Details: https://github.com/victorporof/Sublime-JSHint#using-your-own-jshintrc-options 3 | // Example: https://github.com/jshint/jshint/blob/master/examples/.jshintrc 4 | // Documentation: http://www.jshint.com/docs/ 5 | "browser": true, 6 | "esnext": true, 7 | "globals": { $: false, jQuery: false, "console": false}, 8 | "globalstrict": true, 9 | "quotmark": "single", 10 | "smarttabs": true, 11 | "trailing": true, 12 | "undef": true, 13 | "unused": true 14 | } 15 | -------------------------------------------------------------------------------- /plugins/bootstrap-treeview/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - "0.11" 5 | - "0.10" 6 | 7 | before_script: 8 | - npm install -g grunt-cli 9 | - npm install 10 | - bower install 11 | 12 | script: grunt test --verbose --force -------------------------------------------------------------------------------- /plugins/bootstrap-treeview/bootstrap-treeview.min.css: -------------------------------------------------------------------------------- 1 | .treeview .list-group-item{cursor:pointer}.treeview span.indent{margin-left:10px;margin-right:10px}.treeview span.icon{width:12px;margin-right:5px}.treeview .node-disabled{color:silver;cursor:not-allowed} -------------------------------------------------------------------------------- /plugins/bootstrap-treeview/tests/README.md: -------------------------------------------------------------------------------- 1 | # Testing 2 | 3 | Tests are run using [QUnit](https://qunitjs.com/) and [PhantomJS](http://phantomjs.org/) 4 | 5 | To run the tests yourself. 6 | 7 | ```javascript 8 | $ npm install 9 | $ npm test 10 | ``` 11 | 12 | To view the test report. 13 | 14 | ```javascript 15 | $ npm install 16 | $ npm start 17 | ``` 18 | 19 | Then open a browser and navigate to [http://localhost:3000/tests.html](http://localhost:3000/tests.html) 20 | -------------------------------------------------------------------------------- /plugins/bootstrap-treeview/tests/lib/bootstrap-treeview.css: -------------------------------------------------------------------------------- 1 | /* ========================================================= 2 | * bootstrap-treeview.css v1.2.0 3 | * ========================================================= 4 | * Copyright 2013 Jonathan Miles 5 | * Project URL : http://www.jondmiles.com/bootstrap-treeview 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ========================================================= */ 19 | 20 | .treeview .list-group-item { 21 | cursor: pointer; 22 | } 23 | 24 | .treeview span.indent { 25 | margin-left: 10px; 26 | margin-right: 10px; 27 | } 28 | 29 | .treeview span.icon { 30 | width: 12px; 31 | margin-right: 5px; 32 | } 33 | 34 | .treeview .node-disabled { 35 | color: silver; 36 | cursor: not-allowed; 37 | } -------------------------------------------------------------------------------- /plugins/bootstrap-treeview/tests/tests.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | bootstrap-treeview.js Tests 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 |
23 | 24 | 25 |
26 |
27 | 28 | -------------------------------------------------------------------------------- /plugins/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /plugins/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /plugins/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /plugins/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /plugins/bootstrap/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /plugins/codemirror/.gitattributes: -------------------------------------------------------------------------------- 1 | *.txt text 2 | *.js text 3 | *.html text 4 | *.md text 5 | *.json text 6 | *.yml text 7 | *.css text 8 | *.svg text 9 | -------------------------------------------------------------------------------- /plugins/codemirror/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /npm-debug.log 3 | /test*.html 4 | .tern-* 5 | *~ 6 | *.swp 7 | .idea 8 | *.iml 9 | -------------------------------------------------------------------------------- /plugins/codemirror/.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /demo 3 | /doc 4 | /test 5 | /test*.html 6 | /index.html 7 | /mode/*/*test.js 8 | /mode/*/*.html 9 | /mode/index.html 10 | .* 11 | -------------------------------------------------------------------------------- /plugins/codemirror/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - stable 4 | sudo: false 5 | -------------------------------------------------------------------------------- /plugins/codemirror/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2016 by Marijn Haverbeke and others 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /plugins/codemirror/addon/dialog/dialog.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-dialog { 2 | position: absolute; 3 | left: 0; right: 0; 4 | background: inherit; 5 | z-index: 15; 6 | padding: .1em .8em; 7 | overflow: hidden; 8 | color: inherit; 9 | } 10 | 11 | .CodeMirror-dialog-top { 12 | border-bottom: 1px solid #eee; 13 | top: 0; 14 | } 15 | 16 | .CodeMirror-dialog-bottom { 17 | border-top: 1px solid #eee; 18 | bottom: 0; 19 | } 20 | 21 | .CodeMirror-dialog input { 22 | border: none; 23 | outline: none; 24 | background: transparent; 25 | width: 20em; 26 | color: inherit; 27 | font-family: monospace; 28 | } 29 | 30 | .CodeMirror-dialog button { 31 | font-size: 70%; 32 | } 33 | -------------------------------------------------------------------------------- /plugins/codemirror/addon/display/fullscreen.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-fullscreen { 2 | position: fixed; 3 | top: 0; left: 0; right: 0; bottom: 0; 4 | height: auto; 5 | z-index: 9; 6 | } 7 | -------------------------------------------------------------------------------- /plugins/codemirror/addon/edit/trailingspace.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | CodeMirror.defineOption("showTrailingSpace", false, function(cm, val, prev) { 13 | if (prev == CodeMirror.Init) prev = false; 14 | if (prev && !val) 15 | cm.removeOverlay("trailingspace"); 16 | else if (!prev && val) 17 | cm.addOverlay({ 18 | token: function(stream) { 19 | for (var l = stream.string.length, i = l; i && /\s/.test(stream.string.charAt(i - 1)); --i) {} 20 | if (i > stream.pos) { stream.pos = i; return null; } 21 | stream.pos = l; 22 | return "trailingspace"; 23 | }, 24 | name: "trailingspace" 25 | }); 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /plugins/codemirror/addon/fold/foldgutter.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-foldmarker { 2 | color: blue; 3 | text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; 4 | font-family: arial; 5 | line-height: .3; 6 | cursor: pointer; 7 | } 8 | .CodeMirror-foldgutter { 9 | width: .7em; 10 | } 11 | .CodeMirror-foldgutter-open, 12 | .CodeMirror-foldgutter-folded { 13 | cursor: pointer; 14 | } 15 | .CodeMirror-foldgutter-open:after { 16 | content: "\25BE"; 17 | } 18 | .CodeMirror-foldgutter-folded:after { 19 | content: "\25B8"; 20 | } 21 | -------------------------------------------------------------------------------- /plugins/codemirror/addon/hint/show-hint.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-hints { 2 | position: absolute; 3 | z-index: 10; 4 | overflow: hidden; 5 | list-style: none; 6 | 7 | margin: 0; 8 | padding: 2px; 9 | 10 | -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 11 | -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 12 | box-shadow: 2px 3px 5px rgba(0,0,0,.2); 13 | border-radius: 3px; 14 | border: 1px solid silver; 15 | 16 | background: white; 17 | font-size: 90%; 18 | font-family: monospace; 19 | max-width: 19em; 20 | 21 | max-height: 20em; 22 | overflow-y: auto; 23 | } 24 | 25 | .CodeMirror-hint { 26 | margin: 0; 27 | padding: 0 4px; 28 | border-radius: 2px; 29 | white-space: pre; 30 | color: black; 31 | cursor: pointer; 32 | } 33 | 34 | li.CodeMirror-hint-active { 35 | background: #08f; 36 | color: white; 37 | } 38 | -------------------------------------------------------------------------------- /plugins/codemirror/addon/lint/coffeescript-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | // Depends on coffeelint.js from http://www.coffeelint.org/js/coffeelint.js 5 | 6 | // declare global: coffeelint 7 | 8 | (function(mod) { 9 | if (typeof exports == "object" && typeof module == "object") // CommonJS 10 | mod(require("../../lib/codemirror")); 11 | else if (typeof define == "function" && define.amd) // AMD 12 | define(["../../lib/codemirror"], mod); 13 | else // Plain browser env 14 | mod(CodeMirror); 15 | })(function(CodeMirror) { 16 | "use strict"; 17 | 18 | CodeMirror.registerHelper("lint", "coffeescript", function(text) { 19 | var found = []; 20 | var parseError = function(err) { 21 | var loc = err.lineNumber; 22 | found.push({from: CodeMirror.Pos(loc-1, 0), 23 | to: CodeMirror.Pos(loc, 0), 24 | severity: err.level, 25 | message: err.message}); 26 | }; 27 | try { 28 | var res = coffeelint.lint(text); 29 | for(var i = 0; i < res.length; i++) { 30 | parseError(res[i]); 31 | } 32 | } catch(e) { 33 | found.push({from: CodeMirror.Pos(e.location.first_line, 0), 34 | to: CodeMirror.Pos(e.location.last_line, e.location.last_column), 35 | severity: 'error', 36 | message: e.message}); 37 | } 38 | return found; 39 | }); 40 | 41 | }); 42 | -------------------------------------------------------------------------------- /plugins/codemirror/addon/lint/css-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | // Depends on csslint.js from https://github.com/stubbornella/csslint 5 | 6 | // declare global: CSSLint 7 | 8 | (function(mod) { 9 | if (typeof exports == "object" && typeof module == "object") // CommonJS 10 | mod(require("../../lib/codemirror")); 11 | else if (typeof define == "function" && define.amd) // AMD 12 | define(["../../lib/codemirror"], mod); 13 | else // Plain browser env 14 | mod(CodeMirror); 15 | })(function(CodeMirror) { 16 | "use strict"; 17 | 18 | CodeMirror.registerHelper("lint", "css", function(text) { 19 | var found = []; 20 | if (!window.CSSLint) return found; 21 | var results = CSSLint.verify(text), messages = results.messages, message = null; 22 | for ( var i = 0; i < messages.length; i++) { 23 | message = messages[i]; 24 | var startLine = message.line -1, endLine = message.line -1, startCol = message.col -1, endCol = message.col; 25 | found.push({ 26 | from: CodeMirror.Pos(startLine, startCol), 27 | to: CodeMirror.Pos(endLine, endCol), 28 | message: message.message, 29 | severity : message.type 30 | }); 31 | } 32 | return found; 33 | }); 34 | 35 | }); 36 | -------------------------------------------------------------------------------- /plugins/codemirror/addon/lint/json-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | // Depends on jsonlint.js from https://github.com/zaach/jsonlint 5 | 6 | // declare global: jsonlint 7 | 8 | (function(mod) { 9 | if (typeof exports == "object" && typeof module == "object") // CommonJS 10 | mod(require("../../lib/codemirror")); 11 | else if (typeof define == "function" && define.amd) // AMD 12 | define(["../../lib/codemirror"], mod); 13 | else // Plain browser env 14 | mod(CodeMirror); 15 | })(function(CodeMirror) { 16 | "use strict"; 17 | 18 | CodeMirror.registerHelper("lint", "json", function(text) { 19 | var found = []; 20 | jsonlint.parseError = function(str, hash) { 21 | var loc = hash.loc; 22 | found.push({from: CodeMirror.Pos(loc.first_line - 1, loc.first_column), 23 | to: CodeMirror.Pos(loc.last_line - 1, loc.last_column), 24 | message: str}); 25 | }; 26 | try { jsonlint.parse(text); } 27 | catch(e) {} 28 | return found; 29 | }); 30 | 31 | }); 32 | -------------------------------------------------------------------------------- /plugins/codemirror/addon/lint/yaml-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | "use strict"; 13 | 14 | // Depends on js-yaml.js from https://github.com/nodeca/js-yaml 15 | 16 | // declare global: jsyaml 17 | 18 | CodeMirror.registerHelper("lint", "yaml", function(text) { 19 | var found = []; 20 | try { jsyaml.load(text); } 21 | catch(e) { 22 | var loc = e.mark; 23 | found.push({ from: CodeMirror.Pos(loc.line, loc.column), to: CodeMirror.Pos(loc.line, loc.column), message: e.message }); 24 | } 25 | return found; 26 | }); 27 | 28 | }); 29 | -------------------------------------------------------------------------------- /plugins/codemirror/addon/mode/multiplex_test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function() { 5 | CodeMirror.defineMode("markdown_with_stex", function(){ 6 | var inner = CodeMirror.getMode({}, "stex"); 7 | var outer = CodeMirror.getMode({}, "markdown"); 8 | 9 | var innerOptions = { 10 | open: '$', 11 | close: '$', 12 | mode: inner, 13 | delimStyle: 'delim', 14 | innerStyle: 'inner' 15 | }; 16 | 17 | return CodeMirror.multiplexingMode(outer, innerOptions); 18 | }); 19 | 20 | var mode = CodeMirror.getMode({}, "markdown_with_stex"); 21 | 22 | function MT(name) { 23 | test.mode( 24 | name, 25 | mode, 26 | Array.prototype.slice.call(arguments, 1), 27 | 'multiplexing'); 28 | } 29 | 30 | MT( 31 | "stexInsideMarkdown", 32 | "[strong **Equation:**] [delim&delim-open $][inner&tag \\pi][delim&delim-close $]"); 33 | })(); 34 | -------------------------------------------------------------------------------- /plugins/codemirror/addon/runmode/colorize.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror"), require("./runmode")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror", "./runmode"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | "use strict"; 13 | 14 | var isBlock = /^(p|li|div|h\\d|pre|blockquote|td)$/; 15 | 16 | function textContent(node, out) { 17 | if (node.nodeType == 3) return out.push(node.nodeValue); 18 | for (var ch = node.firstChild; ch; ch = ch.nextSibling) { 19 | textContent(ch, out); 20 | if (isBlock.test(node.nodeType)) out.push("\n"); 21 | } 22 | } 23 | 24 | CodeMirror.colorize = function(collection, defaultMode) { 25 | if (!collection) collection = document.body.getElementsByTagName("pre"); 26 | 27 | for (var i = 0; i < collection.length; ++i) { 28 | var node = collection[i]; 29 | var mode = node.getAttribute("data-lang") || defaultMode; 30 | if (!mode) continue; 31 | 32 | var text = []; 33 | textContent(node, text); 34 | node.innerHTML = ""; 35 | CodeMirror.runMode(text.join(""), mode, node); 36 | 37 | node.className += " cm-s-default"; 38 | } 39 | }; 40 | }); 41 | -------------------------------------------------------------------------------- /plugins/codemirror/addon/search/matchesonscrollbar.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-search-match { 2 | background: gold; 3 | border-top: 1px solid orange; 4 | border-bottom: 1px solid orange; 5 | -moz-box-sizing: border-box; 6 | box-sizing: border-box; 7 | opacity: .5; 8 | } 9 | -------------------------------------------------------------------------------- /plugins/codemirror/addon/tern/worker.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | // declare global: tern, server 5 | 6 | var server; 7 | 8 | this.onmessage = function(e) { 9 | var data = e.data; 10 | switch (data.type) { 11 | case "init": return startServer(data.defs, data.plugins, data.scripts); 12 | case "add": return server.addFile(data.name, data.text); 13 | case "del": return server.delFile(data.name); 14 | case "req": return server.request(data.body, function(err, reqData) { 15 | postMessage({id: data.id, body: reqData, err: err && String(err)}); 16 | }); 17 | case "getFile": 18 | var c = pending[data.id]; 19 | delete pending[data.id]; 20 | return c(data.err, data.text); 21 | default: throw new Error("Unknown message type: " + data.type); 22 | } 23 | }; 24 | 25 | var nextId = 0, pending = {}; 26 | function getFile(file, c) { 27 | postMessage({type: "getFile", name: file, id: ++nextId}); 28 | pending[nextId] = c; 29 | } 30 | 31 | function startServer(defs, plugins, scripts) { 32 | if (scripts) importScripts.apply(null, scripts); 33 | 34 | server = new tern.Server({ 35 | getFile: getFile, 36 | async: true, 37 | defs: defs, 38 | plugins: plugins 39 | }); 40 | } 41 | 42 | this.console = { 43 | log: function(v) { postMessage({type: "debug", message: v}); } 44 | }; 45 | -------------------------------------------------------------------------------- /plugins/codemirror/bin/authors.sh: -------------------------------------------------------------------------------- 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 7 | -------------------------------------------------------------------------------- /plugins/codemirror/bin/lint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | process.exit(require("../test/lint").ok ? 0 : 1); 4 | -------------------------------------------------------------------------------- /plugins/codemirror/bin/upload-release.js: -------------------------------------------------------------------------------- 1 | "use strict" 2 | 3 | let version = process.argv[2] 4 | let auth = process.argv[3] 5 | 6 | if (!auth) { 7 | console.log("Usage: upload-release.js [TAG] [github-user:password]") 8 | process.exit(1) 9 | } 10 | 11 | require('child_process').exec("git --no-pager show -s --format='%s' " + version, (error, stdout) => { 12 | if (error) throw error 13 | let message = stdout.split("\n").slice(2) 14 | message = message.slice(0, message.indexOf("-----BEGIN PGP SIGNATURE-----")).join("\n") 15 | 16 | let req = require("https").request({ 17 | host: "api.github.com", 18 | auth: auth, 19 | headers: {"user-agent": "Release uploader"}, 20 | path: "/repos/codemirror/codemirror/releases", 21 | method: "POST" 22 | }, res => { 23 | if (res.statusCode >= 300) { 24 | console.error(res.statusMessage) 25 | res.on("data", d => console.log(d.toString())) 26 | res.on("end", process.exit(1)) 27 | } 28 | }) 29 | req.write(JSON.stringify({ 30 | tag_name: version, 31 | name: version, 32 | body: message 33 | })) 34 | req.end() 35 | }) 36 | -------------------------------------------------------------------------------- /plugins/codemirror/bower.json: -------------------------------------------------------------------------------- 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 | "mode/*/*test.js", 15 | "mode/*/*.html" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /plugins/codemirror/demo/closetag.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | CodeMirror: Close-Tag Demo 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 30 | 31 |
32 |

Close-Tag Demo

33 |
34 | 35 | 41 |
42 | -------------------------------------------------------------------------------- /plugins/codemirror/doc/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/codemirror/doc/logo.png -------------------------------------------------------------------------------- /plugins/codemirror/doc/yinyang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/codemirror/doc/yinyang.png -------------------------------------------------------------------------------- /plugins/codemirror/mode/css/gss_test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function() { 5 | "use strict"; 6 | 7 | var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-gss"); 8 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "gss"); } 9 | 10 | MT("atComponent", 11 | "[def @component] {", 12 | "[tag foo] {", 13 | " [property color]: [keyword black];", 14 | "}", 15 | "}"); 16 | 17 | })(); 18 | -------------------------------------------------------------------------------- /plugins/codemirror/mode/diff/diff.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | "use strict"; 13 | 14 | CodeMirror.defineMode("diff", function() { 15 | 16 | var TOKEN_NAMES = { 17 | '+': 'positive', 18 | '-': 'negative', 19 | '@': 'meta' 20 | }; 21 | 22 | return { 23 | token: function(stream) { 24 | var tw_pos = stream.string.search(/[\t ]+?$/); 25 | 26 | if (!stream.sol() || tw_pos === 0) { 27 | stream.skipToEnd(); 28 | return ("error " + ( 29 | TOKEN_NAMES[stream.string.charAt(0)] || '')).replace(/ $/, ''); 30 | } 31 | 32 | var token_name = TOKEN_NAMES[stream.peek()] || stream.skipToEnd(); 33 | 34 | if (tw_pos === -1) { 35 | stream.skipToEnd(); 36 | } else { 37 | stream.pos = tw_pos; 38 | } 39 | 40 | return token_name; 41 | } 42 | }; 43 | }); 44 | 45 | CodeMirror.defineMIME("text/x-diff", "diff"); 46 | 47 | }); 48 | -------------------------------------------------------------------------------- /plugins/codemirror/mode/mbox/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | CodeMirror: mbox mode 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 24 | 25 |
26 |

mbox mode

27 |
38 | 41 | 42 |

MIME types defined: application/mbox.

43 | 44 |
45 | -------------------------------------------------------------------------------- /plugins/codemirror/mode/python/test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function() { 5 | var mode = CodeMirror.getMode({indentUnit: 4}, 6 | {name: "python", 7 | version: 3, 8 | singleLineStringErrors: false}); 9 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } 10 | 11 | // Error, because "foobarhello" is neither a known type or property, but 12 | // property was expected (after "and"), and it should be in parentheses. 13 | MT("decoratorStartOfLine", 14 | "[meta @dec]", 15 | "[keyword def] [def function]():", 16 | " [keyword pass]"); 17 | 18 | MT("decoratorIndented", 19 | "[keyword class] [def Foo]:", 20 | " [meta @dec]", 21 | " [keyword def] [def function]():", 22 | " [keyword pass]"); 23 | 24 | MT("matmulWithSpace:", "[variable a] [operator @] [variable b]"); 25 | MT("matmulWithoutSpace:", "[variable a][operator @][variable b]"); 26 | MT("matmulSpaceBefore:", "[variable a] [operator @][variable b]"); 27 | 28 | MT("fValidStringPrefix", "[string f'this is a {formatted} string']"); 29 | MT("uValidStringPrefix", "[string u'this is an unicode string']"); 30 | })(); 31 | -------------------------------------------------------------------------------- /plugins/codemirror/mode/ruby/test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function() { 5 | var mode = CodeMirror.getMode({indentUnit: 2}, "ruby"); 6 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } 7 | 8 | MT("divide_equal_operator", 9 | "[variable bar] [operator /=] [variable foo]"); 10 | 11 | MT("divide_equal_operator_no_spacing", 12 | "[variable foo][operator /=][number 42]"); 13 | 14 | })(); 15 | -------------------------------------------------------------------------------- /plugins/codemirror/mode/rust/test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function() { 5 | var mode = CodeMirror.getMode({indentUnit: 4}, "rust"); 6 | function MT(name) {test.mode(name, mode, Array.prototype.slice.call(arguments, 1));} 7 | 8 | MT('integer_test', 9 | '[number 123i32]', 10 | '[number 123u32]', 11 | '[number 123_u32]', 12 | '[number 0xff_u8]', 13 | '[number 0o70_i16]', 14 | '[number 0b1111_1111_1001_0000_i32]', 15 | '[number 0usize]'); 16 | 17 | MT('float_test', 18 | '[number 123.0f64]', 19 | '[number 0.1f64]', 20 | '[number 0.1f32]', 21 | '[number 12E+99_f64]'); 22 | 23 | MT('string-literals-test', 24 | '[string "foo"]', 25 | '[string r"foo"]', 26 | '[string "\\"foo\\""]', 27 | '[string r#""foo""#]', 28 | '[string "foo #\\"# bar"]', 29 | 30 | '[string b"foo"]', 31 | '[string br"foo"]', 32 | '[string b"\\"foo\\""]', 33 | '[string br#""foo""#]', 34 | '[string br##"foo #" bar"##]', 35 | 36 | "[string-2 'h']", 37 | "[string-2 b'h']"); 38 | 39 | })(); 40 | -------------------------------------------------------------------------------- /plugins/codemirror/mode/tiddlywiki/tiddlywiki.css: -------------------------------------------------------------------------------- 1 | span.cm-underlined { 2 | text-decoration: underline; 3 | } 4 | span.cm-strikethrough { 5 | text-decoration: line-through; 6 | } 7 | span.cm-brace { 8 | color: #170; 9 | font-weight: bold; 10 | } 11 | span.cm-table { 12 | color: blue; 13 | font-weight: bold; 14 | } 15 | -------------------------------------------------------------------------------- /plugins/codemirror/mode/tiki/tiki.css: -------------------------------------------------------------------------------- 1 | .cm-tw-syntaxerror { 2 | color: #FFF; 3 | background-color: #900; 4 | } 5 | 6 | .cm-tw-deleted { 7 | text-decoration: line-through; 8 | } 9 | 10 | .cm-tw-header5 { 11 | font-weight: bold; 12 | } 13 | .cm-tw-listitem:first-child { /*Added first child to fix duplicate padding when highlighting*/ 14 | padding-left: 10px; 15 | } 16 | 17 | .cm-tw-box { 18 | border-top-width: 0px !important; 19 | border-style: solid; 20 | border-width: 1px; 21 | border-color: inherit; 22 | } 23 | 24 | .cm-tw-underline { 25 | text-decoration: underline; 26 | } -------------------------------------------------------------------------------- /plugins/codemirror/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "codemirror", 3 | "version":"5.16.0", 4 | "main": "lib/codemirror.js", 5 | "description": "Full-featured in-browser code editor", 6 | "license": "MIT", 7 | "directories": {"lib": "./lib"}, 8 | "scripts": { 9 | "test": "node ./test/run.js", 10 | "lint": "bin/lint" 11 | }, 12 | "devDependencies": {"node-static": "0.6.0", 13 | "phantomjs": "1.9.2-5", 14 | "blint": ">=0.1.1"}, 15 | "bugs": "http://github.com/codemirror/CodeMirror/issues", 16 | "keywords": ["JavaScript", "CodeMirror", "Editor"], 17 | "homepage": "http://codemirror.net", 18 | "maintainers":[{"name": "Marijn Haverbeke", 19 | "email": "marijnh@gmail.com", 20 | "web": "http://marijnhaverbeke.nl"}], 21 | "repository": {"type": "git", 22 | "url": "https://github.com/codemirror/CodeMirror.git"}, 23 | "jspm": { 24 | "directories": {}, 25 | "dependencies": {}, 26 | "devDependencies": {} 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /plugins/codemirror/test/lint.js: -------------------------------------------------------------------------------- 1 | var blint = require("blint"); 2 | 3 | ["mode", "lib", "addon", "keymap"].forEach(function(dir) { 4 | blint.checkDir(dir, { 5 | browser: true, 6 | allowedGlobals: ["CodeMirror", "define", "test", "requirejs"], 7 | blob: "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http:\/\/codemirror.net\/LICENSE\n\n" 8 | }); 9 | }); 10 | 11 | module.exports = {ok: blint.success()}; 12 | -------------------------------------------------------------------------------- /plugins/codemirror/test/mode_test.css: -------------------------------------------------------------------------------- 1 | .mt-output .mt-token { 2 | border: 1px solid #ddd; 3 | white-space: pre; 4 | font-family: "Consolas", monospace; 5 | text-align: center; 6 | } 7 | 8 | .mt-output .mt-style { 9 | font-size: x-small; 10 | } 11 | 12 | .mt-output .mt-state { 13 | font-size: x-small; 14 | vertical-align: top; 15 | } 16 | 17 | .mt-output .mt-state-row { 18 | display: none; 19 | } 20 | 21 | .mt-state-unhide .mt-output .mt-state-row { 22 | display: table-row; 23 | } 24 | -------------------------------------------------------------------------------- /plugins/codemirror/test/phantom_driver.js: -------------------------------------------------------------------------------- 1 | var page = require('webpage').create(); 2 | 3 | page.open("http://localhost:3000/test/index.html", function (status) { 4 | if (status != "success") { 5 | console.log("page couldn't be loaded successfully"); 6 | phantom.exit(1); 7 | } 8 | waitFor(function () { 9 | return page.evaluate(function () { 10 | var output = document.getElementById('status'); 11 | if (!output) { return false; } 12 | return (/^(\d+ failures?|all passed)/i).test(output.innerText); 13 | }); 14 | }, function () { 15 | var failed = page.evaluate(function () { return window.failed; }); 16 | var output = page.evaluate(function () { 17 | return document.getElementById('output').innerText + "\n" + 18 | document.getElementById('status').innerText; 19 | }); 20 | console.log(output); 21 | phantom.exit(failed > 0 ? 1 : 0); 22 | }); 23 | }); 24 | 25 | function waitFor (test, cb) { 26 | if (test()) { 27 | cb(); 28 | } else { 29 | setTimeout(function () { waitFor(test, cb); }, 250); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /plugins/codemirror/test/run.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var ok = require("./lint").ok; 4 | 5 | var files = new (require('node-static').Server)(); 6 | 7 | var server = require('http').createServer(function (req, res) { 8 | req.addListener('end', function () { 9 | files.serve(req, res, function (err/*, result */) { 10 | if (err) { 11 | console.error(err); 12 | process.exit(1); 13 | } 14 | }); 15 | }).resume(); 16 | }).addListener('error', function (err) { 17 | throw err; 18 | }).listen(3000, function () { 19 | var childProcess = require('child_process'); 20 | var phantomjs = require("phantomjs"); 21 | var childArgs = [ 22 | require("path").join(__dirname, 'phantom_driver.js') 23 | ]; 24 | childProcess.execFile(phantomjs.path, childArgs, function (err, stdout, stderr) { 25 | server.close(); 26 | console.log(stdout); 27 | if (err) console.error(err); 28 | if (stderr) console.error(stderr); 29 | process.exit(err || stderr || !ok ? 1 : 0); 30 | }); 31 | }); 32 | -------------------------------------------------------------------------------- /plugins/codemirror/theme/ambiance-mobile.css: -------------------------------------------------------------------------------- 1 | .cm-s-ambiance.CodeMirror { 2 | -webkit-box-shadow: none; 3 | -moz-box-shadow: none; 4 | box-shadow: none; 5 | } 6 | -------------------------------------------------------------------------------- /plugins/codemirror/theme/eclipse.css: -------------------------------------------------------------------------------- 1 | .cm-s-eclipse span.cm-meta { color: #FF1717; } 2 | .cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; color: #7F0055; } 3 | .cm-s-eclipse span.cm-atom { color: #219; } 4 | .cm-s-eclipse span.cm-number { color: #164; } 5 | .cm-s-eclipse span.cm-def { color: #00f; } 6 | .cm-s-eclipse span.cm-variable { color: black; } 7 | .cm-s-eclipse span.cm-variable-2 { color: #0000C0; } 8 | .cm-s-eclipse span.cm-variable-3 { color: #0000C0; } 9 | .cm-s-eclipse span.cm-property { color: black; } 10 | .cm-s-eclipse span.cm-operator { color: black; } 11 | .cm-s-eclipse span.cm-comment { color: #3F7F5F; } 12 | .cm-s-eclipse span.cm-string { color: #2A00FF; } 13 | .cm-s-eclipse span.cm-string-2 { color: #f50; } 14 | .cm-s-eclipse span.cm-qualifier { color: #555; } 15 | .cm-s-eclipse span.cm-builtin { color: #30a; } 16 | .cm-s-eclipse span.cm-bracket { color: #cc7; } 17 | .cm-s-eclipse span.cm-tag { color: #170; } 18 | .cm-s-eclipse span.cm-attribute { color: #00c; } 19 | .cm-s-eclipse span.cm-link { color: #219; } 20 | .cm-s-eclipse span.cm-error { color: #f00; } 21 | 22 | .cm-s-eclipse .CodeMirror-activeline-background { background: #e8f2ff; } 23 | .cm-s-eclipse .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; } 24 | -------------------------------------------------------------------------------- /plugins/codemirror/theme/elegant.css: -------------------------------------------------------------------------------- 1 | .cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom { color: #762; } 2 | .cm-s-elegant span.cm-comment { color: #262; font-style: italic; line-height: 1em; } 3 | .cm-s-elegant span.cm-meta { color: #555; font-style: italic; line-height: 1em; } 4 | .cm-s-elegant span.cm-variable { color: black; } 5 | .cm-s-elegant span.cm-variable-2 { color: #b11; } 6 | .cm-s-elegant span.cm-qualifier { color: #555; } 7 | .cm-s-elegant span.cm-keyword { color: #730; } 8 | .cm-s-elegant span.cm-builtin { color: #30a; } 9 | .cm-s-elegant span.cm-link { color: #762; } 10 | .cm-s-elegant span.cm-error { background-color: #fdd; } 11 | 12 | .cm-s-elegant .CodeMirror-activeline-background { background: #e8f2ff; } 13 | .cm-s-elegant .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; } 14 | -------------------------------------------------------------------------------- /plugins/codemirror/theme/neat.css: -------------------------------------------------------------------------------- 1 | .cm-s-neat span.cm-comment { color: #a86; } 2 | .cm-s-neat span.cm-keyword { line-height: 1em; font-weight: bold; color: blue; } 3 | .cm-s-neat span.cm-string { color: #a22; } 4 | .cm-s-neat span.cm-builtin { line-height: 1em; font-weight: bold; color: #077; } 5 | .cm-s-neat span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; } 6 | .cm-s-neat span.cm-variable { color: black; } 7 | .cm-s-neat span.cm-number, .cm-s-neat span.cm-atom { color: #3a3; } 8 | .cm-s-neat span.cm-meta { color: #555; } 9 | .cm-s-neat span.cm-link { color: #3a3; } 10 | 11 | .cm-s-neat .CodeMirror-activeline-background { background: #e8f2ff; } 12 | .cm-s-neat .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; } 13 | -------------------------------------------------------------------------------- /plugins/codemirror/theme/neo.css: -------------------------------------------------------------------------------- 1 | /* neo theme for codemirror */ 2 | 3 | /* Color scheme */ 4 | 5 | .cm-s-neo.CodeMirror { 6 | background-color:#ffffff; 7 | color:#2e383c; 8 | line-height:1.4375; 9 | } 10 | .cm-s-neo .cm-comment { color:#75787b; } 11 | .cm-s-neo .cm-keyword, .cm-s-neo .cm-property { color:#1d75b3; } 12 | .cm-s-neo .cm-atom,.cm-s-neo .cm-number { color:#75438a; } 13 | .cm-s-neo .cm-node,.cm-s-neo .cm-tag { color:#9c3328; } 14 | .cm-s-neo .cm-string { color:#b35e14; } 15 | .cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier { color:#047d65; } 16 | 17 | 18 | /* Editor styling */ 19 | 20 | .cm-s-neo pre { 21 | padding:0; 22 | } 23 | 24 | .cm-s-neo .CodeMirror-gutters { 25 | border:none; 26 | border-right:10px solid transparent; 27 | background-color:transparent; 28 | } 29 | 30 | .cm-s-neo .CodeMirror-linenumber { 31 | padding:0; 32 | color:#e0e2e5; 33 | } 34 | 35 | .cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; } 36 | .cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; } 37 | 38 | .cm-s-neo .CodeMirror-cursor { 39 | width: auto; 40 | border: 0; 41 | background: rgba(155,157,162,0.37); 42 | z-index: 1; 43 | } 44 | -------------------------------------------------------------------------------- /plugins/font-awesome/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /plugins/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /plugins/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /plugins/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /plugins/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /plugins/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /plugins/font-awesome/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /plugins/font-awesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /plugins/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /plugins/font-awesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /plugins/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /plugins/font-awesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /plugins/font-awesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /plugins/font-awesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /plugins/font-awesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /plugins/font-awesome/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /plugins/font-awesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /plugins/font-awesome/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /plugins/font-awesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /plugins/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /plugins/font-awesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /plugins/font-awesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /plugins/font-awesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /plugins/font-awesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /plugins/font-awesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /plugins/font-awesome/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /plugins/font-awesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /plugins/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_AMS-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_AMS-Regular.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_AMS-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_AMS-Regular.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_AMS-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_AMS-Regular.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_AMS-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_AMS-Regular.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Caligraphic-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Caligraphic-Bold.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Caligraphic-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Caligraphic-Bold.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Caligraphic-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Caligraphic-Bold.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Caligraphic-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Caligraphic-Bold.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Caligraphic-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Caligraphic-Regular.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Caligraphic-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Caligraphic-Regular.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Caligraphic-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Caligraphic-Regular.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Caligraphic-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Caligraphic-Regular.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Fraktur-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Fraktur-Bold.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Fraktur-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Fraktur-Bold.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Fraktur-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Fraktur-Bold.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Fraktur-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Fraktur-Bold.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Fraktur-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Fraktur-Regular.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Fraktur-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Fraktur-Regular.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Fraktur-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Fraktur-Regular.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Fraktur-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Fraktur-Regular.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Main-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Main-Bold.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Main-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Main-Bold.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Main-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Main-Bold.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Main-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Main-Bold.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Main-Italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Main-Italic.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Main-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Main-Italic.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Main-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Main-Italic.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Main-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Main-Italic.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Main-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Main-Regular.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Main-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Main-Regular.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Main-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Main-Regular.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Main-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Main-Regular.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Math-BoldItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Math-BoldItalic.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Math-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Math-BoldItalic.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Math-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Math-BoldItalic.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Math-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Math-BoldItalic.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Math-Italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Math-Italic.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Math-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Math-Italic.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Math-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Math-Italic.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Math-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Math-Italic.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Math-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Math-Regular.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Math-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Math-Regular.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Math-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Math-Regular.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Math-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Math-Regular.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_SansSerif-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_SansSerif-Bold.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_SansSerif-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_SansSerif-Bold.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_SansSerif-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_SansSerif-Bold.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_SansSerif-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_SansSerif-Bold.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_SansSerif-Italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_SansSerif-Italic.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_SansSerif-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_SansSerif-Italic.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_SansSerif-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_SansSerif-Italic.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_SansSerif-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_SansSerif-Italic.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_SansSerif-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_SansSerif-Regular.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_SansSerif-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_SansSerif-Regular.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_SansSerif-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_SansSerif-Regular.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_SansSerif-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_SansSerif-Regular.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Script-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Script-Regular.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Script-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Script-Regular.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Script-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Script-Regular.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Script-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Script-Regular.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size1-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size1-Regular.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size1-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size1-Regular.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size1-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size1-Regular.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size1-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size1-Regular.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size2-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size2-Regular.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size2-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size2-Regular.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size2-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size2-Regular.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size2-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size2-Regular.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size3-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size3-Regular.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size3-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size3-Regular.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size3-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size3-Regular.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size3-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size3-Regular.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size4-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size4-Regular.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size4-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size4-Regular.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size4-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size4-Regular.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Size4-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Size4-Regular.woff2 -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Typewriter-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Typewriter-Regular.eot -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Typewriter-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Typewriter-Regular.ttf -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Typewriter-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Typewriter-Regular.woff -------------------------------------------------------------------------------- /plugins/katex/fonts/KaTeX_Typewriter-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/katex/fonts/KaTeX_Typewriter-Regular.woff2 -------------------------------------------------------------------------------- /plugins/marked/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /plugins/marked/.npmignore: -------------------------------------------------------------------------------- 1 | .git* 2 | test/ 3 | -------------------------------------------------------------------------------- /plugins/marked/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.8" 5 | - "0.6" 6 | -------------------------------------------------------------------------------- /plugins/marked/Gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var uglify = require('gulp-uglify'); 3 | var concat = require('gulp-concat'); 4 | 5 | var preserveFirstComment = function() { 6 | var set = false; 7 | 8 | return function() { 9 | if (set) return false; 10 | set = true; 11 | return true; 12 | }; 13 | }; 14 | 15 | gulp.task('uglify', function() { 16 | gulp.src('lib/marked.js') 17 | .pipe(uglify({preserveComments: preserveFirstComment()})) 18 | .pipe(concat('marked.min.js')) 19 | .pipe(gulp.dest('.')); 20 | }); 21 | 22 | gulp.task('default', ['uglify']); 23 | -------------------------------------------------------------------------------- /plugins/marked/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2014, Christopher Jeffrey (https://github.com/chjj/) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /plugins/marked/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | @cp lib/marked.js marked.js 3 | @uglifyjs --comments '/\*[^\0]+?Copyright[^\0]+?\*/' -o marked.min.js lib/marked.js 4 | 5 | clean: 6 | @rm marked.js 7 | @rm marked.min.js 8 | 9 | bench: 10 | @node test --bench 11 | 12 | .PHONY: clean all 13 | -------------------------------------------------------------------------------- /plugins/marked/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "marked", 3 | "version": "0.3.4", 4 | "homepage": "https://github.com/chjj/marked", 5 | "authors": [ 6 | "Christopher Jeffrey " 7 | ], 8 | "description": "A markdown parser built for speed", 9 | "keywords": [ 10 | "markdown", 11 | "markup", 12 | "html" 13 | ], 14 | "main": "lib/marked.js", 15 | "license": "MIT", 16 | "ignore": [ 17 | "**/.*", 18 | "node_modules", 19 | "bower_components", 20 | "app/bower_components", 21 | "test", 22 | "tests" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /plugins/marked/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "marked", 3 | "version": "0.3.4", 4 | "repo": "chjj/marked", 5 | "description": "A markdown parser built for speed", 6 | "keywords": ["markdown", "markup", "html"], 7 | "scripts": ["lib/marked.js"], 8 | "main": "lib/marked.js", 9 | "license": "MIT" 10 | } 11 | -------------------------------------------------------------------------------- /plugins/marked/doc/todo.md: -------------------------------------------------------------------------------- 1 | # Todo 2 | 3 | -------------------------------------------------------------------------------- /plugins/marked/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/marked'); 2 | -------------------------------------------------------------------------------- /plugins/marked/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "marked", 3 | "description": "A markdown parser built for speed", 4 | "author": "Christopher Jeffrey", 5 | "version": "0.3.5", 6 | "main": "./lib/marked.js", 7 | "bin": "./bin/marked", 8 | "man": "./man/marked.1", 9 | "preferGlobal": true, 10 | "repository": "git://github.com/chjj/marked.git", 11 | "homepage": "https://github.com/chjj/marked", 12 | "bugs": { "url": "http://github.com/chjj/marked/issues" }, 13 | "license": "MIT", 14 | "keywords": ["markdown", "markup", "html"], 15 | "tags": ["markdown", "markup", "html"], 16 | "devDependencies": { 17 | "markdown": "*", 18 | "showdown": "*", 19 | "gulp": "^3.8.11", 20 | "gulp-uglify": "^1.1.0", 21 | "gulp-concat": "^2.5.2" 22 | }, 23 | "scripts": { "test": "node test", "bench": "node test --bench" } 24 | } 25 | -------------------------------------------------------------------------------- /plugins/marked/test/README: -------------------------------------------------------------------------------- 1 | In this directory: 2 | 3 | # 4 | # MarkdownTester -- Run tests for Markdown implementations 5 | # 6 | # Copyright (c) 2004-2005 John Gruber 7 | # 8 | # 9 | 10 | Partially modified for testing purposes. 11 | -------------------------------------------------------------------------------- /plugins/marked/test/browser/index.html: -------------------------------------------------------------------------------- 1 | 2 | marked tests 3 |

testing...

4 | 5 | 6 | -------------------------------------------------------------------------------- /plugins/marked/test/browser/index.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'); 2 | 3 | var test = require('../') 4 | , runTests = test.runTests 5 | , load = test.load; 6 | 7 | var express = require('express') 8 | , app = express(); 9 | 10 | app.use(function(req, res, next) { 11 | var setHeader = res.setHeader; 12 | res.setHeader = function(name) { 13 | switch (name) { 14 | case 'Cache-Control': 15 | case 'Last-Modified': 16 | case 'ETag': 17 | return; 18 | } 19 | return setHeader.apply(res, arguments); 20 | }; 21 | next(); 22 | }); 23 | 24 | var dir = __dirname + '/../tests' 25 | , files = {}; 26 | 27 | app.get('/test.js', function(req, res, next) { 28 | var test = fs.readFileSync(__dirname + '/test.js', 'utf8') 29 | , files = load(); 30 | 31 | test = test.replace('__TESTS__', JSON.stringify(files)); 32 | test = test.replace('__MAIN__', runTests + ''); 33 | 34 | res.contentType('.js'); 35 | res.send(test); 36 | }); 37 | 38 | app.use(express.static(__dirname + '/../../lib')); 39 | app.use(express.static(__dirname)); 40 | 41 | app.listen(8080); 42 | -------------------------------------------------------------------------------- /plugins/marked/test/browser/test.js: -------------------------------------------------------------------------------- 1 | ;(function() { 2 | 3 | var console = {} 4 | , files = __TESTS__; 5 | 6 | console.log = function(text) { 7 | var args = Array.prototype.slice.call(arguments, 1) 8 | , i = 0; 9 | 10 | text = text.replace(/%\w/g, function() { 11 | return args[i++] || ''; 12 | }); 13 | 14 | if (window.console) window.console.log(text); 15 | document.body.innerHTML += '
' + escape(text) + '
'; 16 | }; 17 | 18 | if (!Object.keys) { 19 | Object.keys = function(obj) { 20 | var out = [] 21 | , key; 22 | 23 | for (key in obj) { 24 | if (Object.prototype.hasOwnProperty.call(obj, key)) { 25 | out.push(key); 26 | } 27 | } 28 | 29 | return out; 30 | }; 31 | } 32 | 33 | if (!Array.prototype.forEach) { 34 | Array.prototype.forEach = function(callback, context) { 35 | for (var i = 0; i < this.length; i++) { 36 | callback.call(context || null, this[i], i, obj); 37 | } 38 | }; 39 | } 40 | 41 | if (!String.prototype.trim) { 42 | String.prototype.trim = function() { 43 | return this.replace(/^\s+|\s+$/g, ''); 44 | }; 45 | } 46 | 47 | function load() { 48 | return files; 49 | } 50 | 51 | function escape(html, encode) { 52 | return html 53 | .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') 54 | .replace(//g, '>') 56 | .replace(/"/g, '"') 57 | .replace(/'/g, '''); 58 | } 59 | 60 | (__MAIN__)(); 61 | 62 | }).call(this); 63 | -------------------------------------------------------------------------------- /plugins/marked/test/new/autolink_lines.html: -------------------------------------------------------------------------------- 1 |

hello world 2 | http://example.com 3 |

4 | -------------------------------------------------------------------------------- /plugins/marked/test/new/autolink_lines.text: -------------------------------------------------------------------------------- 1 | hello world 2 | 3 | -------------------------------------------------------------------------------- /plugins/marked/test/new/blockquote_list_item.html: -------------------------------------------------------------------------------- 1 |

This fails in markdown.pl and upskirt:

2 | 3 |
  • hello

    world

4 | -------------------------------------------------------------------------------- /plugins/marked/test/new/blockquote_list_item.text: -------------------------------------------------------------------------------- 1 | This fails in markdown.pl and upskirt: 2 | 3 | * hello 4 | > world 5 | -------------------------------------------------------------------------------- /plugins/marked/test/new/case_insensitive_refs.html: -------------------------------------------------------------------------------- 1 |

hi

2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/case_insensitive_refs.text: -------------------------------------------------------------------------------- 1 | [hi] 2 | 3 | [HI]: /url 4 | -------------------------------------------------------------------------------- /plugins/marked/test/new/def_blocks.html: -------------------------------------------------------------------------------- 1 |
2 |

hello 3 | [1]: hello

4 |
5 | 6 |
7 | 8 |
9 |

hello

10 |
11 | 12 | 13 |
    14 |
  • hello
  • 15 |
  • [3]: hello
  • 16 |
17 | 18 | 19 |
    20 |
  • hello
  • 21 |
22 | 23 | 24 |
25 |

foo 26 | bar 27 | bar

28 |
29 | -------------------------------------------------------------------------------- /plugins/marked/test/new/def_blocks.text: -------------------------------------------------------------------------------- 1 | > hello 2 | > [1]: hello 3 | 4 | * * * 5 | 6 | > hello 7 | [2]: hello 8 | 9 | 10 | * hello 11 | * [3]: hello 12 | 13 | 14 | * hello 15 | [4]: hello 16 | 17 | 18 | > foo 19 | > bar 20 | [1]: foo 21 | > bar 22 | -------------------------------------------------------------------------------- /plugins/marked/test/new/double_link.html: -------------------------------------------------------------------------------- 1 |

Already linked: http://example.com/.

2 | 3 |

Already linked: http://example.com/.

4 | 5 |

Already linked: http://example.com/.

6 | -------------------------------------------------------------------------------- /plugins/marked/test/new/double_link.text: -------------------------------------------------------------------------------- 1 |

Already linked: http://example.com/.

2 | 3 | Already linked: [http://example.com/](http://example.com/). 4 | 5 | Already linked: **http://example.com/**. 6 | -------------------------------------------------------------------------------- /plugins/marked/test/new/escaped_angles.html: -------------------------------------------------------------------------------- 1 |

>

2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/escaped_angles.text: -------------------------------------------------------------------------------- 1 | \> 2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_break.breaks.html: -------------------------------------------------------------------------------- 1 |

Look at the
pretty line
breaks.

2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_break.breaks.text: -------------------------------------------------------------------------------- 1 | Look at the 2 | pretty line 3 | breaks. 4 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_code.html: -------------------------------------------------------------------------------- 1 |
var a = 'hello';
 2 | console.log(a + ' world');
3 |
echo "hello, ${WORLD}"
4 |
Q: What do you call a tall person who sells stolen goods?
5 |
A longfence!
6 |

How about an empty code block?

7 |
8 |

How about a code block with only an empty line?

9 |

10 | 
11 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_code.text: -------------------------------------------------------------------------------- 1 | ``` js 2 | var a = 'hello'; 3 | console.log(a + ' world'); 4 | ``` 5 | 6 | ~~~bash 7 | echo "hello, ${WORLD}" 8 | ~~~ 9 | 10 | ```````longfence 11 | Q: What do you call a tall person who sells stolen goods? 12 | ``````` 13 | 14 | ~~~~~~~~~~ ManyTildes 15 | A longfence! 16 | ~~~~~~~~~~ 17 | 18 | How about an empty code block? 19 | 20 | ```js 21 | ``` 22 | 23 | How about a code block with only an empty line? 24 | 25 | ```js 26 | 27 | ``` 28 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_code_hr_list.html: -------------------------------------------------------------------------------- 1 |

foo

2 |
    3 |
  1. bar:

    4 |
    5 |
      6 |
    • one
        7 |
      • two
          8 |
        • three
        • 9 |
        • four
        • 10 |
        • five
        • 11 |
        12 |
      • 13 |
      14 |
    • 15 |
    16 |
    17 |
  2. 18 |
  3. foo:

    19 |
     line 1
    20 |  line 2
    21 |
  4. 22 |
  5. foo:

    23 |
      24 |
    1. foo bar bar:

      25 |
       some code here
      26 | 
      27 |
    2. 28 |
    3. foo bar bar:

      29 |
       foo
      30 |  ---
      31 |  bar
      32 |  ---
      33 |  foo
      34 |  bar
      35 |
    4. 36 |
    5. foo bar bar:

      37 |
       ---
      38 |  foo
      39 |  foo
      40 |  ---
      41 |  bar
      42 |
    6. 43 |
    7. foo bar bar:

      44 |
       foo
      45 |  ---
      46 |  bar
      47 |
    8. 48 |
    9. foo

      49 |
    10. 50 |
    51 |
  6. 52 |
53 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_code_hr_list.text: -------------------------------------------------------------------------------- 1 | ## foo 2 | 3 | 1. bar: 4 | 5 | > - one 6 | - two 7 | - three 8 | - four 9 | - five 10 | 11 | 1. foo: 12 | 13 | ``` 14 | line 1 15 | line 2 16 | ``` 17 | 18 | 1. foo: 19 | 20 | 1. foo `bar` bar: 21 | 22 | ``` erb 23 | some code here 24 | ``` 25 | 26 | 2. foo `bar` bar: 27 | 28 | ``` erb 29 | foo 30 | --- 31 | bar 32 | --- 33 | foo 34 | bar 35 | ``` 36 | 37 | 3. foo `bar` bar: 38 | 39 | ``` html 40 | --- 41 | foo 42 | foo 43 | --- 44 | bar 45 | ``` 46 | 47 | 4. foo `bar` bar: 48 | 49 | foo 50 | --- 51 | bar 52 | 53 | 5. foo 54 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_del.html: -------------------------------------------------------------------------------- 1 |

hello hi world

2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_del.text: -------------------------------------------------------------------------------- 1 | hello ~~hi~~ world 2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_em.html: -------------------------------------------------------------------------------- 1 |

These words should_not_be_emphasized.

2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_em.text: -------------------------------------------------------------------------------- 1 | These words should_not_be_emphasized. 2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_hashtag.gfm.html: -------------------------------------------------------------------------------- 1 |

#header

2 | 3 |

header1

4 | 5 |

header2

6 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_hashtag.gfm.text: -------------------------------------------------------------------------------- 1 | #header 2 | 3 | # header1 4 | 5 | # header2 6 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_hashtag.nogfm.html: -------------------------------------------------------------------------------- 1 |

header

2 | 3 |

header1

4 | 5 |

header2

6 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_hashtag.nogfm.text: -------------------------------------------------------------------------------- 1 | #header 2 | 3 | # header1 4 | 5 | # header2 6 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_links.html: -------------------------------------------------------------------------------- 1 |

This should be a link: 2 | http://example.com/hello-world.

3 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_links.text: -------------------------------------------------------------------------------- 1 | This should be a link: http://example.com/hello-world. 2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/gfm_tables.text: -------------------------------------------------------------------------------- 1 | | Heading 1 | Heading 2 2 | | --------- | --------- 3 | | Cell 1 | Cell 2 4 | | Cell 3 | Cell 4 5 | 6 | | Header 1 | Header 2 | Header 3 | Header 4 | 7 | | :------: | -------: | :------- | -------- | 8 | | Cell 1 | Cell 2 | Cell 3 | Cell 4 | 9 | | Cell 5 | Cell 6 | Cell 7 | Cell 8 | 10 | 11 | Test code 12 | 13 | Header 1 | Header 2 14 | -------- | -------- 15 | Cell 1 | Cell 2 16 | Cell 3 | Cell 4 17 | 18 | Header 1|Header 2|Header 3|Header 4 19 | :-------|:------:|-------:|-------- 20 | Cell 1 |Cell 2 |Cell 3 |Cell 4 21 | *Cell 5*|Cell 6 |Cell 7 |Cell 8 22 | -------------------------------------------------------------------------------- /plugins/marked/test/new/hr_list_break.html: -------------------------------------------------------------------------------- 1 |
    2 |
  • hello 3 | world
  • 4 |
  • how 5 | are
  • 6 |
7 | 8 |
9 | 10 |

you today?

11 | -------------------------------------------------------------------------------- /plugins/marked/test/new/hr_list_break.text: -------------------------------------------------------------------------------- 1 | * hello 2 | world 3 | * how 4 | are 5 | * * * 6 | you today? 7 | -------------------------------------------------------------------------------- /plugins/marked/test/new/lazy_blockquotes.html: -------------------------------------------------------------------------------- 1 |
2 |

hi there 3 | bud

4 |
5 | -------------------------------------------------------------------------------- /plugins/marked/test/new/lazy_blockquotes.text: -------------------------------------------------------------------------------- 1 | > hi there 2 | bud 3 | -------------------------------------------------------------------------------- /plugins/marked/test/new/list_item_text.html: -------------------------------------------------------------------------------- 1 |
  • item1

    • item2

    text

2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/list_item_text.text: -------------------------------------------------------------------------------- 1 | * item1 2 | 3 | * item2 4 | 5 | text 6 | -------------------------------------------------------------------------------- /plugins/marked/test/new/loose_lists.html: -------------------------------------------------------------------------------- 1 |
    2 |
  • hello 3 | world

    4 | 5 |

    how 6 | are

  • 7 |
  • you
  • 8 |
9 | 10 | 11 | 12 |

better behavior:

13 | 14 |
  • hello

    • world 15 | how

      are 16 | you

    • today

  • hi
17 | 18 | 19 | 20 |
    21 |
  • hello

  • 22 |
  • world

  • 23 |
  • hi
  • 24 |
25 | 26 | 27 | 28 |
    29 |
  • hello
  • 30 |
  • world

  • 31 |
  • hi

  • 32 |
33 | 34 | 35 | 36 |
    37 |
  • hello
  • 38 |
  • world

    39 | 40 |

    how

  • 41 |
  • hi
  • 42 |
43 | 44 | 45 | 46 |
    47 |
  • hello
  • 48 |
  • world
  • 49 |
  • how

    50 | 51 |

    are

  • 52 |
53 | 54 | 55 | 56 |
    57 |
  • hello
  • 58 |
  • world

  • 59 |
  • how

    60 | 61 |

    are

  • 62 |
63 | -------------------------------------------------------------------------------- /plugins/marked/test/new/loose_lists.text: -------------------------------------------------------------------------------- 1 | * hello 2 | world 3 | 4 | how 5 | are 6 | * you 7 | 8 | 9 | 10 | better behavior: 11 | 12 | * hello 13 | * world 14 | how 15 | 16 | are 17 | you 18 | 19 | * today 20 | * hi 21 | 22 | 23 | 24 | * hello 25 | 26 | * world 27 | * hi 28 | 29 | 30 | 31 | * hello 32 | * world 33 | 34 | * hi 35 | 36 | 37 | 38 | * hello 39 | * world 40 | 41 | how 42 | * hi 43 | 44 | 45 | 46 | * hello 47 | * world 48 | * how 49 | 50 | are 51 | 52 | 53 | 54 | * hello 55 | * world 56 | 57 | * how 58 | 59 | are 60 | -------------------------------------------------------------------------------- /plugins/marked/test/new/main.html: -------------------------------------------------------------------------------- 1 |

A heading

Just a note, I've found that I can't test my markdown parser vs others. For example, both markdown.js and showdown code blocks in lists wrong. They're also completely inconsistent with regards to paragraphs in list items.

A link. Not anymore.

  • List Item 1

  • List Item 2

    • New List Item 1 Hi, this is a list item.
    • New List Item 2 Another item
      Code goes here.
      3 | Lots of it...
    • New List Item 3 The last item
  • List Item 3 The final item.

  • List Item 4 The real final item.

Paragraph.

  • bq Item 1
  • bq Item 2
    • New bq Item 1
    • New bq Item 2 Text here

Another blockquote! I really need to get more creative with mockup text.. markdown.js breaks here again

Another Heading

Hello world. Here is a link. And an image alt.

Code goes here.
4 | Lots of it...
5 | -------------------------------------------------------------------------------- /plugins/marked/test/new/main.text: -------------------------------------------------------------------------------- 1 | [test]: http://google.com/ "Google" 2 | 3 | # A heading 4 | 5 | Just a note, I've found that I can't test my markdown parser vs others. 6 | For example, both markdown.js and showdown code blocks in lists wrong. They're 7 | also completely [inconsistent][test] with regards to paragraphs in list items. 8 | 9 | A link. Not anymore. 10 | 11 | 13 | 14 | * List Item 1 15 | 16 | * List Item 2 17 | * New List Item 1 18 | Hi, this is a list item. 19 | * New List Item 2 20 | Another item 21 | Code goes here. 22 | Lots of it... 23 | * New List Item 3 24 | The last item 25 | 26 | * List Item 3 27 | The final item. 28 | 29 | * List Item 4 30 | The real final item. 31 | 32 | Paragraph. 33 | 34 | > * bq Item 1 35 | > * bq Item 2 36 | > * New bq Item 1 37 | > * New bq Item 2 38 | > Text here 39 | 40 | * * * 41 | 42 | > Another blockquote! 43 | > I really need to get 44 | > more creative with 45 | > mockup text.. 46 | > markdown.js breaks here again 47 | 48 | Another Heading 49 | ------------- 50 | 51 | Hello *world*. Here is a [link](//hello). 52 | And an image ![alt](src). 53 | 54 | Code goes here. 55 | Lots of it... 56 | -------------------------------------------------------------------------------- /plugins/marked/test/new/nested_code.html: -------------------------------------------------------------------------------- 1 |

hi ther `` ok ```

2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/nested_code.text: -------------------------------------------------------------------------------- 1 | ````` hi ther `` ok ``` ````` 2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/nested_em.html: -------------------------------------------------------------------------------- 1 |

test test test

2 | 3 |

test test test

4 | -------------------------------------------------------------------------------- /plugins/marked/test/new/nested_em.text: -------------------------------------------------------------------------------- 1 | *test **test** test* 2 | 3 | _test __test__ test_ 4 | -------------------------------------------------------------------------------- /plugins/marked/test/new/nested_square_link.html: -------------------------------------------------------------------------------- 1 |

the ] character

2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/nested_square_link.text: -------------------------------------------------------------------------------- 1 | [the `]` character](/url) 2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/not_a_link.html: -------------------------------------------------------------------------------- 1 |

[test](not a link)

2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/not_a_link.text: -------------------------------------------------------------------------------- 1 | \[test](not a link) 2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/ref_paren.html: -------------------------------------------------------------------------------- 1 |

hi

2 | -------------------------------------------------------------------------------- /plugins/marked/test/new/ref_paren.text: -------------------------------------------------------------------------------- 1 | [hi] 2 | 3 | [hi]: /url (there) 4 | -------------------------------------------------------------------------------- /plugins/marked/test/new/same_bullet.html: -------------------------------------------------------------------------------- 1 |
    2 |
  • test
  • 3 |
  • test
  • 4 |
  • test
  • 5 |
6 | -------------------------------------------------------------------------------- /plugins/marked/test/new/same_bullet.text: -------------------------------------------------------------------------------- 1 | * test 2 | + test 3 | - test 4 | -------------------------------------------------------------------------------- /plugins/marked/test/new/text.smartypants.html: -------------------------------------------------------------------------------- 1 |

Hello world ‘how’ “are” you — today…

2 | 3 |

“It’s a more ‘challenging’ smartypants test…”

4 | 5 |

‘And,’ as a bonus — “one 6 | multiline” test!

7 | -------------------------------------------------------------------------------- /plugins/marked/test/new/text.smartypants.text: -------------------------------------------------------------------------------- 1 | Hello world 'how' "are" you -- today... 2 | 3 | "It's a more 'challenging' smartypants test..." 4 | 5 | 'And,' as a bonus -- "one 6 | multiline" test! 7 | -------------------------------------------------------------------------------- /plugins/marked/test/new/toplevel_paragraphs.gfm.html: -------------------------------------------------------------------------------- 1 |

hello world 2 | how are you 3 | how are you

4 | 5 |

hello world

6 |
how are you
7 | 8 |

hello world

9 |
10 | 11 |

hello world

12 |

how are you

13 | 14 |

hello world

15 |

how are you

16 | 17 |

hello world

18 |

how are you

19 | 20 |

hello world

21 |
  • how are you
22 | 23 |

hello world

24 |
how are you
25 | 26 |

hello world 27 | how are you

28 | 29 |

hello world 30 |

31 | 32 |
hello
33 | 34 |

hello

35 | -------------------------------------------------------------------------------- /plugins/marked/test/new/toplevel_paragraphs.gfm.text: -------------------------------------------------------------------------------- 1 | hello world 2 | how are you 3 | how are you 4 | 5 | hello world 6 | ``` 7 | how are you 8 | ``` 9 | 10 | hello world 11 | * * * 12 | 13 | hello world 14 | # how are you 15 | 16 | hello world 17 | how are you 18 | =========== 19 | 20 | hello world 21 | > how are you 22 | 23 | hello world 24 | * how are you 25 | 26 | hello world 27 |
how are you
28 | 29 | hello world 30 | how are you 31 | 32 | hello [world][how] 33 | [how]: /are/you 34 | 35 |
hello
36 | 37 | hello 38 | -------------------------------------------------------------------------------- /plugins/marked/test/new/tricky_list.html: -------------------------------------------------------------------------------- 1 |

hello world

2 | 3 |
    4 |
  • hello world
  • 5 |
6 | 7 |

hello world

8 | 9 |
    10 |
  • hello world
  • 11 |
12 | 13 |

hello world

14 | 15 |
    16 |
  • Hello world
  • 17 |
18 | 19 |

hello world

20 | 21 |
    22 |
  • hello world
  • 23 |
24 | -------------------------------------------------------------------------------- /plugins/marked/test/new/tricky_list.text: -------------------------------------------------------------------------------- 1 | **hello** _world_ 2 | 3 | * hello world 4 | 5 | **hello** _world_ 6 | 7 | * hello world 8 | 9 | **hello** _world_ 10 | 11 | * Hello world 12 | 13 | **hello** _world_ 14 | 15 | * hello world 16 | -------------------------------------------------------------------------------- /plugins/marked/test/original/amps_and_angles_encoding.html: -------------------------------------------------------------------------------- 1 |

AT&T has an ampersand in their name.

2 | 3 |

AT&T is another way to write it.

4 | 5 |

This & that.

6 | 7 |

4 < 5.

8 | 9 |

6 > 5.

10 | 11 |

Here's a link with an ampersand in the URL.

12 | 13 |

Here's a link with an amersand in the link text: AT&T.

14 | 15 |

Here's an inline link.

16 | 17 |

Here's an inline link.

18 | -------------------------------------------------------------------------------- /plugins/marked/test/original/amps_and_angles_encoding.text: -------------------------------------------------------------------------------- 1 | AT&T has an ampersand in their name. 2 | 3 | AT&T is another way to write it. 4 | 5 | This & that. 6 | 7 | 4 < 5. 8 | 9 | 6 > 5. 10 | 11 | Here's a [link] [1] with an ampersand in the URL. 12 | 13 | Here's a link with an amersand in the link text: [AT&T] [2]. 14 | 15 | Here's an inline [link](/script?foo=1&bar=2). 16 | 17 | Here's an inline [link](). 18 | 19 | 20 | [1]: http://example.com/?foo=1&bar=2 21 | [2]: http://att.com/ "AT&T" 22 | -------------------------------------------------------------------------------- /plugins/marked/test/original/auto_links.html: -------------------------------------------------------------------------------- 1 |

Link: http://example.com/.

2 | 3 |

With an ampersand: http://example.com/?foo=1&bar=2

4 | 5 | 10 | 11 |
12 |

Blockquoted: http://example.com/

13 |
14 | 15 |

Auto-links should not occur here: <http://example.com/>

16 | 17 |
or here: <http://example.com/>
18 | 
19 | -------------------------------------------------------------------------------- /plugins/marked/test/original/auto_links.text: -------------------------------------------------------------------------------- 1 | Link: . 2 | 3 | With an ampersand: 4 | 5 | * In a list? 6 | * 7 | * It should. 8 | 9 | > Blockquoted: 10 | 11 | Auto-links should not occur here: `` 12 | 13 | or here: 14 | -------------------------------------------------------------------------------- /plugins/marked/test/original/blockquotes_with_code_blocks.html: -------------------------------------------------------------------------------- 1 |
2 |

Example:

3 | 4 |
sub status {
 5 |     print "working";
 6 | }
 7 | 
8 | 9 |

Or:

10 | 11 |
sub status {
12 |     return "working";
13 | }
14 | 
15 |
16 | -------------------------------------------------------------------------------- /plugins/marked/test/original/blockquotes_with_code_blocks.text: -------------------------------------------------------------------------------- 1 | > Example: 2 | > 3 | > sub status { 4 | > print "working"; 5 | > } 6 | > 7 | > Or: 8 | > 9 | > sub status { 10 | > return "working"; 11 | > } 12 | -------------------------------------------------------------------------------- /plugins/marked/test/original/code_blocks.html: -------------------------------------------------------------------------------- 1 |
code block on the first line
 2 | 
3 | 4 |

Regular text.

5 | 6 |
code block indented by spaces
 7 | 
8 | 9 |

Regular text.

10 | 11 |
the lines in this block  
12 | all contain trailing spaces  
13 | 
14 | 15 |

Regular Text.

16 | 17 |
code block on the last line
18 | 
19 | -------------------------------------------------------------------------------- /plugins/marked/test/original/code_blocks.text: -------------------------------------------------------------------------------- 1 | code block on the first line 2 | 3 | Regular text. 4 | 5 | code block indented by spaces 6 | 7 | Regular text. 8 | 9 | the lines in this block 10 | all contain trailing spaces 11 | 12 | Regular Text. 13 | 14 | code block on the last line 15 | -------------------------------------------------------------------------------- /plugins/marked/test/original/code_spans.html: -------------------------------------------------------------------------------- 1 |

<test a=" content of attribute ">

2 | 3 |

Fix for backticks within HTML tag: like this

4 | 5 |

Here's how you put `backticks` in a code span.

6 | 7 | -------------------------------------------------------------------------------- /plugins/marked/test/original/code_spans.text: -------------------------------------------------------------------------------- 1 | `` 2 | 3 | Fix for backticks within HTML tag: like this 4 | 5 | Here's how you put `` `backticks` `` in a code span. 6 | 7 | -------------------------------------------------------------------------------- /plugins/marked/test/original/hard_wrapped_paragraphs_with_list_like_lines.html: -------------------------------------------------------------------------------- 1 |

In Markdown 1.0.0 and earlier. Version 2 | 8. This line turns into a list item. 3 | Because a hard-wrapped line in the 4 | middle of a paragraph looked like a 5 | list item.

6 | 7 |

Here's one with a bullet. 8 | * criminey.

9 | -------------------------------------------------------------------------------- /plugins/marked/test/original/hard_wrapped_paragraphs_with_list_like_lines.text: -------------------------------------------------------------------------------- 1 | In Markdown 1.0.0 and earlier. Version 2 | 8. This line turns into a list item. 3 | Because a hard-wrapped line in the 4 | middle of a paragraph looked like a 5 | list item. 6 | 7 | Here's one with a bullet. 8 | * criminey. 9 | -------------------------------------------------------------------------------- /plugins/marked/test/original/horizontal_rules.html: -------------------------------------------------------------------------------- 1 |

Dashes:

2 | 3 |
4 | 5 |
6 | 7 |
8 | 9 |
10 | 11 |
---
12 | 
13 | 14 |
15 | 16 |
17 | 18 |
19 | 20 |
21 | 22 |
- - -
23 | 
24 | 25 |

Asterisks:

26 | 27 |
28 | 29 |
30 | 31 |
32 | 33 |
34 | 35 |
***
36 | 
37 | 38 |
39 | 40 |
41 | 42 |
43 | 44 |
45 | 46 |
* * *
47 | 
48 | 49 |

Underscores:

50 | 51 |
52 | 53 |
54 | 55 |
56 | 57 |
58 | 59 |
___
60 | 
61 | 62 |
63 | 64 |
65 | 66 |
67 | 68 |
69 | 70 |
_ _ _
71 | 
72 | -------------------------------------------------------------------------------- /plugins/marked/test/original/horizontal_rules.text: -------------------------------------------------------------------------------- 1 | Dashes: 2 | 3 | --- 4 | 5 | --- 6 | 7 | --- 8 | 9 | --- 10 | 11 | --- 12 | 13 | - - - 14 | 15 | - - - 16 | 17 | - - - 18 | 19 | - - - 20 | 21 | - - - 22 | 23 | 24 | Asterisks: 25 | 26 | *** 27 | 28 | *** 29 | 30 | *** 31 | 32 | *** 33 | 34 | *** 35 | 36 | * * * 37 | 38 | * * * 39 | 40 | * * * 41 | 42 | * * * 43 | 44 | * * * 45 | 46 | 47 | Underscores: 48 | 49 | ___ 50 | 51 | ___ 52 | 53 | ___ 54 | 55 | ___ 56 | 57 | ___ 58 | 59 | _ _ _ 60 | 61 | _ _ _ 62 | 63 | _ _ _ 64 | 65 | _ _ _ 66 | 67 | _ _ _ 68 | -------------------------------------------------------------------------------- /plugins/marked/test/original/inline_html_advanced.html: -------------------------------------------------------------------------------- 1 |

Simple block on one line:

2 | 3 |
foo
4 | 5 |

And nested without indentation:

6 | 7 |
8 |
9 |
10 | foo 11 |
12 |
13 |
14 |
bar
15 |
16 | -------------------------------------------------------------------------------- /plugins/marked/test/original/inline_html_advanced.text: -------------------------------------------------------------------------------- 1 | Simple block on one line: 2 | 3 |
foo
4 | 5 | And nested without indentation: 6 | 7 |
8 |
9 |
10 | foo 11 |
12 |
13 |
14 |
bar
15 |
16 | -------------------------------------------------------------------------------- /plugins/marked/test/original/inline_html_comments.html: -------------------------------------------------------------------------------- 1 |

Paragraph one.

2 | 3 | 4 | 5 | 8 | 9 |

Paragraph two.

10 | 11 | 12 | 13 |

The end.

14 | -------------------------------------------------------------------------------- /plugins/marked/test/original/inline_html_comments.text: -------------------------------------------------------------------------------- 1 | Paragraph one. 2 | 3 | 4 | 5 | 8 | 9 | Paragraph two. 10 | 11 | 12 | 13 | The end. 14 | -------------------------------------------------------------------------------- /plugins/marked/test/original/inline_html_simple.html: -------------------------------------------------------------------------------- 1 |

Here's a simple block:

2 | 3 |
4 | foo 5 |
6 | 7 |

This should be a code block, though:

8 | 9 |
<div>
10 |     foo
11 | </div>
12 | 
13 | 14 |

As should this:

15 | 16 |
<div>foo</div>
17 | 
18 | 19 |

Now, nested:

20 | 21 |
22 |
23 |
24 | foo 25 |
26 |
27 |
28 | 29 |

This should just be an HTML comment:

30 | 31 | 32 | 33 |

Multiline:

34 | 35 | 39 | 40 |

Code block:

41 | 42 |
<!-- Comment -->
43 | 
44 | 45 |

Just plain comment, with trailing spaces on the line:

46 | 47 | 48 | 49 |

Code:

50 | 51 |
<hr />
52 | 
53 | 54 |

Hr's:

55 | 56 |
57 | 58 |
59 | 60 |
61 | 62 |
63 | 64 |
65 | 66 |
67 | 68 |
69 | 70 |
71 | 72 |
73 | -------------------------------------------------------------------------------- /plugins/marked/test/original/inline_html_simple.text: -------------------------------------------------------------------------------- 1 | Here's a simple block: 2 | 3 |
4 | foo 5 |
6 | 7 | This should be a code block, though: 8 | 9 |
10 | foo 11 |
12 | 13 | As should this: 14 | 15 |
foo
16 | 17 | Now, nested: 18 | 19 |
20 |
21 |
22 | foo 23 |
24 |
25 |
26 | 27 | This should just be an HTML comment: 28 | 29 | 30 | 31 | Multiline: 32 | 33 | 37 | 38 | Code block: 39 | 40 | 41 | 42 | Just plain comment, with trailing spaces on the line: 43 | 44 | 45 | 46 | Code: 47 | 48 |
49 | 50 | Hr's: 51 | 52 |
53 | 54 |
55 | 56 |
57 | 58 |
59 | 60 |
61 | 62 |
63 | 64 |
65 | 66 |
67 | 68 |
69 | 70 | -------------------------------------------------------------------------------- /plugins/marked/test/original/links_inline_style.html: -------------------------------------------------------------------------------- 1 |

Just a URL.

2 | 3 |

URL and title.

4 | 5 |

URL and title.

6 | 7 |

URL and title.

8 | 9 |

URL and title.

10 | 11 |

URL and title.

12 | 13 |

URL and title.

14 | 15 |

Empty.

16 | -------------------------------------------------------------------------------- /plugins/marked/test/original/links_inline_style.text: -------------------------------------------------------------------------------- 1 | Just a [URL](/url/). 2 | 3 | [URL and title](/url/ "title"). 4 | 5 | [URL and title](/url/ "title preceded by two spaces"). 6 | 7 | [URL and title](/url/ "title preceded by a tab"). 8 | 9 | [URL and title](/url/ "title has spaces afterward" ). 10 | 11 | [URL and title]( /url/has space ). 12 | 13 | [URL and title]( /url/has space/ "url has space and title"). 14 | 15 | [Empty](). 16 | -------------------------------------------------------------------------------- /plugins/marked/test/original/links_reference_style.html: -------------------------------------------------------------------------------- 1 |

Foo bar.

2 | 3 |

Foo bar.

4 | 5 |

Foo bar.

6 | 7 |

With embedded [brackets].

8 | 9 |

Indented once.

10 | 11 |

Indented twice.

12 | 13 |

Indented thrice.

14 | 15 |

Indented [four][] times.

16 | 17 |
[four]: /url
18 | 
19 | 20 |
21 | 22 |

this should work

23 | 24 |

So should this.

25 | 26 |

And this.

27 | 28 |

And this.

29 | 30 |

And this.

31 | 32 |

But not [that] [].

33 | 34 |

Nor [that][].

35 | 36 |

Nor [that].

37 | 38 |

[Something in brackets like this should work]

39 | 40 |

[Same with this.]

41 | 42 |

In this case, this points to something else.

43 | 44 |

Backslashing should suppress [this] and [this].

45 | 46 |
47 | 48 |

Here's one where the link 49 | breaks across lines.

50 | 51 |

Here's another where the link 52 | breaks across lines, but with a line-ending space.

53 | -------------------------------------------------------------------------------- /plugins/marked/test/original/links_reference_style.text: -------------------------------------------------------------------------------- 1 | Foo [bar] [1]. 2 | 3 | Foo [bar][1]. 4 | 5 | Foo [bar] 6 | [1]. 7 | 8 | [1]: /url/ "Title" 9 | 10 | 11 | With [embedded [brackets]] [b]. 12 | 13 | 14 | Indented [once][]. 15 | 16 | Indented [twice][]. 17 | 18 | Indented [thrice][]. 19 | 20 | Indented [four][] times. 21 | 22 | [once]: /url 23 | 24 | [twice]: /url 25 | 26 | [thrice]: /url 27 | 28 | [four]: /url 29 | 30 | 31 | [b]: /url/ 32 | 33 | * * * 34 | 35 | [this] [this] should work 36 | 37 | So should [this][this]. 38 | 39 | And [this] []. 40 | 41 | And [this][]. 42 | 43 | And [this]. 44 | 45 | But not [that] []. 46 | 47 | Nor [that][]. 48 | 49 | Nor [that]. 50 | 51 | [Something in brackets like [this][] should work] 52 | 53 | [Same with [this].] 54 | 55 | In this case, [this](/somethingelse/) points to something else. 56 | 57 | Backslashing should suppress \[this] and [this\]. 58 | 59 | [this]: foo 60 | 61 | 62 | * * * 63 | 64 | Here's one where the [link 65 | breaks] across lines. 66 | 67 | Here's another where the [link 68 | breaks] across lines, but with a line-ending space. 69 | 70 | 71 | [link breaks]: /url/ 72 | -------------------------------------------------------------------------------- /plugins/marked/test/original/links_shortcut_references.html: -------------------------------------------------------------------------------- 1 |

This is the simple case.

2 | 3 |

This one has a line 4 | break.

5 | 6 |

This one has a line 7 | break with a line-ending space.

8 | 9 |

this and the other

10 | -------------------------------------------------------------------------------- /plugins/marked/test/original/links_shortcut_references.text: -------------------------------------------------------------------------------- 1 | This is the [simple case]. 2 | 3 | [simple case]: /simple 4 | 5 | 6 | 7 | This one has a [line 8 | break]. 9 | 10 | This one has a [line 11 | break] with a line-ending space. 12 | 13 | [line break]: /foo 14 | 15 | 16 | [this] [that] and the [other] 17 | 18 | [this]: /this 19 | [that]: /that 20 | [other]: /other 21 | -------------------------------------------------------------------------------- /plugins/marked/test/original/literal_quotes_in_titles.html: -------------------------------------------------------------------------------- 1 |

Foo bar.

2 | 3 |

Foo bar.

4 | -------------------------------------------------------------------------------- /plugins/marked/test/original/literal_quotes_in_titles.text: -------------------------------------------------------------------------------- 1 | Foo [bar][]. 2 | 3 | Foo [bar](/url/ "Title with "quotes" inside"). 4 | 5 | 6 | [bar]: /url/ "Title with "quotes" inside" 7 | 8 | -------------------------------------------------------------------------------- /plugins/marked/test/original/nested_blockquotes.html: -------------------------------------------------------------------------------- 1 |
2 |

foo

3 | 4 |
5 |

bar

6 |
7 | 8 |

foo

9 |
10 | -------------------------------------------------------------------------------- /plugins/marked/test/original/nested_blockquotes.text: -------------------------------------------------------------------------------- 1 | > foo 2 | > 3 | > > bar 4 | > 5 | > foo 6 | -------------------------------------------------------------------------------- /plugins/marked/test/original/strong_and_em_together.html: -------------------------------------------------------------------------------- 1 |

This is strong and em.

2 | 3 |

So is this word.

4 | 5 |

This is strong and em.

6 | 7 |

So is this word.

8 | -------------------------------------------------------------------------------- /plugins/marked/test/original/strong_and_em_together.text: -------------------------------------------------------------------------------- 1 | ***This is strong and em.*** 2 | 3 | So is ***this*** word. 4 | 5 | ___This is strong and em.___ 6 | 7 | So is ___this___ word. 8 | -------------------------------------------------------------------------------- /plugins/marked/test/original/tabs.html: -------------------------------------------------------------------------------- 1 |
    2 |
  • this is a list item 3 | indented with tabs

  • 4 |
  • this is a list item 5 | indented with spaces

  • 6 |
7 | 8 |

Code:

9 | 10 |
this code block is indented by one tab
11 | 
12 | 13 |

And:

14 | 15 |
    this code block is indented by two tabs
16 | 
17 | 18 |

And:

19 | 20 |
+   this is an example list item
21 |     indented with tabs
22 | 
23 | +   this is an example list item
24 |     indented with spaces
25 | 
26 | -------------------------------------------------------------------------------- /plugins/marked/test/original/tabs.text: -------------------------------------------------------------------------------- 1 | + this is a list item 2 | indented with tabs 3 | 4 | + this is a list item 5 | indented with spaces 6 | 7 | Code: 8 | 9 | this code block is indented by one tab 10 | 11 | And: 12 | 13 | this code block is indented by two tabs 14 | 15 | And: 16 | 17 | + this is an example list item 18 | indented with tabs 19 | 20 | + this is an example list item 21 | indented with spaces 22 | -------------------------------------------------------------------------------- /plugins/marked/test/original/tidyness.html: -------------------------------------------------------------------------------- 1 |
2 |

A list within a blockquote:

3 |
    4 |
  • asterisk 1
  • 5 |
  • asterisk 2
  • 6 |
  • asterisk 3
  • 7 |
8 |
9 | -------------------------------------------------------------------------------- /plugins/marked/test/original/tidyness.text: -------------------------------------------------------------------------------- 1 | > A list within a blockquote: 2 | > 3 | > * asterisk 1 4 | > * asterisk 2 5 | > * asterisk 3 6 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/amps_and_angles_encoding.html: -------------------------------------------------------------------------------- 1 |

AT&T has an ampersand in their name.

2 | 3 |

AT&T is another way to write it.

4 | 5 |

This & that.

6 | 7 |

4 < 5.

8 | 9 |

6 > 5.

10 | 11 |

Here's a link with an ampersand in the URL.

12 | 13 |

Here's a link with an amersand in the link text: AT&T.

14 | 15 |

Here's an inline link.

16 | 17 |

Here's an inline link.

18 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/amps_and_angles_encoding.text: -------------------------------------------------------------------------------- 1 | AT&T has an ampersand in their name. 2 | 3 | AT&T is another way to write it. 4 | 5 | This & that. 6 | 7 | 4 < 5. 8 | 9 | 6 > 5. 10 | 11 | Here's a [link] [1] with an ampersand in the URL. 12 | 13 | Here's a link with an amersand in the link text: [AT&T] [2]. 14 | 15 | Here's an inline [link](/script?foo=1&bar=2). 16 | 17 | Here's an inline [link](). 18 | 19 | 20 | [1]: http://example.com/?foo=1&bar=2 21 | [2]: http://att.com/ "AT&T" 22 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/auto_links.html: -------------------------------------------------------------------------------- 1 |

Link: http://example.com/.

2 | 3 |

With an ampersand: http://example.com/?foo=1&bar=2

4 | 5 | 10 | 11 |
12 |

Blockquoted: http://example.com/

13 |
14 | 15 |

Auto-links should not occur here: <http://example.com/>

16 | 17 |
or here: <http://example.com/>
18 | 
19 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/auto_links.text: -------------------------------------------------------------------------------- 1 | Link: . 2 | 3 | With an ampersand: 4 | 5 | * In a list? 6 | * 7 | * It should. 8 | 9 | > Blockquoted: 10 | 11 | Auto-links should not occur here: `` 12 | 13 | or here: 14 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/autolink_lines.html: -------------------------------------------------------------------------------- 1 |

hello world 2 | http://example.com 3 |

4 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/autolink_lines.text: -------------------------------------------------------------------------------- 1 | hello world 2 | 3 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/blockquote_list_item.html: -------------------------------------------------------------------------------- 1 |

This fails in markdown.pl and upskirt:

2 | 3 |
  • hello

    world

4 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/blockquote_list_item.text: -------------------------------------------------------------------------------- 1 | This fails in markdown.pl and upskirt: 2 | 3 | * hello 4 | > world 5 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/blockquotes_with_code_blocks.html: -------------------------------------------------------------------------------- 1 |
2 |

Example:

3 | 4 |
sub status {
 5 |     print "working";
 6 | }
 7 | 
8 | 9 |

Or:

10 | 11 |
sub status {
12 |     return "working";
13 | }
14 | 
15 |
16 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/blockquotes_with_code_blocks.text: -------------------------------------------------------------------------------- 1 | > Example: 2 | > 3 | > sub status { 4 | > print "working"; 5 | > } 6 | > 7 | > Or: 8 | > 9 | > sub status { 10 | > return "working"; 11 | > } 12 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/case_insensitive_refs.html: -------------------------------------------------------------------------------- 1 |

hi

2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/case_insensitive_refs.text: -------------------------------------------------------------------------------- 1 | [hi] 2 | 3 | [HI]: /url 4 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/code_blocks.html: -------------------------------------------------------------------------------- 1 |
code block on the first line
 2 | 
3 | 4 |

Regular text.

5 | 6 |
code block indented by spaces
 7 | 
8 | 9 |

Regular text.

10 | 11 |
the lines in this block  
12 | all contain trailing spaces  
13 | 
14 | 15 |

Regular Text.

16 | 17 |
code block on the last line
18 | 
19 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/code_blocks.text: -------------------------------------------------------------------------------- 1 | code block on the first line 2 | 3 | Regular text. 4 | 5 | code block indented by spaces 6 | 7 | Regular text. 8 | 9 | the lines in this block 10 | all contain trailing spaces 11 | 12 | Regular Text. 13 | 14 | code block on the last line 15 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/code_spans.html: -------------------------------------------------------------------------------- 1 |

<test a=" content of attribute ">

2 | 3 |

Fix for backticks within HTML tag: like this

4 | 5 |

Here's how you put `backticks` in a code span.

6 | 7 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/code_spans.text: -------------------------------------------------------------------------------- 1 | `` 2 | 3 | Fix for backticks within HTML tag: like this 4 | 5 | Here's how you put `` `backticks` `` in a code span. 6 | 7 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/def_blocks.html: -------------------------------------------------------------------------------- 1 |
2 |

hello 3 | [1]: hello

4 |
5 | 6 |
7 | 8 |
9 |

hello

10 |
11 | 12 | 13 |
    14 |
  • hello
  • 15 |
  • [3]: hello
  • 16 |
17 | 18 | 19 |
    20 |
  • hello
  • 21 |
22 | 23 | 24 |
25 |

foo 26 | bar 27 | bar

28 |
29 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/def_blocks.text: -------------------------------------------------------------------------------- 1 | > hello 2 | > [1]: hello 3 | 4 | * * * 5 | 6 | > hello 7 | [2]: hello 8 | 9 | 10 | * hello 11 | * [3]: hello 12 | 13 | 14 | * hello 15 | [4]: hello 16 | 17 | 18 | > foo 19 | > bar 20 | [1]: foo 21 | > bar 22 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/double_link.html: -------------------------------------------------------------------------------- 1 |

Already linked: http://example.com/.

2 | 3 |

Already linked: http://example.com/.

4 | 5 |

Already linked: http://example.com/.

6 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/double_link.text: -------------------------------------------------------------------------------- 1 |

Already linked: http://example.com/.

2 | 3 | Already linked: [http://example.com/](http://example.com/). 4 | 5 | Already linked: **http://example.com/**. 6 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/escaped_angles.html: -------------------------------------------------------------------------------- 1 |

>

2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/escaped_angles.text: -------------------------------------------------------------------------------- 1 | \> 2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_break.breaks.html: -------------------------------------------------------------------------------- 1 |

Look at the
pretty line
breaks.

2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_break.breaks.text: -------------------------------------------------------------------------------- 1 | Look at the 2 | pretty line 3 | breaks. 4 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_code.html: -------------------------------------------------------------------------------- 1 |
var a = 'hello';
 2 | console.log(a + ' world');
3 |
echo "hello, ${WORLD}"
4 |
Q: What do you call a tall person who sells stolen goods?
5 |
A longfence!
6 |

How about an empty code block?

7 |
8 |

How about a code block with only an empty line?

9 |

10 | 
11 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_code.text: -------------------------------------------------------------------------------- 1 | ``` js 2 | var a = 'hello'; 3 | console.log(a + ' world'); 4 | ``` 5 | 6 | ~~~bash 7 | echo "hello, ${WORLD}" 8 | ~~~ 9 | 10 | ```````longfence 11 | Q: What do you call a tall person who sells stolen goods? 12 | ``````` 13 | 14 | ~~~~~~~~~~ ManyTildes 15 | A longfence! 16 | ~~~~~~~~~~ 17 | 18 | How about an empty code block? 19 | 20 | ```js 21 | ``` 22 | 23 | How about a code block with only an empty line? 24 | 25 | ```js 26 | 27 | ``` 28 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_code_hr_list.html: -------------------------------------------------------------------------------- 1 |

foo

2 |
    3 |
  1. bar:

    4 |
    5 |
      6 |
    • one
        7 |
      • two
          8 |
        • three
        • 9 |
        • four
        • 10 |
        • five
        • 11 |
        12 |
      • 13 |
      14 |
    • 15 |
    16 |
    17 |
  2. 18 |
  3. foo:

    19 |
     line 1
    20 |  line 2
    21 |
  4. 22 |
  5. foo:

    23 |
      24 |
    1. foo bar bar:

      25 |
       some code here
      26 | 
      27 |
    2. 28 |
    3. foo bar bar:

      29 |
       foo
      30 |  ---
      31 |  bar
      32 |  ---
      33 |  foo
      34 |  bar
      35 |
    4. 36 |
    5. foo bar bar:

      37 |
       ---
      38 |  foo
      39 |  foo
      40 |  ---
      41 |  bar
      42 |
    6. 43 |
    7. foo bar bar:

      44 |
       foo
      45 |  ---
      46 |  bar
      47 |
    8. 48 |
    9. foo

      49 |
    10. 50 |
    51 |
  6. 52 |
53 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_code_hr_list.text: -------------------------------------------------------------------------------- 1 | ## foo 2 | 3 | 1. bar: 4 | 5 | > - one 6 | - two 7 | - three 8 | - four 9 | - five 10 | 11 | 1. foo: 12 | 13 | ``` 14 | line 1 15 | line 2 16 | ``` 17 | 18 | 1. foo: 19 | 20 | 1. foo `bar` bar: 21 | 22 | ``` erb 23 | some code here 24 | ``` 25 | 26 | 2. foo `bar` bar: 27 | 28 | ``` erb 29 | foo 30 | --- 31 | bar 32 | --- 33 | foo 34 | bar 35 | ``` 36 | 37 | 3. foo `bar` bar: 38 | 39 | ``` html 40 | --- 41 | foo 42 | foo 43 | --- 44 | bar 45 | ``` 46 | 47 | 4. foo `bar` bar: 48 | 49 | foo 50 | --- 51 | bar 52 | 53 | 5. foo 54 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_del.html: -------------------------------------------------------------------------------- 1 |

hello hi world

2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_del.text: -------------------------------------------------------------------------------- 1 | hello ~~hi~~ world 2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_em.html: -------------------------------------------------------------------------------- 1 |

These words should_not_be_emphasized.

2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_em.text: -------------------------------------------------------------------------------- 1 | These words should_not_be_emphasized. 2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_hashtag.gfm.html: -------------------------------------------------------------------------------- 1 |

#header

2 | 3 |

header1

4 | 5 |

header2

6 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_hashtag.gfm.text: -------------------------------------------------------------------------------- 1 | #header 2 | 3 | # header1 4 | 5 | # header2 6 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_hashtag.nogfm.html: -------------------------------------------------------------------------------- 1 |

header

2 | 3 |

header1

4 | 5 |

header2

6 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_hashtag.nogfm.text: -------------------------------------------------------------------------------- 1 | #header 2 | 3 | # header1 4 | 5 | # header2 6 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_links.html: -------------------------------------------------------------------------------- 1 |

This should be a link: 2 | http://example.com/hello-world.

3 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_links.text: -------------------------------------------------------------------------------- 1 | This should be a link: http://example.com/hello-world. 2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/gfm_tables.text: -------------------------------------------------------------------------------- 1 | | Heading 1 | Heading 2 2 | | --------- | --------- 3 | | Cell 1 | Cell 2 4 | | Cell 3 | Cell 4 5 | 6 | | Header 1 | Header 2 | Header 3 | Header 4 | 7 | | :------: | -------: | :------- | -------- | 8 | | Cell 1 | Cell 2 | Cell 3 | Cell 4 | 9 | | Cell 5 | Cell 6 | Cell 7 | Cell 8 | 10 | 11 | Test code 12 | 13 | Header 1 | Header 2 14 | -------- | -------- 15 | Cell 1 | Cell 2 16 | Cell 3 | Cell 4 17 | 18 | Header 1|Header 2|Header 3|Header 4 19 | :-------|:------:|-------:|-------- 20 | Cell 1 |Cell 2 |Cell 3 |Cell 4 21 | *Cell 5*|Cell 6 |Cell 7 |Cell 8 22 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/hard_wrapped_paragraphs_with_list_like_lines.nogfm.html: -------------------------------------------------------------------------------- 1 |

In Markdown 1.0.0 and earlier. Version 2 | 8. This line turns into a list item. 3 | Because a hard-wrapped line in the 4 | middle of a paragraph looked like a 5 | list item.

6 | 7 |

Here's one with a bullet. 8 | * criminey.

9 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/hard_wrapped_paragraphs_with_list_like_lines.nogfm.text: -------------------------------------------------------------------------------- 1 | In Markdown 1.0.0 and earlier. Version 2 | 8. This line turns into a list item. 3 | Because a hard-wrapped line in the 4 | middle of a paragraph looked like a 5 | list item. 6 | 7 | Here's one with a bullet. 8 | * criminey. 9 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/horizontal_rules.html: -------------------------------------------------------------------------------- 1 |

Dashes:

2 | 3 |
4 | 5 |
6 | 7 |
8 | 9 |
10 | 11 |
---
12 | 
13 | 14 |
15 | 16 |
17 | 18 |
19 | 20 |
21 | 22 |
- - -
23 | 
24 | 25 |

Asterisks:

26 | 27 |
28 | 29 |
30 | 31 |
32 | 33 |
34 | 35 |
***
36 | 
37 | 38 |
39 | 40 |
41 | 42 |
43 | 44 |
45 | 46 |
* * *
47 | 
48 | 49 |

Underscores:

50 | 51 |
52 | 53 |
54 | 55 |
56 | 57 |
58 | 59 |
___
60 | 
61 | 62 |
63 | 64 |
65 | 66 |
67 | 68 |
69 | 70 |
_ _ _
71 | 
72 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/horizontal_rules.text: -------------------------------------------------------------------------------- 1 | Dashes: 2 | 3 | --- 4 | 5 | --- 6 | 7 | --- 8 | 9 | --- 10 | 11 | --- 12 | 13 | - - - 14 | 15 | - - - 16 | 17 | - - - 18 | 19 | - - - 20 | 21 | - - - 22 | 23 | 24 | Asterisks: 25 | 26 | *** 27 | 28 | *** 29 | 30 | *** 31 | 32 | *** 33 | 34 | *** 35 | 36 | * * * 37 | 38 | * * * 39 | 40 | * * * 41 | 42 | * * * 43 | 44 | * * * 45 | 46 | 47 | Underscores: 48 | 49 | ___ 50 | 51 | ___ 52 | 53 | ___ 54 | 55 | ___ 56 | 57 | ___ 58 | 59 | _ _ _ 60 | 61 | _ _ _ 62 | 63 | _ _ _ 64 | 65 | _ _ _ 66 | 67 | _ _ _ 68 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/hr_list_break.html: -------------------------------------------------------------------------------- 1 |
    2 |
  • hello 3 | world
  • 4 |
  • how 5 | are
  • 6 |
7 | 8 |
9 | 10 |

you today?

11 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/hr_list_break.text: -------------------------------------------------------------------------------- 1 | * hello 2 | world 3 | * how 4 | are 5 | * * * 6 | you today? 7 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/inline_html_advanced.html: -------------------------------------------------------------------------------- 1 |

Simple block on one line:

2 | 3 |
foo
4 | 5 |

And nested without indentation:

6 | 7 |
8 |
9 |
10 | foo 11 |
12 |
13 |
14 |
bar
15 |
16 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/inline_html_advanced.text: -------------------------------------------------------------------------------- 1 | Simple block on one line: 2 | 3 |
foo
4 | 5 | And nested without indentation: 6 | 7 |
8 |
9 |
10 | foo 11 |
12 |
13 |
14 |
bar
15 |
16 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/inline_html_comments.html: -------------------------------------------------------------------------------- 1 |

Paragraph one.

2 | 3 | 4 | 5 | 8 | 9 |

Paragraph two.

10 | 11 | 12 | 13 |

The end.

14 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/inline_html_comments.text: -------------------------------------------------------------------------------- 1 | Paragraph one. 2 | 3 | 4 | 5 | 8 | 9 | Paragraph two. 10 | 11 | 12 | 13 | The end. 14 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/inline_html_simple.html: -------------------------------------------------------------------------------- 1 |

Here's a simple block:

2 | 3 |
4 | foo 5 |
6 | 7 |

This should be a code block, though:

8 | 9 |
<div>
10 |     foo
11 | </div>
12 | 
13 | 14 |

As should this:

15 | 16 |
<div>foo</div>
17 | 
18 | 19 |

Now, nested:

20 | 21 |
22 |
23 |
24 | foo 25 |
26 |
27 |
28 | 29 |

This should just be an HTML comment:

30 | 31 | 32 | 33 |

Multiline:

34 | 35 | 39 | 40 |

Code block:

41 | 42 |
<!-- Comment -->
43 | 
44 | 45 |

Just plain comment, with trailing spaces on the line:

46 | 47 | 48 | 49 |

Code:

50 | 51 |
<hr>
52 | 
53 | 54 |

Hr's:

55 | 56 |
57 | 58 |
59 | 60 |
61 | 62 |
63 | 64 |
65 | 66 |
67 | 68 |
69 | 70 |
71 | 72 |
73 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/inline_html_simple.text: -------------------------------------------------------------------------------- 1 | Here's a simple block: 2 | 3 |
4 | foo 5 |
6 | 7 | This should be a code block, though: 8 | 9 |
10 | foo 11 |
12 | 13 | As should this: 14 | 15 |
foo
16 | 17 | Now, nested: 18 | 19 |
20 |
21 |
22 | foo 23 |
24 |
25 |
26 | 27 | This should just be an HTML comment: 28 | 29 | 30 | 31 | Multiline: 32 | 33 | 37 | 38 | Code block: 39 | 40 | 41 | 42 | Just plain comment, with trailing spaces on the line: 43 | 44 | 45 | 46 | Code: 47 | 48 |
49 | 50 | Hr's: 51 | 52 |
53 | 54 |
55 | 56 |
57 | 58 |
59 | 60 |
61 | 62 |
63 | 64 |
65 | 66 |
67 | 68 |
69 | 70 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/lazy_blockquotes.html: -------------------------------------------------------------------------------- 1 |
2 |

hi there 3 | bud

4 |
5 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/lazy_blockquotes.text: -------------------------------------------------------------------------------- 1 | > hi there 2 | bud 3 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/links_inline_style.html: -------------------------------------------------------------------------------- 1 |

Just a URL.

2 | 3 |

URL and title.

4 | 5 |

URL and title.

6 | 7 |

URL and title.

8 | 9 |

URL and title.

10 | 11 |

URL and title.

12 | 13 |

URL and title.

14 | 15 |

Empty.

16 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/links_inline_style.text: -------------------------------------------------------------------------------- 1 | Just a [URL](/url/). 2 | 3 | [URL and title](/url/ "title"). 4 | 5 | [URL and title](/url/ "title preceded by two spaces"). 6 | 7 | [URL and title](/url/ "title preceded by a tab"). 8 | 9 | [URL and title](/url/ "title has spaces afterward" ). 10 | 11 | [URL and title]( /url/has space ). 12 | 13 | [URL and title]( /url/has space/ "url has space and title"). 14 | 15 | [Empty](). 16 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/links_reference_style.html: -------------------------------------------------------------------------------- 1 |

Foo bar.

2 | 3 |

Foo bar.

4 | 5 |

Foo bar.

6 | 7 |

With embedded [brackets].

8 | 9 |

Indented once.

10 | 11 |

Indented twice.

12 | 13 |

Indented thrice.

14 | 15 |

Indented [four][] times.

16 | 17 |
[four]: /url
18 | 
19 | 20 |
21 | 22 |

this should work

23 | 24 |

So should this.

25 | 26 |

And this.

27 | 28 |

And this.

29 | 30 |

And this.

31 | 32 |

But not [that] [].

33 | 34 |

Nor [that][].

35 | 36 |

Nor [that].

37 | 38 |

[Something in brackets like this should work]

39 | 40 |

[Same with this.]

41 | 42 |

In this case, this points to something else.

43 | 44 |

Backslashing should suppress [this] and [this].

45 | 46 |
47 | 48 |

Here's one where the link 49 | breaks across lines.

50 | 51 |

Here's another where the link 52 | breaks across lines, but with a line-ending space.

53 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/links_reference_style.text: -------------------------------------------------------------------------------- 1 | Foo [bar] [1]. 2 | 3 | Foo [bar][1]. 4 | 5 | Foo [bar] 6 | [1]. 7 | 8 | [1]: /url/ "Title" 9 | 10 | 11 | With [embedded [brackets]] [b]. 12 | 13 | 14 | Indented [once][]. 15 | 16 | Indented [twice][]. 17 | 18 | Indented [thrice][]. 19 | 20 | Indented [four][] times. 21 | 22 | [once]: /url 23 | 24 | [twice]: /url 25 | 26 | [thrice]: /url 27 | 28 | [four]: /url 29 | 30 | 31 | [b]: /url/ 32 | 33 | * * * 34 | 35 | [this] [this] should work 36 | 37 | So should [this][this]. 38 | 39 | And [this] []. 40 | 41 | And [this][]. 42 | 43 | And [this]. 44 | 45 | But not [that] []. 46 | 47 | Nor [that][]. 48 | 49 | Nor [that]. 50 | 51 | [Something in brackets like [this][] should work] 52 | 53 | [Same with [this].] 54 | 55 | In this case, [this](/somethingelse/) points to something else. 56 | 57 | Backslashing should suppress \[this] and [this\]. 58 | 59 | [this]: foo 60 | 61 | 62 | * * * 63 | 64 | Here's one where the [link 65 | breaks] across lines. 66 | 67 | Here's another where the [link 68 | breaks] across lines, but with a line-ending space. 69 | 70 | 71 | [link breaks]: /url/ 72 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/links_shortcut_references.html: -------------------------------------------------------------------------------- 1 |

This is the simple case.

2 | 3 |

This one has a line 4 | break.

5 | 6 |

This one has a line 7 | break with a line-ending space.

8 | 9 |

this and the other

10 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/links_shortcut_references.text: -------------------------------------------------------------------------------- 1 | This is the [simple case]. 2 | 3 | [simple case]: /simple 4 | 5 | 6 | 7 | This one has a [line 8 | break]. 9 | 10 | This one has a [line 11 | break] with a line-ending space. 12 | 13 | [line break]: /foo 14 | 15 | 16 | [this] [that] and the [other] 17 | 18 | [this]: /this 19 | [that]: /that 20 | [other]: /other 21 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/list_item_text.html: -------------------------------------------------------------------------------- 1 |
  • item1

    • item2

    text

2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/list_item_text.text: -------------------------------------------------------------------------------- 1 | * item1 2 | 3 | * item2 4 | 5 | text 6 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/literal_quotes_in_titles.html: -------------------------------------------------------------------------------- 1 |

Foo bar.

2 | 3 |

Foo bar.

4 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/literal_quotes_in_titles.text: -------------------------------------------------------------------------------- 1 | Foo [bar][]. 2 | 3 | Foo [bar](/url/ "Title with "quotes" inside"). 4 | 5 | 6 | [bar]: /url/ "Title with "quotes" inside" 7 | 8 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/loose_lists.html: -------------------------------------------------------------------------------- 1 |
    2 |
  • hello 3 | world

    4 | 5 |

    how 6 | are

  • 7 |
  • you
  • 8 |
9 | 10 | 11 | 12 |

better behavior:

13 | 14 |
  • hello

    • world 15 | how

      are 16 | you

    • today

  • hi
17 | 18 | 19 | 20 |
    21 |
  • hello

  • 22 |
  • world

  • 23 |
  • hi
  • 24 |
25 | 26 | 27 | 28 |
    29 |
  • hello
  • 30 |
  • world

  • 31 |
  • hi

  • 32 |
33 | 34 | 35 | 36 |
    37 |
  • hello
  • 38 |
  • world

    39 | 40 |

    how

  • 41 |
  • hi
  • 42 |
43 | 44 | 45 | 46 |
    47 |
  • hello
  • 48 |
  • world
  • 49 |
  • how

    50 | 51 |

    are

  • 52 |
53 | 54 | 55 | 56 |
    57 |
  • hello
  • 58 |
  • world

  • 59 |
  • how

    60 | 61 |

    are

  • 62 |
63 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/loose_lists.text: -------------------------------------------------------------------------------- 1 | * hello 2 | world 3 | 4 | how 5 | are 6 | * you 7 | 8 | 9 | 10 | better behavior: 11 | 12 | * hello 13 | * world 14 | how 15 | 16 | are 17 | you 18 | 19 | * today 20 | * hi 21 | 22 | 23 | 24 | * hello 25 | 26 | * world 27 | * hi 28 | 29 | 30 | 31 | * hello 32 | * world 33 | 34 | * hi 35 | 36 | 37 | 38 | * hello 39 | * world 40 | 41 | how 42 | * hi 43 | 44 | 45 | 46 | * hello 47 | * world 48 | * how 49 | 50 | are 51 | 52 | 53 | 54 | * hello 55 | * world 56 | 57 | * how 58 | 59 | are 60 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/main.html: -------------------------------------------------------------------------------- 1 |

A heading

Just a note, I've found that I can't test my markdown parser vs others. For example, both markdown.js and showdown code blocks in lists wrong. They're also completely inconsistent with regards to paragraphs in list items.

A link. Not anymore.

  • List Item 1

  • List Item 2

    • New List Item 1 Hi, this is a list item.
    • New List Item 2 Another item
      Code goes here.
      3 | Lots of it...
    • New List Item 3 The last item
  • List Item 3 The final item.

  • List Item 4 The real final item.

Paragraph.

  • bq Item 1
  • bq Item 2
    • New bq Item 1
    • New bq Item 2 Text here

Another blockquote! I really need to get more creative with mockup text.. markdown.js breaks here again

Another Heading

Hello world. Here is a link. And an image alt.

Code goes here.
4 | Lots of it...
5 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/main.text: -------------------------------------------------------------------------------- 1 | [test]: http://google.com/ "Google" 2 | 3 | # A heading 4 | 5 | Just a note, I've found that I can't test my markdown parser vs others. 6 | For example, both markdown.js and showdown code blocks in lists wrong. They're 7 | also completely [inconsistent][test] with regards to paragraphs in list items. 8 | 9 | A link. Not anymore. 10 | 11 | 13 | 14 | * List Item 1 15 | 16 | * List Item 2 17 | * New List Item 1 18 | Hi, this is a list item. 19 | * New List Item 2 20 | Another item 21 | Code goes here. 22 | Lots of it... 23 | * New List Item 3 24 | The last item 25 | 26 | * List Item 3 27 | The final item. 28 | 29 | * List Item 4 30 | The real final item. 31 | 32 | Paragraph. 33 | 34 | > * bq Item 1 35 | > * bq Item 2 36 | > * New bq Item 1 37 | > * New bq Item 2 38 | > Text here 39 | 40 | * * * 41 | 42 | > Another blockquote! 43 | > I really need to get 44 | > more creative with 45 | > mockup text.. 46 | > markdown.js breaks here again 47 | 48 | Another Heading 49 | ------------- 50 | 51 | Hello *world*. Here is a [link](//hello). 52 | And an image ![alt](src). 53 | 54 | Code goes here. 55 | Lots of it... 56 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/nested_blockquotes.html: -------------------------------------------------------------------------------- 1 |
2 |

foo

3 | 4 |
5 |

bar

6 |
7 | 8 |

foo

9 |
10 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/nested_blockquotes.text: -------------------------------------------------------------------------------- 1 | > foo 2 | > 3 | > > bar 4 | > 5 | > foo 6 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/nested_code.html: -------------------------------------------------------------------------------- 1 |

hi ther `` ok ```

2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/nested_code.text: -------------------------------------------------------------------------------- 1 | ````` hi ther `` ok ``` ````` 2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/nested_em.html: -------------------------------------------------------------------------------- 1 |

test test test

2 | 3 |

test test test

4 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/nested_em.text: -------------------------------------------------------------------------------- 1 | *test **test** test* 2 | 3 | _test __test__ test_ 4 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/nested_square_link.html: -------------------------------------------------------------------------------- 1 |

the ] character

2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/nested_square_link.text: -------------------------------------------------------------------------------- 1 | [the `]` character](/url) 2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/not_a_link.html: -------------------------------------------------------------------------------- 1 |

[test](not a link)

2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/not_a_link.text: -------------------------------------------------------------------------------- 1 | \[test](not a link) 2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/ref_paren.html: -------------------------------------------------------------------------------- 1 |

hi

2 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/ref_paren.text: -------------------------------------------------------------------------------- 1 | [hi] 2 | 3 | [hi]: /url (there) 4 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/same_bullet.html: -------------------------------------------------------------------------------- 1 |
    2 |
  • test
  • 3 |
  • test
  • 4 |
  • test
  • 5 |
6 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/same_bullet.text: -------------------------------------------------------------------------------- 1 | * test 2 | + test 3 | - test 4 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/strong_and_em_together.html: -------------------------------------------------------------------------------- 1 |

This is strong and em.

2 | 3 |

So is this word.

4 | 5 |

This is strong and em.

6 | 7 |

So is this word.

8 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/strong_and_em_together.text: -------------------------------------------------------------------------------- 1 | ***This is strong and em.*** 2 | 3 | So is ***this*** word. 4 | 5 | ___This is strong and em.___ 6 | 7 | So is ___this___ word. 8 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/tabs.html: -------------------------------------------------------------------------------- 1 |
    2 |
  • this is a list item 3 | indented with tabs

  • 4 |
  • this is a list item 5 | indented with spaces

  • 6 |
7 | 8 |

Code:

9 | 10 |
this code block is indented by one tab
11 | 
12 | 13 |

And:

14 | 15 |
    this code block is indented by two tabs
16 | 
17 | 18 |

And:

19 | 20 |
+   this is an example list item
21 |     indented with tabs
22 | 
23 | +   this is an example list item
24 |     indented with spaces
25 | 
26 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/tabs.text: -------------------------------------------------------------------------------- 1 | + this is a list item 2 | indented with tabs 3 | 4 | + this is a list item 5 | indented with spaces 6 | 7 | Code: 8 | 9 | this code block is indented by one tab 10 | 11 | And: 12 | 13 | this code block is indented by two tabs 14 | 15 | And: 16 | 17 | + this is an example list item 18 | indented with tabs 19 | 20 | + this is an example list item 21 | indented with spaces 22 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/text.smartypants.html: -------------------------------------------------------------------------------- 1 |

Hello world ‘how’ “are” you – today…

2 | 3 |

“It’s a more ‘challenging’ smartypants test…”

4 | 5 |

‘And,’ as a bonus — “one 6 | multiline” test!

7 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/text.smartypants.text: -------------------------------------------------------------------------------- 1 | Hello world 'how' "are" you -- today... 2 | 3 | "It's a more 'challenging' smartypants test..." 4 | 5 | 'And,' as a bonus --- "one 6 | multiline" test! 7 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/tidyness.html: -------------------------------------------------------------------------------- 1 |
2 |

A list within a blockquote:

3 |
    4 |
  • asterisk 1
  • 5 |
  • asterisk 2
  • 6 |
  • asterisk 3
  • 7 |
8 |
9 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/tidyness.text: -------------------------------------------------------------------------------- 1 | > A list within a blockquote: 2 | > 3 | > * asterisk 1 4 | > * asterisk 2 5 | > * asterisk 3 6 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/toplevel_paragraphs.gfm.html: -------------------------------------------------------------------------------- 1 |

hello world 2 | how are you 3 | how are you

4 | 5 |

hello world

6 |
how are you
7 | 8 |

hello world

9 |
10 | 11 |

hello world

12 |

how are you

13 | 14 |

hello world

15 |

how are you

16 | 17 |

hello world

18 |

how are you

19 | 20 |

hello world

21 |
  • how are you
22 | 23 |

hello world

24 |
how are you
25 | 26 |

hello world 27 | how are you

28 | 29 |

hello world 30 |

31 | 32 |
hello
33 | 34 |

hello

35 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/toplevel_paragraphs.gfm.text: -------------------------------------------------------------------------------- 1 | hello world 2 | how are you 3 | how are you 4 | 5 | hello world 6 | ``` 7 | how are you 8 | ``` 9 | 10 | hello world 11 | * * * 12 | 13 | hello world 14 | # how are you 15 | 16 | hello world 17 | how are you 18 | =========== 19 | 20 | hello world 21 | > how are you 22 | 23 | hello world 24 | * how are you 25 | 26 | hello world 27 |
how are you
28 | 29 | hello world 30 | how are you 31 | 32 | hello [world][how] 33 | [how]: /are/you 34 | 35 |
hello
36 | 37 | hello 38 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/tricky_list.html: -------------------------------------------------------------------------------- 1 |

hello world

2 | 3 |
    4 |
  • hello world
  • 5 |
6 | 7 |

hello world

8 | 9 |
    10 |
  • hello world
  • 11 |
12 | 13 |

hello world

14 | 15 |
    16 |
  • Hello world
  • 17 |
18 | 19 |

hello world

20 | 21 |
    22 |
  • hello world
  • 23 |
24 | -------------------------------------------------------------------------------- /plugins/marked/test/tests/tricky_list.text: -------------------------------------------------------------------------------- 1 | **hello** _world_ 2 | 3 | * hello world 4 | 5 | **hello** _world_ 6 | 7 | * hello world 8 | 9 | **hello** _world_ 10 | 11 | * Hello world 12 | 13 | **hello** _world_ 14 | 15 | * hello world 16 | -------------------------------------------------------------------------------- /plugins/mousetrap/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /plugins/mousetrap/Gruntfile.js: -------------------------------------------------------------------------------- 1 | /*jshint node:true */ 2 | module.exports = function(grunt) { 3 | 'use strict'; 4 | 5 | grunt.initConfig({ 6 | pkg: grunt.file.readJSON('package.json'), 7 | 8 | mocha: { 9 | options: { 10 | reporter: 'Nyan', 11 | run: true 12 | }, 13 | mousetrap: { 14 | src: ['tests/mousetrap.html'] 15 | } 16 | }, 17 | 18 | complexity: { 19 | options: { 20 | errorsOnly: false, 21 | cyclomatic: 10, 22 | halstead: 30, 23 | maintainability: 85 24 | }, 25 | generic: { 26 | src: [ 27 | 'mousetrap.js' 28 | ] 29 | }, 30 | plugins: { 31 | src: [ 32 | 'plugins/**/*.js', 33 | '!plugins/**/tests/**', 34 | '!plugins/**/*.min.js' 35 | ] 36 | } 37 | } 38 | }); 39 | 40 | grunt.loadNpmTasks('grunt-complexity'); 41 | grunt.loadNpmTasks('grunt-mocha'); 42 | 43 | grunt.registerTask('default', [ 44 | 'complexity', 45 | 'mocha' 46 | ]); 47 | }; 48 | -------------------------------------------------------------------------------- /plugins/mousetrap/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mousetrap", 3 | "version": "1.6.0", 4 | "description": "Simple library for handling keyboard shortcuts", 5 | "main": "mousetrap.js", 6 | "directories": { 7 | "test": "tests" 8 | }, 9 | "scripts": { 10 | "test": "grunt mocha" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git://github.com/ccampbell/mousetrap.git" 15 | }, 16 | "keywords": [ 17 | "keyboard", 18 | "shortcuts", 19 | "events" 20 | ], 21 | "author": "Craig Campbell", 22 | "license": "Apache 2.0", 23 | "gitHead": "c202a0bd4967d5a3064f9cb376db51dec9345336", 24 | "readmeFilename": "README.md", 25 | "devDependencies": { 26 | "grunt": "~0.4.1", 27 | "grunt-complexity": "~0.1.2", 28 | "grunt-mocha": "~0.3.1" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /plugins/mousetrap/plugins/README.md: -------------------------------------------------------------------------------- 1 | # Plugins 2 | 3 | Plugins extend the functionality of Mousetrap. To use a plugin just include the plugin after mousetrap. 4 | 5 | ```html 6 | 7 | 8 | ``` 9 | 10 | ## Bind dictionary 11 | 12 | Allows you to make multiple bindings in a single ``Mousetrap.bind`` call. 13 | 14 | ## Global bind 15 | 16 | Allows you to set global bindings that work even inside of input fields. 17 | 18 | ## Pause/unpause 19 | 20 | Allows you to temporarily prevent Mousetrap events from firing. 21 | 22 | ## Record 23 | 24 | Allows you to capture a keyboard shortcut or sequence defined by a user. 25 | -------------------------------------------------------------------------------- /plugins/mousetrap/plugins/bind-dictionary/README.md: -------------------------------------------------------------------------------- 1 | # Bind Dictionary 2 | 3 | This extension overwrites the default bind behavior and allows you to bind multiple combinations in a single bind call. 4 | 5 | Usage looks like: 6 | 7 | ```javascript 8 | Mousetrap.bind({ 9 | 'a': function() { console.log('a'); }, 10 | 'b': function() { console.log('b'); } 11 | }); 12 | ``` 13 | 14 | You can optionally pass in ``keypress``, ``keydown`` or ``keyup`` as a second argument. 15 | 16 | Other bind calls work the same way as they do by default. 17 | -------------------------------------------------------------------------------- /plugins/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Overwrites default Mousetrap.bind method to optionally accept 3 | * an object to bind multiple key events in a single call 4 | * 5 | * You can pass it in like: 6 | * 7 | * Mousetrap.bind({ 8 | * 'a': function() { console.log('a'); }, 9 | * 'b': function() { console.log('b'); } 10 | * }); 11 | * 12 | * And can optionally pass in 'keypress', 'keydown', or 'keyup' 13 | * as a second argument 14 | * 15 | */ 16 | /* global Mousetrap:true */ 17 | (function(Mousetrap) { 18 | var _oldBind = Mousetrap.prototype.bind; 19 | var args; 20 | 21 | Mousetrap.prototype.bind = function() { 22 | var self = this; 23 | args = arguments; 24 | 25 | // normal call 26 | if (typeof args[0] == 'string' || args[0] instanceof Array) { 27 | return _oldBind.call(self, args[0], args[1], args[2]); 28 | } 29 | 30 | // object passed in 31 | for (var key in args[0]) { 32 | if (args[0].hasOwnProperty(key)) { 33 | _oldBind.call(self, key, args[0][key], args[1]); 34 | } 35 | } 36 | }; 37 | 38 | Mousetrap.init(); 39 | }) (Mousetrap); 40 | -------------------------------------------------------------------------------- /plugins/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.min.js: -------------------------------------------------------------------------------- 1 | (function(b){var c=b.prototype.bind,a;b.prototype.bind=function(){a=arguments;if("string"==typeof a[0]||a[0]instanceof Array)return c.call(this,a[0],a[1],a[2]);for(var b in a[0])a[0].hasOwnProperty(b)&&c.call(this,b,a[0][b],a[1])};b.init()})(Mousetrap); 2 | -------------------------------------------------------------------------------- /plugins/mousetrap/plugins/global-bind/README.md: -------------------------------------------------------------------------------- 1 | # Global Bind 2 | 3 | This extension allows you to specify keyboard events that will work anywhere including inside textarea/input fields. 4 | 5 | Usage looks like: 6 | 7 | ```javascript 8 | Mousetrap.bindGlobal('ctrl+s', function() { 9 | _save(); 10 | }); 11 | ``` 12 | 13 | This means that a keyboard event bound using ``Mousetrap.bind`` will only work outside of form input fields, but using ``Moustrap.bindGlobal`` will work in both places. 14 | 15 | If you wanted to create keyboard shortcuts that only work when you are inside a specific textarea you can do that too by creating your own extension. 16 | -------------------------------------------------------------------------------- /plugins/mousetrap/plugins/global-bind/mousetrap-global-bind.js: -------------------------------------------------------------------------------- 1 | /** 2 | * adds a bindGlobal method to Mousetrap that allows you to 3 | * bind specific keyboard shortcuts that will still work 4 | * inside a text input field 5 | * 6 | * usage: 7 | * Mousetrap.bindGlobal('ctrl+s', _saveChanges); 8 | */ 9 | /* global Mousetrap:true */ 10 | (function(Mousetrap) { 11 | var _globalCallbacks = {}; 12 | var _originalStopCallback = Mousetrap.prototype.stopCallback; 13 | 14 | Mousetrap.prototype.stopCallback = function(e, element, combo, sequence) { 15 | var self = this; 16 | 17 | if (self.paused) { 18 | return true; 19 | } 20 | 21 | if (_globalCallbacks[combo] || _globalCallbacks[sequence]) { 22 | return false; 23 | } 24 | 25 | return _originalStopCallback.call(self, e, element, combo); 26 | }; 27 | 28 | Mousetrap.prototype.bindGlobal = function(keys, callback, action) { 29 | var self = this; 30 | self.bind(keys, callback, action); 31 | 32 | if (keys instanceof Array) { 33 | for (var i = 0; i < keys.length; i++) { 34 | _globalCallbacks[keys[i]] = true; 35 | } 36 | return; 37 | } 38 | 39 | _globalCallbacks[keys] = true; 40 | }; 41 | 42 | Mousetrap.init(); 43 | }) (Mousetrap); 44 | -------------------------------------------------------------------------------- /plugins/mousetrap/plugins/global-bind/mousetrap-global-bind.min.js: -------------------------------------------------------------------------------- 1 | (function(a){var c={},d=a.prototype.stopCallback;a.prototype.stopCallback=function(e,b,a,f){return this.paused?!0:c[a]||c[f]?!1:d.call(this,e,b,a)};a.prototype.bindGlobal=function(a,b,d){this.bind(a,b,d);if(a instanceof Array)for(b=0;bRecord 7 | 8 | 16 | ``` 17 | -------------------------------------------------------------------------------- /plugins/mousetrap/plugins/record/mousetrap-record.min.js: -------------------------------------------------------------------------------- 1 | (function(d){function n(b,a,h){if(this.recording)if("keydown"==h.type){1===b.length&&g&&k();for(i=0;ib?1:-1}),b[a]= 2 | b[a].join("+")}function q(){f&&(r(e),f(e));e=[];f=null;c=[]}var e=[],f=null,c=[],g=!1,m=null,p=d.prototype.handleKey;d.prototype.record=function(b){var a=this;a.recording=!0;f=function(){a.recording=!1;b.apply(a,arguments)}};d.prototype.handleKey=function(){n.apply(this,arguments)};d.init()})(Mousetrap); 3 | -------------------------------------------------------------------------------- /plugins/mousetrap/plugins/record/tests/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Jelly 6 | 7 | 8 | 9 | 10 | 11 |

Jelly

12 | 13 |

For testing the record extension

14 | 15 |

Click "Record" to test recording a sequence.

16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /plugins/mousetrap/plugins/record/tests/jelly.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: helvetica, arial, sans-serif; 3 | line-height: 20px; 4 | } 5 | 6 | kbd { 7 | background-color: #ccc; 8 | display: inline-block; 9 | padding: 0.5ex 1em; 10 | } 11 | 12 | .test-record-result { 13 | margin-top: 20px; 14 | } 15 | 16 | .test-record-result span:nth-child(n+2) { 17 | margin-left: 10px; 18 | } 19 | -------------------------------------------------------------------------------- /plugins/mousetrap/tests/mousetrap.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Mousetrap Tests 5 | 6 | 7 | 8 | 9 |
10 | 11 |
12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 34 | 35 | -------------------------------------------------------------------------------- /plugins/sortable/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = tab 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /plugins/sortable/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | mock.png 3 | .*.sw* 4 | .build* 5 | jquery.fn.* 6 | -------------------------------------------------------------------------------- /plugins/sortable/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "strict": true, 3 | "newcap": false, 4 | "node": true, 5 | "expr": true, 6 | "supernew": true, 7 | "laxbreak": true, 8 | "white": true, 9 | "globals": { 10 | "define": true, 11 | "test": true, 12 | "expect": true, 13 | "module": true, 14 | "asyncTest": true, 15 | "start": true, 16 | "ok": true, 17 | "equal": true, 18 | "notEqual": true, 19 | "deepEqual": true, 20 | "window": true, 21 | "document": true, 22 | "performance": true 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /plugins/sortable/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | ### Issue 4 | 5 | 1. Try [dev](https://github.com/RubaXa/Sortable/tree/dev/)-branch, perhaps the problem has been solved; 6 | 2. [Use the search](https://github.com/RubaXa/Sortable/search?q=problem), maybe already have an answer; 7 | 3. If not found, create example on [jsbin.com (draft)](http://jsbin.com/zunibaxada/1/edit?html,js,output) and describe the problem. 8 | 9 | --- 10 | 11 | ### Pull Request 12 | 13 | 1. Before PR run `grunt`; 14 | 2. Only into [dev](https://github.com/RubaXa/Sortable/tree/dev/)-branch. 15 | 16 | ### Setup 17 | 18 | Pieced together from [gruntjs](http://gruntjs.com/getting-started) 19 | 20 | 1. Fork repo on [github](https://github.com) 21 | 2. Clone locally 22 | 3. from local repro ```npm install``` 23 | 4. Install grunt-cli globally ```sudo -H npm install -g grunt-cli``` 24 | -------------------------------------------------------------------------------- /plugins/sortable/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sortable", 3 | "main": [ 4 | "Sortable.js", 5 | "ng-sortable.js", 6 | "knockout-sortable.js", 7 | "react-sortable-mixin.js" 8 | ], 9 | "homepage": "http://rubaxa.github.io/Sortable/", 10 | "authors": [ 11 | "RubaXa " 12 | ], 13 | "description": "Minimalist library for reorderable drag-and-drop lists on modern browsers and touch devices. No jQuery.", 14 | "keywords": [ 15 | "sortable", 16 | "reorder", 17 | "list", 18 | "html5", 19 | "drag", 20 | "and", 21 | "drop", 22 | "dnd", 23 | "web-components" 24 | ], 25 | "license": "MIT", 26 | "ignore": [ 27 | "node_modules", 28 | "bower_components", 29 | "test", 30 | "tests" 31 | ], 32 | "dependencies": { 33 | "polymer": "Polymer/polymer#~1.1.4", 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /plugins/sortable/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sortable", 3 | "main": "Sortable.js", 4 | "version": "1.3.0", 5 | "homepage": "http://rubaxa.github.io/Sortable/", 6 | "repo": "RubaXa/Sortable", 7 | "authors": [ 8 | "RubaXa " 9 | ], 10 | "description": "Minimalist library for reorderable drag-and-drop lists on modern browsers and touch devices. No jQuery.", 11 | "keywords": [ 12 | "sortable", 13 | "reorder", 14 | "list", 15 | "html5", 16 | "drag", 17 | "and", 18 | "drop", 19 | "dnd" 20 | ], 21 | "license": "MIT", 22 | "ignore": [ 23 | "node_modules", 24 | "bower_components", 25 | "test", 26 | "tests" 27 | ], 28 | 29 | "scripts": [ 30 | "Sortable.js" 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/.versions: -------------------------------------------------------------------------------- 1 | base64@1.0.3 2 | binary-heap@1.0.3 3 | blaze@2.1.2 4 | blaze-tools@1.0.3 5 | callback-hook@1.0.3 6 | check@1.0.5 7 | dburles:mongo-collection-instances@0.3.4 8 | ddp@1.1.0 9 | deps@1.0.7 10 | ejson@1.0.6 11 | geojson-utils@1.0.3 12 | html-tools@1.0.4 13 | htmljs@1.0.4 14 | id-map@1.0.3 15 | jquery@1.11.3_2 16 | json@1.0.3 17 | lai:collection-extensions@0.1.4 18 | local-test:rubaxa:sortable@1.2.1 19 | logging@1.0.7 20 | meteor@1.1.6 21 | minifiers@1.1.5 22 | minimongo@1.0.8 23 | mongo@1.1.0 24 | observe-sequence@1.0.6 25 | ordered-dict@1.0.3 26 | random@1.0.3 27 | reactive-var@1.0.5 28 | retry@1.0.3 29 | rubaxa:sortable@1.2.1 30 | spacebars-compiler@1.0.6 31 | templating@1.1.1 32 | tinytest@1.0.5 33 | tracker@1.0.7 34 | underscore@1.0.3 35 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/example/.meteor/.finished-upgraders: -------------------------------------------------------------------------------- 1 | # This file contains information which helps Meteor properly upgrade your 2 | # app when you run 'meteor update'. You should check it into version control 3 | # with your project. 4 | 5 | notices-for-0.9.0 6 | notices-for-0.9.1 7 | 0.9.4-platform-file 8 | notices-for-facebook-graph-api-2 9 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/example/.meteor/.gitignore: -------------------------------------------------------------------------------- 1 | local 2 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/example/.meteor/.id: -------------------------------------------------------------------------------- 1 | # This file contains a token that is unique to your project. 2 | # Check it into your repository along with the rest of this directory. 3 | # It can be used for purposes such as: 4 | # - ensuring you don't accidentally deploy one app on top of another 5 | # - providing package authors with aggregated statistics 6 | 7 | ir0jg2douy3yo5mehw 8 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/example/.meteor/packages: -------------------------------------------------------------------------------- 1 | # Meteor packages used by this project, one per line. 2 | # 3 | # 'meteor add' and 'meteor remove' will edit this file for you, 4 | # but you can also edit it by hand. 5 | 6 | meteor-platform 7 | autopublish 8 | insecure 9 | rubaxa:sortable 10 | fezvrasta:bootstrap-material-design 11 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/example/.meteor/platforms: -------------------------------------------------------------------------------- 1 | browser 2 | server 3 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/example/.meteor/release: -------------------------------------------------------------------------------- 1 | METEOR@1.1.0.3 2 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/example/.meteor/versions: -------------------------------------------------------------------------------- 1 | autopublish@1.0.3 2 | autoupdate@1.2.1 3 | base64@1.0.3 4 | binary-heap@1.0.3 5 | blaze@2.1.2 6 | blaze-tools@1.0.3 7 | boilerplate-generator@1.0.3 8 | callback-hook@1.0.3 9 | check@1.0.5 10 | dburles:mongo-collection-instances@0.3.4 11 | ddp@1.1.0 12 | deps@1.0.7 13 | ejson@1.0.6 14 | fastclick@1.0.3 15 | fezvrasta:bootstrap-material-design@0.3.0 16 | geojson-utils@1.0.3 17 | html-tools@1.0.4 18 | htmljs@1.0.4 19 | http@1.1.0 20 | id-map@1.0.3 21 | insecure@1.0.3 22 | jquery@1.11.3_2 23 | json@1.0.3 24 | lai:collection-extensions@0.1.4 25 | launch-screen@1.0.2 26 | livedata@1.0.13 27 | logging@1.0.7 28 | meteor@1.1.6 29 | meteor-platform@1.2.2 30 | minifiers@1.1.5 31 | minimongo@1.0.8 32 | mobile-status-bar@1.0.3 33 | mongo@1.1.0 34 | observe-sequence@1.0.6 35 | ordered-dict@1.0.3 36 | random@1.0.3 37 | reactive-dict@1.1.0 38 | reactive-var@1.0.5 39 | reload@1.1.3 40 | retry@1.0.3 41 | routepolicy@1.0.5 42 | rubaxa:sortable@1.2.1 43 | session@1.1.0 44 | spacebars@1.0.6 45 | spacebars-compiler@1.0.6 46 | templating@1.1.1 47 | tracker@1.0.7 48 | twbs:bootstrap@3.3.5 49 | ui@1.0.6 50 | underscore@1.0.3 51 | url@1.0.4 52 | webapp@1.2.0 53 | webapp-hashing@1.0.3 54 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/example/client/define-object-type.css: -------------------------------------------------------------------------------- 1 | .glyphicon { 2 | vertical-align: baseline; 3 | font-size: 80%; 4 | margin-right: 0.5em; 5 | } 6 | 7 | [class^="mdi-"], [class*=" mdi-"] { 8 | vertical-align: baseline; 9 | font-size: 90%; 10 | margin-right: 0.4em; 11 | } 12 | 13 | .list-pair { 14 | display: flex; /* use the flexbox model */ 15 | flex-direction: row; 16 | } 17 | .sortable { 18 | /* font-size: 2em;*/ 19 | } 20 | 21 | .sortable.source { 22 | /*background: #9FA8DA;*/ 23 | flex: 0 0 auto; 24 | margin-right: 1em; 25 | cursor: move; 26 | cursor: -webkit-grabbing; 27 | } 28 | 29 | .sortable.target { 30 | /*background: #3F51B5;*/ 31 | flex: 1 1 auto; 32 | margin-left: 1em; 33 | } 34 | 35 | .target .well { 36 | 37 | } 38 | 39 | .sortable-handle { 40 | cursor: move; 41 | cursor: -webkit-grabbing; 42 | } 43 | .sortable-handle.pull-right { 44 | margin-top: 0.3em; 45 | } 46 | 47 | .sortable-ghost { 48 | opacity: 0.6; 49 | } 50 | 51 | /* show the remove button on hover */ 52 | .removable .close { 53 | display: none; 54 | } 55 | .removable:hover .close { 56 | display: block; 57 | } 58 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/example/model.js: -------------------------------------------------------------------------------- 1 | Types = new Mongo.Collection('types'); 2 | Attributes = new Mongo.Collection('attributes'); 3 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/example/run.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | REM Sanity check: make sure we're in the directory of the script 3 | set DIR=%~dp0 4 | cd %DIR% 5 | 6 | set PACKAGE_DIRS=..\..\ 7 | meteor run %* 8 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/example/run.sh: -------------------------------------------------------------------------------- 1 | # sanity check: make sure we're in the root directory of the example 2 | cd "$( dirname "$0" )" 3 | 4 | # let Meteor find the local package 5 | PACKAGE_DIRS=../../ meteor run "$@" 6 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/example/server/sortable-collections.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Sortable.collections = ['attributes']; 4 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/methods-client.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Meteor.methods({ 4 | /** 5 | * Update the sortField of documents with given ids in a collection, incrementing it by incDec 6 | * @param {String} collectionName - name of the collection to update 7 | * @param {String[]} ids - array of document ids 8 | * @param {String} orderField - the name of the order field, usually "order" 9 | * @param {Number} incDec - pass 1 or -1 10 | */ 11 | 'rubaxa:sortable/collection-update': function (collectionName, ids, sortField, incDec) { 12 | var selector = {_id: {$in: ids}}, modifier = {$inc: {}}; 13 | modifier.$inc[sortField] = incDec; 14 | Mongo.Collection.get(collectionName).update(selector, modifier, {multi: true}); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/methods-server.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Sortable = {}; 4 | Sortable.collections = []; // array of collection names that the client is allowed to reorder 5 | 6 | Meteor.methods({ 7 | /** 8 | * Update the sortField of documents with given ids in a collection, incrementing it by incDec 9 | * @param {String} collectionName - name of the collection to update 10 | * @param {String[]} ids - array of document ids 11 | * @param {String} orderField - the name of the order field, usually "order" 12 | * @param {Number} incDec - pass 1 or -1 13 | */ 14 | 'rubaxa:sortable/collection-update': function (collectionName, ids, sortField, incDec) { 15 | check(collectionName, String); 16 | // don't allow the client to modify just any collection 17 | if (!Sortable || !Array.isArray(Sortable.collections)) { 18 | throw new Meteor.Error(500, 'Please define Sortable.collections'); 19 | } 20 | if (Sortable.collections.indexOf(collectionName) === -1) { 21 | throw new Meteor.Error(403, 'Collection <' + collectionName + '> is not Sortable. Please add it to Sortable.collections in server code.'); 22 | } 23 | 24 | check(ids, [String]); 25 | check(sortField, String); 26 | check(incDec, Number); 27 | var selector = {_id: {$in: ids}}, modifier = {$inc: {}}; 28 | modifier.$inc[sortField] = incDec; 29 | Mongo.Collection.get(collectionName).update(selector, modifier, {multi: true}); 30 | } 31 | }); 32 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/publish.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Publish package to Meteor's repository, Atmospherejs.com 3 | 4 | # Make sure Meteor is installed, per https://www.meteor.com/install. 5 | # The curl'ed script is totally safe; takes 2 minutes to read its source and check. 6 | type meteor >/dev/null 2>&1 || { curl https://install.meteor.com/ | sh; } 7 | 8 | # sanity check: make sure we're in the directory of the script 9 | cd "$( dirname "$0" )" 10 | 11 | # publish package, creating it if it's the first time we're publishing 12 | PACKAGE_NAME=$(grep -i name package.js | head -1 | cut -d "'" -f 2) 13 | 14 | echo "Publishing $PACKAGE_NAME..." 15 | 16 | # Attempt to re-publish the package - the most common operation once the initial release has 17 | # been made. If the package name was changed (rare), you'll have to pass the --create flag. 18 | meteor publish "$@"; EXIT_CODE=$? 19 | if (( $EXIT_CODE == 0 )); then 20 | echo "Thanks for releasing a new version. You can see it at" 21 | echo "https://atmospherejs.com/${PACKAGE_NAME/://}" 22 | else 23 | echo "We have an error. Please post it at https://github.com/RubaXa/Sortable/issues" 24 | fi 25 | 26 | exit $EXIT_CODE 27 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/runtests.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | REM Test Meteor package before publishing to Atmospherejs.com 3 | 4 | REM Sanity check: make sure we're in the directory of the script 5 | set DIR=%~dp0 6 | cd %DIR% 7 | 8 | meteor test-packages ./ %* 9 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/runtests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Test Meteor package before publishing to Atmospherejs.com 3 | 4 | # Make sure Meteor is installed, per https://www.meteor.com/install. 5 | # The curl'ed script is totally safe; takes 2 minutes to read its source and check. 6 | type meteor >/dev/null 2>&1 || { curl https://install.meteor.com/ | sh; } 7 | 8 | # sanity check: make sure we're in the directory of the script 9 | cd "$( dirname "$0" )" 10 | 11 | 12 | # delete the temporary files even if Ctrl+C is pressed 13 | int_trap() { 14 | printf "\nTests interrupted. Cleaning up...\n\n" 15 | } 16 | trap int_trap INT 17 | 18 | 19 | EXIT_CODE=0 20 | 21 | PACKAGE_NAME=$(grep -i name package.js | head -1 | cut -d "'" -f 2) 22 | 23 | echo "### Testing $PACKAGE_NAME..." 24 | 25 | # provide an invalid MONGO_URL so Meteor doesn't bog us down with an empty Mongo database 26 | if [ $# -gt 0 ]; then 27 | # interpret any parameter to mean we want an interactive test 28 | MONGO_URL=mongodb:// meteor test-packages ./ 29 | else 30 | # automated/CI test with phantomjs 31 | ./node_modules/.bin/spacejam --mongo-url mongodb:// test-packages ./ 32 | EXIT_CODE=$(( $EXIT_CODE + $? )) 33 | fi 34 | 35 | exit $EXIT_CODE 36 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/template.html: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /plugins/sortable/meteor/test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Tinytest.add('Sortable.is', function (test) { 4 | var items = document.createElement('ul'); 5 | items.innerHTML = '
  • item 1
  • item 2
  • item 3
  • '; 6 | var sortable = new Sortable(items); 7 | test.instanceOf(sortable, Sortable, 'Instantiation OK'); 8 | test.length(sortable.toArray(), 3, 'Three elements'); 9 | }); 10 | -------------------------------------------------------------------------------- /plugins/sortable/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sortablejs", 3 | "exportName": "Sortable", 4 | "version": "1.4.0", 5 | "devDependencies": { 6 | "grunt": "*", 7 | "grunt-version": "*", 8 | "grunt-exec": "*", 9 | "grunt-contrib-jshint": "0.9.2", 10 | "grunt-contrib-uglify": "*", 11 | "spacejam": "*" 12 | }, 13 | "description": "Minimalist JavaScript library for reorderable drag-and-drop lists on modern browsers and touch devices. No jQuery. Supports AngularJS and any CSS library, e.g. Bootstrap.", 14 | "main": "Sortable.js", 15 | "scripts": { 16 | "test": "grunt" 17 | }, 18 | "repository": { 19 | "type": "git", 20 | "url": "git://github.com/rubaxa/Sortable.git" 21 | }, 22 | "keywords": [ 23 | "sortable", 24 | "reorder", 25 | "drag", 26 | "meteor", 27 | "angular", 28 | "ng-sortable", 29 | "react", 30 | "mixin" 31 | ], 32 | "author": "Konstantin Lebedev ", 33 | "license": "MIT", 34 | "spm": { 35 | "main": "Sortable.js", 36 | "ignore": [ 37 | "meteor", 38 | "st" 39 | ] 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /plugins/sortable/st/face-01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/sortable/st/face-01.jpg -------------------------------------------------------------------------------- /plugins/sortable/st/face-02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/sortable/st/face-02.jpg -------------------------------------------------------------------------------- /plugins/sortable/st/face-03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/sortable/st/face-03.jpg -------------------------------------------------------------------------------- /plugins/sortable/st/face-04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/sortable/st/face-04.jpg -------------------------------------------------------------------------------- /plugins/sortable/st/face-05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/sortable/st/face-05.jpg -------------------------------------------------------------------------------- /plugins/sortable/st/face-06.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/sortable/st/face-06.jpg -------------------------------------------------------------------------------- /plugins/sortable/st/face-07.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/sortable/st/face-07.jpg -------------------------------------------------------------------------------- /plugins/sortable/st/face-08.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/sortable/st/face-08.jpg -------------------------------------------------------------------------------- /plugins/sortable/st/face-09.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/sortable/st/face-09.jpg -------------------------------------------------------------------------------- /plugins/sortable/st/iframe/frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
    14 |
    15 | 14 16 | 17 | Drag me by the handle 18 |
    19 |
    20 | 2 21 | 22 | You can also select text 23 |
    24 |
    25 | 1 26 | 27 | Best of both worlds! 28 |
    29 |
    30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /plugins/sortable/st/iframe/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IFrame playground 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
    20 |
    This is Sortable
    21 |
    It works with Bootstrap...
    22 |
    ...out of the box.
    23 |
    It has support for touch devices.
    24 |
    Just drag some elements around.
    25 |
    26 | 27 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /plugins/sortable/st/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/sortable/st/logo.png -------------------------------------------------------------------------------- /plugins/sortable/st/og-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaijunit/bookeditor/0e8c2ad6e557aba84d66ca6633564b7f6f7bf8f1/plugins/sortable/st/og-image.png --------------------------------------------------------------------------------