diff --git a/package-lock.json b/package-lock.json index ee50c82..d6db053 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4257,6 +4257,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/prismjs": { + "version": "1.26.5", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.5.tgz", + "integrity": "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/remark-heading-id": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/remark-heading-id/-/remark-heading-id-1.0.0.tgz", @@ -14567,6 +14574,7 @@ "@babel/preset-typescript": "^7.24.1", "@linaria/core": "^6.1.0", "@linaria/react": "^6.1.0", + "@types/prismjs": "^1.26.5", "@wyw-in-js/babel-preset": "^0.5.1", "@wyw-in-js/vite": "^0.5.1", "vite-plugin-prismjs": "^0.0.11" diff --git a/packages/processor/src/__test__/lists.test.ts b/packages/processor/src/__test__/lists.test.ts index c17cf4c..ff938f4 100644 --- a/packages/processor/src/__test__/lists.test.ts +++ b/packages/processor/src/__test__/lists.test.ts @@ -103,7 +103,7 @@ test('parsing bug3', async () => { const expectedHtml = unindentStringAndTrim(`
Lemma 1. If $f: U$ then
+Lemma 1. If f: U
then
(Additivity) Alpha
diff --git a/packages/processor/src/__test__/maths.test.ts b/packages/processor/src/__test__/maths.test.ts index d4e195e..e97665a 100644 --- a/packages/processor/src/__test__/maths.test.ts +++ b/packages/processor/src/__test__/maths.test.ts @@ -48,10 +48,11 @@ test('parsing bug', async () => { const expectedHtml = unindentStringAndTrim(`Example 1. If $n$ is a natural number, then
$$\\dfrac{d}{dz}z^{n} = nz^{n-1}.$$and bla bla bla.
+Example 1. If n
is a natural number, then
\\dfrac{d}{dz}z^{n} = nz^{n-1}.
+ and bla bla bla.
If $n$ is a natural number, then
- $$\\dfrac{d}{dz}z^{n} = nz^{n-1}.$$ +If n
is a natural number, then
\\dfrac{d}{dz}z^{n} = nz^{n-1}.
and bla bla bla.
`); @@ -105,10 +106,11 @@ test('parsing bug2', async () => { const expectedHtml = unindentStringAndTrim(`Example 1. If $n$ is a natural number, then
$$\\begin{align*}\\dfrac{d}{dz}z^{n} = nz^{n-1}.\\end{align*}$$and bla bla bla.
+Example 1. If n
is a natural number, then
\\begin{align*}\\dfrac{d}{dz}z^{n} = nz^{n-1}.\\end{align*}
+ and bla bla bla.
If $n$ is a natural number, then
- $$\\begin{align*}\\dfrac{d}{dz}z^{n} = nz^{n-1}.\\end{align*}$$ +If n
is a natural number, then
\\begin{align*}\\dfrac{d}{dz}z^{n} = nz^{n-1}.\\end{align*}
and bla bla bla.
`); @@ -186,7 +188,12 @@ test('parsing bug3', async () => { const expectedHtml = unindentStringAndTrim(`Solution. We treat the equation
$$\\tfrac{1}{2}(e^{iz}+ e^{-iz}) = 10$$as a quadratic equation in $e^{iz}$. After rearrangement it becomes
$$(e^{iz})^{2}-20 e^{iz}+ 1 = 0.$$The solutions are
$$e^{iz}= \\dfrac{20\\pm\\sqrt{396}}{2}= 10\\pm\\sqrt{99},$$so that
$$iz = \\log(10\\pm\\sqrt{99}) + 2k\\pi i,$$that is,
$$z = -i\\log(10\\pm\\sqrt{99}) + 2k\\pi,$$where $k$ is an arbitrary integer.◻
+Solution. We treat the equation
\\tfrac{1}{2}(e^{iz}+ e^{-iz}) = 10
+ as a quadratic equation in e^{iz}
. After rearrangement it becomes
(e^{iz})^{2}-20 e^{iz}+ 1 = 0.
+ The solutions are
e^{iz}= \\dfrac{20\\pm\\sqrt{396}}{2}= 10\\pm\\sqrt{99},
+ so that
iz = \\log(10\\pm\\sqrt{99}) + 2k\\pi i,
+ that is,
z = -i\\log(10\\pm\\sqrt{99}) + 2k\\pi,
+ where k
is an arbitrary integer.◻
The $A$.
+The A
.
Definition 1. Let $\\epsilon > 0$ be a subset.
+Definition 1. Let \\epsilon > 0
be a subset.
Definition 1 is automatically satisfied.
`); diff --git a/packages/processor/src/index.ts b/packages/processor/src/index.ts index b842478..4204964 100644 --- a/packages/processor/src/index.ts +++ b/packages/processor/src/index.ts @@ -9,7 +9,7 @@ export { inputToMarkdown } from './latex-to-markdown'; export { markdownToJs, - runOptions, + createRunOptions, sidebarRunOptions, } from './markdown-to-mdx'; diff --git a/packages/processor/src/markdown-to-mdx/hast-transforms/index.ts b/packages/processor/src/markdown-to-mdx/hast-transforms/index.ts index 6065947..d84b6d3 100644 --- a/packages/processor/src/markdown-to-mdx/hast-transforms/index.ts +++ b/packages/processor/src/markdown-to-mdx/hast-transforms/index.ts @@ -26,7 +26,7 @@ export function createRehypePlugins(ctx: Context, options: Options) { export async function toHast( children: PhrasingContent[], ctx: Context, - options?: Partial
;
},
- };
+ });
}
diff --git a/packages/processor/src/test-utils/unit-test-processor.ts b/packages/processor/src/test-utils/unit-test-processor.ts
index 699938e..a753c6a 100644
--- a/packages/processor/src/test-utils/unit-test-processor.ts
+++ b/packages/processor/src/test-utils/unit-test-processor.ts
@@ -1,4 +1,9 @@
-import { FileType, inputToMarkdown, markdownToJs, runOptions } from '..';
+import {
+ FileType,
+ createRunOptions,
+ inputToMarkdown,
+ markdownToJs,
+} from '..';
import { run } from '@mdx-js/mdx';
import { resolve } from 'pathe';
import { createElement } from 'preact';
@@ -27,11 +32,12 @@ async function markdownToHtml(md: string) {
const prepared = unindentStringAndTrim(md);
const ctx = createTestContext(FileType.markdown, prepared);
const markdown = await inputToMarkdown(ctx);
- const { article } = await markdownToJs(markdown, {
+ const options = {
mathsAsTex: true,
noWrapper: true,
- });
- const component = await run(article, runOptions);
+ };
+ const { article } = await markdownToJs(markdown, options);
+ const component = await run(article, createRunOptions(options));
// @ts-expect-error
const element = createElement(component.default);
return formatHtml(renderToString(element));
diff --git a/packages/runtime/package.json b/packages/runtime/package.json
index 9e41ead..e7364d1 100644
--- a/packages/runtime/package.json
+++ b/packages/runtime/package.json
@@ -28,6 +28,7 @@
"@babel/preset-typescript": "^7.24.1",
"@linaria/core": "^6.1.0",
"@linaria/react": "^6.1.0",
+ "@types/prismjs": "^1.26.5",
"@wyw-in-js/babel-preset": "^0.5.1",
"@wyw-in-js/vite": "^0.5.1",
"vite-plugin-prismjs": "^0.0.11"
diff --git a/packages/runtime/src/article.tsx b/packages/runtime/src/article.tsx
index e0c33e7..054e138 100644
--- a/packages/runtime/src/article.tsx
+++ b/packages/runtime/src/article.tsx
@@ -3,7 +3,7 @@ import { MDXModule } from 'mdx/types';
import { useEffect, useState } from 'preact/hooks';
import { Fragment } from 'preact/jsx-runtime';
-import { runOptions } from '@isos/processor';
+import { createRunOptions } from '@isos/processor';
type Props = {
jsString: string;
@@ -15,7 +15,7 @@ export function Article({ jsString }: Props) {
useEffect(() => {
(async () => {
- setMDX(await run(jsString, runOptions));
+ setMDX(await run(jsString, createRunOptions()));
// window.MathJax = {
// tex: {