Change all CDN resources to locally hosted files

This commit is contained in:
Joe Hutchinson
2020-10-14 22:37:00 -04:00
parent c0c315882e
commit e68d21541a
139 changed files with 19145 additions and 98 deletions

1035
assets/css/katex.css Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,10 @@
/* Webfont: LatoLatin-Black */@font-face {
font-family: 'LatoLatinWebBlack';
src: url('../font/LatoLatin-Black.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-Black.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-Black.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-Black.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-Black.ttf') format('truetype');
src: url('../fonts/LatoLatin-Black.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-Black.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-Black.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-Black.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-Black.ttf') format('truetype');
font-style: normal;
font-weight: normal;
font-display: swap;
@@ -13,11 +13,11 @@
/* Webfont: LatoLatin-BlackItalic */@font-face {
font-family: 'LatoLatinWebBlack';
src: url('../font/LatoLatin-BlackItalic.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-BlackItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-BlackItalic.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-BlackItalic.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-BlackItalic.ttf') format('truetype');
src: url('../fonts/LatoLatin-BlackItalic.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-BlackItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-BlackItalic.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-BlackItalic.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-BlackItalic.ttf') format('truetype');
font-style: italic;
font-weight: normal;
font-display: swap;
@@ -26,11 +26,11 @@
/* Webfont: LatoLatin-Bold */@font-face {
font-family: 'LatoLatinWeb';
src: url('../font/LatoLatin-Bold.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-Bold.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-Bold.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-Bold.ttf') format('truetype');
src: url('../fonts/LatoLatin-Bold.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-Bold.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-Bold.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-Bold.ttf') format('truetype');
font-style: normal;
font-weight: bold;
font-display: swap;
@@ -39,11 +39,11 @@
/* Webfont: LatoLatin-BoldItalic */@font-face {
font-family: 'LatoLatinWeb';
src: url('../font/LatoLatin-BoldItalic.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-BoldItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-BoldItalic.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-BoldItalic.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-BoldItalic.ttf') format('truetype');
src: url('../fonts/LatoLatin-BoldItalic.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-BoldItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-BoldItalic.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-BoldItalic.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-BoldItalic.ttf') format('truetype');
font-style: italic;
font-weight: bold;
font-display: swap;
@@ -52,11 +52,11 @@
/* Webfont: LatoLatin-Hairline */@font-face {
font-family: 'LatoLatinWebHairline';
src: url('../font/LatoLatin-Hairline.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-Hairline.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-Hairline.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-Hairline.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-Hairline.ttf') format('truetype');
src: url('../fonts/LatoLatin-Hairline.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-Hairline.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-Hairline.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-Hairline.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-Hairline.ttf') format('truetype');
font-style: normal;
font-weight: normal;
font-display: swap;
@@ -65,11 +65,11 @@
/* Webfont: LatoLatin-HairlineItalic */@font-face {
font-family: 'LatoLatinWebHairline';
src: url('../font/LatoLatin-HairlineItalic.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-HairlineItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-HairlineItalic.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-HairlineItalic.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-HairlineItalic.ttf') format('truetype');
src: url('../fonts/LatoLatin-HairlineItalic.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-HairlineItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-HairlineItalic.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-HairlineItalic.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-HairlineItalic.ttf') format('truetype');
font-style: italic;
font-weight: normal;
font-display: swap;
@@ -78,11 +78,11 @@
/* Webfont: LatoLatin-Heavy */@font-face {
font-family: 'LatoLatinWebHeavy';
src: url('../font/LatoLatin-Heavy.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-Heavy.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-Heavy.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-Heavy.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-Heavy.ttf') format('truetype');
src: url('../fonts/LatoLatin-Heavy.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-Heavy.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-Heavy.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-Heavy.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-Heavy.ttf') format('truetype');
font-style: normal;
font-weight: normal;
font-display: swap;
@@ -91,11 +91,11 @@
/* Webfont: LatoLatin-HeavyItalic */@font-face {
font-family: 'LatoLatinWebHeavy';
src: url('../font/LatoLatin-HeavyItalic.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-HeavyItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-HeavyItalic.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-HeavyItalic.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-HeavyItalic.ttf') format('truetype');
src: url('../fonts/LatoLatin-HeavyItalic.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-HeavyItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-HeavyItalic.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-HeavyItalic.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-HeavyItalic.ttf') format('truetype');
font-style: italic;
font-weight: normal;
font-display: swap;
@@ -104,11 +104,11 @@
/* Webfont: LatoLatin-Italic */@font-face {
font-family: 'LatoLatinWeb';
src: url('../font/LatoLatin-Italic.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-Italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-Italic.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-Italic.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-Italic.ttf') format('truetype');
src: url('../fonts/LatoLatin-Italic.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-Italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-Italic.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-Italic.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-Italic.ttf') format('truetype');
font-style: italic;
font-weight: normal;
font-display: swap;
@@ -117,11 +117,11 @@
/* Webfont: LatoLatin-Light */@font-face {
font-family: 'LatoLatinWebLight';
src: url('../font/LatoLatin-Light.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-Light.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-Light.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-Light.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-Light.ttf') format('truetype');
src: url('../fonts/LatoLatin-Light.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-Light.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-Light.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-Light.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-Light.ttf') format('truetype');
font-style: normal;
font-weight: normal;
font-display: swap;
@@ -130,11 +130,11 @@
/* Webfont: LatoLatin-LightItalic */@font-face {
font-family: 'LatoLatinWebLight';
src: url('../font/LatoLatin-LightItalic.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-LightItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-LightItalic.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-LightItalic.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-LightItalic.ttf') format('truetype');
src: url('../fonts/LatoLatin-LightItalic.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-LightItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-LightItalic.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-LightItalic.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-LightItalic.ttf') format('truetype');
font-style: italic;
font-weight: normal;
font-display: swap;
@@ -143,11 +143,11 @@
/* Webfont: LatoLatin-Medium */@font-face {
font-family: 'LatoLatinWebMedium';
src: url('../font/LatoLatin-Medium.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-Medium.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-Medium.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-Medium.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-Medium.ttf') format('truetype');
src: url('../fonts/LatoLatin-Medium.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-Medium.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-Medium.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-Medium.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-Medium.ttf') format('truetype');
font-style: normal;
font-weight: normal;
font-display: swap;
@@ -156,11 +156,11 @@
/* Webfont: LatoLatin-MediumItalic */@font-face {
font-family: 'LatoLatinWebMedium';
src: url('../font/LatoLatin-MediumItalic.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-MediumItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-MediumItalic.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-MediumItalic.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-MediumItalic.ttf') format('truetype');
src: url('../fonts/LatoLatin-MediumItalic.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-MediumItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-MediumItalic.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-MediumItalic.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-MediumItalic.ttf') format('truetype');
font-style: italic;
font-weight: normal;
font-display: swap;
@@ -169,11 +169,11 @@
/* Webfont: LatoLatin-Regular */@font-face {
font-family: 'LatoLatinWeb';
src: url('../font/LatoLatin-Regular.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-Regular.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-Regular.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-Regular.ttf') format('truetype');
src: url('../fonts/LatoLatin-Regular.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-Regular.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-Regular.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-Regular.ttf') format('truetype');
font-style: normal;
font-weight: normal;
font-display: swap;
@@ -182,11 +182,11 @@
/* Webfont: LatoLatin-Semibold */@font-face {
font-family: 'LatoLatinWebSemibold';
src: url('../font/LatoLatin-Semibold.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-Semibold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-Semibold.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-Semibold.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-Semibold.ttf') format('truetype');
src: url('../fonts/LatoLatin-Semibold.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-Semibold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-Semibold.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-Semibold.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-Semibold.ttf') format('truetype');
font-style: normal;
font-weight: normal;
font-display: swap;
@@ -195,11 +195,11 @@
/* Webfont: LatoLatin-SemiboldItalic */@font-face {
font-family: 'LatoLatinWebSemibold';
src: url('../font/LatoLatin-SemiboldItalic.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-SemiboldItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-SemiboldItalic.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-SemiboldItalic.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-SemiboldItalic.ttf') format('truetype');
src: url('../fonts/LatoLatin-SemiboldItalic.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-SemiboldItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-SemiboldItalic.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-SemiboldItalic.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-SemiboldItalic.ttf') format('truetype');
font-style: italic;
font-weight: normal;
font-display: swap;
@@ -208,11 +208,11 @@
/* Webfont: LatoLatin-Thin */@font-face {
font-family: 'LatoLatinWebThin';
src: url('../font/LatoLatin-Thin.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-Thin.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-Thin.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-Thin.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-Thin.ttf') format('truetype');
src: url('../fonts/LatoLatin-Thin.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-Thin.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-Thin.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-Thin.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-Thin.ttf') format('truetype');
font-style: normal;
font-weight: normal;
font-display: swap;
@@ -221,11 +221,11 @@
/* Webfont: LatoLatin-ThinItalic */@font-face {
font-family: 'LatoLatinWebThin';
src: url('../font/LatoLatin-ThinItalic.eot'); /* IE9 Compat Modes */
src: url('../font/LatoLatin-ThinItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../font/LatoLatin-ThinItalic.woff2') format('woff2'), /* Modern Browsers */
url('../font/LatoLatin-ThinItalic.woff') format('woff'), /* Modern Browsers */
url('../font/LatoLatin-ThinItalic.ttf') format('truetype');
src: url('../fonts/LatoLatin-ThinItalic.eot'); /* IE9 Compat Modes */
src: url('../fonts/LatoLatin-ThinItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/LatoLatin-ThinItalic.woff2') format('woff2'), /* Modern Browsers */
url('../fonts/LatoLatin-ThinItalic.woff') format('woff'), /* Modern Browsers */
url('../fonts/LatoLatin-ThinItalic.ttf') format('truetype');
font-style: italic;
font-weight: normal;
font-display: swap;

349
assets/css/normalize.css vendored Normal file
View File

@@ -0,0 +1,349 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

350
assets/js/auto-render.js Normal file
View File

@@ -0,0 +1,350 @@
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("katex"));
else if(typeof define === 'function' && define.amd)
define(["katex"], factory);
else if(typeof exports === 'object')
exports["renderMathInElement"] = factory(require("katex"));
else
root["renderMathInElement"] = factory(root["katex"]);
})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__0__) {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 1);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE__0__;
/***/ }),
/* 1 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: external "katex"
var external_katex_ = __webpack_require__(0);
var external_katex_default = /*#__PURE__*/__webpack_require__.n(external_katex_);
// CONCATENATED MODULE: ./contrib/auto-render/splitAtDelimiters.js
/* eslint no-constant-condition:0 */
var findEndOfMath = function findEndOfMath(delimiter, text, startIndex) {
// Adapted from
// https://github.com/Khan/perseus/blob/master/src/perseus-markdown.jsx
var index = startIndex;
var braceLevel = 0;
var delimLength = delimiter.length;
while (index < text.length) {
var character = text[index];
if (braceLevel <= 0 && text.slice(index, index + delimLength) === delimiter) {
return index;
} else if (character === "\\") {
index++;
} else if (character === "{") {
braceLevel++;
} else if (character === "}") {
braceLevel--;
}
index++;
}
return -1;
};
var splitAtDelimiters = function splitAtDelimiters(startData, leftDelim, rightDelim, display) {
var finalData = [];
for (var i = 0; i < startData.length; i++) {
if (startData[i].type === "text") {
var text = startData[i].data;
var lookingForLeft = true;
var currIndex = 0;
var nextIndex = void 0;
nextIndex = text.indexOf(leftDelim);
if (nextIndex !== -1) {
currIndex = nextIndex;
finalData.push({
type: "text",
data: text.slice(0, currIndex)
});
lookingForLeft = false;
}
while (true) {
if (lookingForLeft) {
nextIndex = text.indexOf(leftDelim, currIndex);
if (nextIndex === -1) {
break;
}
finalData.push({
type: "text",
data: text.slice(currIndex, nextIndex)
});
currIndex = nextIndex;
} else {
nextIndex = findEndOfMath(rightDelim, text, currIndex + leftDelim.length);
if (nextIndex === -1) {
break;
}
finalData.push({
type: "math",
data: text.slice(currIndex + leftDelim.length, nextIndex),
rawData: text.slice(currIndex, nextIndex + rightDelim.length),
display: display
});
currIndex = nextIndex + rightDelim.length;
}
lookingForLeft = !lookingForLeft;
}
finalData.push({
type: "text",
data: text.slice(currIndex)
});
} else {
finalData.push(startData[i]);
}
}
return finalData;
};
/* harmony default export */ var auto_render_splitAtDelimiters = (splitAtDelimiters);
// CONCATENATED MODULE: ./contrib/auto-render/auto-render.js
/* eslint no-console:0 */
var auto_render_splitWithDelimiters = function splitWithDelimiters(text, delimiters) {
var data = [{
type: "text",
data: text
}];
for (var i = 0; i < delimiters.length; i++) {
var delimiter = delimiters[i];
data = auto_render_splitAtDelimiters(data, delimiter.left, delimiter.right, delimiter.display || false);
}
return data;
};
/* Note: optionsCopy is mutated by this method. If it is ever exposed in the
* API, we should copy it before mutating.
*/
var auto_render_renderMathInText = function renderMathInText(text, optionsCopy) {
var data = auto_render_splitWithDelimiters(text, optionsCopy.delimiters);
if (data.length === 1 && data[0].type === 'text') {
// There is no formula in the text.
// Let's return null which means there is no need to replace
// the current text node with a new one.
return null;
}
var fragment = document.createDocumentFragment();
for (var i = 0; i < data.length; i++) {
if (data[i].type === "text") {
fragment.appendChild(document.createTextNode(data[i].data));
} else {
var span = document.createElement("span");
var math = data[i].data; // Override any display mode defined in the settings with that
// defined by the text itself
optionsCopy.displayMode = data[i].display;
try {
if (optionsCopy.preProcess) {
math = optionsCopy.preProcess(math);
}
external_katex_default.a.render(math, span, optionsCopy);
} catch (e) {
if (!(e instanceof external_katex_default.a.ParseError)) {
throw e;
}
optionsCopy.errorCallback("KaTeX auto-render: Failed to parse `" + data[i].data + "` with ", e);
fragment.appendChild(document.createTextNode(data[i].rawData));
continue;
}
fragment.appendChild(span);
}
}
return fragment;
};
var renderElem = function renderElem(elem, optionsCopy) {
for (var i = 0; i < elem.childNodes.length; i++) {
var childNode = elem.childNodes[i];
if (childNode.nodeType === 3) {
// Text node
var frag = auto_render_renderMathInText(childNode.textContent, optionsCopy);
if (frag) {
i += frag.childNodes.length - 1;
elem.replaceChild(frag, childNode);
}
} else if (childNode.nodeType === 1) {
(function () {
// Element node
var className = ' ' + childNode.className + ' ';
var shouldRender = optionsCopy.ignoredTags.indexOf(childNode.nodeName.toLowerCase()) === -1 && optionsCopy.ignoredClasses.every(function (x) {
return className.indexOf(' ' + x + ' ') === -1;
});
if (shouldRender) {
renderElem(childNode, optionsCopy);
}
})();
} // Otherwise, it's something else, and ignore it.
}
};
var renderMathInElement = function renderMathInElement(elem, options) {
if (!elem) {
throw new Error("No element provided to render");
}
var optionsCopy = {}; // Object.assign(optionsCopy, option)
for (var option in options) {
if (options.hasOwnProperty(option)) {
optionsCopy[option] = options[option];
}
} // default options
optionsCopy.delimiters = optionsCopy.delimiters || [{
left: "$$",
right: "$$",
display: true
}, {
left: "\\(",
right: "\\)",
display: false
}, // LaTeX uses $…$, but it ruins the display of normal `$` in text:
// {left: "$", right: "$", display: false},
// \[…\] must come last in this array. Otherwise, renderMathInElement
// will search for \[ before it searches for $$ or \(
// That makes it susceptible to finding a \\[0.3em] row delimiter and
// treating it as if it were the start of a KaTeX math zone.
{
left: "\\[",
right: "\\]",
display: true
}];
optionsCopy.ignoredTags = optionsCopy.ignoredTags || ["script", "noscript", "style", "textarea", "pre", "code", "option"];
optionsCopy.ignoredClasses = optionsCopy.ignoredClasses || [];
optionsCopy.errorCallback = optionsCopy.errorCallback || console.error; // Enable sharing of global macros defined via `\gdef` between different
// math elements within a single call to `renderMathInElement`.
optionsCopy.macros = optionsCopy.macros || {};
renderElem(elem, optionsCopy);
};
/* harmony default export */ var auto_render = __webpack_exports__["default"] = (renderMathInElement);
/***/ })
/******/ ])["default"];
});

17308
assets/js/katex.js Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -22,12 +22,14 @@
{{ if (fileExists "layouts/partials/meta-tags.html") -}}
{{ partial "meta-tags.html" . }}
{{ end -}}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/katex.min.css" integrity="sha384-9eLZqc9ds8eNjO3TmqPeYcDj8n+Qfa4nuSiGYa6DjLNcv9BtN69ZIulL9+8CqC9Y" crossorigin="anonymous">
{{ with resources.Get "css/katex.css" -}}
<link href="{{ .Permalink }}" rel="stylesheet">
{{ end -}}
{{ $normalizeStyle := resources.Get "css/normalize.css" }}
{{ $mainStyle := resources.Get "css/style.css" }}
{{ $fontStyle := resources.Get "css/latolatinfonts.css" }}
{{ $overrideStyle := resources.Get "css/override.css" }}
{{ $style := slice $fontStyle $mainStyle $overrideStyle | resources.Concat "css/concated.css" | minify }}
{{ $style := slice $normalizeStyle $fontStyle $mainStyle $overrideStyle | resources.Concat "css/concated.css" | minify }}
<link href="{{ $style.Permalink }}" rel="stylesheet">
{{ range .AlternativeOutputFormats -}}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}

View File

@@ -1,5 +1,8 @@
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/katex.min.js" integrity="sha384-K3vbOmF2BtaVai+Qk37uypf7VrgBubhQreNQe9aGsz9lB63dIFiQVlJbr92dw2Lx" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/contrib/auto-render.min.js" integrity="sha384-kmZOZB5ObwgQnS/DuDg6TScgOiWWBiVt0plIRkZCmE6rDZGrEOQeHM5PcHi+nyqe" crossorigin="anonymous"
onload="renderMathInElement(document.body);"></script>
{{ $corejs := resources.Get "js/core.js" | minify }}
<script src="{{ $corejs.Permalink }}"></script>
{{ with resources.Get "js/katex.js" }}
<script defer src="{{ .Permalink }}"></script>
{{ end }}
{{ with resources.Get "js/auto-render.js" }}
<script defer src="{{ .Permalink }}" onload="renderMathInElement(document.body);"></script>
{{ end }}
{{ $corejs := resources.Get "js/core.js" | minify }}
<script src="{{ $corejs.Permalink }}"></script>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More