Replace grunt by gulp

This commit is contained in:
benweet 2014-08-31 20:51:13 +01:00
parent 4b21446de6
commit bd9ef71a45
33 changed files with 28456 additions and 38387 deletions

View File

@ -1,18 +0,0 @@
{
"env": {
"browser": true,
"amd": true
},
"rules": {
"curly": 2,
"no-comma-dangle": 0,
"strict": 0,
"quotes": 0,
"no-underscore-dangle": 0,
"consistent-return": 0,
"no-unused-expressions": 0,
"no-use-before-define": 0,
"camelcase": 0,
"eqeqeq": 0
}
}

View File

@ -1,14 +1,9 @@
{
"curly": true,
"browser": true,
"devel": true,
"node": true,
"indent": 4,
"latedef": true,
"undef": true,
"unused": true,
"expr": true,
"globals": {
"define": false,
"require": false
}
"expr": true
}

View File

@ -1,256 +0,0 @@
module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-requirejs');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-jsbeautifier');
grunt.loadNpmTasks('grunt-string-replace');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-bower-requirejs');
grunt.loadNpmTasks('grunt-bump');
/***************************************************************************
* Configuration
*/
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
jshint: {
options: {
jshintrc: true,
ignores: [
'node_modules/**/*.js',
'public/libs/**/*.js',
'public/res/libs/**/*.js',
'public/res/bower-libs/**/*.js',
'public/res-min/**/*.js'
]
},
client: ['public/**/*.js']
},
requirejs: {
compile: {
options: {
baseUrl: "public/res",
name: "main",
out: "public/res-min/main.js",
mainConfigFile: 'public/res/main.js',
optimize: "uglify2",
inlineText: true,
excludeShallow: [
'css/css-builder',
'less/lessc-server',
'less/lessc'
]
}
}
},
jsbeautifier: {
files: ['public/res-min/main.js'],
options: {
js: {
space_before_conditional: false,
keep_array_indentation: true,
indentWithTabs: true
}
}
},
less: {
compile: {
options: {
compress: true
},
files: [
{
expand: true,
cwd: 'public/res/themes',
src: [
'*.less'
],
dest: 'public/res-min/themes',
ext: '.css'
},
{
src: 'public/res/styles/base.less',
dest: 'public/res-min/themes/base.css'
}
]
}
},
'string-replace': {
'constants': {
files: {
'public/res/constants.js': 'public/res/constants.js'
},
options: {
replacements: [
{
pattern: /constants\.VERSION = .*/,
replacement: 'constants.VERSION = "<%= pkg.version %>";'
}
]
}
},
'cache-manifest': {
files: {
'public/cache.manifest': 'public/cache.manifest'
},
options: {
replacements: [
{
pattern: /(#Date ).*/,
replacement: '$1<%= grunt.template.today() %>'
},
{
pattern: /(#DynamicResourcesBegin\n)[\s\S]*(\n#DynamicResourcesEnd)/,
replacement: '$1<%= resources %>$2'
}
]
}
}
},
copy: {
resources: {
files: [
// Fonts
{
expand: true,
cwd: 'public/res/font',
src: [
'**'
],
dest: 'public/res-min/font/'
},
// Images
{
expand: true,
cwd: 'public/res/img',
src: [
'**'
],
dest: 'public/res-min/img/'
},
// Libraries
{
expand: true,
cwd: 'public/res/bower-libs/requirejs',
src: [
'require.js'
],
dest: 'public/res-min/'
}
]
}
},
// Inject bower dependencies into RequireJS configuration
bower: {
target: {
rjsConfig: 'public/res/main.js'
}
},
bump: {
options: {
files: [
'package.json',
'bower.json'
],
updateConfigs: [
'pkg'
],
commitFiles: [
'-a'
],
pushTo: 'origin'
}
}
});
/***************************************************************************
* Clean
*/
grunt.registerTask('clean', function() {
// Remove public/res-min folder
grunt.file['delete']('public/res-min');
});
/***************************************************************************
* Build JavaScript
*/
grunt.registerTask('build-js', function() {
// JSHint validation
grunt.task.run('jshint');
// Run r.js optimization
grunt.task.run('requirejs');
// Beautify uglified JS for site error analysis
grunt.task.run('jsbeautifier');
});
/***************************************************************************
* Build CSS
*/
grunt.registerTask('build-css', function() {
// Compile less files
grunt.task.run('less:compile');
});
/***************************************************************************
* Resources
*/
grunt.registerTask('build-res', function() {
// Copy some resources (images, fonts...)
grunt.task.run('copy:resources');
// List resources and inject them in cache.manifest
var resFolderList = [
'public/res-min',
'public/libs/MathJax/extensions',
'public/libs/MathJax/fonts/HTML-CSS/TeX/woff',
'public/libs/MathJax/jax/element',
'public/libs/MathJax/jax/output/HTML-CSS/autoload',
'public/libs/MathJax/jax/output/HTML-CSS/fonts/TeX',
'public/libs/MathJax/jax/output/HTML-CSS/fonts/STIX'
];
grunt.task.run('list-res:' + resFolderList.join(':'));
grunt.task.run('string-replace:cache-manifest');
});
grunt.registerTask('list-res', function() {
var resourceList = [];
grunt.util.recurse(arguments, function(arg) {
grunt.log.writeln('Listing resources: ' + arg);
grunt.file.recurse(arg, function(abspath) {
resourceList.push(abspath.replace(/^public\//, ''));
});
});
grunt.config.set('resources', resourceList.join('\n'));
});
/***************************************************************************
* Default task
*/
grunt.registerTask('default', function() {
grunt.task.run('clean');
grunt.task.run('build-js');
grunt.task.run('build-css');
grunt.task.run('build-res');
});
/***************************************************************************
* Tag task
*/
grunt.registerTask('tag', function(versionType) {
grunt.task.run('bump-only:' + (versionType || 'patch'));
grunt.task.run('string-replace:constants');
grunt.task.run('default');
grunt.task.run('bump-commit');
});
};

263
Gulpfile.js Normal file
View File

@ -0,0 +1,263 @@
/* jshint -W015 */
var gulp = require('gulp');
var util = require('gulp-util');
var clean = require('gulp-clean');
var jshint = require('gulp-jshint');
var requirejs = require('gulp-requirejs');
var bowerRequirejs = require('bower-requirejs');
var uglify = require('gulp-uglify');
var less = require('gulp-less');
var inject = require('gulp-inject');
var replace = require('gulp-replace');
var bump = require('gulp-bump');
var git = require('gulp-git');
var runSequence = require('run-sequence');
var fs = require('fs');
/** __________________________________________
* constants.js
*/
function getVersion() {
var packageJson = JSON.parse(fs.readFileSync(__dirname + '/package.json', {
encoding: 'utf8'
}));
return packageJson.version;
}
gulp.task('constants', function() {
return gulp.src('./public/res/constants.js')
.pipe(replace(/constants\.VERSION = .*/, 'constants.VERSION = "' + getVersion() + '";'))
.pipe(gulp.dest('./public/res/'));
});
/** __________________________________________
* JSHint
*/
gulp.task('jshint', function() {
return gulp.src([
'./**/*.js',
'!./node_modules/**/*.js',
'!./public/libs/**/*.js',
'!./public/res/libs/**/*.js',
'!./public/res/bower-libs/**/*.js',
'!./public/res-min/**/*.js'
])
.pipe(jshint())
.pipe(jshint.reporter('default'))
.pipe(jshint.reporter('fail'));
});
/** __________________________________________
* RequireJS
*/
gulp.task('clean-requirejs', function() {
return gulp.src([
'./public/res-min/main.js',
'./public/res-min/require.js'
])
.pipe(clean());
});
gulp.task('copy-requirejs', ['clean-requirejs'], function() {
return gulp.src('./public/res/bower-libs/requirejs/require.js')
.pipe(gulp.dest('./public/res-min/'));
});
gulp.task('requirejs', [
'copy-requirejs',
'constants'
], function() {
return requirejs({
baseUrl: 'public/res',
name: 'main',
out: 'main.js',
mainConfigFile: 'public/res/main.js',
optimize: 'uglify2',
inlineText: true,
excludeShallow: [
'css/css-builder',
'less/lessc-server',
'less/lessc'
]
})
.pipe(uglify({
output: {
beautify: true,
indent_level: 1
}
}))
.pipe(gulp.dest('./public/res-min/'));
});
/** __________________________________________
* Less
*/
gulp.task('clean-less', function() {
return gulp.src('./public/res-min/themes')
.pipe(clean());
});
gulp.task('less', ['clean-less'], function() {
return gulp.src([
'./public/res/styles/base.less',
'./public/res/themes/*.less'
])
.pipe(less({
compress: true
}))
.pipe(gulp.dest('./public/res-min/themes/'));
});
/** __________________________________________
* Fonts
*/
gulp.task('clean-font', function() {
return gulp.src('./public/res-min/font')
.pipe(clean());
});
gulp.task('copy-font', ['clean-font'], function() {
return gulp.src('./public/res/font/*')
.pipe(gulp.dest('./public/res-min/font/'));
});
/** __________________________________________
* Images
*/
gulp.task('clean-img', function() {
return gulp.src('./public/res-min/img')
.pipe(clean());
});
gulp.task('copy-img', ['clean-img'], function() {
return gulp.src('./public/res/img/*')
.pipe(gulp.dest('./public/res-min/img/'));
});
/** __________________________________________
* cache.manifest
*/
function makeCacheManifest(dest, cdn) {
cdn = cdn || '';
return gulp.src('./public/cache.manifest')
.pipe(replace(/(#Date ).*/, '$1' + Date()))
.pipe(inject(gulp.src([
'./res-min/**/*.*',
'./libs/MathJax/MathJax.js',
'./libs/MathJax/config/Safe.js',
'./libs/MathJax/config/TeX-AMS_HTML.js',
'./libs/MathJax/images/CloseX-31.png',
'./libs/MathJax/images/MenuArrow-15.png',
'./libs/MathJax/jax/output/HTML-CSS/jax.js',
'./libs/MathJax/extensions/**/*.*',
'./libs/MathJax/fonts/HTML-CSS/TeX/woff/**/*.*',
'./libs/MathJax/jax/element/**/*.*',
'./libs/MathJax/jax/output/HTML-CSS/autoload/**/*.*',
'./libs/MathJax/jax/output/HTML-CSS/fonts/TeX/**/*.*',
'./libs/MathJax/jax/output/HTML-CSS/fonts/STIX/**/*.*'
], {
read: false,
cwd: './public'
}),
{
starttag: '# start_inject_resources',
endtag: '# end_inject_resources',
ignoreExtensions: true,
transform: function(filepath) {
filepath = filepath.substring(1);
if(filepath == 'libs/MathJax/MathJax.js') {
filepath += '?config=TeX-AMS_HTML';
}
return cdn + filepath;
}
}))
.pipe(gulp.dest(dest));
}
gulp.task('cache-manifest', function() {
return makeCacheManifest('./public/');
});
gulp.task('cache-manifest-stackedit-io', function() {
return makeCacheManifest('./public-stackedit.io/', 'https://cdn.stackedit.io/v' + getVersion() + '/');
});
gulp.task('bower-requirejs', function(cb) {
bowerRequirejs({
config: './public/res/main.js'
}, function() {
cb();
});
});
gulp.task('clean', [
'clean-requirejs',
'clean-less',
'clean-font',
'clean-img'
]);
gulp.task('default', function() {
return runSequence([
'jshint',
'requirejs',
'less',
'copy-font',
'copy-img'
],
'cache-manifest');
});
function bumpTask(importance) {
return function() {
return gulp.src([
'./package.json',
'./bower.json'
])
.pipe(bump({type: importance}))
.pipe(gulp.dest('./'));
};
}
gulp.task('bump', bumpTask('patch'));
gulp.task('bump-patch', bumpTask('patch'));
gulp.task('bump-minor', bumpTask('minor'));
gulp.task('bump-major', bumpTask('major'));
gulp.task('commit', function() {
return gulp.src('./public/res-min/**/*')
.pipe(git.add())
.pipe(git.commit('Prepare release', {args: '-A'}));
});
gulp.task('tag', function() {
var tag = 'v' + getVersion();
util.log('Tagging as: ' + util.colors.cyan(tag));
git.tag(tag, 'Version ' + getVersion());
});
gulp.task('push', function() {
git.push('origin', 'master', { args: ' --tags' }).end();
});
function releaseTask(importance) {
return function() {
return runSequence(
'bump-' + importance,
'default',
'commit',
'tag',
'push');
};
}
gulp.task('release', releaseTask('patch'));
gulp.task('release-patch', releaseTask('patch'));
gulp.task('release-minor', releaseTask('minor'));
gulp.task('release-major', releaseTask('major'));

View File

@ -1,9 +0,0 @@
{
"curly": true,
"node": true,
"indent": 4,
"latedef": true,
"undef": true,
"unused": true,
"expr": true
}

View File

@ -12,7 +12,7 @@ app.all('*', function(req, res, next) {
if (req.headers.host == 'stackedit.io' && req.headers['x-forwarded-proto'] != 'https') {
return res.redirect('https://stackedit.io' + req.url);
}
/\.(eot|ttf|woff)$/.test(req.url) && res.header('Access-Control-Allow-Origin', '*');
/\.(eot|ttf|woff|svg)$/.test(req.url) && res.header('Access-Control-Allow-Origin', '*');
next();
});
@ -20,6 +20,8 @@ app.all('*', function(req, res, next) {
app.use(compression());
// Serve static resources
var staticOverride = process.env.STATIC_OVERRIDE;
staticOverride && app.use(serveStatic(__dirname + '/../' + staticOverride));
app.use(serveStatic(__dirname + '/../public'));
app.post('/pdfExport', require('./pdf').export);
@ -27,10 +29,12 @@ app.post('/sshPublish', require('./ssh').publish);
app.post('/picasaImportImg', require('./picasa').importImg);
app.get('/downloadImport', require('./download').importPublic);
var cdnLocation = process.env.CDN_LOCATION || '';
app.use(function(req, res, next) {
res.renderDebug = function(page) {
return res.render(page, {
cache: !req.query.hasOwnProperty('debug')
cache: !req.query.hasOwnProperty('debug'),
cdn: cdnLocation
});
};
next();

View File

@ -1,3 +1,4 @@
/* global window,MathJax */
var spawn = require('child_process').spawn;
var fs = require('fs');
var path = require('path');

View File

@ -32,5 +32,9 @@
"js-sequence-diagrams": "https://github.com/benweet/js-sequence-diagrams.git#d60c973aa0ff148dc588c7ceee0b41e59dff3f9f",
"flowchart": "https://github.com/adrai/flowchart.js.git#~1.2.10",
"monetizejs": "~0.2.0"
}
},
"main": [
"/public/res/main.js",
"/public/res/styles/jquery.jgrowl.css"
]
}

View File

@ -1,7 +1,7 @@
{
"name": "StackEdit",
"description": "The Markdown editor powered by PageDown",
"version": "1.0.9",
"description": "In-browser markdown editor",
"version": "1.0.10",
"manifest_version": 2,
"container" : "GOOGLE_DRIVE",
"api_console_project_id" : "241271498917",

View File

@ -25,11 +25,7 @@ Getting started
(export PORT=80 && node server.js)
- Run Chrome without application cache:
chrome --disable-application-cache
- Run **StackEdit** in debug mode (serve original files instead of minified):
- Run **StackEdit** in debug mode (no application cache, serve original files instead of minified):
http://localhost/?debug
@ -43,11 +39,11 @@ Getting started
- Add the new dependency to [RequireJS][8] configuration file (`main.js`):
grunt bower
gulp bower-requirejs
### Build/minify
grunt
gulp
### Deploy

15
firefox-app/manifest.json Normal file

File diff suppressed because one or more lines are too long

View File

@ -19,15 +19,19 @@
"serve-static": "^1.5.3"
},
"devDependencies": {
"grunt-contrib-requirejs": "~0.4.3",
"grunt-contrib-less": "~0.7.0",
"grunt-string-replace": "~0.2.4",
"grunt-contrib-copy": "~0.4.1",
"grunt-bower-requirejs": "~0.7.1",
"grunt-bower-task": "~0.3.1",
"grunt-bump": "0.0.11",
"grunt-contrib-jshint": "~0.7.1",
"grunt-jsbeautifier": "^0.2.7"
"gulp": "^3.8.7",
"gulp-requirejs": "git://github.com/RobinThrift/gulp-requirejs.git#6fb08d427dda7463a07b25be3fc931f58e660b54",
"gulp-jshint": "^1.8.4",
"gulp-uglify": "^1.0.0",
"gulp-less": "^1.3.5",
"bower-requirejs": "^1.1.0",
"gulp-inject": "git://github.com/benweet/gulp-inject.git#8bd702d143a578e3b44290d82612ab808ee17281",
"run-sequence": "^0.3.6",
"gulp-clean": "^0.3.1",
"gulp-replace": "^0.4.0",
"gulp-git": "^0.5.0",
"gulp-bump": "^0.1.11",
"gulp-util": "^3.0.1"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"

View File

@ -0,0 +1,429 @@
CACHE MANIFEST
#Date Sun Aug 31 2014 19:48:26 GMT+0100 (IST)
CACHE:
.
editor
viewer
# start_inject_resources
https://cdn.stackedit.io/v4.1.1/res-min/main.js
https://cdn.stackedit.io/v4.1.1/res-min/require.js
https://cdn.stackedit.io/v4.1.1/res-min/font/PTSans-Bold-webfont.woff
https://cdn.stackedit.io/v4.1.1/res-min/font/PTSans-BoldItalic-webfont.woff
https://cdn.stackedit.io/v4.1.1/res-min/font/PTSans-Italic-webfont.woff
https://cdn.stackedit.io/v4.1.1/res-min/font/PTSans-Regular-webfont.woff
https://cdn.stackedit.io/v4.1.1/res-min/font/SourceCodePro-Bold-webfont.woff
https://cdn.stackedit.io/v4.1.1/res-min/font/SourceCodePro-Regular-webfont.woff
https://cdn.stackedit.io/v4.1.1/res-min/font/SourceSansPro-Bold-webfont.woff
https://cdn.stackedit.io/v4.1.1/res-min/font/SourceSansPro-BoldItalic-webfont.woff
https://cdn.stackedit.io/v4.1.1/res-min/font/SourceSansPro-Italic-webfont.woff
https://cdn.stackedit.io/v4.1.1/res-min/font/SourceSansPro-Light-webfont.woff
https://cdn.stackedit.io/v4.1.1/res-min/font/SourceSansPro-LightItalic-webfont.woff
https://cdn.stackedit.io/v4.1.1/res-min/font/SourceSansPro-Regular-webfont.woff
https://cdn.stackedit.io/v4.1.1/res-min/font/cursive_standard-webfont.eot
https://cdn.stackedit.io/v4.1.1/res-min/font/cursive_standard-webfont.svg
https://cdn.stackedit.io/v4.1.1/res-min/font/cursive_standard-webfont.ttf
https://cdn.stackedit.io/v4.1.1/res-min/font/cursive_standard-webfont.woff
https://cdn.stackedit.io/v4.1.1/res-min/font/fontello.eot
https://cdn.stackedit.io/v4.1.1/res-min/font/fontello.svg
https://cdn.stackedit.io/v4.1.1/res-min/font/fontello.ttf
https://cdn.stackedit.io/v4.1.1/res-min/font/fontello.woff
https://cdn.stackedit.io/v4.1.1/res-min/img/button.svg
https://cdn.stackedit.io/v4.1.1/res-min/img/code-block.png
https://cdn.stackedit.io/v4.1.1/res-min/img/comments.png
https://cdn.stackedit.io/v4.1.1/res-min/img/conflict.png
https://cdn.stackedit.io/v4.1.1/res-min/img/diagram.png
https://cdn.stackedit.io/v4.1.1/res-min/img/gittip.png
https://cdn.stackedit.io/v4.1.1/res-min/img/icons.png
https://cdn.stackedit.io/v4.1.1/res-min/img/icons2x.png
https://cdn.stackedit.io/v4.1.1/res-min/img/live-preview.png
https://cdn.stackedit.io/v4.1.1/res-min/img/logo.svg
https://cdn.stackedit.io/v4.1.1/res-min/img/math.png
https://cdn.stackedit.io/v4.1.1/res-min/img/menu-icon.png
https://cdn.stackedit.io/v4.1.1/res-min/img/menu.png
https://cdn.stackedit.io/v4.1.1/res-min/img/publish.png
https://cdn.stackedit.io/v4.1.1/res-min/img/stackedit-32.ico
https://cdn.stackedit.io/v4.1.1/res-min/img/syntax-highlighting.gif
https://cdn.stackedit.io/v4.1.1/res-min/img/toc.gif
https://cdn.stackedit.io/v4.1.1/res-min/themes/base.css
https://cdn.stackedit.io/v4.1.1/res-min/themes/blue.css
https://cdn.stackedit.io/v4.1.1/res-min/themes/default.css
https://cdn.stackedit.io/v4.1.1/res-min/themes/gray.css
https://cdn.stackedit.io/v4.1.1/res-min/themes/night.css
https://cdn.stackedit.io/v4.1.1/res-min/themes/school.css
https://cdn.stackedit.io/v4.1.1/libs/MathJax/MathJax.js?config=TeX-AMS_HTML
https://cdn.stackedit.io/v4.1.1/libs/MathJax/config/Safe.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/config/TeX-AMS_HTML.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/images/CloseX-31.png
https://cdn.stackedit.io/v4.1.1/libs/MathJax/images/MenuArrow-15.png
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/jax.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/FontWarnings.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/HelpDialog.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/MatchWebFonts.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/MathEvents.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/MathMenu.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/MathZoom.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/Safe.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/asciimath2jax.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/jsMath2jax.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/mml2jax.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/tex2jax.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/toMathML.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/HTML-CSS/handle-floats.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/MathML/content-mathml.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/AMScd.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/AMSmath.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/AMSsymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/HTML.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/action.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/autobold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/autoload-all.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/bbox.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/begingroup.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/boldsymbol.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/cancel.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/color.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/enclose.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/extpfeil.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/mathchoice.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/mhchem.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/newcommand.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/noErrors.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/noUndefined.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/unicode.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/extensions/TeX/verb.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_AMS-Regular.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Bold.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Regular.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Bold.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Regular.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Bold.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Italic.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Regular.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Math-BoldItalic.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Math-Italic.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Math-Regular.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Bold.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Italic.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Regular.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Script-Regular.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size1-Regular.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size2-Regular.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size3-Regular.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size4-Regular.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Typewriter-Regular.woff
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/jax.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/Arrows.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/BasicLatin.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/CombDiacritMarks.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/CombDiactForSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/Dingbats.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/GeneralPunctuation.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/GeometricShapes.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/GreekAndCoptic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/Latin1Supplement.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/LetterlikeSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/MathOperators.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/MiscMathSymbolsA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/MiscMathSymbolsB.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/MiscSymbolsAndArrows.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/MiscTechnical.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/SpacingModLetters.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/SuppMathOperators.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/SupplementalArrowsA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/element/mml/optable/SupplementalArrowsB.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/autoload/annotation-xml.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/autoload/maction.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/autoload/menclose.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/autoload/mglyph.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/autoload/mmultiscripts.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/autoload/ms.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/autoload/mtable.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/autoload/multiline.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata-extra.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Arrows.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BBBold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BoxDrawing.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/CombDiacritMarks.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Dingbats.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/EnclosedAlphanum.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeneralPunctuation.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeometricShapes.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GreekAndCoptic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Latin1Supplement.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LatinExtendedA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LetterlikeSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MathOperators.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscTechnical.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/PUA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SpacingModLetters.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SuppMathOperators.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Bold/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/BasicLatin.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Other.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/PUA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/BasicLatin.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Other.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/PUA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Bold/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/BoldItalic/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Italic/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Arrows.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiacritMarks.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiactForSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeneralPunctuation.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeometricShapes.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Latin1Supplement.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedB.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LetterlikeSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MathOperators.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscMathSymbolsA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscTechnical.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SpacingModLetters.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SuppMathOperators.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SupplementalArrowsA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/CombDiacritMarks.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GeneralPunctuation.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Latin1Supplement.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LetterlikeSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/CombDiacritMarks.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeometricShapes.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SpacingModLetters.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/BoldItalic/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/Italic/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/BasicLatin.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Other.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/BasicLatin.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Other.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/BasicLatin.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Other.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/BasicLatin.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Other.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Size1/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Size2/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Size3/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Size4/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/BasicLatin.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Other.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/WinChrome/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/AMS.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Bold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-1.0.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-beta.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-extra.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Arrows.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BBBold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoldFraktur.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoxDrawing.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiacritMarks.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiactForSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/ControlPictures.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CurrencySymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Cyrillic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/EnclosedAlphanum.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeneralPunctuation.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeometricShapes.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekAndCoptic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekBold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekSSBold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/IPAExtensions.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Latin1Supplement.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedAdditional.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedB.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedD.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LetterlikeSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathBold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathOperators.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathSSBold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsB.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscTechnical.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/NumberForms.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/PhoneticExtensions.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SpacingModLetters.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuperAndSubscripts.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuppMathOperators.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/AlphaPresentForms.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BasicLatin.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BoxDrawing.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CombDiactForSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/ControlPictures.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CurrencySymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Cyrillic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/EnclosedAlphanum.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GeneralPunctuation.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekAndCoptic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekBoldItalic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekSSBoldItalic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/IPAExtensions.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Latin1Supplement.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedAdditional.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedB.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LetterlikeSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldItalic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldScript.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathOperators.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathSSItalicBold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/SpacingModLetters.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/AlphaPresentForms.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/BoxDrawing.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CombDiactForSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ControlPictures.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CurrencySymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Cyrillic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/EnclosedAlphanum.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GeneralPunctuation.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekAndCoptic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekItalic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/IPAExtensions.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Latin1Supplement.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedAdditional.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedB.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LetterlikeSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathItalic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathOperators.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathSSItalic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathScript.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/SpacingModLetters.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ij.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/AlphaPresentForms.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Arrows.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BBBold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BlockElements.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoldFraktur.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoxDrawing.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CJK.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiacritMarks.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiactForSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ControlPictures.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CurrencySymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Cyrillic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Dingbats.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/EnclosedAlphanum.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Fraktur.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeneralPunctuation.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeometricShapes.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekAndCoptic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBoldItalic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekItalic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBoldItalic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Hiragana.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/IPAExtensions.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Latin1Supplement.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedAdditional.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedB.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedD.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LetterlikeSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldItalic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldScript.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathItalic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathOperators.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSS.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSBold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalic.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalicBold.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathScript.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathTT.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsB.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbols.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbolsAndArrows.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscTechnical.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/NumberForms.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/PhoneticExtensions.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SpacingModLetters.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Specials.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuperAndSubscripts.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuppMathOperators.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsA.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsB.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ij.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Bold/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Bold/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Bold/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Bold/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Bold/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/PrivateUse.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/PrivateUse.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/PrivateUse.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/PrivateUse.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Bold/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Bold/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Bold/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/Main.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/All.js
https://cdn.stackedit.io/v4.1.1/libs/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/Main.js
# end_inject_resources
NETWORK:
*

14
public/.jshintrc Normal file
View File

@ -0,0 +1,14 @@
{
"curly": true,
"browser": true,
"devel": true,
"indent": 4,
"latedef": true,
"undef": true,
"unused": true,
"expr": true,
"globals": {
"define": false,
"require": false
}
}

View File

@ -5,14 +5,10 @@ CACHE:
.
editor
viewer
libs/MathJax/MathJax.js?config=TeX-AMS_HTML
libs/MathJax/config/Safe.js
libs/MathJax/config/TeX-AMS_HTML.js
libs/MathJax/images/CloseX-31.png
libs/MathJax/images/MenuArrow-15.png
libs/MathJax/jax/output/HTML-CSS/jax.js
#DynamicResourcesBegin
# start_inject_resources
res-min/main.js
res-min/require.js
res-min/font/PTSans-Bold-webfont.woff
res-min/font/PTSans-BoldItalic-webfont.woff
res-min/font/PTSans-Italic-webfont.woff
@ -50,23 +46,32 @@ res-min/img/publish.png
res-min/img/stackedit-32.ico
res-min/img/syntax-highlighting.gif
res-min/img/toc.gif
res-min/main.js
res-min/require.js
res-min/themes/base.css
res-min/themes/blue.css
res-min/themes/default.css
res-min/themes/gray.css
res-min/themes/night.css
res-min/themes/school.css
libs/MathJax/MathJax.js?config=TeX-AMS_HTML
libs/MathJax/config/Safe.js
libs/MathJax/config/TeX-AMS_HTML.js
libs/MathJax/images/CloseX-31.png
libs/MathJax/images/MenuArrow-15.png
libs/MathJax/jax/output/HTML-CSS/jax.js
libs/MathJax/extensions/FontWarnings.js
libs/MathJax/extensions/HTML-CSS/handle-floats.js
libs/MathJax/extensions/HelpDialog.js
libs/MathJax/extensions/MatchWebFonts.js
libs/MathJax/extensions/MathEvents.js
libs/MathJax/extensions/MathML/content-mathml.js
libs/MathJax/extensions/MathMenu.js
libs/MathJax/extensions/MathZoom.js
libs/MathJax/extensions/Safe.js
libs/MathJax/extensions/asciimath2jax.js
libs/MathJax/extensions/jsMath2jax.js
libs/MathJax/extensions/mml2jax.js
libs/MathJax/extensions/tex2jax.js
libs/MathJax/extensions/toMathML.js
libs/MathJax/extensions/HTML-CSS/handle-floats.js
libs/MathJax/extensions/MathML/content-mathml.js
libs/MathJax/extensions/TeX/AMScd.js
libs/MathJax/extensions/TeX/AMSmath.js
libs/MathJax/extensions/TeX/AMSsymbols.js
@ -88,11 +93,6 @@ libs/MathJax/extensions/TeX/noErrors.js
libs/MathJax/extensions/TeX/noUndefined.js
libs/MathJax/extensions/TeX/unicode.js
libs/MathJax/extensions/TeX/verb.js
libs/MathJax/extensions/asciimath2jax.js
libs/MathJax/extensions/jsMath2jax.js
libs/MathJax/extensions/mml2jax.js
libs/MathJax/extensions/tex2jax.js
libs/MathJax/extensions/toMathML.js
libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_AMS-Regular.woff
libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Bold.woff
libs/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Regular.woff
@ -141,6 +141,8 @@ libs/MathJax/jax/output/HTML-CSS/autoload/mmultiscripts.js
libs/MathJax/jax/output/HTML-CSS/autoload/ms.js
libs/MathJax/jax/output/HTML-CSS/autoload/mtable.js
libs/MathJax/jax/output/HTML-CSS/autoload/multiline.js
libs/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata-extra.js
libs/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata.js
libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Arrows.js
libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BBBold.js
libs/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BoxDrawing.js
@ -231,8 +233,10 @@ libs/MathJax/jax/output/HTML-CSS/fonts/TeX/WinChrome/Regular/Main.js
libs/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/AMS.js
libs/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Bold.js
libs/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Main.js
libs/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata-extra.js
libs/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-1.0.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-beta.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-extra.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Arrows.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BBBold.js
@ -405,10 +409,10 @@ libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/Main.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Bold/Main.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/All.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/Main.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/All.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/Main.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/All.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/Main.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/All.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/Main.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Bold/Main.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/All.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/Main.js
@ -419,11 +423,7 @@ libs/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/All.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/Main.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/All.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/Main.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-1.0.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-beta.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-extra.js
libs/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata.js
#DynamicResourcesEnd
# end_inject_resources
NETWORK:
*

57012
public/res-min/main.js Normal file → Executable file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
define([], function() {
var constants = {};
constants.VERSION = "4.1.1";
constants.VERSION = "4.1.2";
constants.MAIN_URL = "https://stackedit.io/";
constants.GOOGLE_ANALYTICS_ACCOUNT_ID = "UA-39556145-1";
constants.GOOGLE_API_KEY = "AIzaSyAeCU8CGcSkn0z9js6iocHuPBX4f_mMWkw";
@ -22,7 +22,7 @@ define([], function() {
constants.IMPORT_FILE_MAX_CONTENT_SIZE = 100000;
constants.IMPORT_IMG_MAX_CONTENT_SIZE = 10000000;
constants.TEMPORARY_FILE_INDEX = "file.tempIndex";
constants.WELCOME_DOCUMENT_TITLE = "Welcome document";
constants.WELCOME_DOCUMENT_TITLE = "Hello";
constants.DOWNLOAD_IMPORT_URL = "/downloadImport";
constants.PICASA_IMPORT_IMG_URL = "/picasaImportImg";
constants.SSH_PUBLISH_URL = '/sshPublish';

View File

@ -358,7 +358,6 @@ define([
var selectionRange = this.createRange(startOffset, endOffset);
var selectionRect = selectionRange.getBoundingClientRect();
y = selectionRect.top + selectionRect.height / 2 - inputElt.getBoundingClientRect().top + inputElt.scrollTop;
selectionRange.detach();
}
return {
x: x,
@ -415,7 +414,6 @@ define([
var range = selectionMgr.createRange(startOffset, textContent.length - endOffset);
range.deleteContents();
range.insertNode(document.createTextNode(replacement));
range.detach();
return {
start: startOffset,
end: value.length - endOffset
@ -432,7 +430,6 @@ define([
}
range.deleteContents();
range.insertNode(document.createTextNode(replacement));
range.detach();
var endOffset = selectionStart + replacement.length;
selectionMgr.setSelectionStartEnd(endOffset, endOffset);
selectionMgr.updateSelectionRange();
@ -465,7 +462,6 @@ define([
}
range.deleteContents();
range.insertNode(document.createTextNode(replacement));
range.detach();
offset = offset - text.length + replacement.length;
selectionMgr.setSelectionStartEnd(offset, offset);
selectionMgr.updateSelectionRange();

View File

@ -207,7 +207,6 @@ define([
}
try {
cssApplier.undoToRange(context.rangyRange);
context.rangyRange.detach();
}
catch(e) {
}
@ -438,7 +437,6 @@ define([
// Remove highlight
try {
cssApplier.undoToRange(currentContext.rangyRange);
currentContext.rangyRange.detach();
}
catch(e) {
}

View File

@ -1,7 +1,7 @@
define([
"jquery",
"underscore",
"classes/Extension",
"classes/Extension"
], function($, _, Extension) {
var documentTitle = new Extension("documentTitle", "Document Title");
@ -14,7 +14,6 @@ define([
}
var title = fileDesc.title;
document.title = "StackEdit " + title;
$fileTitleNavbar.html(fileDesc.composeTitle());
$(".file-title").text(title);
$(".input-file-title").val(title);

View File

@ -46,7 +46,6 @@ define([
}
catch(e) {
}
rangyRange.detach();
});
rangeList = [];
}
@ -57,7 +56,6 @@ define([
selectRange && selectCssApplier.undoToRange(selectRange);
}
catch(e) {}
selectRange.toBeDetached && selectRange.detach();
selectRange = undefined;
}
}
@ -188,7 +186,6 @@ define([
selectRange = rangy.createRange();
selectRange.setStart(range.startContainer, range.startOffset);
selectRange.setEnd(range.endContainer, range.endOffset);
selectRange.toBeDetached = true;
}
selectCssApplier.applyToRange(selectRange);
selectRange.start = offset.start;

View File

@ -9,7 +9,7 @@ define([
'google-code-prettify',
'highlightjs',
'crel',
'pagedown-extra'
'pagedownExtra'
], function($, _, utils, logger, Extension, markdownExtraSettingsBlockHTML, prettify, hljs) {
var markdownExtra = new Extension("markdownExtra", "Markdown Extra", true);

View File

@ -378,8 +378,7 @@
Are you sure you want to delete "<span class="file-title"></span>"?
</p>
<blockquote>
<b>Note:</b> This will not delete the file on synchronized
locations.
<b>Note:</b> It won't delete the file on synchronized locations.
</blockquote>
</div>
<div class="modal-footer">

View File

@ -41,11 +41,12 @@ requirejs.config({
'requirejs-text': 'bower-libs/requirejs-text/text',
'bootstrap-tour': 'bower-libs/bootstrap-tour/build/js/bootstrap-tour',
css_browser_selector: 'bower-libs/css_browser_selector/css_browser_selector',
'pagedown-extra': 'bower-libs/pagedown-extra/Markdown.Extra',
'pagedown-extra': 'bower-libs/pagedown-extra/node-pagedown-extra',
pagedownExtra: 'bower-libs/pagedown-extra/Markdown.Extra',
pagedown: 'libs/Markdown.Editor',
'require-css': 'bower-libs/require-css/css',
xregexp: 'bower-libs/xregexp/xregexp-all',
yaml: 'bower-libs/yaml.js',
yaml: 'bower-libs/yaml.js/bin/yaml',
'yaml.js': 'bower-libs/yaml.js',
'yaml-js': 'bower-libs/yaml.js/bin/yaml',
css: 'bower-libs/require-css/css',
@ -61,12 +62,14 @@ requirejs.config({
diff_match_patch_uncompressed: 'bower-libs/google-diff-match-patch-js/diff_match_patch_uncompressed',
jsondiffpatch: 'bower-libs/jsondiffpatch/build/bundle',
hammerjs: 'bower-libs/hammerjs/hammer',
'Diagram': 'bower-libs/js-sequence-diagrams/src/sequence-diagram',
Diagram: 'bower-libs/js-sequence-diagrams/src/sequence-diagram',
'diagram-grammar': 'bower-libs/js-sequence-diagrams/build/diagram-grammar',
raphael: 'bower-libs/raphael/raphael',
'flow-chart': 'bower-libs/flowchart/release/flowchart.amd-1.2.10.min',
flowchart: 'bower-libs/flowchart/release/flowchart-1.2.10.min',
monetizejs: 'bower-libs/monetizejs/src/monetize'
monetizejs: 'bower-libs/monetizejs/src/monetize',
'to-markdown': 'bower-libs/to-markdown/src/to-markdown',
waitForImages: 'bower-libs/waitForImages/dist/jquery.waitforimages'
},
shim: {
underscore: {
@ -148,7 +151,7 @@ requirejs.config({
pagedown: [
'libs/Markdown.Converter'
],
'pagedown-extra': [
pagedownExtra: [
'libs/Markdown.Converter'
],
'flow-chart': [
@ -157,7 +160,7 @@ requirejs.config({
'diagram-grammar': [
'underscore'
],
'Diagram': [
Diagram: [
'raphael',
'diagram-grammar'
]
@ -204,7 +207,7 @@ require([
"mediaImporter",
"css",
"rangy-cssclassapplier",
themeModule,
themeModule
], function($, rangy, core, eventMgr) {
if(window.noStart) {

View File

@ -7,7 +7,7 @@ if(!process.env.NO_CLUSTER && cluster.isMaster) {
for(var i = 0; i < count; i++) {
cluster.fork();
}
cluster.on('exit', function(worker) {
cluster.on('exit', function() {
console.log('Worker died. Spawning a new process...');
cluster.fork();
});

View File

@ -14,7 +14,7 @@
<meta name="msvalidate.01" content="5E47EE6F67B069C17E3CDD418351A612">
<script>
// Use ?debug to serve original JavaScript files instead of minified
window.baseDir = 'res';
window.baseDir = '<%- cdn %>res';
if (!/(\?|&)debug($|&)/.test(location.search)) {
window.baseDir += '-min';
}
@ -23,7 +23,7 @@
deps: ['main']
};
</script>
<script src="res-min/require.js"></script>
<script src="<%- cdn %>res-min/require.js"></script>
</head>
<body></body>

View File

@ -68,24 +68,41 @@
}
.logo {
width: 600px;
height: 160px;
width: 300px;
height: 150px;
}
.logo img {
width: 600px;
height: 135px;
width: 300px;
height: 67px;
}
.logo .subtitle {
position: absolute;
text-align: right;
text-align: center;
color: #888;
top: 105px;
top: 80px;
right: 10px;
font-size: 22px;
}
@media (min-width: 600px) {
.logo {
width: 600px;
height: 160px;
}
.logo img {
width: 600px;
height: 135px;
}
.logo .subtitle {
text-align: right;
top: 105px;
}
}
.transition {
-webkit-transition: all ease-in-out 1.5s;
transition: all ease-out 1.5s;
@ -105,9 +122,13 @@
float: none;
}
.navbar .btn {
font-size: 18px;
line-height: 1.25;
.navbar .file-title-navbar {
font-size: 20px;
line-height: 1.6;
}
.file-title-navbar i {
line-height: 1;
}
.img {
@ -167,7 +188,7 @@
<script>
function animate(elts) {
Array.prototype.slice.call(elts).forEach(function(elt) {
elt.className = elt.className.replace(/(?:^|\s)(transparent|scale)(?!\S)/g , '');
elt.className = elt.className.replace(/(?:^|\s)(transparent|scale)(?!\S)/g, '');
});
}
setTimeout(function() {
@ -184,6 +205,7 @@
$('html,body').animate({scrollTop: elt.offset().top}, 500);
};
}
$('#scrollToSlide2').click(scrollTo($('#slide2')));
})
</script>
@ -195,7 +217,7 @@
<div class="navbar navbar-default navbar-fixed">
<div class="navbar-inner">
<div class="nav">
<a class="btn btn-success" href="editor" title="Editor"><i class="icon-pencil"></i> Start writing
<a class="btn btn-success file-title-navbar" href="editor" title="Editor"><i class="icon-pencil"></i> Start writing
now!</a>
</div>
</div>
@ -319,7 +341,7 @@
<div class="col-md-4 col-md-offset-1">
<br>
<h2 id="publish-straight-to-your-blog">Straight to your blog</h2>
<h2 id="straight-to-your-blog">Straight to your blog</h2>
<p>StackEdit can upload your documents directly to Blogger, GitHub, Tumblr, WordPress… You can
choose
@ -347,8 +369,7 @@
<p>Documents in StackEdit can be synchronized and shared through Google Drive and Dropbox. When two
collaborators are working on the same document at the same time, StackEdit takes care of merging
the
modifications.</p>
the modifications.</p>
</div>
<div class="col-md-7 col-md-offset-1">
<img class="img" width="600" src="res-min/img/comments.png">
@ -365,8 +386,7 @@
<h2 id="review-comments">Review comments</h2>
<p>StackEdit allows you to insert inline comments and embed collaborator discussions in your
documents, much
like Microsoft Word or Google Docs.</p>
documents, much like Microsoft Word or Google Docs.</p>
</div>
</div>
<br>
@ -396,54 +416,66 @@
<div class="dark inset-shadow markdown-img">
</div>
<div class="modal-body">
<img class="background-img img" width="500" src="res-min/img/toc.gif">
<img class="background-img img" width="500" src="res-min/img/toc.gif">
</div>
<div class="modal-footer modal-header">
<div class="container">
<h1 id="extended-markdown-support">Extended markdown support.</h1>
<div class="row">
<div class="col-md-4 col-md-offset-4">
<hr>
</div>
</div>
<br>
<div class="row">
<div class="col-md-5">
<h2 id="github-flavored-markdown">GitHub Flavored Markdown</h2>
</div>
</div>
<div class="row">
<div class="col-md-5">
<p>StackEdit supports different markdown flavors such as Markdown Extra and GFM. Each
markdown feature can be enabled or disabled at your convenience.</p>
<br>
</div>
<div class="col-md-6 col-md-offset-1">
<img class="img" width="410" src="res-min/img/code-block.png">
</div>
</div>
<div class="row">
<div class="col-md-5">
<h2 id="latex-mathematical-expressions">LaTeX mathematical expressions</h2>
</div>
</div>
<div class="row">
<div class="col-md-5">
<p>StackEdit integrates MathJax to render mathematics from LaTeX expressions inside your markdown
document,
as you would do on Stack Exchange.</p>
<br>
<h2 id="uml-diagrams">UML diagrams</h2>
<p>StackEdit enables you to write sequence diagrams and flow charts using a simple syntax.</p>
</div>
<div class="col-md-6 col-md-offset-1">
<br>
<br>
<br>
<br>
<br>
<img class="img" width="410" src="res-min/img/code-block.png">
<br>
<br>
<br>
<br>
<br>
<img class="img" width="330" src="res-min/img/math.png">
</div>
</div>
<div class="row">
<div class="col-md-5">
<h2 id="uml-diagrams">UML diagrams</h2>
</div>
</div>
<div class="row">
<div class="col-md-5">
<p>StackEdit enables you to write sequence diagrams and flow charts using a simple syntax.</p>
<br>
<br>
<br>
<br>
<br>
</div>
<div class="col-md-6 col-md-offset-1">
<img class="img" width="220" src="res-min/img/diagram.png">
</div>
</div>