diff --git a/src/lib/Setting/Pages/PluginSettings.svelte b/src/lib/Setting/Pages/PluginSettings.svelte
index 35bec798..095abb01 100644
--- a/src/lib/Setting/Pages/PluginSettings.svelte
+++ b/src/lib/Setting/Pages/PluginSettings.svelte
@@ -3,7 +3,7 @@
import { language } from "src/lang";
import { alertConfirm } from "src/ts/alert";
import { DataBase } from "src/ts/storage/database";
- import { importPlugin } from "src/ts/process/plugins";
+ import { importPlugin } from "src/ts/plugins/plugins";
{language.plugin}
diff --git a/src/ts/plugins/automark.ts b/src/ts/plugins/automark.ts
new file mode 100644
index 00000000..9adc42ea
--- /dev/null
+++ b/src/ts/plugins/automark.ts
@@ -0,0 +1,56 @@
+const reg:[RegExp,string][] = []
+
+
+export function autoMarkPlugin(data:string){
+ if(reg.length === 0){
+ const pluginRegex = [
+ {
+ "in": "“|”",
+ "out": "\"",
+ "flag": "g"
+ },
+ {
+ "in": "‘|’",
+ "out": "'",
+ "flag": "g"
+ },
+ {
+ "in": "^(?!\\d\\.)([\\wㄱ-ㅎ가-힣'])(?!.*[{<>}])|(?<=^\\[.*\\] *|^\\(.*\\) *)([\\wㄱ-ㅎ가-힣'])(?!.*[{<>}])",
+ "out": "$1$2",
+ "flag": "gm"
+ },
+ {
+ "in": "(?.*)(?",
+ "flag": "gm"
+ },
+ {
+ "in": "(?<=.*|^\".*)( +\"[\\S])|(?<=.*|\" +.*)( *\\[)",
+ "out": "$1$2",
+ "flag": "gm"
+ },
+ {
+ "in": "(?<=^\".*|<\\/em>.*)([\\S]\" +|[\\S]\"(?=[,.…ㄱ-ㅎ가-힣]))|(?<=<\\/em>.*)( *\\] *)",
+ "out": "$1$2",
+ "flag": "gm"
+ },
+ {
+ "in": "(?<=.*? +|\\[|\\[.* +|\\(|\\(.* +|\"|\".*? +)(?)('[\\wㄱ-ㅎ가-힣])",
+ "out": "$1$2",
+ "flag": "gm"
+ },
+ {
+ "in": "(?<=')(.*?')(?= +.+?|[ㄱ-ㅎ가-힣?!:;,.…—-])|(?<='.*)(')(?=<\\/em>|\")|(?<=\\(')(?=\\))",
+ "out": "$1$2",
+ "flag": "gm"
+ }
+ ]
+ for(const r of pluginRegex){
+ reg.push([new RegExp(r.in, r.flag),r.out])
+ }
+ }
+ for(let i=0;i