').css({
- "animation-delay": (15 * t / 10).toPrecision(3) + "s",
- "-webkit-animation-delay": (15 * t / 10).toPrecision(3) + "s"
+ "animation-delay": (15 * t / 100).toPrecision(3) + "s",
+ "-webkit-animation-delay": (15 * t / 100).toPrecision(3) + "s"
}));
}, r;
}), function(e) {
@@ -20763,28 +20763,32 @@ function() {
};
var l, c, u, d, h, p = [], f = [], g = t.debounce(function() {
function n(e) {
- var t = 0;
- void 0 !== e && (c.text(e), t += c.prop("scrollHeight"));
- var n = o + t;
+ var t = m;
+ if (void 0 !== e) {
+ var n = document.createTextNode(e);
+ c.empty().append(n), t += c.prop("scrollHeight");
+ }
+ var i = o + t;
p.push({
startOffset: o,
- endOffset: n,
+ endOffset: i,
height: t
- }), o = n;
+ }), o = i;
}
p = [];
- var i = 0, o = 0, g = a;
+ var i = 0, o = 0, g = a, m = 0;
if (window.lightMode) {
c.innerWidth(l.innerWidth()), t.each(s, function(e, t) {
var i = e.text;
- t !== s.length - 1 && 0 === i.length && (i = void 0), n(i);
+ t !== s.length - 1 ? 0 === i.length && (i = void 0) : /\n$/.test(i) && (i += "\n"),
+ n(i);
});
- var m = t.last(p).endOffset, v = l[0].scrollHeight, b = v / m;
+ var v = t.last(p).endOffset, b = l[0].scrollHeight, y = b / v;
p = t.map(p, function(e) {
return {
- startOffset: e.startOffset * b,
- endOffset: e.endOffset * b,
- height: e.height * b
+ startOffset: e.startOffset * y,
+ endOffset: e.endOffset * y,
+ height: e.height * y
};
});
} else t.each(s, function(e) {
@@ -20797,21 +20801,21 @@ function() {
}), o = s;
});
f = [];
- var y, w = u.scrollTop();
+ var w, C = u.scrollTop();
u.find(".preview-content > .se-section-delimiter").each(function() {
- if (void 0 === y) return y = 0, void 0;
- var t = e(this), n = t.position().top + w;
+ if (void 0 === w) return w = 0, void 0;
+ var t = e(this), n = t.position().top + C;
f.push({
- startOffset: y,
+ startOffset: w,
endOffset: n,
- height: n - y
- }), y = n;
+ height: n - w
+ }), w = n;
});
- var C = u.prop("scrollHeight");
+ var k = u.prop("scrollHeight");
f.push({
- startOffset: y,
- endOffset: C,
- height: C - y
+ startOffset: w,
+ endOffset: k,
+ height: k - w
}), d = -10, h = -10, x();
}, 500), m = !1, v = !1, b = !1, y = !1, w = e("
"), x = t.throttle(function() {
function e(e, n, i) {
@@ -22635,7 +22639,7 @@ function() {
});
}, r;
}), define("text!html/bodyIndex.html", [], function() {
- return '
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n
\n\n\n
\n
\n
\n\n \n
\n
\n
\n
\n
The following documents will be\n deleted locally:
\n
Please choose a destination\n folder:
\n
\n
\n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
Please provide the link URL and an optional title:
\n
\n \n
\n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
Please provide the image URL and an optional title:
\n
\n \n
\n
\n \n
\n
\n
\n\n\n
\n\n\n
\n
\n
\n\n \n
\n
\n Are you sure you want to delete " "?\n
\n
\n NOTE: This will not delete the file on synchronized\n locations.\n \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
Please provide a link to a Markdown document.
\n
\n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
Please select your Markdown files here:
\n
\n \n
\n
Or drag and drop your Markdown files here:
\n
Drop\n files here
\n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
Please select your HTML files here:
\n
\n \n
\n
Or drag and drop your HTML files here:
\n
Drop\n files here
\n
Or insert your HTML code here:
\n
\n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n This will save " " to your \n Google Drive
\n account and keep it synchronized.\n
\n
\n
Options...
\n
\n Tip: You can move or rename the file afterwards within Google\n Drive.\n \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n This will save " " to your \n Dropbox
\n account and keep it synchronized.\n
\n
\n
\n NOTE: \n \n Dropbox file path does not depend on document title. \n The title of your document will not be synchronized. \n Destination folder must exist. \n Any existing file at this location will be overwritten. \n \n \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n " " is synchronized with the\n following location(s):\n
\n
\n
\n NOTE: Removing a synchronized location will not delete any\n file.\n \n
" " is not synchronized yet.
\n
\n Tip: You can add synchronized locations by\n exporting your document using \n Google Drive
\n or \n Dropbox
\n sub-menu.\n \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n
\n Tip: You can use a\n YAML front matter to specify the title and the tags/labels of your publication.
\n Interpreted variables: title, tags
\n \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n " " is published on the following\n location(s):\n
\n
\n
\n NOTE: Removing a publish location will not delete the actual publication.\n \n
\n " " is not published yet.\n
\n
\n Tip: You can add publications using the Publish on
sub-menu.\n \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n " " can be shared using the following link(s):\n
\n
\n
To share this document within StackEdit you need first to publish it as a Gist in\n Markdown format.\n
\n
\n Tip: You can open any URL within StackEdit using viewer#!url=
.\n \n
\n \n
\n
\n
\n\n\n
\n\n\n
\n
\n
\n\n \n
\n
StackEdit has stopped because another instance was running in\n the same browser.
\n
If you want to reopen StackEdit, click on\n "Reload". \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n
Please click OK to proceed. \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
This will delete all your local documents.
\n
Are you sure? \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
This will delete all existing local documents.
\n
Are you sure? \n
\n \n
\n
\n
\n\n\n
\n
\n
';
+ return '
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n
\n\n\n
\n
\n
\n\n \n
\n
\n
\n
\n
The following documents will be\n deleted locally:
\n
Please choose a destination\n folder:
\n
\n
\n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
Please provide the link URL and an optional title:
\n
\n \n
\n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
Please provide the image URL and an optional title:
\n
\n \n
\n
\n \n
\n
\n
\n\n\n
\n\n\n
\n
\n
\n\n \n
\n
\n Are you sure you want to delete " "?\n
\n
\n NOTE: This will not delete the file on synchronized\n locations.\n \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
Please provide a link to a Markdown document.
\n
\n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
Please select your Markdown files here:
\n
\n \n
\n
Or drag and drop your Markdown files here:
\n
Drop\n files here
\n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
Please select your HTML files here:
\n
\n \n
\n
Or drag and drop your HTML files here:
\n
Drop\n files here
\n
Or insert your HTML code here:
\n
\n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n This will save " " to your \n Google Drive
\n account and keep it synchronized.\n
\n
\n
Options...
\n
\n Tip: You can move or rename the file afterwards within Google\n Drive.\n \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n This will save " " to your \n Dropbox
\n account and keep it synchronized.\n
\n
\n
\n NOTE: \n \n Dropbox file path does not depend on document title. \n The title of your document will not be synchronized. \n Destination folder must exist. \n Any existing file at this location will be overwritten. \n \n \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n " " is synchronized with the\n following location(s):\n
\n
\n
\n NOTE: Removing a synchronized location will not delete any\n file.\n \n
" " is not synchronized yet.
\n
\n Tip: You can add synchronized locations by\n exporting your document using \n Google Drive
\n or \n Dropbox
\n sub-menu.\n \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n
\n Tip: You can use a\n YAML front matter to specify the title and the tags/labels of your publication.
\n Interpreted variables: title, tags
\n \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n " " is published on the following\n location(s):\n
\n
\n
\n NOTE: Removing a publish location will not delete the actual publication.\n \n
\n " " is not published yet.\n
\n
\n Tip: You can add publications using the Publish on
sub-menu.\n \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n " " can be shared using the following link(s):\n
\n
\n
To share this document within StackEdit you need first to publish it as a Gist in\n Markdown format.\n
\n
\n Tip: You can open any URL within StackEdit using viewer#!url=
.\n \n
\n \n
\n
\n
\n\n\n
\n\n\n
\n
\n
\n\n \n
\n
StackEdit has stopped because another instance was running in\n the same browser.
\n
If you want to reopen StackEdit, click on\n "Reload". \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n
Please click OK to proceed. \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
This will delete all your local documents.
\n
Are you sure? \n
\n \n
\n
\n
\n\n\n
\n
\n
\n\n \n
\n
This will delete all existing local documents.
\n
Are you sure? \n
\n \n
\n
\n
\n\n\n
\n
\n
';
}), define("text!html/bodyViewer.html", [], function() {
return '\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n\n\n\n
\n\n
\n
\n
\n\n \n
\n
StackEdit has stopped because another instance was running in\n the same browser.
\n
If you want to reopen StackEdit, click on\n "Reload". \n
\n \n
\n
\n
\n';
}), define("text!html/settingsTemplateTooltip.html", [], function() {
@@ -27823,8 +27827,8 @@ function() {
r.setInputRadio("radio-layout-orientation", a.layoutOrientation), r.setInputValue(R, window.theme),
R.change(), r.setInputChecked("#input-settings-lazy-rendering", a.lazyRendering),
r.setInputValue("#input-settings-editor-font-family", a.editorFontFamily), r.setInputValue("#input-settings-editor-font-size", a.editorFontSize),
- r.setInputValue("#input-settings-max-width", a.maxWidth), r.setInputChecked("#input-settings-rtl", "true" == s.rtl),
- r.setInputValue("#textarea-settings-default-content", a.defaultContent), r.setInputValue("#input-settings-publish-commit-msg", a.commitMsg),
+ r.setInputValue("#input-settings-max-width", a.maxWidth), r.setInputValue("#textarea-settings-default-content", a.defaultContent),
+ r.setInputRadio("radio-settings-mode", s.mode || "_ace_"), r.setInputValue("#input-settings-publish-commit-msg", a.commitMsg),
r.setInputChecked("#input-settings-gdrive-full-access", a.gdriveFullAccess), r.setInputValue("#textarea-settings-publish-template", a.template),
r.setInputValue("#textarea-settings-pdf-template", a.pdfTemplate), r.setInputValue("#input-settings-pdf-page-size", a.pdfPageSize),
r.setInputValue("#input-settings-ssh-proxy", a.sshProxy), c.loadSettings(), l.onLoadSettings();
@@ -27835,15 +27839,14 @@ function() {
var i = r.getInputValue(R);
n.lazyRendering = r.getInputChecked("#input-settings-lazy-rendering"), n.editorFontFamily = r.getInputTextValue("#input-settings-editor-font-family", t),
n.editorFontSize = r.getInputIntValue("#input-settings-editor-font-size", t, 1, 99),
- n.maxWidth = r.getInputIntValue("#input-settings-max-width", t, 1);
- var o = r.getInputChecked("#input-settings-rtl");
- n.defaultContent = r.getInputValue("#textarea-settings-default-content"), n.commitMsg = r.getInputTextValue("#input-settings-publish-commit-msg", t),
- n.gdriveFullAccess = r.getInputChecked("#input-settings-gdrive-full-access"), n.template = r.getInputTextValue("#textarea-settings-publish-template", t),
- n.pdfTemplate = r.getInputTextValue("#textarea-settings-pdf-template", t), n.pdfPageSize = r.getInputValue("#input-settings-pdf-page-size"),
- n.sshProxy = r.checkUrl(r.getInputTextValue("#input-settings-ssh-proxy", t), !0),
+ n.maxWidth = r.getInputIntValue("#input-settings-max-width", t, 1), n.defaultContent = r.getInputValue("#textarea-settings-default-content");
+ var o = r.getInputRadio("radio-settings-mode");
+ n.commitMsg = r.getInputTextValue("#input-settings-publish-commit-msg", t), n.gdriveFullAccess = r.getInputChecked("#input-settings-gdrive-full-access"),
+ n.template = r.getInputTextValue("#textarea-settings-publish-template", t), n.pdfTemplate = r.getInputTextValue("#textarea-settings-pdf-template", t),
+ n.pdfPageSize = r.getInputValue("#input-settings-pdf-page-size"), n.sshProxy = r.checkUrl(r.getInputTextValue("#input-settings-ssh-proxy", t), !0),
c.saveSettings(n), n.extensionSettings = {}, l.onSaveSettings(n.extensionSettings, t),
t.isPropagationStopped() || (e.extend(a, n), s.settings = JSON.stringify(a), s.themeV3 = i,
- s.rtl = o);
+ s.mode = o);
}
function C(e) {
e === !0 || N.state.north.isClosed ? (P.hide(), O.hide()) : (P.show(), O.show());
@@ -27947,7 +27950,7 @@ function() {
}
function A() {
if (!window.viewerMode) {
- var e = q.width() - 10;
+ var e = q.width() - 5;
J + Q + et + tt > e ? (V.show().find(".dropdown-menu").append(U), J + Q + et + nt > e ? G.show().find(".dropdown-menu").append(W) : G.hide().after(W)) : (G.hide().after(W),
V.hide().after(U));
}
@@ -27957,7 +27960,7 @@ function() {
T.setOffline = function() {
M = r.currentTime, I === !1 && (I = !0, l.onOfflineChanged(!0));
};
- var R, N, P, O, z, j, H, q, W, U, G, V, K, X, Y, Z, J = 90, Q = 368, et = 603, tt = 215, nt = 44, it = require("ace/undomanager").UndoManager;
+ var R, N, P, O, z, j, H, q, W, U, G, V, K, X, Y, Z, J = 86, Q = 366, et = 571, tt = 203, nt = 42, it = require("ace/undomanager").UndoManager;
T.initEditor = function(n) {
function i() {
var e = X.val();
@@ -27967,7 +27970,7 @@ function() {
void 0 !== Y && l.onFileClosed(Y), Y = n, Z = void 0;
var o = Y.content;
if (void 0 !== j ? (j.setValue(o, -1), j.getSession().setUndoManager(new it())) : X.val(o),
- void 0 !== K) return j && j.selection.setSelectionRange(Y.editorSelectRange), j && j.focus() || X.focus(),
+ void 0 !== K) return j && j.selection.setSelectionRange(Y.editorSelectRange), j ? j.focus() : X.focus(),
K.refreshPreview(), void 0;
var s = e(".preview-container");
if (window.lightMode) X.scroll(function() {
@@ -28046,7 +28049,7 @@ function() {
}, 50)) : P.find(".in").collapse("hide");
}).on("hide.bs.collapse", function(e) {
e.target === P[0] && (at = !1, t.parentNode.removeChild(t), P.removeClass("move-to-front"),
- j && j.focus() || X.focus());
+ j ? j.focus() : X.focus());
}).on("hidden.bs.collapse", function(e) {
e.target === P[0] && P.find(".in").collapse("hide");
}), O = e(".document-panel").collapse({
@@ -28060,7 +28063,7 @@ function() {
}, 50)) : O.find(".in").collapse("hide");
}).on("hide.bs.collapse", function(e) {
e.target === O[0] && (st = !1, n.parentNode.removeChild(n), O.removeClass("move-to-front"),
- j && j.focus() || X.focus());
+ j ? j.focus() : X.focus());
}).on("hidden.bs.collapse", function(e) {
e.target === O[0] && O.find(".in").collapse("hide");
}), window.lightMode && e("#wmd-input").replaceWith(function() {
@@ -28112,7 +28115,7 @@ function() {
t.find(".btn:first").focus(), t.find("button:first").focus(), t.find("input:enabled:visible:first").focus();
}, 50);
}).on("hidden.bs.modal", function() {
- c = !1, j && j.focus() || X.focus(), n(window.theme);
+ c = !1, j ? j.focus() : X.focus(), n(window.theme);
}).keyup(function(t) {
13 != t.which || e(t.target).is("textarea") || e(this).find(".modal-footer a:last").click();
}), e(".collapse-save-as a").click(function() {
@@ -28258,7 +28261,7 @@ function() {
function i() {
s.addClass("hide"), r.removeClass("hide");
var t = e.trim(s.val()), n = d.currentFile;
- t && t != n.title && (n.title = t, a.onTitleChanged(n)), s.val(n.title), h && h.focus() || o.focus();
+ t && t != n.title && (n.title = t, a.onTitleChanged(n)), s.val(n.title), h ? h.focus() : o.focus();
}
var o = e("#wmd-input");
d.selectFile();
@@ -30277,7 +30280,7 @@ try {
throw alert("Your browser is not supported, sorry!"), e;
}
-window.viewerMode = /(^| )viewer($| )/.test(document.body.className), window.lightMode = window.viewerMode || "true" == localStorage.rtl || /(\?|&)light($|&)/.test(location.search) || function(e) {
+window.viewerMode = /(^| )viewer($| )/.test(document.body.className), window.lightMode = window.viewerMode || /_light_/.test(localStorage.mode) || /(\?|&)light($|&)/.test(location.search) || function(e) {
return /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i.test(e) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0, 4)) ? !0 : void 0;
}(navigator.userAgent || navigator.vendor || window.opera), window.theme = localStorage.themeV3 || "default";
@@ -30286,7 +30289,8 @@ var themeModule = "less!themes/" + window.theme;
-1 !== window.baseDir.indexOf("-min") && (themeModule = "css!themes/" + window.theme),
require([ "jquery", "core", "eventMgr", "synchronizer", "publisher", "mediaImporter", "css", themeModule ], function(e, t, n) {
window.noStart || e(function() {
- "true" == localStorage.rtl && e(document.body).addClass("rtl"), t.onReady(), window.applicationCache && window.applicationCache.addEventListener("updateready", function() {
+ /_rtl_/.test(localStorage.mode) && e(document.body).addClass("rtl"), t.onReady(),
+ window.applicationCache && window.applicationCache.addEventListener("updateready", function() {
window.applicationCache.status === window.applicationCache.UPDATEREADY && (window.applicationCache.swapCache(),
n.onMessage("New version available!\nJust refresh the page to upgrade."));
}, !1);
diff --git a/public/res-min/themes/base.css b/public/res-min/themes/base.css
index 58582754..507fa3f5 100644
--- a/public/res-min/themes/base.css
+++ b/public/res-min/themes/base.css
@@ -1167,7 +1167,8 @@ pre .coffeescript .javascript,pre .javascript .xml,pre .tex .formula,pre .xml .j
.icon-code:before{content:'\e844'}
.icon-folder-open:before{content:'\e81e'}
.icon-left-big:before{content:'\e88a'}
-@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg#open_sanslight') format('svg'),url("../font/opensans-light-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg#open_sansregular') format('svg'),url("../font/opensans-regular-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg#open_sansbold') format('svg') url("../font/opensans-bold-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg#open_sanslight_italic') format('svg'),url("../font/opensans-lightitalic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg#open_sansitalic') format('svg'),url("../font/opensans-italic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg#open_sansbold_italic') format('svg'),url("../font/opensans-bolditalic-webfont.woff") format('woff')}.container{margin-bottom:180px}
+@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg#open_sanslight') format('svg'),url("../font/opensans-light-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg#open_sansregular') format('svg'),url("../font/opensans-regular-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg#open_sansbold') format('svg'),url("../font/opensans-bold-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg#open_sanslight_italic') format('svg'),url("../font/opensans-lightitalic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg#open_sansitalic') format('svg'),url("../font/opensans-italic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg#open_sansbold_italic') format('svg'),url("../font/opensans-bolditalic-webfont.woff") format('woff')}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg') format('svg')}}body{-webkit-font-smoothing:antialiased}
+.container{margin-bottom:180px}
a code{color:inherit}
h1{font-size:36px}
h2{font-size:30px}
diff --git a/public/res-min/themes/default.css b/public/res-min/themes/default.css
index 4988cee2..99328186 100644
--- a/public/res-min/themes/default.css
+++ b/public/res-min/themes/default.css
@@ -1182,7 +1182,8 @@ pre .coffeescript .javascript,pre .javascript .xml,pre .tex .formula,pre .xml .j
.icon-code:before{content:'\e844'}
.icon-folder-open:before{content:'\e81e'}
.icon-left-big:before{content:'\e88a'}
-@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg#open_sanslight') format('svg'),url("../font/opensans-light-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg#open_sansregular') format('svg'),url("../font/opensans-regular-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg#open_sansbold') format('svg') url("../font/opensans-bold-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg#open_sanslight_italic') format('svg'),url("../font/opensans-lightitalic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg#open_sansitalic') format('svg'),url("../font/opensans-italic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg#open_sansbold_italic') format('svg'),url("../font/opensans-bolditalic-webfont.woff") format('woff')}.container{margin-bottom:180px}
+@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg#open_sanslight') format('svg'),url("../font/opensans-light-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg#open_sansregular') format('svg'),url("../font/opensans-regular-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg#open_sansbold') format('svg'),url("../font/opensans-bold-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg#open_sanslight_italic') format('svg'),url("../font/opensans-lightitalic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg#open_sansitalic') format('svg'),url("../font/opensans-italic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg#open_sansbold_italic') format('svg'),url("../font/opensans-bolditalic-webfont.woff") format('woff')}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg') format('svg')}}body{-webkit-font-smoothing:antialiased}
+.container{margin-bottom:180px}
a code{color:inherit}
h1{font-size:36px}
h2{font-size:30px}
@@ -1419,9 +1420,9 @@ a.list-group-item:hover,a.list-group-item:focus{color:#036;border-top-color:rgba
.input-group-btn:first-child .btn{margin-right:6px}
.input-group-btn:last-child .btn{margin-left:6px}
.navbar{position:static;padding:0;border:0;border-top:1px solid rgba(0,128,255,0.1);border-radius:0}.navbar .left-space,.navbar .right-space{width:25px;height:38px}
-.navbar .nav{float:left;margin:5px 10px;height:38px}.navbar .nav>li{display:inline-block}
+.navbar .nav{float:left;margin:5px 9px;height:38px}.navbar .nav>li{display:inline-block}
.navbar .nav.pull-right{float:right}.navbar .nav.pull-right>li>.dropdown-menu{right:0;left:auto}.navbar .nav.pull-right>li>.dropdown-menu .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0}
-.navbar .btn{height:38px}
+.navbar .btn{height:38px;padding:8px 10px}
.navbar .btn-group>.btn.disabled *,.navbar .btn-group>.btn.blocked *,.navbar .btn-group>.btn[disabled] *{color:rgba(45,64,83,0.3)}
.navbar .file-title-navbar{display:inline-block;vertical-align:middle;padding:4px 15px;font-size:20px;font-weight:200;max-width:280px;overflow:hidden;white-space:nowrap}
.navbar .input-file-title-container{display:inline-block;vertical-align:middle}.navbar .input-file-title-container .input-file-title{width:220px}
diff --git a/public/res-min/themes/gray.css b/public/res-min/themes/gray.css
index 8d270384..fbabf8c0 100644
--- a/public/res-min/themes/gray.css
+++ b/public/res-min/themes/gray.css
@@ -1182,7 +1182,8 @@ pre .coffeescript .javascript,pre .javascript .xml,pre .tex .formula,pre .xml .j
.icon-code:before{content:'\e844'}
.icon-folder-open:before{content:'\e81e'}
.icon-left-big:before{content:'\e88a'}
-@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg#open_sanslight') format('svg'),url("../font/opensans-light-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg#open_sansregular') format('svg'),url("../font/opensans-regular-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg#open_sansbold') format('svg') url("../font/opensans-bold-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg#open_sanslight_italic') format('svg'),url("../font/opensans-lightitalic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg#open_sansitalic') format('svg'),url("../font/opensans-italic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg#open_sansbold_italic') format('svg'),url("../font/opensans-bolditalic-webfont.woff") format('woff')}.container{margin-bottom:180px}
+@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg#open_sanslight') format('svg'),url("../font/opensans-light-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg#open_sansregular') format('svg'),url("../font/opensans-regular-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg#open_sansbold') format('svg'),url("../font/opensans-bold-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg#open_sanslight_italic') format('svg'),url("../font/opensans-lightitalic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg#open_sansitalic') format('svg'),url("../font/opensans-italic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg#open_sansbold_italic') format('svg'),url("../font/opensans-bolditalic-webfont.woff") format('woff')}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg') format('svg')}}body{-webkit-font-smoothing:antialiased}
+.container{margin-bottom:180px}
a code{color:inherit}
h1{font-size:36px}
h2{font-size:30px}
@@ -1419,9 +1420,9 @@ a.list-group-item:hover,a.list-group-item:focus{color:#343434;border-top-color:r
.input-group-btn:first-child .btn{margin-right:6px}
.input-group-btn:last-child .btn{margin-left:6px}
.navbar{position:static;padding:0;border:0;border-top:1px solid rgba(128,128,128,0.1);border-radius:0}.navbar .left-space,.navbar .right-space{width:25px;height:38px}
-.navbar .nav{float:left;margin:5px 10px;height:38px}.navbar .nav>li{display:inline-block}
+.navbar .nav{float:left;margin:5px 9px;height:38px}.navbar .nav>li{display:inline-block}
.navbar .nav.pull-right{float:right}.navbar .nav.pull-right>li>.dropdown-menu{right:0;left:auto}.navbar .nav.pull-right>li>.dropdown-menu .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0}
-.navbar .btn{height:38px}
+.navbar .btn{height:38px;padding:8px 10px}
.navbar .btn-group>.btn.disabled *,.navbar .btn-group>.btn.blocked *,.navbar .btn-group>.btn[disabled] *{color:rgba(64,64,64,0.3)}
.navbar .file-title-navbar{display:inline-block;vertical-align:middle;padding:4px 15px;font-size:20px;font-weight:200;max-width:280px;overflow:hidden;white-space:nowrap}
.navbar .input-file-title-container{display:inline-block;vertical-align:middle}.navbar .input-file-title-container .input-file-title{width:220px}
diff --git a/public/res-min/themes/night.css b/public/res-min/themes/night.css
index b9140fc3..6d9142e2 100644
--- a/public/res-min/themes/night.css
+++ b/public/res-min/themes/night.css
@@ -1182,7 +1182,8 @@ pre .coffeescript .javascript,pre .javascript .xml,pre .tex .formula,pre .xml .j
.icon-code:before{content:'\e844'}
.icon-folder-open:before{content:'\e81e'}
.icon-left-big:before{content:'\e88a'}
-@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg#open_sanslight') format('svg'),url("../font/opensans-light-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg#open_sansregular') format('svg'),url("../font/opensans-regular-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg#open_sansbold') format('svg') url("../font/opensans-bold-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg#open_sanslight_italic') format('svg'),url("../font/opensans-lightitalic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg#open_sansitalic') format('svg'),url("../font/opensans-italic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg#open_sansbold_italic') format('svg'),url("../font/opensans-bolditalic-webfont.woff") format('woff')}.container{margin-bottom:180px}
+@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg#open_sanslight') format('svg'),url("../font/opensans-light-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg#open_sansregular') format('svg'),url("../font/opensans-regular-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg#open_sansbold') format('svg'),url("../font/opensans-bold-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg#open_sanslight_italic') format('svg'),url("../font/opensans-lightitalic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg#open_sansitalic') format('svg'),url("../font/opensans-italic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg#open_sansbold_italic') format('svg'),url("../font/opensans-bolditalic-webfont.woff") format('woff')}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg') format('svg')}}body{-webkit-font-smoothing:antialiased}
+.container{margin-bottom:180px}
a code{color:inherit}
h1{font-size:36px}
h2{font-size:30px}
@@ -1419,9 +1420,9 @@ a.list-group-item:hover,a.list-group-item:focus{color:#b3b3b3;border-top-color:r
.input-group-btn:first-child .btn{margin-right:6px}
.input-group-btn:last-child .btn{margin-left:6px}
.navbar{position:static;padding:0;border:0;border-top:1px solid rgba(255,255,255,0.1);border-radius:0}.navbar .left-space,.navbar .right-space{width:25px;height:38px}
-.navbar .nav{float:left;margin:5px 10px;height:38px}.navbar .nav>li{display:inline-block}
+.navbar .nav{float:left;margin:5px 9px;height:38px}.navbar .nav>li{display:inline-block}
.navbar .nav.pull-right{float:right}.navbar .nav.pull-right>li>.dropdown-menu{right:0;left:auto}.navbar .nav.pull-right>li>.dropdown-menu .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0}
-.navbar .btn{height:38px}
+.navbar .btn{height:38px;padding:8px 10px}
.navbar .btn-group>.btn.disabled *,.navbar .btn-group>.btn.blocked *,.navbar .btn-group>.btn[disabled] *{color:rgba(191,191,191,0.3)}
.navbar .file-title-navbar{display:inline-block;vertical-align:middle;padding:4px 15px;font-size:20px;font-weight:200;max-width:280px;overflow:hidden;white-space:nowrap}
.navbar .input-file-title-container{display:inline-block;vertical-align:middle}.navbar .input-file-title-container .input-file-title{width:220px}
diff --git a/public/res-min/themes/school.css b/public/res-min/themes/school.css
index 1ae9efc5..d1f95354 100644
--- a/public/res-min/themes/school.css
+++ b/public/res-min/themes/school.css
@@ -1182,7 +1182,8 @@ pre .coffeescript .javascript,pre .javascript .xml,pre .tex .formula,pre .xml .j
.icon-code:before{content:'\e844'}
.icon-folder-open:before{content:'\e81e'}
.icon-left-big:before{content:'\e88a'}
-@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg#open_sanslight') format('svg'),url("../font/opensans-light-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg#open_sansregular') format('svg'),url("../font/opensans-regular-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg#open_sansbold') format('svg') url("../font/opensans-bold-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg#open_sanslight_italic') format('svg'),url("../font/opensans-lightitalic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg#open_sansitalic') format('svg'),url("../font/opensans-italic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg#open_sansbold_italic') format('svg'),url("../font/opensans-bolditalic-webfont.woff") format('woff')}.container{margin-bottom:180px}
+@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg#open_sanslight') format('svg'),url("../font/opensans-light-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg#open_sansregular') format('svg'),url("../font/opensans-regular-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg#open_sansbold') format('svg'),url("../font/opensans-bold-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg#open_sanslight_italic') format('svg'),url("../font/opensans-lightitalic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg#open_sansitalic') format('svg'),url("../font/opensans-italic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg#open_sansbold_italic') format('svg'),url("../font/opensans-bolditalic-webfont.woff") format('woff')}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/opensans-light-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/opensans-regular-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/opensans-bold-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/opensans-lightitalic-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/opensans-italic-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/opensans-bolditalic-webfont.svg') format('svg')}}body{-webkit-font-smoothing:antialiased}
+.container{margin-bottom:180px}
a code{color:inherit}
h1{font-size:36px}
h2{font-size:30px}
@@ -1419,9 +1420,9 @@ a.list-group-item:hover,a.list-group-item:focus{color:#2d2d2d;border-top-color:r
.input-group-btn:first-child .btn{margin-right:6px}
.input-group-btn:last-child .btn{margin-left:6px}
.navbar{position:static;padding:0;border:0;border-top:1px solid #305145;border-radius:0}.navbar .left-space,.navbar .right-space{width:25px;height:38px}
-.navbar .nav{float:left;margin:5px 10px;height:38px}.navbar .nav>li{display:inline-block}
+.navbar .nav{float:left;margin:5px 9px;height:38px}.navbar .nav>li{display:inline-block}
.navbar .nav.pull-right{float:right}.navbar .nav.pull-right>li>.dropdown-menu{right:0;left:auto}.navbar .nav.pull-right>li>.dropdown-menu .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0}
-.navbar .btn{height:38px}
+.navbar .btn{height:38px;padding:8px 10px}
.navbar .btn-group>.btn.disabled *,.navbar .btn-group>.btn.blocked *,.navbar .btn-group>.btn[disabled] *{color:rgba(238,238,238,0.3)}
.navbar .file-title-navbar{display:inline-block;vertical-align:middle;padding:4px 15px;font-size:20px;font-weight:200;max-width:280px;overflow:hidden;white-space:nowrap}
.navbar .input-file-title-container{display:inline-block;vertical-align:middle}.navbar .input-file-title-container .input-file-title{width:220px}
diff --git a/public/res/core.js b/public/res/core.js
index 130b51fa..3a68356c 100644
--- a/public/res/core.js
+++ b/public/res/core.js
@@ -123,10 +123,10 @@ define([
utils.setInputValue("#input-settings-editor-font-size", settings.editorFontSize);
// Max width
utils.setInputValue("#input-settings-max-width", settings.maxWidth);
- // RTL
- utils.setInputChecked("#input-settings-rtl", storage.rtl == 'true');
// Default content
utils.setInputValue("#textarea-settings-default-content", settings.defaultContent);
+ // Mode
+ utils.setInputRadio("radio-settings-mode", storage.mode || '_ace_');
// Commit message
utils.setInputValue("#input-settings-publish-commit-msg", settings.commitMsg);
// Gdrive full access
@@ -163,10 +163,10 @@ define([
newSettings.editorFontSize = utils.getInputIntValue("#input-settings-editor-font-size", event, 1, 99);
// Max width
newSettings.maxWidth = utils.getInputIntValue("#input-settings-max-width", event, 1);
- // RTL
- var rtl = utils.getInputChecked("#input-settings-rtl");
// Default content
newSettings.defaultContent = utils.getInputValue("#textarea-settings-default-content");
+ // Mode
+ var mode = utils.getInputRadio("radio-settings-mode");
// Commit message
newSettings.commitMsg = utils.getInputTextValue("#input-settings-publish-commit-msg", event);
// Gdrive full access
@@ -191,7 +191,7 @@ define([
$.extend(settings, newSettings);
storage.settings = JSON.stringify(settings);
storage.themeV3 = theme;
- storage.rtl = rtl;
+ storage.mode = mode;
}
}
@@ -412,14 +412,14 @@ define([
var $rightBtnElts;
var $leftBtnDropdown;
var $rightBtnDropdown;
- var marginWidth = 40 + 25 + 25;
- var titleWidth = 20 + 348;
- var leftButtonsWidth = 80 + 87 + 174 + 175 + 87;
- var rightButtonsWidth = 40 + 88 + 87;
- var rightButtonsDropdown = 44;
+ var marginWidth = 36 + 25 + 25;
+ var titleWidth = 18 + 348;
+ var leftButtonsWidth = 72 + 83 + 166 + 167 + 83;
+ var rightButtonsWidth = 36 + 84 + 83;
+ var rightButtonsDropdown = 42;
function adjustWindow() {
if(!window.viewerMode) {
- var maxWidth = $navbarElt.width() - 10;
+ var maxWidth = $navbarElt.width() - 5;
if(marginWidth + titleWidth + leftButtonsWidth + rightButtonsWidth > maxWidth) {
$rightBtnDropdown.show().find('.dropdown-menu').append($rightBtnElts);
if(marginWidth + titleWidth + leftButtonsWidth + rightButtonsDropdown > maxWidth) {
@@ -462,7 +462,7 @@ define([
if(editor !== undefined) {
// If the editor is already created
aceEditor && aceEditor.selection.setSelectionRange(fileDesc.editorSelectRange);
- (aceEditor && aceEditor.focus()) || $editorElt.focus();
+ aceEditor ? aceEditor.focus() : $editorElt.focus();
editor.refreshPreview();
return;
}
@@ -698,7 +698,7 @@ define([
isMenuPanelShown = false;
menuPanelBackdropElt.parentNode.removeChild(menuPanelBackdropElt);
$menuPanelElt.removeClass('move-to-front');
- (aceEditor && aceEditor.focus()) || $editorElt.focus();
+ aceEditor ? aceEditor.focus() : $editorElt.focus();
}
}).on('hidden.bs.collapse', function(e) {
if(e.target === $menuPanelElt[0]) {
@@ -730,7 +730,7 @@ define([
isDocumentPanelShown = false;
documentPanelBackdropElt.parentNode.removeChild(documentPanelBackdropElt);
$documentPanelElt.removeClass('move-to-front');
- (aceEditor && aceEditor.focus()) || $editorElt.focus();
+ aceEditor ? aceEditor.focus() : $editorElt.focus();
}
}).on('hidden.bs.collapse', function(e) {
if(e.target === $documentPanelElt[0]) {
@@ -809,7 +809,7 @@ define([
}).on('hidden.bs.modal', function() {
// Focus on the editor when modal is gone
isModalShown = false;
- (aceEditor && aceEditor.focus()) || $editorElt.focus();
+ aceEditor ? aceEditor.focus() : $editorElt.focus();
// Revert to current theme when settings modal is closed
applyTheme(window.theme);
}).keyup(function(e) {
diff --git a/public/res/extensions/scrollLink.js b/public/res/extensions/scrollLink.js
index df2409e6..edfe2f56 100644
--- a/public/res/extensions/scrollLink.js
+++ b/public/res/extensions/scrollLink.js
@@ -36,10 +36,12 @@ define([
var mdTextOffset = 0;
var mdSectionOffset = 0;
var firstSectionOffset = offsetBegin;
+ var padding = 0;
function addTextareaSection(sectionText) {
- var sectionHeight = 0;
+ var sectionHeight = padding;
if(sectionText !== undefined) {
- $textareaHelperElt.text(sectionText);
+ var textNode = document.createTextNode(sectionText);
+ $textareaHelperElt.empty().append(textNode);
sectionHeight += $textareaHelperElt.prop('scrollHeight');
}
var newSectionOffset = mdSectionOffset + sectionHeight;
@@ -60,6 +62,12 @@ define([
sectionText = undefined;
}
}
+ else {
+ if(/\n$/.test(sectionText)) {
+ // Need to add a line break to take into account a final empty line
+ sectionText += '\n';
+ }
+ }
addTextareaSection(sectionText);
});
diff --git a/public/res/extensions/workingIndicator.js b/public/res/extensions/workingIndicator.js
index 4af87b88..f983fdc7 100644
--- a/public/res/extensions/workingIndicator.js
+++ b/public/res/extensions/workingIndicator.js
@@ -19,8 +19,8 @@ define([
$('.working-indicator').append($workingIndicatorElt);
for (var i = 0; i < 3; i++) {
$workingIndicatorElt.append($('
').css({
- 'animation-delay': (i*15/10).toPrecision(3) + 's',
- '-webkit-animation-delay': (i*15/10).toPrecision(3) + 's',
+ 'animation-delay': (i*15/100).toPrecision(3) + 's',
+ '-webkit-animation-delay': (i*15/100).toPrecision(3) + 's',
}));
}
};
diff --git a/public/res/fileMgr.js b/public/res/fileMgr.js
index 57653e20..d18cac61 100644
--- a/public/res/fileMgr.js
+++ b/public/res/fileMgr.js
@@ -198,7 +198,7 @@ define([
eventMgr.onTitleChanged(fileDesc);
}
$fileTitleInputElt.val(fileDesc.title);
- (aceEditor && aceEditor.focus()) || $editorElt.focus();
+ aceEditor ? aceEditor.focus() : $editorElt.focus();
}
$fileTitleInputElt.blur(function() {
applyTitle();
diff --git a/public/res/html/bodyIndex.html b/public/res/html/bodyIndex.html
index 64ae6e8f..8a7dc5cc 100644
--- a/public/res/html/bodyIndex.html
+++ b/public/res/html/bodyIndex.html
@@ -994,17 +994,6 @@
class="form-control col-lg-3"> px