feat: switch to mathml instead of katex

This commit is contained in:
Youwen Wu 2024-05-25 00:44:18 -07:00
parent 692b8f23a7
commit 4aec824ae6
Signed by: youwen5
GPG key ID: 865658ED1FE61EC3
8 changed files with 31 additions and 57 deletions

View file

@ -1,5 +1,6 @@
@import url("https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap");
@import url("https://fonts.cdnfonts.com/css/latin-modern-math");
@tailwind base; @tailwind base;
@tailwind components; @tailwind components;
@ -44,7 +45,10 @@
div.sourceCode { div.sourceCode {
@apply p-4 rounded-lg; @apply p-4 rounded-lg;
} }
.math.display { math {
@apply overflow-x-auto; @apply font-math;
}
math[display="block"] {
@apply overflow-x-auto my-1 text-xl;
} }
} }

View file

@ -2,19 +2,19 @@ import "../css/default.css"
// @ts-check // @ts-check
document.addEventListener("DOMContentLoaded", () => { // document.addEventListener("DOMContentLoaded", () => {
var mathElements = document.querySelectorAll(".math.inline, .math.display") // var mathElements = document.querySelectorAll(".math.inline, .math.display")
mathElements.forEach(function (element) { // mathElements.forEach(function (element) {
var tex = element.textContent // var tex = element.textContent
var displayMode = element.classList.contains("display") // var displayMode = element.classList.contains("display")
var renderedMath = katex.renderToString(tex, { // var renderedMath = katex.renderToString(tex, {
displayMode: displayMode, // displayMode: displayMode,
throwOnError: false, // throwOnError: false,
}) // })
element.innerHTML = renderedMath // element.innerHTML = renderedMath
}) // })
}) // })
//
const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches
const themeSystem = () => { const themeSystem = () => {
if (prefersDark) { if (prefersDark) {

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
document.addEventListener("DOMContentLoaded",(()=>{document.querySelectorAll(".math.inline, .math.display").forEach((function(e){var t=e.textContent,a=e.classList.contains("display"),n=katex.renderToString(t,{displayMode:a,throwOnError:!1});e.innerHTML=n}))}));const e=window.matchMedia("(prefers-color-scheme: dark)").matches,t=()=>{document.documentElement.classList.remove("dark")},a=()=>{document.documentElement.classList.add("dark")};let n="dark"===localStorage.getItem("theme")?2:"light"===localStorage.getItem("theme")?1:0;const m=document.getElementById("theme-toggle");m.addEventListener("click",(()=>{switch(n=(n+1)%3,n){case 0:localStorage.removeItem("theme"),e?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),m.innerText="theme: system";break;case 1:e?(localStorage.setItem("theme","light"),t(),m.innerText="theme: light"):(localStorage.setItem("theme","dark"),a(),m.innerText="theme: dark");break;case 2:e?(localStorage.setItem("theme","dark"),a(),m.innerText="theme: dark"):(localStorage.setItem("theme","light"),t(),m.innerText="theme: light")}})); const e=window.matchMedia("(prefers-color-scheme: dark)").matches,t=()=>{document.documentElement.classList.remove("dark")},m=()=>{document.documentElement.classList.add("dark")};let a="dark"===localStorage.getItem("theme")?2:"light"===localStorage.getItem("theme")?1:0;const c=document.getElementById("theme-toggle");c.addEventListener("click",(()=>{switch(a=(a+1)%3,a){case 0:localStorage.removeItem("theme"),e?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),c.innerText="theme: system";break;case 1:e?(localStorage.setItem("theme","light"),t(),c.innerText="theme: light"):(localStorage.setItem("theme","dark"),m(),c.innerText="theme: dark");break;case 2:e?(localStorage.setItem("theme","dark"),m(),c.innerText="theme: dark"):(localStorage.setItem("theme","light"),t(),c.innerText="theme: light")}}));

View file

@ -1,26 +0,0 @@
---
author: "Youwen Wu"
authorTwitter: "@youwen"
desc: "I announce myself to the world"
image: "./images/waiheke-stony-batter.jpg"
keywords: "hello, announcement"
lang: "en"
title: "Hello, world!"
updated: "2020-09-22T12:00:00Z"
---
Hello, world! I am here!
<img
alt="Grapevines among rolling hills leading to the sea"
src="./images/waiheke-stony-batter.jpg"
height="200"
/>
Haskell, for example:
```haskell
toSlug :: T.Text -> T.Text
toSlug =
T.intercalate (T.singleton '-') . T.words . T.toLower . clean
```

View file

@ -1,15 +1,16 @@
--- ---
author: "Youwen Wu" author: "Youwen Wu"
authorTwitter: "@youwen" authorTwitter: "@youwen"
desc: "The first post" desc: "a purely functional...blog?"
image: "./images/waiheke-stony-batter.jpg" image: "./images/waiheke-stony-batter.jpg"
keywords: "hola, anuncio" keywords: "haskell, blog, functional programming"
lang: "cn" lang: "en"
title: "Ni Hao" title: "Why I made my blog in haskell"
updated: "2020-09-23T12:00:00Z" updated: "2024-05-25T12:00:00Z"
--- ---
Welcome! Welcome! This is the first post on _gradient ascent_ and also one that tests all
of the features.
<img <img
alt="Grapevines among rolling hills leading to the sea" alt="Grapevines among rolling hills leading to the sea"
@ -17,11 +18,6 @@ Welcome!
height="200" height="200"
/> />
Haskell is a great language. It is a pure functional programming language with
strong static typing. It is also a lazy language, which means that it does not
evaluate expressions until it is absolutely necessary. This can lead to some
interesting performance characteristics.
```haskell ```haskell
toSlug :: T.Text -> T.Text toSlug :: T.Text -> T.Text
toSlug = toSlug =

View file

@ -21,7 +21,6 @@ import Text.Pandoc.Highlighting (Style, breezeDark, styleToCss)
import Text.Pandoc.Options ( import Text.Pandoc.Options (
HTMLMathMethod (..), HTMLMathMethod (..),
WriterOptions (..), WriterOptions (..),
defaultKaTeXURL,
) )
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
@ -223,7 +222,7 @@ pandocWriterOpts =
defaultHakyllWriterOptions defaultHakyllWriterOptions
{ writerExtensions = pandocExtensionsCustom { writerExtensions = pandocExtensionsCustom
, writerHighlightStyle = Just pandocHighlightStyle , writerHighlightStyle = Just pandocHighlightStyle
, writerHTMLMathMethod = KaTeX defaultKaTeXURL , writerHTMLMathMethod = MathML
} }
pandocHighlightStyle :: Style pandocHighlightStyle :: Style

View file

@ -7,6 +7,7 @@ module.exports = {
fontFamily: { fontFamily: {
sans: ["Inter", "sans-serif"], sans: ["Inter", "sans-serif"],
serif: ["Merriweather", "serif"], serif: ["Merriweather", "serif"],
math: ["Latin Modern Math", "serif"],
}, },
colors: { colors: {
primary: { primary: {
@ -33,4 +34,4 @@ module.exports = {
}, },
}, },
plugins: [require("@tailwindcss/typography")], plugins: [require("@tailwindcss/typography")],
}; }