mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-08-09 09:42:28 +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 = {
|
InlineEditor.defaultConfig = {
|
||||||
// ...
|
// ...
|
||||||
math: {
|
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.
|
- __equation__ is equation in TeX format without delimiters.
|
||||||
- __element__ is DOM element reserved for rendering.
|
- __element__ is DOM element reserved for rendering.
|
||||||
- __display__ is boolean. Typesetting should be inline when false.
|
- __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
|
### Supported input and output formats
|
||||||
|
19
src/utils.js
19
src/utils.js
@ -15,30 +15,36 @@ export function getSelectedMathModelWidget( selection ) {
|
|||||||
return null;
|
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 ( engine === 'mathjax' && typeof MathJax !== 'undefined' ) {
|
||||||
if ( isMathJaxVersion3( MathJax.version ) ) {
|
if ( isMathJaxVersion3( MathJax.version ) ) {
|
||||||
selectRenderMode( element, previewHack, el => {
|
selectRenderMode( element, preview, el => {
|
||||||
renderMathJax3( equation, el, display, () => {
|
renderMathJax3( equation, el, display, () => {
|
||||||
if ( previewHack ) {
|
if ( preview ) {
|
||||||
moveAndScaleElement( element, el );
|
moveAndScaleElement( element, el );
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
} );
|
} );
|
||||||
} else {
|
} else {
|
||||||
selectRenderMode( element, previewHack, el => {
|
selectRenderMode( element, preview, el => {
|
||||||
renderMathJax2( equation, el, display );
|
renderMathJax2( equation, el, display );
|
||||||
|
if ( preview ) {
|
||||||
|
moveAndScaleElement( element, el );
|
||||||
|
}
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
} else if ( engine === 'katex' && typeof katex !== 'undefined' ) {
|
} else if ( engine === 'katex' && typeof katex !== 'undefined' ) {
|
||||||
selectRenderMode( element, previewHack, el => {
|
selectRenderMode( element, preview, el => {
|
||||||
katex.render( equation, el, {
|
katex.render( equation, el, {
|
||||||
throwOnError: false,
|
throwOnError: false,
|
||||||
displayMode: display
|
displayMode: display
|
||||||
} );
|
} );
|
||||||
|
if ( preview ) {
|
||||||
|
moveAndScaleElement( element, el );
|
||||||
|
}
|
||||||
} );
|
} );
|
||||||
} else if ( typeof engine === 'function' ) {
|
} else if ( typeof engine === 'function' ) {
|
||||||
engine( equation, element, display, previewHack );
|
engine( equation, element, display, );
|
||||||
} else {
|
} else {
|
||||||
element.innerHTML = equation;
|
element.innerHTML = equation;
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line
|
||||||
@ -95,7 +101,6 @@ function renderMathJax2( equation, element, display ) {
|
|||||||
function createPreviewElement( element, render ) {
|
function createPreviewElement( element, render ) {
|
||||||
const prewviewEl = getPreviewElement( element );
|
const prewviewEl = getPreviewElement( element );
|
||||||
render( prewviewEl );
|
render( prewviewEl );
|
||||||
moveAndScaleElement( element, prewviewEl );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getPreviewElement( element ) {
|
export function getPreviewElement( element ) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user