68 lines
2.4 KiB
JavaScript
68 lines
2.4 KiB
JavaScript
import { defineConfig } from "vite";
|
|
import adapter from "elm-pages/adapter/netlify.js";
|
|
|
|
export default {
|
|
vite: defineConfig({}),
|
|
adapter,
|
|
headTagsTemplate(context) {
|
|
return `
|
|
<link rel="stylesheet" href="/style.css" />
|
|
<meta name="generator" content="elm-pages v${context.cliVersion}" />
|
|
|
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css" integrity="sha384-n8MVd4RsNIU0tAv4ct0nTaAbDJwPJzDEaqSD1odI+WdtXRGWt2kTvGFasHpSy3SV" crossorigin="anonymous"/>
|
|
|
|
<!-- The loading of KaTeX is deferred to speed up page rendering -->
|
|
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js" integrity="sha384-XjKyOOlGwcjNTAIQHIpgOno0Hl1YQqzUOEleOLALmuqehneUG+vnGctmUb0ZY0l8" crossorigin="anonymous"></script>
|
|
|
|
<!-- To automatically render math in text elements, include the auto-render extension: -->
|
|
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js" integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05" crossorigin="anonymous"
|
|
onload="renderMathInElement(document.body);"></script>
|
|
|
|
<script defer type="text/javascript">
|
|
const katexRender = () => {
|
|
renderMathInElement(document.body, {
|
|
// customised options
|
|
// • auto-render specific keys, e.g.:
|
|
delimiters: [
|
|
{left: '$$', right: '$$', display: true},
|
|
{left: '$', right: '$', display: false},
|
|
// {left: '\\(', right: '\\)', display: false},
|
|
// {left: '\\[', right: '\\]', display: true}
|
|
],
|
|
// • rendering keys, e.g.:
|
|
throwOnError : true
|
|
});
|
|
};
|
|
|
|
// delay until the whole page is rendered to run Katex
|
|
setTimeout(() => {
|
|
katexRender();
|
|
}, 500);
|
|
|
|
// set katex to render everytime the page url changes
|
|
// single-page problem
|
|
var pushState = history.pushState;
|
|
history.pushState = function() {
|
|
console.log("bruh, url changes")
|
|
pushState.apply(history, arguments);
|
|
setTimeout(() => {katexRender();}, 500);
|
|
};
|
|
</script>
|
|
|
|
<style>
|
|
body {
|
|
max-width: 1080px;
|
|
margin: 0 auto !important;
|
|
float: none !important;
|
|
}
|
|
</style>
|
|
`;
|
|
},
|
|
preloadTagForFile(file) {
|
|
// add preload directives for JS assets and font assets, etc., skip for CSS files
|
|
// this function will be called with each file that is procesed by Vite, including any files in your headTagsTemplate in your config
|
|
return !file.endsWith(".css");
|
|
},
|
|
};
|