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