diff --git a/app/src/mobile/menu/index.ts b/app/src/mobile/menu/index.ts
index 344e2c88c..5836a829a 100644
--- a/app/src/mobile/menu/index.ts
+++ b/app/src/mobile/menu/index.ts
@@ -14,6 +14,7 @@ import {login, showAccountInfo} from "../settings/account";
import {openModel} from "./model";
import {initAbout} from "../settings/about";
import {getRecentDocs} from "./getRecentDocs";
+import {initEditor} from "../settings/editor";
export const popMenu = () => {
activeBlur();
@@ -69,6 +70,9 @@ ${accountHTML}
+
@@ -127,6 +131,11 @@ ${accountHTML}
event.preventDefault();
event.stopPropagation();
break;
+ } else if (target.id === "menuEditor") {
+ initEditor();
+ event.preventDefault();
+ event.stopPropagation();
+ break;
} else if (target.id === "menuSafeQuit") {
exitSiYuan();
event.preventDefault();
diff --git a/app/src/mobile/settings/appearance.ts b/app/src/mobile/settings/appearance.ts
index 13059270a..7224dd493 100644
--- a/app/src/mobile/settings/appearance.ts
+++ b/app/src/mobile/settings/appearance.ts
@@ -44,25 +44,8 @@ export const initAppearance = () => {
${window.siyuan.languages.language1}
-
-
- ${window.siyuan.languages.fontSize}
${window.siyuan.config.editor.fontSize}px
-
-
-
${window.siyuan.languages.fontSizeTip}
`,
bindEvent(modelMainElement: HTMLElement) {
- modelMainElement.querySelector(".b3-slider").addEventListener("input", (event: InputEvent & {
- target: HTMLInputElement
- }) => {
- modelMainElement.querySelector("#fontSize").textContent = event.target.value + "px";
- window.siyuan.config.editor.fontSize = parseInt(event.target.value);
- fetchPost("/api/setting/setEditor", window.siyuan.config.editor, (response) => {
- window.siyuan.config.editor = response.data;
- reloadProtyle(window.siyuan.mobile.editor.protyle);
- setInlineStyle();
- });
- });
modelMainElement.querySelectorAll("select").forEach(item => {
item.addEventListener("change", () => {
const modeElementValue = parseInt((modelMainElement.querySelector("#mode") as HTMLSelectElement).value);
diff --git a/app/src/mobile/settings/editor.ts b/app/src/mobile/settings/editor.ts
new file mode 100644
index 000000000..2b651d00d
--- /dev/null
+++ b/app/src/mobile/settings/editor.ts
@@ -0,0 +1,47 @@
+import {openModel} from "../menu/model";
+import {fetchPost} from "../../util/fetch";
+import {reloadProtyle} from "../../protyle/util/reload";
+import {setInlineStyle} from "../../util/assets";
+
+const reloadEditor = (data: IEditor) => {
+ window.siyuan.config.editor = data;
+ reloadProtyle(window.siyuan.mobile.editor.protyle);
+ setInlineStyle();
+}
+
+export const initEditor = () => {
+ openModel({
+ title: window.siyuan.languages.riffCard,
+ icon: "iconRiffCard",
+ html: `
+ ${window.siyuan.languages.fontSize}
${window.siyuan.config.editor.fontSize}px
+
+
+
${window.siyuan.languages.fontSizeTip}
+
+
+ ${window.siyuan.languages.katexMacros}
+
+
+
${window.siyuan.languages.katexMacrosTip}
+
`,
+ bindEvent(modelMainElement: HTMLElement) {
+ modelMainElement.querySelector(".b3-slider").addEventListener("input", (event: InputEvent & {
+ target: HTMLInputElement
+ }) => {
+ modelMainElement.querySelector("#fontSize").textContent = event.target.value + "px";
+ window.siyuan.config.editor.fontSize = parseInt(event.target.value);
+ fetchPost("/api/setting/setEditor", window.siyuan.config.editor, (response) => {
+ reloadEditor(response.data)
+ });
+ });
+ const katexMacrosElement = modelMainElement.querySelector("#katexMacros") as HTMLTextAreaElement;
+ katexMacrosElement.addEventListener("blur", () => {
+ window.siyuan.config.editor.katexMacros = katexMacrosElement.value;
+ fetchPost("/api/setting/setEditor", window.siyuan.config.editor, (response) => {
+ reloadEditor(response.data)
+ });
+ })
+ }
+ });
+};