This commit is contained in:
Vanessa 2023-12-19 12:20:25 +08:00
parent b1bb3f1fa6
commit 4d3179b39c
11 changed files with 169 additions and 157 deletions

View file

@ -16,8 +16,19 @@
height: 100%;
.b3-label:not(.b3-label--inner) {
padding: 16px 0;
margin: 0 24px;
padding: 0;
margin: 16px 24px 32px;
box-shadow: 0px 15px 0px 0px white, 0px 16px 0px 0px var(--b3-border-color);
border-bottom: 0;
&:last-child {
margin-bottom: 16px;
box-shadow: none;
}
}
label.b3-label:not(.b3-label--inner) {
cursor: pointer;
}
&--full {
@ -72,7 +83,8 @@
display: flex;
flex-wrap: wrap;
label {
label,
.label {
width: 16%;
margin: 8px 17% 0 0;
color: var(--b3-theme-on-surface);

View file

@ -57,7 +57,7 @@ export const about = {
<input class="b3-switch fn__flex-center" id="networkServe" type="checkbox"${window.siyuan.config.system.networkServe ? " checked" : ""}>
</label>
<div class="b3-label${(window.siyuan.config.readonly || (isBrowser() && !isInIOS() && !isInAndroid() && !isIPad())) ? " fn__none" : ""}">
<label class="fn__flex">
<div class="fn__flex">
<div class="fn__flex-1">
${window.siyuan.languages.about5}
<div class="b3-label__text">${window.siyuan.languages.about6}</div>
@ -66,7 +66,7 @@ export const about = {
<button class="fn__flex-center b3-button b3-button--outline fn__size200" id="authCode">
<svg><use xlink:href="#iconLock"></use></svg>${window.siyuan.languages.config}
</button>
</label>
</div>
<label class="b3-label fn__flex${!window.siyuan.config.accessAuthCode || isBrowser() ? " fn__none" : ""}">
<div class="fn__flex-1">
${window.siyuan.languages.about7}
@ -76,7 +76,7 @@ export const about = {
<input class="b3-switch fn__flex-center" id="lockScreenMode" type="checkbox"${window.siyuan.config.system.lockScreenMode === 1 ? " checked" : ""}>
</label>
</div>
<label class="b3-label config__item${(isBrowser() && !isInAndroid()) ? " fn__none" : " fn__flex"}">
<div class="b3-label config__item${(isBrowser() && !isInAndroid()) ? " fn__none" : " fn__flex"}">
<div class="fn__flex-1">
${window.siyuan.languages.about2}
<div class="b3-label__text">${window.siyuan.languages.about3.replace("${port}", location.port)}</div>
@ -88,7 +88,7 @@ export const about = {
<button data-type="open" data-url="http://${window.siyuan.config.system.networkServe ? window.siyuan.config.localIPs[0] : "127.0.0.1"}:${location.port}" class="b3-button b3-button--outline fn__size200 fn__flex-center">
<svg><use xlink:href="#iconLink"></use></svg>${window.siyuan.languages.about4}
</button>
</label>
</div>
<div class="b3-label fn__flex config__item">
<div class="fn__flex-1 fn__flex-center">
${window.siyuan.languages.dataRepoKey}
@ -119,7 +119,7 @@ export const about = {
</button>
</div>
</div>
<label class="fn__flex b3-label config__item">
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.dataRepoPurge}
<div class="b3-label__text">${window.siyuan.languages.dataRepoPurgeTip}</div>
@ -128,8 +128,8 @@ export const about = {
<button id="purgeRepo" class="b3-button b3-button--outline fn__size200 fn__flex-center">
<svg><use xlink:href="#iconTrashcan"></use></svg>${window.siyuan.languages.purge}
</button>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.systemLog}
<div class="b3-label__text">${window.siyuan.languages.systemLogTip}</div>
@ -138,8 +138,8 @@ export const about = {
<button id="exportLog" class="b3-button b3-button--outline fn__size200 fn__flex-center">
<svg><use xlink:href="#iconUpload"></use></svg>${window.siyuan.languages.export}
</button>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.currentVer} v${Constants.SIYUAN_VERSION}
<span id="isInsider"></span>
@ -151,15 +151,15 @@ export const about = {
<svg><use xlink:href="#iconRefresh"></use></svg>${window.siyuan.languages.checkUpdate}
</button>
</div>
</label>
<label class="fn__flex config__item b3-label">
</div>
<div class="fn__flex config__item b3-label">
<div class="fn__flex-1">
${window.siyuan.languages.about13}
<div class="b3-label__text">${window.siyuan.languages.about14}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="token" value="${window.siyuan.config.api.token}">
</label>
</div>
<div class="b3-label${(window.siyuan.config.system.container === "std" || window.siyuan.config.system.container === "docker") ? "" : " fn__none"}">
${window.siyuan.languages.networkProxy}
<div class="b3-label__text">

View file

@ -52,15 +52,15 @@ export const ai = {
<div class="b3-label__text">${window.siyuan.languages.apiBaseURLTip}</div>
</div>`;
/// #else
responsiveHTML = `<label class="fn__flex b3-label">
responsiveHTML = `<div class="fn__flex b3-label">
<div class="fn__flex-1">
${window.siyuan.languages.apiTimeout}
<div class="b3-label__text">${window.siyuan.languages.apiTimeoutTip}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" type="number" step="1" min="5" max="600" id="apiTimeout" value="${window.siyuan.config.ai.openAI.apiTimeout}"/>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.apiModel}
<div class="b3-label__text">${window.siyuan.languages.apiModelTip}</div>
@ -74,39 +74,39 @@ export const ai = {
<option value="gpt-3.5-turbo-16k" ${window.siyuan.config.ai.openAI.apiModel === "gpt-3.5-turbo-16k" ? "selected" : ""}>gpt-3.5-turbo-16k</option>
<option value="gpt-3.5-turbo-1106" ${window.siyuan.config.ai.openAI.apiModel === "gpt-3.5-turbo-1106" ? "selected" : ""}>gpt-3.5-turbo-1106</option>
</select>
</label>
<label class="fn__flex b3-label">
</div>
<div class="fn__flex b3-label">
<div class="fn__flex-1">
${window.siyuan.languages.apiMaxTokens}
<div class="b3-label__text">${window.siyuan.languages.apiMaxTokensTip}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" type="number" step="1" min="0" id="apiMaxTokens" value="${window.siyuan.config.ai.openAI.apiMaxTokens}"/>
</label>
<label class="fn__flex b3-label">
<div class="fn__flex-1">
</div>
<div class="fn__flex b3-label">
<div class="fn__block">
${window.siyuan.languages.apiKey}
<div class="b3-label__text">${window.siyuan.languages.apiKeyTip}</div>
<div class="fn__hr"></div>
<input class="b3-text-field fn__block" id="apiKey" value="${window.siyuan.config.ai.openAI.apiKey}"/>
</div>
</label>
<label class="fn__flex b3-label">
<div class="fn__flex-1">
</div>
<div class="fn__flex b3-label">
<div class="fn__block">
${window.siyuan.languages.apiProxy}
<div class="b3-label__text">${window.siyuan.languages.apiProxyTip}</div>
<span class="fn__hr"></span>
<input class="b3-text-field fn__block" id="apiProxy" value="${window.siyuan.config.ai.openAI.apiProxy}"/>
</div>
</label>
<label class="fn__flex b3-label">
<div class="fn__flex-1">
</div>
<div class="fn__flex b3-label">
<div class="fn__block">
${window.siyuan.languages.apiBaseURL}
<div class="b3-label__text">${window.siyuan.languages.apiBaseURLTip}</div>
<span class="fn__hr"></span>
<input class="b3-text-field fn__block" id="apiBaseURL" value="${window.siyuan.config.ai.openAI.apiBaseURL}"/>
</div>
</label>`;
</div>`;
/// #endif
return `<div class="fn__flex-column" style="height: 100%">
<div class="layout-tab-bar fn__flex">

View file

@ -14,7 +14,7 @@ import {resetFloatDockSize} from "../layout/dock/util";
export const appearance = {
element: undefined as Element,
genHTML: () => {
return `<label class="fn__flex b3-label config__item">
return `<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.appearance4}
<div class="b3-label__text">${window.siyuan.languages.appearance5}</div>
@ -25,7 +25,7 @@ export const appearance = {
<option value="1" ${(window.siyuan.config.appearance.mode === 1 && !window.siyuan.config.appearance.modeOS) ? "selected" : ""}>${window.siyuan.languages.themeDark}</option>
<option value="2" ${window.siyuan.config.appearance.modeOS ? "selected" : ""}>${window.siyuan.languages.themeOS}</option>
</select>
</label>
</div>
<div class="b3-label">
<div class="fn__flex">
<div class="fn__flex-center">${window.siyuan.languages.theme}</div>
@ -33,7 +33,7 @@ export const appearance = {
<a href="javascript:void(0)" ${isBrowser() ? " class='fn__none'" : ""} id="appearanceOpenTheme" class="fn__flex-center">${window.siyuan.languages.appearance9}</a>
</div>
<div class="fn__hr"></div>
<label class="fn__flex config__item">
<div class="fn__flex config__item">
<div class="fn__flex-center fn__flex-1 ft__on-surface">
${window.siyuan.languages.theme11}
</div>
@ -41,9 +41,9 @@ export const appearance = {
<select class="b3-select fn__flex-center fn__size200" id="themeLight">
${genOptions(window.siyuan.config.appearance.lightThemes, window.siyuan.config.appearance.themeLight)}
</select>
</label>
</div>
<div class="fn__hr"></div>
<label class="fn__flex config__item">
<div class="fn__flex config__item">
<div class="fn__flex-center fn__flex-1 ft__on-surface">
${window.siyuan.languages.theme12}
</div>
@ -51,9 +51,9 @@ export const appearance = {
<select class="b3-select fn__flex-center fn__size200" id="themeDark">
${genOptions(window.siyuan.config.appearance.darkThemes, window.siyuan.config.appearance.themeDark)}
</select>
</label>
</div>
</div>
<label class="fn__flex b3-label config__item">
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
<div class="fn__flex">
${window.siyuan.languages.icon}
@ -66,37 +66,37 @@ export const appearance = {
<select class="b3-select fn__flex-center fn__size200" id="icon">
${genOptions(window.siyuan.config.appearance.icons, window.siyuan.config.appearance.icon)}
</select>
</label>
</div>
<div class="b3-label fn__flex"><div class="fn__block">
<div>
${window.siyuan.languages.appearance1}
</div>
<div class="fn__hr"></div>
<label class="fn__flex config__item">
<div class="fn__flex config__item">
<div class="fn__flex-center fn__flex-1 ft__on-surface">${window.siyuan.languages.appearance2}</div>
<span class="fn__space"></span>
<select id="codeBlockThemeLight" class="b3-select fn__size200">
${genOptions(Constants.SIYUAN_CONFIG_APPEARANCE_LIGHT_CODE, window.siyuan.config.appearance.codeBlockThemeLight)}
</select>
</label>
</div>
<div class="fn__hr"></div>
<label class="fn__flex config__item">
<div class="fn__flex config__item">
<div class="fn__flex-center fn__flex-1 ft__on-surface">${window.siyuan.languages.appearance3}</div>
<span class="fn__space"></span>
<select id="codeBlockThemeDark" class="b3-select fn__size200">
${genOptions(Constants.SIYUAN_CONFIG_APPEARANCE_DARK_CODE, window.siyuan.config.appearance.codeBlockThemeDark)}
</select>
</label>
</div>
</div></div>
<label class="fn__flex b3-label config__item">
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.language}
<div class="b3-label__text">${window.siyuan.languages.language1}</div>
</div>
<span class="fn__space"></span>
<select id="lang" class="b3-select fn__flex-center fn__size200">${genOptions(window.siyuan.config.langs, window.siyuan.config.appearance.lang)}</select>
</label>
<label class="b3-label config__item${isBrowser() ? " fn__none" : " fn__flex"}">
</div>
<div class="b3-label config__item${isBrowser() ? " fn__none" : " fn__flex"}">
<div class="fn__flex-1">
${window.siyuan.languages.customEmoji}
<div class="b3-label__text">${window.siyuan.languages.customEmojiTip}</div>
@ -106,8 +106,8 @@ export const appearance = {
<svg><use xlink:href="#iconRefresh"></use></svg>
${window.siyuan.languages.refresh}
</button>
</label>
<label class="b3-label fn__flex config__item">
</div>
<div class="b3-label fn__flex config__item">
<div class="fn__flex-1">
${window.siyuan.languages.resetLayout}
<div class="b3-label__text">${window.siyuan.languages.appearance6}</div>
@ -116,8 +116,8 @@ export const appearance = {
<button class="b3-button b3-button--outline fn__flex-center fn__size200" id="resetLayout">
<svg><use xlink:href="#iconUndo"></use></svg>${window.siyuan.languages.reset}
</button>
</label>
<label class="b3-label fn__flex config__item">
</div>
<div class="b3-label fn__flex config__item">
<div class="fn__flex-1 fn__flex-center">
${window.siyuan.languages.codeSnippet}
</div>
@ -125,7 +125,7 @@ export const appearance = {
<button class="b3-button b3-button--outline fn__flex-center fn__size200" id="codeSnippet">
<svg><use xlink:href="#iconSettings"></use></svg>${window.siyuan.languages.config}
</button>
</label>
</div>
<label class="fn__flex b3-label">
<div class="fn__flex-1">
${window.siyuan.languages.appearance16}

View file

@ -137,15 +137,15 @@ export const editor = {
<span class="fn__space"></span>
<input class="b3-switch fn__flex-center" id="virtualBlockRef" type="checkbox"${window.siyuan.config.editor.virtualBlockRef ? " checked" : ""}/>
</label>
<label class="fn__flex b3-label config__item">
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.md9}
<div class="b3-label__text">${window.siyuan.languages.md36}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="virtualBlockRefInclude" value="${window.siyuan.config.editor.virtualBlockRefInclude}" />
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.md35}
<div class="b3-label__text">${window.siyuan.languages.md36}</div>
@ -153,56 +153,56 @@ export const editor = {
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="virtualBlockRefExclude" value="${window.siyuan.config.editor.virtualBlockRefExclude}" />
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.md39}
<div class="b3-label__text">${window.siyuan.languages.md40}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="plantUMLServePath" value="${window.siyuan.config.editor.plantUMLServePath}"/>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.dynamicLoadBlocks}
<div class="b3-label__text">${window.siyuan.languages.dynamicLoadBlocksTip}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="dynamicLoadBlocks" type="number" min="48" max="1024" value="${window.siyuan.config.editor.dynamicLoadBlocks}"/>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.md37}
<div class="b3-label__text">${window.siyuan.languages.md38}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="blockRefDynamicAnchorTextMaxLen" type="number" min="1" max="5120" value="${window.siyuan.config.editor.blockRefDynamicAnchorTextMaxLen}"/>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.backlinkExpand}
<div class="b3-label__text">${window.siyuan.languages.backlinkExpandTip}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="backlinkExpandCount" type="number" min="0" max="512" value="${window.siyuan.config.editor.backlinkExpandCount}"/>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.backmentionExpand}
<div class="b3-label__text">${window.siyuan.languages.backmentionExpandTip}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="backmentionExpandCount" type="number" min="0" max="512" value="${window.siyuan.config.editor.backmentionExpandCount}"/>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.generateHistory}
<div class="b3-label__text">${window.siyuan.languages.generateHistoryInterval}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="generateHistoryInterval" type="number" min="0" max="120" value="${window.siyuan.config.editor.generateHistoryInterval}"/>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.historyRetentionDays}
<a href="javascript:void(0)" id="clearHistory">${window.siyuan.languages.clearHistory}</a>
@ -210,15 +210,15 @@ export const editor = {
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="historyRetentionDays" type="number" min="0" value="${window.siyuan.config.editor.historyRetentionDays}"/>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.font}
<div class="b3-label__text">${window.siyuan.languages.font1}</div>
</div>
<span class="fn__space"></span>
${fontFamilyHTML}
</label>
</div>
<label class="fn__flex b3-label">
<div class="fn__flex-1">
${window.siyuan.languages.fontSizeScrollZoom}
@ -227,7 +227,7 @@ export const editor = {
<span class="fn__space"></span>
<input class="b3-switch fn__flex-center" id="fontSizeScrollZoom" type="checkbox"${window.siyuan.config.editor.fontSizeScrollZoom ? " checked" : ""}/>
</label>
<label class="fn__flex b3-label config__item">
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.fontSize}
<div class="b3-label__text">${window.siyuan.languages.fontSizeTip}</div>
@ -236,8 +236,8 @@ export const editor = {
<div class="b3-tooltips b3-tooltips__n fn__flex-center" aria-label="${window.siyuan.config.editor.fontSize}">
<input class="b3-slider fn__size200" id="fontSize" max="72" min="9" step="1" type="range" value="${window.siyuan.config.editor.fontSize}">
</div>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.md29}
<div class="b3-label__text">${window.siyuan.languages.md30}</div>
@ -246,15 +246,15 @@ export const editor = {
<div class="b3-tooltips b3-tooltips__n fn__flex-center" aria-label="${window.siyuan.config.editor.codeTabSpaces}">
<input class="b3-slider fn__size200" id="codeTabSpaces" max="8" min="0" step="2" type="range" value="${window.siyuan.config.editor.codeTabSpaces}">
</div>
</label>
<label class="b3-label fn__flex">
<div class="fn__flex-1">
</div>
<div class="b3-label">
<div class="fn__block">
${window.siyuan.languages.katexMacros}
<div class="b3-label__text">${window.siyuan.languages.katexMacrosTip}</div>
<div class="fn__hr"></div>
<textarea class="b3-text-field fn__block" id="katexMacros" spellcheck="false">${window.siyuan.config.editor.katexMacros}</textarea>
</div>
</label>`;
</div>`;
},
bindEvent: () => {
const fontFamilyElement = editor.element.querySelector("#fontFamily") as HTMLSelectElement;

View file

@ -36,7 +36,7 @@ export const exportConfig = {
<span class="fn__space"></span>
<input class="b3-switch fn__flex-center" id="markdownYFM" type="checkbox"${window.siyuan.config.export.markdownYFM ? " checked" : ""}/>
</label>
<label class="fn__flex b3-label config__item">
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.ref}
<div class="b3-label__text">${window.siyuan.languages.export11}</div>
@ -47,8 +47,8 @@ export const exportConfig = {
<option value="3" ${window.siyuan.config.export.blockRefMode === 3 ? "selected" : ""}>${window.siyuan.languages.export3}</option>
<option value="4" ${window.siyuan.config.export.blockRefMode === 4 ? "selected" : ""}>${window.siyuan.languages.export4}</option>
</select>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.blockEmbed}
<div class="b3-label__text">${window.siyuan.languages.export12}</div>
@ -58,8 +58,8 @@ export const exportConfig = {
<option value="0" ${window.siyuan.config.export.blockEmbedMode === 0 ? "selected" : ""}>${window.siyuan.languages.export0}</option>
<option value="1" ${window.siyuan.config.export.blockEmbedMode === 1 ? "selected" : ""}>${window.siyuan.languages.export1}</option>
</select>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.export5}
<div class="b3-label__text">${window.siyuan.languages.export6}</div>
@ -69,22 +69,22 @@ export const exportConfig = {
<option value="0" ${window.siyuan.config.export.fileAnnotationRefMode === 0 ? "selected" : ""}>${window.siyuan.languages.export7}</option>
<option value="1" ${window.siyuan.config.export.fileAnnotationRefMode === 1 ? "selected" : ""}>${window.siyuan.languages.export8}</option>
</select>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.export21}
<div class="b3-label__text">${window.siyuan.languages.export22}</div>
</div>
<input class="b3-text-field fn__flex-center fn__size200" id="pdfFooter">
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.export25}
<div class="b3-label__text">${window.siyuan.languages.export26}</div>
</div>
<input class="b3-text-field fn__flex-center fn__size200" id="docxTemplate" placeholder="F:\\template.docx">
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.export13}
<div class="b3-label__text">${window.siyuan.languages.export14}</div>
@ -93,8 +93,8 @@ export const exportConfig = {
<input class="b3-text-field fn__flex-center fn__size96" id="blockRefTextLeft">
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size96" id="blockRefTextRight">
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.export15}
<div class="b3-label__text">${window.siyuan.languages.export16}</div>
@ -103,8 +103,8 @@ export const exportConfig = {
<input class="b3-text-field fn__flex-center fn__size96" id="tagOpenMarker">
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size96" id="tagCloseMarker">
</label>
<label class="fn__flex b3-label config__item${isBrowser() ? " fn__none" : ""}">
</div>
<div class="fn__flex b3-label config__item${isBrowser() ? " fn__none" : ""}">
<div class="fn__flex-1">
${window.siyuan.languages.export19}
<span class="fn__space"></span>
@ -113,8 +113,8 @@ export const exportConfig = {
</div>
<span class="fn__space"></span>
<button class="b3-button b3-button--outline fn__flex-center fn__size200" id="pandocBin"><svg><use xlink:href="#iconSettings"></use></svg>${window.siyuan.languages.config}</button>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1 fn__flex-center">
${window.siyuan.languages.export} Data
<div class="b3-label__text">${window.siyuan.languages.exportDataTip}</div>
@ -123,8 +123,8 @@ export const exportConfig = {
<button class="b3-button b3-button--outline fn__flex-center fn__size200" id="exportData">
<svg><use xlink:href="#iconUpload"></use></svg>${window.siyuan.languages.export}
</button>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1 fn__flex-center">
${window.siyuan.languages.import} Data
<div class="b3-label__text">${window.siyuan.languages.importDataTip}</div>
@ -134,7 +134,7 @@ export const exportConfig = {
<input id="importData" class="b3-form__upload" type="file">
<svg><use xlink:href="#iconDownload"></use></svg>${window.siyuan.languages.import}
</button>
</label>`;
</div>`;
},
bindEvent: () => {
(exportConfig.element.querySelector("#docxTemplate") as HTMLInputElement).value = window.siyuan.config.export.docxTemplate;

View file

@ -51,38 +51,38 @@ export const fileTree = {
<span class="fn__space"></span>
<input class="b3-switch fn__flex-center" id="useSingleLineSave" type="checkbox"${window.siyuan.config.fileTree.useSingleLineSave ? " checked" : ""}/>
</label>
<label class="fn__flex b3-label config__item">
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.fileTree12}
<div class="b3-label__text">${window.siyuan.languages.fileTree13}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="docCreateSavePath" value="">
</label>
<label class="b3-label fn__flex config__item">
</div>
<div class="b3-label fn__flex config__item">
<div class="fn__flex-1">
${window.siyuan.languages.fileTree5}
<div class="b3-label__text">${window.siyuan.languages.fileTree6}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="refCreateSavePath" value="${window.siyuan.config.fileTree.refCreateSavePath}">
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.fileTree16}
<div class="b3-label__text">${window.siyuan.languages.fileTree17}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="maxListCount" type="number" min="1" max="10240" value="${window.siyuan.config.fileTree.maxListCount}">
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.tabLimit}
<div class="b3-label__text">${window.siyuan.languages.tabLimit1}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="maxOpenTabCount" type="number" min="1" max="32" value="${window.siyuan.config.fileTree.maxOpenTabCount}">
</label>`;
</div>`;
},
_send() {
// 限制页签最大打开数量为 `32` https://github.com/siyuan-note/siyuan/issues/6303

View file

@ -75,46 +75,46 @@ export const flashcard = {
<div class="b3-label__text">${window.siyuan.languages.flashcardFSRSParamWeightsTip}</div>
</div>`;
/// #else
responsiveHTML = `${responsiveHTML}<label class="fn__flex b3-label">
responsiveHTML = `${responsiveHTML}<div class="fn__flex b3-label">
<div class="fn__flex-1">
${window.siyuan.languages.flashcardNewCardLimit}
<div class="b3-label__text">${window.siyuan.languages.flashcardNewCardLimitTip}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="newCardLimit" step="1" min="0" type="number"${window.siyuan.config.flashcard.newCardLimit ? " checked" : ""} value="${window.siyuan.config.flashcard.newCardLimit}"/>
</label>
<label class="fn__flex b3-label">
</div>
<div class="fn__flex b3-label">
<div class="fn__flex-1">
${window.siyuan.languages.flashcardReviewCardLimit}
<div class="b3-label__text">${window.siyuan.languages.flashcardReviewCardLimitTip}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="reviewCardLimit" step="1" min="0" type="number"${window.siyuan.config.flashcard.reviewCardLimit ? " checked" : ""} value="${window.siyuan.config.flashcard.reviewCardLimit}"/>
</label>
<label class="fn__flex b3-label">
</div>
<div class="fn__flex b3-label">
<div class="fn__flex-1">
${window.siyuan.languages.flashcardFSRSParamRequestRetention}
<div class="b3-label__text">${window.siyuan.languages.flashcardFSRSParamRequestRetentionTip}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="requestRetention" step="0.01" min="0" max="1" type="number" value="${window.siyuan.config.flashcard.requestRetention}"/>
</label>
<label class="fn__flex b3-label">
</div>
<div class="fn__flex b3-label">
<div class="fn__flex-1">
${window.siyuan.languages.flashcardFSRSParamMaximumInterval}
<div class="b3-label__text">${window.siyuan.languages.flashcardFSRSParamMaximumIntervalTip}</div>
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="maximumInterval" step="1" min="365" max="36500" type="number" value="${window.siyuan.config.flashcard.maximumInterval}"/>
</label>
<label class="fn__flex b3-label">
<div class="fn__flex-1">
</div>
<div class="fn__flex b3-label">
<div class="fn__block">
${window.siyuan.languages.flashcardFSRSParamWeights}
<div class="b3-label__text">${window.siyuan.languages.flashcardFSRSParamWeightsTip}</div>
<span class="fn__hr"></span>
<input class="b3-text-field fn__block" id="weights" value="${window.siyuan.config.flashcard.weights}"/>
</div>
</label>`;
</div>`;
/// #endif
return responsiveHTML;
},

View file

@ -75,15 +75,15 @@ export const keymap = {
</div>
</div>`;
}
return `<label class="fn__flex b3-label config__item">
return `<div class="fn__flex b3-label config__item">
<span class="fn__flex-center">${window.siyuan.languages.keymapTip}</span>
<span class="fn__flex-1"></span>
<button id="keymapRefreshBtn" class="b3-button b3-button--outline fn__flex-center fn__size200">
<svg><use xlink:href="#iconRefresh"></use></svg>
${window.siyuan.languages.refresh}
</button>
</label>
<label class="fn__flex b3-label config__item">
</div>
<div class="fn__flex b3-label config__item">
<span class="fn__flex-center">${window.siyuan.languages.keymapTip2}</span>
<span class="fn__flex-1"></span>
<span class="fn__space"></span>
@ -91,7 +91,7 @@ export const keymap = {
<svg><use xlink:href="#iconUndo"></use></svg>
${window.siyuan.languages.reset}
</button>
</label>
</div>
<div class="b3-label file-tree config-keymap" id="keymapList">
<div class="fn__flex config__item">
<label class="b3-form__icon fn__block">

View file

@ -195,13 +195,13 @@ export const query = {
<span class="fn__space"></span>
<input class="b3-switch" id="backlinkMentionDoc" type="checkbox"${window.siyuan.config.search.backlinkMentionDoc ? " checked" : ""}/>
</label>
<label class="fn__flex" style="flex: 2">
<div class=>
<div class="fn__flex label" style="flex: 2">
<div>
${window.siyuan.languages.keywordsLimit}
</div>
<span class="fn__space"></span>
<input class="b3-text-field" id="backlinkMentionKeywordsLimit" type="number" min="1" max="10240" value="${window.siyuan.config.search.backlinkMentionKeywordsLimit}">
</label>
</div>
</div>
</div>
<div class="b3-label">
@ -249,7 +249,7 @@ export const query = {
</label>
</div>
</div>
<label class="fn__flex b3-label config__item">
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.searchLimit}
<div class="b3-label__text">${window.siyuan.languages.searchLimit1}</div>
@ -257,7 +257,7 @@ export const query = {
</div>
<span class="fn__space"></span>
<input class="b3-text-field fn__flex-center fn__size200" id="limit" type="number" min="32" max="10240" value="${window.siyuan.config.search.limit}">
</label>
</div>
<label class="fn__flex b3-label">
<div class="fn__flex-1">
${window.siyuan.languages.searchCaseSensitive}

View file

@ -49,55 +49,55 @@ const renderProvider = (provider: number) => {
<div class="fn__hr"></div>
${window.siyuan.languages.syncThirdPartyProviderTip}
</div>
<label class="b3-label b3-label--inner fn__flex">
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-center fn__size200">Endpoint</div>
<div class="fn__space"></div>
<input id="endpoint" class="b3-text-field fn__block" value="${window.siyuan.config.sync.s3.endpoint}">
</label>
<label class="b3-label b3-label--inner fn__flex">
</div>
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-center fn__size200">Access Key</div>
<div class="fn__space"></div>
<input id="accessKey" class="b3-text-field fn__block" value="${window.siyuan.config.sync.s3.accessKey}">
</label>
<label class="b3-label b3-label--inner fn__flex">
</div>
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-center fn__size200">Secret Key</div>
<div class="fn__space"></div>
<div class="b3-form__icona fn__block">
<input id="secretKey" type="password" class="b3-text-field b3-form__icona-input" value="${window.siyuan.config.sync.s3.secretKey}">
<svg class="b3-form__icona-icon" data-action="togglePassword"><use xlink:href="#iconEye"></use></svg>
</div>
</label>
<label class="b3-label b3-label--inner fn__flex">
</div>
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-center fn__size200">Bucket</div>
<div class="fn__space"></div>
<input id="bucket" class="b3-text-field fn__block" value="${window.siyuan.config.sync.s3.bucket}">
</label>
<label class="b3-label b3-label--inner fn__flex">
</div>
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-center fn__size200">Region</div>
<div class="fn__space"></div>
<input id="region" class="b3-text-field fn__block" value="${window.siyuan.config.sync.s3.region}">
</label>
<label class="b3-label b3-label--inner fn__flex">
</div>
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-center fn__size200">Timeout (s)</div>
<div class="fn__space"></div>
<input id="timeout" class="b3-text-field fn__block" type="number" min="7" max="300" value="${window.siyuan.config.sync.s3.timeout}">
</label>
<label class="b3-label b3-label--inner fn__flex">
</div>
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-center fn__size200">Addressing</div>
<div class="fn__space"></div>
<select class="b3-select fn__block" id="pathStyle">
<option ${window.siyuan.config.sync.s3.pathStyle ? "" : "selected"} value="false">Virtual-hosted-style</option>
<option ${window.siyuan.config.sync.s3.pathStyle ? "selected" : ""} value="true">Path-style</option>
</select>
</label>
<label class="b3-label b3-label--inner fn__flex">
</div>
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-center fn__size200">TLS Verify</div>
<div class="fn__space"></div>
<select class="b3-select fn__block" id="s3SkipTlsVerify">
<option ${window.siyuan.config.sync.s3.skipTlsVerify ? "" : "selected"} value="false">Verify</option>
<option ${window.siyuan.config.sync.s3.skipTlsVerify ? "selected" : ""} value="true">Skip</option>
</select>
</label>
</div>
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-1"></div>
<button class="b3-button b3-button--outline fn__size200" style="position: relative">
@ -117,37 +117,37 @@ const renderProvider = (provider: number) => {
<div class="fn__hr"></div>
${window.siyuan.languages.syncThirdPartyProviderTip}
</div>
<label class="b3-label b3-label--inner fn__flex">
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-center fn__size200">Endpoint</div>
<div class="fn__space"></div>
<input id="endpoint" class="b3-text-field fn__block" value="${window.siyuan.config.sync.webdav.endpoint}">
</label>
<label class="b3-label b3-label--inner fn__flex">
</div>
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-center fn__size200">Username</div>
<div class="fn__space"></div>
<input id="username" class="b3-text-field fn__block" value="${window.siyuan.config.sync.webdav.username}">
</label>
<label class="b3-label b3-label--inner fn__flex">
</div>
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-center fn__size200">Password</div>
<div class="fn__space"></div>
<div class="b3-form__icona fn__block">
<input id="password" type="password" class="b3-text-field b3-form__icona-input" value="${window.siyuan.config.sync.webdav.password}">
<svg class="b3-form__icona-icon" data-action="togglePassword"><use xlink:href="#iconEye"></use></svg>
</div>
</label>
<label class="b3-label b3-label--inner fn__flex">
</div>
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-center fn__size200">Timeout (s)</div>
<div class="fn__space"></div>
<input id="timeout" class="b3-text-field fn__block" type="number" min="7" max="300" value="${window.siyuan.config.sync.webdav.timeout}">
</label>
<label class="b3-label b3-label--inner fn__flex">
</div>
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-center fn__size200">TLS Verify</div>
<div class="fn__space"></div>
<select class="b3-select fn__block" id="webdavSkipTlsVerify">
<option ${window.siyuan.config.sync.webdav.skipTlsVerify ? "" : "selected"} value="false">Verify</option>
<option ${window.siyuan.config.sync.webdav.skipTlsVerify ? "selected" : ""} value="true">Skip</option>
</select>
</label>
</div>
<div class="b3-label b3-label--inner fn__flex">
<div class="fn__flex-1"></div>
<button class="b3-button b3-button--outline fn__size200" style="position: relative">
@ -303,7 +303,7 @@ export const repos = {
<div style="position: fixed;width: 800px;height: 434px;box-sizing: border-box;text-align: center;display: flex;align-items: center;justify-content: center;z-index: 1;" id="reposLoading">
<img src="/stage/loading-pure.svg">
</div>
<label class="fn__flex b3-label config__item">
<div class="fn__flex b3-label config__item">
<div class="fn__flex-1">
${window.siyuan.languages.syncProvider}
<div class="b3-label__text">${window.siyuan.languages.syncProviderTip}</div>
@ -314,7 +314,7 @@ export const repos = {
<option value="2" ${window.siyuan.config.sync.provider === 2 ? "selected" : ""}>S3</option>
<option value="3" ${window.siyuan.config.sync.provider === 3 ? "selected" : ""}>WebDAV</option>
</select>
</label>
</div>
<div id="syncProviderPanel" class="b3-label">
${renderProvider(window.siyuan.config.sync.provider)}
</div>
@ -345,7 +345,7 @@ export const repos = {
<input type="checkbox" id="generateConflictDoc"${window.siyuan.config.sync.generateConflictDoc ? " checked='checked'" : ""} class="b3-switch fn__flex-center">
</label>
<div class="b3-label">
<label class="fn__flex config__item">
<div class="fn__flex config__item">
<div class="fn__flex-1">
${window.siyuan.languages.syncMode}
<div class="b3-label__text">${window.siyuan.languages.syncModeTip}</div>
@ -356,7 +356,7 @@ export const repos = {
<option value="2" ${window.siyuan.config.sync.mode === 2 ? "selected" : ""}>${window.siyuan.languages.syncMode2}</option>
<option value="3" ${window.siyuan.config.sync.mode === 3 ? "selected" : ""}>${window.siyuan.languages.syncMode3}</option>
</select>
</label>
</div>
<label class="fn__flex b3-label${(window.siyuan.config.sync.mode !== 1 || window.siyuan.config.system.container === "docker" || window.siyuan.config.sync.provider !== 0) ? " fn__none" : ""}">
<div class="fn__flex-1">
${window.siyuan.languages.syncPerception}
@ -367,13 +367,13 @@ export const repos = {
</label>
</div>
<div class="b3-label">
<label class="fn__flex config__item">
<div class="fn__flex config__item">
<div class="fn__flex-center">${window.siyuan.languages.cloudSyncDir}</div>
<div class="fn__flex-1"></div>
<button class="b3-button b3-button--outline fn__flex-center fn__size200" data-action="config">
<svg><use xlink:href="#iconSettings"></use></svg>${window.siyuan.languages.config}
</button>
</label>
</div>
<div id="reposCloudSyncList" class="fn__none b3-label"><img style="margin: 0 auto;display: block;width: 64px;height: 100%" src="/stage/loading-pure.svg"></div>
</div>
<div class="b3-label fn__flex">