4
<title>CodeMirror: Compression Helper</title>
5
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Droid+Sans|Droid+Sans:bold"/>
6
<link rel="stylesheet" type="text/css" href="docs.css"/>
7
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
11
<h1><span class="logo-braces">{ }</span> <a href="http://codemirror.net/">CodeMirror</a></h1>
14
<img src="baboon.png" class="logo" alt="logo"/>/* Script compression
18
<p>To optimize loading CodeMirror, especially when including a
19
bunch of different modes, it is recommended that you combine and
20
minify (and preferably also gzip) the scripts. This page makes
21
those first two steps very easy. Simply select the version and
22
scripts you need in the form below, and
23
click <strong>Compress</strong> to download the minified script
26
<form id="form" action="http://marijnhaverbeke.nl/uglifyjs" method="post">
27
<input type="hidden" id="download" name="download" value="codemirror-compressed.js"/>
28
<p>Version: <select id="version" onchange="setVersion(this);" style="padding: 1px">
29
<option value="http://codemirror.net/">HEAD</option>
30
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=v2.23;f=">2.23</option>
31
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=v2.22;f=">2.22</option>
32
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=v2.21;f=">2.21</option>
33
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=v2.2;f=">2.2</option>
34
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=v2.18;f=">2.18</option>
35
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=v2.16;f=">2.16</option>
36
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=v2.15;f=">2.15</option>
37
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=v2.13;f=">2.13</option>
38
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=v2.12;f=">2.12</option>
39
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=v2.11;f=">2.11</option>
40
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=v2.1;f=">2.1</option>
41
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=v2.02;f=">2.02</option>
42
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=v2.01;f=">2.01</option>
43
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=v2.0;f=">2.0</option>
44
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=beta2;f=">beta2</option>
45
<option value="http://marijnhaverbeke.nl/git/codemirror2?a=blob_plain;hb=beta1;f=">beta1</option>
48
<select multiple="multiple" size="20" name="code_url" style="width: 40em;" class="field" id="files">
49
<optgroup label="CodeMirror Library">
50
<option value="http://codemirror.net/lib/codemirror.js" selected>codemirror.js</option>
52
<optgroup label="Modes">
53
<option value="http://codemirror.net/mode/clike/clike.js">clike.js</option>
54
<option value="http://codemirror.net/mode/clojure/clojure.js">clojure.js</option>
55
<option value="http://codemirror.net/mode/coffeescript/coffeescript.js">coffeescript.js</option>
56
<option value="http://codemirror.net/mode/css/css.js">css.js</option>
57
<option value="http://codemirror.net/mode/diff/diff.js">diff.js</option>
58
<option value="http://codemirror.net/mode/ecl/ecl.js">ecl.js</option>
59
<option value="http://codemirror.net/mode/gfm/gfm.js">gfm.js</option>
60
<option value="http://codemirror.net/mode/go/go.js">go.js</option>
61
<option value="http://codemirror.net/mode/groovy/groovy.js">groovy.js</option>
62
<option value="http://codemirror.net/mode/haskell/haskell.js">haskell.js</option>
63
<option value="http://codemirror.net/mode/htmlembedded/htmlembedded.js">htmlembedded.js</option>
64
<option value="http://codemirror.net/mode/htmlmixed/htmlmixed.js">htmlmixed.js</option>
65
<option value="http://codemirror.net/mode/javascript/javascript.js">javascript.js</option>
66
<option value="http://codemirror.net/mode/jinja2/jinja2.js">jinja2.js</option>
67
<option value="http://codemirror.net/mode/less/less.js">less.js</option>
68
<option value="http://codemirror.net/mode/lua/lua.js">lua.js</option>
69
<option value="http://codemirror.net/mode/markdown/markdown.js">markdown.js</option>
70
<option value="http://codemirror.net/mode/mysql/mysql.js">mysql.js</option>
71
<option value="http://codemirror.net/mode/ntriples/ntriples.js">ntriples.js</option>
72
<option value="http://codemirror.net/mode/pascal/pascal.js">pascal.js</option>
73
<option value="http://codemirror.net/mode/perl/perl.js">perl.js</option>
74
<option value="http://codemirror.net/mode/php/php.js">php.js</option>
75
<option value="http://codemirror.net/mode/plsql/plsql.js">plsql.js</option>
76
<option value="http://codemirror.net/mode/properties/properties.js">properties.js</option>
77
<option value="http://codemirror.net/mode/python/python.js">python.js</option>
78
<option value="http://codemirror.net/mode/r/r.js">r.js</option>
79
<option value="http://codemirror.net/mode/rpm/changes/changes.js">rpm/changes.js</option>
80
<option value="http://codemirror.net/mode/rpm/spec/spec.js">rpm/spec.js</option>
81
<option value="http://codemirror.net/mode/rst/rst.js">rst.js</option>
82
<option value="http://codemirror.net/mode/ruby/ruby.js">ruby.js</option>
83
<option value="http://codemirror.net/mode/rust/rust.js">rust.js</option>
84
<option value="http://codemirror.net/mode/scheme/scheme.js">scheme.js</option>
85
<option value="http://codemirror.net/mode/smalltalk/smalltalk.js">smalltalk.js</option>
86
<option value="http://codemirror.net/mode/smarty/smarty.js">smarty.js</option>
87
<option value="http://codemirror.net/mode/sparql/sparql.js">sparql.js</option>
88
<option value="http://codemirror.net/mode/stex/stex.js">stex.js</option>
89
<option value="http://codemirror.net/mode/tiddlywiki/tiddlywiki.js">tiddlywiki.js</option>
90
<option value="http://codemirror.net/mode/vbscript/vbscript.js">vbscript.js</option>
91
<option value="http://codemirror.net/mode/velocity/velocity.js">velocity.js</option>
92
<option value="http://codemirror.net/mode/verilog/verilog.js">verilog.js</option>
93
<option value="http://codemirror.net/mode/xml/xml.js">xml.js</option>
94
<option value="http://codemirror.net/mode/xmlpure/xmlpure.js">xmlpure.js</option>
95
<option value="http://codemirror.net/mode/xquery/xquery.js">xquery.js</option>
96
<option value="http://codemirror.net/mode/yaml/yaml.js">yaml.js</option>
98
<optgroup label="Utilities and add-ons">
99
<option value="http://codemirror.net/lib/util/overlay.js">overlay.js</option>
100
<option value="http://codemirror.net/lib/util/runmode.js">runmode.js</option>
101
<option value="http://codemirror.net/lib/util/simple-hint.js">simple-hint.js</option>
102
<option value="http://codemirror.net/lib/util/javascript-hint.js">javascript-hint.js</option>
103
<option value="http://codemirror.net/lib/util/foldcode.js">foldcode.js</option>
104
<option value="http://codemirror.net/lib/util/dialog.js">dialog.js</option>
105
<option value="http://codemirror.net/lib/util/search.js">search.js</option>
106
<option value="http://codemirror.net/lib/util/searchcursor.js">searchcursor.js</option>
107
<option value="http://codemirror.net/lib/util/formatting.js">formatting.js</option>
108
<option value="http://codemirror.net/lib/util/match-highlighter.js">match-highlighter.js</option>
109
<option value="http://codemirror.net/lib/util/closetag.js">closetag.js</option>
111
<optgroup label="Keymaps">
112
<option value="http://codemirror.net/keymap/emacs.js">emacs.js</option>
113
<option value="http://codemirror.net/keymap/vim.js">vim.js</option>
118
<button type="submit">Compress</button> with <a href="http://github.com/mishoo/UglifyJS/">UglifyJS</a>
121
<p>Custom code to add to the compressed file:<textarea name="js_code" style="width: 100%; height: 15em;" class="field"></textarea></p>
124
<script type="text/javascript">
125
function setVersion(ver) {
126
var urlprefix = ver.options[ver.selectedIndex].value;
127
var select = document.getElementById("files"), m;
128
for (var optgr = select.firstChild; optgr; optgr = optgr.nextSibling)
129
for (var opt = optgr.firstChild; opt; opt = opt.nextSibling) {
130
if (opt.nodeName != "OPTION")
132
else if (m = opt.value.match(/^http:\/\/codemirror.net\/(.*)$/))
133
opt.value = urlprefix + m[1];
134
else if (m = opt.value.match(/http:\/\/marijnhaverbeke.nl\/git\/codemirror2\?a=blob_plain;hb=[^;]+;f=(.*)$/))
135
opt.value = urlprefix + m[1];