mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-18 12:11:43 +00:00
Merge pull request #1221 from Paalon/master
Add custom LaTeX delimiters to preferences
This commit is contained in:
@@ -2,9 +2,11 @@ import markdownit from 'markdown-it'
|
|||||||
import emoji from 'markdown-it-emoji'
|
import emoji from 'markdown-it-emoji'
|
||||||
import math from '@rokt33r/markdown-it-math'
|
import math from '@rokt33r/markdown-it-math'
|
||||||
import _ from 'lodash'
|
import _ from 'lodash'
|
||||||
|
import ConfigManager from 'browser/main/lib/ConfigManager'
|
||||||
|
|
||||||
// FIXME We should not depend on global variable.
|
// FIXME We should not depend on global variable.
|
||||||
const katex = window.katex
|
const katex = window.katex
|
||||||
|
const config = ConfigManager.get()
|
||||||
|
|
||||||
function createGutter (str) {
|
function createGutter (str) {
|
||||||
const lc = (str.match(/\n/g) || []).length
|
const lc = (str.match(/\n/g) || []).length
|
||||||
@@ -39,6 +41,10 @@ md.use(emoji, {
|
|||||||
shortcuts: {}
|
shortcuts: {}
|
||||||
})
|
})
|
||||||
md.use(math, {
|
md.use(math, {
|
||||||
|
inlineOpen: config.preview.latexInlineOpen,
|
||||||
|
inlineClose: config.preview.latexInlineClose,
|
||||||
|
blockOpen: config.preview.latexBlockOpen,
|
||||||
|
blockClose: config.preview.latexBlockClose,
|
||||||
inlineRenderer: function (str) {
|
inlineRenderer: function (str) {
|
||||||
let output = ''
|
let output = ''
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -40,7 +40,11 @@ export const DEFAULT_CONFIG = {
|
|||||||
fontSize: '14',
|
fontSize: '14',
|
||||||
fontFamily: win ? 'Segoe UI' : 'Lato',
|
fontFamily: win ? 'Segoe UI' : 'Lato',
|
||||||
codeBlockTheme: 'dracula',
|
codeBlockTheme: 'dracula',
|
||||||
lineNumber: true
|
lineNumber: true,
|
||||||
|
latexInlineOpen: '$',
|
||||||
|
latexInlineClose: '$',
|
||||||
|
latexBlockOpen: '$$',
|
||||||
|
latexBlockClose: '$$'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,11 @@ class UiTab extends React.Component {
|
|||||||
fontSize: this.refs.previewFontSize.value,
|
fontSize: this.refs.previewFontSize.value,
|
||||||
fontFamily: this.refs.previewFontFamily.value,
|
fontFamily: this.refs.previewFontFamily.value,
|
||||||
codeBlockTheme: this.refs.previewCodeBlockTheme.value,
|
codeBlockTheme: this.refs.previewCodeBlockTheme.value,
|
||||||
lineNumber: this.refs.previewLineNumber.checked
|
lineNumber: this.refs.previewLineNumber.checked,
|
||||||
|
latexInlineOpen: this.refs.previewLatexInlineOpen.value,
|
||||||
|
latexInlineClose: this.refs.previewLatexInlineClose.value,
|
||||||
|
latexBlockOpen: this.refs.previewLatexBlockOpen.value,
|
||||||
|
latexBlockClose: this.refs.previewLatexBlockClose.value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -326,6 +330,58 @@ class UiTab extends React.Component {
|
|||||||
Show line numbers for preview code blocks
|
Show line numbers for preview code blocks
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
<div styleName='group-section'>
|
||||||
|
<div styleName='group-section-label'>
|
||||||
|
LaTeX Inline Open Delimiter
|
||||||
|
</div>
|
||||||
|
<div styleName='group-section-control'>
|
||||||
|
<input styleName='group-section-control-input'
|
||||||
|
ref='previewLatexInlineOpen'
|
||||||
|
value={config.preview.latexInlineOpen}
|
||||||
|
onChange={(e) => this.handleUIChange(e)}
|
||||||
|
type='text'
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div styleName='group-section'>
|
||||||
|
<div styleName='group-section-label'>
|
||||||
|
LaTeX Inline Close Delimiter
|
||||||
|
</div>
|
||||||
|
<div styleName='group-section-control'>
|
||||||
|
<input styleName='group-section-control-input'
|
||||||
|
ref='previewLatexInlineClose'
|
||||||
|
value={config.preview.latexInlineClose}
|
||||||
|
onChange={(e) => this.handleUIChange(e)}
|
||||||
|
type='text'
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div styleName='group-section'>
|
||||||
|
<div styleName='group-section-label'>
|
||||||
|
LaTeX Block Open Delimiter
|
||||||
|
</div>
|
||||||
|
<div styleName='group-section-control'>
|
||||||
|
<input styleName='group-section-control-input'
|
||||||
|
ref='previewLatexBlockOpen'
|
||||||
|
value={config.preview.latexBlockOpen}
|
||||||
|
onChange={(e) => this.handleUIChange(e)}
|
||||||
|
type='text'
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div styleName='group-section'>
|
||||||
|
<div styleName='group-section-label'>
|
||||||
|
LaTeX Block Close Delimiter
|
||||||
|
</div>
|
||||||
|
<div styleName='group-section-control'>
|
||||||
|
<input styleName='group-section-control-input'
|
||||||
|
ref='previewLatexBlockClose'
|
||||||
|
value={config.preview.latexBlockClose}
|
||||||
|
onChange={(e) => this.handleUIChange(e)}
|
||||||
|
type='text'
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div styleName='group-control'>
|
<div styleName='group-control'>
|
||||||
<button styleName='group-control-rightButton'
|
<button styleName='group-control-rightButton'
|
||||||
|
|||||||
Reference in New Issue
Block a user