feat: 替换cdn地址,变为本地加载文件 #5

Merged
richie merged 1 commits from feat-replace-cdn into master 2 years ago
  1. BIN
      static/cdnjs/jsdelivr/fonts/exo-2-v4-latin_latin-ext_cyrillic-600.woff2
  2. 13
      static/cdnjs/jsdelivr/fonts/exo-2.css
  3. BIN
      static/cdnjs/jsdelivr/fonts/fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-500.woff2
  4. BIN
      static/cdnjs/jsdelivr/fonts/fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-regular.woff2
  5. 26
      static/cdnjs/jsdelivr/fonts/fira-mono.css
  6. BIN
      static/cdnjs/jsdelivr/fonts/icons.woff2
  7. BIN
      static/cdnjs/jsdelivr/fonts/lato-v14-latin_latin-ext-700.woff2
  8. BIN
      static/cdnjs/jsdelivr/fonts/lato-v14-latin_latin-ext-regular.woff2
  9. 52
      static/cdnjs/jsdelivr/fonts/lato.css
  10. BIN
      static/cdnjs/jsdelivr/fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-regular.woff2
  11. 130
      static/cdnjs/jsdelivr/fonts/open-sans.css
  12. 80
      static/cdnjs/jsdelivr/math.css
  13. 37
      static/cdnjs/jsdelivr/script.js
  14. 314
      static/cdnjs/jsdelivr/style.css
  15. 67
      static/cdnjs/jsdelivr/tomorrow.css
  16. 2
      views/footer.ejs
  17. 31
      views/header.ejs
  18. 3
      views/util.ejs

BIN
static/cdnjs/jsdelivr/fonts/exo-2-v4-latin_latin-ext_cyrillic-600.woff2

Binary file not shown.

13
static/cdnjs/jsdelivr/fonts/exo-2.css

@ -0,0 +1,13 @@
/* exo-2-600 - latin_latin-ext_cyrillic */
@font-face {
font-family: 'Exo 2';
font-style: normal;
font-weight: 600;
src: url('fonts/exo-2-v4-latin_latin-ext_cyrillic-600.eot'); /* IE9 Compat Modes */
src: local('Exo 2 Semi Bold'), local('Exo2-SemiBold'),
url('fonts/exo-2-v4-latin_latin-ext_cyrillic-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('exo-2-v4-latin_latin-ext_cyrillic-600.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/exo-2-v4-latin_latin-ext_cyrillic-600.woff') format('woff'), /* Modern Browsers */
url('fonts/exo-2-v4-latin_latin-ext_cyrillic-600.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/exo-2-v4-latin_latin-ext_cyrillic-600.svg#Exo2') format('svg'); /* Legacy iOS */
}

BIN
static/cdnjs/jsdelivr/fonts/fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-500.woff2

Binary file not shown.

BIN
static/cdnjs/jsdelivr/fonts/fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-regular.woff2

Binary file not shown.

26
static/cdnjs/jsdelivr/fonts/fira-mono.css

@ -0,0 +1,26 @@
/* fira-mono-regular - greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Fira Mono';
font-style: normal;
font-weight: 400;
src: url('fonts/fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-regular.eot'); /* IE9 Compat Modes */
src: local('Fira Mono Regular'), local('FiraMono-Regular'),
url('fonts/fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-regular.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-regular.woff') format('woff'), /* Modern Browsers */
url('fonts/fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-regular.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-regular.svg#FiraMono') format('svg'); /* Legacy iOS */
}
/* fira-mono-500 - greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Fira Mono';
font-style: normal;
font-weight: 500;
src: url('fonts/fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-500.eot'); /* IE9 Compat Modes */
src: local('Fira Mono Medium'), local('FiraMono-Medium'),
url('fonts/fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-500.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-500.woff') format('woff'), /* Modern Browsers */
url('fonts/fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-500.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/fira-mono-v6-greek_latin_latin-ext_greek-ext_cyrillic-ext_cyrillic-500.svg#FiraMono') format('svg'); /* Legacy iOS */
}

BIN
static/cdnjs/jsdelivr/fonts/icons.woff2

Binary file not shown.

BIN
static/cdnjs/jsdelivr/fonts/lato-v14-latin_latin-ext-700.woff2

Binary file not shown.

BIN
static/cdnjs/jsdelivr/fonts/lato-v14-latin_latin-ext-regular.woff2

Binary file not shown.

52
static/cdnjs/jsdelivr/fonts/lato.css

@ -0,0 +1,52 @@
/* lato-regular - latin_latin-ext */
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 400;
src: url('fonts/lato-v14-latin_latin-ext-regular.eot'); /* IE9 Compat Modes */
src: local('Lato Regular'), local('Lato-Regular'),
url('fonts/lato-v14-latin_latin-ext-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('lato-v14-latin_latin-ext-regular.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/lato-v14-latin_latin-ext-regular.woff') format('woff'), /* Modern Browsers */
url('fonts/lato-v14-latin_latin-ext-regular.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/lato-v14-latin_latin-ext-regular.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-italic - latin_latin-ext */
@font-face {
font-family: 'Lato';
font-style: italic;
font-weight: 400;
src: url('fonts/lato-v14-latin_latin-ext-italic.eot'); /* IE9 Compat Modes */
src: local('Lato Italic'), local('Lato-Italic'),
url('fonts/lato-v14-latin_latin-ext-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('fonts/lato-v14-latin_latin-ext-italic.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/lato-v14-latin_latin-ext-italic.woff') format('woff'), /* Modern Browsers */
url('fonts/lato-v14-latin_latin-ext-italic.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/lato-v14-latin_latin-ext-italic.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-700 - latin_latin-ext */
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 700;
src: url('fonts/lato-v14-latin_latin-ext-700.eot'); /* IE9 Compat Modes */
src: local('Lato Bold'), local('Lato-Bold'),
url('fonts/lato-v14-latin_latin-ext-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('lato-v14-latin_latin-ext-700.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/lato-v14-latin_latin-ext-700.woff') format('woff'), /* Modern Browsers */
url('fonts/lato-v14-latin_latin-ext-700.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/lato-v14-latin_latin-ext-700.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-700italic - latin_latin-ext */
@font-face {
font-family: 'Lato';
font-style: italic;
font-weight: 700;
src: url('fonts/lato-v14-latin_latin-ext-700italic.eot'); /* IE9 Compat Modes */
src: local('Lato Bold Italic'), local('Lato-BoldItalic'),
url('fonts/lato-v14-latin_latin-ext-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('fonts/lato-v14-latin_latin-ext-700italic.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/lato-v14-latin_latin-ext-700italic.woff') format('woff'), /* Modern Browsers */
url('fonts/lato-v14-latin_latin-ext-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/lato-v14-latin_latin-ext-700italic.svg#Lato') format('svg'); /* Legacy iOS */
}

BIN
static/cdnjs/jsdelivr/fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-regular.woff2

Binary file not shown.

130
static/cdnjs/jsdelivr/fonts/open-sans.css

@ -0,0 +1,130 @@
/* open-sans-300 - greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-300.eot'); /* IE9 Compat Modes */
src: local('Open Sans Light'), local('OpenSans-Light'),
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-300.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-300.woff') format('woff'), /* Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-300.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-300.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-300italic - greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 300;
src: url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-300italic.eot'); /* IE9 Compat Modes */
src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'),
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-300italic.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-300italic.woff') format('woff'), /* Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-300italic.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-300italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-regular - greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-regular.eot'); /* IE9 Compat Modes */
src: local('Open Sans Regular'), local('OpenSans-Regular'),
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-regular.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-regular.woff') format('woff'), /* Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-regular.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-italic - greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 400;
src: url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-italic.eot'); /* IE9 Compat Modes */
src: local('Open Sans Italic'), local('OpenSans-Italic'),
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-italic.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-italic.woff') format('woff'), /* Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-italic.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-600 - greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
src: url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-600.eot'); /* IE9 Compat Modes */
src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-600.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-600.woff') format('woff'), /* Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-600.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-600.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-600italic - greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 600;
src: url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-600italic.eot'); /* IE9 Compat Modes */
src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'),
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-600italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-600italic.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-600italic.woff') format('woff'), /* Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-600italic.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-600italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-700 - greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
src: url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-700.eot'); /* IE9 Compat Modes */
src: local('Open Sans Bold'), local('OpenSans-Bold'),
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-700.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-700.woff') format('woff'), /* Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-700.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-700.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-700italic - greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 700;
src: url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-700italic.eot'); /* IE9 Compat Modes */
src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-700italic.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-700italic.woff') format('woff'), /* Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-700italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-800 - greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 800;
src: url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-800.eot'); /* IE9 Compat Modes */
src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'),
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-800.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-800.woff') format('woff'), /* Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-800.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-800.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-800italic - greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 800;
src: url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-800italic.eot'); /* IE9 Compat Modes */
src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'),
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-800italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-800italic.woff2') format('woff2'), /* Super Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-800italic.woff') format('woff'), /* Modern Browsers */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-800italic.ttf') format('truetype'), /* Safari, Android, iOS */
url('fonts/open-sans-v15-greek_latin_latin-ext_vietnamese_greek-ext_cyrillic-ext_cyrillic-800italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}

80
static/cdnjs/jsdelivr/math.css

@ -0,0 +1,80 @@
.math-rendering-error-message {
display: inline-block;
border: 2px solid #000;
padding: 8px;
font-weight: bold;
text-align: left;
}
.mjpage .MJX-monospace {
font-family: monospace
}
.mjpage .MJX-sans-serif {
font-family: sans-serif
}
.mjpage {
display: inline;
font-style: normal;
font-weight: normal;
line-height: normal;
font-size: 100%;
font-size-adjust: none;
text-indent: 0;
text-align: left;
text-transform: none;
letter-spacing: normal;
word-spacing: normal;
word-wrap: normal;
white-space: nowrap;
float: none;
direction: ltr;
max-width: none;
max-height: none;
min-width: 0;
min-height: 0;
border: 0;
padding: 0;
margin: 0
}
.mjpage * {
transition: none;
-webkit-transition: none;
-moz-transition: none;
-ms-transition: none;
-o-transition: none
}
.mjx-svg-href {
fill: blue;
stroke: blue
}
.MathJax_SVG_LineBox {
display: table!important
}
.MathJax_SVG_LineBox span {
display: table-cell!important;
width: 10000em!important;
min-width: 0;
max-width: none;
padding: 0;
border: 0;
margin: 0
}
.mjpage__block {
text-align: center;
margin: 1em 0em;
position: relative;
display: block!important;
text-indent: 0;
max-width: none;
max-height: none;
min-width: 0;
min-height: 0;
width: 100%
}

37
static/cdnjs/jsdelivr/script.js

@ -0,0 +1,37 @@
var addUrlParam = function (url, key, val) {
var newParam = encodeURIComponent(key) + '=' + encodeURIComponent(val);
url = url.split('#')[0];
var twoPart = url.split('?'), params = {};
var tmp = twoPart[1] ? twoPart[1].split('&') : [];
for (var i in tmp) {
var a = tmp[i].split('=');
params[a[0]] = a[1];
}
params[key] = val;
url = twoPart[0] + '?';
for (var key2 in params) {
url += encodeURIComponent(key2) + '=' + encodeURIComponent(params[key2]) + '&';
}
url = url.substring(0, url.length - 1);
return url;
};
$(function () {
$(document).on('click', 'a[href-post]', function (e) {
e.preventDefault();
var form = document.createElement('form');
form.style.display = 'none';
form.method = 'post';
form.action = $(this).attr('href-post');
form.target = '_self';
document.body.appendChild(form);
form.submit();
});
});

314
static/cdnjs/jsdelivr/style.css

@ -0,0 +1,314 @@
.ui.header,
.ui.button,
.ui.input input,
.ui.menu,
.ui.form input:not([type]),
.ui.form input[type=date],
.ui.form input[type=datetime-local],
.ui.form input[type=email],
.ui.form input[type=file],
.ui.form input[type=number],
.ui.form input[type=password],
.ui.form input[type=search],
.ui.form input[type=tel],
.ui.form input[type=text],
.ui.form input[type=time],
.ui.form input[type=url],
h1,
h2,
h3,
h4,
h5,
body
{
font-family:
Lato,
-apple-system,
'PingFang SC',/* Apple */
'Source Han Sans SC',
'Noto Sans CJK SC', /* Google */
'Microsoft Yahei',
'Lantinghei SC',
'Hiragino Sans GB',
'Microsoft Sans Serif', /* M$ */
'WenQuanYi Micro Hei', /* *nix */
sans-serif;
}
a.black-link {
color: #000;
}
a.black-link:hover {
color: #4183c4;
}
.font-content {
font-family: 'Open Sans', 'Source Han Sans SC', 'Noto Sans CJK SC', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft Yahei', sans-serif;
}
.markdown-edit {
font-family: 'Fira Mono', 'Noto Sans CJK SC', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft Yahei', monospace;
}
.padding {
padding-left: 1em;
padding-right: 1em;
}
.ui.segment:first-child {
margin-top: 0;
}
.ui.segment:last-child {
margin-bottom: 3px;
}
.hljs {
background: #FFF !important;
}
.ui.footer.segment {
margin: 2em 0em 0em;
padding: 1em 0em;
border: none;
}
th {
white-space: nowrap;
}
pre {
tab-size: 4;
overflow: auto;
}
img {
max-width: 100%;
}
table.center.aligned ul, table.center.aligned ol {
display: inline-block;
text-align: left;
}
body > .ui.page.dimmer {
position: fixed !important;
}
:not(.status_detail).status.success,
.title:hover .status_detail.status.success,
.title.active .status_detail.status.success,
:not(.status_detail).status.submitted,
.title:hover .status_detail.status.submitted,
.title.active .status_detail.status.submitted,
:not(.status_detail).status.accepted,
.title:hover .status_detail.status.accepted,
.title.active .status_detail.status.accepted {
color: forestgreen;
}
:not(.status_detail).status.wrong_answer,
.title:hover .status_detail.status.wrong_answer,
.title.active .status_detail.status.wrong_answer {
color: red;
}
:not(.status_detail).status.invalid_interaction,
.title:hover .status_detail.status.invalid_interaction,
.title.active .status_detail.status.invalid_interaction,
:not(.status_detail).status.runtime_error,
.title:hover .status_detail.status.runtime_error,
.title.active .status_detail.status.runtime_error,
:not(.status_detail).status.file_error,
.title:hover .status_detail.status.file_error,
.title.active .status_detail.status.file_error {
color: darkorchid;
}
:not(.status_detail).status.memory_limit_exceeded,
.title:hover .status_detail.status.memory_limit_exceeded,
.title.active .status_detail.status.memory_limit_exceeded,
:not(.status_detail).status.time_limit_exceeded,
.title:hover .status_detail.status.time_limit_exceeded,
.title.active .status_detail.status.time_limit_exceeded,
:not(.status_detail).status.output_limit_exceeded,
.title:hover .status_detail.status.output_limit_exceeded,
.title.active .status_detail.status.output_limit_exceeded {
color: sandybrown;
}
:not(.status_detail).status.waiting,
.title:hover .status_detail.status.waiting,
.title.active .status_detail.status.waiting,
:not(.status_detail).status.system_error {
color: grey;
}
:not(.status_detail).status.unknown {
color: #e28989;
}
:not(.status_detail).status.running,
.title:hover .status_detail.status.running,
.title.active .status_detail.status.running,
:not(.status_detail).status.pending,
.title:hover .status_detail.status.pending,
.title.active .status_detail.status.pending,
:not(.status_detail).status.judging,
.title:hover .status_detail.status.judging,
.title.active .status_detail.status.judging {
color: #6cf;
}
:not(.status_detail).status.partially_correct,
.title:hover .status_detail.status.partially_correct,
.title.active .status_detail.status.partially_correct {
color: #01bab2;
}
:not(.status_detail).status.judgement_failed,
.title:hover .status_detail.status.judgement_failed,
.title.active .status_detail.status.judgement_failed {
color: #FF5722;
}
:not(.status_detail).status.skipped,
.title:hover .status_detail.status.skipped,
.title.active .status_detail.status.skipped {
color: #78909C;
}
:not(.status_detail).status.compiling {
color: #00b5ad;
}
:not(.status_detail).status.no_testdata {
color: brown;
}
:not(.status_detail).status.compile_error {
color: rgb(0, 68, 136);
}
/* score color */
.score_0 {
color: red;
}
.score_1 {
color: #ff4b00;
}
.score_2 {
color: #ff6200;
}
.score_3 {
color: #ffa900;
}
.score_4 {
color: #ffd800;
}
.score_5 {
color: #c8ff00;
}
.score_6 {
color: #a5ff00;
}
.score_7 {
color: #52ff00;
}
.score_8 {
color: #41f741;
}
.score_9 {
color: #34d034;
}
.score_10 {
color: forestgreen;
}
.score {
text-shadow: 0 0 0.1px;
}
.rating_up {
color: #dd4b39;
}
.rating_down {
color: #3d9400;
}
/* code tag */
:not(pre) > code {
display: inline-block;
font-size: 0.94em;
font-weight: bold;
padding: 0 1px;
vertical-align: bottom;
}
code {
font-family: "Fira Mono","Monaco","Menlo","Ubuntu Mono","Consolas","source-code-pro",monospace;
}
/* Animated spinner */
@keyframes spinner-icon-rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.spinner.icon:before {
animation: spinner-icon-rotate 3s linear infinite;
display: block;
}
::-webkit-scrollbar {
-webkit-appearance: none;
width: 10px;
height: 10px;
}
::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.1);
border-radius: 0px;
}
::-webkit-scrollbar-thumb {
cursor: pointer;
border-radius: 5px;
background: rgba(0, 0, 0, 0.25);
-webkit-transition: color 0.2s ease;
transition: color 0.2s ease;
}
::-webkit-scrollbar-thumb:window-inactive {
background: rgba(0, 0, 0, 0.15);
}
::-webkit-scrollbar-thumb:hover {
background: rgba(128, 135, 139, 0.8);
}
.ui.top.attached.block.header i.icon {
font-size: 1em;
vertical-align: initial;
}
.ui.selection.dropdown .menu>.item {
padding-left: 0.8rem !important;
padding-right: 0 !important;
}

67
static/cdnjs/jsdelivr/tomorrow.css

@ -0,0 +1,67 @@
.hll { background-color: #d6d6d6 }
.pl-c { color: #8e908c } /* Comment */
.pl-err { color: #c82829 } /* Error */
.pl-k { color: #8959a8 } /* Keyword */
.pl-l { color: #f5871f } /* Literal */
.pl-n { color: #4d4d4c } /* Name */
.pl-o { color: #3e999f } /* Operator */
.pl-p { color: #4d4d4c } /* Punctuation */
.pl-ch { color: #8e908c } /* Comment.Hashbang */
.pl-cm { color: #8e908c } /* Comment.Multiline */
.pl-cp { color: #8e908c } /* Comment.Preproc */
.pl-cpf { color: #8e908c } /* Comment.PreprocFile */
.pl-c1 { color: #8e908c } /* Comment.Single */
.pl-cs { color: #8e908c } /* Comment.Special */
.pl-gd { color: #c82829 } /* Generic.Deleted */
.pl-ge { font-style: italic } /* Generic.Emph */
.pl-gh { color: #4d4d4c; font-weight: bold } /* Generic.Heading */
.pl-gi { color: #718c00 } /* Generic.Inserted */
.pl-gp { color: #8e908c; font-weight: bold } /* Generic.Prompt */
.pl-gs { font-weight: bold } /* Generic.Strong */
.pl-gu { color: #3e999f; font-weight: bold } /* Generic.Subheading */
.pl-kc { color: #8959a8 } /* Keyword.Constant */
.pl-kd { color: #8959a8 } /* Keyword.Declaration */
.pl-kn { color: #3e999f } /* Keyword.Namespace */
.pl-kp { color: #8959a8 } /* Keyword.Pseudo */
.pl-kr { color: #8959a8 } /* Keyword.Reserved */
.pl-kt { color: #eab700 } /* Keyword.Type */
.pl-ld { color: #718c00 } /* Literal.Date */
.pl-m { color: #f5871f } /* Literal.Number */
.pl-s { color: #718c00 } /* Literal.String */
.pl-na { color: #4271ae } /* Name.Attribute */
.pl-nb { color: #4d4d4c } /* Name.Builtin */
.pl-nc { color: #eab700 } /* Name.Class */
.pl-no { color: #c82829 } /* Name.Constant */
.pl-nd { color: #3e999f } /* Name.Decorator */
.pl-ni { color: #4d4d4c } /* Name.Entity */
.pl-ne { color: #c82829 } /* Name.Exception */
.pl-nf { color: #4271ae } /* Name.Function */
.pl-nl { color: #4d4d4c } /* Name.Label */
.pl-nn { color: #eab700 } /* Name.Namespace */
.pl-nx { color: #4271ae } /* Name.Other */
.pl-py { color: #4d4d4c } /* Name.Property */
.pl-nt { color: #3e999f } /* Name.Tag */
.pl-nv { color: #c82829 } /* Name.Variable */
.pl-ow { color: #3e999f } /* Operator.Word */
.pl-w { color: #4d4d4c } /* Text.Whitespace */
.pl-mb { color: #f5871f } /* Literal.Number.Bin */
.pl-mf { color: #f5871f } /* Literal.Number.Float */
.pl-mh { color: #f5871f } /* Literal.Number.Hex */
.pl-mi { color: #f5871f } /* Literal.Number.Integer */
.pl-mo { color: #f5871f } /* Literal.Number.Oct */
.pl-sb { color: #718c00 } /* Literal.String.Backtick */
.pl-sc { color: #4d4d4c } /* Literal.String.Char */
.pl-sd { color: #8e908c } /* Literal.String.Doc */
.pl-s2 { color: #718c00 } /* Literal.String.Double */
.pl-se { color: #f5871f } /* Literal.String.Escape */
.pl-sh { color: #718c00 } /* Literal.String.Heredoc */
.pl-si { color: #f5871f } /* Literal.String.Interpol */
.pl-sx { color: #718c00 } /* Literal.String.Other */
.pl-sr { color: #718c00 } /* Literal.String.Regex */
.pl-s1 { color: #718c00 } /* Literal.String.Single */
.pl-ss { color: #718c00 } /* Literal.String.Symbol */
.pl-bp { color: #4d4d4c } /* Name.Builtin.Pseudo */
.pl-vc { color: #c82829 } /* Name.Variable.Class */
.pl-vg { color: #c82829 } /* Name.Variable.Global */
.pl-vi { color: #c82829 } /* Name.Variable.Instance */
.pl-il { color: #f5871f } /* Literal.Number.Integer.Long */

2
views/footer.ejs

@ -7,6 +7,6 @@
</div>
<script src="<%- lib('semantic-ui/2.4.1/semantic.min.js') %>"></script>
<script src="<%- lib('Chart.js/2.7.3/Chart.bundle.min.js') %>"></script>
<script src="<%- selfLib('script.js') %>?20170710"></script>
<script src="<%- lib('jsdelivr/script.js') %>?20170710"></script>
</body>
</html>

31
views/header.ejs

@ -7,31 +7,14 @@
<meta name="viewport" content="width=1200">
<title><%= title %> - <%= syzoj.config.title %></title>
<link href="<%- lib('semantic-ui/2.4.1/semantic.min.css') %>" rel="stylesheet">
<link href="<%- selfLib('tomorrow.css') %>" rel="stylesheet">
<link href="<%- selfLib('math.css') %>" rel="stylesheet">
<link href="<%- selfLib('style.css') %>?20181212" rel="stylesheet">
<link href="<%- lib('jsdelivr/tomorrow.css') %>" rel="stylesheet">
<link href="<%- lib('jsdelivr/math.css') %>" rel="stylesheet">
<link href="<%- lib('jsdelivr/style.css') %>?20181212" rel="stylesheet">
<link href="<%- lib('morris.js/0.5.1/morris.css') %>" rel="stylesheet">
<% if (useLocalLibs || !syzoj.config.google_fonts || !['like-google-fonts', 'like-local', 'built-in'].includes(syzoj.config.google_fonts.type)) { %>
<link href="<%- syzoj.utils.makeUrl(['google-fonts', 'fira-mono.css']) %>" rel="stylesheet">
<link href="<%- syzoj.utils.makeUrl(['google-fonts', 'lato.css']) %>" rel="stylesheet">
<link href="<%- syzoj.utils.makeUrl(['google-fonts', 'open-sans.css']) %>" rel="stylesheet">
<link href="<%- syzoj.utils.makeUrl(['google-fonts', 'exo-2.css']) %>" rel="stylesheet">
<% } else if (syzoj.config.google_fonts.type === 'like-local') { %>
<link href="<%- syzoj.config.google_fonts.url %>/google-fonts/fira-mono.css" rel="stylesheet">
<link href="<%- syzoj.config.google_fonts.url %>/google-fonts/lato.css" rel="stylesheet">
<link href="<%- syzoj.config.google_fonts.url %>/google-fonts/open-sans.css" rel="stylesheet">
<link href="<%- syzoj.config.google_fonts.url %>/google-fonts/exo-2.css" rel="stylesheet">
<% } else if (syzoj.config.google_fonts.type === 'like-google-fonts') { %>
<link href="<%- syzoj.config.google_fonts.url %>/css?family=Fira+Mono" rel="stylesheet">
<link href="<%- syzoj.config.google_fonts.url %>/css?family=Lato:400,700,400italic,700italic&subset=latin" rel="stylesheet">
<link href="<%- syzoj.config.google_fonts.url %>/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i&amp;subset=latin-ext" rel="stylesheet">
<link href="<%- syzoj.config.google_fonts.url %>/css?family=Exo+2:600" rel="stylesheet">
<% } else if (syzoj.config.google_fonts.type === 'built-in') { %>
<link href="<%- this.builtInCdnUrl %>/google-fonts/fira-mono.css" rel="stylesheet">
<link href="<%- this.builtInCdnUrl %>/google-fonts/lato.css" rel="stylesheet">
<link href="<%- this.builtInCdnUrl %>/google-fonts/open-sans.css" rel="stylesheet">
<link href="<%- this.builtInCdnUrl %>/google-fonts/exo-2.css" rel="stylesheet">
<% } %>
<link href="<%- lib('jsdelivr/fonts/fira-mono.css') %>" rel="stylesheet">
<link href="<%- lib('jsdelivr/fonts/lato.css') %>" rel="stylesheet">
<link href="<%- lib('jsdelivr/fonts/open-sans.css') %>" rel="stylesheet">
<link href="<%- lib('jsdelivr/fonts/exo-2.css') %>" rel="stylesheet">
<script src="<%- lib('jquery/3.3.1/jquery.min.js') %>"></script>
<link href="/cdnjs/element/element.css" rel="stylesheet">
<!-- 引入组件库 -->

3
views/util.ejs

@ -66,7 +66,8 @@ this.iconHidden = [
'Skipped'
];
this.builtInCdnUrl = 'https://cdn.jsdelivr.net/npm/syzoj-public-cdn@1.0.5';
this.builtInCdnUrl = '';
// this.builtInCdnUrl = 'https://cdn.jsdelivr.net/npm/syzoj-public-cdn@1.0.5';
this.lib = uri => {
if (useLocalLibs || !syzoj.config.cdnjs_url) {

Loading…
Cancel
Save