mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-01-24 13:19:13 +00:00
56 lines
2.0 KiB
Ruby
56 lines
2.0 KiB
Ruby
|
# Copyright (c) 2016-2017 The Khronos Group Inc.
|
||
|
#
|
||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
# you may not use this file except in compliance with the License.
|
||
|
# You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing, software
|
||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
# See the License for the specific language governing permissions and
|
||
|
# limitations under the License.
|
||
|
|
||
|
require 'asciidoctor/extensions' unless RUBY_ENGINE == 'opal'
|
||
|
|
||
|
include ::Asciidoctor
|
||
|
|
||
|
class ReplaceMathjaxWithKatex < Extensions::Postprocessor
|
||
|
|
||
|
MathJaXScript = /<script type="text\/x-mathjax-config">((?!<\/script>).)+<\/script>/m
|
||
|
MathJaXCDN = '<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.6.0/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script>'
|
||
|
|
||
|
def process document, output
|
||
|
|
||
|
if document.attr? 'stem'
|
||
|
katexpath = document.attr 'katexpath'
|
||
|
|
||
|
katexScript = '<link rel="stylesheet" href="' + katexpath + '/katex.min.css">
|
||
|
<script src="' + katexpath + '/katex.min.js"></script>
|
||
|
<script src="' + katexpath + '/contrib/auto-render.min.js"></script>
|
||
|
<!-- Use KaTeX to render math once document is loaded, see
|
||
|
https://github.com/Khan/KaTeX/tree/master/contrib/auto-render -->
|
||
|
<script>
|
||
|
document.addEventListener("DOMContentLoaded", function () {
|
||
|
renderMathInElement(
|
||
|
document.body,
|
||
|
{
|
||
|
delimiters: [
|
||
|
{ left: "$$", right: "$$", display: true},
|
||
|
{ left: "\\\\\[", right: "\\\\\]", display: true},
|
||
|
{ left: "$", right: "$", display: false},
|
||
|
{ left: "\\\\\(", right: "\\\\\)", display: false}
|
||
|
]
|
||
|
}
|
||
|
);
|
||
|
});
|
||
|
</script>'
|
||
|
|
||
|
output.sub! MathJaXScript, ''
|
||
|
output.sub! MathJaXCDN, ''
|
||
|
output.sub! /(?=<\/head>)/, katexScript
|
||
|
end
|
||
|
output
|
||
|
end
|
||
|
end
|