Commit 7ef5aa52 authored by Timothy J. Baek's avatar Timothy J. Baek
Browse files

chore: format

parent 70f580ec
...@@ -227,7 +227,7 @@ export const generateInitialsImage = (name) => { ...@@ -227,7 +227,7 @@ export const generateInitialsImage = (name) => {
const initials = const initials =
sanitizedName.length > 0 sanitizedName.length > 0
? sanitizedName[0] + ? sanitizedName[0] +
(sanitizedName.split(' ').length > 1 (sanitizedName.split(' ').length > 1
? sanitizedName[sanitizedName.lastIndexOf(' ') + 1] ? sanitizedName[sanitizedName.lastIndexOf(' ') + 1]
: '') : '')
: ''; : '';
...@@ -286,7 +286,7 @@ export const compareVersion = (latest, current) => { ...@@ -286,7 +286,7 @@ export const compareVersion = (latest, current) => {
numeric: true, numeric: true,
sensitivity: 'case', sensitivity: 'case',
caseFirst: 'upper' caseFirst: 'upper'
}) < 0; }) < 0;
}; };
export const findWordIndices = (text) => { export const findWordIndices = (text) => {
......
import katex from 'katex'; import katex from 'katex';
const inlineRule = /^(\${1,2})(?!\$)((?:\\.|[^\\\n])*?(?:\\.|[^\\\n\$]))\1(?=[\s?!\.,:?!。,:]|$)/; const inlineRule =
/^(\${1,2})(?!\$)((?:\\.|[^\\\n])*?(?:\\.|[^\\\n\$]))\1(?=[\s?!\.,:?!。,:]|$)/;
const inlineRuleNonStandard = /^(\${1,2})(?!\$)((?:\\.|[^\\\n])*?(?:\\.|[^\\\n\$]))\1/; // Non-standard, even if there are no spaces before and after $ or $$, try to parse const inlineRuleNonStandard = /^(\${1,2})(?!\$)((?:\\.|[^\\\n])*?(?:\\.|[^\\\n\$]))\1/; // Non-standard, even if there are no spaces before and after $ or $$, try to parse
const blockRule = /^(\${1,2})\n((?:\\[^]|[^\\])+?)\n\1(?:\n|$)/; const blockRule = /^(\${1,2})\n((?:\\[^]|[^\\])+?)\n\1(?:\n|$)/;
export default function(options = {}) { export default function (options = {}) {
return { return {
extensions: [ extensions: [
inlineKatex(options, createRenderer(options, false)), inlineKatex(options, createRenderer(options, false)),
blockKatex(options, createRenderer(options, true)), blockKatex(options, createRenderer(options, true))
], ]
}; };
} }
function createRenderer(options, newlineAfter) { function createRenderer(options, newlineAfter) {
return (token) => katex.renderToString(token.text, { ...options, displayMode: token.displayMode }) + (newlineAfter ? '\n' : ''); return (token) =>
katex.renderToString(token.text, { ...options, displayMode: token.displayMode }) +
(newlineAfter ? '\n' : '');
} }
function inlineKatex(options, renderer) { function inlineKatex(options, renderer) {
const nonStandard = options && options.nonStandard; const nonStandard = options && options.nonStandard;
const ruleReg = nonStandard ? inlineRuleNonStandard : inlineRule; const ruleReg = nonStandard ? inlineRuleNonStandard : inlineRule;
return { return {
name: 'inlineKatex', name: 'inlineKatex',
level: 'inline', level: 'inline',
start(src) { start(src) {
let index; let index;
let indexSrc = src; let indexSrc = src;
while (indexSrc) { while (indexSrc) {
index = indexSrc.indexOf('$'); index = indexSrc.indexOf('$');
if (index === -1) { if (index === -1) {
return; return;
} }
const f = nonStandard ? index > -1 : index === 0 || indexSrc.charAt(index - 1) === ' '; const f = nonStandard ? index > -1 : index === 0 || indexSrc.charAt(index - 1) === ' ';
if (f) { if (f) {
const possibleKatex = indexSrc.substring(index); const possibleKatex = indexSrc.substring(index);
if (possibleKatex.match(ruleReg)) { if (possibleKatex.match(ruleReg)) {
return index; return index;
} }
} }
indexSrc = indexSrc.substring(index + 1).replace(/^\$+/, ''); indexSrc = indexSrc.substring(index + 1).replace(/^\$+/, '');
} }
}, },
tokenizer(src, tokens) { tokenizer(src, tokens) {
const match = src.match(ruleReg); const match = src.match(ruleReg);
if (match) { if (match) {
return { return {
type: 'inlineKatex', type: 'inlineKatex',
raw: match[0], raw: match[0],
text: match[2].trim(), text: match[2].trim(),
displayMode: match[1].length === 2, displayMode: match[1].length === 2
}; };
} }
}, },
renderer, renderer
}; };
} }
function blockKatex(options, renderer) { function blockKatex(options, renderer) {
return { return {
name: 'blockKatex', name: 'blockKatex',
level: 'block', level: 'block',
tokenizer(src, tokens) { tokenizer(src, tokens) {
const match = src.match(blockRule); const match = src.match(blockRule);
if (match) { if (match) {
return { return {
type: 'blockKatex', type: 'blockKatex',
raw: match[0], raw: match[0],
text: match[2].trim(), text: match[2].trim(),
displayMode: match[1].length === 2, displayMode: match[1].length === 2
}; };
} }
}, },
renderer, renderer
}; };
} }
\ No newline at end of file
...@@ -143,7 +143,7 @@ ...@@ -143,7 +143,7 @@
: { : {
id: model.id, id: model.id,
name: model.name name: model.name
} }
) )
) )
}; };
...@@ -154,9 +154,9 @@ ...@@ -154,9 +154,9 @@
params = { ...params, ...model?.info?.params }; params = { ...params, ...model?.info?.params };
params.stop = params?.stop params.stop = params?.stop
? (typeof params.stop === 'string' ? params.stop.split(',') : params?.stop ?? []).join( ? (typeof params.stop === 'string' ? params.stop.split(',') : (params?.stop ?? [])).join(
',' ','
) )
: null; : null;
if (model?.info?.meta?.knowledge) { if (model?.info?.meta?.knowledge) {
......
...@@ -352,8 +352,23 @@ ...@@ -352,8 +352,23 @@
<style> <style>
.font-mona { .font-mona {
font-family: 'Mona Sans', -apple-system, 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Roboto, font-family:
Ubuntu, Cantarell, 'Noto Sans', sans-serif, 'Helvetica Neue', Arial, 'Apple Color Emoji', 'Mona Sans',
'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; -apple-system,
'Inter',
ui-sans-serif,
system-ui,
'Segoe UI',
Roboto,
Ubuntu,
Cantarell,
'Noto Sans',
sans-serif,
'Helvetica Neue',
Arial,
'Apple Color Emoji',
'Segoe UI Emoji',
'Segoe UI Symbol',
'Noto Color Emoji';
} }
</style> </style>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment