兼容 anki自己的mathJax输入

This commit is contained in:
小能饼干 2023-11-26 17:59:26 +08:00 committed by GitHub
parent 56c5a12402
commit b7139343ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 21 additions and 25 deletions

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="cn">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
@ -23,37 +23,36 @@
} }
</style> </style>
<body> <body>
<textarea id="test" class="md-content"> <br />\[x = {-b \pm \sqrt{b^2-4ac} \over 2a}\]<br />
When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are <div id="test" class="md-content">
只有这个是正常的 When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$ are 只有这个是正常的 $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
</textarea> </div>
<textarea class="md-content"> </textarea> <div class="md-content">
* 呵呵
# 我看你真是老糊涂了
</div>
<script> <script>
'use strict' 'use strict'
// 在anki中查看调试信息
function consoleLog(str) { function consoleLog(str) {
var div = document.createElement('div') var div = document.createElement('div')
div.innerHTML = str div.innerHTML = str
document.body.appendChild(div) document.body.appendChild(div)
} }
// anki中 不可以使用let/const
var JQ_CDN = var JQ_CDN =
'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js' 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js'
var SHOWDOWN_CDN = var SHOWDOWN_CDN =
// 'https://cdnjs.cloudflare.com/ajax/libs/showdown/1.9.1/showdown.min.js'
'https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/showdown/2.0.0/showdown.min.js' 'https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/showdown/2.0.0/showdown.min.js'
var HIGHLIGHT_JS_CDN = var HIGHLIGHT_JS_CDN =
// 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.3.1/highlight.min.js'
'https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/highlight.js/11.4.0/highlight.min.js' 'https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/highlight.js/11.4.0/highlight.min.js'
var es6CDN = 'https://polyfill.io/v3/polyfill.min.js?features=es6' var es6CDN = 'https://polyfill.io/v3/polyfill.min.js?features=es6'
var MATHJAX_CDN = var MATHJAX_CDN =
'https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/mathjax/3.2.0/es5/tex-chtml-full.js' 'https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/mathjax/3.2.0/es5/tex-chtml-full.js'
var HIGHLIGHT_CSS_CDN = var HIGHLIGHT_CSS_CDN =
// 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.3.1/styles/default.min.css'
// 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.3.1/styles/base16/onedark.min.css'
'https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/highlight.js/11.4.0/styles/base16/onedark.min.css' 'https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/highlight.js/11.4.0/styles/base16/onedark.min.css'
var GITHUB_MARKDOWN_CSS_CDN = var GITHUB_MARKDOWN_CSS_CDN =
// 'https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/5.0.0/github-markdown.min.css'
'https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/github-markdown-css/5.1.0/github-markdown-dark.min.css' 'https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/github-markdown-css/5.1.0/github-markdown-dark.min.css'
// 加载库文件 // 加载库文件
@ -116,10 +115,11 @@
}) })
// 好像是失效的??不管用呢 // 好像是失效的??不管用呢
// convert.setFlavor('github') // convert.setFlavor('github')
document.querySelectorAll('.md-content').forEach((textarea, index) => { document.querySelectorAll('.md-content').forEach((div, index) => {
console.log('查找到的textarea元素', textarea) console.log('查找到的容器元素', div)
textarea.innerHTML = clearBlankNbsp(textarea.innerHTML) div.innerHTML = clearBlankNbsp(div.innerHTML)
var text = textarea.value var text = div.innerHTML
console.log('text', text)
var thisConverterSpecificOptions = convert.getOptions() var thisConverterSpecificOptions = convert.getOptions()
console.log('当前的配置项', thisConverterSpecificOptions) console.log('当前的配置项', thisConverterSpecificOptions)
// 清除br标签 // 清除br标签
@ -131,13 +131,13 @@
newDiv.innerHTML = html newDiv.innerHTML = html
// 激活github-markdown-css // 激活github-markdown-css
newDiv.className = 'markdown-body' newDiv.className = 'markdown-body'
textarea.parentNode.insertBefore(newDiv, textarea.nextSibling) div.parentNode.insertBefore(newDiv, div.nextSibling)
index === 1 index === 1
? textarea.parentNode.insertBefore(hr, textarea.nextSibling) ? div.parentNode.insertBefore(hr, div.nextSibling)
: null : null
textarea.className = `x-${index}` div.className = `x-${index}`
textarea.style.display = 'none' div.style.display = 'none'
// 不能从body直接插入元素 anki 不刷新的 淦 // 不能从body直接插入元素 anki 不刷新的 淦
}) })
} }
@ -150,7 +150,6 @@
// 返回HTML字符串 // 返回HTML字符串
return node.outerHTML return node.outerHTML
} }
createScript(SHOWDOWN_CDN) createScript(SHOWDOWN_CDN)
.then(() => { .then(() => {
return createScript(HIGHLIGHT_JS_CDN) return createScript(HIGHLIGHT_JS_CDN)
@ -175,9 +174,6 @@
document.body.removeChild(el) document.body.removeChild(el)
}) })
}) })
.then(() => {
createScript(MATHJAX_CDN)
})
</script> </script>
</body> </body>
</html> </html>