mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-08-01 20:52:27 +08:00
Fix preview rendering
This commit is contained in:
parent
6ea1c38e24
commit
2984df0a9a
@ -74,7 +74,7 @@ It's possible to implement with engine config. For example, this feature can be
|
||||
InlineEditor.defaultConfig = {
|
||||
// ...
|
||||
math: {
|
||||
engine: (equation, element, display, previewHack) => {
|
||||
engine: (equation, element, display, preview) => {
|
||||
// ...
|
||||
}
|
||||
}
|
||||
@ -83,7 +83,7 @@ InlineEditor.defaultConfig = {
|
||||
- __equation__ is equation in TeX format without delimiters.
|
||||
- __element__ is DOM element reserved for rendering.
|
||||
- __display__ is boolean. Typesetting should be inline when false.
|
||||
- __previewHack__ is boolean. Enable preview hack when true. It adds equation element to end of the body and use absolute position.
|
||||
- __preview__ is boolean. Preview Rendering when true.
|
||||
|
||||
|
||||
### Supported input and output formats
|
||||
|
19
src/utils.js
19
src/utils.js
@ -15,30 +15,36 @@ export function getSelectedMathModelWidget( selection ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
export function renderEquation( equation, element, engine = 'katex', display = false, previewHack = false ) {
|
||||
export function renderEquation( equation, element, engine = 'katex', display = false, preview = false ) {
|
||||
if ( engine === 'mathjax' && typeof MathJax !== 'undefined' ) {
|
||||
if ( isMathJaxVersion3( MathJax.version ) ) {
|
||||
selectRenderMode( element, previewHack, el => {
|
||||
selectRenderMode( element, preview, el => {
|
||||
renderMathJax3( equation, el, display, () => {
|
||||
if ( previewHack ) {
|
||||
if ( preview ) {
|
||||
moveAndScaleElement( element, el );
|
||||
}
|
||||
} );
|
||||
} );
|
||||
} else {
|
||||
selectRenderMode( element, previewHack, el => {
|
||||
selectRenderMode( element, preview, el => {
|
||||
renderMathJax2( equation, el, display );
|
||||
if ( preview ) {
|
||||
moveAndScaleElement( element, el );
|
||||
}
|
||||
} );
|
||||
}
|
||||
} else if ( engine === 'katex' && typeof katex !== 'undefined' ) {
|
||||
selectRenderMode( element, previewHack, el => {
|
||||
selectRenderMode( element, preview, el => {
|
||||
katex.render( equation, el, {
|
||||
throwOnError: false,
|
||||
displayMode: display
|
||||
} );
|
||||
if ( preview ) {
|
||||
moveAndScaleElement( element, el );
|
||||
}
|
||||
} );
|
||||
} else if ( typeof engine === 'function' ) {
|
||||
engine( equation, element, display, previewHack );
|
||||
engine( equation, element, display, );
|
||||
} else {
|
||||
element.innerHTML = equation;
|
||||
// eslint-disable-next-line
|
||||
@ -95,7 +101,6 @@ function renderMathJax2( equation, element, display ) {
|
||||
function createPreviewElement( element, render ) {
|
||||
const prewviewEl = getPreviewElement( element );
|
||||
render( prewviewEl );
|
||||
moveAndScaleElement( element, prewviewEl );
|
||||
}
|
||||
|
||||
export function getPreviewElement( element ) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user