This commit is contained in:
Liang Ding 2022-05-26 15:18:53 +08:00
parent e650b8100c
commit f40ed985e1
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
1214 changed files with 345766 additions and 9 deletions

23
.gitignore vendored
View file

@ -1,5 +1,26 @@
# Binaries
# Binaries for programs and plugins
*.exe
cloc.exe
*.dll
*.so
*.dylib
*.aar
*.jar
*.syso
.DS_Store
app/node_modules
app/stage/build
app/build
app/kernel*
ios
pprof
# Test binary, build with `go test -c`
*.test
# Output of the go coverage tool, specifically when used with LiteIDE
*.out
electron/dist
# IDE
.idea/

12
.gitmodules vendored Normal file
View file

@ -0,0 +1,12 @@
[submodule "app/appearance"]
path = app/appearance
url = git@github.com:siyuan-note/appearance.git
[submodule "app/guide/20210808180117-czj9bvb"]
path = app/guide/20210808180117-czj9bvb
url = git@github.com:siyuan-note/user-guide-zh_CN.git
[submodule "app/guide/20210808180117-6v0mkxr"]
path = app/guide/20210808180117-6v0mkxr
url = git@github.com:siyuan-note/user-guide-en_US.git
[submodule "app/guide/20211226090932-5lcq56f"]
path = app/guide/20211226090932-5lcq56f
url = git@github.com:siyuan-note/user-guide-zh_CHT.git

13
DEV.md
View file

@ -2,7 +2,7 @@
## Get the source code
* `git clone --recurse-submodules git@github.com:siyuan-note/siyuan.git`
* `git clone --recurse-submodules git@github.com:siyuan-note/siyuan.git` For example saved in `D:/siyuan/`
* switch to dev branch
## NPM dependencies
@ -21,17 +21,20 @@ NPM mirror:
### Desktop
* `go build --tags "fts5" -o "D:\\siyuan\\app\\kernel\\SiYuan-Kernel.exe"`
* `SiYuan-Kernel.exe --wd=D:\\siyuan\\app`
* `cd kernel`
* `go build --tags "fts5" -o "../app/kernel/SiYuan-Kernel.exe"`
* `SiYuan-Kernel.exe --wd=D:/siyuan/app`
### iOS
* `gomobile bind --tags fts5 -ldflags '-s -w' -v -o ./ios/iosk.xcframework -target=ios ./kernel/mobile/`
* `cd kernel`
* `gomobile bind --tags fts5 -ldflags '-s -w' -v -o ./ios/iosk.xcframework -target=ios ./mobile/`
* https://github.com/siyuan-note/siyuan-ios
### Android
* `gomobile bind --tags fts5 -ldflags '-s -w' -v -o kernel.aar -target='android/arm,android/arm64' ./kernel/mobile/`
* `cd kernel`
* `gomobile bind --tags fts5 -ldflags '-s -w' -v -o kernel.aar -target='android/arm,android/arm64' ./mobile/`
* https://github.com/siyuan-note/siyuan-android
## User Interface

View file

@ -2,7 +2,7 @@
## 获取源码
* `git clone --recurse-submodules git@github.com:siyuan-note/siyuan.git`
* `git clone --recurse-submodules git@github.com:siyuan-note/siyuan.git` 例如保存在 `D:/siyuan/`
* 切换到 dev 分支
## NPM 依赖
@ -21,8 +21,9 @@ NPM 镜像:
### 桌面端
* `go build --tags "fts5" -o "D:\\siyuan\\app\\kernel\\SiYuan-Kernel.exe"`
* `SiYuan-Kernel.exe --wd=D:\\siyuan\\app`
* `cd kernel`
* `go build --tags "fts5" -o "../app/kernel/SiYuan-Kernel.exe"`
* `SiYuan-Kernel.exe --wd=D:/siyuan/app`
### iOS

32
Dockerfile Normal file
View file

@ -0,0 +1,32 @@
FROM node:16 as NODE_BUILD
WORKDIR /go/src/github.com/siyuan-note/siyuan/
ADD . /go/src/github.com/siyuan-note/siyuan/
RUN rm /go/src/github.com/siyuan-note/siyuan/app/package-lock.json
RUN cd app && npm install --legacy-peer-deps && npm run build
FROM golang:alpine as GO_BUILD
WORKDIR /go/src/github.com/siyuan-note/siyuan/
COPY --from=NODE_BUILD /go/src/github.com/siyuan-note/siyuan/ /go/src/github.com/siyuan-note/siyuan/
ENV GO111MODULE=on
ENV CGO_ENABLED=1
RUN apk add --no-cache gcc musl-dev git && \
cd kernel && go build --tags fts5 -v -ldflags "-s -w -X github.com/siyuan-note/siyuan/kernel/util.Mode=prod" && \
mkdir /opt/siyuan/ && \
mv /go/src/github.com/siyuan-note/siyuan/app/appearance/ /opt/siyuan/ && \
mv /go/src/github.com/siyuan-note/siyuan/app/stage/ /opt/siyuan/ && \
mv /go/src/github.com/siyuan-note/siyuan/app/guide/ /opt/siyuan/ && \
mv /go/src/github.com/siyuan-note/siyuan/kernel/kernel /opt/siyuan/ && \
find /opt/siyuan/ -name .git | xargs rm -rf
FROM alpine:latest
LABEL maintainer="Liang Ding<845765@qq.com>"
WORKDIR /opt/siyuan/
COPY --from=GO_BUILD /opt/siyuan/ /opt/siyuan/
RUN addgroup --gid 1000 siyuan && adduser --uid 1000 --ingroup siyuan --disabled-password siyuan && apk add --no-cache ca-certificates tzdata && chown -R siyuan:siyuan /opt/siyuan/
ENV TZ=Asia/Shanghai
EXPOSE 6806
USER siyuan
ENTRYPOINT [ "/opt/siyuan/kernel" ]

6
app/.eslintignore Normal file
View file

@ -0,0 +1,6 @@
build
dist
electron
node_modules
public
*.js

23
app/.eslintrc.js Normal file
View file

@ -0,0 +1,23 @@
module.exports = {
root: true,
parser: '@typescript-eslint/parser',
plugins: [
'@typescript-eslint',
],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
],
rules: {
semi:[2, "always"],
quotes:[2, "double", { "avoidEscape": true }],
'no-prototype-builtins': "off",
'no-useless-escape': "off",
'no-irregular-whitespace': "off",
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/no-var-requires': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
},
}

2
app/appearance/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
themes/*/custom.css
themes/Comfortably Numb

21
app/appearance/LICENSE Normal file
View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020-present, SiYuan
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

8
app/appearance/README.md Normal file
View file

@ -0,0 +1,8 @@
# 思源笔记外观 <a title="Hits" target="_blank" href="https://github.com/siyuan-note/appearance"><img src="https://hits.b3log.org/siyuan-note/appearance.svg"></a>
[English](https://github.com/siyuan-note/appearance/blob/master/README_en_US.md)
* emojisEmoji 表情
* langs多语言配置
* themes主题
* icons图标

View file

@ -0,0 +1,8 @@
# SiYuan appearance <a title="Hits" target="_blank" href="https://github.com/siyuan-note/appearance"><img src="https://hits.b3log.org/siyuan-note/appearance.svg"></a>
[中文](https://github.com/siyuan-note/appearance/blob/master/README.md)
* emojis: Emoji assets
* langs: Multi-language configuration
* themes: Appearance themes
* icons: Appearance icons

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 23 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 26 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.7 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -0,0 +1,49 @@
<svg xmlns="http://www.w3.org/2000/svg" width="870.4" height="598.682" viewBox="0 0 870.4 598.682">
<g id="Group_14" data-name="Group 14" transform="translate(-182.787 -183.377)">
<g id="Group_9" data-name="Group 9" transform="translate(-237 346.007)">
<path id="Path_141" data-name="Path 141" d="M827.279,436.053H539.012a5.345,5.345,0,0,1-5.338-5.338V184.207a5.345,5.345,0,0,1,5.338-5.338H827.279a5.345,5.345,0,0,1,5.338,5.338V430.714a5.344,5.344,0,0,1-5.338,5.338ZM539.012,181a3.207,3.207,0,0,0-3.2,3.2V430.714a3.207,3.207,0,0,0,3.2,3.2H827.279a3.206,3.206,0,0,0,3.2-3.2V184.207a3.207,3.207,0,0,0-3.2-3.2Z" transform="translate(-44.905)" fill="#e6e6e6"/>
<circle id="Ellipse_19" data-name="Ellipse 19" cx="21.745" cy="21.745" r="21.745" transform="translate(517.152 370.472)" fill="#e6e6e6"/>
<path id="Path_142" data-name="Path 142" d="M634.024,377.72a3.624,3.624,0,0,0,0,7.248H804.88a3.624,3.624,0,0,0,0-7.248Z" transform="translate(-44.905)" fill="#e6e6e6"/>
<path id="Path_143" data-name="Path 143" d="M634.024,399.466a3.624,3.624,0,0,0,0,7.248h73.52a3.624,3.624,0,0,0,0-7.248Z" transform="translate(-44.905)" fill="#e6e6e6"/>
<path id="Path_154" data-name="Path 154" d="M895.768,350.074H607.5a5.344,5.344,0,0,1-5.338-5.338V218.229a5.344,5.344,0,0,1,5.338-5.338H895.768a5.344,5.344,0,0,1,5.338,5.338V344.736A5.344,5.344,0,0,1,895.768,350.074Z" transform="translate(-44.905)" fill="#d23f31"/>
<path id="Path_155" data-name="Path 155" d="M666.206,256.985a3.624,3.624,0,0,0,0,7.248H837.063a3.624,3.624,0,0,0,0-7.248Z" transform="translate(-44.905)" fill="#fff"/>
<path id="Path_156" data-name="Path 156" d="M666.206,277.985a3.624,3.624,0,0,0,0,7.248H837.063a3.624,3.624,0,0,0,0-7.248Z" transform="translate(-44.905)" fill="#fff"/>
<path id="Path_157" data-name="Path 157" d="M666.206,298.731a3.624,3.624,0,0,0,0,7.248h73.52a3.624,3.624,0,0,0,0-7.248Z" transform="translate(-44.905)" fill="#fff"/>
</g>
<rect id="Rectangle_1" data-name="Rectangle 1" width="870.4" height="2" transform="translate(182.787 779.636)" fill="#3f3d56"/>
<g id="Group_10" data-name="Group 10" transform="translate(100 164.584)">
<path id="Path_138" data-name="Path 138" d="M883.279,615.053H595.012a5.345,5.345,0,0,1-5.338-5.338V538.207a5.345,5.345,0,0,1,5.338-5.338H883.279a5.345,5.345,0,0,1,5.338,5.338v71.507A5.345,5.345,0,0,1,883.279,615.053ZM595.012,535a3.207,3.207,0,0,0-3.2,3.2v71.507a3.207,3.207,0,0,0,3.2,3.2H883.279a3.206,3.206,0,0,0,3.2-3.2V538.207a3.206,3.206,0,0,0-3.2-3.2Z" transform="translate(-44.906)" fill="#e6e6e6"/>
<circle id="Ellipse_18" data-name="Ellipse 18" cx="21.745" cy="21.745" r="21.745" transform="translate(573.152 549.472)" fill="#e6e6e6"/>
<path id="Path_139" data-name="Path 139" d="M690.024,556.72a3.624,3.624,0,0,0,0,7.248H860.88a3.624,3.624,0,0,0,0-7.248Z" transform="translate(-44.906)" fill="#e6e6e6"/>
<path id="Path_140" data-name="Path 140" d="M690.024,578.466a3.624,3.624,0,0,0,0,7.248h73.52a3.624,3.624,0,0,0,0-7.248Z" transform="translate(-44.906)" fill="#e6e6e6"/>
</g>
<g id="Group_11" data-name="Group 11" transform="matrix(0.914, 0.407, -0.407, 0.914, 266.183, -179.59)">
<path id="Path_135" data-name="Path 135" d="M811.279,721.053H523.012a5.345,5.345,0,0,1-5.338-5.338V644.207a5.344,5.344,0,0,1,5.338-5.338H811.279a5.345,5.345,0,0,1,5.338,5.338v71.507a5.345,5.345,0,0,1-5.338,5.338ZM523.012,641a3.207,3.207,0,0,0-3.2,3.2v71.507a3.207,3.207,0,0,0,3.2,3.2H811.279a3.206,3.206,0,0,0,3.2-3.2V644.207a3.207,3.207,0,0,0-3.2-3.2Z" transform="translate(112.094 -174.499)" fill="#e6e6e6"/>
<circle id="Ellipse_17" data-name="Ellipse 17" cx="21.745" cy="21.745" r="21.745" transform="translate(658.152 480.973)" fill="#e6e6e6"/>
<path id="Path_136" data-name="Path 136" d="M618.024,662.72a3.624,3.624,0,0,0,0,7.248H788.88a3.624,3.624,0,1,0,0-7.248Z" transform="translate(112.094 -174.499)" fill="#e6e6e6"/>
<path id="Path_137" data-name="Path 137" d="M618.024,684.466a3.624,3.624,0,1,0,0,7.248h73.52a3.624,3.624,0,0,0,0-7.248Z" transform="translate(112.094 -174.499)" fill="#e6e6e6"/>
</g>
<g id="Group_12" data-name="Group 12" transform="matrix(0.996, -0.087, 0.087, 0.996, -217.382, -42.579)">
<path id="Path_138-2" data-name="Path 138" d="M883.279,615.053H595.012a5.345,5.345,0,0,1-5.338-5.338V538.207a5.345,5.345,0,0,1,5.338-5.338H883.279a5.345,5.345,0,0,1,5.338,5.338v71.507A5.345,5.345,0,0,1,883.279,615.053ZM595.012,535a3.207,3.207,0,0,0-3.2,3.2v71.507a3.207,3.207,0,0,0,3.2,3.2H883.279a3.206,3.206,0,0,0,3.2-3.2V538.207a3.206,3.206,0,0,0-3.2-3.2Z" transform="translate(-44.906)" fill="#e6e6e6"/>
<circle id="Ellipse_18-2" data-name="Ellipse 18" cx="21.745" cy="21.745" r="21.745" transform="translate(573.152 549.472)" fill="#e6e6e6"/>
<path id="Path_139-2" data-name="Path 139" d="M690.024,556.72a3.624,3.624,0,0,0,0,7.248H860.88a3.624,3.624,0,0,0,0-7.248Z" transform="translate(-44.906)" fill="#e6e6e6"/>
<path id="Path_140-2" data-name="Path 140" d="M690.024,578.466a3.624,3.624,0,0,0,0,7.248h73.52a3.624,3.624,0,0,0,0-7.248Z" transform="translate(-44.906)" fill="#e6e6e6"/>
</g>
<g id="Group_13" data-name="Group 13" transform="translate(-1676 -1453.057)">
<circle id="Ellipse_21" data-name="Ellipse 21" cx="33" cy="33" r="33" transform="translate(2259.759 1653.646)" fill="#2f2e41"/>
<circle id="Ellipse_22" data-name="Ellipse 22" cx="24.561" cy="24.561" r="24.561" transform="translate(2268.868 1673.439)" fill="#feb8b8"/>
<path id="Path_159" data-name="Path 159" d="M902.978,629.758s-45-8-74,2l8.5,67.5-2,11,60-2-4-11Z" transform="translate(1427.781 1103.888)" fill="#feb8b8"/>
<path id="Path_160" data-name="Path 160" d="M871.707,702.6a302.545,302.545,0,0,1-31-1.964,8.492,8.492,0,0,1-7.561-8.645l.73-31.567.085-.123c8.694-12.593,4.459-21.791,1.2-26.743a6.4,6.4,0,0,1-1.052-3.522h0c-.5-.7-.612.405-.3-.379a2.51,2.51,0,0,1,1.836-1.538l4.964-.992a2.5,2.5,0,0,1,2.858,1.651c1.668,4.977,8.169,20.991,23.066,20.987,12.445,0,17.089-17.611,17.367-21.681a2.5,2.5,0,0,1,2.493-2.322h6.2a2.617,2.617,0,0,1,2.066.934,2.48,2.48,0,0,1,.244,2.751c-7.076,13.01,3.265,33.6,3.37,33.8l.066.13-2.918,30.293a8.541,8.541,0,0,1-6.574,7.477C884.336,702.206,878.239,702.6,871.707,702.6Z" transform="translate(1427.781 1103.888)" fill="#ccc"/>
<path id="Path_161" data-name="Path 161" d="M814.6,772.888c-6.72,0-12.872-.74-17.76-2.489-5.81-2.079-9.458-5.441-10.844-10a13.2,13.2,0,0,1,1.606-11.673c8.595-12.87,38.421-16.5,42.423-16.929l2.12-17.667a8.531,8.531,0,0,1,8.307-7.486l50.232-.784a8.421,8.421,0,0,1,8.5,6.977l2.854,15.7L869.1,744.512l4.98,13.945-.325.217C864.115,765.1,836.392,772.887,814.6,772.888Z" transform="translate(1427.781 1103.888)" fill="#2f2e41"/>
<path id="Path_162" data-name="Path 162" d="M897.478,726.258s46-6,43,18-38,41-91,0l6-12s30,8,42,2Z" transform="translate(1427.781 1103.888)" fill="#2f2e41"/>
<path id="Path_163" data-name="Path 163" d="M856.478,735.258s0-12-10-11-28,2-28,2-6,4,2,6,32,12,32,12Z" transform="translate(1427.781 1103.888)" fill="#feb8b8"/>
<path id="Path_164" data-name="Path 164" d="M873.478,733.258s0-12,10-11,28,2,28,2,6,4-2,6-32,12-32,12Z" transform="translate(1427.781 1103.888)" fill="#feb8b8"/>
<path id="Path_165" data-name="Path 165" d="M933.4,730.985l-14.921-51.727s-3-18-6-35-14-15-14-15l-2,1v27l2,25,19.965,54.9a10.5,10.5,0,1,0,14.956-6.177Z" transform="translate(1427.781 1103.888)" fill="#feb8b8"/>
<path id="Path_166" data-name="Path 166" d="M832.478,631.258s-11-2-14,15-6,35-6,35l-14.921,51.727a10.5,10.5,0,1,0,14.956,6.177l19.965-54.9,2-25V634.494a3.618,3.618,0,0,0-2-3.236Z" transform="translate(1427.781 1103.888)" fill="#feb8b8"/>
<path id="Path_167" data-name="Path 167" d="M841.335,579.024a73.043,73.043,0,0,0,31.6,10.412l-3.331-3.991a24.48,24.48,0,0,0,7.561,1.5,8.281,8.281,0,0,0,6.75-3.159,7.7,7.7,0,0,0,.516-7.115,14.588,14.588,0,0,0-4.589-5.739,27.323,27.323,0,0,0-25.431-4.545,16.33,16.33,0,0,0-7.6,4.872,9.236,9.236,0,0,0-1.863,8.561" transform="translate(1427.781 1103.888)" fill="#2f2e41"/>
<path id="Path_168" data-name="Path 168" d="M868.084,553.421a75.485,75.485,0,0,0-27.463-17.759c-6.639-2.459-13.865-3.979-20.805-2.582s-13.5,6.2-15.44,13.008c-1.583,5.568.052,11.564,2.509,16.806s5.738,10.1,7.725,15.54A35.468,35.468,0,0,1,778.92,626c6.819.914,13.105,4.119,19.771,5.825s14.533,1.59,19.486-3.185c5.241-5.052,5.346-13.267,5.092-20.542l-1.13-32.445c-.192-5.515-.356-11.208,1.633-16.356s6.716-9.656,12.235-9.609c4.183.036,7.884,2.569,11.239,5.068s6.9,5.165,11.071,5.536,8.923-2.711,8.611-6.883" transform="translate(1427.781 1103.888)" fill="#2f2e41"/>
</g>
<path id="Path_133" data-name="Path 133" d="M318.432,675.924a158.394,158.394,0,0,1-7.4,43.785c-.1.329-.211.653-.319.982H283.1c.029-.295.059-.624.088-.982,1.841-21.166-8.677-148.453-21.369-170.483C262.931,551.013,320.573,608.67,318.432,675.924Z" transform="translate(697.642 58.945)" fill="#e6e6e6"/>
<path id="Path_134" data-name="Path 134" d="M284.933,719.709c-.231.329-.471.658-.717.982H263.5c.157-.28.339-.609.55-.982,3.422-6.176,13.551-24.642,22.953-43.785,10.1-20.572,19.374-41.924,18.593-49.652C305.838,628.014,312.83,681.148,284.933,719.709Z" transform="translate(729.069 58.945)" fill="#e6e6e6"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 27 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 25 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 40 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 23 KiB

View file

@ -0,0 +1,135 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover">
<style>
html {
overflow: hidden;
}
body {
margin: 0;
color: #000;
text-shadow: 0 0 2px #fff;
font-size: 12px;
font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
}
#image {
position: fixed;
top: 32px;
left: 0;
width: 100%;
bottom: 32px;
background-position: center center;
background-repeat: no-repeat;
background-size: contain;
}
</style>
</head>
<body>
<div id="bg"
style="opacity:0.68;background-image: linear-gradient(-225deg, #69EACB 0%, #EACCF8 48%, #6654F1 100%);height: 100%;position: fixed;width: 100%;box-sizing: border-box;"></div>
<div id="image" style="background-image: url(images/boot1.svg)"></div>
<div style="position: fixed;bottom: 34px;width: 100%;height: 2px;background-color: #3b3e43;">
<div id="progress"
style="position: absolute;height: 2px;background-color: #d23f31;transition: width 50ms cubic-bezier(0, 0, 0.2, 1);bottom: 0;"></div>
<div style="position: absolute;bottom: -26px;left: 16px;display: flex;align-items: center;right: 16px;">
<svg style="width: 16px;height: 16px;margin-right: 8px;flex-shrink: 0;" version="1.1"
xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<path fill="#d23e31"
d="M26.99 22.989c-0.151 0.15-0.271 0.285-0.267 0.299s-0.003 0.021-0.015 0.014c-0.032-0.020-0.272 0.23-0.247 0.257 0.011 0.012 0.007 0.015-0.009 0.006-0.031-0.017-0.167 0.118-0.167 0.166 0 0.015-0.009 0.023-0.020 0.016-0.025-0.015-0.087 0.050-0.066 0.071 0.009 0.009 0.001 0.016-0.016 0.016-0.041 0-0.16 0.119-0.16 0.16 0 0.017-0.007 0.025-0.016 0.016-0.016-0.016-0.23 0.18-0.514 0.473-0.479 0.492-0.878 0.882-0.891 0.87-0.008-0.008-0.014 0.006-0.014 0.031s-0.012 0.038-0.026 0.029c-0.024-0.014-0.037 0.020-0.029 0.072 0.002 0.011-0.012 0.017-0.029 0.013s-0.029 0.009-0.025 0.028c0.004 0.019-0.004 0.028-0.017 0.020s-0.087 0.051-0.164 0.132c-0.216 0.227-0.492 0.502-0.7 0.695-0.104 0.097-0.181 0.176-0.171 0.176s-0.021 0.032-0.069 0.072c-0.17 0.14-0.471 0.463-0.498 0.535-0.010 0.025-0.035 0.046-0.058 0.046s-0.040 0.018-0.040 0.041-0.009 0.035-0.021 0.028c-0.027-0.016-0.504 0.442-0.483 0.463 0.009 0.009 0.001 0.016-0.016 0.016s-0.091 0.062-0.163 0.137c-0.343 0.358-0.548 0.568-0.556 0.568-0.005 0-0.11 0.1-0.233 0.223l-0.224 0.223-0 6.171c-0 4.22 0.008 6.187 0.027 6.222 0.039 0.074 0.081 0.061 0.169-0.052 0.043-0.055 0.087-0.095 0.098-0.088s0.020-0.009 0.020-0.034 0.006-0.039 0.014-0.031c0.014 0.014 1.981-1.926 3.371-3.325 0.118-0.119 0.544-0.544 0.945-0.944s0.723-0.739 0.713-0.754c-0.009-0.015-0.006-0.020 0.008-0.011 0.035 0.022 0.171-0.109 0.149-0.144-0.010-0.017-0.006-0.021 0.011-0.011 0.029 0.018 0.136-0.078 0.136-0.123 0-0.014 0.006-0.019 0.014-0.011 0.049 0.049 0.59-0.569 0.575-0.658-0.008-0.050-0.015-2.859-0.015-6.243s-0.009-6.15-0.020-6.149-0.143 0.125-0.293 0.275zM36.246 23.045c-0.183 0.183-0.333 0.349-0.333 0.369s-0.007 0.029-0.016 0.020c-0.013-0.013-0.84 0.796-1.889 1.847-0.057 0.058-0.527 0.529-1.043 1.047l-0.939 0.943v6.252c0 3.439 0.006 6.252 0.014 6.252 0.029 0 0.139-0.125 0.123-0.141-0.009-0.009 0.001-0.016 0.021-0.017s0.113-0.085 0.207-0.188c0.093-0.102 0.245-0.258 0.336-0.345s0.333-0.327 0.535-0.533c0.203-0.206 0.442-0.447 0.533-0.535 0.464-0.451 0.788-0.773 0.778-0.773-0.006 0 0.096-0.109 0.227-0.243s0.248-0.239 0.258-0.233 0.020-0.010 0.020-0.035 0.007-0.038 0.016-0.029c0.020 0.020 0.088-0.046 0.088-0.086 0-0.016 0.009-0.024 0.020-0.018 0.019 0.011 0.157-0.116 0.143-0.131-0.004-0.004 0.002-0.010 0.013-0.013 0.036-0.010 0.079-0.060 0.067-0.080-0.007-0.011 0.007-0.020 0.031-0.020s0.035-0.012 0.026-0.026c-0.009-0.014-0.006-0.026 0.008-0.026s0.278-0.252 0.589-0.56l0.565-0.56v-6.196c0-3.408-0.007-6.214-0.016-6.237-0.024-0.064-0.028-0.061-0.382 0.293z"></path>
<path fill="#3b3e43"
d="M27.303 22.685c0 0.014 0.018 0.026 0.039 0.026s0.039-0.012 0.039-0.026c0-0.014-0.018-0.026-0.039-0.026s-0.039 0.012-0.039 0.026zM27.373 22.729c-0.010 0.010-0.017 2.825-0.016 6.256l0.001 6.238 1.111 1.096c0.929 0.916 2.33 2.3 2.885 2.849 0.075 0.074 0.237 0.241 0.359 0.37s0.236 0.236 0.254 0.236c0.026 0.001 0.032-1.265 0.032-6.248v-6.25l-0.12-0.11c-0.066-0.060-0.192-0.184-0.28-0.273-0.139-0.142-0.518-0.521-1.064-1.066-0.084-0.084-0.318-0.321-0.519-0.526s-0.365-0.366-0.365-0.358-0.079-0.068-0.176-0.17c-0.097-0.102-0.358-0.366-0.581-0.588-0.447-0.445-0.547-0.546-1.091-1.096-0.367-0.371-0.396-0.395-0.431-0.36zM36.687 22.77c-0.009 0.032-0.016 2.845-0.016 6.251l-0 6.193 3.066 3.063c2.43 2.428 3.079 3.063 3.131 3.063h0.065v-12.448l-3.092-3.091c-1.7-1.7-3.102-3.091-3.115-3.091s-0.030 0.027-0.039 0.059z"></path>
<path fill="#3b3e43"
d="M36.644 22.705c-0.012 2.232-0.007 12.496 0.006 12.483 0.025-0.025 0.039-12.502 0.013-12.502-0.011 0-0.020 0.009-0.020 0.020zM27.306 28.889c0.001 3.397 0.012 6.207 0.023 6.243s0.025-2.744 0.030-6.178c0.007-4.981 0.003-6.243-0.023-6.243s-0.032 1.251-0.030 6.178zM32.013 33.526c0 3.444 0.003 4.849 0.007 3.123s0.004-4.545 0-6.262c-0.004-1.717-0.007-0.304-0.007 3.14zM35.861 35.96l-0.169 0.176 0.176-0.169c0.164-0.157 0.188-0.184 0.169-0.184-0.004 0-0.083 0.079-0.176 0.176z"></path>
<path fill="#3b3e43"
d="M23.878 26.077c-0.025 0.029-0.036 0.052-0.025 0.052s0.040-0.024 0.065-0.052c0.025-0.029 0.036-0.052 0.025-0.052s-0.040 0.024-0.065 0.052zM22.829 27.119c-0.010 0.015-0.008 0.028 0.004 0.028s0.004 0.012-0.018 0.026c-0.027 0.018-0.029 0.025-0.006 0.026 0.018 0 0.040-0.018 0.049-0.040 0.018-0.048-0.004-0.079-0.029-0.040zM34.801 37.001c-0.132 0.134-0.231 0.248-0.222 0.252s0.125-0.1 0.258-0.234c0.132-0.133 0.232-0.247 0.222-0.252s-0.126 0.1-0.258 0.234zM23.662 38.869l-0.077 0.085 0.085-0.077c0.047-0.042 0.085-0.080 0.085-0.085 0-0.020-0.021-0.002-0.093 0.077zM21.237 41.263c-0.026 0.029-0.041 0.052-0.034 0.052s0.040-0.024 0.073-0.052 0.049-0.052 0.034-0.052c-0.014 0-0.047 0.024-0.073 0.052z"></path>
<circle cx="32" cy="32" fill="none"
stroke-linecap="round" r="31" stroke-width="1" stroke="#3b3e43"
stroke-dasharray="40 64">
<animateTransform attributeName="transform" type="rotate" calcMode="linear" values="0 32 32;360 32 32"
keyTimes="0;1" dur="1.5s" begin="0s" repeatCount="indefinite"></animateTransform>
</circle>
<circle cx="32" cy="32" fill="none" stroke-linecap="round" r="29"
stroke-width="1" stroke="#d23f31" stroke-dasharray="40 64">
<animateTransform attributeName="transform" type="rotate" calcMode="linear" values="0 32 32;-360 32 32"
keyTimes="0;1" dur="1.5s" begin="0s" repeatCount="indefinite"></animateTransform>
</circle>
</svg>
<span id="details" style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"></span>
</div>
</div>
<script>
const bgs = [
'linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%)',
'linear-gradient(to top, #fbc2eb 0%, #a6c1ee 100%)',
'linear-gradient(120deg, #a6c0fe 0%, #f68084 100%)',
'linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%)',
'linear-gradient(to right, #fa709a 0%, #fee140 100%)',
'linear-gradient(to top, #30cfd0 0%, #330867 100%)',
'linear-gradient(to top, #a8edea 0%, #fed6e3 100%)',
'linear-gradient(to top, #d299c2 0%, #fef9d7 100%)',
'linear-gradient(to top, #fddb92 0%, #d1fdff 100%)',
'linear-gradient(to top, #9890e3 0%, #b1f4cf 100%)',
'linear-gradient(to top, #96fbc4 0%, #f9f586 100%)',
'linear-gradient(to right, #eea2a2 0%, #bbc1bf 19%, #57c6e1 42%, #b49fda 79%, #7ac5d8 100%)',
'linear-gradient(to top, #9795f0 0%, #fbc8d4 100%)',
'linear-gradient(to top, #3f51b1 0%, #5a55ae 13%, #7b5fac 25%, #8f6aae 38%, #a86aa4 50%, #cc6b8e 62%, #f18271 75%, #f3a469 87%, #f7c978 100%)',
'linear-gradient(to top, #f43b47 0%, #453a94 100%)',
'linear-gradient(to top, #88d3ce 0%, #6e45e2 100%)',
'linear-gradient(to top, #d9afd9 0%, #97d9e1 100%)',
'linear-gradient(-20deg, #b721ff 0%, #21d4fd 100%)',
'linear-gradient(60deg, #abecd6 0%, #fbed96 100%)',
'linear-gradient(to top, #3b41c5 0%, #a981bb 49%, #ffc8a9 100%)',
'linear-gradient(to top, #0fd850 0%, #f9f047 100%)',
'linear-gradient(to top, #d5dee7 0%, #ffafbd 0%, #c9ffbf 100%)',
'linear-gradient(to top, #65bd60 0%, #5ac1a8 25%, #3ec6ed 50%, #b7ddb7 75%, #fef381 100%)',
'linear-gradient(to top, #50cc7f 0%, #f5d100 100%)',
'linear-gradient(to top, #df89b5 0%, #bfd9fe 100%)',
'linear-gradient(to top, #e14fad 0%, #f9d423 100%)',
'linear-gradient(to right, #ec77ab 0%, #7873f5 100%)',
'linear-gradient(-225deg, #2CD8D5 0%, #C5C1FF 56%, #FFBAC3 100%)',
'linear-gradient(-225deg, #5271C4 0%, #B19FFF 48%, #ECA1FE 100%)',
'linear-gradient(-225deg, #FF3CAC 0%, #562B7C 52%, #2B86C5 100%)',
'linear-gradient(-225deg, #69EACB 0%, #EACCF8 48%, #6654F1 100%)',
'linear-gradient(-225deg, #231557 0%, #44107A 29%, #FF1361 67%, #FFF800 100%)',
]
const sleep = (ms) => {
return new Promise(resolve => setTimeout(resolve, ms))
}
const redirect = () => {
const uri = 'http://127.0.0.1:6806'
if (navigator.userAgent.match(/Android/i))
document.location = uri
else
window.location.replace(uri)
}
(async () => {
document.getElementById('bg').style.backgroundImage = bgs[(new Date()).getDate()]
document.getElementById('image').style.backgroundImage = `url(images/boot${(new Date()).getDate()}.svg)`
document.getElementById('details').textContent = 'Booting...'
let progressing = false
while (!progressing) {
try {
const progressResult = await fetch('http://127.0.0.1:6806/api/system/bootProgress')
const progressData = await progressResult.json()
document.getElementById('progress').style.width = progressData.data.progress + '%'
document.getElementById('details').textContent = progressData.data.details
if (progressData.data.progress >= 100) {
progressing = true
if (navigator.userAgent.indexOf('Electron') === -1) {
redirect()
}
} else {
await sleep(100)
}
} catch (e) {
await sleep(100)
}
}
})()
</script>
</body>
</html>

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,6 @@
{
"name": "ant",
"author": "Vanessa",
"url": "https://github.com/Vanessa219",
"version": "1.0.5"
}

View file

@ -0,0 +1,838 @@
<html>
<head>
<style>
.fn__clear > div {
float: left;
width: 150px;
text-align: center;
margin-bottom: 20px;
}
svg {
display: block;
height: 20px;
width: 20px;
margin: 0 auto;
}
.fn__clear:before, .fn__clear:after {
display: table;
content: "";
}
.fn__clear:after {
clear: both;
}
</style>
</head>
<body>
<h2>SiYuan</h2>
<div class="fn__clear">
<div>
<svg>
<use xlink:href="#iconInbox"></use>
</svg>
iconInbox
</div>
<div>
<svg>
<use xlink:href="#iconGithub"></use>
</svg>
iconGithub
</div>
<div>
<svg>
<use xlink:href="#iconGitHubI"></use>
</svg>
iconGitHubI
</div>
<div>
<svg>
<use xlink:href="#iconHTML5"></use>
</svg>
iconHTML5
</div>
<div>
<svg>
<use xlink:href="#iconStar"></use>
</svg>
iconStar
</div>
<div>
<svg>
<use xlink:href="#iconSpreadEven"></use>
</svg>
iconSpreadEven
</div>
<div>
<svg>
<use xlink:href="#iconSpreadOdd"></use>
</svg>
iconSpreadOdd
</div>
<div>
<svg>
<use xlink:href="#iconScrollWrapped"></use>
</svg>
iconScrollWrapped
</div>
<div>
<svg>
<use xlink:href="#iconSelectText"></use>
</svg>
iconSelectText
</div>
<div>
<svg>
<use xlink:href="#iconHand"></use>
</svg>
iconHand
</div>
<div>
<svg>
<use xlink:href="#iconSiYuan"></use>
</svg>
iconSiYuan
</div>
<div>
<svg>
<use xlink:href="#iconCut"></use>
</svg>
iconCut
</div>
<div>
<svg>
<use xlink:href="#iconAdd"></use>
</svg>
iconAdd
</div>
<div>
<svg>
<use xlink:href="#iconMoon"></use>
</svg>
iconMoon
</div>
<div>
<svg>
<use xlink:href="#iconUncheck"></use>
</svg>
iconUncheck
</div>
<div>
<svg>
<use xlink:href="#iconDot"></use>
</svg>
iconDot
</div>
<div>
<svg>
<use xlink:href="#iconUnderline"></use>
</svg>
iconUnderline
</div>
<div>
<svg>
<use xlink:href="#iconA"></use>
</svg>
iconA
</div>
<div>
<svg>
<use xlink:href="#iconM"></use>
</svg>
iconM
</div>
<div>
<svg>
<use xlink:href="#iconN"></use>
</svg>
iconN
</div>
<div>
<svg>
<use xlink:href="#iconYuque"></use>
</svg>
iconYuque
</div>
<div>
<svg>
<use xlink:href="#iconGlobalGraph"></use>
</svg>
iconGlobalGraph
</div>
<div>
<svg>
<use xlink:href="#iconLeftTop"></use>
</svg>
iconLeftTop
</div>
<div>
<svg>
<use xlink:href="#iconLeftBottom"></use>
</svg>
iconLeftBottom
</div>
<div>
<svg>
<use xlink:href="#iconRightTop"></use>
</svg>
iconRightTop
</div>
<div>
<svg>
<use xlink:href="#iconRightBottom"></use>
</svg>
iconRightBottom
</div>
<div>
<svg>
<use xlink:href="#iconTopLeft"></use>
</svg>
iconTopLeft
</div>
<div>
<svg>
<use xlink:href="#iconTopRight"></use>
</svg>
iconTopRight
</div>
<div>
<svg>
<use xlink:href="#iconBottomLeft"></use>
</svg>
iconBottomLeft
</div>
<div>
<svg>
<use xlink:href="#iconBottomRight"></use>
</svg>
iconBottomRight
</div>
<div>
<svg>
<use xlink:href="#iconMove"></use>
</svg>
iconMove
</div>
<div>
<svg>
<use xlink:href="#iconBazaar"></use>
</svg>
iconBazaar
</div>
<div>
<svg>
<use xlink:href="#iconCalendar"></use>
</svg>
iconCalendar
</div>
<div>
<svg>
<use xlink:href="#iconKeymap"></use>
</svg>
iconKeymap
</div>
<div>
<svg>
<use xlink:href="#iconFont"></use>
</svg>
iconFont
</div>
<div>
<svg>
<use xlink:href="#iconPin"></use>
</svg>
iconPin
</div>
<div>
<svg>
<use xlink:href="#iconVIP"></use>
</svg>
iconVIP
</div>
<div>
<svg>
<use xlink:href="#iconSuper"></use>
</svg>
iconSuper
</div>
<div>
<svg>
<use xlink:href="#iconSelect"></use>
</svg>
iconSelect
</div>
<div>
<svg>
<use xlink:href="#iconSQL"></use>
</svg>
iconSQL
</div>
<div>
<svg>
<use xlink:href="#iconMark"></use>
</svg>
iconMark
</div>
<div>
<svg>
<use xlink:href="#iconEdit"></use>
</svg>
iconEdit
</div>
<div>
<svg>
<use xlink:href="#iconSplitLR"></use>
</svg>
iconSplitLR
</div>
<div>
<svg>
<use xlink:href="#iconSplitTB"></use>
</svg>
iconSplitTB
</div>
<div>
<svg>
<use xlink:href="#iconFocus"></use>
</svg>
iconFocus
</div>
<div>
<svg>
<use xlink:href="#iconSort"></use>
</svg>
iconSort
</div>
<div>
<svg>
<use xlink:href="#iconDownload"></use>
</svg>
iconDownload
</div>
<div>
<svg>
<use xlink:href="#iconExact"></use>
</svg>
iconExact
</div>
<div>
<svg>
<use xlink:href="#iconRegex"></use>
</svg>
<del>iconRegex</del>
</div>
<div>
<svg>
<use xlink:href="#iconMenu"></use>
</svg>
iconMenu
</div>
<div>
<svg>
<use xlink:href="#iconGit"></use>
</svg>
<del>iconGit</del>
</div>
<div>
<svg>
<use xlink:href="#iconLeft"></use>
</svg>
iconLeft
</div>
<div>
<svg>
<use xlink:href="#iconTags"></use>
</svg>
iconTags
</div>
<div>
<svg>
<use xlink:href="#iconImage"></use>
</svg>
iconImage
</div>
<div>
<svg>
<use xlink:href="#iconRefresh"></use>
</svg>
iconRefresh
</div>
<div>
<svg>
<use xlink:href="#iconLock"></use>
</svg>
iconLock
</div>
<div>
<svg>
<use xlink:href="#iconAccount"></use>
</svg>
iconAccount
</div>
<div>
<svg>
<use xlink:href="#iconMarkdown"></use>
</svg>
iconMarkdown
</div>
<div>
<svg>
<use xlink:href="#iconLanguage"></use>
</svg>
iconLanguage
</div>
<div>
<svg>
<use xlink:href="#iconListItem"></use>
</svg>
iconListItem
</div>
<div>
<svg>
<use xlink:href="#iconH1"></use>
</svg>
iconH1
</div>
<div>
<svg>
<use xlink:href="#iconBookmark"></use>
</svg>
iconBookmark
</div>
<div>
<svg>
<use xlink:href="#iconH2"></use>
</svg>
iconH2
</div>
<div>
<svg>
<use xlink:href="#iconH3"></use>
</svg>
iconH3
</div>
<div>
<svg>
<use xlink:href="#iconH4"></use>
</svg>
iconH4
</div>
<div>
<svg>
<use xlink:href="#iconH5"></use>
</svg>
iconH5
</div>
<div>
<svg>
<use xlink:href="#iconH6"></use>
</svg>
iconH6
</div>
<div>
<svg>
<use xlink:href="#iconMath"></use>
</svg>
iconMath
</div>
<div>
<svg>
<use xlink:href="#iconClose"></use>
</svg>
iconClose
</div>
<div>
<svg>
<use xlink:href="#iconRestore"></use>
</svg>
iconRestore
</div>
<div>
<svg>
<use xlink:href="#iconFiles"></use>
</svg>
iconFiles
</div>
<div>
<svg>
<use xlink:href="#iconFilesRoot"></use>
</svg>
iconFilesRoot
</div>
<div>
<svg>
<use xlink:href="#iconMax"></use>
</svg>
iconMax
</div>
<div>
<svg>
<use xlink:href="#iconMin"></use>
</svg>
iconMin
</div>
<div>
<svg>
<use xlink:href="#iconSettings"></use>
</svg>
iconSettings
</div>
<div>
<svg>
<use xlink:href="#iconFolder"></use>
</svg>
iconFolder
</div>
<div>
<svg>
<use xlink:href="#iconSearch"></use>
</svg>
iconSearch
</div>
<div>
<svg>
<use xlink:href="#iconFile"></use>
</svg>
iconFile
</div>
<div>
<svg>
<use xlink:href="#iconCloud"></use>
</svg>
iconCloud
</div>
<div>
<svg>
<use xlink:href="#iconRight"></use>
</svg>
iconRight
</div>
<div>
<svg>
<use xlink:href="#iconHeart"></use>
</svg>
iconHeart
</div>
<div>
<svg>
<use xlink:href="#iconGraph"></use>
</svg>
iconGraph
</div>
<div>
<svg>
<use xlink:href="#iconParagraph"></use>
</svg>
iconParagraph
</div>
<div>
<svg>
<use xlink:href="#iconMp"></use>
</svg>
iconMp
</div>
<div>
<svg>
<use xlink:href="#iconQuote"></use>
</svg>
iconQuote
</div>
<div>
<svg>
<use xlink:href="#iconAfter"></use>
</svg>
iconAfter
</div>
<div>
<svg>
<use xlink:href="#iconBefore"></use>
</svg>
iconBefore
</div>
<div>
<svg>
<use xlink:href="#iconInsertLeft"></use>
</svg>
iconInsertLeft
</div>
<div>
<svg>
<use xlink:href="#iconInsertRight"></use>
</svg>
iconInsertRight
</div>
<div>
<svg>
<use xlink:href="#iconHeadings"></use>
</svg>
iconHeadings
</div>
<div>
<svg>
<use xlink:href="#iconLine"></use>
</svg>
iconLine
</div>
<div>
<svg>
<use xlink:href="#iconCode"></use>
</svg>
iconCode
</div>
<div>
<svg>
<use xlink:href="#iconInlineCode"></use>
</svg>
iconInlineCode
</div>
<div>
<svg>
<use xlink:href="#iconBoth"></use>
</svg>
iconBoth
</div>
<div>
<svg>
<use xlink:href="#iconTheme"></use>
</svg>
iconTheme
</div>
<div>
<svg>
<use xlink:href="#iconExport"></use>
</svg>
<del>iconExport</del>
</div>
<div>
<svg>
<use xlink:href="#iconCopy"></use>
</svg>
iconCopy
</div>
<div>
<svg>
<use xlink:href="#iconPause"></use>
</svg>
iconPause
</div>
<div>
<svg>
<use xlink:href="#iconPreview"></use>
</svg>
iconPreview
</div>
<div>
<svg>
<use xlink:href="#iconInfo"></use>
</svg>
iconInfo
</div>
<div>
<svg>
<use xlink:href="#iconHelp"></use>
</svg>
iconHelp
</div>
<div>
<svg>
<use xlink:href="#iconStrike"></use>
</svg>
iconStrike
</div>
<div>
<svg>
<use xlink:href="#iconContract"></use>
</svg>
iconContract
</div>
<div>
<svg>
<use xlink:href="#iconRecord"></use>
</svg>
iconRecord
</div>
<div>
<svg>
<use xlink:href="#iconBold"></use>
</svg>
iconBold
</div>
<div>
<svg>
<use xlink:href="#iconBug"></use>
</svg>
iconBug
</div>
<div>
<svg>
<use xlink:href="#iconPlay"></use>
</svg>
iconPlay
</div>
<div>
<svg>
<use xlink:href="#iconCheck"></use>
</svg>
iconCheck
</div>
<div>
<svg>
<use xlink:href="#iconUpload"></use>
</svg>
iconUpload
</div>
<div>
<svg>
<use xlink:href="#iconTrashcan"></use>
</svg>
iconTrashcan
</div>
<div>
<svg>
<use xlink:href="#iconMore"></use>
</svg>
iconMore
</div>
<div>
<svg>
<use xlink:href="#iconFullscreen"></use>
</svg>
iconFullscreen
</div>
<div>
<svg>
<use xlink:href="#iconEmoji"></use>
</svg>
iconEmoji
</div>
<div>
<svg>
<use xlink:href="#iconAlignCenter"></use>
</svg>
iconAlignCenter
</div>
<div>
<svg>
<use xlink:href="#iconAlignLeft"></use>
</svg>
iconAlignLeft
</div>
<div>
<svg>
<use xlink:href="#iconAlignRight"></use>
</svg>
iconAlignRight
</div>
<div>
<svg>
<use xlink:href="#iconDeleteColumn"></use>
</svg>
iconDeleteColumn
</div>
<div>
<svg>
<use xlink:href="#iconDeleteRow"></use>
</svg>
iconDeleteRow
</div>
<div>
<svg>
<use xlink:href="#iconDown"></use>
</svg>
iconDown
</div>
<div>
<svg>
<use xlink:href="#iconItalic"></use>
</svg>
iconItalic
</div>
<div>
<svg>
<use xlink:href="#iconLink"></use>
</svg>
iconLink
</div>
<div>
<svg>
<use xlink:href="#iconOutdent"></use>
</svg>
<del>iconOutdent</del>
</div>
<div>
<svg>
<use xlink:href="#iconIndent"></use>
</svg>
<del>iconIndent</del>
</div>
<div>
<svg>
<use xlink:href="#iconOrderedList"></use>
</svg>
iconOrderedList
</div>
<div>
<svg>
<use xlink:href="#iconRedo"></use>
</svg>
iconRedo
</div>
<div>
<svg>
<use xlink:href="#iconTable"></use>
</svg>
iconTable
</div>
<div>
<svg>
<use xlink:href="#iconUndo"></use>
</svg>
iconUndo
</div>
<div>
<svg>
<use xlink:href="#iconList"></use>
</svg>
iconList
</div>
<div>
<svg>
<use xlink:href="#iconUp"></use>
</svg>
iconUp
</div>
<div>
<svg>
<use xlink:href="#iconZhihu"></use>
</svg>
iconZhihu
</div>
<div>
<svg>
<use xlink:href="#iconPDF"></use>
</svg>
iconPDF
</div>
<div>
<svg>
<use xlink:href="#iconVideo"></use>
</svg>
iconVideo
</div>
<div>
<svg>
<use xlink:href="#iconSup"></use>
</svg>
iconSup
</div>
<div>
<svg>
<use xlink:href="#iconSub"></use>
</svg>
iconSub
</div>
</div>
<script src="material/icon.js"></script>
</body>
</html>

View file

@ -0,0 +1,455 @@
document.body.insertAdjacentHTML('afterbegin', `
<svg style="position: absolute; width: 0; height: 0; overflow: hidden;" xmlns="http://www.w3.org/2000/svg"><defs>
<symbol id="iconInbox" viewBox="0 0 32 32">
<path d="M32 6.4c0-1.76-1.44-3.2-3.2-3.2h-25.6c-1.76 0-3.2 1.44-3.2 3.2v19.2c0 1.76 1.44 3.2 3.2 3.2h25.6c1.76 0 3.2-1.44 3.2-3.2v-19.2zM28.8 6.4l-12.8 8-12.8-8h25.6zM28.8 25.6h-25.6v-16l12.8 8 12.8-8v16z"></path>
</symbol>
<symbol id="iconGithub" viewBox="0 0 32 32">
<path d="M16 0.396c-8.84 0-16 7.164-16 16 0 7.071 4.584 13.067 10.94 15.18 0.8 0.151 1.093-0.344 1.093-0.769 0-0.38-0.013-1.387-0.020-2.72-4.451 0.965-5.389-2.147-5.389-2.147-0.728-1.847-1.78-2.34-1.78-2.34-1.449-0.992 0.112-0.972 0.112-0.972 1.607 0.112 2.451 1.648 2.451 1.648 1.427 2.447 3.745 1.74 4.66 1.331 0.144-1.035 0.556-1.74 1.013-2.14-3.553-0.4-7.288-1.776-7.288-7.907 0-1.747 0.62-3.173 1.647-4.293-0.18-0.404-0.72-2.031 0.14-4.235 0 0 1.34-0.429 4.4 1.64 1.28-0.356 2.64-0.532 4-0.54 1.36 0.008 2.72 0.184 4 0.54 3.040-2.069 4.38-1.64 4.38-1.64 0.86 2.204 0.32 3.831 0.16 4.235 1.020 1.12 1.64 2.547 1.64 4.293 0 6.147-3.74 7.5-7.3 7.893 0.56 0.48 1.080 1.461 1.080 2.96 0 2.141-0.020 3.861-0.020 4.381 0 0.42 0.28 0.92 1.1 0.76 6.401-2.099 10.981-8.099 10.981-15.159 0-8.836-7.164-16-16-16z"></path>
</symbol>
<symbol id="iconGitHubI" viewBox="0 0 32 32">
<path d="M16 19c1.657 0 3-1.343 3-3s-1.343-3-3-3v0c-1.657 0-3 1.343-3 3s1.343 3 3 3v0z"></path>
<path d="M16 0c-8.837 0-16 7.163-16 16s7.163 16 16 16v0c8.837 0 16-7.163 16-16s-7.163-16-16-16v0zM3 16c0-7.18 5.82-13 13-13s13 5.82 13 13v0c0 7.18-5.82 13-13 13s-13-5.82-13-13v0z"></path>
</symbol>
<symbol id="iconHTML5" viewBox="0 0 32 32">
<path d="M24.52 9.38l0.32-3.5h-17.68l0.94 10.68h12.24l-0.44 4.56-3.94 1.060-3.92-1.060-0.26-2.8h-3.5l0.44 5.56 7.24 2h0.080v-0.020l7.18-1.98 1-10.88h-12.88l-0.3-3.62h13.48zM1.92 0h28.16l-2.56 28.76-11.56 3.24-11.48-3.24z"></path>
</symbol>
<symbol id="iconStar" viewBox="0 0 32 32">
<path d="M32 12.384l-11.504-0.992-4.496-10.592-4.496 10.608-11.504 0.976 8.736 7.568-2.624 11.248 9.888-5.968 9.888 5.968-2.608-11.248 8.72-7.568zM16 22.24l-6.016 3.632 1.6-6.848-5.312-4.608 7.008-0.608 2.72-6.448 2.736 6.464 7.008 0.608-5.312 4.608 1.6 6.848-6.032-3.648z"></path>
</symbol>
<symbol id="iconSpreadEven" viewBox="0 0 32 32">
<path d="M3 6.5c-2 0-3 1-3 3v13c0 2 1 3 3 3h8c2 0 3-1 3-3v-13c0-2-1-3-3-3zM7 8.9c1.6 0 2.8 0.4 3.6 1.2 1 0.8 1.4 2 1.4 3.4 0 1-0.4 2-1 2.8-0.4 0.6-1 1.4-2 2l-1.2 0.8c-0.8 0.6-1.2 0.8-1.5 1.12-0.3 0.28-0.5 0.48-0.7 0.88h6.4v2.6h-10c0-1.2 0.2-2.2 0.6-3 0.6-1.2 1.4-2 3-3.2 1.4-0.8 2.2-1.6 2.56-2 0.64-0.6 0.84-1.2 0.84-2 0-0.6-0.2-1.2-0.46-1.6-0.34-0.4-0.74-0.6-1.54-0.6s-1.4 0.2-1.8 1c-0.080 0.4-0.2 1-0.2 1.8h-2.8c0-1.2 0.2-2.2 0.6-3 0.8-1.4 2.2-2.2 4.2-2.2zM21.080 6.58c-2.080 0-3.080 0.92-3.080 2.92v13c0 2 1 3 3.080 3h8c1.92 0 2.92-1 2.92-3v-13c0-2-1-2.92-3-2.92zM24.88 8.48c1.4 0 2.6 0.4 3.4 1 0.8 0.8 1.2 1.6 1.2 2.8 0 0.8-0.2 1.6-0.8 2.2-0.4 0.4-0.6 0.6-1 0.8 0.2 0 0.6 0.2 1.2 0.6 0.8 0.6 1 1.6 1 2.8s-0.4 2.4-1.2 3.2c-0.8 1-2.2 1.4-3.8 1.4-2 0-3.6-0.6-4.4-2-0.28-0.58-0.48-1.38-0.48-2.58h2.8c0 0.6 0 1 0.2 1.4 0.4 0.8 1 1 2 1 0.6 0 1-0.2 1.4-0.6s0.6-1 0.6-1.6c0-1-0.4-1.6-1.2-1.9-0.4-0.1-1-0.3-2-0.3v-2c1 0 1.6-0.2 2-0.28 0.6-0.2 1-0.8 1-1.8 0-0.6-0.2-1-0.4-1.4-0.4-0.4-0.8-0.6-1.4-0.6s-1.2 0.2-1.5 0.6c-0.4 0.4-0.4 1-0.4 1.72h-2.68c0-0.8 0.2-1.4 0.38-2.2 0-0.24 0.4-0.64 0.8-1.24 0.4-0.4 0.8-0.6 1.4-0.8s1.2-0.2 2-0.2z"></path>
</symbol>
<symbol id="iconSpreadOdd" viewBox="0 0 32 32">
<path d="M21.12 6.5c-2 0-3.12 1-3.12 3v13c0 2 1 3 3 3h8c2 0 3-1 3-3v-13c0-2-1-3-3-3zM24.98 8.9c1.6 0 2.8 0.4 3.6 1.28 1 0.8 1.4 2 1.4 3.4 0 1-0.4 2-1 2.88-0.4 0.6-1.2 1.2-2 1.86l-1.2 0.8c-0.8 0.6-1.2 0.8-1.4 1.1-0.2 0.2-0.4 0.4-0.6 0.8h6.4v2.54h-10c0-1 0.2-2 0.6-2.86 0.4-0.98 1.4-2 3-3.080 1.4-1 2.2-1.6 2.6-2.040 0.6-0.6 0.8-1.4 0.8-2.1 0-0.6-0.2-1.2-0.6-1.54-0.4-0.4-0.8-0.6-1.4-0.6-0.8 0-1.4 0.4-1.8 1-0.2 0.4-0.2 1-0.4 1.8h-2.8c0-1.2 0.4-2.2 0.6-3 0.8-1.4 2.2-2.2 4-2.2zM3.080 6.5c-2 0-3.080 1-3.080 3v13c0 2 1 3 3.080 3h8c2 0 3-1 3-3v-13c0-2-1-3-3-3zM6.68 8.75h2.32v14.75h-3v-10.2h-3.4v-2c1 0 1.6 0 1.94-0.060 0.66-0.14 1.060-0.34 1.46-0.74 0.2-0.4 0.4-0.6 0.5-1s0.1-0.6 0.1-0.6z"></path>
</symbol>
<symbol id="iconScrollWrapped" viewBox="0 0 32 32">
<path d="M11 8c2 0 3 1 3 3v10c0 2-1 3-3 3h-6c-2 0-3-1-3-3v-10c0-2 1-3 3-3zM14 0v1c0 2-1 3-3 3h-6c-2 0-3-1-3-3v-1h12zM14 32v-1c0-2-1-3-3-3h-6c-2 0-3 1-3 3v1h12zM27 8c2 0 3 1 3 3v10c0 2-1 3-3 3h-6c-2 0-3-1-3-3v-10c0-2 1-3 3-3zM30 0v1c0 2-1 3-3 3h-6c-2 0-3-1-3-3v-1h12zM30 32v-1.014c0-2-1-3-3-3h-6c-2 0.014-3 1.014-3 3.014v1h12z"></path>
</symbol>
<symbol id="iconSelectText" viewBox="0 0 32 32">
<path d="M26.153 16.423l-19.684-16.316c-0.083-0.067-0.189-0.107-0.304-0.107-0.268 0-0.485 0.217-0.487 0.484v25.882c0.005 0.265 0.221 0.479 0.487 0.479 0.125 0 0.238-0.047 0.324-0.124l-0 0 6.234-5.776 4.522 9.497c0.453 0.929 1.39 1.558 2.474 1.558 1.515 0 2.744-1.228 2.744-2.744 0-0.431-0.099-0.839-0.277-1.202l0.007 0.016-4.551-9.558 8.28-1.242c0.229-0.043 0.4-0.241 0.4-0.479 0-0.147-0.065-0.279-0.168-0.368l-0.001-0z"></path>
</symbol>
<symbol id="iconHand" viewBox="0 0 32 32">
<path d="M31 7.4v18.6c0 3-3.060 6-6 6h-9.74c-1.44 0-3.26-1-4.26-2l-10-10s1.68-2 1.74-2c0.26-0.2 0.66-0.4 1.060-0.4 0.2 0 0.6 0.2 0.8 0.4l4.4 3.2v-15.8c0-1.2 0.8-2 2-2s2 0.8 2 2v9.2h2v-12.6c0-1.2 0.8-2 2-2s2 0.8 2 2v12.6h2v-11.2c0-1.2 0.8-2 2-2s2 0.8 2 2v11.4h2v-7.4c0-1.2 0.8-2 2-2s2 0.8 2 2z"></path>
</symbol>
<symbol id="iconSiYuan" viewBox="0 0 32 32">
<path fill="#d23e31" d="M8.667 2.812c-0.221 0.219-0.396 0.417-0.39 0.438s-0.004 0.030-0.022 0.020c-0.047-0.029-0.397 0.337-0.362 0.376 0.016 0.018 0.011 0.022-0.013 0.008-0.045-0.025-0.244 0.173-0.244 0.243 0 0.023-0.013 0.033-0.029 0.023-0.037-0.023-0.127 0.074-0.096 0.104 0.013 0.013 0.002 0.023-0.023 0.023-0.060 0-0.234 0.174-0.234 0.234 0 0.025-0.010 0.036-0.023 0.024-0.024-0.024-0.336 0.264-0.753 0.692-0.7 0.72-1.286 1.291-1.304 1.274-0.012-0.012-0.021 0.009-0.021 0.046s-0.017 0.055-0.038 0.042c-0.035-0.021-0.055 0.029-0.042 0.105 0.002 0.016-0.017 0.024-0.043 0.019s-0.043 0.013-0.037 0.041c0.006 0.028-0.006 0.041-0.025 0.029s-0.128 0.075-0.24 0.193c-0.316 0.333-0.72 0.734-1.024 1.017-0.152 0.142-0.265 0.258-0.251 0.258s-0.030 0.047-0.1 0.105c-0.249 0.205-0.689 0.678-0.729 0.783-0.014 0.037-0.052 0.067-0.084 0.067s-0.059 0.027-0.059 0.059-0.014 0.051-0.030 0.041c-0.039-0.024-0.738 0.647-0.706 0.678 0.013 0.013 0.002 0.024-0.024 0.024s-0.134 0.090-0.239 0.2c-0.502 0.524-0.802 0.831-0.814 0.831-0.007 0-0.16 0.147-0.341 0.326l-0.328 0.326-0 9.032c-0 6.176 0.012 9.055 0.039 9.106 0.058 0.108 0.118 0.089 0.247-0.076 0.063-0.081 0.128-0.139 0.143-0.129s0.029-0.013 0.029-0.049 0.009-0.057 0.021-0.045c0.020 0.020 2.899-2.819 4.934-4.866 0.173-0.174 0.796-0.796 1.384-1.381s1.058-1.082 1.044-1.104c-0.013-0.022-0.008-0.029 0.012-0.017 0.052 0.032 0.25-0.159 0.218-0.21-0.015-0.024-0.008-0.031 0.016-0.016 0.043 0.027 0.199-0.114 0.199-0.181 0-0.020 0.009-0.028 0.021-0.017 0.071 0.072 0.863-0.833 0.842-0.963-0.012-0.074-0.022-4.185-0.022-9.136s-0.013-9.001-0.029-8.999-0.209 0.183-0.429 0.402zM22.214 2.895c-0.268 0.268-0.487 0.51-0.487 0.54s-0.011 0.042-0.023 0.029c-0.018-0.019-1.229 1.165-2.765 2.703-0.084 0.084-0.771 0.774-1.527 1.532l-1.374 1.379v9.15c0 5.033 0.009 9.15 0.021 9.15 0.042 0 0.203-0.183 0.181-0.206-0.013-0.013 0.001-0.023 0.031-0.024s0.166-0.124 0.302-0.275c0.136-0.15 0.358-0.377 0.492-0.505s0.487-0.478 0.783-0.78c0.296-0.302 0.647-0.654 0.78-0.783 0.679-0.66 1.153-1.132 1.139-1.132-0.009 0 0.141-0.16 0.333-0.356s0.362-0.35 0.378-0.341 0.029-0.015 0.029-0.051 0.011-0.055 0.023-0.042c0.029 0.029 0.129-0.067 0.129-0.125 0-0.023 0.013-0.036 0.029-0.027 0.027 0.016 0.23-0.17 0.21-0.192-0.005-0.006 0.003-0.014 0.019-0.018 0.053-0.014 0.116-0.088 0.099-0.117-0.010-0.016 0.011-0.029 0.045-0.029s0.051-0.017 0.038-0.038c-0.013-0.021-0.008-0.038 0.011-0.038s0.407-0.369 0.862-0.819l0.827-0.819v-9.068c0-4.988-0.011-9.095-0.023-9.128-0.036-0.094-0.041-0.089-0.559 0.428z"></path>
<path fill="#3b3e43" d="M9.126 2.368c0 0.021 0.026 0.038 0.057 0.038s0.057-0.017 0.057-0.038c0-0.021-0.026-0.038-0.057-0.038s-0.057 0.017-0.057 0.038zM9.228 2.431c-0.014 0.014-0.025 4.134-0.024 9.156l0.002 9.13 1.626 1.604c1.36 1.341 3.41 3.366 4.223 4.17 0.11 0.109 0.347 0.353 0.525 0.542s0.346 0.345 0.372 0.346c0.038 0.002 0.048-1.851 0.048-9.145v-9.147l-0.176-0.161c-0.097-0.088-0.282-0.269-0.411-0.4-0.204-0.207-0.758-0.763-1.557-1.561-0.123-0.123-0.465-0.47-0.759-0.769s-0.534-0.535-0.534-0.523-0.116-0.1-0.258-0.249c-0.142-0.149-0.524-0.536-0.85-0.86-0.654-0.651-0.8-0.798-1.597-1.604-0.537-0.543-0.58-0.579-0.631-0.528zM22.859 2.491c-0.013 0.047-0.023 4.164-0.023 9.149l-0 9.063 4.487 4.484c3.557 3.554 4.507 4.484 4.583 4.484h0.095v-18.218l-4.525-4.524c-2.489-2.488-4.54-4.524-4.559-4.524s-0.044 0.039-0.057 0.086z"></path>
<path d="M22.796 2.396c-0.017 3.266-0.010 18.289 0.009 18.269 0.037-0.037 0.057-18.298 0.019-18.298-0.016 0-0.029 0.013-0.029 0.029zM9.129 11.447c0.002 4.972 0.017 9.084 0.034 9.136s0.036-4.016 0.044-9.041c0.011-7.29 0.004-9.136-0.034-9.136s-0.047 1.831-0.044 9.041zM16.018 18.234c0 5.041 0.005 7.097 0.010 4.57s0.006-6.651 0-9.165c-0.006-2.513-0.010-0.446-0.010 4.595zM21.65 21.795l-0.247 0.258 0.258-0.247c0.24-0.229 0.275-0.269 0.247-0.269-0.006 0-0.122 0.116-0.258 0.258z"></path>
<path d="M4.113 7.332c-0.036 0.042-0.052 0.076-0.036 0.076s0.059-0.035 0.095-0.076c0.036-0.042 0.052-0.076 0.036-0.076s-0.059 0.035-0.095 0.076zM2.578 8.857c-0.014 0.023-0.012 0.041 0.006 0.041s0.005 0.017-0.026 0.038c-0.040 0.026-0.042 0.037-0.008 0.038 0.027 0 0.059-0.026 0.071-0.059 0.027-0.071-0.006-0.116-0.042-0.058zM20.098 23.32c-0.193 0.196-0.338 0.362-0.325 0.37s0.183-0.147 0.377-0.342c0.194-0.195 0.34-0.362 0.325-0.37s-0.185 0.146-0.377 0.342zM3.796 26.053l-0.112 0.124 0.124-0.112c0.068-0.062 0.124-0.117 0.124-0.124 0-0.029-0.031-0.004-0.136 0.112zM0.247 29.557c-0.038 0.042-0.060 0.076-0.050 0.076s0.059-0.035 0.107-0.076 0.071-0.076 0.050-0.076c-0.021 0-0.069 0.035-0.107 0.076z"></path>
</symbol>
<symbol id="iconAdd" viewBox="0 0 32 32">
<path d="M28 17.715h-10.285v10.285h-3.428v-10.285h-10.286v-3.428h10.286v-10.286h3.428v10.286h10.285v3.428z"></path>
</symbol>
<symbol id="iconMoon" viewBox="0 0 32 32">
<path d="M11.324 4.462c-0.32 1.138-0.48 2.329-0.48 3.538 0 7.253 5.902 13.156 13.156 13.156 1.209 0 2.4-0.16 3.538-0.48-1.849 4.551-6.329 7.769-11.538 7.769-6.862 0-12.444-5.582-12.444-12.444 0-5.209 3.218-9.689 7.769-11.538zM16 0c-8.836 0-16 7.164-16 16s7.164 16 16 16 16-7.164 16-16c0-0.818-0.071-1.636-0.178-2.418-1.742 2.436-4.587 4.018-7.822 4.018-5.298 0-9.6-4.302-9.6-9.6 0-3.218 1.582-6.080 4.018-7.822-0.782-0.107-1.6-0.178-2.418-0.178v0z"></path>
</symbol>
<symbol id="iconCut" viewBox="0 0 32 32">
<path d="M12.224 9.024c0.368-0.8 0.576-1.68 0.576-2.624 0-3.536-2.864-6.4-6.4-6.4s-6.4 2.864-6.4 6.4 2.864 6.4 6.4 6.4c0.944 0 1.824-0.208 2.624-0.576l3.776 3.776-3.776 3.776c-0.8-0.368-1.68-0.576-2.624-0.576-3.536 0-6.4 2.864-6.4 6.4s2.864 6.4 6.4 6.4 6.4-2.864 6.4-6.4c0-0.944-0.208-1.824-0.576-2.624l3.776-3.776 11.2 11.2h4.8v-1.6l-19.776-19.776zM6.4 9.6c-1.76 0-3.2-1.424-3.2-3.2s1.44-3.2 3.2-3.2 3.2 1.424 3.2 3.2-1.44 3.2-3.2 3.2zM6.4 28.8c-1.76 0-3.2-1.424-3.2-3.2s1.44-3.2 3.2-3.2 3.2 1.424 3.2 3.2-1.44 3.2-3.2 3.2zM16 16.8c-0.448 0-0.8-0.352-0.8-0.8s0.352-0.8 0.8-0.8 0.8 0.352 0.8 0.8-0.352 0.8-0.8 0.8zM27.2 1.6l-9.6 9.6 3.2 3.2 11.2-11.2v-1.6h-4.8z"></path>
</symbol>
<symbol id="iconUncheck" viewBox="0 0 32 32">
<path d="M28.444 3.556v24.889h-24.889v-24.889h24.889zM28.444 0h-24.889c-1.956 0-3.556 1.6-3.556 3.556v24.889c0 1.956 1.6 3.556 3.556 3.556h24.889c1.956 0 3.556-1.6 3.556-3.556v-24.889c0-1.956-1.6-3.556-3.556-3.556z"></path>
</symbol>
<symbol id="iconListItem" viewBox="0 0 32 32">
<path d="M7.778 17.683v-3.403h24.222v3.403h-24.222z"></path>
<path d="M5.4 16c0 1.49-1.209 2.7-2.7 2.7-1.49 0-2.7-1.21-2.7-2.7s1.21-2.7 2.7-2.7c1.491 0 2.7 1.21 2.7 2.7z"></path>
</symbol>
<symbol id="iconDot" viewBox="0 0 20 20">
<path d="M5.501 9.999c0 2.485 2.016 4.499 4.501 4.499s4.497-2.016 4.497-4.499c0-2.485-2.012-4.497-4.497-4.497s-4.501 2.012-4.501 4.497z"></path>
</symbol>
<symbol id="iconSub" viewBox="0 0 32 32">
<path d="M30.131 27.215h-3.738v1.869h5.607v1.869h-7.477v-3.738c0-1.028 0.841-1.869 1.869-1.869h3.738v-1.869h-5.607v-1.869h5.607c1.028 0 1.869 0.841 1.869 1.869v1.869c0 1.028-0.841 1.869-1.869 1.869zM0 27.215h4.972l6.355-10.131h0.224l6.355 10.131h4.972l-8.692-13.589 8.112-12.579h-5.009l-5.738 9.327h-0.224l-5.776-9.327h-4.972l8.075 12.579-8.654 13.589z"></path>
</symbol>
<symbol id="iconSup" viewBox="0 0 32 32">
<path d="M30.131 6.654h-3.738v1.869h5.607v1.869h-7.477v-3.738c0-1.028 0.841-1.869 1.869-1.869h3.738v-1.869h-5.607v-1.869h5.607c1.028 0 1.869 0.841 1.869 1.869v1.869c0 1.028-0.841 1.869-1.869 1.869zM0 30.953h4.972l6.355-10.131h0.224l6.355 10.131h4.972l-8.692-13.589 8.112-12.579h-5.009l-5.738 9.327h-0.224l-5.776-9.327h-4.972l8.075 12.579-8.654 13.589z"></path>
</symbol>
<symbol id="iconUnderline" viewBox="0 0 32 32">
<path d="M16 24.889c5.884 0 10.667-4.782 10.667-10.667v-14.222h-4.444v14.222c0 3.431-2.791 6.222-6.222 6.222s-6.222-2.791-6.222-6.222v-14.222h-4.444v14.222c0 5.884 4.782 10.667 10.667 10.667zM3.556 28.444v3.556h24.889v-3.556h-24.889z"></path>
</symbol>
<symbol id="iconPDF" viewBox="0 0 32 32">
<path d="M28.646 0.052l0.158 0.030 0.154 0.034 0.152 0.042 0.15 0.046 0.148 0.054 0.146 0.058 0.142 0.064 0.138 0.068 0.136 0.074 0.132 0.080 0.13 0.084 0.126 0.088 0.122 0.094 0.12 0.098 0.114 0.102 0.112 0.108 0.106 0.11 0.102 0.114 0.098 0.12 0.094 0.122 0.088 0.126 0.084 0.13 0.080 0.132 0.074 0.136 0.068 0.138 0.064 0.142 0.058 0.146 0.054 0.148 0.046 0.15 0.042 0.152 0.034 0.154 0.030 0.158 0.022 0.158 0.016 0.162 0.010 0.162 0.004 0.164v24l-0.004 0.164-0.010 0.162-0.016 0.162-0.022 0.158-0.030 0.158-0.034 0.154-0.042 0.152-0.046 0.15-0.054 0.148-0.058 0.146-0.064 0.142-0.068 0.138-0.074 0.136-0.080 0.132-0.084 0.13-0.088 0.126-0.094 0.122-0.098 0.12-0.102 0.114-0.106 0.112-0.112 0.106-0.114 0.102-0.12 0.098-0.122 0.094-0.126 0.088-0.13 0.084-0.132 0.080-0.136 0.074-0.138 0.068-0.142 0.064-0.146 0.058-0.148 0.054-0.15 0.046-0.152 0.042-0.154 0.034-0.158 0.030-0.158 0.022-0.162 0.016-0.162 0.010-0.164 0.004-24.646-0.052-0.158-0.030-0.154-0.034-0.152-0.042-0.15-0.046-0.148-0.054-0.146-0.058-0.142-0.064-0.138-0.068-0.136-0.074-0.132-0.080-0.13-0.084-0.126-0.088-0.122-0.094-0.12-0.098-0.114-0.102-0.11-0.106-0.108-0.112-0.102-0.114-0.098-0.12-0.094-0.122-0.088-0.126-0.084-0.13-0.080-0.132-0.074-0.136-0.068-0.138-0.064-0.142-0.058-0.146-0.054-0.148-0.046-0.15-0.042-0.152-0.034-0.154-0.030-0.158-0.022-0.158-0.016-0.162-0.010-0.162-0.004-0.164v-24l0.004-0.164 0.010-0.162 0.016-0.162 0.022-0.158 0.030-0.158 0.034-0.154 0.042-0.152 0.046-0.15 0.054-0.148 0.058-0.146 0.064-0.142 0.068-0.138 0.074-0.136 0.080-0.132 0.084-0.13 0.088-0.126 0.094-0.122 0.098-0.12 0.102-0.114 0.108-0.11 0.11-0.108 0.114-0.102 0.12-0.098 0.122-0.094 0.126-0.088 0.13-0.084 0.132-0.080 0.136-0.074 0.138-0.068 0.142-0.064 0.146-0.058 0.148-0.054 0.15-0.046 0.152-0.042 0.154-0.034 0.158-0.030 0.158-0.022 0.162-0.016 0.162-0.010 0.164-0.004 24.646 0.052zM28 4h-24v24h24v-24zM18.428 12.046l0.102 0.026 0.1 0.030 0.098 0.036 0.096 0.040 0.094 0.046 0.090 0.050 0.086 0.054 0.086 0.060 0.080 0.062 0.078 0.066 0.074 0.072 0.072 0.074 0.066 0.078 0.062 0.080 0.060 0.086 0.054 0.086 0.050 0.090 0.046 0.094 0.040 0.096 0.036 0.098 0.030 0.1 0.026 0.102 0.020 0.104 0.014 0.106 0.010 0.108 0.002 0.11v6l-0.002 0.11-0.010 0.108-0.014 0.106-0.020 0.104-0.026 0.102-0.030 0.1-0.036 0.098-0.040 0.096-0.046 0.094-0.050 0.090-0.054 0.086-0.060 0.086-0.062 0.080-0.066 0.078-0.072 0.074-0.074 0.072-0.078 0.066-0.080 0.062-0.086 0.060-0.086 0.054-0.090 0.050-0.094 0.046-0.096 0.040-0.098 0.036-0.1 0.030-0.102 0.026-0.104 0.020-0.106 0.014-0.108 0.010-0.11 0.002h-4v-10l4.11 0.002 0.108 0.010 0.106 0.014 0.104 0.020zM26 16v2h-2v4h-2v-10h4v2h-2v2h2zM10.428 12.046l0.102 0.026 0.1 0.030 0.098 0.036 0.096 0.040 0.094 0.046 0.090 0.050 0.086 0.054 0.086 0.060 0.080 0.062 0.078 0.066 0.074 0.072 0.072 0.074 0.066 0.078 0.062 0.080 0.060 0.086 0.054 0.086 0.050 0.090 0.046 0.094 0.040 0.096 0.036 0.098 0.030 0.1 0.026 0.102 0.020 0.104 0.014 0.106 0.010 0.108 0.002 0.11v2l-0.002 0.11-0.010 0.108-0.014 0.106-0.020 0.104-0.026 0.102-0.030 0.1-0.036 0.098-0.040 0.096-0.046 0.094-0.050 0.090-0.054 0.086-0.060 0.086-0.062 0.080-0.066 0.078-0.072 0.074-0.074 0.072-0.078 0.066-0.080 0.062-0.086 0.060-0.086 0.054-0.090 0.050-0.094 0.046-0.096 0.040-0.098 0.036-0.1 0.030-0.102 0.026-0.104 0.020-0.106 0.014-0.108 0.010-0.11 0.002h-2v4h-2v-10l4.11 0.002 0.108 0.010 0.106 0.014 0.104 0.020zM18 14h-2v6h2v-6zM10 14h-2v2h2v-2z"></path>
</symbol>
<symbol id="iconVideo" viewBox="0 0 32 32">
<path d="M21.333 8.889v14.222h-17.778v-14.222h17.778zM23.111 5.333h-21.333c-0.978 0-1.778 0.8-1.778 1.778v17.778c0 0.978 0.8 1.778 1.778 1.778h21.333c0.978 0 1.778-0.8 1.778-1.778v-6.222l7.111 7.111v-19.556l-7.111 7.111v-6.222c0-0.978-0.8-1.778-1.778-1.778z"></path>
</symbol>
<symbol id="iconA" viewBox="0 0 32 32">
<path d="M16 1c-8.271 0-15 6.729-15 15s6.729 15 15 15 15-6.729 15-15-6.729-15-15-15zM16 0c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16z"></path>
<path d="M22.264 22.070c0-0.18-0.022-0.426-0.045-0.785-0.045-0.359-0.067-0.763-0.112-1.234-0.045-0.449-0.112-0.965-0.157-1.526l-0.224-1.683-0.224-1.616-0.269-1.661-0.337-1.616c-0.135-0.539-0.269-1.055-0.426-1.571-0.108-0.319-0.222-0.586-0.353-0.843l0.016 0.035c-0.15-0.29-0.314-0.54-0.5-0.771l0.007 0.008c-0.199-0.227-0.428-0.421-0.683-0.576l-0.013-0.007c-0.269-0.135-0.539-0.224-0.853-0.224-0.494 0-0.987 0.202-1.436 0.583q-0.707 0.572-1.346 1.481c-0.432 0.602-0.836 1.286-1.177 2.006l-0.035 0.081c-0.404 0.763-0.741 1.526-1.055 2.266-0.314 0.763-0.606 1.481-0.83 2.154-0.224 0.696-0.404 1.257-0.516 1.683-0.269-0.067-0.471-0.112-0.606-0.157-0.134-0.039-0.288-0.063-0.447-0.067l-0.002-0q-0.269 0-0.404 0.067c-0.1 0.037-0.184 0.099-0.246 0.178l-0.001 0.001c-0.044 0.079-0.089 0.175-0.128 0.274l-0.006 0.018c-0.046 0.092-0.091 0.203-0.129 0.318l-0.005 0.018c0.038 0.171 0.108 0.322 0.204 0.452l-0.002-0.003c0.046 0.113 0.134 0.201 0.244 0.246l0.003 0.001c0.090 0.067 0.247 0.112 0.426 0.135 0.157 0.045 0.381 0.067 0.651 0.067-0.090 0.381-0.18 0.718-0.247 0.987l-0.18 0.875c-0.067 0.236-0.13 0.532-0.174 0.834l-0.005 0.042c-0.029 0.207-0.046 0.446-0.046 0.689 0 0.042 0 0.084 0.001 0.125l-0-0.006c0 0.135 0.045 0.202 0.18 0.292 0.11 0.076 0.235 0.144 0.368 0.197l0.013 0.005q0.202 0.067 0.471 0.135c0.157 0 0.292 0.022 0.381 0.022 0.202 0 0.404-0.112 0.583-0.292s0.269-0.359 0.269-0.539c0-0.494 0.022-1.055 0.067-1.638 0.048-0.66 0.127-1.26 0.24-1.848l-0.016 0.097 1.795-0.135c0.561-0.045 1.122-0.090 1.683-0.18q0.808-0.101 1.683-0.269c0.539-0.090 1.144-0.224 1.818-0.381 0.002 0.398 0.027 0.788 0.072 1.171l-0.005-0.049c0 0.404 0.022 0.696 0.022 0.83-0.003 0.153-0.019 0.3-0.048 0.442l0.003-0.016c-0.045 0.135-0.067 0.292-0.112 0.426-0.043 0.106-0.081 0.234-0.109 0.365l-0.003 0.016c-0.045 0.135-0.045 0.247-0.045 0.381 0 0.247 0.135 0.471 0.426 0.651 0.269 0.18 0.539 0.269 0.83 0.269 0.381 0 0.651-0.112 0.83-0.359 0.169-0.234 0.27-0.526 0.27-0.841 0-0.012-0-0.024-0-0.036l0 0.002zM19.953 17.515c-0.854 0.229-1.927 0.441-3.019 0.59l-0.145 0.016c-0.979 0.157-2.107 0.247-3.256 0.247-0.007 0-0.014 0-0.022 0h0.001c0.446-1.624 0.929-2.982 1.495-4.295l-0.081 0.211c0.559-1.371 1.237-2.554 2.049-3.631l-0.029 0.041q0.337-0.471 0.673-0.741t0.539-0.269c0.022 0 0.067 0.022 0.157 0.067 0.050 0.047 0.094 0.098 0.133 0.154l0.002 0.003c0.129 0.273 0.244 0.594 0.329 0.928l0.008 0.037 0.247 1.010c0.067 0.337 0.135 0.651 0.18 0.965 0.053 0.359 0.116 0.663 0.194 0.961l-0.014-0.063c0.090 0.561 0.18 1.167 0.269 1.795 0.090 0.651 0.179 1.301 0.292 1.975z"></path>
</symbol>
<symbol id="iconN" viewBox="0 0 32 32">
<path d="M16 1c-8.271 0-15 6.729-15 15s6.729 15 15 15 15-6.729 15-15-6.729-15-15-15zM16 0c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16z"></path>
<path d="M22.195 9.174c0-0.196-0.122-0.416-0.367-0.636-0.269-0.196-0.514-0.318-0.734-0.318-0.416 0-0.709 0.122-0.881 0.343-0.183 0.22-0.294 0.505-0.294 0.816 0 0.006 0 0.011 0 0.017v-0.001 0.514c0 0.196 0.024 0.367 0.024 0.514 0 0.318 0.024 0.612 0.024 0.856v0.856c0 1.15 0 2.275 0.049 3.401 0 1.15 0.024 2.3 0.024 3.45 0 0.391-0.024 0.758-0.024 1.15s-0.024 0.832-0.049 1.37q-1.651-1.248-2.642-2.643c-0.63-0.843-1.224-1.796-1.734-2.799l-0.052-0.112c-0.122-0.22-0.245-0.514-0.391-0.856s-0.318-0.734-0.489-1.199c-0.196-0.465-0.367-0.979-0.563-1.566-0.22-0.563-0.465-1.199-0.709-1.884l-0.245-0.832c-0.098-0.245-0.196-0.514-0.318-0.783-0.269-0.538-0.758-0.832-1.443-0.832-0.002 0-0.004 0-0.007 0-0.267 0-0.512 0.092-0.705 0.247l0.002-0.002c-0.22 0.196-0.318 0.416-0.318 0.685-0.001 0.019-0.001 0.042-0.001 0.065 0 0.098 0.009 0.194 0.027 0.287l-0.002-0.009c0 0.122-0.024 0.245-0.024 0.343-0.196 1.517-0.343 3.009-0.416 4.477-0.073 1.492-0.098 2.985-0.098 4.502 0 1.835 0.024 3.131 0.073 3.914-0.001 0.023-0.001 0.050-0.001 0.077 0 0.137 0.009 0.271 0.027 0.403l-0.002-0.015c0 0.171 0.049 0.318 0.098 0.465 0.047 0.168 0.142 0.31 0.268 0.415l0.001 0.001q0.147 0.147 0.514 0.147c0.287-0.001 0.556-0.073 0.792-0.2l-0.009 0.004c0.269-0.098 0.416-0.269 0.416-0.514-0.005-0.185-0.022-0.362-0.052-0.535l0.003 0.022-0.098-0.465c-0.046-0.108-0.073-0.234-0.073-0.367v-0l-0.098-0.391c-0.046-0.221-0.073-0.474-0.073-0.734v-0c-0.024-0.294-0.024-0.783-0.024-1.468-0.024-0.636-0.024-1.468-0.024-2.495 0-0.807 0-1.664 0.024-2.569q0-1.321 0.147-3.303c0.489 1.639 1.003 3.131 1.566 4.453 0.606 1.435 1.286 2.666 2.077 3.814l-0.046-0.071c0.294 0.44 0.612 0.905 1.003 1.346 0.379 0.461 0.763 0.876 1.17 1.268l0.005 0.004c0.387 0.374 0.802 0.726 1.238 1.052l0.034 0.024c0.348 0.306 0.742 0.575 1.166 0.792l0.032 0.015c0.111 0.062 0.244 0.098 0.385 0.098 0.011 0 0.021-0 0.032-0.001l-0.002 0c0.416 0 0.709-0.171 0.881-0.538 0.092-0.224 0.192-0.516 0.278-0.816l0.016-0.065 0.147-1.052 0.049-1.101v-3.718c0-0.905 0-1.835 0.024-2.765v-1.566c0-0.538 0-1.052 0.049-1.566 0.001-0.133 0.028-0.259 0.076-0.373l-0.002 0.006 0.098-0.367c0.049-0.147 0.098-0.269 0.122-0.343 0.021-0.096 0.038-0.213 0.048-0.333l0.001-0.010z"></path>
</symbol>
<symbol id="iconM" viewBox="0 0 32 32">
<path d="M16 1c-8.271 0-15 6.729-15 15s6.729 15 15 15 15-6.729 15-15-6.729-15-15-15zM16 0c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16z"></path>
<path d="M23.311 23.552c0-0.047-0.024-0.094-0.047-0.165l-0.071-0.142c-0.043-0.059-0.069-0.132-0.071-0.212v-0c-0.041-0.043-0.068-0.101-0.071-0.165l-0-0.001c-0.097-0.205-0.186-0.449-0.253-0.701l-0.007-0.030c-0.071-0.26-0.118-0.59-0.142-1.015-0.047-0.472-0.094-0.991-0.094-1.51-0.047-0.519-0.047-1.015-0.047-1.487 0-1.038 0-1.959 0.047-2.761 0-0.802 0.047-1.558 0.094-2.265 0.024-0.661 0.071-1.298 0.142-1.888s0.165-1.18 0.26-1.77l0.094-0.401c0.027-0.119 0.044-0.257 0.047-0.399l0-0.002c-0.024-0.165-0.118-0.283-0.307-0.354-0.189-0.047-0.378-0.094-0.543-0.094-0.236 0-0.472 0.024-0.708 0.047-0.26 0.047-0.448 0.118-0.59 0.212-0.33 0.236-0.661 0.661-0.991 1.227-0.342 0.555-0.689 1.214-0.994 1.895l-0.044 0.111c-0.354 0.779-0.684 1.605-0.991 2.454-0.33 0.897-0.661 1.746-0.944 2.549-0.33 0.85-0.59 1.558-0.802 2.171-0.236 0.614-0.472 1.133-0.684 1.605-0.425-0.661-0.755-1.251-1.038-1.794-0.247-0.437-0.501-0.965-0.721-1.51l-0.034-0.095c-0.382-0.826-0.722-1.802-0.968-2.814l-0.023-0.112c-0.224-0.807-0.446-1.852-0.614-2.915l-0.023-0.177c-0.047-0.354-0.094-0.732-0.118-1.109-0.047-0.378-0.094-0.755-0.165-1.133-0.094-0.26-0.283-0.472-0.614-0.614-0.354-0.118-0.684-0.189-0.968-0.189-0.378 0-0.637 0.071-0.732 0.189-0.103 0.126-0.166 0.289-0.166 0.467 0 0.010 0 0.020 0.001 0.030l-0-0.001v0.33c0 0.142-0.024 0.236-0.024 0.307-0.236 1.038-0.401 2.265-0.519 3.681-0.142 1.416-0.189 2.95-0.189 4.602v1.558l0.047 0.967c0 0.33 0 0.661 0.024 0.968 0.017 0.475 0.060 0.923 0.126 1.363l-0.008-0.065c0.024 0.33 0.071 0.566 0.118 0.684 0.094 0.33 0.354 0.496 0.732 0.496 0.307 0 0.59-0.047 0.85-0.189 0.236-0.142 0.354-0.283 0.354-0.448-0.001-0.144-0.026-0.282-0.073-0.409l0.003 0.008c-0.047-0.118-0.071-0.236-0.118-0.378l-0.094-0.33c-0.045-0.089-0.071-0.193-0.071-0.304 0-0.009 0-0.018 0.001-0.027l-0 0.001c-0.094-0.496-0.142-1.227-0.189-2.218s-0.047-2.124-0.047-3.422v-1.109l0.047-0.944 0.094-0.944 0.142-1.062c0.094 0.519 0.189 0.968 0.283 1.369 0.126 0.58 0.224 0.968 0.329 1.353l-0.046-0.197c0.094 0.378 0.189 0.755 0.283 1.086 0.115 0.407 0.235 0.744 0.375 1.071l-0.021-0.056c0.401 1.133 0.873 2.242 1.439 3.28 0.519 1.062 1.133 1.959 1.841 2.667 0.189 0.236 0.425 0.33 0.708 0.33 0.33 0 0.637-0.165 0.897-0.496 0.094-0.094 0.189-0.283 0.33-0.566 0.118-0.283 0.236-0.59 0.378-0.92 0.118-0.33 0.236-0.637 0.354-0.968l0.26-0.708 0.661-1.841c0.189-0.614 0.425-1.251 0.684-1.912 0.236-0.661 0.519-1.345 0.85-2.077 0.307-0.708 0.661-1.487 1.086-2.313-0.094 0.755-0.165 1.487-0.212 2.242-0.071 0.779-0.118 1.534-0.142 2.289-0.047 0.755-0.047 1.487-0.047 2.195-0.024 0.732-0.024 1.416-0.024 2.029 0 0.755 0.024 1.416 0.118 2.029s0.212 1.109 0.354 1.487c0.071 0.236 0.212 0.425 0.448 0.59 0.188 0.145 0.425 0.233 0.684 0.236h0.001c0.236 0 0.448-0.047 0.59-0.142s0.236-0.189 0.236-0.307z"></path>
</symbol>
<symbol id="iconYuque" viewBox="0 0 32 32">
<path d="M29.177 10.542c-0.381-1.515 0.381-3.931 2.823-4.785l-2.612-0.138s-0.988-3.462-5.523-3.769c-4.535-0.312-7.5-0.115-7.5-0.115s3.362 2.138 2.015 5.95c-0.985 2.019-2.531 3.677-4.185 5.565-0.050 0.050-0.096 0.1-0.135 0.142-5.469 6.165-14.062 15.973-14.062 15.973 9.458 2.477 15.796-0.242 19.546-3.504 0.788-0.008 1.381-0.012 1.781-0.012 5.223 0 9.638-4.523 9.458-9.554-0.123-3.458-1.227-4.238-1.608-5.754z"></path>
</symbol>
<symbol id="iconRightTop" viewBox="0 0 32 32">
<path d="M31.997 5.698l-0.007-0.118-0.012-0.117-0.017-0.116-0.021-0.113-0.025-0.113-0.030-0.111-0.035-0.109-0.038-0.107-0.043-0.106-0.046-0.103-0.050-0.101-0.054-0.099-0.058-0.096-0.061-0.094-0.065-0.092-0.068-0.089-0.072-0.086-0.074-0.084-0.078-0.080-0.080-0.078-0.084-0.074-0.086-0.072-0.089-0.068-0.092-0.065-0.094-0.061-0.096-0.058-0.099-0.054-0.101-0.050-0.103-0.046-0.106-0.042-0.107-0.038-0.109-0.034-0.111-0.031-0.113-0.025-0.113-0.021-0.116-0.017-0.117-0.012-0.118-0.007-0.12-0.003h-5.819v14.546h8.727v-11.637l-0.003-0.12zM11.636 5.818h2.909v-2.909h-2.909v2.909zM2.499 2.938l-0.199 0.036-0.194 0.049-0.188 0.062-0.183 0.074-0.176 0.086-0.17 0.097-0.162 0.108-0.154 0.119-0.147 0.128-0.138 0.137-0.128 0.147-0.118 0.154-0.108 0.162-0.097 0.17-0.086 0.176-0.074 0.183-0.061 0.189-0.049 0.195-0.036 0.198-0.022 0.203-0.007 0.207h2.909v-2.909l-0.207 0.007-0.203 0.022zM5.818 5.818h2.91v-2.909h-2.91v2.909zM17.455 5.818h2.909v-2.909h-2.909v2.909zM0 11.636h2.909v-2.909h-2.909v2.909zM0 17.455h2.909v-2.91h-2.909v2.91zM0 23.273h2.909v-2.909h-2.909v2.909zM29.091 23.273h2.909v-2.909h-2.909v2.909zM0.007 26.389l0.022 0.203 0.036 0.198 0.049 0.195 0.061 0.189 0.074 0.183 0.086 0.176 0.097 0.17 0.108 0.162 0.118 0.154 0.128 0.147 0.138 0.137 0.147 0.128 0.154 0.119 0.162 0.108 0.17 0.097 0.176 0.086 0.183 0.074 0.189 0.062 0.194 0.049 0.199 0.036 0.203 0.022 0.207 0.007v-2.909h-2.909l0.007 0.207zM11.636 29.091h2.909v-2.909h-2.909v2.909zM5.818 29.091h2.91v-2.909h-2.91v2.909zM17.455 29.091h2.909v-2.909h-2.909v2.909zM29.7 29.027l0.194-0.049 0.189-0.062 0.183-0.074 0.176-0.086 0.17-0.097 0.162-0.108 0.154-0.119 0.147-0.128 0.138-0.137 0.128-0.147 0.118-0.154 0.108-0.162 0.097-0.17 0.086-0.176 0.074-0.183 0.061-0.189 0.049-0.195 0.036-0.198 0.022-0.203 0.007-0.207h-2.909v2.909l0.207-0.007 0.203-0.022 0.199-0.036zM23.273 29.091h2.91v-2.909h-2.91v2.909z"></path>
</symbol>
<symbol id="iconLeftTop" viewBox="0 0 32 32">
<path d="M0.003 5.698l0.007-0.118 0.012-0.117 0.017-0.116 0.021-0.113 0.025-0.113 0.030-0.111 0.035-0.109 0.038-0.107 0.043-0.106 0.046-0.103 0.050-0.101 0.054-0.099 0.058-0.096 0.061-0.094 0.065-0.092 0.068-0.089 0.072-0.086 0.074-0.084 0.078-0.080 0.080-0.078 0.084-0.074 0.086-0.072 0.089-0.068 0.092-0.065 0.094-0.061 0.096-0.058 0.099-0.054 0.101-0.050 0.103-0.046 0.106-0.042 0.107-0.038 0.109-0.034 0.111-0.031 0.113-0.025 0.113-0.021 0.116-0.017 0.117-0.012 0.118-0.007 0.12-0.003h5.819v14.546h-8.727v-11.637l0.003-0.12zM20.364 5.818h-2.909v-2.909h2.909v2.909zM29.501 2.938l0.199 0.036 0.194 0.049 0.189 0.062 0.183 0.074 0.176 0.086 0.17 0.097 0.162 0.108 0.154 0.119 0.147 0.128 0.138 0.137 0.128 0.147 0.118 0.154 0.108 0.162 0.097 0.17 0.086 0.176 0.074 0.183 0.061 0.189 0.049 0.195 0.036 0.198 0.022 0.203 0.007 0.207h-2.909v-2.909l0.207 0.007 0.203 0.022zM26.182 5.818h-2.91v-2.909h2.91v2.909zM14.545 5.818h-2.909v-2.909h2.909v2.909zM32 11.636h-2.909v-2.909h2.909v2.909zM32 17.455h-2.909v-2.91h2.909v2.91zM32 23.273h-2.909v-2.909h2.909v2.909zM2.909 23.273h-2.909v-2.909h2.909v2.909zM31.993 26.389l-0.022 0.203-0.036 0.198-0.049 0.195-0.061 0.189-0.074 0.183-0.086 0.176-0.097 0.17-0.108 0.162-0.118 0.154-0.128 0.147-0.138 0.137-0.147 0.128-0.154 0.119-0.162 0.108-0.17 0.097-0.176 0.086-0.183 0.074-0.189 0.062-0.194 0.049-0.199 0.036-0.203 0.022-0.207 0.007v-2.909h2.909l-0.007 0.207zM20.364 29.091h-2.909v-2.909h2.909v2.909zM26.182 29.091h-2.91v-2.909h2.91v2.909zM14.545 29.091h-2.909v-2.909h2.909v2.909zM2.3 29.027l-0.194-0.049-0.188-0.062-0.183-0.074-0.176-0.086-0.17-0.097-0.162-0.108-0.154-0.119-0.147-0.128-0.138-0.137-0.128-0.147-0.118-0.154-0.108-0.162-0.097-0.17-0.086-0.176-0.074-0.183-0.061-0.189-0.049-0.195-0.036-0.198-0.022-0.203-0.007-0.207h2.909v2.909l-0.207-0.007-0.203-0.022-0.199-0.036zM8.727 29.091h-2.91v-2.909h2.91v2.909z"></path>
</symbol>
<symbol id="iconLeftBottom" viewBox="0 0 32 32">
<path d="M0.003 26.302l0.007 0.118 0.012 0.117 0.017 0.116 0.021 0.113 0.025 0.113 0.030 0.111 0.035 0.109 0.038 0.107 0.043 0.106 0.046 0.103 0.050 0.101 0.054 0.099 0.058 0.096 0.061 0.094 0.065 0.092 0.068 0.089 0.072 0.086 0.074 0.084 0.078 0.080 0.080 0.078 0.084 0.074 0.086 0.072 0.089 0.068 0.092 0.065 0.094 0.061 0.096 0.058 0.099 0.054 0.101 0.050 0.103 0.046 0.106 0.042 0.107 0.038 0.109 0.034 0.111 0.031 0.113 0.025 0.113 0.021 0.116 0.017 0.117 0.012 0.118 0.007 0.12 0.003h5.819v-14.546h-8.727v11.637l0.003 0.12zM20.364 26.182h-2.909v2.909h2.909v-2.909zM29.501 29.062l0.199-0.036 0.194-0.049 0.189-0.062 0.183-0.074 0.176-0.086 0.17-0.097 0.162-0.108 0.154-0.119 0.147-0.128 0.138-0.137 0.128-0.147 0.118-0.154 0.108-0.162 0.097-0.17 0.086-0.176 0.074-0.183 0.061-0.189 0.049-0.195 0.036-0.198 0.022-0.203 0.007-0.207h-2.909v2.909l0.207-0.007 0.203-0.022zM26.182 26.182h-2.91v2.909h2.91v-2.909zM14.545 26.182h-2.909v2.909h2.909v-2.909zM32 20.364h-2.909v2.909h2.909v-2.909zM32 14.545h-2.909v2.91h2.909v-2.91zM32 8.727h-2.909v2.909h2.909v-2.909zM2.909 8.727h-2.909v2.909h2.909v-2.909zM31.993 5.611l-0.022-0.203-0.036-0.198-0.049-0.195-0.061-0.189-0.074-0.183-0.086-0.176-0.097-0.17-0.108-0.162-0.118-0.154-0.128-0.147-0.138-0.137-0.147-0.128-0.154-0.119-0.162-0.108-0.17-0.097-0.176-0.086-0.183-0.074-0.189-0.062-0.194-0.049-0.199-0.036-0.203-0.022-0.207-0.007v2.909h2.909l-0.007-0.207zM20.364 2.909h-2.909v2.909h2.909v-2.909zM26.182 2.909h-2.91v2.909h2.91v-2.909zM14.545 2.909h-2.909v2.909h2.909v-2.909zM2.3 2.973l-0.194 0.049-0.188 0.062-0.183 0.074-0.176 0.086-0.17 0.097-0.162 0.108-0.154 0.119-0.147 0.128-0.138 0.137-0.128 0.147-0.118 0.154-0.108 0.162-0.097 0.17-0.086 0.176-0.074 0.183-0.061 0.189-0.049 0.195-0.036 0.198-0.022 0.203-0.007 0.207h2.909v-2.909l-0.207 0.007-0.203 0.022-0.199 0.036zM8.727 2.909h-2.91v2.909h2.91v-2.909z"></path>
</symbol>
<symbol id="iconRightBottom" viewBox="0 0 32 32">
<path d="M31.997 26.302l-0.007 0.118-0.012 0.117-0.017 0.116-0.021 0.113-0.025 0.113-0.030 0.111-0.035 0.109-0.038 0.107-0.043 0.106-0.046 0.103-0.050 0.101-0.054 0.099-0.058 0.096-0.061 0.094-0.065 0.092-0.068 0.089-0.072 0.086-0.074 0.084-0.078 0.080-0.080 0.078-0.084 0.074-0.086 0.072-0.089 0.068-0.092 0.065-0.094 0.061-0.096 0.058-0.099 0.054-0.101 0.050-0.103 0.046-0.106 0.042-0.107 0.038-0.109 0.034-0.111 0.031-0.113 0.025-0.113 0.021-0.116 0.017-0.117 0.012-0.118 0.007-0.12 0.003h-5.819v-14.546h8.727v11.637l-0.003 0.12zM11.636 26.182h2.909v2.909h-2.909v-2.909zM2.499 29.062l-0.199-0.036-0.194-0.049-0.188-0.062-0.183-0.074-0.176-0.086-0.17-0.097-0.162-0.108-0.154-0.119-0.147-0.128-0.138-0.137-0.128-0.147-0.118-0.154-0.108-0.162-0.097-0.17-0.086-0.176-0.074-0.183-0.061-0.189-0.049-0.195-0.036-0.198-0.022-0.203-0.007-0.207h2.909v2.909l-0.207-0.007-0.203-0.022zM5.818 26.182h2.91v2.909h-2.91v-2.909zM17.455 26.182h2.909v2.909h-2.909v-2.909zM0 20.364h2.909v2.909h-2.909v-2.909zM0 14.545h2.909v2.91h-2.909v-2.91zM0 8.727h2.909v2.909h-2.909v-2.909zM29.091 8.727h2.909v2.909h-2.909v-2.909zM0.007 5.611l0.022-0.203 0.036-0.198 0.049-0.195 0.061-0.189 0.074-0.183 0.086-0.176 0.097-0.17 0.108-0.162 0.118-0.154 0.128-0.147 0.138-0.137 0.147-0.128 0.154-0.119 0.162-0.108 0.17-0.097 0.176-0.086 0.183-0.074 0.189-0.062 0.194-0.049 0.199-0.036 0.203-0.022 0.207-0.007v2.909h-2.909l0.007-0.207zM11.636 2.909h2.909v2.909h-2.909v-2.909zM5.818 2.909h2.91v2.909h-2.91v-2.909zM17.455 2.909h2.909v2.909h-2.909v-2.909zM29.7 2.973l0.194 0.049 0.189 0.062 0.183 0.074 0.176 0.086 0.17 0.097 0.162 0.108 0.154 0.119 0.147 0.128 0.138 0.137 0.128 0.147 0.118 0.154 0.108 0.162 0.097 0.17 0.086 0.176 0.074 0.183 0.061 0.189 0.049 0.195 0.036 0.198 0.022 0.203 0.007 0.207h-2.909v-2.909l0.207 0.007 0.203 0.022 0.199 0.036zM23.273 2.909h2.91v2.909h-2.91v-2.909z"></path>
</symbol>
<symbol id="iconTopRight" viewBox="0 0 32 32">
<path d="M0 11.636h2.909v-2.909h-2.909v2.909zM0 17.455h2.909v-2.909h-2.909v2.909zM0 5.818h2.909v-2.909c-1.6 0-2.909 1.309-2.909 2.909zM11.636 29.091h2.909v-2.909h-2.909v2.909zM0 23.273h2.909v-2.909h-2.909v2.909zM2.909 29.091v-2.909h-2.909c0 1.6 1.309 2.909 2.909 2.909zM29.091 2.909h-11.636v8.727h14.545v-5.818c0-1.6-1.309-2.909-2.909-2.909zM29.091 23.273h2.909v-2.909h-2.909v2.909zM11.636 5.818h2.909v-2.909h-2.909v2.909zM5.818 29.091h2.909v-2.909h-2.909v2.909zM5.818 5.818h2.909v-2.909h-2.909v2.909zM29.091 29.091c1.6 0 2.909-1.309 2.909-2.909h-2.909v2.909zM29.091 17.455h2.909v-2.909h-2.909v2.909zM17.455 29.091h2.909v-2.909h-2.909v2.909zM23.273 29.091h2.909v-2.909h-2.909v2.909z"></path>
</symbol>
<symbol id="iconTopLeft" viewBox="0 0 32 32">
<path d="M32 11.636h-2.909v-2.909h2.909v2.909zM32 17.455h-2.909v-2.909h2.909v2.909zM32 5.818h-2.909v-2.909c1.6 0 2.909 1.309 2.909 2.909zM20.364 29.091h-2.909v-2.909h2.909v2.909zM32 23.273h-2.909v-2.909h2.909v2.909zM29.091 29.091v-2.909h2.909c0 1.6-1.309 2.909-2.909 2.909zM2.909 2.909h11.636v8.727h-14.545v-5.818c0-1.6 1.309-2.909 2.909-2.909zM2.909 23.273h-2.909v-2.909h2.909v2.909zM20.364 5.818h-2.909v-2.909h2.909v2.909zM26.182 29.091h-2.909v-2.909h2.909v2.909zM26.182 5.818h-2.909v-2.909h2.909v2.909zM2.909 29.091c-1.6 0-2.909-1.309-2.909-2.909h2.909v2.909zM2.909 17.455h-2.909v-2.909h2.909v2.909zM14.545 29.091h-2.909v-2.909h2.909v2.909zM8.727 29.091h-2.909v-2.909h2.909v2.909z"></path>
</symbol>
<symbol id="iconBottomLeft" viewBox="0 0 32 32">
<path d="M32 20.364h-2.909v2.909h2.909v-2.909zM32 14.545h-2.909v2.909h2.909v-2.909zM32 26.182h-2.909v2.909c1.6 0 2.909-1.309 2.909-2.909zM20.364 2.909h-2.909v2.909h2.909v-2.909zM32 8.727h-2.909v2.909h2.909v-2.909zM29.091 2.909v2.909h2.909c0-1.6-1.309-2.909-2.909-2.909zM2.909 29.091h11.636v-8.727h-14.545v5.818c0 1.6 1.309 2.909 2.909 2.909zM2.909 8.727h-2.909v2.909h2.909v-2.909zM20.364 26.182h-2.909v2.909h2.909v-2.909zM26.182 2.909h-2.909v2.909h2.909v-2.909zM26.182 26.182h-2.909v2.909h2.909v-2.909zM2.909 2.909c-1.6 0-2.909 1.309-2.909 2.909h2.909v-2.909zM2.909 14.545h-2.909v2.909h2.909v-2.909zM14.545 2.909h-2.909v2.909h2.909v-2.909zM8.727 2.909h-2.909v2.909h2.909v-2.909z"></path>
</symbol>
<symbol id="iconBottomRight" viewBox="0 0 32 32">
<path d="M0 20.364h2.909v2.909h-2.909v-2.909zM0 14.545h2.909v2.909h-2.909v-2.909zM0 26.182h2.909v2.909c-1.6 0-2.909-1.309-2.909-2.909zM11.636 2.909h2.909v2.909h-2.909v-2.909zM0 8.727h2.909v2.909h-2.909v-2.909zM2.909 2.909v2.909h-2.909c0-1.6 1.309-2.909 2.909-2.909zM29.091 29.091h-11.636v-8.727h14.545v5.818c0 1.6-1.309 2.909-2.909 2.909zM29.091 8.727h2.909v2.909h-2.909v-2.909zM11.636 26.182h2.909v2.909h-2.909v-2.909zM5.818 2.909h2.909v2.909h-2.909v-2.909zM5.818 26.182h2.909v2.909h-2.909v-2.909zM29.091 2.909c1.6 0 2.909 1.309 2.909 2.909h-2.909v-2.909zM29.091 14.545h2.909v2.909h-2.909v-2.909zM17.455 2.909h2.909v2.909h-2.909v-2.909zM23.273 2.909h2.909v2.909h-2.909v-2.909z"></path>
</symbol>
<symbol id="iconBazaar" viewBox="0 0 32 32">
<path d="M31.842 11.022l-1.681-6.994c-0.352-1.44-1.601-2.433-3.057-2.433h-22.231c-1.44 0-2.705 1.008-3.041 2.433l-1.681 6.994c-0.384 1.633-0.032 3.297 0.992 4.61 0.128 0.176 0.304 0.304 0.448 0.464v11.108c0 1.761 1.44 3.201 3.201 3.201h22.407c1.761 0 3.201-1.44 3.201-3.201v-11.108c0.144-0.144 0.32-0.288 0.448-0.448 1.024-1.312 1.392-2.993 0.992-4.625zM27.056 4.78l1.681 6.994c0.16 0.672 0.016 1.344-0.4 1.873-0.224 0.288-0.704 0.752-1.505 0.752-0.976 0-1.825-0.784-1.937-1.825l-0.928-7.779 3.089-0.016zM17.597 4.796h3.137l0.864 7.234c0.080 0.624-0.112 1.248-0.528 1.713-0.352 0.416-0.864 0.656-1.52 0.656-1.072 0-1.953-0.944-1.953-2.097v-7.506zM10.379 12.031l0.88-7.234h3.137v7.506c0 1.152-0.88 2.097-2.065 2.097-0.544 0-1.040-0.24-1.424-0.656-0.4-0.464-0.592-1.088-0.528-1.713zM3.256 11.775l1.616-6.978h3.153l-0.928 7.779c-0.128 1.040-0.96 1.825-1.937 1.825-0.784 0-1.28-0.464-1.488-0.752-0.432-0.512-0.576-1.2-0.416-1.873zM4.793 27.204v-9.651c0.128 0.016 0.24 0.048 0.368 0.048 1.392 0 2.657-0.576 3.585-1.52 0.96 0.96 2.241 1.52 3.697 1.52 1.392 0 2.641-0.576 3.569-1.488 0.944 0.912 2.225 1.488 3.665 1.488 1.344 0 2.625-0.56 3.585-1.52 0.928 0.944 2.193 1.52 3.585 1.52 0.128 0 0.24-0.032 0.368-0.048v9.651h-22.423z"></path>
</symbol>
<symbol id="iconMove" viewBox="0 0 32 32">
<path d="M13.091 11.636h5.818v-4.364h4.364l-7.273-7.273-7.273 7.273h4.364v4.364zM11.636 13.091h-4.364v-4.364l-7.273 7.273 7.273 7.273v-4.364h4.364v-5.818zM32 16l-7.273-7.273v4.364h-4.364v5.818h4.364v4.364l7.273-7.273zM18.909 20.364h-5.818v4.364h-4.364l7.273 7.273 7.273-7.273h-4.364v-4.364z"></path>
</symbol>
<symbol id="iconCalendar" viewBox="0 0 32 32">
<path d="M27.636 2.909h-1.455v-2.909h-2.909v2.909h-14.545v-2.909h-2.909v2.909h-1.455c-1.6 0-2.909 1.309-2.909 2.909v23.273c0 1.6 1.309 2.909 2.909 2.909h23.273c1.6 0 2.909-1.309 2.909-2.909v-23.273c0-1.6-1.309-2.909-2.909-2.909zM27.636 29.091h-23.273v-16h23.273v16zM27.636 10.182h-23.273v-4.364h23.273v4.364z"></path>
</symbol>
<symbol id="iconKeymap" viewBox="0 0 32 32">
<path d="M28.8 8v16h-25.6v-16h25.6zM28.8 4.8h-25.6c-1.76 0-3.184 1.44-3.184 3.2l-0.016 16c0 1.76 1.44 3.2 3.2 3.2h25.6c1.76 0 3.2-1.44 3.2-3.2v-16c0-1.76-1.44-3.2-3.2-3.2zM14.4 9.6h3.2v3.2h-3.2zM14.4 14.4h3.2v3.2h-3.2zM9.6 9.6h3.2v3.2h-3.2zM9.6 14.4h3.2v3.2h-3.2zM4.8 14.4h3.2v3.2h-3.2zM4.8 9.6h3.2v3.2h-3.2zM9.6 19.2h12.8v3.2h-12.8zM19.2 14.4h3.2v3.2h-3.2zM19.2 9.6h3.2v3.2h-3.2zM24 14.4h3.2v3.2h-3.2zM24 9.6h3.2v3.2h-3.2z"></path>
</symbol>
<symbol id="iconFont" viewBox="0 0 32 32">
<path opacity="0.36" d="M0 24.667h32v5.333h-32v-5.333z"></path>
<path d="M14.667 2l-7.333 18.667h3l1.493-4h8.333l1.493 4h3l-7.32-18.667h-2.667zM12.827 14l3.173-8.44 3.173 8.44h-6.347z"></path>
</symbol>
<symbol id="iconPin" viewBox="0 0 32 32">
<path d="M19.2 3.2v8c0 1.792 0.592 3.456 1.6 4.8h-9.6c1.040-1.376 1.6-3.040 1.6-4.8v-8h6.4zM24 0h-16c-0.88 0-1.6 0.72-1.6 1.6s0.72 1.6 1.6 1.6c0 0 0 0 0 0h1.6v8c0 2.656-2.144 4.8-4.8 4.8v3.2h9.552v11.2l1.6 1.6 1.6-1.6v-11.2h9.648v-3.2c0 0 0 0 0 0-2.656 0-4.8-2.144-4.8-4.8v-8h1.6c0 0 0 0 0 0 0.88 0 1.6-0.72 1.6-1.6s-0.72-1.6-1.6-1.6v0z"></path>
</symbol>
<symbol id="iconVIP" viewBox="0 0 32 32">
<path d="M2.288 12.643l23.487 12.853c0.286 0.153 0.477 0.45 0.477 0.791 0 0.082-0.011 0.161-0.032 0.237l0.001-0.006c-0.119 0.395-0.479 0.678-0.905 0.678-0.004 0-0.009 0-0.013 0h-19.439c-0.958 0-1.766-0.684-1.885-1.595l-1.691-12.956z"></path>
<path d="M29.676 12.643l-1.691 12.957c-0.119 0.911-0.927 1.594-1.884 1.594h-19.442c-0.004 0-0.009 0-0.013 0-0.425 0-0.785-0.281-0.903-0.668l-0.002-0.007c-0.019-0.070-0.031-0.15-0.031-0.232 0-0.341 0.191-0.638 0.472-0.788l0.005-0.002 23.487-12.853z"></path>
<path d="M15.413 8.369l10.394 15.921c0.378 0.579 0.407 1.317 0.076 1.924-0.328 0.591-0.948 0.985-1.66 0.985 0 0-0.001 0-0.001 0h-17.617c-0.694 0-1.331-0.378-1.661-0.985-0.144-0.26-0.229-0.569-0.229-0.899 0-0.382 0.114-0.736 0.31-1.033l-0.004 0.007 10.394-15.921z"></path>
<path d="M15.396 8.403l11.659 15.921c0.401 0.579 0.432 1.317 0.081 1.924-0.361 0.594-1.005 0.985-1.741 0.985-0.008 0-0.017 0-0.025 0h-9.344l-0.63-18.83z"></path>
<path d="M13.868 6.478c0 0.946 0.767 1.712 1.712 1.712s1.712-0.767 1.712-1.712v0c0-0.945-0.766-1.712-1.712-1.712s-1.712 0.766-1.712 1.712v0zM28.577 10.818c0 0.945 0.766 1.712 1.712 1.712s1.712-0.766 1.712-1.712v0c0-0.945-0.766-1.712-1.712-1.712s-1.712 0.766-1.712 1.712v0zM0 10.822c0 0.945 0.766 1.712 1.712 1.712s1.712-0.766 1.712-1.712v0c0-0.945-0.766-1.712-1.712-1.712s-1.712 0.766-1.712 1.712v0z"></path>
</symbol>
<symbol id="iconSelect" viewBox="0 0 32 32">
<path d="M10.169 23.049l-7.586-7.586-2.583 2.565 10.169 10.169 21.831-21.831-2.565-2.565-19.265 19.247z"></path>
</symbol>
<symbol id="iconSuper" viewBox="0 0 32 32">
<path d="M5.123 3.2l-5.123 9.124 3.846 3.963h19.177l-7.023 7.219-4.405-4.535h-5.144l9.55 9.829 16-16.476h-27.703l3.052-5.46h17.34l1.762 3.15h4.248l-3.843-6.814z"></path>
</symbol>
<symbol id="iconSQL" viewBox="0 0 32 32">
<path d="M17.6 14.4h-14.4c-1.76 0-3.2-1.44-3.2-3.2v-4.8c0-1.76 1.44-3.2 3.2-3.2h14.4v11.2zM3.2 11.2h11.2v-4.8h-11.2v4.8zM20.8 28.8h-17.6c-1.76 0-3.2-1.44-3.2-3.2v-4.8c0-1.76 1.44-3.2 3.2-3.2h17.6v11.2zM3.2 25.6h14.4v-4.8h-14.4v4.8zM32 11.2h-3.2l3.2-8h-11.2v11.2h3.2v14.4l8-17.6zM4.4 24.4h2.4v-2.4h-2.4v2.4zM4.4 10h2.4v-2.4h-2.4v2.4z"></path>
</symbol>
<symbol id="iconMark" viewBox="0 0 32 32">
<path d="M6.402 19.2l4.8 4.8v8h9.6v-8l4.8-4.8v-8h-19.2v8zM9.602 14.4h12.8v3.472l-4.8 4.8v6.128h-3.2v-6.128l-4.8-4.8v-3.472zM14.402-0h3.2v4.8h-3.2zM2.405 6.198l2.262-2.262 3.395 3.392-2.262 2.264zM23.938 7.331l3.397-3.392 2.261 2.266-3.397 3.392z"></path>
</symbol>
<symbol id="iconEdit" viewBox="0 0 32 32">
<path d="M19.66 10.703l1.635 1.635-16.104 16.104h-1.635v-1.635l16.104-16.104zM26.059 0.002c-0.444 0-0.907 0.178-1.244 0.515l-3.253 3.253 6.666 6.666 3.253-3.253c0.693-0.693 0.693-1.813 0-2.506l-4.159-4.159c-0.355-0.355-0.8-0.515-1.262-0.515zM19.66 5.673l-19.66 19.66v6.666h6.666l19.66-19.66-6.666-6.666z"></path>
</symbol>
<symbol id="iconSplitTB" viewBox="0 0 32 32">
<path d="M24.8 0v6.4h-17.6v-6.4zM4 8v16h24v-16h-24zM24.8 11.2v9.6h-17.6v-9.6h17.6zM24.8 25.6v6.4h-17.6v-6.4z"></path>
</symbol>
<symbol id="iconSplitLR" viewBox="0 0 32 32">
<path d="M0 7.2h6.4v17.6h-6.4zM8 28h16v-24h-16v24zM11.2 7.2h9.6v17.6h-9.6v-17.6zM25.6 7.2h6.4v17.6h-6.4z"></path>
</symbol>
<symbol id="iconSort" viewBox="0 0 32 32">
<path d="M13.268 17.561v-3.122h12.488v3.122h-12.488zM13.268 26.927v-3.122h6.244v3.122h-6.244zM13.268 8.195v-3.122h18.732v3.122h-18.732zM7.024 23.805h3.902l-5.463 5.463-5.463-5.463h3.902v-15.61h-3.902l5.463-5.463 5.463 5.463h-3.902v15.61z"></path>
</symbol>
<symbol id="iconFocus" viewBox="0 0 32 32">
<path d="M3.556 21.333h-3.556v7.111c0 1.956 1.6 3.556 3.556 3.556h7.111v-3.556h-7.111v-7.111zM3.556 3.556h7.111v-3.556h-7.111c-1.956 0-3.556 1.6-3.556 3.556v7.111h3.556v-7.111zM28.444 0h-7.111v3.556h7.111v7.111h3.556v-7.111c0-1.956-1.6-3.556-3.556-3.556zM28.444 28.444h-7.111v3.556h7.111c1.956 0 3.556-1.6 3.556-3.556v-7.111h-3.556v7.111zM16 10.667c-2.951 0-5.333 2.382-5.333 5.333s2.382 5.333 5.333 5.333 5.333-2.382 5.333-5.333-2.382-5.333-5.333-5.333z"></path>
</symbol>
<symbol id="iconDownload" viewBox="0 0 32 32">
<path d="M29.177 11.294h-7.529v-11.294h-11.294v11.294h-7.529l13.176 13.176 13.177-13.177zM14.118 15.059v-11.294h3.765v11.294h2.202l-4.085 4.085-4.085-4.085h2.202zM2.824 28.235h26.353v3.765h-26.353z"></path>
</symbol>
<symbol id="iconExact" viewBox="0 0 32 32">
<path d="M7.643 24.498l-4.595-16.996h4.155l2.959 12.936h0.189l3.399-12.936h4.501l3.462 12.936h0.189l2.99-12.936h4.060l-4.69 16.996h-4.91l-3.273-12.401h-0.189l-3.305 12.401z"></path>
</symbol>
<symbol id="iconRegex" viewBox="0 0 32 32">
<path d="M21.213 22.857q-0.904 0.164-1.725 0.164t-1.725-0.164v-6.159l-4.434 4.352q-1.314-1.068-2.382-2.463l4.352-4.352h-6.159q-0.164-0.904-0.164-1.725t0.164-1.806h6.159l-4.352-4.352q0.575-0.821 1.149-1.314 0.411-0.493 1.232-1.149l4.434 4.352v-6.159q0.904-0.083 1.725-0.083t1.725 0.083v6.159l4.434-4.352q1.314 1.068 2.382 2.463l-4.352 4.352h6.159q0.164 0.985 0.164 1.806t-0.164 1.725h-6.159l4.352 4.352q-0.575 0.821-1.149 1.314-0.411 0.493-1.232 1.149l-4.434-4.352v6.159zM2.001 26.47q0-1.396 1.026-2.422t2.463-1.026 2.463 1.026 1.026 2.463-1.026 2.463-2.463 1.026-2.463-1.026-1.026-2.504z"></path>
</symbol>
<symbol id="iconGit" viewBox="0 0 32 32">
<path d="M31.415 14.581l-13.996-13.996c-0.78-0.78-2.057-0.78-2.838 0l-13.996 13.996c-0.78 0.78-0.78 2.057 0 2.838l13.996 13.996c0.78 0.78 2.057 0.78 2.838 0l13.996-13.996c0.78-0.78 0.78-2.057 0-2.838zM22.522 18.62c-1.355 0-2.453-1.098-2.453-2.453 0-0.001 0-0.002 0-0.003 0-0.3 0.054-0.588 0.153-0.854l-0.006 0.017-3.102-3.102v8.475c0.764 0.416 1.282 1.225 1.282 2.156 0 1.355-1.098 2.453-2.453 2.453s-2.453-1.098-2.453-2.453c0-0.975 0.569-1.817 1.393-2.213v-8.935c-0.822-0.38-1.393-1.21-1.393-2.175 0-0.279 0.050-0.545 0.138-0.794l-3.601-3.601 1.577-1.577 3.66 3.66c0.199-0.054 0.408-0.085 0.624-0.085 1.324 0 2.397 1.073 2.397 2.397 0 0.216-0.031 0.425-0.085 0.624l3.65 3.65c0.201-0.059 0.432-0.094 0.671-0.094h0c1.355 0 2.453 1.098 2.453 2.453s-1.098 2.453-2.453 2.453z"></path>
</symbol>
<symbol id="iconLeft" viewBox="0 0 32 32">
<path d="M25.875 28.25l-12.25-12.25 12.25-12.25-3.75-3.75-16 16 16 16z"></path>
</symbol>
<symbol id="iconMenu" viewBox="0 0 32 32">
<path d="M0 26.667h32v-3.556h-32v3.556zM0 17.778h32v-3.556h-32v3.556zM0 5.333v3.556h32v-3.556h-32z"></path>
</symbol>
<symbol id="iconTags" viewBox="0 0 32 32">
<path d="M31.056 15.328l-14.4-14.4c-0.576-0.576-1.376-0.928-2.256-0.928h-11.2c-1.76 0-3.2 1.44-3.2 3.2v11.2c0 0.88 0.352 1.68 0.944 2.272l14.4 14.4c0.576 0.576 1.376 0.928 2.256 0.928s1.68-0.352 2.256-0.944l11.2-11.2c0.592-0.576 0.944-1.376 0.944-2.256s-0.368-1.696-0.944-2.272zM17.6 28.816l-14.4-14.416v-11.2h11.2v-0.016l14.4 14.4-11.2 11.232z"></path>
<path d="M9.6 7.2c0 1.325-1.075 2.4-2.4 2.4s-2.4-1.075-2.4-2.4c0-1.325 1.075-2.4 2.4-2.4s2.4 1.075 2.4 2.4z"></path>
<path d="M11.040 16.88c0 0.912 0.368 1.712 0.96 2.32l5.6 5.6 5.6-5.6c0.592-0.592 0.96-1.424 0.96-2.32 0-1.808-1.472-3.28-3.28-3.28-0.912 0-1.728 0.368-2.32 0.96l-0.96 0.96-0.96-0.944c-0.592-0.608-1.424-0.976-2.32-0.976-1.808 0-3.28 1.472-3.28 3.28z"></path>
</symbol>
<symbol id="iconRefresh" viewBox="0 0 32 32">
<path d="M16 4.364v-4.364l5.818 5.818-5.818 5.818v-4.364c-4.815 0-8.727 3.913-8.727 8.727 0 1.469 0.364 2.865 1.018 4.073l-2.124 2.124c-1.135-1.789-1.804-3.913-1.804-6.196 0-6.429 5.207-11.636 11.636-11.636zM16 24.727c4.815 0 8.727-3.913 8.727-8.727 0-1.469-0.364-2.865-1.018-4.073l2.124-2.124c1.135 1.789 1.804 3.913 1.804 6.196 0 6.429-5.207 11.636-11.636 11.636v4.364l-5.818-5.818 5.818-5.818v4.364z"></path>
</symbol>
<symbol id="iconLock" viewBox="0 0 32 32">
<path d="M25.143 10.667h-1.524v-3.048c0-4.206-3.413-7.619-7.619-7.619s-7.619 3.413-7.619 7.619v3.048h-1.524c-1.676 0-3.048 1.371-3.048 3.048v15.238c0 1.676 1.371 3.048 3.048 3.048h18.286c1.676 0 3.048-1.371 3.048-3.048v-15.238c0-1.676-1.371-3.048-3.048-3.048zM11.428 7.619c0-2.53 2.042-4.571 4.571-4.571s4.571 2.042 4.571 4.571v3.048h-9.143v-3.048zM25.143 28.952h-18.286v-15.238h18.286v15.238zM16 24.381c1.676 0 3.048-1.371 3.048-3.048s-1.371-3.048-3.048-3.048-3.048 1.371-3.048 3.048 1.371 3.048 3.048 3.048z"></path>
</symbol>
<symbol id="iconAccount" viewBox="0 0 32 32">
<path d="M16 4c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM16 22c5.4 0 11.6 2.58 12 4v2h-24v-1.98c0.4-1.44 6.6-4.020 12-4.020zM16 0c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zM16 18c-5.34 0-16 2.68-16 8v6h32v-6c0-5.32-10.66-8-16-8z"></path>
</symbol>
<symbol id="iconEmbed" viewBox="0 0 32 32">
<path d="M26.182 14.545h-11.636v8.727h11.636v-8.727zM23.273 20.364h-5.818v-2.909h5.818v2.909zM29.091 2.909h-26.182c-1.6 0-2.909 1.28-2.909 2.88v20.393c0 1.6 1.309 2.909 2.909 2.909h26.182c1.6 0 2.909-1.309 2.909-2.909v-20.393c0-1.6-1.309-2.88-2.909-2.88zM29.091 26.211h-26.182v-20.436h26.182v20.436z"></path>
</symbol>
<symbol id="iconImage" viewBox="0 0 32 32">
<path d="M29.091 2.909h-26.182c-1.455 0-2.909 1.455-2.909 2.909v20.364c0 1.6 1.309 2.909 2.909 2.909h26.182c1.455 0 2.909-1.455 2.909-2.909v-20.364c0-1.455-1.455-2.909-2.909-2.909zM29.091 26.065c-0.029 0.044-0.087 0.087-0.116 0.116h-26.065v-20.247l0.116-0.116h25.935c0.044 0.029 0.087 0.087 0.116 0.116v20.131zM14.545 21.105l-3.636-4.378-5.091 6.545h20.364l-6.545-8.727z"></path>
</symbol>
<symbol id="iconMarkdown" viewBox="0 0 32 32">
<path d="M2.875 6c-1.555 0-2.875 1.254-2.875 2.813v14.374c0 1.56 1.32 2.813 2.875 2.813h26.25c1.555 0 2.875-1.254 2.875-2.813v-14.374c0-1.558-1.32-2.813-2.875-2.813zM2.875 8h26.25c0.516 0 0.875 0.383 0.875 0.813v14.374c0 0.43-0.36 0.813-0.875 0.813h-26.25c-0.516 0-0.875-0.383-0.875-0.813v-14.374c0-0.43 0.36-0.812 0.875-0.812zM5 11v10h3v-6.656l3 3.969 3-3.97v6.657h3v-10h-3l-3 4-3-4zM22 11v5h-3l4.5 5 4.5-5h-3v-5z"></path>
</symbol>
<symbol id="iconLanguage" viewBox="0 0 32 32">
<path d="M22.986 19.23h5.408q0.451-2.103 0.451-3.23t-0.451-3.23h-5.408q0.225 1.577 0.225 3.23t-0.225 3.23zM20.131 28.094q1.878-0.601 3.906-2.291t3.080-3.418h-4.732q-0.751 3.005-2.254 5.709zM19.756 19.23q0.225-1.577 0.225-3.23t-0.225-3.23h-7.512q-0.225 1.577-0.225 3.23t0.225 3.23h7.512zM16 28.77q2.103-3.080 3.080-6.385h-6.16q0.977 3.305 3.080 6.385zM9.615 9.615q0.901-3.23 2.254-5.709-1.878 0.601-3.944 2.291t-3.042 3.418h4.732zM4.883 22.385q0.977 1.728 3.042 3.418t3.944 2.291q-1.502-2.704-2.254-5.709h-4.732zM3.606 19.23h5.408q-0.225-1.577-0.225-3.23t0.225-3.23h-5.408q-0.451 2.103-0.451 3.23t0.451 3.23zM16 3.23q-2.103 3.080-3.080 6.385h6.16q-0.977-3.305-3.080-6.385zM27.117 9.615q-1.052-1.728-3.080-3.418t-3.906-2.291q1.352 2.479 2.254 5.709h4.732zM16 0q6.61 0 11.305 4.695t4.695 11.305-4.695 11.305-11.305 4.695-11.305-4.695-4.695-11.305 4.695-11.305 11.305-4.695z"></path>
</symbol>
<symbol id="iconBookmark" viewBox="0 0 32 32">
<path d="M24.889 0h-17.778c-1.956 0-3.556 1.6-3.556 3.556v28.444l12.444-5.333 12.444 5.333v-28.444c0-1.956-1.6-3.556-3.556-3.556zM24.889 26.667l-8.889-3.876-8.889 3.876v-23.111h17.778v23.111z"></path>
</symbol>
<symbol id="iconH1" viewBox="0 0 32 32">
<path d="M14.031 29.089v-11.635h-11.122v11.635h-2.909v-26.179h2.909v11.635h11.12v-11.635h2.909v26.179z"></path>
<path d="M26.588 29.090v-0.013h-3.763v-2.182h3.763v-11.379c-1.028 0.966-2.294 1.692-3.7 2.081l-0.062 0.015v-2.515c0.881-0.243 1.65-0.577 2.36-1.001l-0.043 0.024c0.789-0.472 1.469-1.020 2.064-1.649l0.004-0.004h1.881v14.428h2.909v2.182h-2.909v0.013z"></path>
</symbol>
<symbol id="iconH2" viewBox="0 0 32 32">
<path d="M20.708 29.091c-0-0.029-0.001-0.064-0.001-0.099 0-1.638 0.619-3.132 1.635-4.26l-0.005 0.006c1.091-1.126 2.302-2.125 3.614-2.981l0.080-0.049c0.874-0.596 1.639-1.223 2.344-1.91l-0.004 0.004c0.676-0.71 1.1-1.665 1.124-2.72l0-0.005c0.005-0.061 0.008-0.132 0.008-0.204 0-0.735-0.292-1.402-0.766-1.891l0.001 0.001c-0.543-0.44-1.243-0.706-2.005-0.706-0.078 0-0.155 0.003-0.231 0.008l0.010-0.001c-0.053-0.004-0.115-0.006-0.177-0.006-0.881 0-1.664 0.42-2.16 1.070l-0.005 0.007c-0.549 0.803-0.876 1.794-0.876 2.862 0 0.068 0.001 0.135 0.004 0.202l-0-0.010h-2.502c-0.003-0.070-0.004-0.151-0.004-0.234 0-1.625 0.602-3.11 1.595-4.244l-0.006 0.007c0.98-1.104 2.404-1.797 3.989-1.797 0.081 0 0.161 0.002 0.241 0.005l-0.011-0c0.070-0.003 0.152-0.005 0.235-0.005 1.4 0 2.678 0.522 3.65 1.383l-0.006-0.005c0.919 0.862 1.492 2.084 1.492 3.44 0 0.051-0.001 0.102-0.002 0.153l0-0.007c-0.017 1.529-0.624 2.913-1.602 3.938l0.002-0.002c-1.012 0.966-2.122 1.848-3.308 2.624l-0.088 0.054c-1.337 0.743-2.414 1.812-3.146 3.102l-0.021 0.040h8.195v2.23zM13.943 29.091v-11.636h-11.034v11.636h-2.909v-26.182h2.909v11.636h11.033v-11.636h2.909v26.182z"></path>
</symbol>
<symbol id="iconH3" viewBox="0 0 32 32">
<path d="M22.106 27.946c-1.163-1.060-1.899-2.571-1.928-4.255l-0-0.005h2.525c-0.001 0.025-0.001 0.054-0.001 0.084 0 0.985 0.414 1.872 1.077 2.499l0.002 0.002c0.579 0.522 1.349 0.841 2.193 0.841 0.051 0 0.102-0.001 0.152-0.003l-0.007 0c0.041 0.002 0.088 0.003 0.136 0.003 0.93 0 1.778-0.355 2.414-0.936l-0.003 0.003c0.525-0.515 0.851-1.232 0.851-2.024 0-0.017-0-0.034-0-0.050l0 0.003c0.005-0.062 0.008-0.135 0.008-0.208 0-0.782-0.349-1.482-0.901-1.953l-0.004-0.003c-0.606-0.444-1.366-0.711-2.188-0.711-0.094 0-0.187 0.003-0.279 0.010l0.012-0.001h-1.193v-1.908h1.172c0.070 0.005 0.152 0.008 0.235 0.008 0.768 0 1.477-0.257 2.043-0.69l-0.008 0.006c0.483-0.449 0.785-1.087 0.785-1.797 0-0.047-0.001-0.095-0.004-0.141l0 0.006c0.003-0.044 0.004-0.095 0.004-0.147 0-0.686-0.274-1.307-0.717-1.762l0 0.001c-0.539-0.428-1.229-0.686-1.98-0.686-0.087 0-0.173 0.003-0.258 0.010l0.011-0.001c-0.059-0.004-0.129-0.006-0.198-0.006-0.81 0-1.551 0.294-2.123 0.781l0.005-0.004c-0.585 0.595-0.957 1.403-0.987 2.296l-0 0.006h-2.455c0.059-1.538 0.745-2.905 1.808-3.86l0.005-0.004c0.971-0.857 2.255-1.379 3.66-1.379 0.094 0 0.187 0.002 0.279 0.007l-0.013-0.001c0.094-0.005 0.204-0.008 0.315-0.008 1.378 0 2.649 0.458 3.669 1.231l-0.015-0.011c0.903 0.769 1.472 1.907 1.472 3.178 0 0.059-0.001 0.117-0.004 0.175l0-0.008c0.002 0.050 0.004 0.108 0.004 0.167 0 1.673-1.141 3.079-2.687 3.484l-0.025 0.006c0.881 0.248 1.629 0.727 2.199 1.367l0.004 0.005c0.515 0.613 0.827 1.411 0.827 2.282 0 0.050-0.001 0.099-0.003 0.148l0-0.007c0.002 0.045 0.002 0.099 0.002 0.152 0 1.425-0.6 2.709-1.56 3.615l-0.002 0.002c-1.086 0.928-2.507 1.494-4.060 1.494-0.081 0-0.162-0.002-0.242-0.005l0.012 0c-0.088 0.005-0.191 0.007-0.295 0.007-1.421 0-2.727-0.491-3.758-1.312l0.012 0.009zM13.941 29.255v-11.966h-11.033v11.635h-2.909v-26.178h2.909v11.635h11.033v-11.309h2.909v26.178z"></path>
</symbol>
<symbol id="iconH4" viewBox="0 0 32 32">
<path d="M27.14 29.093v-3.608h-7.988v-2.4l8.080-10.62h2.296v10.993h2.473v2.027h-2.473v3.608zM21.194 23.459h5.946v-7.779h-0.068zM14.035 29.093v-11.639h-11.125v11.639h-2.91v-26.187h2.91v11.639h11.125v-11.639h2.91v26.187z"></path>
</symbol>
<symbol id="iconH5" viewBox="0 0 32 32">
<path d="M31.226 12.293v2.406h-7.967l-0.467 4.577h0.070c0.484-0.493 1.078-0.876 1.742-1.111l0.032-0.010c0.579-0.222 1.249-0.351 1.949-0.351 0.029 0 0.058 0 0.087 0.001l-0.004-0c0.058-0.002 0.126-0.004 0.194-0.004 1.425 0 2.713 0.589 3.633 1.536l0.001 0.001c0.933 1.043 1.504 2.427 1.504 3.944 0 0.108-0.003 0.215-0.009 0.321l0.001-0.015c0.001 0.039 0.002 0.085 0.002 0.132 0 1.652-0.762 3.127-1.953 4.092l-0.010 0.008c-1.127 0.917-2.58 1.472-4.163 1.472-0.048 0-0.095-0-0.143-0.002l0.007 0c-0.047 0.001-0.101 0.002-0.157 0.002-1.41 0-2.712-0.465-3.76-1.251l0.016 0.012c-1.151-0.85-1.909-2.175-1.984-3.68l-0-0.011h2.685c0.056 0.827 0.462 1.55 1.069 2.028l0.006 0.005c0.557 0.368 1.24 0.588 1.974 0.588 0.061 0 0.122-0.002 0.182-0.005l-0.009 0c0.029 0.001 0.063 0.001 0.097 0.001 0.924 0 1.767-0.346 2.406-0.915l-0.004 0.003c0.62-0.585 1.006-1.413 1.006-2.331 0-0.043-0.001-0.086-0.003-0.128l0 0.006c0.003-0.060 0.005-0.129 0.005-0.199 0-0.928-0.328-1.78-0.874-2.445l0.005 0.007c-0.564-0.596-1.361-0.968-2.244-0.968-0.083 0-0.166 0.003-0.247 0.010l0.011-0.001c-0.041-0.001-0.090-0.002-0.138-0.002-0.627 0-1.222 0.139-1.755 0.387l0.026-0.011c-0.581 0.28-1.046 0.723-1.346 1.27l-0.008 0.016h-2.54l0.91-9.39z"></path>
<path d="M14.076 2.705v11.673h-11.158v-11.673h-2.918v26.265h2.918v-11.673h11.158v11.673h2.918v-26.265z"></path>
</symbol>
<symbol id="iconH6" viewBox="0 0 32 32">
<path d="M14.067 2.712v11.666h-11.151v-11.666h-2.916v26.248h2.916v-11.666h11.151v11.666h2.916v-26.248z"></path>
<path d="M31.669 16.518h-2.661c-0.178-1.318-1.295-2.323-2.647-2.323-0.087 0-0.173 0.004-0.258 0.012l0.011-0.001c-0.003 0-0.006 0-0.010 0-1.151 0-2.149 0.655-2.642 1.612l-0.008 0.017c-0.606 1.017-0.964 2.243-0.964 3.553 0 0.105 0.002 0.209 0.007 0.313l-0-0.015v0.21h0.117c0.432-0.657 1.025-1.176 1.724-1.507l0.026-0.011c0.615-0.296 1.338-0.469 2.101-0.469 0.049 0 0.099 0.001 0.148 0.002l-0.007-0c0.070-0.003 0.153-0.005 0.236-0.005 1.449 0 2.756 0.603 3.685 1.573l0.002 0.002c0.914 1.005 1.474 2.347 1.474 3.82 0 0.077-0.002 0.153-0.005 0.229l0-0.011c0.001 0.045 0.002 0.098 0.002 0.151 0 1.564-0.654 2.975-1.703 3.976l-0.002 0.002c-1.048 1.011-2.476 1.635-4.049 1.635-0.046 0-0.091-0.001-0.137-0.002l0.007 0c-0.088 0.005-0.192 0.008-0.295 0.008-1.797 0-3.391-0.869-4.385-2.21l-0.010-0.015c-1.008-1.518-1.609-3.383-1.609-5.388 0-0.208 0.006-0.414 0.019-0.619l-0.001 0.028c-0.009-0.166-0.013-0.36-0.013-0.556 0-2.24 0.639-4.33 1.745-6.098l-0.028 0.048c0.939-1.523 2.599-2.522 4.491-2.522 0.037 0 0.075 0 0.112 0.001l-0.006-0q4.904 0 5.532 4.553zM23.636 21.062c-0.54 0.618-0.87 1.433-0.87 2.325 0 0.077 0.002 0.154 0.007 0.23l-0.001-0.010c-0.003 0.054-0.005 0.117-0.005 0.181 0 0.897 0.348 1.712 0.916 2.319l-0.002-0.002c0.569 0.564 1.351 0.912 2.216 0.912 0.041 0 0.083-0.001 0.123-0.002l-0.006 0c0.038 0.002 0.084 0.003 0.129 0.003 0.881 0 1.675-0.374 2.232-0.972l0.002-0.002c0.567-0.628 0.914-1.463 0.914-2.38 0-0.049-0.001-0.098-0.003-0.146l0 0.007c0.002-0.045 0.003-0.097 0.003-0.149 0-0.884-0.329-1.691-0.871-2.306l0.003 0.004c-0.574-0.579-1.369-0.937-2.248-0.937-0.055 0-0.11 0.001-0.164 0.004l0.008-0c-0.058-0.004-0.126-0.006-0.195-0.006-0.86 0-1.635 0.36-2.184 0.938l-0.001 0.001z"></path>
</symbol>
<symbol id="iconMath" viewBox="0 0 32 32">
<path d="M26.343 32c1.668 0 2.748-1.032 2.748-2.602s-1.080-2.625-2.725-2.625h-15.402v-0.282l5.636-8.018c0.891-1.266 1.173-1.945 1.173-2.766 0-0.843-0.327-1.593-1.339-2.977l-5.236-7.243v-0.259h15.098c1.575 0 2.677-1.055 2.677-2.602 0-1.545-1.102-2.625-2.677-2.625h-19.864c-2.114 0-3.359 1.077-3.359 2.932 0 0.936 0.423 1.85 1.455 3.257l7.023 9.727-7.068 10.011c-1.361 1.97-1.573 2.439-1.573 3.352 0 1.689 1.291 2.72 3.43 2.72h20.005z"></path>
</symbol>
<symbol id="iconClose" viewBox="0 0 32 32">
<path d="M32 3.221l-12.779 12.779 12.779 12.779-3.221 3.221-12.779-12.779-12.779 12.779-3.221-3.221 12.779-12.779-12.779-12.779 3.221-3.221 12.779 12.779 12.779-12.779z"></path>
</symbol>
<symbol id="iconRestore" viewBox="0 0 32 32">
<path d="M26.812 8.947h-25.835c-0.538 0.003-0.974 0.438-0.977 0.977v16.399c0.005 0.535 0.441 0.968 0.977 0.968 0 0 0 0 0 0h25.835c0.534-0.003 0.967-0.434 0.972-0.967v-16.399c-0.003-0.537-0.436-0.972-0.972-0.977h-0zM26.121 25.682h-24.499v-15.108h24.499z"></path>
<path d="M31.217 4.712h-25.485c-0.018-0.001-0.040-0.002-0.061-0.002-0.453 0-0.82 0.367-0.82 0.82s0.367 0.82 0.82 0.82c0.022 0 0.043-0.001 0.064-0.002l-0.003 0h24.678v15.578c0.032 0.413 0.376 0.737 0.795 0.737s0.762-0.323 0.795-0.734l0-0.003v-16.422c-0.003-0.433-0.351-0.785-0.783-0.793h-0.001z"></path>
</symbol>
<symbol id="iconFiles" viewBox="0 0 32 32">
<path d="M31.444 14.456v-12.356h-10.811v4.633h-9.267v-4.633h-10.811v12.356h10.811v-4.633h3.089v15.444h6.178v4.633h10.811v-12.356h-10.811v4.633h-3.089v-12.356h3.089v4.633h10.811zM8.278 11.367h-4.633v-6.178h4.633v6.178zM23.722 20.633h4.633v6.178h-4.633v-6.178zM23.722 5.189h4.633v6.178h-4.633v-6.178z"></path>
</symbol>
<symbol id="iconFilesRoot" viewBox="0 0 32 32">
<path d="M29.072 25.43v-18.86h-13.072v18.86h13.072zM29.072 3.643q1.157 0 2.043 0.885t0.885 2.043v18.86q0 1.157-0.885 2.043t-2.043 0.885h-26.145q-1.157 0-2.043-0.885t-0.885-2.043v-18.86q0-1.157 0.885-2.043t2.043-0.885h26.145zM17.43 18.894h10.213v2.179h-10.213v-2.179zM17.43 11.677h10.213v2.179h-10.213v-2.179zM17.43 15.285h10.213v2.179h-10.213v-2.179z"></path>
</symbol>
<symbol id="iconMax" viewBox="0 0 32 32">
<path d="M29.285 2.715v26.572h-26.572v-26.572h26.572zM31.5 0.5h-31v31h31v-31z"></path>
</symbol>
<symbol id="iconMin" viewBox="0 0 32 32">
<path d="M1.333 14.667h29.333q1.333 0 1.333 1.333v0q0 1.333-1.333 1.333h-29.333q-1.333 0-1.333-1.333v0q0-1.333 1.333-1.333z"></path>
</symbol>
<symbol id="iconSettings" viewBox="0 0 32 32">
<path d="M27.892 17.568c0.064-0.512 0.112-1.024 0.112-1.568s-0.048-1.056-0.112-1.568l3.376-2.64c0.304-0.24 0.384-0.672 0.192-1.024l-3.2-5.536c-0.144-0.256-0.416-0.4-0.704-0.4-0.096 0-0.192 0.016-0.272 0.048l-3.984 1.6c-0.832-0.64-1.728-1.168-2.704-1.568l-0.608-4.24c-0.048-0.384-0.384-0.672-0.784-0.672h-6.4c-0.4 0-0.736 0.288-0.784 0.672l-0.608 4.24c-0.976 0.4-1.872 0.944-2.704 1.568l-3.984-1.6c-0.096-0.032-0.192-0.048-0.288-0.048-0.272 0-0.544 0.144-0.688 0.4l-3.2 5.536c-0.208 0.352-0.112 0.784 0.192 1.024l3.376 2.64c-0.064 0.512-0.112 1.040-0.112 1.568s0.048 1.056 0.112 1.568l-3.376 2.64c-0.304 0.24-0.384 0.672-0.192 1.024l3.2 5.536c0.144 0.256 0.416 0.4 0.704 0.4 0.096 0 0.192-0.016 0.272-0.048l3.984-1.6c0.832 0.64 1.728 1.168 2.704 1.568l0.608 4.24c0.048 0.384 0.384 0.672 0.784 0.672h6.4c0.4 0 0.736-0.288 0.784-0.672l0.608-4.24c0.976-0.4 1.872-0.944 2.704-1.568l3.984 1.6c0.096 0.032 0.192 0.048 0.288 0.048 0.272 0 0.544-0.144 0.688-0.4l3.2-5.536c0.192-0.352 0.112-0.784-0.192-1.024l-3.376-2.64zM24.724 14.832c0.064 0.496 0.080 0.832 0.080 1.168s-0.032 0.688-0.080 1.168l-0.224 1.808 1.424 1.12 1.728 1.344-1.12 1.936-2.032-0.816-1.664-0.672-1.44 1.088c-0.688 0.512-1.344 0.896-2 1.168l-1.696 0.688-0.256 1.808-0.32 2.16h-2.24l-0.304-2.16-0.256-1.808-1.696-0.688c-0.688-0.288-1.328-0.656-1.968-1.136l-1.456-1.12-1.696 0.688-2.032 0.816-1.12-1.936 1.728-1.344 1.424-1.12-0.224-1.808c-0.048-0.496-0.080-0.864-0.080-1.184s0.032-0.688 0.080-1.168l0.224-1.808-1.424-1.12-1.728-1.344 1.12-1.936 2.032 0.816 1.664 0.672 1.44-1.088c0.688-0.512 1.344-0.896 2-1.168l1.696-0.688 0.256-1.808 0.32-2.16h2.224l0.304 2.16 0.256 1.808 1.696 0.688c0.688 0.288 1.328 0.656 1.968 1.136l1.456 1.12 1.696-0.688 2.032-0.816 1.12 1.936-1.712 1.36-1.424 1.12 0.224 1.808zM16.004 9.6c-3.536 0-6.4 2.864-6.4 6.4s2.864 6.4 6.4 6.4 6.4-2.864 6.4-6.4-2.864-6.4-6.4-6.4zM16.004 19.2c-1.76 0-3.2-1.44-3.2-3.2s1.44-3.2 3.2-3.2 3.2 1.44 3.2 3.2-1.44 3.2-3.2 3.2z"></path>
</symbol>
<symbol id="iconFolder" viewBox="0 0 32 32">
<path d="M11.472 6.4l3.2 3.2h14.128v16h-25.6v-19.2h8.272zM12.8 3.2h-9.6c-1.76 0-3.184 1.44-3.184 3.2l-0.016 19.2c0 1.76 1.44 3.2 3.2 3.2h25.6c1.76 0 3.2-1.44 3.2-3.2v-16c0-1.76-1.44-3.2-3.2-3.2h-12.8l-3.2-3.2z"></path>
</symbol>
<symbol id="iconSearch" viewBox="0 0 32 32">
<path d="M11.925 20.161q3.432 0 5.834-2.402t2.402-5.834-2.402-5.834-5.834-2.402-5.834 2.402-2.402 5.834 2.402 5.834 5.834 2.402zM22.906 20.161l9.094 9.094-2.745 2.745-9.094-9.094v-1.458l-0.515-0.515q-3.26 2.831-7.721 2.831-4.976 0-8.45-3.432t-3.475-8.408 3.475-8.45 8.45-3.475 8.407 3.475 3.432 8.45q0 1.802-0.858 4.075t-1.973 3.646l0.515 0.515h1.458z"></path>
</symbol>
<symbol id="iconFile" viewBox="0 0 32 32">
<path d="M19.2 0h-12.8c-1.76 0-3.184 1.44-3.184 3.2l-0.016 25.6c0 1.76 1.424 3.2 3.184 3.2h19.216c1.76 0 3.2-1.44 3.2-3.2v-19.2l-9.6-9.6zM6.4 28.8v-25.6h11.2v8h8v17.6h-19.2z"></path>
</symbol>
<symbol id="iconCloud" viewBox="0 0 32 32">
<path d="M16 8c3.493 0 6.507 2.48 7.187 5.907l0.4 2 2.040 0.147c2.080 0.133 3.707 1.88 3.707 3.947 0 2.2-1.8 4-4 4h-17.333c-2.947 0-5.333-2.387-5.333-5.333 0-2.733 2.040-5.013 4.747-5.293l1.427-0.147 0.667-1.267c1.267-2.44 3.747-3.96 6.493-3.96zM16 5.333c-3.853 0-7.2 2.187-8.867 5.387-4.013 0.427-7.133 3.827-7.133 7.947 0 4.413 3.587 8 8 8h17.333c3.68 0 6.667-2.987 6.667-6.667 0-3.52-2.733-6.373-6.2-6.613-0.907-4.6-4.947-8.053-9.8-8.053z"></path>
</symbol>
<symbol id="iconRight" viewBox="0 0 32 32">
<path d="M6.125 28.25l12.25-12.25-12.25-12.25 3.75-3.75 16 16-16 16z"></path>
</symbol>
<symbol id="iconHeart" viewBox="0 0 32 32">
<path d="M16 30.68l-2.32-2.112c-8.24-7.472-13.68-12.4-13.68-18.448 0-4.928 3.872-8.8 8.8-8.8 2.784 0 5.456 1.296 7.2 3.344 1.744-2.048 4.416-3.344 7.2-3.344 4.928 0 8.8 3.872 8.8 8.8 0 6.048-5.44 10.976-13.68 18.464l-2.32 2.096z"></path>
</symbol>
<symbol id="iconGlobalGraph" viewBox="0 0 32 32">
<path d="M6.737 12.632c-3.722 0-6.737 3.015-6.737 6.737s3.015 6.737 6.737 6.737 6.737-3.015 6.737-6.737-3.015-6.737-6.737-6.737zM6.737 22.737c-1.853 0-3.368-1.516-3.368-3.368s1.516-3.368 3.368-3.368 3.368 1.516 3.368 3.368-1.516 3.368-3.368 3.368zM20.227 21.053c-2.779 0-5.053 2.274-5.053 5.053s2.274 5.053 5.053 5.053 5.053-2.274 5.053-5.053-2.274-5.053-5.053-5.053zM20.227 27.789c-0.926 0-1.684-0.758-1.684-1.684s0.758-1.684 1.684-1.684 1.684 0.758 1.684 1.684-0.758 1.684-1.684 1.684zM22.737 0.842c-5.103 0-9.263 4.16-9.263 9.263s4.16 9.263 9.263 9.263 9.263-4.16 9.263-9.263-4.16-9.263-9.263-9.263zM22.737 16c-3.251 0-5.895-2.644-5.895-5.895s2.644-5.895 5.895-5.895 5.895 2.644 5.895 5.895-2.644 5.895-5.895 5.895z"></path>
</symbol>
<symbol id="iconGraph" viewBox="0 0 32 32">
<path d="M12.8 20.8c0 3.535-2.865 6.4-6.4 6.4s-6.4-2.865-6.4-6.4c0-3.535 2.865-6.4 6.4-6.4s6.4 2.865 6.4 6.4z"></path>
<path d="M25.6 28c0 2.209-1.791 4-4 4s-4-1.791-4-4c0-2.209 1.791-4 4-4s4 1.791 4 4z"></path>
<path d="M32 9.6c0 5.302-4.298 9.6-9.6 9.6s-9.6-4.298-9.6-9.6c0-5.302 4.298-9.6 9.6-9.6s9.6 4.298 9.6 9.6z"></path>
</symbol>
<symbol id="iconParagraph" viewBox="0 0 32 32">
<path d="M16 3.765v28.235h-3.765v-9.412c-6.238 0-11.294-5.057-11.294-11.294s5.057-11.294 11.294-11.294v0h18.824v3.765h-5.647v28.235h-3.765v-28.235h-5.647zM12.235 3.765c-0 0-0 0-0.001 0-4.158 0-7.529 3.371-7.529 7.529s3.371 7.529 7.529 7.529c0 0 0 0 0.001 0h-0v-15.059z"></path>
</symbol>
<symbol id="iconHeadings" viewBox="0 0 32 32">
<path d="M1.050 0.007h6.279v31.993h-6.279v-31.993z"></path>
<path d="M24.671 0h6.279v31.993h-6.279v-31.993z"></path>
<path d="M5.159 12.845h21.683v6.317h-21.683v-6.317z"></path>
</symbol>
<symbol id="iconBefore" viewBox="0 0 32 32">
<path d="M1.462 26.507h21.543v-3.276h-21.543v3.276z"></path>
<path d="M1.462 9.928h16.48v-3.276h-16.48v3.276z"></path>
<path d="M1.462 18.217h21.543v-3.276h-21.543v3.276z"></path>
<path d="M24.366 8.29l6.171-5.952-2.43-2.338-8.619 8.29 8.619 8.29 2.43-2.337-6.171-5.953z"></path>
</symbol>
<symbol id="iconAfter" viewBox="0 0 32 32">
<path d="M1.462 5.493h21.543v3.276h-21.543v-3.276z"></path>
<path d="M1.462 22.072h16.48v3.276h-16.48v-3.276z"></path>
<path d="M1.462 13.783h21.543v3.276h-21.543v-3.276z"></path>
<path d="M24.366 23.71l6.171 5.952-2.43 2.338-8.619-8.29 8.619-8.29 2.43 2.337-6.171 5.953z"></path>
</symbol>
<symbol id="iconInsertLeft" viewBox="0 0 32 32">
<path d="M30.587 0v23.71h-3.606v-23.71h3.606z"></path>
<path d="M12.34 0v18.138h-3.606v-18.138h3.606z"></path>
<path d="M21.463 0v23.71h-3.606v-23.71h3.606z"></path>
<path d="M10.537 25.208l-6.55 6.792-2.573-2.675 9.123-9.486 9.123 9.486-2.572 2.675-6.551-6.792z"></path>
</symbol>
<symbol id="iconInsertRight" viewBox="0 0 32 32">
<path d="M1.413 0v23.71h3.606v-23.71h-3.606z"></path>
<path d="M19.66 0v18.138h3.606v-18.138h-3.606z"></path>
<path d="M10.537 0v23.71h3.606v-23.71h-3.606z"></path>
<path d="M21.463 25.208l6.55 6.792 2.573-2.675-9.123-9.486-9.123 9.486 2.572 2.675 6.551-6.792z"></path>
</symbol>
<symbol id="iconDeleteColumn" viewBox="0 0 32 32">
<path d="M5.279 0v23.265h3.538v-23.265h-3.538z"></path>
<path d="M23.183 0v23.265h3.538v-23.265h-3.538z"></path>
<path d="M14.231 0v17.797h3.538v-17.797h-3.538z"></path>
<path d="M16 28.387l3.613 3.613 2.023-2.023-3.613-3.613 3.613-3.613-2.023-2.023-3.613 3.613-3.613-3.613-2.023 2.023 3.613 3.613-3.613 3.613 2.023 2.023 3.613-3.613z"></path>
</symbol>
<symbol id="iconDeleteRow" viewBox="0 0 32 32">
<path d="M0 5.279h23.265v3.538h-23.265v-3.538z"></path>
<path d="M0 23.183h23.265v3.538h-23.265v-3.538z"></path>
<path d="M0 14.231h17.797v3.538h-17.797v-3.538z"></path>
<path d="M28.387 16l3.613 3.613-2.023 2.023-3.613-3.613-3.613 3.613-2.023-2.023 3.613-3.613-3.613-3.613 2.023-2.023 3.613 3.613 3.613-3.613 2.023 2.023-3.613 3.613z"></path>
</symbol>
<symbol id="iconCode" viewBox="0 0 32 32">
<path d="M9.946 8.501l-2.204-1.832-7.742 9.331 7.742 9.331 2.204-1.832-6.225-7.499 6.225-7.499zM8.844 17.431h2.862v-2.862h-2.862v2.862zM23.156 14.569h-2.862v2.862h2.862v-2.862zM14.569 17.431h2.862v-2.862h-2.862v2.862zM24.258 6.669l-2.204 1.832 6.225 7.499-6.225 7.499 2.204 1.832 7.742-9.331-7.742-9.331z"></path>
</symbol>
<symbol id="iconTable" viewBox="0 0 32 32">
<path d="M22.801 2.286h-22.801v27.429h32v-27.429h-9.199zM19.372 5.714v4.571h-6.801v-4.571h6.801zM19.372 13.714v4.571h-6.801v-4.571h6.801zM3.429 5.714h5.714v4.571h-5.714v-4.571zM3.429 13.714h5.714v4.571h-5.714v-4.571zM3.429 26.286v-4.571h5.714v4.571h-5.714zM12.571 26.286v-4.571h6.801v4.571h-6.801zM28.571 26.286h-5.77v-4.571h5.77v4.571zM28.571 18.286h-5.77v-4.571h5.77v4.571zM22.801 10.286v-4.571h5.77v4.571h-5.77z"></path>
</symbol>
<symbol id="iconExport" viewBox="0 0 32 32">
<path d="M28.444 28.444h-24.889v-24.889h12.444v-3.556h-12.444c-1.973 0-3.556 1.6-3.556 3.556v24.889c0 1.956 1.582 3.556 3.556 3.556h24.889c1.956 0 3.556-1.6 3.556-3.556v-12.444h-3.556v12.444zM19.556 0v3.556h6.382l-17.476 17.476 2.507 2.507 17.476-17.476v6.382h3.556v-12.444h-12.444z"></path>
</symbol>
<symbol id="iconQuote" viewBox="0 0 32 32">
<path d="M27.769 26.667h-9.316l3.556-7.111h-4.231v-14.222h14.222v12.871l-4.231 8.462zM24.213 23.111h1.351l2.88-5.76v-8.462h-7.111v7.111h6.436l-3.556 7.111zM9.991 26.667h-9.316l3.556-7.111h-4.231v-14.222h14.222v12.871l-4.231 8.462zM6.436 23.111h1.351l2.88-5.76v-8.462h-7.111v7.111h6.436l-3.556 7.111z"></path>
</symbol>
<symbol id="iconStrike" viewBox="0 0 32 32">
<path d="M12.444 29.333h7.111v-5.333h-7.111v5.333zM3.556 2.667v5.333h8.889v5.333h7.111v-5.333h8.889v-5.333h-24.889zM0 20.444h32v-3.556h-32v3.556z"></path>
</symbol>
<symbol id="iconLine" viewBox="0 0 32 32">
<path d="M0 14h32v4h-32v-4z"></path>
</symbol>
<symbol id="iconBoth" viewBox="0 0 32 32">
<path d="M2.909 3.636h26.182c1.6 0 2.909 1.309 2.909 2.909v18.909c0 1.6-1.309 2.909-2.909 2.909h-26.182c-1.6 0-2.909-1.309-2.909-2.909v-18.909c0-1.6 1.309-2.909 2.909-2.909zM29.091 25.455v-18.909h-11.636v18.909h11.636zM2.909 25.455h11.636v-18.909h-11.636v18.909zM13.091 11.636h-8.727v2.182h8.727zM13.091 15.273h-8.727v2.182h8.727zM13.091 18.909h-8.727v2.182h8.727z"></path>
</symbol>
<symbol id="iconCopy" viewBox="0 0 32 32">
<path d="M22.545-0h-17.455c-1.6 0-2.909 1.309-2.909 2.909v20.364h2.909v-20.364h17.455v-2.909zM26.909 5.818h-16c-1.6 0-2.909 1.309-2.909 2.909v20.364c0 1.6 1.309 2.909 2.909 2.909h16c1.6 0 2.909-1.309 2.909-2.909v-20.364c0-1.6-1.309-2.909-2.909-2.909zM26.909 29.091h-16v-20.364h16v20.364z"></path>
</symbol>
<symbol id="iconTrashcan" viewBox="0 0 32 32">
<path d="M23.111 10.667v17.778h-14.222v-17.778h14.222zM20.444 0h-8.889l-1.778 1.778h-6.222v3.556h24.889v-3.556h-6.222l-1.778-1.778zM26.667 7.111h-21.333v21.333c0 1.956 1.6 3.556 3.556 3.556h14.222c1.956 0 3.556-1.6 3.556-3.556v-21.333z"></path>
</symbol>
<symbol id="iconMore" viewBox="0 0 32 32">
<path d="M4 12c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zM28 12c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zM16 12c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z"></path>
</symbol>
<symbol id="iconUpload" viewBox="0 0 32 32">
<path d="M10.353 24.471h11.294v-11.294h7.529l-13.177-13.177-13.177 13.177h7.529v11.294zM16 5.327l4.085 4.085h-2.202v11.294h-3.765v-11.294h-2.202l4.085-4.085zM2.824 28.235h26.353v3.765h-26.353z"></path>
</symbol>
<symbol id="iconBug" viewBox="0 0 32 32">
<path d="M30.222 8.889h-4.996c-0.8-1.387-1.902-2.578-3.236-3.484l2.898-2.898-2.507-2.507-3.858 3.858c-0.818-0.196-1.653-0.302-2.524-0.302s-1.707 0.107-2.507 0.302l-3.876-3.858-2.507 2.507 2.88 2.898c-1.316 0.907-2.418 2.098-3.218 3.484h-4.996v3.556h3.716c-0.089 0.587-0.16 1.173-0.16 1.778v1.778h-3.556v3.556h3.556v1.778c0 0.604 0.071 1.191 0.16 1.778h-3.716v3.556h4.996c1.849 3.182 5.28 5.333 9.227 5.333s7.378-2.151 9.227-5.333h4.996v-3.556h-3.716c0.089-0.587 0.16-1.173 0.16-1.778v-1.778h3.556v-3.556h-3.556v-1.778c0-0.604-0.071-1.191-0.16-1.778h3.716v-3.556zM23.111 16v5.333c0 0.391-0.053 0.836-0.124 1.244l-0.178 1.156-0.658 1.156c-1.28 2.204-3.627 3.556-6.151 3.556s-4.871-1.369-6.151-3.556l-0.658-1.138-0.178-1.156c-0.071-0.409-0.124-0.853-0.124-1.262v-7.111c0-0.409 0.053-0.853 0.124-1.244l0.178-1.156 0.658-1.156c0.533-0.924 1.28-1.724 2.151-2.329l1.013-0.693 1.316-0.32c0.551-0.142 1.12-0.213 1.671-0.213 0.569 0 1.12 0.071 1.689 0.213l1.209 0.284 1.084 0.747c0.889 0.604 1.618 1.387 2.151 2.329l0.676 1.156 0.178 1.156c0.071 0.391 0.124 0.836 0.124 1.227v1.778zM12.444 19.556h7.111v3.556h-7.111zM12.444 12.445h7.111v3.556h-7.111z"></path>
</symbol>
<symbol id="iconContract" viewBox="0 0 32 32">
<path d="M32 2.256l-8.464 8.464 5.264 5.28h-12.8v-12.8l5.264 5.264 8.48-8.464 2.256 2.256zM2.256 32l8.464-8.464 5.28 5.264v-12.8h-12.8l5.264 5.264-8.464 8.48 2.256 2.256z"></path>
</symbol>
<symbol id="iconInlineCode" viewBox="0 0 32 32">
<path d="M11.84 23.36l-7.36-7.36 7.36-7.36-2.24-2.24-9.6 9.6 9.6 9.6 2.24-2.24zM20.16 23.36l7.36-7.36-7.36-7.36 2.24-2.24 9.6 9.6-9.6 9.6-2.24-2.24z"></path>
</symbol>
<symbol id="iconDown" viewBox="0 0 32 32">
<path d="M3.76 6.12l12.24 12.213 12.24-12.213 3.76 3.76-16 16-16-16 3.76-3.76z"></path>
</symbol>
<symbol id="iconCheck" viewBox="0 0 32 32">
<path d="M28.444 0h-24.889c-1.956 0-3.556 1.6-3.556 3.556v24.889c0 1.956 1.6 3.556 3.556 3.556h24.889c1.956 0 3.556-1.6 3.556-3.556v-24.889c0-1.956-1.6-3.556-3.556-3.556zM28.444 28.445h-24.889v-24.889h24.889v24.889zM26.649 10.667l-2.507-2.524-11.716 11.716-4.587-4.569-2.524 2.507 7.111 7.093z"></path>
</symbol>
<symbol id="iconTheme" viewBox="0 0 32 32">
<path d="M16 32c-8.816 0-16-7.184-16-16s7.184-16 16-16 16 6.464 16 14.4c0 5.296-4.304 9.6-9.6 9.6h-2.832c-0.448 0-0.8 0.352-0.8 0.8 0 0.192 0.080 0.368 0.208 0.528 0.656 0.752 1.024 1.696 1.024 2.672 0 2.208-1.792 4-4 4zM16 3.2c-7.056 0-12.8 5.744-12.8 12.8s5.744 12.8 12.8 12.8c0.448 0 0.8-0.352 0.8-0.8 0-0.256-0.128-0.448-0.224-0.56-0.656-0.736-1.008-1.68-1.008-2.64 0-2.208 1.792-4 4-4h2.832c3.536 0 6.4-2.864 6.4-6.4 0-6.176-5.744-11.2-12.8-11.2z"></path>
<path d="M9.6 15.2c0 1.325-1.075 2.4-2.4 2.4s-2.4-1.075-2.4-2.4c0-1.325 1.075-2.4 2.4-2.4s2.4 1.075 2.4 2.4z"></path>
<path d="M14.4 8.8c0 1.325-1.075 2.4-2.4 2.4s-2.4-1.075-2.4-2.4c0-1.325 1.075-2.4 2.4-2.4s2.4 1.075 2.4 2.4z"></path>
<path d="M22.4 8.8c0 1.325-1.075 2.4-2.4 2.4s-2.4-1.075-2.4-2.4c0-1.325 1.075-2.4 2.4-2.4s2.4 1.075 2.4 2.4z"></path>
<path d="M27.2 15.2c0 1.325-1.075 2.4-2.4 2.4s-2.4-1.075-2.4-2.4c0-1.325 1.075-2.4 2.4-2.4s2.4 1.075 2.4 2.4z"></path>
</symbol>
<symbol id="iconInfo" viewBox="0 0 32 32">
<path d="M14.4 8h3.2v3.2h-3.2zM14.4 14.4h3.2v9.6h-3.2zM16 0c-8.832 0-16 7.168-16 16s7.168 16 16 16 16-7.168 16-16-7.168-16-16-16zM16 28.8c-7.056 0-12.8-5.744-12.8-12.8s5.744-12.8 12.8-12.8 12.8 5.744 12.8 12.8-5.744 12.8-12.8 12.8z"></path>
</symbol>
<symbol id="iconFullscreen" viewBox="0 0 32 32">
<path d="M32 14.222v-14.222h-14.222l5.849 5.849-17.778 17.778-5.849-5.849v14.222h14.222l-5.849-5.849 17.778-17.778z"></path>
</symbol>
<symbol id="iconPreview" viewBox="0 0 32 32">
<path d="M16 8c5.513 0 10.429 3.098 12.829 8-2.4 4.902-7.302 8-12.829 8s-10.429-3.098-12.829-8c2.4-4.902 7.316-8 12.829-8zM16 5.091c-7.273 0-13.484 4.524-16 10.909 2.516 6.385 8.727 10.909 16 10.909s13.484-4.524 16-10.909c-2.516-6.385-8.727-10.909-16-10.909zM16 12.364c2.007 0 3.636 1.629 3.636 3.636s-1.629 3.636-3.636 3.636-3.636-1.629-3.636-3.636 1.629-3.636 3.636-3.636zM16 9.455c-3.607 0-6.545 2.938-6.545 6.545s2.938 6.545 6.545 6.545 6.545-2.938 6.545-6.545-2.938-6.545-6.545-6.545z"></path>
</symbol>
<symbol id="iconRecord" viewBox="0 0 32 32">
<path d="M24.928 15.17h2.844q0 4.267-2.963 7.467t-7.151 3.832v5.531h-3.319v-5.531q-4.188-0.632-7.151-3.832t-2.963-7.467h2.844q0 3.714 2.647 6.123t6.281 2.41 6.281-2.41 2.647-6.123zM13.946 4.899v10.43q0 0.79 0.593 1.383t1.462 0.593q0.79 0 1.383-0.553t0.593-1.422l0.079-10.43q0-0.869-0.632-1.462t-1.422-0.593-1.422 0.593-0.632 1.462zM16 20.227q-2.054 0-3.556-1.501t-1.501-3.556v-10.114q0-2.054 1.501-3.556t3.556-1.501 3.556 1.501 1.501 3.556v10.114q0 2.054-1.501 3.556t-3.556 1.501z"></path>
</symbol>
<symbol id="iconPause" viewBox="0 0 32 32">
<path d="M20.617 0h9.128v32h-9.128v-32zM2.255 32v-32h9.128v32h-9.128z"></path>
</symbol>
<symbol id="iconPlay" viewBox="0 0 32 32">
<path d="M3.436 0l25.128 16-25.128 16v-32z"></path>
</symbol>
<symbol id="iconEmoji" viewBox="0 0 32 32">
<path d="M16 24.789q-2.779 0-4.995-1.54t-3.192-4.019h2.629q1.878 3.155 5.559 3.155t5.559-3.155h2.629q-0.977 2.479-3.192 4.019t-4.995 1.54zM16 28.845q5.258 0 9.052-3.793t3.793-9.052-3.793-9.052-9.052-3.793-9.052 3.793-3.793 9.052 3.793 9.052 9.052 3.793zM16 0q6.61 0 11.305 4.695t4.695 11.305-4.695 11.305-11.305 4.695-11.305-4.695-4.695-11.305 4.695-11.305 11.305-4.695zM10.366 14.423q-0.977 0-1.69-0.714t-0.714-1.69 0.714-1.69 1.69-0.714 1.69 0.714 0.714 1.69-0.714 1.69-1.69 0.714zM21.634 14.423q-0.977 0-1.69-0.714t-0.714-1.69 0.714-1.69 1.69-0.714 1.69 0.714 0.714 1.69-0.714 1.69-1.69 0.714z"></path>
</symbol>
<symbol id="iconLink" viewBox="0 0 32 32">
<path d="M24.038 7.962q3.305 0 5.634 2.366t2.329 5.671-2.329 5.671-5.634 2.366h-6.46v-3.080h6.46q2.028 0 3.493-1.465t1.465-3.493-1.465-3.493-3.493-1.465h-6.46v-3.080h6.46zM9.615 17.577v-3.155h12.77v3.155h-12.77zM3.005 16q0 2.028 1.465 3.493t3.493 1.465h6.46v3.080h-6.46q-3.305 0-5.634-2.366t-2.329-5.671 2.329-5.671 5.634-2.366h6.46v3.080h-6.46q-2.028 0-3.493 1.465t-1.465 3.493z"></path>
</symbol>
<symbol id="iconRedo" viewBox="0 0 32 32">
<path d="M26.422 14.605l5.578-5.651v14.092h-14.092l5.725-5.651q-3.523-2.936-8.073-2.936-3.743 0-7.229 2.495t-4.661 6.092l-3.67-1.174q1.615-4.991 5.908-8.147t9.651-3.156q6.239 0 10.862 4.037z"></path>
</symbol>
<symbol id="iconUndo" viewBox="0 0 32 32">
<path d="M16.44 10.569q5.358 0 9.615 3.156t5.945 8.147l-3.67 1.174q-1.248-3.817-4.514-6.202t-7.376-2.385q-4.55 0-8.073 2.936l5.725 5.651h-14.092v-14.092l5.578 5.651q4.624-4.037 10.862-4.037z"></path>
</symbol>
<symbol id="iconAlignCenter" viewBox="0 0 32 32">
<path d="M0 0h32v3.583h-32v-3.583zM7.083 7.083h17.833v3.583h-17.833v-3.583zM0 17.75v-3.5h32v3.5h-32zM0 32v-3.583h32v3.583h-32zM7.083 21.333h17.833v3.583h-17.833v-3.583z"></path>
</symbol>
<symbol id="iconAlignLeft" viewBox="0 0 32 32">
<path d="M0 0h32v3.583h-32v-3.583zM0 32v-3.583h32v3.583h-32zM0 17.75v-3.5h32v3.5h-32zM21.333 7.083v3.583h-21.333v-3.583h21.333zM21.333 21.333v3.583h-21.333v-3.583h21.333z"></path>
</symbol>
<symbol id="iconAlignRight" viewBox="0 0 32 32">
<path d="M0 0h32v3.583h-32v-3.583zM10.667 10.667v-3.583h21.333v3.583h-21.333zM0 17.75v-3.5h32v3.5h-32zM10.667 24.917v-3.583h21.333v3.583h-21.333zM0 32v-3.583h32v3.583h-32z"></path>
</symbol>
<symbol id="iconBold" viewBox="0 0 32 32">
<path d="M18.569 26.328q1.498 0 2.462-1.017t0.963-2.408-0.963-2.408-2.462-1.017h-8.027v6.849h8.027zM10.542 5.779v6.85h6.85q1.391 0 2.408-1.017t1.017-2.408-1.017-2.408-2.408-1.017h-6.849zM23.385 15.518q4.923 2.248 4.923 7.813 0 3.639-2.408 6.154t-6.047 2.515h-16.161v-32h14.341q3.853 0 6.475 2.676t2.622 6.528-3.746 6.314z"></path>
</symbol>
<symbol id="iconIndent" viewBox="0 0 32 32">
<path d="M14.25 17.75v-3.5h17.75v3.5h-17.75zM14.25 10.667v-3.583h17.75v3.583h-17.75zM0 0h32v3.583h-32v-3.583zM14.25 24.917v-3.583h17.75v3.583h-17.75zM0 8.917l7.083 7.083-7.083 7.083v-14.167zM0 32v-3.583h32v3.583h-32z"></path>
</symbol>
<symbol id="iconOutdent" viewBox="0 0 32 32">
<path d="M14.25 17.75v-3.5h17.75v3.5h-17.75zM14.25 10.667v-3.583h17.75v3.583h-17.75zM0 0h32v3.583h-32v-3.583zM0 32v-3.583h32v3.583h-32zM0 16l7.083-7.083v14.167zM14.25 24.917v-3.583h17.75v3.583h-17.75z"></path>
</symbol>
<symbol id="iconItalic" viewBox="0 0 32 32">
<path d="M11.398 0h18.301v6.849h-6.421l-7.706 18.301h5.030v6.849h-18.301v-6.849h6.421l7.706-18.301h-5.030v-6.849z"></path>
</symbol>
<symbol id="iconList" viewBox="0 0 32 32">
<path d="M7.777 3.929h24.223v3.403h-24.223v-3.403zM7.777 17.701v-3.403h24.223v3.403h-24.223zM7.777 28.071v-3.403h24.223v3.403h-24.223zM2.592 23.777q1.053 0 1.823 0.77t0.77 1.823-0.77 1.823-1.823 0.77-1.823-0.77-0.77-1.823 0.77-1.823 1.823-0.77zM2.592 3.038q1.053 0 1.823 0.729t0.77 1.863-0.77 1.863-1.823 0.729-1.823-0.729-0.77-1.863 0.77-1.863 1.823-0.729zM2.592 13.408q1.053 0 1.823 0.729t0.77 1.863-0.77 1.863-1.823 0.729-1.823-0.729-0.77-1.863 0.77-1.863 1.823-0.729z"></path>
</symbol>
<symbol id="iconOrderedList" viewBox="0 0 32 32">
<path d="M8.375 17.659v-3.319h23.625v3.319h-23.625zM8.375 27.773v-3.319h23.625v3.319h-23.625zM8.375 4.227h23.625v3.319h-23.625v-3.319zM0 14.341v-1.738h5.057v1.58l-3.081 3.477h3.081v1.738h-5.057v-1.58l3.002-3.477h-3.002zM1.659 9.284v-5.057h-1.659v-1.738h3.319v6.795h-1.659zM0 24.454v-1.738h5.057v6.795h-5.057v-1.738h3.319v-0.79h-1.659v-1.738h1.659v-0.79h-3.319z"></path>
</symbol>
<symbol id="iconMp" viewBox="0 0 32 32">
<path d="M6.927 17.719s-3.040-3.431-2.915-6.942c0.16-4.453 4.738-10.257 11.359-10.257 1.884 0 5.653 0 10.328 5.52 0.249 0.302-15.075-3.84-18.772 11.679z"></path>
<path d="M17.477 9.301s3.946-1.298 7.271-0.178c4.222 1.422 8.693 6.826 6.809 13.182-0.533 1.804-1.609 5.413-8.231 8.32-0.356 0.16 10.613-13.351-5.849-21.323z"></path>
<path d="M10.944 24.332c-1.938 2.035-3.751 1.742-3.751 1.742l0.578-3.191c-5.235-3.44-6.373-10.328-6.453-10.106-2.444 6.817-0.916 11.377 0.027 13.004 3.315 5.733 11.982 7.351 17.484 3.893 2.969-1.867 4.533-7.057 4.533-7.057-5.298 2.338-9.342 2.569-12.417 1.715z"></path>
</symbol>
<symbol id="iconZhihu" viewBox="0 0 32 32">
<path d="M17.167 17.769s0-2.583-1.25-2.667c-1.25-0.167-5.167 0-5.167 0v-8h5.833s-0.083-2.667-1.167-2.667h-9.5l1.583-4.25s-2.333 0.167-3.25 1.667c-0.833 1.5-3.5 9.167-3.5 9.167s0.917 0.417 2.417-0.75c1.5-1.083 2-3.083 2-3.083l2.75-0.167 0.083 8.083s-4.917-0.083-5.833 0c-1 0.083-1.5 2.667-1.5 2.667h7.417s-0.667 4.583-2.5 7.75c-1.917 3.333-5.583 5.917-5.583 5.917s2.583 1.083 5.167-0.417 4.417-8.083 4.417-8.083l5.917 7.417s0.5-3.5-0.083-4.583c-0.667-1-4.167-5-4.167-5l-1.5 1.333 1.083-4.417 6.333 0.083zM18.667 4.269l-0.083 23.999h2.417l0.833 2.917 4.25-2.917h5.917v-23.999h-13.333zM29.333 25.602h-2.75l-3.5 2.667-0.75-2.667h-0.75v-18.582h7.75v18.582z"></path>
</symbol>
<symbol id="iconHelp" viewBox="0 0 32 32">
<path d="M14.4 25.6h3.2v-3.2h-3.2v3.2zM16 0c-8.832 0-16 7.168-16 16s7.168 16 16 16 16-7.168 16-16-7.168-16-16-16zM16 28.8c-7.056 0-12.8-5.744-12.8-12.8s5.744-12.8 12.8-12.8 12.8 5.744 12.8 12.8-5.744 12.8-12.8 12.8zM16 6.4c-3.536 0-6.4 2.864-6.4 6.4h3.2c0-1.76 1.44-3.2 3.2-3.2s3.2 1.44 3.2 3.2c0 3.2-4.8 2.8-4.8 8h3.2c0-3.6 4.8-4 4.8-8 0-3.536-2.864-6.4-6.4-6.4z"></path>
</symbol>
<symbol id="iconUp" viewBox="0 0 32 32">
<path d="M3.76 25.88l12.24-12.213 12.24 12.213 3.76-3.76-16-16-16 16 3.76 3.76z"></path>
</symbol>
</defs></svg>`)

View file

@ -0,0 +1,6 @@
{
"name": "material",
"author": "Vanessa",
"url": "https://github.com/Vanessa219",
"version": "1.0.5"
}

View file

@ -0,0 +1,865 @@
{
"sortByUpdateTimeDesc": "Descending by update time",
"sortByUpdateTimeAsc": "Ascending by update time",
"sortByDownloadsDesc": "Descending by downloads",
"sortByDownloadsAsc": "Ascending by downloads",
"activationCode": "Activation code",
"activationCodePlaceholder": "Please enter your subscription activation code here",
"exportDataTip": "Package and export all files in the <code>workspace/data/</code> folder as a zip archive",
"importDataTip": "Import the exported zip archive, overwriting the <code>workspace/data/</code> folder by path",
"includeChildDoc": "Include child documents",
"text": "Text",
"lastUsed": "Recently used fonts",
"removedNotebook": "Removed Notebook",
"querySyntax": "Query Syntax",
"rollback": "Rollback",
"custom": "Custom",
"feedback": "Feedback",
"inbox": "Inbox",
"turnToStaticRef": "Static anchor text ref",
"turnToDynamicRef": "Dynamic anchor text ref",
"turnToStatic": "Static anchor text",
"turnToDynamic": "Dynamic anchor text",
"sizeLimit": "Limit",
"trafficStat": "Traffic Statistics",
"hideHeadingBelowBlocks": "Hide blocks below heading",
"matchDiacritics": "Match Diacritics",
"foldTip": "Are you sure to change to edit mode and record the fold state?",
"copyHPath": "Copy readable path",
"justify": "Justify",
"height": "Height",
"deactivateUser": "Deactivate Account",
"deactivateUserTip": "<ul>\n<li>Once the account is deactivated, it cannot be recovered, please do not try it at will</li>\n<li>The username will be filled with <code>someone101</code> (the following The number is the user number), the password will be reset by a random number</li>\n<li>Clear the user's nickname, self-label, URL, profile, avatar, site link, mailing address and other information</li>\n<li >All privacy setting switches will be restored to the default public state</li>\n<li>Unbound third-party social accounts, mobile phones</li>\n<li><strong>Username, mobile phone number, bound third-party The account will not be able to be used again in the future</strong></li>\n<li>User status is set to disabled, login prohibited</li>\n</ul>",
"mergeCell": "Merge Cell",
"cancelMerged": "Cancel cell merge",
"useDefaultWidth": "Use Default Column Width",
"crossPageUse": "Tips for using multiple selections across pages: click at the start position, and after scrolling the page, at the end position ${}",
"type": "Type",
"searchType": "Type (search in the following enabled types)",
"searchAttr": "Attribute (search not only in the content, but also in the following enabled attributes)",
"searchBackmention": "Backlink Mentions (backlink mentions search keywords are obtained from)",
"searchVirtualRef": "Virtual reference (virtual reference search keywords are obtained from)",
"netImg2LocalAsset": "Convert network images to local images",
"releaseDate": "Release Date",
"pkgSize": "Package size",
"spaceInZE": "Insert a space between Chinese and Western",
"dragPosition": "Drag image to reposition",
"exportPDF0": "Page Size",
"exportPDF1": "Landscape page",
"exportPDF2": "Page margins",
"exportPDF3": "Page Scale",
"exportPDF4": "Remove assets directory",
"upload": "Upload",
"defaultPasswordTip": "After using the auto-generated password, other devices must also use the auto-generated password",
"customPassword": "Custom password",
"defaultPassword": "Automatically generate password",
"reminderTip": "The reminder time cannot be less than the current time",
"wechatTip": "The content block will be sent to the cloud in clear text, and pushed through the WeChat MP template message when it expires",
"notEmpty": "The reminder time cannot be empty",
"experimentalFeature": "(⚗️ This feature is in the experimental stage)",
"wechatReminder": "WeChat Reminder",
"notifyTime": "Notify Time",
"docName": "Doc Name",
"bootSyncFailed": "Failed to synchronize data at startup",
"use": "Use",
"uninstallTip": "Currently in use, you need to switch before uninstalling",
"safeQuit": "Quit the application",
"anchor": "Anchor",
"showMore": "Show More",
"refPopover": "Open the ref block by popover",
"refRight": "Open the ref block on the right",
"refBottom": "Open the ref block on the bottom",
"refTab": "Open the ref block in a new tab",
"showHideBg": "Show/Hide Background",
"directConnection": "Direct connection",
"networkProxy": "Network Proxy",
"copyAnnotation": "Copy Annotation",
"rectAnnotation": "Rectangular Annotation",
"fileName": "File name:",
"fileSize": "File size:",
"title1": "Title:",
"author": "Author:",
"subject": "Subject:",
"keywords": "Keywords:",
"creationDate": "Creation Date:",
"modificationDate": "Modification Date:",
"creator": "Creator:",
"producer": "Producer:",
"version": "Version:",
"pageCount": "Page Count:",
"pageSize": "Page Size:",
"linearized": "Fast Web View:",
"firstPage": "Go to First Page",
"lastPage": "Go to Last Page",
"rotateCw": "Rotate Clockwise",
"rotateCcw": "Rotate Counterclockwise",
"cursorText": "Text Selection Tool",
"cursorHand": "Hand Tool",
"scrollVertical": "Vertical Scrolling",
"scrollHorizontal": "Horizontal Scrolling",
"scrollWrapped": "Wrapped Scrolling",
"spreadNone": "No Spreads",
"spreadOdd": "Odd Spreads",
"spreadEven": "Even Spreads",
"find_match_count_limit": "More than {{limit}} match(es)",
"find_match_count": "{{current}} of {{total}} match(es)",
"findHighlight": "Highlight all",
"findEntireWord": "Whole words",
"presentationMode": "Switch to Presentation Mode",
"focusOutline": "Find Current Outline Item",
"previousLabel": "Previous",
"nextLabel": "Next",
"pageScaleWidth": "Page Width",
"pageScaleFit": "Page Fit",
"pageScaleAuto": "Automatic Zoom",
"pageScaleActual": "Actual Size",
"thumbPageTitle": "Page {{page}}",
"loading": "Loading…",
"toggleSidebarNotification2Title": "Toggle Sidebar (document contains outline/attachments/layers)",
"toggleSidebarTitle": "Toggle Sidebar",
"loadingError": "An error occurred while loading the PDF.",
"invalidFileError": "Invalid or corrupted PDF file.",
"missingFileError": "Missing PDF file.",
"unexpectedResponseError": "Unexpected server response.",
"printingNotSupported": "Warning: Printing is not fully supported by this browser.",
"printingNotReady": "Warning: The PDF is not fully loaded for printing.",
"unitInches": "in",
"unitMillimeters": "mm",
"additionalLayers": "Additional Layers",
"thumbPage": "Thumbnail of Page {{page}}",
"thumbsTitle": "Show Thumbnails",
"document_properties_page_size_name_a3": "A3",
"document_properties_page_size_name_a4": "A4",
"document_properties_page_size_name_letter": "Letter",
"document_properties_page_size_name_legal": "Legal",
"document_properties_page_size_orientation_portrait": "portrait",
"document_properties_page_size_orientation_landscape": "landscape",
"find_not_found": "Phrase not found",
"find_reached_top": "Reached top of document, continued from bottom",
"find_reached_bottom": "Reached end of document, continued from top",
"password_label": "Enter the password to open this PDF file.",
"password_invalid": "Invalid password. Please try again.",
"stateExcepted": "\uD83D\uDEA7 Abnormal state",
"rebuildIndex": "Rebuild Index",
"rebuildIndexTip": "A system runtime error was found, please choose whether to exit or rebuild the index for repair",
"closeNotebook": "Closed notebooks",
"widget": "Widget",
"customEmoji": "Add custom emoji",
"customEmojiTip": "Open <a href=\"javascript:void(0)\" id=\"appearanceOpenEmoji\">Emoji folder</a>, put the picture in and click the refresh button",
"recentEmoji": "Common Emoticons",
"andSubFile": "and its <b>x</b> subfiles",
"changeIcon": "Change icon",
"includeSubFile": "\nInclude x subfiles",
"untitled": "Untitled",
"goForward": "Go forward",
"goBack": "Go back",
"lockScreen": "Lock Screen",
"cloudIntro1": "End-to-end encrypted data synchronization",
"cloudIntro2": "The encryption and decryption process is completely performed on the local device",
"cloudIntro3": "The encryption algorithm is the industry-recognized safe AES GCM",
"cloudIntro4": "The password set by the user is encrypted with the built-in key of the program and stored locally",
"cloudIntro5": "Unless you know the password or brute force, it cannot be decrypted",
"cloudIntro6": "Unlimited number of devices and number of workspaces",
"cloudIntro7": "Different local workspaces correspond to different data synchronization directories in the cloud",
"cloudIntro8": "Different devices keep their own data history, and data that is overwritten or deleted by synchronization will not be lost",
"cloudIntro9": "Cloud assets serving service",
"cloudIntro10": "Upload local asset files to the cloud with one click",
"cloudIntro11": "One-click to copy the document to the Wechat MP, Zhihu, Yuque etc. platforms",
"selectAll": "Select all",
"reposTip": "The name of the cloud synchronization directory corresponding to the current workspace, which can be selected on other devices after creation on the main device",
"stickOpen": "Keep all opened",
"cloud": "Cloud",
"setEmojiTip": "Please go to [Settings - Appearance to add emoji]",
"openSyncTip1": "Enable cloud sync",
"openSyncTip2": "When changing from disabled to enabled, it is recommended to manually click the sync button to trigger a synchronization",
"cloudSync": "Cloud sync",
"cloudSyncDir": "Cloud Sync Dir",
"emptyCloudSyncList": "The cloud sync list is empty",
"retry": "Retry",
"insertVideoURL": "Insert video link",
"insertAudioURL": "Insert audio link",
"insertImgURL": "Insert image link",
"insertIframeURL": "Insert IFrame link",
"context": "Context",
"dockTip": "\nClick Open/Minimize\nRight Click Adjust position",
"shadow": "Shadow",
"hollow": "Hollow",
"attrValue1": "Leave the attribute value blank will automatically delete the attribute",
"specifyPath": "Specify path",
"changeE2EEPasswdTip": "The current workspace is using a custom password, and the same custom password must be used on other devices to decrypt data. If you forget the password, the cloud data will be permanently lost, so be sure to keep this in mind password",
"builtinE2EEPasswdTip": "The current workspace is using an auto-generated password, and other devices must also use the auto-generated password to decrypt the data",
"changeE2EEPasswd": "Set the end-to-end encryption password",
"setPasswd": "Set it",
"e2eePasswd": "End-to-end encryption password",
"passwdSet": "Password has been set (If you need to reset the password, please refer to the help document FAQ)",
"e2eePasswdTip": "The same password must be set on all devices, once set, it does not support modification and viewing",
"addAttr": "Add",
"addTag": "Add Tag",
"width": "Width",
"attrName": "Key",
"attr": "Attribute",
"updatePath": "Change dir",
"default": "Default",
"titleBg": "Cover",
"random": "Random",
"darkMode": "Dark mode",
"downloadRecover1": "Download the cloud backup and overwrite the local backup, and then recover from the local backup",
"deleteCloudBackup": "Delete cloud backup completely",
"backupUpload1": "Generate an encrypted local backup and upload the backup to the cloud",
"noOpenFile": "No file is open",
"backupUpload": "Backup and upload",
"downloadRecover": "Download and recover",
"cloudBackup": "Cloud backup",
"total": "Total",
"cdn": "Assets",
"backup": "Backup",
"cloudStorage": "Cloud storage",
"vLayout": "Vertical layout",
"hLayout": "Horizontal layout",
"merge": "Merge",
"docWordCount": "Document words",
"blockWordCount": "Block words",
"docRuneCount": "Document characters",
"blockRuneCount": "Block characters",
"kbd": "Keyboard",
"errorStyle": "Error Style",
"successStyle": "Success Style",
"warningStyle": "Warning Style",
"infoStyle": "Info Style",
"chart": "Chart",
"staff": "Staff",
"sup": "Superscript",
"sub": "Subscript",
"enter": "Focus",
"enterBack": "Zoom out",
"duplicate": "Duplicate",
"turnInto": "Turn into",
"split": "Split",
"underline": "Underline",
"inline-math": "Inline Math",
"moveToUp": "Move Up",
"moveToDown": "Move Down",
"moveToLeft": "Move Left",
"moveToRight": "Move Right",
"copyProtocol": "Copy block hyperlink",
"uploadAssets2CDN": "Upload asset files to cloud",
"notSupport1": "Does not support drag and drop across notebooks",
"keymapTip": "After the shortcut keys are modified, they need to be restarted to take effect",
"searchLimit": "The number of search results displayed",
"searchLimit1": "If the amount of data is large, do not configure the value too large, the default is <code>64</code>",
"searchCaseSensitive": "Case Sensitive",
"searchCaseSensitive1": "After enabling, all search-related functions will be case sensitive",
"toggleWin": "Hide/Show Window",
"customSort": "Custom Sorting",
"downloadingUpdate": "Downloading the update package, please wait...",
"collapse": "Collapse",
"blockEmbed": "Embed Block",
"gutterTip": "Drag to move position<br>Click Open the menu<br>⌘Click Zoom In<br>⌥Click Expand/Collapse<br>⇧Click Update attribute",
"gutterTip2": "Click to open the menu<br>⇧Click Update attribute",
"linkDistance": "Link distance",
"collideStrength": "Collide strength",
"collideRadius": "Collide radius",
"centerStrength": "Center strength",
"lineOpacity": "Line opacity",
"lineWidth": "Line size",
"nodeSize": "Node size",
"arrow": "Arrow",
"paragraph": "Paragraph",
"math": "Math Block",
"listItem": "List item",
"superBlock": "Super block",
"expandAll": "Expand All",
"collapseAll": "Collapse All",
"showDock": "Show Dock",
"hideDock": "Hide Dock",
"notebookName": "Please enter a notebook name",
"moveToLeftTop": "Move to the Left Top",
"moveToLeftBottom": "Move to the Left Bottom",
"moveToRightTop": "Move to the Right Top",
"moveToRightBottom": "Move to the Right Bottom",
"moveToTopLeft": "Move to the Top Left",
"moveToTopRight": "Move to the Top Right",
"moveToBottomLeft": "Move to the Bottom Left",
"moveToBottomRight": "Move to the Bottom Right",
"accountDisplayTitle": "Whether to display the title icon at the top bar",
"accountDisplayVIP": "Whether to display the VIP icon at the top bar",
"rollbackConfirm": "Rollback is an irreversible operation. Once the rollback is performed, the data cannot be returned to the current state. Are you sure to use <b>${date}</b> to rollback?",
"pdfTip": "PDF export does not support Dark theme",
"pdfConfirm": "Do you want to continue exporting with the selected Light theme?",
"import": "Import",
"doc": "Doc",
"openBy": "Open",
"replace": "Replace",
"replaceAll": "Replace All",
"alias": "Alias",
"exportTplSucc": "The template was exported successfully",
"exportTplTip": "The data already exists, do you need to overwrite it?",
"globalSearch": "Global Search",
"stickSearch": "Stick Search",
"resetLayout1": "Reset Layout",
"zoomIn": "Zoom In",
"zoomOut": "Zoom Out",
"template": "Template",
"move": "Move",
"layout": "Layout",
"expandLevel": "Expand Level",
"mindmap": "Mind Map",
"dailyNote": "Daily Note",
"memo": "Memo",
"name": "Name",
"fold": "Fold/Expand",
"zoom": "Zoom and Position",
"invalid": "Invalid",
"conflict": "Conflict",
"checkToggle": "Check the task list to switch",
"heading1": "Heading 1",
"heading2": "Heading 2",
"heading3": "Heading 3",
"heading4": "Heading 4",
"heading5": "Heading 5",
"heading6": "Heading 6",
"general": "General",
"insertBefore": "Insert an empty block before the block where the cursor is",
"insertAfter": "Insert an empty block after the block where the cursor is located",
"list1": "List",
"insert": "Insert Element",
"closeTab": "Close current Tab",
"keymap": "Keymap",
"clearFontStyle": "Clear Style",
"fontStyle": "Font Effects",
"font": "Font",
"folder": "Folder",
"day": "Days",
"pin": "Pin",
"unpin": "Unpin",
"createdAt": "Created at",
"modifiedAt": "Modified at",
"download": "Download",
"uninstall": "Uninstall",
"all": "All",
"bazaar": "Bazaar",
"revolve": "Revolve",
"useDefault": "Open with default program",
"previous": "Previous",
"next": "Next",
"lockFile0": "Unable to access data",
"lockFile1": "The data file has been locked by another program. (If a third-party sync disk is used, please check the sync status)",
"lockFile2": "If the problem still occurs frequently in subsequent use, please report it via <a href=\"https://github.com/siyuan-note/siyuan/issues\" target=\"_blank\">GitHub Issues</a>, thank you!",
"kernelFault0": "Kernel connection interrupted...",
"kernelFault1": "If the dialog do not disappear automatically after 7 seconds, please close the window and restart.",
"kernelFault2": "If the problem still occurs after restarting, please report it via <a href=\"https://github.com/siyuan-note/siyuan/issues\" target=\"_blank\">GitHub Issues</a>, thank you!",
"fontSize": "Font Size",
"fontSizeTip": "The default font size is 16px, this setting only affects the font size display in the editor",
"font1": "This setting only affects the font family display in the editor, choose <code>Default</code> to use the theme's font family",
"newNameFile": "The name of the new document is",
"newContentFile": "The content of the new document is",
"exporting": "Exporting, please wait...",
"exported": "Export complete: ",
"refExpired": "Search content block does not exist",
"emptyContent": "No related content",
"useBrowserView": "View in the browser",
"userLocalPDF": "Open with local PDF tool",
"copyID": "Copy ID",
"newBookmark": "Create a bookmark label",
"generateHistory": "History Generation Interval (minutes, set to 0 to disable)",
"generateHistoryInterval": "The history is automatically generated when editing or deleting, and the history and recovery can be viewed in the right-click menu of the notebook",
"historyRetentionDays": "History Retention Days",
"historyRetentionDaysTip": "Historical data exceeding the retention days will be automatically and completely deleted",
"clearHistory": "Clear all history",
"confirmClearHistory": "Are you sure you want to completely delete all historical data in the workspace?",
"fileNameASC": "Name Alphabet ASC",
"fileNameDESC": "Name Alphabet DESC",
"modifiedASC": "Modified Time ASC",
"modifiedDESC": "Modified Time DESC",
"fileNameNatASC": "Name Natural ASC",
"fileNameNatDESC": "Name Natural DESC",
"refCountASC": "Ref Count ASC",
"refCountDESC": "Ref Count DESC",
"createdASC": "Created Time ASC",
"createdDESC": "Created Time DESC",
"sort": "Sort",
"enterFullscreen": "Enter Full Screen",
"exitFullscreen": "Exit Full Screen",
"clearUnused": "Unreferenced assets",
"clearAll": "Are you sure to clean up all unreferenced assets?",
"paste": "Paste",
"pasteRef": "Paste Block Ref",
"pasteEmbed": "Paste Block Embed",
"cut": "Cut",
"mentions": "Mentions",
"colorBorder": "Border Color",
"colorFont": "Font Color",
"colorGraph": "Graph Color",
"colorInline": "Document Inline Color",
"colorPrimary": "Background Color",
"colorScroll": "Scroll Color",
"colorTab": "Tab Color",
"colorTip": "Tooltip Color",
"--b3-theme-primary": "Primary",
"--b3-theme-primary-light": "Primary - Light",
"--b3-theme-primary-lighter": "Primary - Lighter",
"--b3-theme-primary-lightest": "Primary - Lightest",
"--b3-theme-secondary": "Secondary",
"--b3-theme-background": "Background",
"--b3-theme-surface": "Surface",
"--b3-theme-error": "Error",
"--b3-theme-on-primary": "Font Color On Primary",
"--b3-theme-on-secondary": "Font Color On Secondary",
"--b3-theme-on-background": "Font Color On Background",
"--b3-theme-on-surface": "Font Color On Surface",
"--b3-theme-on-error": "Font Color On Error",
"--b3-border-color": "Border",
"--b3-scroll-color": "Scroll",
"--b3-list-hover": "List Hover Color",
"--b3-tab-background": "Tab Background",
"--b3-tooltips-color": "Tooltip Background",
"--b3-graph-p-point": "Paragraph Point",
"--b3-graph-heading-point": "Title Point",
"--b3-graph-math-point": "Math Point",
"--b3-graph-code-point": "Code Point",
"--b3-graph-table-point": "Table Point",
"--b3-graph-list-point": "List Point",
"--b3-graph-todo-point": "Task list Point",
"--b3-graph-olist-point": "Order list Point",
"--b3-graph-listitem-point": "List item Point",
"--b3-graph-bq-point": "Blockquote Point",
"--b3-graph-super-point": "Super Point",
"--b3-graph-doc-point": "Document Point",
"--b3-graph-tag-point": "Tag Point",
"--b3-graph-asset-point": "Asset Point",
"--b3-graph-line": "Line",
"--b3-graph-ref-line": "Line between link",
"--b3-graph-tag-line": "Line between tag and node",
"--b3-graph-tag-tag-line": "Line between tag and tag",
"--b3-graph-asset-line": "Line between asset and node",
"--b3-graph-hl-point": "Choose Point",
"--b3-graph-hl-line": "Choose Line",
"--b3-protyle-inline-strong-color": "Bold",
"--b3-protyle-inline-em-color": "italic",
"--b3-protyle-inline-s-color": "strike",
"--b3-protyle-inline-link-color": "Link",
"--b3-protyle-inline-mark-background": "Mark Background",
"--b3-protyle-inline-mark-color": "Mark",
"--b3-protyle-inline-tag-color": "Tag",
"--b3-protyle-inline-blockref-color": "Block Ref",
"open": "Turn on",
"sync": "Sync",
"syncNow": "Sync now",
"cloudBook": "Cloud Notebook",
"payment": "Payment",
"refresh": "Refresh",
"accountManage": "Account Manage",
"logout": "Logout",
"refreshUser": "User information refreshed",
"insertBottom": "Open Below the Tab",
"insertRight": "Open Right the Tab",
"downloadCloud": "Download",
"downloadCloudTip": "After downloading, the cloud backup will be used to overwrite the local backup. Do you want to download?",
"account3Tip": "Local backup will overwrite cloud backup. Do you want to upload?",
"account1": "Click to pay",
"account3": "Upload",
"account4": "Renewal price remains unchanged for life",
"account5": "Cloud Assets serving",
"account6": "Remaining before subscription expires",
"account7": "More advanced features",
"account8": "End-to-End encryption sync",
"account10": "Annual subscription",
"account11": "Until the end of the early bird discount",
"account12": "Life companion",
"account13": "Après avoir utilisé le code de parrainage, les remboursements ne seront plus pris en charge. Faut-il utiliser le code d'abonnement ?",
"priceAnnual": "$72",
"year": "year",
"dataHistory": "Data History",
"quitApp": "Quit?",
"reset": "Reset",
"siyuanNote": "SiYuan",
"resetLayout": "Restore Default Layout",
"tag": "Tag",
"twoFactorCaptcha": "Two-factor authentication captcha",
"captcha": "Captcha",
"register": "Create New Account",
"login": "Login",
"accountTip": "I have read and agree <a target='_blank' href='https://b3log.org/siyuan/privacy.html'>SiYuan Privacy Policy</a>",
"forgetPassword": "Forget Password",
"accountName": "Username/Email/Phone Number",
"account": "Account",
"globalGraph": "Global Graph",
"backlinks": "Backlinks",
"editor": "Editor",
"appearance6": "The window layout will be restored to the initial state after reset",
"appearance9": "Open Theme Folder",
"appearance8": "Open Icon Folder",
"appearance7": "Automatically switch with sunrise and sunset",
"appearance5": "Select the mode of the user interface",
"appearance4": "Mode",
"appearance3": "Select the syntax highlighting theme used in dark mode",
"appearance2": "Select the syntax highlighting theme used in light mode",
"appearance1": "Code Block Theme",
"appearance10": "Close button settings",
"appearance11": "shrink to the tray after clicking the close button",
"appearance14": "Doc icon uses the system native Emoji",
"appearance15": "The desktop uses Twitter Emoji by default, and the native Emoji font in the system will be used after it is turned on",
"min": "Min",
"restore": "Restore",
"max": "Max",
"md2": "Code block ligature",
"md3": "After enabling, the code block will display the ligature",
"md4": "Automatically indent the beginning of paragraphs to conform to traditional Chinese typesetting habits",
"md7": "Whether to display the network picture corner mark",
"md8": "After enabling, if the picture is a web file (non-local asset file), it will display a corner mark",
"md12": "Whether to display bookmark, name, alias, memo and reference count",
"md16": "After enabling, if there is such information, it will be displayed on the upper right side of the block",
"md27": "The code block shows the line number",
"md28": "After enabling, the code block will display the line number",
"md29": "Number of Tab Spaces",
"md30": "Replaces with spaces only when tab is pressed, does not replace tabs in clipboard with spaces",
"md31": "Code block wraps",
"md32": "After enabling, the content in the code block will wrap automatically",
"md33": "Virtual Reference",
"md34": "After enabling, it will automatically identify the possible reference relationship according to the name, alias and anchor text of the existing block ref",
"md35": "Virtual Reference keyword exclusion list",
"md36": "Use the English comma <code>,</code> to separate, the comma itself can be escaped by <code>\\,</code>",
"md37": "The maximum length of block ref dynamic anchor text",
"md38": "The maximum length of the anchor text that is automatically rendered when the block ref anchor text is not customized, the default is <code>64</code> characters",
"md39": "PlantUML Serve Address",
"md40": "Leave blank to restore default <code>https://www.plantuml.com/plantuml/svg/~1</code>",
"fileTree2": "The doc tree will automatically select the current document when the editor tab is switched",
"fileTree5": "Ref create doc save location",
"fileTree6": "When using <code>((</code>, the save path of the new document (for example, /folder1/folder2/, the relative path of the current doc is used if it does not start with /)",
"fileTree7": "Open in the current tab",
"fileTree8": "The newly opened document tab will replace the unmodified tab",
"fileTree11": "New daily note",
"fileTree12": "New doc name template",
"fileTree13": "The template snippet is used by default when creating a new doc for naming, for example <code>{{now | date \"20060102150405\"}}</code>",
"fileTree14": "Save path (support date format template variables, such as <code>/Daily Notes/{{now | date \"2006/01\"}}/{{now | date \"2006-01-02\"}}</code>)",
"fileTree15": "Template path (for example, <code>dailynote.md</code>, the file needs to be placed under the workspace/data/templates/)",
"fileTree16": "Maximum number to list",
"fileTree17": "If there are too many sub-documents, this restriction can be used to improve performance",
"fileTree18": "Allows creation of sub-documents deeper than 7 levels",
"fileTree19": "Some operating systems have technical limitations that may prevent manual copying of workspace data after creating sub-documents greater than 7 levels",
"export11": "Content handling method of content ref block when exporting",
"export12": "Content handling method of content embed block when exporting",
"export13": "Anchor text wrapping symbol",
"export14": "Please fill in the symbol on the left side of the anchor text and the symbol on the right side of the anchor text in the input box in turn",
"export15": "Label Package Symbol",
"export16": "Please fill in the symbol on the left side of the tag and the symbol on the right side of the tag in the input box in turn",
"export17": "Add document title",
"export18": "Insert document title as a heading 1 at the beginning",
"export19": "Path to Pandoc executable",
"export20": "Exporting Word .docx files requires format conversion using <a href=\"https://pandoc.org\" target=\"_blank\">Pandoc</a>",
"blockRef": "Ref Block",
"theme11": "Use theme in light mode",
"theme12": "Use theme in dark mode",
"theme13": "Customize the current theme",
"theme14": "After enabling, the customized theme will be used, and after closing, the original theme will be used",
"theme2": "Select the icons used in the user interface",
"language1": "Select the display language of the user interface",
"summary": "Summary",
"bookmark": "Bookmark",
"icon": "Icon",
"appearance": "Appearance",
"export0": "Original text",
"export1": "Blockquote",
"export2": "Anchor text with block URL",
"export3": "Just anchor text",
"export4": "Footnotes",
"export5": "PDF Annotation Ref",
"export6": "About the handling of anchor text in PDF annotations when exporting",
"export7": "File Name - Page Number - Anchor Text",
"export8": "Just anchor text",
"graphConfig2": "Reference Count filter",
"selectOpen": "Always Select Opened Doc",
"selectOpen1": "Select Opened Doc",
"closeAll": "Close All",
"closeOthers": "Close Others",
"closeLeft": "Close Tabs to the Left",
"closeRight": "Close Tabs to the Right",
"closeUnmodified": "Close Unmodified Tabs",
"newFileTip": "Please open a notebook first",
"copyBlockRef": "Copy Block Ref",
"copyBlockEmbed": "Copy Block Embed",
"linkLevel": "Depth",
"mark": "Mark",
"splitLR": "Split Right",
"splitMoveR": "Split and Move Right",
"splitTB": "Split Down",
"splitMoveB": "Split and Move Down",
"debug": "Developer Tools",
"fileTree": "Doc Tree",
"graphView": "Graph View",
"sponsor": "Made by Love, get title",
"relativeRelation": "Linked",
"parentRelation": "Parent - Child",
"openInNewTab": "Open in New Tab",
"help": "Help",
"paragraphBeginningSpace": "Two empty spaces at the beginning of the paragraph",
"outline": "Outline",
"newFile": "New Doc",
"close": "Close",
"delete": "Delete",
"rename": "Rename",
"cancel": "Cancel",
"confirm": "Confirm",
"confirmDelete": "Delete",
"confirmDeleteCloudDir": "Are you sure you want to delete the cloud sync directory",
"back": "Back",
"mount": "Open Notebook",
"newNotebook": "New Notebook",
"fileNameRule": "Not Allow /",
"slogan": "Build Your Eternal Digital Garden",
"showInFolder": "Show in Folder",
"search": "Search",
"config": "Settings",
"userName": "Username",
"password": "Password",
"theme": "Theme",
"language": "Language",
"about": "About",
"about1": "Copyright (c) 2020-present • Yunnan Liandi Technology Co., Ltd. • <a target='_blank' href='https://b3log.org/siyuan/privacy.html'>Privacy Policy</a> • <a target='_blank' href='https://b3log.org/siyuan/eula.html'>User Agreement</a><div class='fn__hr'></div><div class='fn__hr'></div><div class='ft__on-surface'>The core developers of SiYuan are <a href=\"https://github.com/88250\" target=\"_blank\">D</a> and <a href=\"https://github.com/Vanessa219\" target=\"_blank\">V</a>, and the community development contributors can be seen <a href=\"https://github.com/siyuan-note/bazaar/graphs/contributors\" target=\"_blank\">here</a></div>",
"about2": "Use on browser",
"about3": "Please use the Chrome browser and keep it in the same network as the computer, port <code>6806</code>, the IP addresses that may be connected are as follows",
"about4": "Open browser",
"about5": "Access Authorization Code",
"about6": "After configuration, it will be used as the access authentication password, leave it blank to close the authentication",
"about7": "Workspace dir",
"about8": "After the workspace is switched, the data in the current workspace will not be copied to the target workspace<br>If you need to copy data, please manually copy the current workspace <code>data</code> folder on the file system to the target workspace<br>The application will be closed automatically after modification, please restart manually",
"about9": "Automatically upload error messages and diagnostic data",
"about10": "After opening, it will automatically upload error information and diagnostic data through the <a href=\"https://sentry.io\" target=\"_blank\">Sentry</a> SDK, which does not involve personal privacy data so that developers can fix bugs and improve user experience. The application will be closed automatically after modification, please restart manually",
"about11": "Network serving",
"about12": "After enabling, other devices in the same LAN will be allowed to access. The application will be closed automatically after modification, please restart manually",
"about13": "API token",
"about14": "The token needs to be authenticated when calling the API",
"about17": "Do not enable proxy when set to <code>Direct connection</code>. The application will be closed automatically after modification, please restart manually",
"checkUpdate": "Check update",
"currentVer": "Current version",
"visitAnnouncements": "<a href=\"https://github.com/siyuan-note/siyuan/releases\" target=\"_blank\">View system announcements</a>",
"themeLight": "Light",
"themeDark": "Dark",
"pasteAsPlainText": "Paste As Plain Text",
"assets": "Assets",
"alignCenter": "Center",
"alignLeft": "Left",
"alignRight": "Right",
"alternateText": "Alternate text",
"bold": "Blod",
"both": "editor & preview",
"check": "Task List",
"code": "Code Block",
"code-theme": "Code Block Theme Preview",
"column": "Column",
"content-theme": "Content Theme Preview",
"copied": "Copied",
"copy": "Copy",
"delete-column": "Delete Column",
"delete-row": "Delete Row",
"devtools": "Abstract Syntax Tree",
"down": "Down",
"downloadTip": "The browser does not support the download function",
"edit-mode": "Toggle Mode",
"emoji": "Emoji",
"export": "Export",
"fileTypeError": "file type is error",
"fullscreen": "Toggle Fullscreen",
"generate": "Generating",
"headings": "Headings",
"imageURL": "image URL",
"indent": "Indent",
"info": "Info",
"inline-code": "Inline Code",
"insert-after": "Insert line after",
"insert-before": "Insert line Before",
"insertColumnLeft": "Insert 1 left",
"insertColumnRight": "Insert 1 right",
"insertRowAbove": "Insert 1 above",
"insertRowBelow": "Insert 1 below",
"italic": "Italic",
"line": "Divider",
"link": "Link",
"list": "List",
"more": "More",
"nameEmpty": "Name is empty",
"ordered-list": "Order List",
"outdent": "Outdent",
"over": "over",
"preview": "Export Preview",
"quote": "Blockquote",
"startRecord": "Start Record",
"endRecord": "End Record",
"record-tip": "The device does not support recording",
"recording": "recording...",
"redo": "Redo",
"remove": "Remove",
"row": "Row",
"splitView": "Split View",
"strike": "Strike",
"table": "Table",
"title": "Title",
"tooltipText": "Tooltip text",
"undo": "Undo",
"up": "Up",
"update": "Update",
"insertAsset": "Insert image or file",
"uploadError": "upload error",
"uploading": "Uploading...",
"wysiwyg": "WYSIWYG",
"_label": "English",
"_time": {
"albl": "ago",
"blbl": "from now",
"now": "now",
"1s": "1 second %s",
"xs": "%d seconds %s",
"1m": "1 minute %s",
"xm": "%d minutes %s",
"1h": "1 hour %s",
"xh": "%d hours %s",
"1d": "1 day %s",
"xd": "%d days %s",
"1w": "1 week %s",
"xw": "%d weeks %s",
"1M": "1 month %s",
"xM": "%d months %s",
"1y": "1 year %s",
"2y": "2 years %s",
"xy": "%d years %s",
"max": "a long while %s"
},
"_kernel": {
"0": "Query notebook failed",
"1": "Duplicated filename",
"2": "List files of box [%s] and path [%s] failed: %s",
"3": "Read notebook [%s] file [%s] failed: %s",
"4": "Get notebook [%s] file [%s] meta info failed: %s",
"5": "Move notebook [%s] file [%s] failed: %s",
"6": "Create notebook [%s] folder [%s] failed: %s",
"7": "Remove notebook [%s] path [%s] failed: %s",
"8": "Check update failed",
"9": "A new version is available, please browse the release announcement %s",
"10": "Is the latest version",
"11": "Please configure [Settings - Cloud - End-to-End Encryption Password] first",
"12": "Query asset failed [%s]",
"13": "Cannot create a file starting with .",
"14": "Export failed: %s",
"15": "The content block with ID [%s] was not found, please rebuild the index and try again",
"16": "Please enter the doc name",
"17": "The initial synchronization failed at startup. Unpredictable data overwriting may occur if you continue to operate. Please perform a synchronization first",
"18": "Get community user account failed",
"19": "User information has expired, please log in again",
"20": "Cannot be converted to heading when including sub-documents",
"21": "Backup completed",
"22": "Backuping, please wait...",
"23": "Backup failed: %s",
"24": "Failed to obtain cloud sync info: %s",
"25": "The attribute name only supports English letters and digits",
"26": "Generate auth key failed",
"27": "Data integrity check failed",
"28": "Incorrect end-to-end encryption password, unable to decrypt data",
"29": "This feature requires <a target='_blank' href='https://ld246.com/subscribe/siyuan'>paid subscription</a> (If you have subscribed, please refresh or log in again in settings - account)",
"30": "Failed to obtain cloud backup info",
"31": "Account authentication failed, please login again",
"32": "Failed to remove cloud notebook",
"33": "Insufficient permissions to read and write files or access to the network, please check the permissions of the workspace folder and the settings of the anti-virus software/firewall. If you have run SiYuan as an administrator before, please consider switching to a new workspace directory, and do not run it as an administrator in the future (the current workspace directory may no longer be accessible by ordinary users)",
"34": "This operation is not supported in read-only mode",
"35": "Rebuilding index, please wait...",
"36": "Please check the version update in the app store",
"37": "Do not include spaces and special symbols in the name of the cloud sync directory",
"38": "The number of mentioned keywords [%d] is too many, currently only supports up to [512] keywords",
"39": "E2EE password can not be blank",
"40": "Failed to decrypt data",
"41": "Upload completed",
"42": "The setting is complete, the application will be closed automatically, please restart later...",
"43": "The maximum storage capacity of cloud space [%s] has been exceeded, and data upload cannot continue",
"44": "Parse template failed: %s",
"45": "Opening, please wait...",
"46": "The download of the [%s] failed due to network problems, please try again later",
"47": "Uninstall failed: %s",
"48": "Only list the first [%d] sub-documents, if you need to adjust, please modify [Settings - Doc tree - Maximum number to list]",
"49": "Please specify the daily note save path in the Notebook Settings",
"50": "Resolving reference [%s]",
"51": "Cache content block [%d]",
"52": "Every time you open the user guide notebook data will be reset, so please do not save any data in it",
"53": "The index of [%d] documents has been completed, and [%d] remain to be processed",
"54": "Indexing references...",
"55": "Indexed references of [%d] documents",
"56": "Indexed [%d] documents",
"57": "Failed to create temp key",
"58": "After the index is rebuilt, the interface will be automatically refreshed later...",
"59": "Failed to set sync ignore list",
"60": "Failed to get the update package: %s",
"61": "Uploading, please wait...",
"62": "The recovery is complete, and the index will be rebuilt...",
"63": "Recovering, please wait...",
"64": "There are [%d] files in total, it will take some time to index, please wait...",
"65": "Exporting data...",
"66": "Data file [%s] created",
"67": "Uploaded at %s, downloaded at %s",
"68": "Downloading, please wait...",
"69": "Download completed",
"70": "Copy notebook [%s] file [%s] failed: %s",
"71": "Failed to insert asset file, please reopen the document",
"72": "Content has been copied to the system clipboard, please go to SiYuan to paste",
"73": "Importing, please wait...",
"74": "The kernel has not been fully booted [%d%%], please try again later",
"75": "Failed to lock file [%s]",
"76": "The data file has been locked by another program. (If a third-party sync disk is used, please check the sync status)",
"77": "Invalid dir path [%s]",
"78": "The old and new paths are repeated",
"79": "Only supports importing Markdown document",
"80": "Sync failed: %s",
"81": "Syncing data...",
"82": "Synced at %s",
"83": "The access authorization code is incorrect",
"84": "The metadata used for synchronization has been damaged, please refer to <a href=\"https://ld246.com/article/1627822637525\" target=\"_blank\">here</a> to resolve",
"85": "The file is occupied by other programs. Do not use the system file manager to open the workspace folder during operation; do not use a third-party real-time synchronization disk and check whether the workspace folder has write permissions",
"86": "Please configure [Settings - About - Access authorization code]",
"87": "Cannot move to this location",
"88": "Finished parsing [%d] data files, remaining to be processed [%d]",
"89": "Local data will overwrite the data in the cloud sync directory <em>%s</em>",
"90": "Cloud synchronization directory <em>%s</em> data will overwrite local data",
"91": "The local data and the cloud synchronization directory <em>%s</em> have the same data",
"92": "The end-to-end encryption password is set",
"93": "Download failed: %s",
"94": "Upload failed: %s",
"95": "Exiting...",
"96": "Synchronization failed when exiting. Please manually perform a synchronization to ensure that the local data is consistent with the cloud data",
"97": "Force exit",
"98": "Do not set the workspace under the installation path, otherwise data will be lost when uninstalling or updating programs",
"99": "Data cleaning is complete",
"100": "Cleaning data...",
"101": "Done setting reminder [%s]",
"102": "Setting end-to-end encryption password...",
"103": "[%d] data files have been downloaded, and [%d] remaining to be downloaded",
"104": "[%d] data files have been uploaded, and [%d] remaining to be uploaded",
"105": "Network transmission completed",
"106": "Data download has been completed and decryption is in progress...",
"107": "Moving document [%s]",
"108": "Cleaning obsolete indexes...",
"109": "Remove reminder completed [%s]",
"110": "Renaming...",
"111": "Saving document [%s]...",
"112": "Do not include Markdown syntax marker",
"113": "Completing data writing...",
"114": "Tag cannot be empty",
"115": "Please configure [Settings - Export - Pandoc executable path] first",
"116": "Processing, please wait...",
"117": "[%s] is not a valid Pandoc executable",
"118": "The current settings do not allow the creation of sub-documents under a document 7 levels deep",
"119": "Downloading web image [%s]",
"120": "Download complete, [%d] files total",
"121": "There is no network image in this document",
"122": "This function needs to be configured on SiYuan desktop",
"123": "The synchronization function can only be activated after adding/selecting the cloud synchronization directory",
"124": "Please enable cloud sync in [Settings - Enable Cloud Sync]",
"125": "Auto sync failed too many times, please try to manually trigger sync, if there is still a problem, please report it via <a href=\"https://github.com/siyuan-note/siyuan/issues\" target=\"_blank\">GitHub Issues</a>",
"126": "Bookmark cannot be empty",
"127": "There are [%d] days left before the subscription expires, after which the cloud data will be completely deleted. Please visit <a target='_blank' href='https://ld246.com/subscribe/siyuan for renewal '>Here</a>, if you don't need to renew, please log out of your account to close the reminder",
"128": "Subscription has expired, cloud data will be completely deleted after expiration. To renew, please visit <a target='_blank' href='https://ld246.com/subscribe/siyuan'>here</a> , if you don't need to renew, please log out of your account to close the reminder",
"129": "Number of files transferred %d\nTotal bytes received %s\n",
"130": "Number of files transferred %d\nTotal bytes sent %s\n",
"131": "Downloaded in %.2fs",
"132": "Uploaded in %.2fs",
"133": "No changes to local data",
"134": "In order to prevent the newly restored data from being overwritten by synchronization, the data synchronization function has been automatically suspended",
"135": "Please make sure that all devices have been updated to the latest version, and then trigger synchronization after randomly changing a document on the main device, and finally trigger synchronization on other devices"
}
}

View file

@ -0,0 +1,865 @@
{
"sortByUpdateTimeDesc": "Descendant par heure de mise à jour",
"sortByUpdateTimeAsc": "Croissant par heure de mise à jour",
"sortByDownloadsDesc": "Décroissant par téléchargements",
"sortByDownloadsAsc": "Croissant par téléchargements",
"activationCode": "Code d'activation",
"activationCodePlaceholder": "Veuillez saisir ici votre code d'activation d'abonnement",
"exportDataTip": "Empaquetez et exportez tous les fichiers du dossier <code>workspace/data/</code> sous forme d'archive zip",
"importDataTip": "Importer l'archive zip exportée, en écrasant le dossier <code>workspace/data/</code> par le chemin",
"includeChildDoc": "Inclure les documents enfants",
"text": "Texte",
"lastUsed": "Polices récemment utilisées",
"removedNotebook": "Cahier supprimé",
"querySyntax": "Syntaxe de la requête",
"rollback": "Rollback",
"custom": "Personnalisé",
"feedback": "Commentaires",
"inbox": "Boîte de réception",
"turnToStaticRef": "Référence de texte d'ancre statique",
"turnToDynamicRef": "Référence de texte d'ancre dynamique",
"turnToStatic": "Texte d'ancrage statique",
"turnToDynamic": "Texte d'ancrage dynamique",
"sizeLimit": "Limite",
"trafficStat": "Statistiques de trafic",
"hideHeadingBelowBlocks": "Masquer les blocs sous l'en-tête",
"matchDiacritics": "Respecter les accents et diacritiques",
"foldTip": "Êtes-vous sûr de passer en mode édition et d'enregistrer l'état du pli ?",
"copyHPath": "Copier le chemin lisible",
"justify": "Justifier",
"height": "haut",
"deactivateUser": "Désactiver le compte",
"deactivateUserTip": "<ul>\n<li>Une fois le compte désactivé, il ne peut pas être récupéré, veuillez ne pas l'essayer à volonté</li>\n<li>Le nom d'utilisateur sera rempli avec <code>someone101 </code> (le numéro suivant est le numéro d'utilisateur), le mot de passe sera réinitialisé par un nombre aléatoire</li>\n<li>Effacer le surnom, l'auto-étiquette, l'URL, le profil, l'avatar, le lien du site de l'utilisateur , adresse postale et autres informations</li>\n<li>Tous les commutateurs de paramètres de confidentialité seront restaurés à l'état public par défaut</li>\n<li>Comptes sociaux tiers non liés, téléphones portables</li>\n<li>Nom d'utilisateur, numéro de téléphone mobile, tiers lié Le compte ne pourra plus être utilisé à l'avenir</li>\n<li>Le statut de l'utilisateur est défini sur désactivé, connexion interdite</li>\n</ul>",
"mergeCell": "Fusionner la cellule",
"cancelMerged": "Annuler la fusion de cellules",
"useDefaultWidth": "Utiliser la largeur de colonne par défaut",
"crossPageUse": "Conseils pour utiliser plusieurs sélections sur plusieurs pages : cliquez à la position de départ et, après avoir fait défiler la page, à la position de fin ${}",
"type": "Type",
"searchType": "Type (rechercher dans les types activés suivants)",
"searchAttr": "Attribut (recherche non seulement dans le contenu, mais aussi dans les attributs activés suivants)",
"searchBackmention": "Mentions de backlink (les mentions de backlink à partir desquelles les mots-clés de recherche sont obtenus)",
"searchVirtualRef": "Référence virtuelle (les mots-clés de recherche de référence virtuelle sont obtenus à partir de)",
"netImg2LocalAsset": "Convertir des images réseau en images locales",
"releaseDate": "Date de sortie",
"pkgSize": "Taille du package",
"spaceInZE": "Insérer un espace entre les langues chinoise et occidentale",
"dragPosition": "Faites glisser l'image pour la repositionner",
"exportPDF0": "Taille de la page",
"exportPDF1": "Page paysage",
"exportPDF2": "Marges de page",
"exportPDF3": "Échelle de page",
"exportPDF4": "Supprimer le répertoire des actifs",
"upload": "Télécharger",
"defaultPasswordTip": "Après avoir utilisé le mot de passe généré automatiquement, les autres appareils doivent également utiliser le mot de passe généré automatiquement",
"customPassword": "mot de passe personnalisé",
"defaultPassword": "Générer automatiquement un mot de passe",
"reminderTip": "The reminder time cannot be less than the current time",
"wechatTip": "Le bloc de contenu sera envoyé au cloud en texte clair et transmis au message du modèle de compte officiel WeChat à son expiration.",
"notEmpty": "L'heure de rappel ne peut pas être vide",
"experimentalFeature": "(⚗️ Cette fonctionnalité est au stade expérimental)",
"wechatReminder": "Wechat Rappel",
"notifyTime": "Notifier l'heure",
"docName": "Nom du document",
"bootSyncFailed": "Impossible de synchroniser les données au démarrage",
"use": "Utiliser",
"uninstallTip": "Actuellement en cours d'utilisation, vous devez changer avant de désinstaller",
"safeQuit": "Quitter l'application",
"anchor": "ancre",
"showMore": "Afficher plus",
"refPopover": "Utiliser la fenêtre flottante pour ouvrir la référence",
"refRight": "Ouvrir le bloc de référence à droite",
"refBottom": "Ouvrir le bloc de référence dans la goutte inférieure",
"refTab": "Ouvrir le bloc de référence dans un nouvel onglet",
"showHideBg": "Afficher/Masquer l'arrière-plan",
"directConnection": "Connexion directe",
"networkProxy": "Proxy réseau",
"copyAnnotation": "Copier l'annotation",
"rectAnnotation": "Annotation rectangulaire",
"fileName": "Nom du fichier :",
"fileSize": "Taille du fichier :",
"title1": "Titre :",
"author": "Auteur :",
"subject": "Sujet :",
"keywords": "Mots-clés :",
"creationDate": "Date de création :",
"modificationDate": "Modifié le :",
"creator": "Créé par :",
"producer": "Outil de conversion :",
"version": "Version :",
"pageCount": "Nombre de pages :",
"pageSize": "Taille de la page :",
"linearized": "Affichage rapide des pages web :",
"firstPage": "Aller à la première page",
"lastPage": "Aller à la dernière page",
"rotateCw": "Rotation horaire",
"rotateCcw": "Rotation antihoraire",
"cursorText": "Outil de sélection de texte",
"cursorHand": "Outil main",
"scrollVertical": "Défilement vertical",
"scrollHorizontal": "Défilement horizontal",
"scrollWrapped": "Défilement par bloc",
"spreadNone": "Pas de double affichage",
"spreadOdd": "Doubles pages, impaires à gauche",
"spreadEven": "Doubles pages, paires à gauche",
"find_match_count_limit": "Plus de {{limit}} correspondance(s)",
"find_match_count": "Occurrence {{current}} sur {{total}}",
"findHighlight": "Tout surligner",
"findEntireWord": "Mots entiers",
"presentationMode": "Basculer en mode présentation",
"focusOutline": "Trouver lélément de plan actuel",
"previousLabel": "Précédent",
"nextLabel": "Suivant",
"pageScaleWidth": "Pleine largeur",
"pageScaleFit": "Page entière",
"pageScaleAuto": "Zoom automatique",
"pageScaleActual": "Taille réelle",
"thumbPageTitle": "Page {{page}}",
"loading": "Chargement…",
"toggleSidebarNotification2Title": "Afficher/Masquer le panneau latéral (le document contient des signets/pièces jointes/calques)",
"toggleSidebarTitle": "Afficher/Masquer le panneau latéral",
"loadingError": "Une erreur sest produite lors du chargement du fichier PDF.",
"invalidFileError": "Fichier PDF invalide ou corrompu.",
"missingFileError": "Fichier PDF manquant.",
"unexpectedResponseError": "Réponse inattendue du serveur.",
"printingNotSupported": "Attention : limpression nest pas totalement prise en charge par ce navigateur.",
"printingNotReady": "Attention : le PDF nest pas entièrement chargé pour pouvoir limprimer.",
"unitInches": "in",
"unitMillimeters": "mm",
"additionalLayers": "Calques additionnels",
"thumbPage": "Vignette de la page {{page}}",
"thumbsTitle": "Afficher les vignettes",
"document_properties_page_size_name_a3": "A3",
"document_properties_page_size_name_a4": "A4",
"document_properties_page_size_name_letter": "lettre",
"document_properties_page_size_name_legal": "document juridique",
"document_properties_page_size_orientation_portrait": "portrait",
"document_properties_page_size_orientation_landscape": "paysage",
"find_not_found": "Expression non trouvée",
"find_reached_top": "Haut de la page atteint, poursuite depuis la fin",
"find_reached_bottom": "Bas de la page atteint, poursuite au début",
"password_label": "Veuillez saisir le mot de passe pour ouvrir ce fichier PDF.",
"password_invalid": "Mot de passe incorrect. Veuillez réessayer.",
"stateExcepted": "\uD83D\uDEA7 État anormal",
"rebuildIndex": "Reconstruire l'index",
"rebuildIndexTip": "Une erreur d'exécution du système a été trouvée, veuillez choisir de quitter ou de reconstruire l'index pour réparation",
"closeNotebook": "Carnets fermés",
"widget": "Widget",
"customEmoji": "Ajouter un emoji personnalisé",
"customEmojiTip": "Ouvrir <a href=\"javascript:void(0)\" id=\"appearanceOpenEmoji\">Emoji folder</a>, insérez l'image et cliquez sur le bouton d'actualisation",
"recentEmoji": "Emoticônes courantes",
"andSubFile": "et son <b>x</b> sous-fichiers",
"changeIcon": "Changer l'icône",
"includeSubFile": "\nInclure x sous-fichiers",
"untitled": "Sans titre",
"goForward": "Suivant",
"goBack": "Retour",
"lockScreen": "Verrouiller Écran",
"cloudIntro1": "Synchronisation des données cryptées de bout en bout",
"cloudIntro2": "Le processus de cryptage et de décryptage est entièrement réalisé sur le dispositif local",
"cloudIntro3": "L'algorithme de cryptage est le sûr AES GCM, reconnu par l'industrie.",
"cloudIntro4": "Le mot de passe défini par l'utilisateur est crypté avec la clé intégrée du programme et stocké localement",
"cloudIntro5": "À moins de connaître le mot de passe ou par force brute, il ne peut être décrypté",
"cloudIntro6": "Nombre illimité de dispositifs et d'espaces de travail",
"cloudIntro7": "Les différents espaces de travail locaux correspondent à différents répertoires de synchronisation des données dans le Cloud",
"cloudIntro8": "Les différents appareils conservent leur propre historique de données, et les données qui sont remplacées ou supprimées par la synchronisation ne seront pas perdues",
"cloudIntro9": "Service de desserte des assets en cloud",
"cloudIntro10": "Téléchargez les fichiers d'actifs locaux vers le cloud en un clic",
"cloudIntro11": "Un clic pour copier le document sur les plateformes Wechat MP, Zhihu, Yuque etc",
"selectAll": "Sélectionner tout",
"reposTip": "Le nom du répertoire de synchronisation cloud correspondant à l'espace de travail actuel, qui peut être sélectionné sur d'autres appareils après création sur l'appareil principal",
"stickOpen": "Gardez tout ouvert",
"cloud": "Cloud",
"setEmojiTip": "Veuillez aller dans [Paramètres - Apparence] pour ajouter des emoji",
"openSyncTip1": "Activer Cloud Sync",
"openSyncTip2": "Lorsque vous passez de la désactivation à l'activation, il est recommandé de cliquer manuellement sur le bouton de synchronisation pour déclencher une synchronisation",
"cloudSync": "Cloud Sync",
"cloudSyncDir": "Répertoire Cloud Sync",
"emptyCloudSyncList": "La liste de sync du cloud est videy",
"retry": "Réessayer",
"insertVideoURL": "Insérer lien vidéo",
"insertAudioURL": "Insérer lien audio",
"insertImgURL": "Insérer lien Image",
"insertIframeURL": "Insérer lien IFrame",
"context": "Context",
"dockTip": "\nCliquer pour ouvrir/Minimiser\nClic droit Ajuster la position",
"shadow": "Ombre",
"hollow": "Hollow",
"attrValue1": "Si vous laissez la valeur de l'attribut vide, l'attribut sera automatiquement supprimé",
"specifyPath": "Spécifier le chemin",
"changeE2EEPasswdTip": "L'espace de travail actuel utilise un mot de passe personnalisé, et le même mot de passe personnalisé doit être utilisé sur d'autres appareils pour déchiffrer les données. Si vous oubliez le mot de passe, les données du cloud seront définitivement perdues, alors assurez-vous de le conserver dans attention au mot de passe",
"builtinE2EEPasswdTip": "L'espace de travail actuel utilise un mot de passe généré automatiquement, et les autres appareils doivent également utiliser le mot de passe généré automatiquement pour déchiffrer les données",
"changeE2EEPasswd": "Définir le mot de passe de cryptage de bout en bout",
"setPasswd": "Définir le mot de passe",
"e2eePasswd": "Mot de passe de cryptage de bout en bout",
"passwdSet": "Le mot de passe a été défini (Si vous avez besoin de réinitialiser votre mot de passe, veuillez vous référer à la FAQ du document d'aide)",
"e2eePasswdTip": "Le même mot de passe doit être défini sur tous les appareils, une fois défini, il ne prend pas en charge la modification et la visualisation",
"addAttr": "Ajouter",
"addTag": "Ajouter Tag",
"width": "Largeur",
"attrName": "Key",
"attr": "Attribut",
"updatePath": "modifier le répertoire",
"default": "Default",
"titleBg": "Couverture",
"random": "Random",
"darkMode": "mode Sombre",
"downloadRecover1": "Téléchargez la sauvegarde sur le nuage et remplacez la sauvegarde locale, puis restaurez à partir de la sauvegarde locale.",
"deleteCloudBackup": "Supprimer complètement la sauvegarde dans le cloud",
"backupUpload1": "Générez une sauvegarde locale chiffrée, puis téléchargez cette sauvegarde sur le cloud.",
"noOpenFile": "Aucun fichier n'est ouvert",
"backupUpload": "Sauvegarde et transfert",
"downloadRecover": "Télécharger et récupérer",
"cloudBackup": "Sauvegarde en Cloud",
"total": "Total",
"cdn": "Assets",
"backup": "Sauvegarde",
"cloudStorage": "Stockage en ligne",
"vLayout": "Disposition verticale",
"hLayout": "Horizontal horizontale",
"merge": "Merge",
"docWordCount": "Document words",
"blockWordCount": "Mots de bloc",
"docRuneCount": "Caractères des documents",
"blockRuneCount": "Caractères de bloc",
"kbd": "Clavier",
"errorStyle": "Style d'Erreur",
"successStyle": "Style de Réussite",
"warningStyle": "Style d'Avertissement",
"infoStyle": "Style Info",
"chart": "Chart",
"staff": "Staff",
"sup": "Superscript",
"sub": "Subscript",
"enter": "Focus",
"enterBack": "Réduit",
"duplicate": "Dupliquer",
"turnInto": "Convertir en",
"split": "Divisé",
"underline": "Souligner",
"inline-math": "Inline Math",
"moveToUp": "vers le Haut",
"moveToDown": "vers le bas",
"moveToLeft": "vers la Gauche",
"moveToRight": "vers la Droite",
"copyProtocol": "Copier bloc d'hyperliens",
"uploadAssets2CDN": "Transférer les fichiers asset vers le Cloud",
"notSupport1": "Le glisser-déposer entre carnets n'est pas pris en charge",
"keymapTip": "Après avoir modifié les touches de raccourci, il faut les relancer pour qu'elles prennent effet",
"searchLimit": "Le nombre de résultats de recherche affichés",
"searchLimit1": "Si la quantité de données est importante, ne configurez pas la valeur trop grande, la valeur par défaut est <code>64</code>",
"searchCaseSensitive": "Sensible à la casse",
"searchCaseSensitive1": "Après l'activation, toutes les fonctions liées à la recherche seront sensibles à la casse.",
"toggleWin": "Masquer/afficher fenêtres",
"customSort": "Tri personnalisé",
"downloadingUpdate": "Téléchargement du paquet de mise à jour, veuillez patienter...",
"collapse": "Collapse",
"blockEmbed": "incorporer le bloc",
"gutterTip": "Faites glisser pour déplacer la position<br>Cliquez pour ouvrir le Menu<br>⌘Click Accès<br>⌥Click Élargir/Collapse<br>⇧Click Modifier les attribut",
"gutterTip2": "Cliquez pour ouvrir le menu<br>⇧Click Modifier les attribut",
"linkDistance": "Distance du lien",
"collideStrength": "Force de collision",
"collideRadius": "Rayon de collision",
"centerStrength": "Force pour centre",
"lineOpacity": "Opacité de la ligne",
"lineWidth": "Taille de la ligne",
"nodeSize": "Taille du Node",
"arrow": "Flèche",
"paragraph": "Paragraphe",
"math": "Block de Math",
"listItem": "Élément de liste",
"superBlock": "Superblock",
"expandAll": "Tout élargir",
"collapseAll": "Tout Collapse",
"showDock": "Montrer le Dock",
"hideDock": "Cacher le Dock",
"notebookName": "Veuillez entrer un nom de carnet de notes",
"moveToLeftTop": "Déplacer vers la Gauche à Haut",
"moveToLeftBottom": "Déplacer vers la Gauche à Bas",
"moveToRightTop": "Déplacer vers la Droit à Haut",
"moveToRightBottom": "Déplacer vers la Droit à Bas",
"moveToTopLeft": "Déplacer vers la Haut à Gauche",
"moveToTopRight": "Déplacer vers la Haut à Droit",
"moveToBottomLeft": "Déplacer vers la Bas à Gauche",
"moveToBottomRight": "Déplacer vers la Bas à Droit",
"accountDisplayTitle": "Affichage ou pas de l'icône du titre dans la barre supérieure.",
"accountDisplayVIP": "Affichage ou pas de l'icône VIP dans la barre supérieure.",
"rollbackConfirm": "La restauration est une opération irréversible. Une fois la restauration effectuée, les données ne peuvent pas être restaurées à leur état actuel. Êtes-vous sûr d'utiliser <b>${date}</b> pour la restauration ?",
"pdfTip": "L'exportation de PDF ne supporte pas le thème Dark",
"pdfConfirm": "Voulez-vous continuer à exporter avec le thème clear sélectionné ?",
"import": "Importer",
"doc": "Doc",
"openBy": "Ouvrir",
"replace": "Remplacer",
"replaceAll": "Remplacer tout",
"alias": "Alias",
"exportTplSucc": "Le template a été exporté avec succès",
"exportTplTip": "Les données existent déjà, devez-vous les écraser?",
"globalSearch": "Recherche globaleh",
"stickSearch": "Bâton de recherche",
"resetLayout1": "Réinitialiser disposition",
"zoomIn": "Agrandir",
"zoomOut": "Réduit",
"template": "Template",
"move": "Déplacer",
"layout": "disposition",
"expandLevel": "élargir la hiérarchie",
"mindmap": "Mind Map",
"dailyNote": "Note quotidienne",
"memo": "Remarques",
"name": "Nom",
"fold": "Pliage/Élargir",
"zoom": "Zoom et position",
"invalid": "Invalide",
"conflict": "Conflit",
"checkToggle": "Vérifiez la liste des tâches pour passer",
"heading1": "Titre 1",
"heading2": "Titre 2",
"heading3": "Titre 3",
"heading4": "Titre 4",
"heading5": "Titre 5",
"heading6": "Titre 6",
"general": "Général",
"insertBefore": "Insérer un bloc vide devant le bloc où se trouve le curseur",
"insertAfter": "Insérer un bloc vide après le bloc où se trouve le curseur",
"list1": "Liste",
"insert": "Insérer l'élément",
"closeTab": "Fermer l'onglet actuel",
"keymap": "Raccourci",
"clearFontStyle": "Effacer Styles",
"fontStyle": "Effets de fonte",
"font": "Police",
"folder": "Dossier",
"day": "jous",
"pin": "Épingler ",
"unpin": "Détacher",
"createdAt": "Créé en",
"modifiedAt": "Modifié en",
"download": "Télécharger",
"uninstall": "Désinstaller",
"all": "Tous",
"bazaar": "Bazaar",
"revolve": "Revolve",
"useDefault": "Ouvrir avec le programme par défaut",
"previous": "Précédent",
"next": "Prochain",
"lockFile0": "Impossible d'accéder aux données",
"lockFile1": "Le fichier de données a été verrouillé par un autre programme. (Si un disque de synchronisation tiers est utilisé, veuillez vérifier le statut de synchronisation).",
"lockFile2": "Si le problème se produit encore fréquemment lors d'une utilisation ultérieure, veuillez le signaler via <a href=\"https://github.com/siyuan-note/siyuan/issues\" target=\"_blank\">GitHub Issues</a>, merci!",
"kernelFault0": "Connexion au noyau interrompue...",
"kernelFault1": "Si le dialogue ne disparaît pas automatiquement après 7 secondes, veuillez fermer la fenêtre et redémarrer.",
"kernelFault2": "Si le problème persiste après le redémarrage, veuillez le signaler via <a href=\"https://github.com/siyuan-note/siyuan/issues\" target=\"_blank\">GitHub Issues</a>, merci!",
"fontSize": "Taille de la police",
"fontSizeTip": "La taille de la police par défaut est de 16px, ce paramètre n'affecte que la taille de la police affichée dans l'éditeur.",
"font1": "Ce paramètre n'affecte que l'affichage de la famille de polices dans l'éditeur, choisissez <code>Default</code> pour utiliser la famille de polices du thème.",
"newNameFile": "Le nom du nouveau document est",
"newContentFile": "Le contenu du nouveau document est",
"exporting": "En cours d'exportation, veuillez patienter...",
"exported": "Exportation terminée: ",
"refExpired": "Le bloc de contenu de recherche n'existe pas",
"emptyContent": "Aucun contenu pertinent pour le moment",
"useBrowserView": "Afficher dans le navigateur",
"userLocalPDF": "Ouvrir avec un outil PDF local",
"copyID": "Copie ID",
"newBookmark": "Créer une étiquette de signet",
"generateHistory": "Intervalle de génération de l'historique (minutes, 0 pour désactiver)",
"generateHistoryInterval": "L'historique est généré automatiquement lors de l'édition ou de la suppression, et l'historique et la récupération peuvent être consultés dans le Menu du clic Droit du Carnet de Note",
"historyRetentionDays": "Jours de rétention historiques",
"historyRetentionDaysTip": "Les données historiques qui sont dépassé Jours de rétention seront automatiquement et complètement supprimées",
"clearHistory": "Effacer tout l'historique",
"confirmClearHistory": "Êtes-vous sûr de vouloir supprimer complètement toutes les données historiques de l'espace de travail ?",
"fileNameASC": "ordre alphabétique croissant",
"fileNameDESC": "Ordre alphabétique décroissant des noms",
"modifiedASC": "Modifier le temps croissant",
"modifiedDESC": "Modifier le temps décroissant",
"fileNameNatASC": "nom dans l'ordre croissant",
"fileNameNatDESC": "nom par ordre décroissant",
"refCountASC": "Comte Rec croissant",
"refCountDESC": "Comte Rec décroissant",
"createdASC": "Temps créé croissant",
"createdDESC": "Temps créé décroissant",
"sort": "Tri",
"enterFullscreen": "plein écran",
"exitFullscreen": "Quitter le plein écran",
"clearUnused": "assets non-référencés",
"clearAll": "Êtes-vous sûr de nettoyer tous les assets non référencés ?",
"paste": "Coller ",
"pasteRef": "Coller Block Ref",
"pasteEmbed": "Coller Block Intégrer",
"cut": "Couper",
"mentions": "Mentions",
"colorBorder": "Couleur de la Bordure",
"colorFont": "Couleur de la police",
"colorGraph": "Couleur Graph",
"colorInline": "Couleur du document Inline",
"colorPrimary": "Couleur de fond",
"colorScroll": "Couleur de la barre de défilement",
"colorTab": "Couleur d'onglet",
"colorTip": "Couleur de l'info-bulle",
"--b3-theme-primary": "Couleur principale",
"--b3-theme-primary-light": "Couleur principale - Clair",
"--b3-theme-primary-lighter": "Couleurs principale - plus Claires",
"--b3-theme-primary-lightest": "Couleurs principale - les plus Claires",
"--b3-theme-secondary": "Secondaire",
"--b3-theme-background": "Couleurs de fond",
"--b3-theme-surface": "Surface",
"--b3-theme-error": "Erreur",
"--b3-theme-on-primary": "Couleur de la police sur le primaire",
"--b3-theme-on-secondary": "Couleur de la police sur le secondaire",
"--b3-theme-on-background": "Couleur de la police sur le fond",
"--b3-theme-on-surface": "Couleur de la police sur la surface",
"--b3-theme-on-error": "Couleur de la police en Erreur",
"--b3-border-color": "Bordure",
"--b3-scroll-color": "Barre de défilement",
"--b3-list-hover": "Déplacer le curseur dans la liste",
"--b3-tab-background": "Fond du Ongle",
"--b3-tooltips-color": "Fond de l'info-bulle",
"--b3-graph-p-point": "Point du paragraphe",
"--b3-graph-heading-point": "Point titre",
"--b3-graph-math-point": "Point Math",
"--b3-graph-code-point": "Point code",
"--b3-graph-table-point": "Point table",
"--b3-graph-list-point": "Point liste",
"--b3-graph-todo-point": "Point de la liste des tâches",
"--b3-graph-olist-point": "Points dans une liste ordonnée",
"--b3-graph-listitem-point": "Élément de liste Point",
"--b3-graph-bq-point": "Point Blockquote",
"--b3-graph-super-point": "Point Super",
"--b3-graph-doc-point": "Point Document",
"--b3-graph-tag-point": "Point Tag",
"--b3-graph-asset-point": "Point Asset",
"--b3-graph-line": "Ligne",
"--b3-graph-ref-line": "Ligne entre le lien",
"--b3-graph-tag-line": "Ligne entre le tag et le node",
"--b3-graph-tag-tag-line": "Ligne entre Tag et Tag",
"--b3-graph-asset-line": "Ligne entre asset et le node",
"--b3-graph-hl-point": "Choisir le point",
"--b3-graph-hl-line": "Choisir la ligne",
"--b3-protyle-inline-strong-color": "Gras",
"--b3-protyle-inline-em-color": "italique",
"--b3-protyle-inline-s-color": "grève",
"--b3-protyle-inline-link-color": "Lien",
"--b3-protyle-inline-mark-background": "Couleur de fond du Marqueur",
"--b3-protyle-inline-mark-color": "Marqueur",
"--b3-protyle-inline-tag-color": "Tag",
"--b3-protyle-inline-blockref-color": "Ref Bloc",
"open": "Allumer",
"sync": "Synchro",
"syncNow": "Synchro maintenant",
"cloudBook": "Carnet de notes du Cloud",
"payment": "Paiement",
"refresh": "Rafraîchir",
"accountManage": "Gestion des comptes",
"logout": "Se déconnecter",
"refreshUser": "Les informations sur l'utilisateur ont été actualisées",
"insertBottom": "Ouvrir en bas de l'onglet",
"insertRight": "Ouvrir en droit de l'onglet",
"downloadCloud": "Télécharger",
"downloadCloudTip": "Après le téléchargement, la sauvegarde dans le Cloud sera utilisée pour écraser la sauvegarde locale. Voulez-vous télécharger ?",
"account3Tip": "Va-t-il écraser la sauvegarde cloud avec la sauvegarde locale, télécharger ?",
"account1": "Cliquez pour payer",
"account2": "Sauvegarde par cryptage de bout en bout",
"account4": "Le prix du renouvellement reste inchangé à vie",
"account5": "Les Assets du Cloud au service",
"account6": "Restant avant l'expiration de l'abonnement",
"account7": "Fonctions plus avancées",
"account8": "Synchro du cryptage de bout en bout",
"account10": "Abonnement annuel",
"account11": "Jusqu'à la fin de la réduction pour les early bird",
"account12": "Compagnon de vie",
"account13": "Les remboursements ne seront plus pris en charge après l'utilisation du code d'abonnement. Devriez-vous utiliser le code d'abonnement ?",
"priceAnnual": "$72",
"year": "année",
"dataHistory": "Historique des données",
"quitApp": "Quitter?",
"reset": "Réinitialiser",
"siyuanNote": "SiYuan",
"resetLayout": "Restaurer la mise en page par défaut",
"tag": "Tag",
"twoFactorCaptcha": "Vérification en 2 étapes",
"captcha": "Code de vérification",
"register": "Créer un nouveau compte",
"login": "Login",
"accountTip": "J'ai lu et accepté <a target='_blank' href='https://b3log.org/siyuan/privacy.html'>Politique de confidentialité de SiYuan</a>",
"forgetPassword": "Mot de passe oublié",
"accountName": "Nom d'utilisateur/Email/numéro de téléphone",
"account": "Compte",
"globalGraph": "Graphique global",
"backlinks": "Backlinks",
"editor": "Éditeur",
"appearance6": "La disposition de la fenêtre sera restaurée à l'état initial après la réinitialisation.",
"appearance9": "Ouvrir le dossier du thème",
"appearance8": "Ouvrir le dossier d'icônes",
"appearance7": "Commutation automatique avec le lever et le coucher du soleil",
"appearance5": "Sélectionnez le mode de l'interface utilisateur",
"appearance4": "Mode",
"appearance3": "Thème de mise en évidence de la syntaxe des blocs de code en mode Sombre",
"appearance2": "Thème de mise en évidence de la syntaxe des blocs de code en mode Clair",
"appearance1": "Thème du bloc de codes",
"appearance10": "Close button settings",
"appearance11": "shrink to the tray after clicking the close button",
"appearance14": "L'icône Doc utilise l'Emoji natif du système",
"appearance15": "Le bureau utilise Twitter Emoji par défaut, et la police Emoji native du système sera utilisée après son activation",
"min": "Min",
"restore": "Restaurer",
"max": "Max",
"md2": "Ligature du bloc de codes",
"md3": "Après l'activation, le bloc de code affichera la ligature",
"md4": "indenter automatiquement le début des paragraphes pour se conformer aux habitudes de composition traditionnelles chinoises.",
"md7": "Affichage ou non de la marque d'angle de l'image réseau",
"md8": "Après l'activation, si l'image est un fichier web (fichier d'actif non local), une marque d'angle apparaîtra.",
"md12": "Affichage ou non du nombre de signets, de noms, d'alias, de mémos et de références.",
"md16": "Après l'activation, si de telles informations existent, elles seront affichées dans la partie haute à droite du bloc.",
"md27": "Le bloc de code indique le numéro de ligne",
"md28": "Après l'activation, le bloc de code affichera le numéro de ligne.",
"md29": "Nombre d'espaces Tabulation ",
"md30": "Remplace par des espaces uniquement lorsque la tabulation est enfoncée, ne remplace pas les tabulations dans le presse-papiers par des espaces",
"md31": "Saut de ligne du bloc de code",
"md32": "Après l'activation, le contenu du bloc de code sera automatiquement Saut de ligne",
"md33": "Référence virtuelle",
"md34": "Après ouverture, il identifiera automatiquement les relations de référence possibles en fonction du nom, de l'alias et du texte d'ancrage des guillemets de bloc existants",
"md35": "Liste d'exclusion des mots-clés de la référence virtuelle",
"md36": "Utiliser la virgule anglaise <code>,</code> pour séparer, la virgule elle-même peut être échappée par <code>\\,</code>",
"md37": "La longueur maximale du texte d'ancrage dynamique de référence de bloc",
"md38": "La longueur maximale du texte d'ancrage qui est automatiquement rendu lorsque le texte d'ancrage de la référence de bloc n'est pas personnalisé, la valeur par défaut est de <code>64</code> caractères",
"md39": "Adresse Servo PlantUML",
"md40": "Laissez vide pour restaurer <code>https://www.plantuml.com/plantuml/svg/~1/code> par défaut",
"fileTree2": "L'arbre des Docs sélectionne automatiquement le document en cours lorsque l'on change d'onglet d'édition",
"fileTree5": "Référence créer doc enregistrer emplacement",
"fileTree6": "Lors de l'utilisation de <code>((</code>, le chemin d'enregistrement du nouveau document (par exemple, /dossier1/ dossier2/, le chemin relatif du doc actuel est utilisé s'il ne commence pas par /).",
"fileTree7": "Ouvrir dans l'Onglet actuel",
"fileTree8": "L'onglet du document nouvellement ouvert remplacera l'Onglet non modifié.",
"fileTree11": "Nouvelle note quotidienne",
"fileTree12": "Nouveau template de nom de document",
"fileTree13": "L'extrait de modèle est utilisé par défaut lors de la création d'un nouveau document pour le nommage, par exemple <code>{{maintenant | date \"20060102150405\"}}</code>.",
"fileTree14": "Chemin d'enregistrement (prise en charge des variables de modèle de format de date, telles que <code>/Notes quotidiennes/{{mais | date \"2006/01\"}}/{{mais | date \"2006-01-02\"}}</code>)",
"fileTree15": "Chemin du modèle (par exemple, <code>dailynote.md</code>, le fichier doit être placé sous \"l'espace de travail/data/templates/\")",
"fileTree16": "Nombre maximum à lister",
"fileTree17": "S'il y a trop de sous-documents, cette restriction peut être utilisée pour améliorer les performances.",
"fileTree18": "Permet la création de sous-documents de plus de 7 niveaux",
"fileTree19": "Certains systèmes d'exploitation ont des limitations techniques qui peuvent empêcher la copie manuelle des données de l'espace de travail après la création de sous-documents supérieurs à 7 niveaux",
"export11": "Traitement du contenu des blocs de référence lors de l'exportation",
"export12": "Gestion du contenu des blocs intégrés lors de l'exportation",
"export13": "Symbole d'enveloppement du texte d'ancrage",
"export14": "Veuillez remplir le symbole à gauche du texte de l'ancre et le symbole à droite du texte de l'ancre dans le champ de saisie à tour de rôle",
"export15": "Étiquette Symbole de l'emballage",
"export16": "Veuillez remplir successivement le symbole figurant à gauche de l'étiquette et le symbole figurant à droite de l'étiquette dans le champ de saisie.",
"export17": "Ajouter le titre du document",
"export18": "Insérer le titre du document comme titre de premier niveau au début",
"export19": "Chemin vers l'exécutable Pandoc",
"export20": "L'exportation de fichiers Word .docx nécessite une conversion de format à l'aide de <a href=\"https://pandoc.org\" target=\"_blank\">Pandoc</a>",
"blockRef": "Bloc Réf",
"theme11": "Utiliser le thème en mode Clair",
"theme12": "Utiliser le thème en mode sombre",
"theme13": "Personnaliser le thème actuel",
"theme14": "Le thème personnalisé sera utilisé lorsqu'il sera activé et le thème original sera utilisé lorsqu'il sera désactivé.",
"theme2": "Sélectionnez les icônes utilisées dans l'interface utilisateur",
"language1": "Sélectionnez la langue d'affichage de l'interface utilisateur",
"summary": "Résumé",
"bookmark": "Signet",
"icon": "Icône",
"appearance": "Apparence",
"export0": "Texte original",
"export1": "Citation de bloc",
"export2": "Texte d'ancrage avec bloc URL",
"export3": "Juste du texte d'ancrage",
"export4": "Notes de bas de page",
"export5": "Référence d'annotation PDF",
"export6": "À propos de la gestion du texte d'ancrage dans les annotations PDF lors de l'exportation",
"export7": "Nom de fichier - Numéro de page - Texte d'ancrage",
"export8": "Anchor text only",
"graphConfig2": "Filtre de compte de blocs de référence",
"selectOpen": "Localisez toujours les documents ouverts",
"selectOpen1": "Localiser les documents ouverts",
"closeAll": "Fermer tout",
"closeOthers": "Fermer d'autres",
"closeLeft": "Fermer les onglets à gauche",
"closeRight": "Fermer les onglets à droite",
"closeUnmodified": "Fermer les onglets non modifiés",
"newFileTip": "Veuillez d'abord ouvrir un carnet de notes",
"copyBlockRef": "Copier Bloc Réf",
"copyBlockEmbed": "Copier le bloc en tant que bloc incorporé",
"linkLevel": "Niveaux",
"mark": "Mark",
"splitLR": "Split Droit",
"splitMoveR": "Split et Déplacer a Droit",
"splitTB": "Split Bas",
"splitMoveB": "Split and Move Down",
"debug": "Outils Developer",
"fileTree": "Arbre de Doc",
"graphView": "Vue graphique",
"sponsor": "Made by Love, obtenir le titre",
"relativeRelation": "Lié à",
"parentRelation": "Parent - Enfant",
"openInNewTab": "Ouvrir dans un nouvel onglet",
"help": "Aide",
"paragraphBeginningSpace": "Deux espaces vides au début du paragraphe",
"outline": "Outline",
"newFile": "Nouveau Doc",
"close": "Fermer",
"delete": "Supprimer",
"rename": "Renommer",
"cancel": "Annuler",
"confirm": "Confirmer",
"confirmDelete": "Supprimer",
"confirmDeleteCloudDir": "Vous êtes sûr de vouloir supprimer le répertoire du sync cloud",
"back": "Retour",
"mount": "Ouvrir le carnet de notes",
"newNotebook": "Nouveau carnet de notes",
"fileNameRule": "Non autorisé /",
"slogan": "Construisez votre jardin numérique éternel",
"showInFolder": "Afficher dans le dossier",
"search": "Recherche",
"config": "Paramètres",
"userName": "Nom d'utilisateur",
"password": "Mot de passe",
"theme": "Thème",
"language": "Langue",
"about": "À propos de",
"about1": "Copyright (c) 2020-présent • Yunnan Liandi Technology Co., Ltd. • <a target='_blank' href='https://b3log.org/siyuan/privacy.html'>Politique de confidentialité</a> • <a target='_blank' href='https://b3log.org/siyuan/eula.html'>Accord de l'utilisateur</a><div class='fn__hr'></div><div class='fn__hr'></div><div class='ft__on-surface'>Les principaux développeurs de SiYuan sont <a href=\"https://github.com/88250\" target=\"_blank\">D</a> et <a href=\"https://github.com/Vanessa219\" target=\"_blank\">V</a>, et les contributeurs au développement de la communauté peuvent être vus <a href=\"https://github.com/siyuan-note/bazaar/graphs/contributors\" target=\"_blank\">ici</a></div>",
"about2": "Utiliser sur le navigateur",
"about3": "Veuillez utiliser le navigateur Chrome et le garder sur le même réseau que l'ordinateur, port <code>6806</code>, les adresses IP pouvant être connectées sont les suivantes",
"about4": "Ouvrir le navigateur",
"about5": "Accès Code d'autorisation",
"about6": "Configuré comme mot de passe d'authentification d'accès, laisser vide pour désactiver l'authentification.",
"about7": "Répertoire de l'espace de travail",
"about8": "Une fois l'espace de travail basculé, les données de l'espace de travail actuel ne seront pas copiées dans l'espace de travail cible<br>Si vous devez copier des données, veuillez copier manuellement le dossier <code>data</code> de l'espace de travail actuel sur le système de fichiers vers l'espace de travail cible<br>L'application se fermera automatiquement après modification, merci de redémarrer manuellement",
"about9": "Télécharger automatiquement les messages d'erreur et les données de diagnostic",
"about10": "Après l'ouverture, il télécharge automatiquement les informations d'erreur et les données de diagnostic via le SDK <a href=\"https://sentry.io\" target=\"_blank\">Sentry</a>, qui n'implique pas de données personnelles de confidentialité afin que les développeurs puissent corriger les bogues et améliorer l'expérience utilisateur. L'application sera fermée automatiquement après modification, veuillez la redémarrer manuellement.",
"about11": "Service de réseau",
"about12": "Après l'activation, les autres appareils du même réseau local seront autorisés à accéder. L'application sera fermée automatiquement après modification, veuillez la redémarrer manuellement.",
"about13": "API token",
"about14": "Le token doit être authentifié lors de l'appel de l'API.",
"about17": "N'activez pas le proxy lorsqu'il est défini sur <code>Connexion directe</code>. L'application se fermera automatiquement après modification, merci de redémarrer manuellement",
"checkUpdate": "Vérifier la mise à jour",
"currentVer": "Version actuelle",
"visitAnnouncements": "<a href=\"https://github.com/siyuan-note/siyuan/releases\" target=\"_blank\">Voir les annonces du système</a>",
"themeLight": "Clair",
"themeDark": "Sombre",
"pasteAsPlainText": "Coller en texte brut",
"assets": "Assets",
"alignCenter": "Centre",
"alignLeft": "Gauche",
"alignRight": "Droit",
"alternateText": "Textes alternatifs",
"bold": "Blod",
"both": "Editer & Aperçu",
"check": "Liste des tâches",
"code": "Code Block",
"code-theme": "Aperçu du Thème Code Block",
"column": "Colonne",
"content-theme": "Aperçu du Thème du Contenu",
"copied": "Copié",
"copy": "Copie",
"delete-column": "Supprimer une Colonne",
"delete-row": "Supprimer la rangée",
"devtools": "Arbre syntaxique abstrait",
"down": "En bas",
"downloadTip": "Ce navigateur ne prend pas en charge la fonction de téléchargement",
"edit-mode": "Mode Toggle",
"emoji": "Emoji",
"export": "Exporter",
"fileTypeError": "type de fichier est une erreur",
"fullscreen": "Basculer en plein écran",
"generate": "Génération en cours",
"headings": "Titres",
"imageURL": "image URL",
"indent": "Retrait de liste",
"info": "Info",
"inline-code": "Inline Code",
"insert-after": "Insérer une ligne après",
"insert-before": "Insérer la ligne Avant",
"insertColumnLeft": "Insérer 1 gauche",
"insertColumnRight": "Insérer 1 droite",
"insertRowAbove": "Insérer 1 ci-dessus",
"insertRowBelow": "Insérer 1 ci-dessous",
"italic": "Italique",
"line": "Diviseur",
"link": "Lien",
"list": "Liste",
"more": "Plus",
"nameEmpty": "Nom est vide",
"ordered-list": "Liste d'ordres",
"outdent": "Outdent",
"over": "over",
"preview": "Aperçu de l'exportation",
"quote": "Citation de bloc",
"startRecord": "Début d'enregistrement",
"endRecord": "fin d'enregistrement",
"record-tip": "Cet appareil ne supporte pas la fonction d'enregistrement",
"recording": "Enregistrement en cours...",
"redo": "Refaire",
"remove": "Supprimer",
"row": "Rangée",
"splitView": "Vue partagée",
"strike": "Strike",
"table": "Tableau",
"title": "Titre",
"tooltipText": "Texte de l'astuce",
"undo": "Retiré",
"up": "en haut",
"update": "Mises à jour",
"insertAsset": "Insérer une image ou un fichier",
"uploadError": "erreur de transfert",
"uploading": "Transfert en cours",
"wysiwyg": "WYSIWYG",
"_label": "Français",
"_time": {
"albl": "Précédemment",
"blbl": "à partir de maintenant",
"now": "l'instant",
"1s": "1 1 seconde %s",
"xs": "%d secondes %s",
"1m": "1 minute %s",
"xm": "%d minutes %s",
"1h": "1 heure %s",
"xh": "%d heures %s",
"1d": "1 jour %s",
"xd": "%d heures %s",
"1w": "1 semaine %s",
"xw": "%d semaines %s",
"1M": "1 mois %s",
"xM": "%d mois %s",
"1y": "1 an %s",
"2y": "2 ans %s",
"xy": "%d ans %s",
"max": "un bon moment %s"
},
"_kernel": {
"0": "Échec du cahier de requêtes",
"1": "Nom de fichier dupliqué",
"2": "La liste des fichiers de la boîte [%s] et du chemin [%s] a échoué : %s",
"3": "La lecture du fichier du carnet de notes [%s] [%s] a échoué : %s",
"4": "Obtenir un carnet de notes [%s] fichier [%s] échec de la méta-info: %s",
"5": "Le déplacement du carnet de notes [%s] du fichier [%s] a échoué : %s",
"6": "La création du dossier du carnet de notes [%s] dossier [%s] failed: %s",
"7": "La suppression du carnet de notes [%s] path [%s] a échoué : %s",
"8": "La vérification de la mise à jour a échoué",
"9": "Une nouvelle version est disponible, veuillez consulter l'annonce de la version %s",
"10": "C'est la dernière version",
"11": "Veuillez d'abord configurer [Paramètres - Cloud - Mot de passe de chiffrement de bout en bout]",
"12": "Échec de la requête asset [%s]",
"13": "Impossible de créer un fichier commençant par .",
"14": "L'exportation a échoué : %s",
"15": "Le bloc de contenu avec l'ID [%s] n'a pas été trouvé, veuillez reconstruire l'index et réessayer",
"16": "Veuillez entrer le nom du fichier",
"17": "La synchronisation initiale a échoué au démarrage. Un écrasement imprévisible des données peut se produire si vous continuez à fonctionner. Veuillez d'abord effectuer une synchronisation.",
"18": "Échec de la récupération du compte utilisateur communautaire",
"19": "Les informations de l'utilisateur ont expiré, veuillez vous connecter à nouveau.",
"20": "Ne peut pas être converti en titre lorsque des sous-documents sont inclus.",
"21": "Sauvegarde terminée",
"22": "En cours de sauvegarde, veuillez patienter....",
"23": "La sauvegarde a échoué : %s",
"24": "Impossible d'obtenir les informations de synchronisation du Cloud : %s",
"25": "Le nom de l'attribut ne supporte que les lettres et les chiffres anglais.",
"26": "La génération de la clé d'authentification a échoué",
"27": "La vérification de l'intégrité des données a échoué",
"28": "Mot de passe de cryptage de bout en bout incorrect, impossible de décrypter les données",
"29": "Cette fonctionnalité nécessite <a target='_blank' href='https://ld246.com/subscribe/siyuan'>un abonnement payant</a> (Si vous êtes déjà abonné, Rafraîchissez ou connectez - vous à nouveau dans Paramètres - compte)",
"30": "Impossible d'obtenir des informations sur la sauvegarde dans le Cloud.",
"31": "L'authentification du compte a échoué, veuillez vous reconnecter",
"32": "Échec de la suppression de carnet de notes du Cloud",
"33": "Autorisations insuffisantes pour lire et écrire des fichiers ou accéder au réseau, veuillez vérifier les autorisations du dossier de l'espace de travail et les paramètres du logiciel anti-virus/pare-feu. Si vous avez déjà exécuté SiYuan en tant qu'administrateur, envisagez de passer à un nouveau répertoire d'espace de travail et ne l'exécutez plus en tant qu'administrateur à l'avenir (le répertoire d'espace de travail actuel peut ne plus être accessible aux utilisateurs ordinaires) ",
"34": "Cette opération n'est pas supportée en mode lecture seule.",
"35": "Recréation de l'index, veuillez patienter...",
"36": "Veuillez vérifier la mise à jour de la version dans l'App Store",
"37": "N'incluez pas d'espaces et de symboles spéciaux dans le nom du répertoire de synchronisation cloud",
"38": "Le nombre de mots-clés mentionnés [%d] est trop élevé, ne prend actuellement en charge que jusqu'à [512] mots-clés",
"39": "Le mot de passe E2EE ne peut pas être vide",
"40": "Échec du décryptage des données",
"41": "Transfert complété",
"42": "Le paramétrage est terminé, l'application se fermera automatiquement, merci de redémarrer plus tard...",
"43": "La capacité de stockage maximale de l'espace cloud [%s] a été dépassée et le téléchargement des données ne peut pas continuer",
"44": "L'analyse du template a échoué : %s",
"45": "En cours d'ouverture, veuillez patienter...",
"46": "Le téléchargement du [%s] a échoué en raison de problèmes de réseau, veuillez réessayer plus tard.",
"47": "La désinstallation a échoué : %s",
"48": "Seuls les premiers [%d] sous-documents sont listés, si vous avez besoin d'ajuster, veuillez modifier [Paramètres - Arbre des documents - Nombre maximum de documents à lister].",
"49": "Veuillez spécifier le chemin d'enregistrement des notes quotidiennes dans les paramètres du carnet de notes.",
"50": "Résolution des référence [%s]",
"51": "Blocage du contenu du cache [%d]",
"52": "Chaque fois que vous ouvrez le guide de l'utilisateur, les données du notebook seront réinitialisées, veuillez donc ne pas y enregistrer de données.",
"53": "L'indexation de [%d] documents est terminée, et [%d] restent à traiter.",
"54": "Indexation des références...",
"55": "Références indexées de [%d] documents",
"56": "Indexé [%d] documents",
"57": "Échec de la création d'une clé temporaire",
"58": "Une fois l'index reconstruit, l'interface sera automatiquement rafraîchie ultérieurement...",
"59": "Échec de la définition de la liste des ignores de synchronisation",
"60": "Échec de la récupération du paquet de mise à jour : %s",
"61": "En cours de transfert, veuillez patienter...",
"62": "La récupération est terminée, et l'index sera reconstruit...",
"63": "Récupération, veuillez patienter...",
"64": "Il y a [%d] fichiers au total, l'indexation prendra un certain temps, veuillez patienter...",
"65": "Exportation des données...",
"66": "Fichier de données [%s] créé",
"67": "Transféré à %s, téléchargé à %s",
"68": "En cours de téléchargement, veuillez patienter...",
"69": "Téléchargement terminé",
"70": "La copie du carnet de notes [%s] du fichier [%s] a échoué : %s",
"71": "L'insertion du fichier asset a échoué, veuillez rouvrir le document.",
"72": "Le contenu a été copié dans le presse-papiers du système, veuillez vous rendre sur SiYuan pour le coller.",
"73": "En cours d'importation, veuillez patienter...",
"74": "Le kernel n'a pas été complètement démarré [%d%%], veuillez réessayer plus tard.",
"75": "Impossible de verrouiller le fichier [%s]",
"76": "Le fichier de données a été verrouillé par un autre programme. (Si un disque de synchronisation tiers est utilisé, veuillez vérifier le statut de synchronisation).",
"77": "Chemin d'accès invalide [%s]",
"78": "Les anciens et les nouveaux chemins sont répétés",
"79": "Prise en charge de l'importation de documents Markdown uniquement",
"80": "Échec de la Synchro : %s",
"81": "Synchronisation des données...",
"82": "Synchronisé à %s",
"83": "Le code d'autorisation d'accès est incorrect",
"84": "Les métadonnées utilisées pour la synchronisation ont été endommagées, veuillez vous référer à <a href=\"https://ld246.com/article/1627822637525\" target=\"_blank\">ici</a> pour les résoudre.",
"85": "Le fichier est occupé par d'autres programmes. N'utilisez pas le gestionnaire de fichiers système pour ouvrir le dossier de l'espace de travail pendant le fonctionnement ; n'utilisez pas de disque de synchronisation en temps réel tiers et vérifiez si le dossier de l'espace de travail dispose des autorisations d'écriture",
"86": "Veuillez configurer [Paramètres - A propos de - Code d'autorisation d'accès]",
"87": "Impossible de se déplacer vers cet endroit",
"88": "Fin de l'analyse des fichiers de données [%d], restant à traiter [%d]",
"89": "Les données locales écraseront les données du répertoire de synchronisation cloud <em>%s</em>",
"90": "Les données du répertoire de synchronisation cloud <em>%s</em> écraseront les données locales",
"91": "Les données locales et le répertoire de synchronisation cloud <em>%s</em> ont les mêmes données",
"92": "Le mot de passe de cryptage de bout en bout est défini",
"93": "Le téléchargement a échoué : %s",
"94": "Échec du téléchargement : %s",
"95": "Quitter le programme...",
"96": "La synchronisation a échoué lors de la sortie. Veuillez effectuer une synchronisation manuellement pour vous assurer que les données locales sont cohérentes avec les données du cloud",
"97": "Forcer la sortie",
"98": "Ne définissez pas l'espace de travail sous le chemin d'installation, sinon les données seront perdues lors de la désinstallation ou de la mise à jour des programmes",
"99": "Le nettoyage des données est terminé",
"100": "Nettoyage des données...",
"101": "Rappel de réglage terminé [%s]",
"102": "Définition du mot de passe de cryptage de bout en bout...",
"103": "[%d] fichiers de données ont été téléchargés, il reste à télécharger [%d]",
"104": "[%d] fichiers de données ont été téléchargés, et [%d] reste à télécharger",
"105": "Transmission réseau terminée",
"106": "Le téléchargement des données est terminé et le décryptage est en cours...",
"107": "Déplacement du document [%s]",
"108": "Nettoyage des index obsolètes...",
"109": "Supprimer le rappel terminé [%s]",
"110": "Renommer...",
"111": "Enregistrement du document [%s]...",
"112": "Ne pas inclure les balises de syntaxe Markdown",
"113": "Fin de l'écriture des données...",
"114": "La balise ne peut pas être vide",
"115": "Veuillez d'abord configurer [Paramètres - Exporter - Chemin de l'exécutable Pandoc]",
"116": "Traitement en cours, veuillez patienter...",
"117": "[%s] n'est pas un exécutable Pandoc valide",
"118": "Les paramètres actuels ne permettent pas la création de sous-documents sous un document de 7 niveaux de profondeur",
"119": "Téléchargement de l'image Web [%s]",
"120": "Téléchargement terminé, [%d] fichiers au total",
"121": "Il n'y a pas d'image réseau dans ce document",
"122": "Cette fonction doit être configurée sur le bureau SiYuan",
"123": "Ajouter/sélectionner un répertoire de synchronisation Cloud avant d'activer la synchronisation",
"124": "Veuillez activer la synchronisation cloud dans [Paramètres - Activer la synchronisation cloud]",
"125": "Il y a trop d'échecs de téléchargement dans la synchronisation automatique. Veuillez essayer de déclencher manuellement la synchronisation. Si le problème persiste, veuillez le signaler via <a href=\"https://github.com/siyuan-note/siyuan/issues\" target=\"_blank\">GitHub Issues</a>",
"126": "Les signets ne peuvent pas être vides",
"127": "Il reste [%d] jours avant l'expiration de l'abonnement, après quoi les données cloud seront complètement supprimées. Veuillez visiter <a target='_blank' href='https://ld246.com/subscribe/ siyuan pour le renouvellement '>ici</a>, si vous n'avez pas besoin de renouveler, veuillez vous déconnecter de votre compte pour fermer le rappel",
"128": "L'abonnement a expiré, les données cloud seront complètement supprimées après l'expiration. Pour renouveler, veuillez visiter <a target='_blank' href='https://ld246.com/subscribe/siyuan'>ici</a > , si vous n'avez pas besoin de renouveler, veuillez vous déconnecter de votre compte pour fermer le rappel",
"129": "Fichier transféré %d\noctets reçus %s\n",
"130": "Fichier transféré %d\noctets envoyés %s\n",
"131": "Temps de téléchargement %.2fs",
"132": "Le téléchargement a pris %.2fs",
"133": "Aucune modification des données locales",
"134": "Afin d'éviter que les données nouvellement restaurées ne soient écrasées par la synchronisation, la fonction de synchronisation des données a été automatiquement suspendue",
"135": "Assurez-vous que tous les appareils ont été mis à jour vers la dernière version, puis déclenchez la synchronisation après avoir modifié de manière aléatoire un document sur l'appareil principal, et enfin déclenchez la synchronisation sur d'autres appareils."
}
}

View file

@ -0,0 +1,864 @@
{
"sortByUpdateTimeDesc": "更新時間降序",
"sortByUpdateTimeAsc": "更新時間升序",
"sortByDownloadsDesc": "下載次數降序",
"sortByDownloadsAsc": "下載次數升序",
"activationCode": "激活碼",
"activationCodePlaceholder": "請在這裡輸入訂閱激活碼",
"exportDataTip": "將 <code>工作空間/data/</code> 文件夾下的所有文件以 zip 壓縮包方式打包導出",
"importDataTip": "將導出的 zip 壓縮包導入,按路徑覆蓋 <code>工作空間/data/</code> 文件夾",
"includeChildDoc": "包含子文檔",
"text": "文本",
"lastUsed": "最近使用過的字體",
"removedNotebook": "已刪除的筆記本",
"querySyntax": "查詢語法",
"rollback": "回滾",
"custom": "自定義",
"feedback": "反饋",
"inbox": "收件箱",
"turnToStaticRef": "靜態錨文本引用",
"turnToDynamicRef": "動態錨文本引用",
"turnToStatic": "靜態錨文本",
"turnToDynamic": "動態錨文本",
"sizeLimit": "上限",
"trafficStat": "流量統計",
"hideHeadingBelowBlocks": "隱藏標題下方的塊",
"matchDiacritics": "符合變音符號",
"foldTip": "確定修改為編輯模式並記錄折疊狀態?",
"copyHPath": "複製可讀路徑",
"justify": "兩側對齊",
"height": "高度",
"deactivateUser": "註銷賬號",
"deactivateUserTip": "<ul>\n<li>賬號一旦停用就無法恢復,請不要隨意嘗試</li>\n<li>用戶名會被 <code>someone101</code> 填充(後面的數字是用戶編號),密碼會被隨機數重置</li>\n<li>清空用戶暱稱、自我標籤、URL、簡介、頭像、站點連接、郵寄地址等信息</li>\n<li>所有隱私設置開關將恢復默認的公開狀態</li>\n<li>解綁關聯的第三方社交賬號、手機</li>\n<li>用戶名、手機號、綁定的第三方賬號以後將不能再次被使用</li>\n<li>用戶狀態被置為停用,禁止登錄</li>\n</ul>",
"mergeCell": "合併單元格",
"cancelMerged": "拆分單元格",
"useDefaultWidth": "使用默認列寬",
"crossPageUse": "跨頁多選使用提示:在開始位置單擊,滾動頁面以後在結束位置 ${}",
"type": "類型",
"searchType": "類型(在以下啟用的類型中進行搜索)",
"searchAttr": "屬性(不僅在內容中進行搜索,同時也會在以下啟用的屬性中搜索)",
"searchBackmention": "反鏈提及(反鏈提及搜索關鍵字從以下方式獲得)",
"searchVirtualRef": "虛擬引用(虛擬引用搜索關鍵字從以下方式獲得)",
"netImg2LocalAsset": "網絡圖片轉換為本地圖片",
"releaseDate": "發布日期",
"pkgSize": "包大小",
"spaceInZE": "中西文間插入空格",
"dragPosition": "拖動圖像重新定位",
"exportPDF0": "頁面大小",
"exportPDF1": "橫向頁面",
"exportPDF2": "頁面邊距",
"exportPDF3": "頁面縮放",
"exportPDF4": "移除 assets 目錄",
"upload": "上傳",
"defaultPasswordTip": "使用自動生成密碼後其他設備也都必須使用自動生成密碼",
"customPassword": "自定義密碼",
"defaultPassword": "自動生成密碼",
"reminderTip": "提醒時間不能小於當前時間",
"wechatTip": "該內容塊將以明文形式發送到雲端,到期時通過微信公眾號模板消息進行推送",
"notEmpty": "提醒時間不能為空",
"experimentalFeature": "(⚗️ 該特性正處於試驗階段)",
"wechatReminder": "微信提醒",
"notifyTime": "提醒時間",
"docName": "文檔名",
"bootSyncFailed": "啟動時同步數據失敗",
"use": "使用",
"uninstallTip": "當前正在使用中,需切換後才能進行卸載",
"safeQuit": "退出應用",
"anchor": "錨點",
"showMore": "顯示更多",
"refPopover": "使用浮窗打開引用塊",
"refRight": "在右側打開引用塊",
"refBottom": "在下側打開引用塊",
"refTab": "在新分頁中打開引用塊",
"showHideBg": "顯示/隱藏背景",
"directConnection": "直接連接",
"networkProxy": "網路代理",
"copyAnnotation": "複製標注",
"rectAnnotation": "矩形標注",
"fileName": "檔案名:",
"fileSize": "文件大小:",
"title1": "標題:",
"author": "作者:",
"subject": "主題:",
"keywords": "關鍵字:",
"creationDate": "創建日期:",
"modificationDate": "修改日期:",
"creator": "創建者:",
"producer": "生成器:",
"version": "版本:",
"pageCount": "頁數:",
"pageSize": "頁面大小:",
"linearized": "快速 Web 視圖:",
"firstPage": "轉到第一頁",
"lastPage": "轉到最後一頁",
"rotateCw": "順時針旋轉",
"rotateCcw": "逆時針旋轉",
"cursorText": "文本選擇工具",
"cursorHand": "手形工具",
"scrollVertical": "垂直捲動",
"scrollHorizontal": "水平捲動",
"scrollWrapped": "平鋪捲動",
"spreadNone": "單頁視圖",
"spreadOdd": "雙頁視圖",
"spreadEven": "書籍視圖",
"find_match_count_limit": "超過 {{limit}} 項比對",
"find_match_count": "第 {{current}} 項,共比對 {{total}} 項",
"findHighlight": "全部突顯顯示",
"findEntireWord": "字詞比對",
"presentationMode": "切換到展示模式",
"focusOutline": "查找當前大綱項",
"previousLabel": "上一頁",
"nextLabel": "下一頁",
"pageScaleWidth": "適合頁寬",
"pageScaleFit": "適合頁面",
"pageScaleAuto": "自動縮放",
"pageScaleActual": "實際大小",
"thumbPageTitle": "第 {{page}} 頁",
"loading": "正在載入…",
"toggleSidebarNotification2Title": "切換側欄(文檔所含的大綱/附件/圖層)",
"toggleSidebarTitle": "切換側欄",
"loadingError": "載入 PDF 時發生錯誤。",
"invalidFileError": "無效或損壞的 PDF 檔。",
"missingFileError": "缺少 PDF 文件。",
"unexpectedResponseError": "意外的伺服器回應。",
"printingNotSupported": "警告:此瀏覽器尚未完整支援列印功能。",
"printingNotReady": "警告:此 PDF 未完成載入,無法列印。",
"unitInches": "英寸",
"unitMillimeters": "毫米",
"additionalLayers": "其他圖層",
"thumbPage": "頁面 {{page}} 的縮略圖",
"thumbsTitle": "顯示縮略圖",
"document_properties_page_size_name_a3": "A3",
"document_properties_page_size_name_a4": "A4",
"document_properties_page_size_name_letter": "文本",
"document_properties_page_size_name_legal": "法律",
"document_properties_page_size_orientation_portrait": "縱向",
"document_properties_page_size_orientation_landscape": "橫向",
"find_not_found": "找不到指定詞語",
"find_reached_top": "到達文檔開頭,從末尾繼續",
"find_reached_bottom": "到達文檔末尾,從開頭繼續",
"password_label": "輸入密碼以打開此 PDF 檔。",
"password_invalid": "密碼無效。請重試。",
"stateExcepted": "\uD83D\uDEA7 狀態異常",
"rebuildIndex": "重建索引",
"rebuildIndexTip": "發現了一個系統執行階段錯誤,請選擇需要退出還是重建索引進行修復",
"closeNotebook": "已關閉的筆記本",
"widget": "小工具",
"customEmoji": "新增自訂表情",
"customEmojiTip": "打開 <a href=\"javascript:void(0)\" id=\"appearanceOpenEmoji\">Emoji 資料夾</a> 放入圖片後並點擊重新整理按鈕",
"recentEmoji": "常用表情",
"andSubFile": "及其 <b>x</b> 個子文檔",
"changeIcon": "修改圖示",
"includeSubFile": "\n包含 x 個子文檔",
"untitled": "新文檔",
"goForward": "前進",
"goBack": "後退",
"lockScreen": "鎖定畫面",
"cloudIntro1": "端到端加密資料同步",
"cloudIntro2": "加密和解密過程完全在本地設備上進行",
"cloudIntro3": "加密演算法為業界公認安全的 AES GCM",
"cloudIntro4": "使用者設置的密碼使用程式內置金鑰加密後存儲在本地",
"cloudIntro5": "除非知道密碼或者暴力破解,否則不可能被解密",
"cloudIntro6": "不限制設備數量和工作空間數量",
"cloudIntro7": "不同的本地工作空間分別對應雲端不同的資料同步目錄",
"cloudIntro8": "不同的設備保留自己的資料歷史,被同步覆蓋或刪除的資料不會丟失",
"cloudIntro9": "雲端圖庫服務",
"cloudIntro10": "一鍵將本地資料檔上傳到雲端",
"cloudIntro11": "一鍵將文檔複製到公眾號、知乎和語雀等平臺",
"selectAll": "全選",
"reposTip": "當前工作空間對應的雲端同步目錄名稱,主力設備上創建後其他設備上進行選擇即可",
"stickOpen": "保持全部展開",
"cloud": "雲端",
"setEmojiTip": "請在 [設置 - 外觀] 中新增自訂表情",
"openSyncTip1": "啟用雲端同步",
"openSyncTip2": "從禁用改為啟用時建議手動點擊同步按鈕觸發一次同步",
"cloudSync": "雲端同步",
"cloudSyncDir": "雲端同步目錄",
"emptyCloudSyncList": "雲端同步列表為空",
"retry": "重試",
"insertVideoURL": "插入影片連結",
"insertAudioURL": "插入音訊連結",
"insertImgURL": "插入圖片連結",
"insertIframeURL": "插入 IFrame 連結",
"context": "上下文",
"dockTip": "\n按一下 展開/最小化\n右鍵 調整位置",
"shadow": "投影",
"hollow": "鏤空",
"attrValue1": "屬性值留空則會自動刪除該屬性",
"specifyPath": "指定路徑",
"changeE2EEPasswdTip": "當前工作空間使用的是自定義密碼,其他其他設備上也必須使用相同的自定義密碼才能解密數據。如果你忘記了密碼,雲端數據將永久丟失,所以請務必牢記該密碼",
"builtinE2EEPasswdTip": "當前工作空間使用的是自動生成密碼,其他設備上也必須使用自動生成密碼才能解密數據",
"changeE2EEPasswd": "設置端到端加密密碼",
"setPasswd": "設置密碼",
"e2eePasswd": "端到端加密密碼",
"passwdSet": "密碼已經設置(如果需要重置密碼,請參考幫助文檔常見問題)",
"e2eePasswdTip": "所有設備上必須設置相同的密碼,一旦設置就不支援修改和查看",
"addAttr": "新增",
"addTag": "新增標籤",
"width": "寬度",
"attrName": "屬性名",
"attr": "屬性",
"updatePath": "修改目錄",
"default": "預設",
"titleBg": "封面圖",
"random": "隨機",
"darkMode": "深色模式",
"downloadRecover1": "將雲端備份下載並覆蓋本地備份,然後從本地備份進行恢復",
"deleteCloudBackup": "徹底刪除雲端備份",
"backupUpload1": "生成加密過的本地備份,然後將該備份上傳到雲端",
"noOpenFile": "沒有打開的文檔",
"backupUpload": "備份並上傳",
"downloadRecover": "下載並恢復",
"cloudBackup": "雲端備份",
"total": "總計",
"cdn": "圖庫",
"backup": "備份",
"cloudStorage": "雲端存儲",
"vLayout": "垂直佈局",
"hLayout": "水平佈局",
"merge": "合併",
"docWordCount": "文檔詞數",
"blockWordCount": " 塊詞數",
"docRuneCount": "文檔字數",
"blockRuneCount": " 塊字數",
"kbd": "鍵盤",
"errorStyle": "錯誤樣式",
"successStyle": "成功樣式",
"warningStyle": "警告樣式",
"infoStyle": "資訊樣式",
"chart": "圖表",
"staff": "五線譜",
"sup": "上標",
"sub": "下標",
"enter": "聚焦",
"enterBack": "聚焦到上層",
"duplicate": "重複",
"turnInto": "轉換為",
"split": "並排顯示",
"underline": "底線",
"inline-math": "行內數學公式",
"moveToUp": "向上移",
"moveToDown": "向下移",
"moveToLeft": "向左移",
"moveToRight": "向右移",
"copyProtocol": "複製塊超連結",
"uploadAssets2CDN": "上傳資料檔到雲端",
"notSupport1": "不支援跨筆記本進行拖拽",
"keymapTip": "快速鍵修改後需要重新開機後才能生效",
"searchLimit": "搜索結果顯示數",
"searchLimit1": "如果資料量較大,該值請勿配置過大,預設為 <code>64</code>",
"searchCaseSensitive": "區分大小寫",
"searchCaseSensitive1": "啟用後所有搜索相關功能將區分大小寫",
"toggleWin": "隱藏/顯示視窗",
"customSort": "自訂排序",
"downloadingUpdate": "正在下載更新包,請稍等...",
"collapse": "摺疊",
"blockEmbed": "嵌入塊",
"gutterTip": "拖拽 移動位置<br>點擊 打開菜單<br>⌘Click 進入<br>⌥Click 摺疊/展開<br>⇧Click 修改屬性",
"gutterTip2": "點擊 打開功能表<br>⇧Click 修改屬性",
"linkDistance": "連結距離",
"collideStrength": "斥力強度",
"collideRadius": "斥力半徑",
"centerStrength": "中心引力強度",
"lineOpacity": "連線透明度",
"lineWidth": "連線粗細",
"nodeSize": "節點大小",
"arrow": "箭頭",
"paragraph": "段落",
"math": "數學公式塊",
"listItem": "列表項",
"superBlock": "超級塊",
"expandAll": "全部展開",
"collapseAll": "全部摺疊",
"showDock": "顯示停靠欄",
"hideDock": "隱藏停靠欄",
"notebookName": "請輸入筆記本名稱",
"moveToLeftTop": "移動到左側上方",
"moveToLeftBottom": "移動到左側下方",
"moveToRightTop": "移動到右側上方",
"moveToRightBottom": "移動到右側下方",
"moveToTopLeft": "移動到上側左方",
"moveToTopRight": "移動到上側右方",
"moveToBottomLeft": "移動到下側左方",
"moveToBottomRight": "移動到下側右方",
"accountDisplayTitle": "首欄顯示頭銜",
"accountDisplayVIP": "首欄顯示 VIP",
"rollbackConfirm": "回滾是不可逆的操作,一旦執行回滾後數據就無法回到當前狀態,確定使用 <b>${date}</b> 進行回滾嗎?",
"pdfTip": "PDF 匯出不支援深色主題",
"pdfConfirm": "是否使用已選擇的淺色主題繼續匯出?",
"import": "導入",
"doc": "文檔",
"openBy": "打開",
"replace": "替換",
"replaceAll": "全部替換",
"alias": "別名",
"exportTplSucc": "範本匯出成功",
"exportTplTip": "該數據已經存在,是否需要覆蓋?",
"globalSearch": "全域搜索",
"stickSearch": "固定搜索",
"resetLayout1": "重置佈局",
"zoomIn": "放大",
"zoomOut": "縮小",
"template": "範本",
"move": "移動",
"layout": "佈局",
"expandLevel": "展開層級",
"mindmap": "心智圖",
"dailyNote": "日記",
"memo": "備註",
"name": "命名",
"fold": "摺疊/展開",
"zoom": "縮放和位置",
"invalid": "無效",
"conflict": "衝突",
"checkToggle": "任務列表勾選切換",
"heading1": "一級標題",
"heading2": "二級標題",
"heading3": "三級標題",
"heading4": "四級標題",
"heading5": "五級標題",
"heading6": "六級標題",
"general": "通用",
"insertBefore": "游標所在塊前插入空塊",
"insertAfter": "游標所在塊後插入空塊",
"list1": "列表",
"insert": "插入元素",
"closeTab": "關閉當前分頁",
"keymap": "快速鍵",
"clearFontStyle": "清除樣式",
"fontStyle": "字體效果",
"font": "字體",
"folder": "資料夾",
"day": "天",
"pin": "釘選",
"unpin": "取消釘選",
"createdAt": "創建於",
"modifiedAt": "更新於",
"download": "下載",
"uninstall": "解除安裝",
"all": "全部",
"bazaar": "集市",
"revolve": "旋轉",
"useDefault": "使用預設程式打開",
"previous": "上一個",
"next": "下一個",
"lockFile0": "無法存取資料",
"lockFile1": "資料檔案已被其他程式鎖定。(如果使用了協力廠商同步碟,請檢查同步狀態)",
"lockFile2": "如果後續使用仍然頻繁出現該問題,請通過<a href=\"https://github.com/siyuan-note/siyuan/issues\" target=\"_blank\">GitHub Issues</a>回饋,謝謝!",
"kernelFault0": "kernel連接中斷...",
"kernelFault1": "如果 7 秒後該對話方塊沒有自動消失,請關閉視窗後重新開機。",
"kernelFault2": "如果重啟後仍然出現該問題,請通過<a href=\"https://github.com/siyuan-note/siyuan/issues\" target=\"_blank\">GitHub Issues</a>回饋,謝謝!",
"fontSize": "字型大小",
"fontSizeTip": "字型大小預設為 16px該設置僅影響編輯器內字體大小顯示",
"font1": "該設置僅影響編輯器內字體顯示,選擇 <code>預設</code> 則使用主題自帶字體",
"newNameFile": "新建文檔名為",
"newContentFile": "新建文檔內容為",
"exporting": "正在匯出,請稍等...",
"exported": "匯出完成:",
"refExpired": "不存在符合條件的內容塊",
"emptyContent": "暫無相關內容",
"useBrowserView": "在瀏覽器中查看",
"userLocalPDF": "使用本地 PDF 工具打開",
"copyID": "複製 ID",
"newBookmark": "新建書簽標識",
"generateHistory": "歷史生成間隔(分鐘,設置為 0 則禁用)",
"generateHistoryInterval": "編輯或刪除時會自動生成歷史,在筆記本右鍵功能表中可查看歷史和恢復",
"historyRetentionDays": "歷史保留天數",
"historyRetentionDaysTip": "超過保留天數的歷史資料會被自動徹底刪除",
"clearHistory": "清空所有歷史",
"confirmClearHistory": "確定要徹底刪除工作空間下的所有歷史資料嗎?",
"fileNameASC": "名稱字母昇冪",
"fileNameDESC": "名稱字母降冪",
"modifiedASC": "修改時間昇冪",
"modifiedDESC": "修改時間降冪",
"fileNameNatASC": "名稱自然昇冪",
"fileNameNatDESC": "名稱自然降冪",
"refCountASC": "引用數昇冪",
"refCountDESC": "引用數降冪",
"createdASC": "創建時間昇冪",
"createdDESC": "創建時間降冪",
"sort": "排序",
"enterFullscreen": "進入全螢幕",
"exitFullscreen": "退出全螢幕",
"clearUnused": "未引用資料",
"clearAll": "確認清理所有未引用資料?",
"paste": "貼上",
"pasteRef": "貼上引用塊",
"pasteEmbed": "貼上塊嵌入",
"cut": "剪下",
"mentions": "提及",
"colorBorder": "線條顏色",
"colorFont": "字體顏色",
"colorGraph": "關係圖顏色",
"colorInline": "文檔行級元素顏色",
"colorPrimary": "背景顏色",
"colorScroll": "捲軸顏色",
"colorTab": "分頁顏色",
"colorTip": "提示顏色",
"--b3-theme-primary": "主色",
"--b3-theme-primary-light": "主色 - 淺",
"--b3-theme-primary-lighter": "主色 - 較淺",
"--b3-theme-primary-lightest": "主色 - 最淺",
"--b3-theme-secondary": "第二色調",
"--b3-theme-background": "背景色",
"--b3-theme-surface": "第二背景色",
"--b3-theme-error": "警告色",
"--b3-theme-on-primary": "主色調上的文本",
"--b3-theme-on-secondary": "第二色調上的文本",
"--b3-theme-on-background": "背景色上的文本",
"--b3-theme-on-surface": "第二背景色上的文本",
"--b3-theme-on-error": "警告色上的文本",
"--b3-border-color": "線條",
"--b3-scroll-color": "捲軸",
"--b3-list-hover": "滑鼠移動到清單上",
"--b3-tab-background": "分頁背景",
"--b3-tooltips-color": "提示背景",
"--b3-graph-p-point": "段落的點",
"--b3-graph-heading-point": "標題的點",
"--b3-graph-math-point": "數學公式塊的點",
"--b3-graph-code-point": "代碼塊的點",
"--b3-graph-table-point": "表格的點",
"--b3-graph-list-point": "列表的點",
"--b3-graph-todo-point": "任務列表的點",
"--b3-graph-olist-point": "有序列表的點",
"--b3-graph-listitem-point": "列表項的點",
"--b3-graph-bq-point": "引述的點",
"--b3-graph-super-point": "超級塊的點",
"--b3-graph-doc-point": "文檔的點",
"--b3-graph-tag-point": "標籤的點",
"--b3-graph-asset-point": "資料的點",
"--b3-graph-line": "線",
"--b3-graph-ref-line": "引用塊節點之間的線",
"--b3-graph-tag-line": "標籤和節點之間的線",
"--b3-graph-tag-tag-line": "標籤和標籤之間的線",
"--b3-graph-asset-line": "資料和節點之間的線",
"--b3-graph-hl-point": "選中的點",
"--b3-graph-hl-line": "選中的線",
"--b3-protyle-inline-strong-color": "粗體",
"--b3-protyle-inline-em-color": "斜體",
"--b3-protyle-inline-s-color": "刪除線",
"--b3-protyle-inline-link-color": "連結",
"--b3-protyle-inline-mark-background": "標記背景色",
"--b3-protyle-inline-mark-color": "標記",
"--b3-protyle-inline-tag-color": "標籤",
"--b3-protyle-inline-blockref-color": "引用塊",
"open": "開啟",
"sync": "同步",
"syncNow": "立即同步",
"cloudBook": "雲端筆記本",
"payment": "支付",
"refresh": "重新整理",
"accountManage": "帳號管理",
"logout": "登出",
"refreshUser": "使用者資訊更新完畢",
"insertBottom": "在分頁下側打開",
"insertRight": "在分頁右側打開",
"downloadCloud": "從雲端下載",
"downloadCloudTip": "下載後將使用雲端備份覆蓋本地備份,是否下載?",
"account3Tip": "將使用本地備份覆蓋雲端備份,是否上傳?",
"account1": "點擊前往支付",
"account2": "端到端加密備份",
"account4": "續訂價格終身不變",
"account5": "雲端圖庫服務",
"account6": "距訂閱過期還剩",
"account7": "更多進階特性",
"account8": "端到端加密同步",
"account10": "年付訂閱",
"account11": "早鳥優惠活動結束還剩",
"account12": "相伴一生",
"account13": "使用推薦碼後將不再支援退款,是否使用推薦碼?",
"priceAnnual": "¥148",
"year": "年",
"dataHistory": "數據歷史",
"quitApp": "是否退出?",
"reset": "重置",
"siyuanNote": "思源筆記",
"resetLayout": "恢復預設窗口",
"tag": "標籤",
"twoFactorCaptcha": "兩步驗證驗證碼",
"captcha": "驗證碼",
"register": "註冊新帳號",
"login": "登入",
"accountTip": "我已閱讀並同意<a target='_blank' href='https://b3log.org/siyuan/privacy.html'>思源筆記隱私政策</a>",
"forgetPassword": "忘記密碼",
"accountName": "用戶名/電子信箱/手機號",
"account": "帳號",
"globalGraph": "全域關係圖",
"backlinks": "反向連結",
"editor": "編輯器",
"appearance6": "重置後視窗佈局將恢復初始化狀態",
"appearance9": "打開主題資料夾",
"appearance8": "打開圖示資料夾",
"appearance7": "隨日出日落自動切換",
"appearance5": "選擇外觀呈現模式",
"appearance4": "模式",
"appearance3": "深色模式下代碼塊語法突顯主題",
"appearance2": "淺色模式下代碼塊語法突顯主題",
"appearance1": "代碼塊主題",
"appearance10": "關閉按鈕設置",
"appearance11": "點擊關閉按鈕後縮小到託盤中",
"appearance14": "文檔圖示使用系統原生 Emoji",
"appearance15": "桌面端預設使用 Twitter Emoji開啟後將使用系統原生的 Emoji",
"min": "最小化",
"restore": "向下還原",
"max": "最大化",
"md2": "代碼塊連字",
"md3": "開啟後,代碼塊將顯示連字",
"md4": "自動進行段首縮進,以符合傳統中文排版習慣",
"md7": "是否顯示網路圖片角標",
"md8": "開啟後如果圖片是網路檔(非本地資源檔)則會顯示角標",
"md12": "是否顯示書簽、命名、別名、備註和引用計數",
"md16": "開啟後如果存在這些資訊則將在塊的右上側進行顯示",
"md27": "代碼塊顯示行號",
"md28": "開啟後代碼塊會顯示行號",
"md29": "Tab 空格數",
"md30": "僅在按下 Tab 時替換為空格,不會將剪切板中的 Tab 替換為空格",
"md31": "代碼塊換行",
"md32": "開啟後代碼塊中的內容將自動換行",
"md33": "虛擬引用",
"md34": "開啟後將自動根據已有塊引的命名、別名和錨文本來標識出可能存在的引用關係",
"md35": "虛擬引用關鍵字排除列表",
"md36": "使用英文狀態下的逗號 <code>,</code> 進行分隔,逗號自身可通過 <code>\\,</code> 轉義",
"md37": "塊引動態錨文本最大長度",
"md38": "不自訂塊引錨文本時自動渲染錨文本的最大長度,預設為 <code>64</code> 個字元",
"md39": "PlantUML 伺服地址",
"md40": "留空將恢復默認值 <code>https://www.plantuml.com/plantuml/svg/~1</code>",
"fileTree2": "在編輯器切換分頁時文檔樹會自動選中當前的文檔",
"fileTree5": "塊引新建文檔存放位置",
"fileTree6": "使用 <code>((</code> 時新建文檔的存放路徑(例如 /folder1/folder2/,不以 / 開頭則使用當前文檔相對路徑)",
"fileTree7": "在當前分頁中打開",
"fileTree8": "新打開的文檔分頁將會替換沒有修改過的分頁",
"fileTree11": "新建日記",
"fileTree12": "新建文檔名範本",
"fileTree13": "使用該範本片段進行命名,例如 <code>{{now | date \"20060102150405\"}}</code>",
"fileTree14": "存放路徑(可使用日期格式範本變數,例如 <code>/日記/{{now | date \"2006/01\"}}/{{now | date \"2006-01-02\"}}</code>",
"fileTree15": "範本路徑(例如 <code>dailynote.md</code>,需要將該檔放置於工作空間/data/templates/ 下)",
"fileTree16": "最大列出數量",
"fileTree17": "如果子文檔非常多,可通過該項限制以提升性能",
"fileTree18": "允許創建深度大於 7 層的子文檔",
"fileTree19": "一些操作系統存在技術限制導致創建大於 7 層的子文檔後可能無法正常手動複製工作空間數據",
"export11": "匯出時關於引用塊內容的處理方式",
"export12": "匯出時關於嵌入塊內容的處理方式",
"export13": "錨文本包裹符號",
"export14": "請依次在輸入框中填寫錨文本左側符號和錨文本右側符號",
"export15": "標籤包裹符號",
"export16": "請依次在輸入框中填寫標籤左側符號和標籤右側符號",
"export17": "新增文檔標題",
"export18": "將文檔標題以一級標題的形式插入到開頭",
"export19": "Pandoc 可執行文件路徑",
"export20": "導出 Word .docx 文件需要使用 <a href=\"https://pandoc.org\" target=\"_blank\">Pandoc</a> 進行格式轉換",
"blockRef": "引用塊",
"theme11": "淺色模式下使用主題",
"theme12": "深色模式下使用主題",
"theme13": "自訂當前主題",
"theme14": "開啟後會使用自訂後的主題,關閉後將使用原有主題",
"theme2": "選擇外觀使用的圖示",
"language1": "選擇外觀的顯示語言",
"summary": "摘要",
"bookmark": "書簽",
"icon": "圖示",
"appearance": "外觀",
"export0": "原始文本",
"export1": "引述塊",
"export2": "錨文字區塊鏈",
"export3": "僅錨文本",
"export4": "註腳",
"export5": "PDF 標註引用",
"export6": "導出時關於 PDF 標註引出處錨文本的處理方式",
"export7": "文件名 - 頁碼 - 錨文本",
"export8": "僅錨文本",
"graphConfig2": "引用塊次數過濾",
"selectOpen": "定位打開的文檔",
"selectOpen1": "定位打開的文檔",
"closeAll": "關閉全部",
"closeOthers": "關閉其他",
"closeLeft": "關閉左側分頁",
"closeRight": "關閉右側分頁",
"closeUnmodified": "關閉未修改的分頁",
"newFileTip": "請先打開一個筆記本",
"copyBlockRef": "複製該塊為引用塊",
"copyBlockEmbed": "複製該塊為嵌入塊",
"linkLevel": "層級",
"mark": "標記",
"splitLR": "向右並排顯示",
"splitMoveR": "向右移動並排顯示",
"splitTB": "向下並排顯示",
"splitMoveB": "向下移動並排顯示",
"debug": "開發者工具",
"fileTree": "文檔樹",
"graphView": "關係圖",
"sponsor": "靠愛發電 獲取頭銜",
"relativeRelation": "關聯關係",
"parentRelation": "父子關係",
"openInNewTab": "在新分頁中打開",
"help": "幫助",
"paragraphBeginningSpace": "段落開頭空兩格",
"outline": "大綱",
"newFile": "新建文檔",
"close": "關閉",
"delete": "刪除",
"rename": "重命名",
"cancel": "取消",
"confirm": "確定",
"confirmDelete": "確定刪除",
"confirmDeleteCloudDir": "確定刪除雲端同步目錄",
"back": "返回上一層",
"mount": "打開筆記本",
"newNotebook": "新建筆記本",
"fileNameRule": "不能包含 / 字元",
"slogan": "構建你永恆的數字花園",
"showInFolder": "打開文件位置",
"search": "搜索",
"config": "設置",
"userName": "用戶名",
"password": "密碼",
"language": "語言",
"theme": "主題",
"about": "關於",
"about1": "版權所有 (c) 2020-現在 • 雲南鏈滴科技有限公司 • <a target='_blank' href='https://b3log.org/siyuan/privacy.html'>隱私政策</a> • <a target='_blank' href='https://b3log.org/siyuan/eula.html'>用戶協議</a><div class='fn__hr'></div><div class='fn__hr'></div><div class='ft__on-surface'>思源筆記的核心開發者是 <a href=\"https://github.com/88250\" target=\"_blank\">D</a> 和 <a href=\"https://github.com/Vanessa219\" target=\"_blank\">V</a>,社區開發貢獻者可在<a href=\"https://github.com/siyuan-note/bazaar/graphs/contributors\" target=\"_blank\">這裡</a>看到</div>",
"about2": "在瀏覽器上使用",
"about3": "請使用 Chrome 瀏覽器並保持和電腦在同一個網路內,端口 <code>6806</code>,可能連通的 IP 地址如下",
"about4": "打開瀏覽器",
"about5": "存取授權碼",
"about6": "配置後作為存取鑒權密碼,留空則關閉鑒權",
"about7": "工作空間目錄",
"about8": "切換工作空間後不會將當前工作空間的數據複製到目標工作空間中<br>如果需要復制數據,請手動在文件系統上將當前工作空間 <code>data</code> 文件夾拷貝到目標工作空間下<br>修改後會自動關閉應用,請手動重啟",
"about9": "自動上傳報錯信息和診斷數據",
"about10": "開啟後會通過 <a href=\"https://sentry.io\" target=\"_blank\">Sentry</a> SDK 自動上傳報錯信息和診斷數據等不涉及個人隱私的數據,以便開發者修復缺陷和提升用戶體驗。修改後會自動關閉應用,請手動重啟",
"about11": "網路伺服",
"about12": "啟用後將允許同一區域網內的其他設備進行存取。修改後會自動關閉應用,請手動重啟",
"about13": "API token",
"about14": "調用 API 時需要通過該 token 進行鑒權",
"about17": "設置為 <code>直接連接</code> 時不啟用代理。修改後會自動關閉應用,請手動重啟",
"checkUpdate": "檢查更新",
"currentVer": "當前版本",
"visitAnnouncements": "<a href=\"https://ld246.com/tag/siyuan-announcement\" target=\"_blank\">瀏覽系統公告</a>",
"themeLight": "淺色",
"themeDark": "深色",
"pasteAsPlainText": "貼上為純文字",
"assets": "資料",
"alignCenter": "置中",
"alignLeft": "靠左",
"alignRight": "靠右",
"alternateText": "替代文本",
"bold": "粗體",
"both": "編輯 & 預覽",
"check": "任務列表",
"code": "代碼塊",
"code-theme": "代碼塊主題預覽",
"column": "行",
"content-theme": "內容主題預覽",
"copied": "已複製",
"copy": "複製",
"delete-column": "刪除行",
"delete-row": "刪除列",
"devtools": "抽象語法樹",
"down": "下",
"downloadTip": "該瀏覽器不支援下載功能",
"edit-mode": "模式切換",
"emoji": "表情",
"export": "匯出",
"fileTypeError": "檔案類型不允許上傳",
"fullscreen": "全螢幕切換",
"generate": "生成中",
"headings": "標題",
"imageURL": "圖片位址",
"indent": "列表縮進",
"info": "關於",
"inline-code": "行內代碼",
"insert-after": "末尾插入行",
"insert-before": "起始插入行",
"insertColumnLeft": "在左邊插入一行",
"insertColumnRight": "在右邊插入一行",
"insertRowAbove": "在上方插入一列",
"insertRowBelow": "在下方插入一列",
"italic": "斜體",
"line": "分隔線",
"link": "連結",
"list": "無序列表",
"more": "更多",
"nameEmpty": "檔案名不能為空",
"ordered-list": "有序列表",
"outdent": "列表反向縮進",
"over": "超過",
"preview": "匯出預覽",
"quote": "引述",
"startRecord": "開始錄音",
"endRecord": "結束錄音",
"record-tip": "該設備不支援錄音功能",
"recording": "錄音中...",
"redo": "重做",
"remove": "刪除",
"row": "列",
"splitView": "分割畫面預覽",
"strike": "刪除線",
"table": "表格",
"title": "標題",
"tooltipText": "提示文本",
"undo": "撤銷",
"up": "上",
"update": "更新",
"insertAsset": "插入圖片或檔",
"uploadError": "上傳錯誤",
"uploading": "上傳中...",
"wysiwyg": "所見即所得",
"_label": "繁體中文",
"_time": {
"albl": "以前",
"blbl": "距現在",
"now": "剛剛",
"1s": "1 秒%s",
"xs": "%d 秒%s",
"1m": "1 分鐘%s",
"xm": "%d 分鐘%s",
"1h": "1 小時%s",
"xh": "%d 小時%s",
"1d": "1 天%s",
"xd": "%d 天%s",
"1w": "1 個星期%s",
"xw": "%d 個星期%s",
"1M": "1 個月%s",
"xM": "%d 個月%s",
"1y": "1 年%s",
"2y": "2 年%s",
"xy": "%d 年%s",
"max": "很久%s"
},
"_kernel": {
"0": "查詢筆記本失敗",
"1": "檔案名重複",
"2": "列出筆記本 [%s] 下路徑為 [%s] 的檔列表失敗:%s",
"3": "讀取筆記本 [%s] 下的檔 [%s] 失敗:%s",
"4": "查看筆記本 [%s] 下 [%s] 的元資訊失敗:%s",
"5": "移動筆記本 [%s] 下的檔 [%s] 失敗:%s",
"6": "在筆記本 [%s] 下創建新資料夾 [%s] 失敗:%s",
"7": "在筆記本 [%s] 下刪除 [%s] 失敗:%s",
"8": "檢查更新失敗",
"9": "有新版本可用,請瀏覽發佈公告 %s",
"10": "已是最新版",
"11": "請先配置 [設置 - 雲端 - 端到端加密密碼]",
"12": "查詢資料檔失敗 [%s]",
"13": "無法創建 . 開頭的文件",
"14": "匯出失敗:%s",
"15": "未找到 ID 為 [%s] 的內容塊,請重建索引後再試",
"16": "請輸入文檔名",
"17": "啟動時初次同步失敗,繼續操作可能會發生無法預測的數據覆蓋,請先執行一次同步",
"18": "獲取社區用戶帳號失敗",
"19": "使用者資訊已過期,請重新登入帳號",
"20": "包含子文檔時無法轉換為標題",
"21": "備份完畢",
"22": "正在備份,請稍等...",
"23": "備份失敗:%s",
"24": "獲取雲端同步資訊失敗:%s",
"25": "屬性名僅支援英文字母和阿拉伯數字",
"26": "生成認證金鑰失敗",
"27": "數據完整性校驗失敗",
"28": "端到端加密密碼不正確,無法解密數據",
"29": "該功能需要<a target='_blank' href='https://ld246.com/subscribe/siyuan'>付費訂閱</a>(如果你已經訂閱,請在設定-帳號中重繪或者重新登入)",
"30": "獲取雲端備份資訊失敗",
"31": "帳號鑒權失敗,請重新登入帳號",
"32": "刪除雲端筆記本失敗",
"33": "讀寫檔或存取網路權限不足,請檢查工作空間資料夾權限和防毒軟體/防火牆的設置。如果你曾經使用管理員身份運行過思源,請考慮切換到新的工作空間目錄,後續請勿使用管理員身份運行(當前的工作空間目錄可能已經無法使用普通用戶存取)",
"34": "唯讀模式下不支援該操作",
"35": "正在重建索引,請稍等...",
"36": "請在應用商店中檢查版本更新",
"37": "雲端同步目錄的名稱請勿包含空格和特殊符號",
"38": "提及關鍵字數量 [%d] 過多,目前最多僅支援搜索 [512] 個關鍵字",
"39": "端到端加密密碼不能為空",
"40": "解密數據失敗",
"41": "上傳完畢",
"42": "設置完成,即將自動關閉應用,請稍後重新啟動...",
"43": "已超過雲端空間最大存儲容量 [%s],無法繼續上傳數據",
"44": "範本解析失敗:%s",
"45": "正在打開,請稍等...",
"46": "因為網路問題導致下載 [%s] 失敗,請稍後重試",
"47": "解除安裝失敗:%s",
"48": "僅列出前 [%d] 個子文檔,如需調整請修改 [設置 - 文檔樹 - 最大列出數量]",
"49": "請在筆記本設置中指定日記存放路徑",
"50": "正在解析引用 [%s]",
"51": "正在快取內容塊 [%d]",
"52": "每次打開使用者指南筆記本資料都會被重置,所以請勿在其中保存任何資料",
"53": "已完成索引 [%d] 篇文檔,剩餘待處理 [%d]",
"54": "正在索引引用關係...",
"55": "已完成索引 [%d] 篇文檔的引用關係",
"56": "已完成索引 [%d] 篇文檔",
"57": "創建臨時金鑰失敗",
"58": "重建索引完畢,稍後將自動重新整理介面...",
"59": "設置同步忽略列表失敗",
"60": "獲取更新包失敗:%s",
"61": "上傳中,請稍等...",
"62": "恢復完畢,即將重建索引...",
"63": "正在恢復,請稍等...",
"64": "共有檔 [%d] 個,需要一些時間進行索引,請稍等...",
"65": "導出數據中...",
"66": "已創建資料檔案 [%s]",
"67": "上傳於 %s下載於 %s",
"68": "下載中,請稍等...",
"69": "下載完畢",
"70": "複製筆記本 [%s] 下的檔 [%s] 失敗:%s",
"71": "插入資料檔失敗,請重新打開文檔",
"72": "內容已經複製到系統剪貼簿,請到思源中進行貼上",
"73": "正在導入,請稍等...",
"74": "kernel尚未完全啟動 [%d%%],請稍後再試",
"75": "嘗試鎖定檔 [%s] 失敗",
"76": "資料檔案已被其他程式鎖定。(如果使用了協力廠商同步碟,請檢查同步狀態)",
"77": "不可用的目錄路徑 [%s]",
"78": "新老路徑重複",
"79": "僅支援導入 Markdown 文檔",
"80": "同步失敗:%s",
"81": "數據同步中...",
"82": "同步於 %s",
"83": "存取授權碼不正確",
"84": "用於同步的中繼資料已被損壞,請參考 <a href=\"https://ld246.com/article/1627822637525\" target=\"_blank\">這裡</a> 進行解決",
"85": "檔被其他程式佔用。運行期間請勿使用系統文件管理器打開工作空間文件夾;請勿使用第三方實時同步碟並檢查工作空間文件夾是否有寫入權限",
"86": "請先配置 [設置 - 關於 - 存取授權碼]",
"87": "無法移動到該位置",
"88": "已完成解析 [%d] 個數據文件,剩餘待處理 [%d]",
"89": "本地資料將覆蓋雲端同步目錄 <em>%s</em> 資料",
"90": "雲端同步目錄 <em>%s</em> 資料將覆蓋本地資料",
"91": "本地資料和雲端同步目錄 <em>%s</em> 資料一致",
"92": "端到端加密密碼設置完畢",
"93": "下載失敗:%s",
"94": "上傳失敗:%s",
"95": "正在退出...",
"96": "退出時同步失敗,請手動執行一次同步以確保本地資料和雲端資料一致",
"97": "強制退出",
"98": "請勿將工作空間設置在安裝路徑下,否則解除安裝或更新程式時會導致資料丟失",
"99": "清理數據完成",
"100": "正在清理數據...",
"101": "設置提醒完畢 [%s]",
"102": "正在設置端到端加密密碼...",
"103": "已下載 [%d] 個資料檔案,剩餘待下載 [%d]",
"104": "已上傳 [%d] 個資料檔案,剩餘待上傳 [%d]",
"105": "網絡傳輸完畢",
"106": "資料下載已經完成,正在進行解密...",
"107": "正在移動文檔 [%s]",
"108": "正在清理已過時的索引...",
"109": "移除提醒完畢 [%s]",
"110": "正在重命名...",
"111": "正在保存文檔 [%s]...",
"112": "請勿包含 Markdown 語法標記符",
"113": "正在完成數據寫入...",
"114": "標籤不能為空",
"115": "請先配置 [設置 - 導出 - Pandoc 可執行文件路徑]",
"116": "正在處理中,請稍等...",
"117": "[%s] 不是有效的 Pandoc 可執行文件",
"118": "當前設置不允許在 7 層深度的文檔下創建子文檔",
"119": "正在下載網絡圖片 [%s]",
"120": "下載完畢,一共 [%d] 個文件",
"122": "該功能需在思源桌面端進行配置",
"123": "新增/選擇雲端同步目錄後才能啟用同步功能",
"124": "請在 [設置 - 啟用雲端同步] 中開啟雲端同步",
"125": "自動同步下載失敗次數過多,請嘗試手動觸發同步,如果還有問題請<a href=\"https://ld246.com/article/1649901726096\" target=\"_blank\">反饋</a>",
"126": "書籤不能為空",
"127": "訂閱距過期還剩 [%d] 天,過期後雲端數據會被徹底刪除。續訂請訪問<a target='_blank' href='https://ld246.com/subscribe/siyuan'>這裡</a>,如果不需要續訂,請登出賬號關閉該提醒",
"128": "訂閱已經過期,過期後雲端數據會被徹底刪除。續訂請訪問<a target='_blank' href='https://ld246.com/subscribe/siyuan'>這裡</a>,如果不需要續訂,請登出賬號關閉該提醒",
"129": "已傳輸文件 %d\n接收字節數 %s\n",
"130": "已傳輸文件 %d\n發送字節數 %s\n",
"131": "下載耗時 %.2fs",
"132": "上傳耗時 %.2fs",
"133": "本地數據暫無變更",
"134": "為避免剛恢復的數據被同步覆蓋,數據同步功能已被自動暫停",
"135": "請確保所有設備已經更新到最新版,然後在主力設備上隨意更改一個文檔後觸發同步,最後再到其他設備觸發同步"
}
}

View file

@ -0,0 +1,865 @@
{
"sortByUpdateTimeDesc": "更新时间降序",
"sortByUpdateTimeAsc": "更新时间升序",
"sortByDownloadsDesc": "下载次数降序",
"sortByDownloadsAsc": "下载次数升序",
"activationCode": "激活码",
"activationCodePlaceholder": "请在这里输入订阅激活码",
"exportDataTip": "将 <code>工作空间/data/</code> 文件夹下的所有文件以 zip 压缩包方式打包导出",
"importDataTip": "将导出的 zip 压缩包导入,按路径覆盖 <code>工作空间/data/</code> 文件夹",
"includeChildDoc": "包含子文档",
"text": "文本",
"lastUsed": "最近使用过的字体",
"removedNotebook": "已删除的笔记本",
"querySyntax": "查询语法",
"rollback": "回滚",
"custom": "自定义",
"feedback": "反馈",
"inbox": "收集箱",
"turnToStaticRef": "静态锚文本引用",
"turnToDynamicRef": "动态锚文本引用",
"turnToStatic": "静态锚文本",
"turnToDynamic": "动态锚文本",
"sizeLimit": "上限",
"trafficStat": "流量统计",
"hideHeadingBelowBlocks": "隐藏标题下方的块",
"matchDiacritics": "匹配变音符号",
"foldTip": "确定修改为编辑模式并记录折叠状态?",
"copyHPath": "复制可读路径",
"justify": "两侧对齐",
"height": "高度",
"deactivateUser": "注销账号",
"deactivateUserTip": "<ul>\n<li>账号一旦停用就无法恢复,请不要随意尝试</li>\n<li>用户名会被 <code>someone101</code> 填充(后面的数字是用户编号),密码会被随机数重置</li>\n<li>清空用户昵称、自我标签、URL、简介、头像、站点连接、邮寄地址等信息</li>\n<li>所有隐私设置开关将恢复默认的公开状态</li>\n<li>解绑关联的第三方社交账号、手机</li>\n<li><strong>用户名、手机号、绑定的第三方账号以后将不能再次被使用</strong></li>\n<li>用户状态被置为停用,禁止登录</li>\n</ul>",
"mergeCell": "合并单元格",
"cancelMerged": "拆分单元格",
"useDefaultWidth": "使用默认列宽",
"crossPageUse": "跨页多选使用提示:在开始位置单击,滚动页面以后在结束位置 ${}",
"type": "类型",
"searchType": "类型(在以下启用的类型中进行搜索)",
"searchAttr": "属性(不仅在内容中进行搜索,同时也会在以下启用的属性中搜索)",
"searchBackmention": "反链提及(反链提及搜索关键字从以下方式获得)",
"searchVirtualRef": "虚拟引用(虚拟引用搜索关键字从以下方式获得)",
"netImg2LocalAsset": "网络图片转换为本地图片",
"releaseDate": "发布日期",
"pkgSize": "包大小",
"spaceInZE": "中西文间插入空格",
"dragPosition": "上下拖动图片以调整位置",
"exportPDF0": "页面大小",
"exportPDF1": "横向页面",
"exportPDF2": "页面边距",
"exportPDF3": "页面缩放",
"exportPDF4": "移除 assets 目录",
"upload": "上传",
"defaultPasswordTip": "使用自动生成密码后其他设备也都必须使用自动生成密码",
"customPassword": "自定义密码",
"defaultPassword": "自动生成密码",
"reminderTip": "提醒时间不能小于当前时间",
"wechatTip": "该内容块将以明文形式发送到云端,到期时通过微信公众号模板消息进行推送",
"notEmpty": "提醒时间不能为空",
"experimentalFeature": "(⚗️ 该特性正处于试验阶段)",
"wechatReminder": "微信提醒",
"notifyTime": "提醒时间",
"docName": "文档名",
"bootSyncFailed": "启动时同步数据失败",
"use": "使用",
"uninstallTip": "当前正在使用中,需切换后才能进行卸载",
"safeQuit": "退出应用",
"anchor": "锚文本",
"showMore": "显示更多",
"refPopover": "使用浮窗打开引用块",
"refRight": "在右侧打开引用块",
"refBottom": "在下侧打开引用块",
"refTab": "在新页签中打开引用块",
"showHideBg": "显示/隐藏背景",
"directConnection": "直接连接",
"networkProxy": "网络代理",
"copyAnnotation": "复制标注",
"rectAnnotation": "矩形标注",
"fileName": "文件名:",
"fileSize": "文件大小:",
"title1": "标题:",
"author": "作者:",
"subject": "主题:",
"keywords": "关键词:",
"creationDate": "创建日期:",
"modificationDate": "修改日期:",
"creator": "创建者:",
"producer": "生成器:",
"version": "版本:",
"pageCount": "页数:",
"pageSize": "页面大小:",
"linearized": "快速 Web 视图:",
"firstPage": "转到第一页",
"lastPage": "转到最后一页",
"rotateCw": "顺时针旋转",
"rotateCcw": "逆时针旋转",
"cursorText": "文本选择工具",
"cursorHand": "手形工具",
"scrollVertical": "垂直滚动",
"scrollHorizontal": "水平滚动",
"scrollWrapped": "平铺滚动",
"spreadNone": "单页视图",
"spreadOdd": "双页视图",
"spreadEven": "书籍视图",
"find_match_count_limit": "超过 {{limit}} 项匹配",
"find_match_count": "第 {{current}} 项,共匹配 {{total}} 项",
"findHighlight": "全部高亮显示",
"findEntireWord": "字词匹配",
"presentationMode": "切换到演示模式",
"focusOutline": "查找当前大纲项目",
"previousLabel": "上一页",
"nextLabel": "下一页",
"pageScaleWidth": "适合页宽",
"pageScaleFit": "适合页面",
"pageScaleAuto": "自动缩放",
"pageScaleActual": "实际大小",
"thumbPageTitle": "第 {{page}} 页",
"loading": "正在载入…",
"toggleSidebarNotification2Title": "切换侧栏(文档所含的大纲/附件/图层)",
"toggleSidebarTitle": "切换侧栏",
"loadingError": "载入 PDF 时发生错误。",
"invalidFileError": "无效或损坏的 PDF 文件。",
"missingFileError": "缺少 PDF 文件。",
"unexpectedResponseError": "意外的服务器响应。",
"printingNotSupported": "警告:此浏览器尚未完整支持打印功能。",
"printingNotReady": "警告:此 PDF 未完成载入,无法打印。",
"unitInches": "英寸",
"unitMillimeters": "毫米",
"additionalLayers": "其他图层",
"thumbPage": "页面 {{page}} 的缩略图",
"thumbsTitle": "显示缩略图",
"document_properties_page_size_name_a3": "A3",
"document_properties_page_size_name_a4": "A4",
"document_properties_page_size_name_letter": "文本",
"document_properties_page_size_name_legal": "法律",
"document_properties_page_size_orientation_portrait": "纵向",
"document_properties_page_size_orientation_landscape": "横向",
"find_not_found": "找不到指定词语",
"find_reached_top": "到达文档开头,从末尾继续",
"find_reached_bottom": "到达文档末尾,从开头继续",
"password_label": "输入密码以打开此 PDF 文件。",
"password_invalid": "密码无效。请重试。",
"stateExcepted": "\uD83D\uDEA7 状态异常",
"rebuildIndex": "重建索引",
"rebuildIndexTip": "发现了一个系统运行时错误,请选择需要退出还是重建索引进行修复",
"closeNotebook": "已关闭的笔记本",
"widget": "挂件",
"customEmoji": "添加自定义表情",
"customEmojiTip": "打开 <a href=\"javascript:void(0)\" id=\"appearanceOpenEmoji\">Emoji 文件夹</a> 放入图片后并点击刷新按钮",
"recentEmoji": "常用表情",
"andSubFile": "及其 <b>x</b> 个子文档",
"changeIcon": "修改图标",
"includeSubFile": "\n包含 x 个子文档",
"untitled": "新文档",
"goForward": "前进",
"goBack": "后退",
"lockScreen": "锁屏",
"cloudIntro1": "端到端加密数据同步",
"cloudIntro2": "加密和解密过程完全在本地设备上进行",
"cloudIntro3": "加密算法为业界公认安全的 AES GCM",
"cloudIntro4": "用户设置的密码使用程序内置密钥加密后存储在本地",
"cloudIntro5": "除非知道密码或者暴力破解,否则不可能被解密",
"cloudIntro6": "不限制设备数量和工作空间数量",
"cloudIntro7": "不同的本地工作空间分别对应云端不同的数据同步目录",
"cloudIntro8": "不同的设备保留自己的数据历史,被同步覆盖或删除的数据不会丢失",
"cloudIntro9": "云端图床服务",
"cloudIntro10": "一键将本地资源文件上传到云端",
"cloudIntro11": "一键将文档复制到公众号、知乎和语雀等平台",
"selectAll": "全选",
"reposTip": "当前工作空间对应的云端同步目录名称,主力设备上创建后其他设备上进行选择即可",
"stickOpen": "保持全部展开",
"cloud": "云端",
"setEmojiTip": "请在 [设置 - 外观] 中添加自定义表情",
"openSyncTip1": "启用云端同步",
"openSyncTip2": "从禁用改为启用时建议手动点击同步按钮触发一次同步",
"cloudSync": "云端同步",
"cloudSyncDir": "云端同步目录",
"emptyCloudSyncList": "云端同步列表为空",
"retry": "重试",
"insertVideoURL": "插入视频链接",
"insertAudioURL": "插入音频链接",
"insertImgURL": "插入图片链接",
"insertIframeURL": "插入 IFrame 链接",
"context": "上下文",
"dockTip": "\n单击 展开/最小化\n右键 调整位置",
"shadow": "投影",
"hollow": "镂空",
"attrValue1": "属性值留空则会自动删除该属性",
"specifyPath": "指定路径",
"changeE2EEPasswdTip": "当前工作空间使用的是自定义密码,其他其他设备上也必须使用相同的自定义密码才能解密数据。如果你忘记了密码,云端数据将永久丢失,所以请务必牢记该密码",
"builtinE2EEPasswdTip": "当前工作空间使用的是自动生成密码,其他设备上也必须使用自动生成密码才能解密数据",
"changeE2EEPasswd": "设置端到端加密密码",
"setPasswd": "设置密码",
"e2eePasswd": "端到端加密密码",
"passwdSet": "密码已经设置(如果需要重置密码,请参考帮助文档常见问题)",
"e2eePasswdTip": "所有设备上必须设置相同的密码,一旦设置就不支持修改和查看",
"addAttr": "添加",
"addTag": "添加标签",
"width": "宽度",
"attrName": "属性名",
"attr": "属性",
"updatePath": "修改目录",
"default": "默认",
"titleBg": "题头图",
"random": "随机",
"darkMode": "暗黑模式",
"downloadRecover1": "将云端备份下载并覆盖本地备份,然后从本地备份进行恢复",
"deleteCloudBackup": "彻底删除云端备份",
"backupUpload1": "生成加密过的本地备份,然后将该备份上传到云端",
"noOpenFile": "没有打开的文档",
"backupUpload": "备份并上传",
"downloadRecover": "下载并恢复",
"cloudBackup": "云端备份",
"total": "总计",
"cdn": "图床",
"backup": "备份",
"cloudStorage": "云端存储",
"vLayout": "垂直布局",
"hLayout": "水平布局",
"merge": "合并",
"docWordCount": "文档词数",
"blockWordCount": " 块词数",
"docRuneCount": "文档字数",
"blockRuneCount": " 块字数",
"kbd": "键盘",
"errorStyle": "错误样式",
"successStyle": "成功样式",
"warningStyle": "警告样式",
"infoStyle": "信息样式",
"chart": "图表",
"staff": "五线谱",
"sup": "上标",
"sub": "下标",
"enter": "聚焦",
"enterBack": "聚焦到上层",
"duplicate": "重复",
"turnInto": "转换为",
"split": "分屏",
"underline": "下划线",
"inline-math": "行内数学公式",
"moveToUp": "向上移",
"moveToDown": "向下移",
"moveToLeft": "向左移",
"moveToRight": "向右移",
"copyProtocol": "复制块超链接",
"uploadAssets2CDN": "上传资源文件到云端",
"notSupport1": "不支持跨笔记本进行拖拽",
"keymapTip": "快捷键修改后需要重新启动后才能生效",
"searchLimit": "搜索结果显示数",
"searchLimit1": "如果数据量较大,该值请勿配置过大,默认为 <code>64</code>",
"searchCaseSensitive": "区分大小写",
"searchCaseSensitive1": "启用后所有搜索相关功能将区分大小写",
"toggleWin": "隐藏/显示窗口",
"customSort": "自定义排序",
"downloadingUpdate": "正在下载更新包,请稍等...",
"collapse": "折叠",
"blockEmbed": "嵌入块",
"gutterTip": "拖拽 移动位置<br>点击 打开菜单<br>⌘Click 进入<br>⌥Click 折叠/展开<br>⇧Click 修改属性",
"gutterTip2": "点击 打开菜单<br>⇧Click 修改属性",
"linkDistance": "链接距离",
"collideStrength": "斥力强度",
"collideRadius": "斥力半径",
"centerStrength": "中心引力强度",
"lineOpacity": "连线透明度",
"lineWidth": "连线粗细",
"nodeSize": "节点大小",
"arrow": "箭头",
"paragraph": "段落",
"math": "数学公式块",
"listItem": "列表项",
"superBlock": "超级块",
"expandAll": "全部展开",
"collapseAll": "全部折叠",
"showDock": "显示停靠栏",
"hideDock": "隐藏停靠栏",
"notebookName": "请输入笔记本名称",
"moveToLeftTop": "移动到左侧上方",
"moveToLeftBottom": "移动到左侧下方",
"moveToRightTop": "移动到右侧上方",
"moveToRightBottom": "移动到右侧下方",
"moveToTopLeft": "移动到上侧左方",
"moveToTopRight": "移动到上侧右方",
"moveToBottomLeft": "移动到下侧左方",
"moveToBottomRight": "移动到下侧右方",
"accountDisplayTitle": "顶栏显示头衔",
"accountDisplayVIP": "顶栏显示 VIP",
"rollbackConfirm": "回滚是不可逆的操作,一旦执行回滚后数据就无法回到当前状态,确定使用 <b>${date}</b> 进行回滚吗?",
"pdfTip": "PDF 导出不支持深色主题",
"pdfConfirm": "是否使用已选择的浅色主题继续导出?",
"import": "导入",
"doc": "文档",
"openBy": "打开",
"replace": "替换",
"replaceAll": "全部替换",
"alias": "别名",
"exportTplSucc": "模板导出成功",
"exportTplTip": "该数据已经存在,是否需要覆盖?",
"globalSearch": "全局搜索",
"stickSearch": "固定搜索",
"resetLayout1": "重置布局",
"zoomIn": "放大",
"zoomOut": "缩小",
"template": "模板",
"move": "移动",
"layout": "布局",
"expandLevel": "展开层级",
"mindmap": "脑图",
"dailyNote": "日记",
"memo": "备注",
"name": "命名",
"fold": "折叠/展开",
"zoom": "缩放和位置",
"invalid": "无效",
"conflict": "冲突",
"checkToggle": "任务列表勾选切换",
"heading1": "一级标题",
"heading2": "二级标题",
"heading3": "三级标题",
"heading4": "四级标题",
"heading5": "五级标题",
"heading6": "六级标题",
"general": "通用",
"insertBefore": "光标所在块前插入空块",
"insertAfter": "光标所在块后插入空块",
"list1": "列表",
"insert": "插入元素",
"closeTab": "关闭当前页签",
"keymap": "快捷键",
"clearFontStyle": "清除样式",
"fontStyle": "字体效果",
"font": "字体",
"folder": "文件夹",
"day": "天",
"pin": "钉住",
"unpin": "取消钉住",
"createdAt": "创建于",
"modifiedAt": "更新于",
"download": "下载",
"uninstall": "卸载",
"all": "全部",
"bazaar": "集市",
"revolve": "旋转",
"useDefault": "使用默认程序打开",
"previous": "上一个",
"next": "下一个",
"lockFile0": "无法存取数据",
"lockFile1": "数据文件已被其他程序锁定。(如果使用了第三方同步盘,请检查同步状态)",
"lockFile2": "如果后续使用仍然频繁出现该问题,请通过<a href=\"https://ld246.com/article/1649901726096\" target=\"_blank\">社区</a>进行反馈,谢谢!",
"kernelFault0": "内核连接中断...",
"kernelFault1": "如果 7 秒后该对话框没有自动消失,请关闭窗口后重新启动。",
"kernelFault2": "如果重启后仍然出现该问题,请通过<a href=\"https://ld246.com/article/1649901726096\" target=\"_blank\">社区</a>进行反馈,谢谢!",
"fontSize": "字号",
"fontSizeTip": "字号默认为 16px该设置仅影响编辑器内字体大小显示",
"font1": "该设置仅影响编辑器内字体显示,选择 <code>默认</code> 则使用主题自带字体",
"newNameFile": "新建文档名为",
"newContentFile": "新建文档内容为",
"exporting": "正在导出,请稍等...",
"exported": "导出完成:",
"refExpired": "不存在符合条件的内容块",
"emptyContent": "暂无相关内容",
"useBrowserView": "在浏览器中查看",
"userLocalPDF": "使用本地 PDF 工具打开",
"copyID": "复制 ID",
"newBookmark": "新建书签标识",
"generateHistory": "历史生成间隔(分钟,设置为 0 则禁用)",
"generateHistoryInterval": "编辑或删除时会自动生成历史,在笔记本右键菜单中可查看历史和恢复",
"historyRetentionDays": "历史保留天数",
"historyRetentionDaysTip": "超过保留天数的历史数据会被自动彻底删除",
"clearHistory": "清空所有历史",
"confirmClearHistory": "确定要彻底删除工作空间下的所有历史数据吗?",
"fileNameASC": "名称字母升序",
"fileNameDESC": "名称字母降序",
"modifiedASC": "修改时间升序",
"modifiedDESC": "修改时间降序",
"fileNameNatASC": "名称自然升序",
"fileNameNatDESC": "名称自然降序",
"refCountASC": "引用数升序",
"refCountDESC": "引用数降序",
"createdASC": "创建时间升序",
"createdDESC": "创建时间降序",
"sort": "排序",
"enterFullscreen": "进入全屏幕",
"exitFullscreen": "退出全屏幕",
"clearUnused": "未引用资源",
"clearAll": "确认清理所有未引用资源?",
"paste": "粘贴",
"pasteRef": "粘贴引用块",
"pasteEmbed": "粘贴块嵌入",
"cut": "剪切",
"mentions": "提及",
"colorBorder": "线条颜色",
"colorFont": "字体颜色",
"colorGraph": "关系图颜色",
"colorInline": "文档行级元素颜色",
"colorPrimary": "背景颜色",
"colorScroll": "滚动条颜色",
"colorTab": "页签颜色",
"colorTip": "提示颜色",
"--b3-theme-primary": "主色",
"--b3-theme-primary-light": "主色 - 浅",
"--b3-theme-primary-lighter": "主色 - 较浅",
"--b3-theme-primary-lightest": "主色 - 最浅",
"--b3-theme-secondary": "第二色调",
"--b3-theme-background": "背景色",
"--b3-theme-surface": "第二背景色",
"--b3-theme-error": "警告色",
"--b3-theme-on-primary": "主色调上的文本",
"--b3-theme-on-secondary": "第二色调上的文本",
"--b3-theme-on-background": "背景色上的文本",
"--b3-theme-on-surface": "第二背景色上的文本",
"--b3-theme-on-error": "警告色上的文本",
"--b3-border-color": "线条",
"--b3-scroll-color": "滚动条",
"--b3-list-hover": "鼠标移动到列表上",
"--b3-tab-background": "页签背景",
"--b3-tooltips-color": "提示背景",
"--b3-graph-p-point": "段落的点",
"--b3-graph-heading-point": "标题的点",
"--b3-graph-math-point": "数学公式块的点",
"--b3-graph-code-point": "代码块的点",
"--b3-graph-table-point": "表格的点",
"--b3-graph-list-point": "列表的点",
"--b3-graph-todo-point": "任务列表的点",
"--b3-graph-olist-point": "有序列表的点",
"--b3-graph-listitem-point": "列表项的点",
"--b3-graph-bq-point": "引述的点",
"--b3-graph-super-point": "超级块的点",
"--b3-graph-doc-point": "文档的点",
"--b3-graph-tag-point": "标签的点",
"--b3-graph-asset-point": "资源的点",
"--b3-graph-line": "线",
"--b3-graph-ref-line": "引用块节点之间的线",
"--b3-graph-tag-line": "标签和节点之间的线",
"--b3-graph-tag-tag-line": "标签和标签之间的线",
"--b3-graph-asset-line": "资源和节点之间的线",
"--b3-graph-hl-point": "选中的点",
"--b3-graph-hl-line": "选中的线",
"--b3-protyle-inline-strong-color": "粗体",
"--b3-protyle-inline-em-color": "斜体",
"--b3-protyle-inline-s-color": "删除线",
"--b3-protyle-inline-link-color": "链接",
"--b3-protyle-inline-mark-background": "标记背景色",
"--b3-protyle-inline-mark-color": "标记",
"--b3-protyle-inline-tag-color": "标签",
"--b3-protyle-inline-blockref-color": "引用块",
"open": "开启",
"sync": "同步",
"syncNow": "立即同步",
"cloudBook": "云端笔记本",
"payment": "支付",
"refresh": "刷新",
"accountManage": "账号管理",
"logout": "登出",
"refreshUser": "用户信息刷新完毕",
"insertBottom": "在页签下侧打开",
"insertRight": "在页签右侧打开",
"downloadCloud": "从云端下载",
"downloadCloudTip": "下载后将使用云端备份覆盖本地备份,是否下载?",
"account3Tip": "将使用本地备份覆盖云端备份,是否上传?",
"account1": "点击前往支付",
"account2": "端到端加密备份",
"account4": "续订价格终身不变",
"account5": "云端图床服务",
"account6": "距订阅过期还剩",
"account7": "更多高级特性",
"account8": "端到端加密同步",
"account10": "年付订阅",
"account11": "早鸟优惠活动结束还剩",
"account12": "相伴一生",
"account13": "使用推荐码后将不再支持退款,是否使用推荐码?",
"priceAnnual": "¥148",
"year": "年",
"dataHistory": "数据历史",
"quitApp": "是否退出?",
"reset": "重置",
"siyuanNote": "思源笔记",
"resetLayout": "恢复默认窗口",
"tag": "标签",
"twoFactorCaptcha": "两步验证验证码",
"captcha": "验证码",
"register": "注册新账号",
"login": "登录",
"accountTip": "我已阅读并同意<a target='_blank' href='https://b3log.org/siyuan/privacy.html'>思源笔记隐私政策</a>",
"forgetPassword": "忘记密码",
"accountName": "用户名/邮箱/手机号",
"account": "账号",
"globalGraph": "全局关系图",
"backlinks": "反向链接",
"editor": "编辑器",
"appearance6": "重置后窗口布局将恢复初始化状态",
"appearance9": "打开主题文件夹",
"appearance8": "打开图标文件夹",
"appearance7": "随日出日落自动切换",
"appearance5": "选择外观呈现模式",
"appearance4": "模式",
"appearance3": "暗黑模式下代码块语法高亮主题",
"appearance2": "明亮模式下代码块语法高亮主题",
"appearance1": "代码块主题",
"appearance10": "关闭按钮设置",
"appearance11": "点击关闭按钮后缩小到托盘中",
"appearance14": "文档图标使用系统原生 Emoji",
"appearance15": "桌面端默认使用 Twitter Emoji开启后将使用系统原生的 Emoji",
"min": "最小化",
"restore": "向下还原",
"max": "最大化",
"md2": "代码块连字",
"md3": "开启后,代码块将显示连字",
"md4": "自动进行段首缩进,以符合传统中文排版习惯",
"md7": "是否显示网络图片角标",
"md8": "开启后如果图片是网络文件(非本地资源文件)则会显示角标",
"md12": "是否显示书签、命名、别名、备注和引用计数",
"md16": "开启后如果存在这些信息则将在块的右上侧进行显示",
"md27": "代码块显示行号",
"md28": "开启后代码块会显示行号",
"md29": "Tab 空格数",
"md30": "仅在按下 Tab 时替换为空格,不会将剪切板中的 Tab 替换为空格",
"md31": "代码块换行",
"md32": "开启后代码块中的内容将自动换行",
"md33": "虚拟引用",
"md34": "开启后将自动根据已有块引的命名、别名和锚文本来标识出可能存在的引用关系",
"md35": "虚拟引用关键字排除列表",
"md36": "使用英文状态下的逗号 <code>,</code> 进行分隔,逗号自身可通过 <code>\\,</code> 转义",
"md37": "块引动态锚文本最大长度",
"md38": "不自定义块引锚文本时自动渲染锚文本的最大长度,默认为 <code>64</code> 个字符",
"md39": "PlantUML 伺服地址",
"md40": "留空将恢复默认值 <code>https://www.plantuml.com/plantuml/svg/~1</code>",
"fileTree2": "在编辑器页签切换时文档树会自动选中当前的文档",
"fileTree5": "块引新建文档存放位置",
"fileTree6": "使用 <code>((</code> 时新建文档的存放路径(例如 /folder1/folder2/,不以 / 开头则使用当前文档相对路径)",
"fileTree7": "在当前页签中打开",
"fileTree8": "新打开的文档页签将会替换没有修改过的页签",
"fileTree11": "新建日记",
"fileTree12": "新建文档名模板",
"fileTree13": "使用该模板片段进行命名,例如 <code>{{now | date \"20060102150405\"}}</code>",
"fileTree14": "存放路径(可使用日期格式模板变量,例如 <code>/日记/{{now | date \"2006/01\"}}/{{now | date \"2006-01-02\"}}</code>",
"fileTree15": "模板路径(例如 <code>dailynote.md</code>,需要将该文件放置于工作空间/data/templates/ 下)",
"fileTree16": "最大列出数量",
"fileTree17": "如果子文档非常多,可通过该项限制以提升性能",
"fileTree18": "允许创建深度大于 7 层的子文档",
"fileTree19": "一些操作系统存在技术限制导致创建大于 7 层的子文档后可能无法正常手动复制工作空间数据",
"export11": "导出时关于引用块内容的处理方式",
"export12": "导出时关于嵌入块内容的处理方式",
"export13": "锚文本包裹符号",
"export14": "请依次在输入框中填写锚文本左侧符号和锚文本右侧符号",
"export15": "标签包裹符号",
"export16": "请依次在输入框中填写标签左侧符号和标签右侧符号",
"export17": "添加文档标题",
"export18": "将文档标题以一级标题的形式插入到开头",
"export19": "Pandoc 可执行文件路径",
"export20": "导出 Word .docx 文件需要使用 <a href=\"https://pandoc.org\" target=\"_blank\">Pandoc</a> 进行格式转换",
"blockRef": "引用块",
"theme11": "明亮模式下使用主题",
"theme12": "暗黑模式下使用主题",
"theme13": "自定义当前主题",
"theme14": "开启后会使用自定义后的主题,关闭后将使用原有主题",
"theme2": "选择外观使用的图标",
"language1": "选择外观的显示语言",
"summary": "摘要",
"bookmark": "书签",
"icon": "图标",
"appearance": "外观",
"export0": "原始文本",
"export1": "引述块",
"export2": "锚文本块链",
"export3": "仅锚文本",
"export4": "脚注",
"export5": "PDF 标注引用",
"export6": "导出时关于 PDF 标注引出处锚文本的处理方式",
"export7": "文件名 - 页码 - 锚文本",
"export8": "仅锚文本",
"graphConfig2": "引用块次数过滤",
"selectOpen": "始终定位打开的文档",
"selectOpen1": "定位打开的文档",
"closeAll": "关闭全部",
"closeOthers": "关闭其他",
"closeLeft": "关闭左侧页签",
"closeRight": "关闭右侧页签",
"closeUnmodified": "关闭未修改的页签",
"newFileTip": "请先打开一个笔记本",
"copyBlockRef": "复制该块为引用块",
"copyBlockEmbed": "复制该块为嵌入块",
"linkLevel": "层级",
"mark": "标记",
"splitLR": "向右分屏",
"splitMoveR": "向右分屏并移动",
"splitTB": "向下分屏",
"splitMoveB": "向下分屏并移动",
"debug": "开发者工具",
"fileTree": "文档树",
"graphView": "关系图",
"sponsor": "靠爱发电 获取头衔",
"relativeRelation": "关联关系",
"parentRelation": "父子关系",
"openInNewTab": "在新页签中打开",
"help": "帮助",
"paragraphBeginningSpace": "段落开头空两格",
"outline": "大纲",
"newFile": "新建文档",
"close": "关闭",
"delete": "删除",
"rename": "重命名",
"cancel": "取消",
"confirm": "确定",
"confirmDelete": "确定删除",
"confirmDeleteCloudDir": "确定删除云端同步目录",
"back": "返回上一层",
"mount": "打开笔记本",
"newNotebook": "新建笔记本",
"fileNameRule": "不能包含 / 字符",
"slogan": "构建你永恒的数字花园",
"showInFolder": "打开文件位置",
"search": "搜索",
"config": "设置",
"userName": "用户名",
"password": "密码",
"language": "语言",
"theme": "主题",
"about": "关于",
"about1": "版权所有 (c) 2020-现在 • 云南链滴科技有限公司 • <a target='_blank' href='https://b3log.org/siyuan/privacy.html'>隐私政策</a> • <a target='_blank' href='https://b3log.org/siyuan/eula.html'>用户协议</a><div class='fn__hr'></div><div class='fn__hr'></div><div class='ft__on-surface'>思源笔记的核心开发者是 <a href=\"https://ld246.com/member/88250\" target=\"_blank\">D</a> 和 <a href=\"https://ld246.com/member/Vanessa\" target=\"_blank\">V</a>,社区开发贡献者可在<a href=\"https://github.com/siyuan-note/bazaar/graphs/contributors\" target=\"_blank\">这里</a>看到</div>",
"about2": "在浏览器上使用",
"about3": "请使用 Chrome 浏览器并保持和电脑在同一个网络内,端口 <code>6806</code>,可能连通的 IP 地址如下",
"about4": "打开浏览器",
"about5": "访问授权码",
"about6": "配置后作为访问鉴权密码,留空则关闭鉴权",
"about7": "工作空间目录",
"about8": "切换工作空间后不会将当前工作空间的数据复制到目标工作空间中<br>如果需要复制数据,请手动在文件系统上将当前工作空间 <code>data</code> 文件夹拷贝到目标工作空间下<br>修改后会自动关闭应用,请手动重启",
"about9": "自动上传报错信息和诊断数据",
"about10": "开启后会通过 <a href=\"https://sentry.io\" target=\"_blank\">Sentry</a> SDK 自动上传报错信息和诊断数据等不涉及个人隐私的数据,以便开发者修复缺陷和提升用户体验。修改后会自动关闭应用,请手动重启",
"about11": "网络伺服",
"about12": "启用后将允许同一局域网内的其他设备进行访问。修改后会自动关闭应用,请手动重启",
"about13": "API token",
"about14": "调用 API 时需要通过该 token 进行鉴权",
"about17": "设置为 <code>直接连接</code> 时不启用代理。修改后会自动关闭应用,请手动重启",
"checkUpdate": "检查更新",
"currentVer": "当前版本",
"visitAnnouncements": "<a href=\"https://ld246.com/tag/siyuan-announcement\" target=\"_blank\">浏览系统公告</a>",
"themeLight": "明亮",
"themeDark": "暗黑",
"pasteAsPlainText": "粘贴为纯文本",
"assets": "资源",
"alignCenter": "居中",
"alignLeft": "居左",
"alignRight": "居右",
"alternateText": "替代文本",
"bold": "粗体",
"both": "编辑 & 预览",
"check": "任务列表",
"code": "代码块",
"code-theme": "代码块主题预览",
"column": "列",
"content-theme": "内容主题预览",
"copied": "已复制",
"copy": "复制",
"delete-column": "删除列",
"delete-row": "删除行",
"devtools": "抽象语法树",
"down": "下",
"downloadTip": "该浏览器不支持下载功能",
"edit-mode": "模式切换",
"emoji": "表情",
"export": "导出",
"fileTypeError": "文件类型不允许上传",
"fullscreen": "全屏切换",
"generate": "生成中",
"headings": "标题",
"imageURL": "图片地址",
"indent": "列表缩进",
"info": "关于",
"inline-code": "行内代码",
"insert-after": "末尾插入行",
"insert-before": "起始插入行",
"insertColumnLeft": "在左边插入一列",
"insertColumnRight": "在右边插入一列",
"insertRowAbove": "在上方插入一行",
"insertRowBelow": "在下方插入一行",
"italic": "斜体",
"line": "分隔线",
"link": "链接",
"list": "无序列表",
"more": "更多",
"nameEmpty": "文件名不能为空",
"ordered-list": "有序列表",
"outdent": "列表反向缩进",
"over": "超过",
"preview": "导出预览",
"quote": "引述",
"startRecord": "开始录音",
"endRecord": "结束录音",
"record-tip": "该设备不支持录音功能",
"recording": "录音中...",
"redo": "重做",
"remove": "删除",
"row": "行",
"splitView": "分屏预览",
"strike": "删除线",
"table": "表格",
"title": "标题",
"tooltipText": "提示文本",
"undo": "撤销",
"up": "上",
"update": "更新",
"insertAsset": "插入图片或文件",
"uploadError": "上传错误",
"uploading": "上传中...",
"wysiwyg": "所见即所得",
"_label": "简体中文",
"_time": {
"albl": "以前",
"blbl": "距现在",
"now": "刚刚",
"1s": "1 秒%s",
"xs": "%d 秒%s",
"1m": "1 分钟%s",
"xm": "%d 分钟%s",
"1h": "1 小时%s",
"xh": "%d 小时%s",
"1d": "1 天%s",
"xd": "%d 天%s",
"1w": "1 个星期%s",
"xw": "%d 个星期%s",
"1M": "1 个月%s",
"xM": "%d 个月%s",
"1y": "1 年%s",
"2y": "2 年%s",
"xy": "%d 年%s",
"max": "很久%s"
},
"_kernel": {
"0": "查询笔记本失败",
"1": "文件名重复",
"2": "列出笔记本 [%s] 下路径为 [%s] 的文件列表失败:%s",
"3": "读取笔记本 [%s] 下的文件 [%s] 失败:%s",
"4": "查看笔记本 [%s] 下 [%s] 的元信息失败:%s",
"5": "移动笔记本 [%s] 下的文件 [%s] 失败:%s",
"6": "在笔记本 [%s] 下创建新文件夹 [%s] 失败:%s",
"7": "在笔记本 [%s] 下删除 [%s] 失败:%s",
"8": "检查更新失败",
"9": "有新版本可用,请浏览发布公告 %s",
"10": "已是最新版",
"11": "请先配置 [设置 - 云端 - 端到端加密密码]",
"12": "查询资源文件失败 [%s]",
"13": "无法创建 . 开头的文件",
"14": "导出失败:%s",
"15": "未找到 ID 为 [%s] 的内容块,请重建索引后再试",
"16": "请输入文档名",
"17": "启动时初次同步失败,继续操作可能会发生无法预测的数据覆盖,请先执行一次同步",
"18": "获取社区用户账号失败",
"19": "用户信息已过期,请重新登录账号",
"20": "包含子文档时无法转换为标题",
"21": "备份完毕",
"22": "正在备份,请稍等...",
"23": "备份失败:%s",
"24": "获取云端同步信息失败:%s",
"25": "属性名仅支持英文字母和阿拉伯数字",
"26": "生成认证密钥失败",
"27": "数据完整性校验失败",
"28": "端到端加密密码不正确,无法解密数据",
"29": "该功能需要<a target='_blank' href='https://ld246.com/subscribe/siyuan'>付费订阅</a>(如果你已经订阅,请在 设置 - 账号中刷新或者重新登录)",
"30": "获取云端备份信息失败",
"31": "账号鉴权失败,请重新登录账号",
"32": "删除云端笔记本失败",
"33": "读写文件或访问网络权限不足,请检查工作空间文件夹权限和杀毒软件/防火墙的设置。如果你曾经使用管理员身份运行过思源,请考虑切换到新的工作空间目录,后续请勿使用管理员身份运行(当前的工作空间目录可能已经无法使用普通用户访问)",
"34": "只读模式下不支持该操作",
"35": "正在重建索引,请稍等...",
"36": "请在应用商店中检查版本更新",
"37": "云端同步目录的名称请勿包含空格和特殊符号",
"38": "提及关键字数量 [%d] 过多,目前最多仅支持搜索 [512] 个关键字",
"39": "端到端加密密码不能为空",
"40": "解密数据失败",
"41": "上传完毕",
"42": "设置完成,即将自动关闭应用,请稍后重新启动...",
"43": "已超过云端空间最大存储容量 [%s],无法继续上传数据",
"44": "模板解析失败:%s",
"45": "正在打开,请稍等...",
"46": "因为网络问题导致下载 [%s] 失败,请稍后重试",
"47": "卸载失败:%s",
"48": "仅列出前 [%d] 个子文档,如需调整请修改 [设置 - 文档树 - 最大列出数量]",
"49": "请在笔记本设置中指定日记存放路径",
"50": "正在解析引用 [%s]",
"51": "正在缓存内容块 [%d]",
"52": "每次打开用户指南笔记本数据都会被重置,所以请勿在其中保存任何数据",
"53": "已完成索引 [%d] 篇文档,剩余待处理 [%d]",
"54": "正在索引引用关系...",
"55": "已完成索引 [%d] 篇文档的引用关系",
"56": "已完成索引 [%d] 篇文档",
"57": "创建临时密钥失败",
"58": "重建索引完毕,稍后将自动刷新界面...",
"59": "设置同步忽略列表失败",
"60": "获取更新包失败:%s",
"61": "上传中,请稍等...",
"62": "恢复完毕,即将重建索引...",
"63": "正在恢复,请稍等...",
"64": "共有文件 [%d] 个,需要一些时间进行索引,请稍等...",
"65": "导出数据中...",
"66": "已创建数据文件 [%s]",
"67": "上传于 %s下载于 %s",
"68": "下载中,请稍等...",
"69": "下载完毕",
"70": "复制笔记本 [%s] 下的文件 [%s] 失败:%s",
"71": "插入资源文件失败,请重新打开文档",
"72": "内容已经复制到系统剪切板,请到思源中进行粘贴",
"73": "正在导入,请稍等...",
"74": "内核尚未完全启动 [%d%%],请稍后再试",
"75": "尝试锁定文件 [%s] 失败",
"76": "数据文件已被其他程序锁定。(如果使用了第三方同步盘,请检查同步状态)",
"77": "不可用的目录路径 [%s]",
"78": "新老路径重复",
"79": "仅支持导入 Markdown 文档",
"80": "同步失败:%s",
"81": "数据同步中...",
"82": "同步于 %s",
"83": "访问授权码不正确",
"84": "用于同步的元数据已被损坏,请参考 <a href=\"https://ld246.com/article/1627822637525\" target=\"_blank\">这里</a> 进行解决",
"85": "文件被其他程序占用。运行期间请勿使用系统文件管理器打开工作空间文件夹;请勿使用第三方实时同步盘并检查工作空间文件夹是否有写入权限",
"86": "请先配置 [设置 - 关于 - 访问授权码]",
"87": "无法移动到该位置",
"88": "已完成解析 [%d] 个数据文件,剩余待处理 [%d]",
"89": "本地数据将覆盖云端同步目录 <em>%s</em> 数据",
"90": "云端同步目录 <em>%s</em> 数据将覆盖本地数据",
"91": "本地数据和云端同步目录 <em>%s</em> 数据一致",
"92": "端到端加密密码设置完毕",
"93": "下载失败:%s",
"94": "上传失败:%s",
"95": "正在退出...",
"96": "退出时同步失败,请手动执行一次同步以确保本地数据和云端数据一致",
"97": "强制退出",
"98": "请勿将工作空间设置在安装路径下,否则卸载或更新程序时会导致数据丢失",
"99": "清理数据完成",
"100": "正在清理数据...",
"101": "设置提醒完毕 [%s]",
"102": "正在设置端到端加密密码...",
"103": "已下载 [%d] 个数据文件,剩余待下载 [%d]",
"104": "已上传 [%d] 个数据文件,剩余待上传 [%d]",
"105": "网络传输完毕",
"106": "数据下载已经完成,正在进行解密...",
"107": "正在移动文档 [%s]",
"108": "正在清理已过时的索引...",
"109": "移除提醒完毕 [%s]",
"110": "正在重命名...",
"111": "正在保存文档 [%s]...",
"112": "请勿包含 Markdown 语法标记符",
"113": "正在完成数据写入...",
"114": "标签不能为空",
"115": "请先配置 [设置 - 导出 - Pandoc 可执行文件路径]",
"116": "正在处理中,请稍等...",
"117": "[%s] 不是有效的 Pandoc 可执行文件",
"118": "当前设置不允许在 7 层深度的文档下创建子文档",
"119": "正在下载网络图片 [%s]",
"120": "下载完毕,一共 [%d] 个文件",
"121": "该文档中不存在网络图片",
"122": "该功能需在思源桌面端进行配置",
"123": "添加/选择云端同步目录后才能启用同步功能",
"124": "请在 [设置 - 启用云端同步] 中开启云端同步",
"125": "自动同步下载失败次数过多,请尝试手动触发同步,如果还有问题请<a href=\"https://ld246.com/article/1649901726096\" target=\"_blank\">反馈</a>",
"126": "书签不能为空",
"127": "订阅距过期还剩 [%d] 天,过期后云端数据会被彻底删除。续订请访问<a target='_blank' href='https://ld246.com/subscribe/siyuan'>这里</a>,如果不需要续订,请登出账号关闭该提醒",
"128": "订阅已经过期,过期后云端数据会被彻底删除。续订请访问<a target='_blank' href='https://ld246.com/subscribe/siyuan'>这里</a>,如果不需要续订,请登出账号关闭该提醒",
"129": "已传输文件 %d\n接收字节数 %s\n",
"130": "已传输文件 %d\n发送字节数 %s\n",
"131": "下载耗时 %.2fs",
"132": "上传耗时 %.2fs",
"133": "本地数据暂无变更",
"134": "为避免刚恢复的数据被同步覆盖,数据同步功能已被自动暂停",
"135": "请确保所有设备已经更新到最新版,然后在主力设备上随意更改一个文档后触发同步,最后再到其他设备触发同步"
}
}

View file

@ -0,0 +1,156 @@
:root {
/* 主色 */
--b3-theme-primary: #0969da;
--b3-theme-primary-light: rgba(9, 105, 218, 0.54);
--b3-theme-primary-lighter: rgba(9, 105, 218, 0.38);
--b3-theme-primary-lightest: rgba(9, 105, 218, 0.12);
--b3-theme-secondary: #f3a92f;
--b3-theme-background: #fff;
--b3-theme-background-light: #dfe0e1;
--b3-theme-surface: #f3f3f3;
--b3-theme-surface-light: rgba(243, 243, 243, .86);
--b3-theme-error: #d23f31;
/* 文字颜色 */
--b3-theme-on-primary: #fff;
--b3-theme-on-secondary: #fff;
--b3-theme-on-background: #202124;
--b3-theme-on-surface: #5f6368;
--b3-theme-on-surface-light: rgba(95, 99, 104, .68);
--b3-theme-on-error: #fff;
/* 字体 */
--b3-font-family: "quote", "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
--b3-font-family-code: "JetBrainsMono-Regular", mononoki, Consolas, "Liberation Mono", Menlo, Courier, monospace, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
--b3-font-family-graph: mononoki;
--b3-font-family-emoji: "Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji";
--b3-font-family-math: KaTeX_Math;
/* 线条 */
--b3-border-color: rgba(0, 0, 0, .06);
/* 滚动条 */
--b3-scroll-color: rgba(0, 0, 0, .2);
/* 列表 */
--b3-list-hover: #e9eaea;
/* 菜单 */
--b3-menu-background: #f8f9fa;
/* 提示 */
--b3-tooltips-color: rgba(0, 0, 0, 0.54);
/* 遮罩 */
--b3-mask-background: rgba(0, 0, 0, 0.78);
/* 卡片背景 */
--b3-card-error-color: rgb(97, 26, 21);
--b3-card-error-background: rgb(253, 236, 234);
--b3-card-warning-color: rgb(102, 60, 0);
--b3-card-warning-background: rgb(255, 244, 229);
--b3-card-info-color: rgb(13, 60, 97);
--b3-card-info-background: rgb(232, 244, 253);
--b3-card-success-color: rgb(30, 70, 32);
--b3-card-success-background: rgb(237, 247, 237);
/* 自定义文字 */
--b3-font-color1: var(--b3-card-error-color);
--b3-font-color2: var(--b3-card-warning-color);
--b3-font-color3: var(--b3-card-info-color);
--b3-font-color4: var(--b3-card-success-color);
--b3-font-color5: var(--b3-theme-on-surface);
--b3-font-color6: var(--b3-theme-primary);
--b3-font-color7: var(--b3-theme-secondary);
--b3-font-color8: var(--b3-theme-error);
--b3-font-color9: #f5539e;
--b3-font-color10: #944194;
--b3-font-color11: #65b84d;
--b3-font-color12: #f5822e;
--b3-font-color13: var(--b3-theme-background);
--b3-font-background1: var(--b3-card-error-background);
--b3-font-background2: var(--b3-card-warning-background);
--b3-font-background3: var(--b3-card-info-background);
--b3-font-background4: var(--b3-card-success-background);
--b3-font-background5: var(--b3-theme-surface);
--b3-font-background6: var(--b3-theme-primary-light);
--b3-font-background7: rgba(217, 211, 215, 0.5);
--b3-font-background8: rgba(255, 193, 153, 0.5);
--b3-font-background9: rgba(189, 201, 255, 0.5);
--b3-font-background10: rgba(239, 218, 251, 0.5);
--b3-font-background11: rgba(234, 202, 220, 0.5);
--b3-font-background12: rgba(253, 198, 200, 0.5);
--b3-font-background13: var(--b3-theme-on-background);
/* 动画效果 */
--b3-transition: all .15s cubic-bezier(0, 0, .2, 1) 0ms;
--b3-width-transition: width .15s cubic-bezier(0, 0, .2, 1) 0ms;
/* 阴影 */
--b3-point-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
--b3-dialog-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
/* 图表颜色 */
--b3-graph-p-point: #076f7e;
--b3-graph-heading-point: #660e7a;
--b3-graph-math-point: #80FFA5;
--b3-graph-code-point: #00DDFF;
--b3-graph-table-point: #37A2FF;
--b3-graph-list-point: #FF0087;
--b3-graph-todo-point: #FFBF00;
--b3-graph-olist-point: #b3005f;
--b3-graph-listitem-point: #f65b00;
--b3-graph-bq-point: #8d48e3;
--b3-graph-super-point: #dd79ff;
--b3-graph-doc-point: #202124;
--b3-graph-tag-point: #dbf32f;
--b3-graph-asset-point: #05c091;
--b3-graph-line: #5f6368;
--b3-graph-ref-line: #d23f31;
--b3-graph-tag-line: #5f6b06;
--b3-graph-tag-tag-line: #dbf32f;
--b3-graph-asset-line: #037457;
--b3-graph-hl-point: #f3a92f;
--b3-graph-hl-line: #4285f4;
/* 编辑器搜索颜色 */
--b3-protyle-search-background: #ffe955;
--b3-protyle-search-border-color: #f2e680;
--b3-protyle-search-current-background: #a5d3fe;
/* 代码片段背景 */
--b3-protyle-code-background: rgba(27, 31, 35, .05);
--b3-protyle-code-linenumber-hl: #b9d1f4;
/* 所见即所得行内元素颜色 */
--b3-protyle-inline-strong-color: #202124;
--b3-protyle-inline-em-color: #202124;
--b3-protyle-inline-s-color: #202124;
--b3-protyle-inline-link-color: #4285f4;
--b3-protyle-inline-mark-background: #ffe955;
--b3-protyle-inline-mark-color: #202124;
--b3-protyle-inline-tag-color: #5f6368;
--b3-protyle-inline-blockref-color: #660e7a;
/* PDF */
--b3-pdf-selection: #d0e9c8;
--b3-pdf-sidebar-width: 200px;
--b3-pdf-offset: 0;
--b3-pdf-background1: var(--b3-theme-error);
--b3-pdf-background2: #f5822e;
--b3-pdf-background3: var(--b3-theme-secondary);
--b3-pdf-background4: #65b84d;
--b3-pdf-background5: #f5539e;
--b3-pdf-background6: var(--b3-theme-primary);
--b3-pdf-background7: #944194;
}
/* PDF */
.textLayer,
.pdf__resize {
mix-blend-mode: darken;
}
.b3-typography div.hljs, .protyle-wysiwyg div.hljs {
background-color: #f8f9fa;
}

View file

@ -0,0 +1,9 @@
{
"name": "daylight",
"author": "Vanessa",
"url": "https://github.com/Vanessa219",
"version": "1.0.2",
"modes": [
"light"
]
}

View file

@ -0,0 +1,161 @@
:root {
/* 主色 */
--b3-theme-primary: #1f6feb;
--b3-theme-primary-light: rgba(31, 111, 235, 0.54);
--b3-theme-primary-lighter: rgba(31, 111, 235, 0.38);
--b3-theme-primary-lightest: rgba(31, 111, 235, 0.12);
--b3-theme-secondary: #f3a92f;
--b3-theme-background: #212224;
--b3-theme-background-light: #353637;
--b3-theme-surface: #292a2d;
--b3-theme-surface-light: rgba(41, 42, 45, .86);
--b3-theme-error: #d23f31;
/* 文字颜色 */
--b3-theme-on-primary: #fff;
--b3-theme-on-secondary: #fff;
--b3-theme-on-background: #c9d1d9;
--b3-theme-on-surface: #9aa0a6;
--b3-theme-on-surface-light: rgba(154, 160, 166, .68);
--b3-theme-on-error: #fff;
/* 字体 */
--b3-font-family: "quote", "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
--b3-font-family-code: "JetBrainsMono-Regular", mononoki, Consolas, "Liberation Mono", Menlo, Courier, monospace, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
--b3-font-family-graph: mononoki;
--b3-font-family-emoji: "Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji";
--b3-font-family-math: KaTeX_Math;
/* 线条 */
--b3-border-color: rgba(230, 230, 230, .06);
/* 滚动条 */
--b3-scroll-color: rgba(230, 230, 230, .2);
/* 列表 */
--b3-list-hover: #3f4041;
/* 菜单 */
--b3-menu-background: #27282a;
/* 提示 */
--b3-tooltips-color: rgba(70, 72, 76, .86);
/* 遮罩 */
--b3-mask-background: rgba(0, 0, 0, 0.78);
/* 卡片背景 */
--b3-card-error-color: rgb(250, 179, 174);
--b3-card-error-background: #280a08;
--b3-card-warning-color: rgb(255, 213, 153);
--b3-card-warning-background: #2d1b00;
--b3-card-info-color: rgb(166, 213, 250);
--b3-card-info-background: #051829;
--b3-card-success-color: rgb(183, 223, 185);
--b3-card-success-background: #0d1f0d;
/* 自定义文字 */
--b3-font-color1: var(--b3-card-error-color);
--b3-font-color2: var(--b3-card-warning-color);
--b3-font-color3: var(--b3-card-info-color);
--b3-font-color4: var(--b3-card-success-color);
--b3-font-color5: var(--b3-theme-on-surface);
--b3-font-color6: var(--b3-theme-primary);
--b3-font-color7: var(--b3-theme-secondary);
--b3-font-color8: var(--b3-theme-error);
--b3-font-color9: #f5539e;
--b3-font-color10: #944194;
--b3-font-color11: #65b84d;
--b3-font-color12: #f5822e;
--b3-font-color13: var(--b3-theme-background);
--b3-font-background1: var(--b3-card-error-background);
--b3-font-background2: var(--b3-card-warning-background);
--b3-font-background3: var(--b3-card-info-background);
--b3-font-background4: var(--b3-card-success-background);
--b3-font-background5: var(--b3-theme-surface);
--b3-font-background6: var(--b3-theme-primary-light);
--b3-font-background7: rgba(217, 211, 215, 0.5);
--b3-font-background8: rgba(255, 193, 153, 0.5);
--b3-font-background9: rgba(189, 201, 255, 0.5);
--b3-font-background10: rgba(239, 218, 251, 0.5);
--b3-font-background11: rgba(234, 202, 220, 0.5);
--b3-font-background12: rgba(253, 198, 200, 0.5);
--b3-font-background13: var(--b3-theme-on-background);
/* 动画效果 */
--b3-transition: all .15s cubic-bezier(0, 0, .2, 1) 0ms;
--b3-width-transition: width .15s cubic-bezier(0, 0, .2, 1) 0ms;
/* 阴影 */
--b3-point-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
--b3-dialog-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
/* 图表颜色 */
--b3-graph-p-point: #076f7e;
--b3-graph-heading-point: #9876aa;
--b3-graph-math-point: #80FFA5;
--b3-graph-code-point: #00DDFF;
--b3-graph-table-point: #37A2FF;
--b3-graph-list-point: #FF0087;
--b3-graph-todo-point: #FFBF00;
--b3-graph-olist-point: #b3005f;
--b3-graph-listitem-point: #f65b00;
--b3-graph-bq-point: #8d48e3;
--b3-graph-super-point: #dd79ff;
--b3-graph-doc-point: #e8eaed;
--b3-graph-tag-point: #dbf32f;
--b3-graph-asset-point: #05c091;
--b3-graph-line: #9aa0a6;
--b3-graph-ref-line: #d23f31;
--b3-graph-tag-line: #5f6b06;
--b3-graph-tag-tag-line: #dbf32f;
--b3-graph-asset-line: #037457;
--b3-graph-hl-point: #f3a92f;
--b3-graph-hl-line: #4285f4;
/* 编辑器搜索颜色 */
--b3-protyle-search-background: #32593c;
--b3-protyle-search-border-color: #486a51;
--b3-protyle-search-current-background: #204282;
/* 代码片段背景 */
--b3-protyle-code-background: rgba(240, 246, 252, .15);
--b3-protyle-code-linenumber-hl: #26364a;
/* 所见即所得行内元素颜色 */
--b3-protyle-inline-strong-color: #e8eaed;
--b3-protyle-inline-em-color: #e8eaed;
--b3-protyle-inline-s-color: #e8eaed;
--b3-protyle-inline-link-color: #8ab4f8;
--b3-protyle-inline-mark-background: #32593c;
--b3-protyle-inline-mark-color: #e8eaed;
--b3-protyle-inline-tag-color: #9aa0a6;
--b3-protyle-inline-blockref-color: #9876aa;
/* PDF */
--b3-pdf-selection: #779170;
--b3-pdf-sidebar-width: 200px;
--b3-pdf-offset: 0;
--b3-pdf-background1: var(--b3-theme-error);
--b3-pdf-background2: #f5822e;
--b3-pdf-background3: var(--b3-theme-secondary);
--b3-pdf-background4: #65b84d;
--b3-pdf-background5: #f5539e;
--b3-pdf-background6: var(--b3-theme-primary);
--b3-pdf-background7: #944194;
}
/* PDF */
.pdfViewer .page canvas,
.thumbnailImage {
filter: grayscale(0%) invert(100%) contrast(100%) brightness(100%) hue-rotate(180deg);
}
.textLayer,
.pdf__resize {
mix-blend-mode: screen;
}
.b3-text-field::-webkit-calendar-picker-indicator {
filter: invert(1)
}

View file

@ -0,0 +1,9 @@
{
"name": "midnight",
"author": "Vanessa",
"url": "https://github.com/Vanessa219",
"version": "1.0.2",
"modes": [
"dark"
]
}

49
app/appx/AppxManifest.xml Normal file
View file

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<!--suppress XmlUnusedNamespaceDeclaration -->
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities">
<!-- use single quotes to avoid double quotes escaping in the publisher value -->
<Identity Name="89C2A984.SiYuan"
ProcessorArchitecture="x64"
Publisher='CN=087C656E-C1D9-42D8-8807-CED45A74FC0F'
Version="2.0.13.0"/>
<Properties>
<DisplayName>SiYuan</DisplayName>
<PublisherDisplayName>云南链滴科技有限公司</PublisherDisplayName>
<Description>A local-first personal knowledge management system, supports fine-grained block-level reference, and Markdown WYSIWYG.</Description>
<Logo>assets\StoreLogo.png</Logo>
</Properties>
<Resources>
<Resource Language="en-US"/>
<Resource Language="zh-CN"/>
</Resources>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14316.0" MaxVersionTested="10.0.14316.0"/>
</Dependencies>
<Capabilities>
<rescap:Capability Name="runFullTrust"/>
</Capabilities>
<Applications>
<Application Id="SiYuan" Executable="app\SiYuan.exe" EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements
BackgroundColor="transparent"
DisplayName="SiYuan"
Square150x150Logo="assets\Square150x150Logo.png"
Square44x44Logo="assets\Square44x44Logo.png"
Description="A local-first personal knowledge management system, supports fine-grained block-level reference, and Markdown WYSIWYG.">
<uap:DefaultTile Wide310x150Logo="assets\Wide310x150Logo.png"/>
</uap:VisualElements>
<Extensions>
<uap:Extension Category="windows.protocol">
<uap:Protocol Name="siyuan"/>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -0,0 +1,52 @@
productName: "SiYuan"
appId: "org.b3log.siyuan"
asar: false
compression: "normal"
copyright: "© 2021 Yunnan Liandi Technology Co., Ltd."
artifactName: "siyuan-${version}-${os}-arm64.${ext}"
extraMetadata:
main: "electron/main.js"
directories:
output: "build"
files:
- "electron"
mac:
identity: "Yunnan Liandi Technology Co., Ltd."
provisioningProfile: "../../SiYuan.provisionprofile"
icon: "src/assets/icon.icns"
gatekeeperAssess: false
hardenedRuntime: true
entitlements: "../../entitlements.mas.plist"
entitlementsInherit: "../../entitlements.mas.plist"
extraResources:
- from: "kernel-darwin-arm64"
to: "kernel"
target:
- target: "dmg"
arch: "arm64"
extraResources:
- from: "appearance/boot"
to: "appearance/boot"
filter: "!**/{.DS_Store}"
- from: "stage"
to: "stage"
- from: "guide"
to: "guide"
filter: "!**/{.DS_Store,.git,.gitignore,.idea}"
- from: "appearance/icons"
to: "appearance/icons"
filter: "!**/{.DS_Store}"
- from: "appearance/langs"
to: "appearance/langs"
filter: "!**/{.DS_Store}"
- from: "appearance/emojis"
to: "appearance/emojis"
filter: "!**/{.DS_Store}"
- from: "appearance/themes/midnight"
to: "appearance/themes/midnight"
filter: "!**/{.DS_Store,custom.css}"
- from: "appearance/themes/daylight"
to: "appearance/themes/daylight"
filter: "!**/{.DS_Store,custom.css}"

View file

@ -0,0 +1,51 @@
productName: "SiYuan"
appId: "org.b3log.siyuan"
asar: false
compression: "normal"
copyright: "© 2021 Yunnan Liandi Technology Co., Ltd."
artifactName: "siyuan-${version}-${os}.${ext}"
extraMetadata:
main: "electron/main.js"
directories:
output: "build"
files:
- "electron"
mac:
identity: "Yunnan Liandi Technology Co., Ltd."
provisioningProfile: "../../SiYuan.provisionprofile"
icon: "src/assets/icon.icns"
gatekeeperAssess: false
hardenedRuntime: true
entitlements: "../../entitlements.mas.plist"
entitlementsInherit: "../../entitlements.mas.plist"
extraResources:
- from: "kernel-darwin"
to: "kernel"
target:
- target: "dmg"
extraResources:
- from: "appearance/boot"
to: "appearance/boot"
filter: "!**/{.DS_Store}"
- from: "stage"
to: "stage"
- from: "guide"
to: "guide"
filter: "!**/{.DS_Store,.git,.gitignore,.idea}"
- from: "appearance/icons"
to: "appearance/icons"
filter: "!**/{.DS_Store}"
- from: "appearance/langs"
to: "appearance/langs"
filter: "!**/{.DS_Store}"
- from: "appearance/emojis"
to: "appearance/emojis"
filter: "!**/{.DS_Store}"
- from: "appearance/themes/midnight"
to: "appearance/themes/midnight"
filter: "!**/{.DS_Store,custom.css}"
- from: "appearance/themes/daylight"
to: "appearance/themes/daylight"
filter: "!**/{.DS_Store,custom.css}"

View file

@ -0,0 +1,50 @@
productName: "SiYuan"
appId: "org.b3log.siyuan"
asar: false
compression: "normal"
copyright: "© 2021 Yunnan Liandi Technology Co., Ltd."
artifactName: "siyuan-${version}-${os}.${ext}"
extraMetadata:
main: "electron/main.js"
directories:
output: "build"
files:
- "electron"
extraFiles:
- from: "../LICENSE"
to: "LICENSE"
linux:
icon: "stage/icon.png"
category: "Utility"
extraResources:
- from: "kernel-linux"
to: "kernel"
target:
- target: "tar.gz"
- target: "AppImage"
extraResources:
- from: "appearance/boot"
to: "appearance/boot"
filter: "!**/{.DS_Store}"
- from: "stage"
to: "stage"
- from: "guide"
to: "guide"
filter: "!**/{.DS_Store,.git,.gitignore,.idea}"
- from: "appearance/icons"
to: "appearance/icons"
filter: "!**/{.DS_Store}"
- from: "appearance/langs"
to: "appearance/langs"
filter: "!**/{.DS_Store}"
- from: "appearance/emojis"
to: "appearance/emojis"
filter: "!**/{.DS_Store}"
- from: "appearance/themes/midnight"
to: "appearance/themes/midnight"
filter: "!**/{.DS_Store,custom.css}"
- from: "appearance/themes/daylight"
to: "appearance/themes/daylight"
filter: "!**/{.DS_Store,custom.css}"

View file

@ -0,0 +1,64 @@
productName: "SiYuan"
appId: "org.b3log.siyuan"
asar: false
compression: "normal"
copyright: "© 2021 Yunnan Liandi Technology Co., Ltd."
artifactName: "siyuan-${version}-${os}32.${ext}"
extraMetadata:
main: "electron/main.js"
directories:
output: "build"
files:
- "electron"
extraFiles:
- from: "../LICENSE"
to: "LICENSE"
win:
icon: "src/assets/icon.ico"
extraResources:
- from: "kernel32"
to: "kernel"
requestedExecutionLevel: "asInvoker"
certificateSubjectName: "Yunnan Liandi Technology Co., Ltd."
signingHashAlgorithms: [ 'sha256' ]
#rfc3161TimeStampServer: "http://sha256timestamp.ws.symantec.com/sha256/timestamp"
#rfc3161TimeStampServer: "http://time.certum.pl"
rfc3161TimeStampServer: "http://timestamp.entrust.net/TSS/RFC3161sha2TS"
target:
- target: "nsis"
nsis:
oneClick: false
perMachine: false
allowToChangeInstallationDirectory: true
allowElevation: true
deleteAppDataOnUninstall: true
createDesktopShortcut: true
createStartMenuShortcut: true
shortcutName: "SiYuan"
license: "../LICENSE"
include: "installer.nsh"
extraResources:
- from: "appearance/boot"
to: "appearance/boot"
filter: "!**/{.DS_Store}"
- from: "stage"
to: "stage"
- from: "guide"
to: "guide"
filter: "!**/{.DS_Store,.git,.gitignore,.idea}"
- from: "appearance/icons"
to: "appearance/icons"
filter: "!**/{.DS_Store}"
- from: "appearance/langs"
to: "appearance/langs"
filter: "!**/{.DS_Store}"
- from: "appearance/emojis"
to: "appearance/emojis"
filter: "!**/{.DS_Store}"
- from: "appearance/themes/midnight"
to: "appearance/themes/midnight"
filter: "!**/{.DS_Store,custom.css}"
- from: "appearance/themes/daylight"
to: "appearance/themes/daylight"
filter: "!**/{.DS_Store,custom.css}"

64
app/electron-builder.yml Normal file
View file

@ -0,0 +1,64 @@
productName: "SiYuan"
appId: "org.b3log.siyuan"
asar: false
compression: "normal"
copyright: "© 2021 Yunnan Liandi Technology Co., Ltd."
artifactName: "siyuan-${version}-${os}.${ext}"
extraMetadata:
main: "electron/main.js"
directories:
output: "build"
files:
- "electron"
extraFiles:
- from: "../LICENSE"
to: "LICENSE"
win:
icon: "src/assets/icon.ico"
extraResources:
- from: "kernel"
to: "kernel"
requestedExecutionLevel: "asInvoker"
certificateSubjectName: "Yunnan Liandi Technology Co., Ltd."
signingHashAlgorithms: [ 'sha256' ]
#rfc3161TimeStampServer: "http://sha256timestamp.ws.symantec.com/sha256/timestamp"
#rfc3161TimeStampServer: "http://time.certum.pl"
rfc3161TimeStampServer: "http://timestamp.entrust.net/TSS/RFC3161sha2TS"
target:
- target: "nsis"
nsis:
oneClick: false
perMachine: false
allowToChangeInstallationDirectory: true
allowElevation: true
deleteAppDataOnUninstall: true
createDesktopShortcut: true
createStartMenuShortcut: true
shortcutName: "SiYuan"
license: "../LICENSE"
include: "installer.nsh"
extraResources:
- from: "appearance/boot"
to: "appearance/boot"
filter: "!**/{.DS_Store}"
- from: "stage"
to: "stage"
- from: "guide"
to: "guide"
filter: "!**/{.DS_Store,.git,.gitignore,.idea}"
- from: "appearance/icons"
to: "appearance/icons"
filter: "!**/{.DS_Store}"
- from: "appearance/langs"
to: "appearance/langs"
filter: "!**/{.DS_Store}"
- from: "appearance/emojis"
to: "appearance/emojis"
filter: "!**/{.DS_Store}"
- from: "appearance/themes/midnight"
to: "appearance/themes/midnight"
filter: "!**/{.DS_Store,custom.css}"
- from: "appearance/themes/daylight"
to: "appearance/themes/daylight"
filter: "!**/{.DS_Store,custom.css}"

191
app/electron/error.html Normal file
View file

@ -0,0 +1,191 @@
<!DOCTYPE html>
<html>
<head>
<title>Error - SiYuan</title>
<meta charset="UTF-8">
<style>
body {
margin: 0;
background-color: #fff;
color: #202124;
font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
}
.fn__flex-column {
display: flex;
flex-direction: column;
width: 100%;
margin: 0 auto;
border: 1px solid rgba(0, 0, 0, .06);
min-height: 100vh;
box-sizing: border-box;
padding: 0 calc((100vw - 608px) / 2);
}
.fn__flex-1 {
flex: 1;
min-height: 16px;
flex-shrink: 0;
}
h2 {
margin: 0 0 4px 0;
line-height: 24px;
text-align: center;
}
.svg {
position: fixed;
right: 22px;
top: 0;
width: 12px;
fill: #5f6368;
padding: 5px;
cursor: pointer;
z-index: 1;
}
.svg:hover {
background: #dfe0e1;
fill: #202124;
}
#close {
right: 0;
width: 8px;
padding: 7px 7px;
}
#close:hover {
background-color: #d23f31;
fill: #fff;
}
a {
text-decoration: none;
color: #218bff;
}
a:hover {
text-decoration: underline;
color: #0969da;
}
kbd {
padding: 2px 4px;
font: 75% Consolas, "Liberation Mono", Menlo, Courier, monospace;
line-height: 1;
color: #5f6368;
vertical-align: middle;
background-color: #f3f3f3;
border: solid 1px rgba(0, 0, 0, .06);
border-radius: 3px;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .06);
}
.feedback {
display: flex;
justify-content: space-around;
font-size: 14px
}
.drag {
-webkit-app-region: drag;
height: 22px;
cursor: pointer;
position: fixed;
top: 0;
left: 0;
right: 44px;
}
#content div {
line-height: 1.6;
margin-top: 0;
margin-bottom: 16px;
}
#content div:last-child {
margin-bottom: 0;
}
#icon {
height: 22px;
width: 22px;
position: fixed;
left: 5px;
top: 0;
}
pre code {
background-color: #f8f9fa;
border-radius: 4px;
padding: 8px 16px;
font-size: 85%;
font-family: mononoki, Consolas, "Liberation Mono", Menlo, Courier, monospace, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
color: #5f6368;
display: block;
margin-top: 8px;
word-break: break-all;
white-space: pre-wrap;
}
</style>
</head>
<body>
<div class="fn__flex-column">
<div class="fn__flex-1"></div>
<h2 id="title"></h2>
<div class="fn__flex-1"></div>
<div id="content"></div>
<div class="fn__flex-1"></div>
<div class="feedback">
<span>❤️ <a href="https://github.com/siyuan-note/siyuan/issues" target="_blank">GitHub Issues</a></span>
<span>🏘️ <a href="https://ld246.com/article/1640266171309" target="_blank">用户社区汇总</a></span>
<span><a href="https://b3log.org/siyuan/download.html" target="_blank" class="version"></a></span>
</div>
<div class="fn__flex-1"></div>
</div>
<svg class="svg" id="min" viewBox="0 0 32 32">
<path d="M1.333 14.667h29.333q1.333 0 1.333 1.333v0q0 1.333-1.333 1.333h-29.333q-1.333 0-1.333-1.333v0q0-1.333 1.333-1.333z"></path>
</svg>
<svg class="svg" id="close" viewBox="0 0 32 32">
<path d="M32 3.221l-12.779 12.779 12.779 12.779-3.221 3.221-12.779-12.779-12.779 12.779-3.221-3.221 12.779-12.779-12.779-12.779 3.221-3.221 12.779 12.779 12.779-12.779z"></path>
</svg>
<img id="icon">
<div class="drag"></div>
<script>
const getSearch = (key) => {
if (window.location.search.indexOf('?') === -1) {
return ''
}
let value = ''
const data = window.location.search.split('?')[1].split('&')
data.find(item => {
const keyValue = item.split('=')
if (keyValue[0] === key) {
value = keyValue[1]
return true
}
})
return value
}
document.querySelector('#icon').src = decodeURIComponent(`${getSearch('icon')}`)
document.getElementById('title').innerHTML = decodeURIComponent(getSearch('title'))
document.getElementById('content').innerHTML = decodeURIComponent(getSearch('content'))
document.querySelectorAll('.version').forEach(item => {
item.textContent = `🔖 v${getSearch('v')}`
})
document.getElementById('close').addEventListener('click', () => {
const {ipcRenderer} = require('electron')
ipcRenderer.send('siyuan-first-quit')
})
document.getElementById('min').addEventListener('click', () => {
const {getCurrentWindow} = require('@electron/remote')
getCurrentWindow().minimize()
})
</script>
</body>
</html>

355
app/electron/init.html Normal file
View file

@ -0,0 +1,355 @@
<!DOCTYPE html>
<html>
<head>
<title>SiYuan</title>
<meta charset="UTF-8">
<style>
body {
margin: 0;
background-color: #fff;
text-align: center;
color: #202124;
user-select: none;
font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
}
.fn__flex-column {
display: flex;
flex-direction: column;
width: 100%;
margin: 0 auto;
border: 1px solid rgba(0, 0, 0, .06);
min-height: 100vh;
box-sizing: border-box;
padding: 0 calc((100vw - 608px) / 2);
}
.fn__flex-1 {
flex: 1;
min-height: 16px;
flex-shrink: 0;
}
h2 {
margin: 0 0 4px 0;
line-height: 24px;
}
.b3-select {
border: 1px solid rgba(0, 0, 0, .06);
border-radius: 4px;
padding: 4px 8px;
line-height: 20px;
box-sizing: border-box;
color: #202124;
transition: box-shadow 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
background-color: #fff;
height: 28px;
font-size: 14px;
width: 96px;
}
.b3-select:focus {
border: 1px solid #218bff;
outline: none;
}
.b3-button {
cursor: pointer;
color: #fff;
border-radius: 4px;
line-height: 20px;
padding: 4px 8px;
background-color: #218bff;
white-space: nowrap;
display: inline-flex;
align-items: center;
justify-content: center;
transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
border: 0;
box-sizing: border-box;
text-align: center;
width: 96px;
}
.b3-button:hover, .b3-button:focus {
text-decoration: none;
background-color: #0969da;
box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)
}
.b3-button:active {
box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12)
}
.b3-label {
padding: 12px 24px;
line-height: 20px;
display: flex;
text-align: left;
border-bottom: 1px solid rgba(0, 0, 0, .06);
}
.b3-label__text {
color: #5f6368;
font-size: 14px;
margin-top: 4px;
}
.fn__space {
width: 8px;
flex-shrink: 0;
}
.fn__flex-center {
align-self: center;
}
.svg {
position: fixed;
right: 22px;
top: 0;
width: 12px;
fill: #5f6368;
padding: 5px;
cursor: pointer;
z-index: 1;
}
.svg:hover {
background: #dfe0e1;
fill: #202124;
}
#close {
right: 0;
width: 8px;
padding: 7px 7px;
}
#close:hover {
background-color: #d23f31;
fill: #fff;
}
a {
text-decoration: none;
color: #218bff;
}
a:hover {
text-decoration: underline;
color: #0969da;
}
.fn__none {
display: none !important;
}
.slogan {
color: #5f6368;
font-size: 15px;
}
.icon {
width: 88px;
margin: 0 auto
}
kbd {
padding: 2px 4px;
font: 75% Consolas, "Liberation Mono", Menlo, Courier, monospace;
line-height: 1;
color: #5f6368;
vertical-align: middle;
background-color: #f3f3f3;
border: solid 1px rgba(0, 0, 0, .06);
border-radius: 3px;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .06);
}
.feedback {
display: flex;
justify-content: space-around;
font-size: 14px
}
.drag {
-webkit-app-region: drag;
height: 22px;
cursor: pointer;
position: fixed;
top: 0;
left: 0;
right: 44px;
}
</style>
</head>
<body>
<div id="zhCN" class="fn__flex-column">
<div class="fn__flex-1"></div>
<img class="icon">
<h2>思源笔记</h2>
<div class="slogan">构建你永恒的数字花园</div>
<div class="fn__flex-1"></div>
<label class="b3-label">
<div>
🌐 外观语言
<div class="b3-label__text">用户界面语言,后续可在 <kbd>设置</kbd> - <kbd>外观</kbd> 中切换</div>
</div>
<div class="fn__space"></div>
<div class="fn__flex-1"></div>
<select class="b3-select lang">
<option value="en-US">English</option>
<option value="fr-FR">Français</option>
<option value="zh-CN">简体中文</option>
<option value="zh-CHT">繁體中文</option>
</select>
</label>
<label class="b3-label">
<div>
🗂️ 工作空间
<div class="b3-label__text"> 工作空间用于存放数据,后续可在 <kbd>设置</kbd> - <kbd>关于</kbd> 中切换</div>
</div>
<div class="fn__space"></div>
<div class="fn__flex-1"></div>
<button class="b3-button fn__flex-center choosePath">选择</button>
</label>
<div class="fn__flex-1"></div>
<div class="feedback">
<span>❤️ <a href="https://ld246.com/article/1649901726096" target="_blank">求助反馈建议</a></span>
<span>🏘️ <a href="https://ld246.com/article/1640266171309" target="_blank">用户社区汇总</a></span>
<span><a href="https://b3log.org/siyuan/download.html" target="_blank" class="version"></a></span>
</div>
<div class="fn__flex-1"></div>
</div>
<div class="fn__none fn__flex-column" id="enUS">
<div class="fn__flex-1"></div>
<img class="icon">
<h2>SiYuan</h2>
<div class="slogan">Build Your Eternal Digital Garden</div>
<div class="fn__flex-1"></div>
<label class="b3-label">
<div>
🌐 Language
<div class="b3-label__text">User interface language, which can be switched later in <br>
<kbd>Settings</kbd> - <kbd>Appearance</kbd>
</div>
</div>
<div class="fn__space"></div>
<div class="fn__flex-1"></div>
<select class="b3-select lang">
<option value="en-US">English</option>
<option value="fr-FR">Français</option>
<option value="zh-CN">简体中文</option>
<option value="zh-CHT">繁體中文</option>
</select>
</label>
<label class="b3-label">
<div>
🗂️ Workspace
<div class="b3-label__text">The workspace is used to store data, which can be switched later in <br>
<kbd>Settings</kbd> - <kbd>About</kbd>
</div>
</div>
<div class="fn__space"></div>
<div class="fn__flex-1"></div>
<button class="b3-button fn__flex-center choosePath">Select</button>
</label>
<div class="fn__flex-1"></div>
<div class="feedback">
<span>❤️ Feedback via <a href="https://github.com/siyuan-note/siyuan/issues"
target="_blank">GitHub Issues</a></span>
<span><a href="https://b3log.org/siyuan/en/download.html" target="_blank" class="version"></a></span>
</div>
<div class="fn__flex-1"></div>
</div>
<svg class="svg" id="min" viewBox="0 0 32 32">
<path d="M1.333 14.667h29.333q1.333 0 1.333 1.333v0q0 1.333-1.333 1.333h-29.333q-1.333 0-1.333-1.333v0q0-1.333 1.333-1.333z"></path>
</svg>
<svg class="svg" id="close" viewBox="0 0 32 32">
<path d="M32 3.221l-12.779 12.779 12.779 12.779-3.221 3.221-12.779-12.779-12.779 12.779-3.221-3.221 12.779-12.779-12.779-12.779 3.221-3.221 12.779 12.779 12.779-12.779z"></path>
</svg>
<div class="drag"></div>
<script>
const getSearch = (key) => {
if (window.location.search.indexOf('?') === -1) {
return ''
}
let value = ''
const data = window.location.search.split('?')[1].split('&')
data.find(item => {
const keyValue = item.split('=')
if (keyValue[0] === key) {
value = keyValue[1]
return true
}
})
return value
}
const setLang = (lang) => {
if (lang === 'zh-CN') {
document.title = `思源笔记 v${getSearch('v')}`
document.getElementById('zhCN').classList.remove('fn__none')
document.getElementById('enUS').classList.add('fn__none')
} else {
document.title = `SiYuan v${getSearch('v')}`
document.getElementById('zhCN').classList.add('fn__none')
document.getElementById('enUS').classList.remove('fn__none')
}
}
setLang(navigator.language)
document.querySelectorAll('.version').forEach(item => {
item.textContent = `🔖 v${getSearch('v')}`
})
document.querySelectorAll('.icon').forEach(item => {
item.src = decodeURIComponent(`${getSearch('icon')}`)
})
document.querySelectorAll('.lang').forEach(item => {
item.value = navigator.language
item.addEventListener('change', () => {
document.querySelectorAll('.lang').forEach(item1 => {
item1.value = item.value
})
setLang(item.value)
})
})
document.getElementById('close').addEventListener('click', () => {
const {ipcRenderer} = require('electron')
ipcRenderer.send('siyuan-first-quit')
})
document.getElementById('min').addEventListener('click', () => {
const {getCurrentWindow} = require('@electron/remote')
getCurrentWindow().minimize()
})
document.querySelectorAll('.choosePath').forEach((item) => {
item.addEventListener('click', () => {
const {dialog} = require('@electron/remote')
const path = require('path')
dialog.showOpenDialog({
defaultPath: path.join(decodeURIComponent(getSearch('home')), 'Documents'),
properties: ['openDirectory', 'createDirectory'],
}).then((result) => {
if (!result.canceled) {
const {ipcRenderer} = require('electron')
const fs = require('fs')
const initPath = path.join(result.filePaths[0], 'SiYuan')
if (!fs.existsSync(initPath)) {
fs.mkdirSync(initPath, {mode: 0o755, recursive: true})
}
const lang = document.querySelector('.lang').value.replaceAll('-', '_')
ipcRenderer.send('siyuan-first-init', `${initPath}-${lang}`)
}
})
})
})
</script>
</body>
</html>

678
app/electron/main.js Normal file
View file

@ -0,0 +1,678 @@
// SiYuan - Build Your Eternal Digital Garden
// Copyright (c) 2020-present, b3log.org
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
const {
app,
BrowserWindow,
shell,
Menu,
screen,
nativeTheme,
ipcMain,
globalShortcut,
Tray,
} = require('electron')
const path = require('path')
const fs = require('fs')
const fetch = require('electron-fetch').default
process.noAsar = true
const appDir = path.dirname(app.getAppPath())
const isDevEnv = process.env.NODE_ENV === 'development'
const appVer = app.getVersion()
const confDir = path.join(app.getPath('home'), '.config', 'siyuan')
let tray // 托盘必须使用全局变量,以防止被垃圾回收 https://www.electronjs.org/docs/faq#my-apps-windowtray-disappeared-after-a-few-minutes
let mainWindow // 从托盘处激活报错 https://github.com/siyuan-note/siyuan/issues/769
let firstOpenWindow, bootWindow
let closeButtonBehavior = 0
let siyuanOpenURL
let firstOpen = false
require('@electron/remote/main').initialize()
if (!app.requestSingleInstanceLock()) {
app.quit()
return
}
const showErrorWindow = (title, content) => {
let errorHTMLPath = path.join(appDir, 'app', 'electron', 'error.html')
if (isDevEnv) {
errorHTMLPath = path.join(appDir, 'electron', 'error.html')
}
const errWindow = new BrowserWindow({
width: screen.getPrimaryDisplay().size.width / 2,
height: screen.getPrimaryDisplay().workAreaSize.height / 2,
frame: false,
icon: path.join(appDir, 'stage', 'icon.png'),
webPreferences: {
nativeWindowOpen: true,
nodeIntegration: true,
webviewTag: true,
webSecurity: false,
contextIsolation: false,
},
})
require('@electron/remote/main').enable(errWindow.webContents)
errWindow.loadFile(errorHTMLPath, {
query: {
home: app.getPath('home'),
v: appVer,
title: title,
content: content,
icon: path.join(appDir, 'stage', 'icon.png'),
},
})
errWindow.show()
}
try {
firstOpen = !fs.existsSync(path.join(confDir, 'workspace.json'))
if (!fs.existsSync(confDir)) {
fs.mkdirSync(confDir, {mode: 0o755, recursive: true})
}
const documents = path.join(app.getPath('home'), "Documents")
if (!fs.existsSync(documents)) {
fs.mkdirSync(documents, {mode: 0o755, recursive: true})
}
} catch (e) {
console.error(e)
require('electron').dialog.showErrorBox('创建配置目录失败 Failed to create config directory',
'思源需要在用户家目录下创建配置文件夹(~/.config/siyuan请确保该路径具有写入权限。\n\nSiYuan needs to create a configuration folder (~/.config/siyuan) in the user\'s home directory. Please make sure that the path has write permissions.')
app.exit()
}
const writeLog = (out) => {
const logFile = path.join(confDir, 'app.log')
let log = ''
const maxLogLines = 1024
try {
if (fs.existsSync(logFile)) {
log = fs.readFileSync(logFile).toString()
let lines = log.split('\n')
if (maxLogLines < lines.length) {
log = lines.slice(maxLogLines / 2, maxLogLines).join('\n') + '\n'
}
}
out = out.toString()
out = new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '') + ' ' +
out
log += out + '\n'
fs.writeFileSync(logFile, log)
} catch (e) {
console.error(e)
}
}
const boot = () => {
const windowStatePath = path.join(confDir, 'windowState.json')
// 恢复主窗体状态
let oldWindowState = {}
try {
oldWindowState = JSON.parse(fs.readFileSync(windowStatePath, 'utf8'))
} catch (e) {
fs.writeFileSync(windowStatePath, '{}')
}
const defaultWidth = screen.getPrimaryDisplay().size.width * 4 / 5
const defaultHeight = screen.getPrimaryDisplay().workAreaSize.height * 4 / 5
const windowState = Object.assign({}, {
isMaximized: true,
fullscreen: false,
isDevToolsOpened: false,
x: 0, y: 0,
width: defaultWidth,
height: defaultHeight,
}, oldWindowState)
// 窗口大小等同于或大于 workArea 时,缩小会隐藏到左下角
const workArea = screen.getPrimaryDisplay().workArea
if (windowState.width >= workArea.width || windowState.height >=
workArea.height) {
windowState.width = Math.min(defaultWidth, workArea.width)
windowState.height = Math.min(defaultHeight, workArea.height)
}
if (windowState.width < 256) {
windowState.width = Math.min(defaultWidth, workArea.width)
}
if (windowState.height < 256) {
windowState.height = Math.min(defaultHeight, workArea.height)
}
let x = windowState.x, y = windowState.y
if (x > workArea.width || x < 0) {
x = 0
}
if (y > workArea.height || y < 0) {
y = 0
}
// 创建主窗体
mainWindow = new BrowserWindow({
show: false,
backgroundColor: '#FFF', // 桌面端主窗体背景色设置为 `#FFF` Fix https://github.com/siyuan-note/siyuan/issues/4544
width: windowState.width,
height: windowState.height,
x: x, y: y,
fullscreenable: true,
fullscreen: windowState.fullscreen,
webPreferences: {
nodeIntegration: true,
nativeWindowOpen: true,
webviewTag: true,
webSecurity: false,
contextIsolation: false,
},
frame: 'darwin' === process.platform,
titleBarStyle: 'hidden',
icon: path.join(appDir, 'stage', 'icon.png'),
})
require('@electron/remote/main').enable(mainWindow.webContents)
mainWindow.webContents.userAgent = 'SiYuan/' + appVer +
' https://b3log.org/siyuan ' + mainWindow.webContents.userAgent
mainWindow.webContents.on('did-finish-load', () => {
if ('win32' === process.platform || 'linux' === process.platform) {
siyuanOpenURL = process.argv.find((arg) => arg.startsWith('siyuan://'))
}
if (siyuanOpenURL) {
if (mainWindow.isMinimized()) {
mainWindow.restore()
}
if (!mainWindow.isVisible()) {
mainWindow.show()
}
mainWindow.focus()
setTimeout(() => { // 等待界面js执行完毕
writeLog(siyuanOpenURL)
mainWindow.webContents.send('siyuan-openurl', siyuanOpenURL)
siyuanOpenURL = null
}, 2000)
}
})
if (windowState.isDevToolsOpened) {
mainWindow.webContents.openDevTools({mode: 'bottom'})
}
// 主界面事件监听
mainWindow.once('ready-to-show', () => {
mainWindow.show()
if (windowState.isMaximized) {
mainWindow.maximize()
} else {
mainWindow.unmaximize()
}
if (bootWindow && !bootWindow.isDestroyed()) {
bootWindow.destroy()
}
})
// 加载主界面
const loadURL = 'http://127.0.0.1:6806/stage/build/app/index.html?v=' +
new Date().getTime()
mainWindow.loadURL(loadURL)
// 菜单
const productName = 'SiYuan'
const template = [
{
label: productName,
submenu: [
{
label: `About ${productName}`,
role: 'about',
},
{type: 'separator'},
{role: 'services'},
{type: 'separator'},
{
label: `Hide ${productName}`,
role: 'hide',
},
{role: 'hideOthers'},
{role: 'unhide'},
{type: 'separator'},
{
label: `Quit ${productName}`,
role: 'quit',
},
],
},
{
role: 'editMenu',
submenu: [
{role: 'cut'},
{role: 'copy'},
{role: 'paste'},
{role: 'pasteAndMatchStyle', accelerator: 'CmdOrCtrl+Shift+C'},
{role: 'selectAll'},
],
},
{
role: 'viewMenu',
submenu: [
{role: 'resetZoom'},
{role: 'zoomIn', accelerator: 'CommandOrControl+='},
{role: 'zoomOut'},
],
},
{
role: 'windowMenu',
submenu: [
{role: 'minimize'},
{role: 'zoom'},
{role: 'togglefullscreen'},
{type: 'separator'},
{role: 'toggledevtools'},
{type: 'separator'},
{role: 'front'},
],
},
]
const menu = Menu.buildFromTemplate(template)
Menu.setApplicationMenu(menu)
// 当前页面链接使用浏览器打开
mainWindow.webContents.on('will-navigate', (event, url) => {
if (url.startsWith('http://127.0.0.1:6806')) {
return
}
event.preventDefault()
shell.openExternal(url)
})
mainWindow.on('close', (event) => {
if (mainWindow && !mainWindow.isDestroyed()) {
mainWindow.webContents.send('siyuan-save-close', false)
}
event.preventDefault()
})
// 监听主题切换
ipcMain.on('siyuan-config-theme', (event, theme) => {
nativeTheme.themeSource = theme
})
ipcMain.on('siyuan-config-close', (event, close) => {
closeButtonBehavior = close
})
ipcMain.on('siyuan-config-tray', () => {
mainWindow.hide()
})
ipcMain.on('siyuan-config-closetray', () => {
if ('win32' === process.platform) {
tray.destroy()
}
})
ipcMain.on('siyuan-quit', () => {
try {
const bounds = mainWindow.getBounds()
fs.writeFileSync(windowStatePath, JSON.stringify({
isMaximized: mainWindow.isMaximized(),
fullscreen: mainWindow.isFullScreen(),
isDevToolsOpened: mainWindow.webContents.isDevToolsOpened(),
x: bounds.x,
y: bounds.y,
width: bounds.width,
height: bounds.height,
}))
} catch (e) {
}
app.exit()
globalShortcut.unregisterAll()
writeLog('exited ui')
})
ipcMain.on('siyuan-init', async () => {
await fetch('http://127.0.0.1:6806/api/system/uiproc?pid=' + process.pid,
{method: 'POST'})
})
ipcMain.on('siyuan-hotkey', (event, hotkey) => {
globalShortcut.unregisterAll()
if (!hotkey) {
return
}
globalShortcut.register(hotkey, () => {
if (mainWindow.isMinimized()) {
mainWindow.restore()
if (!mainWindow.isVisible()) {
mainWindow.show()
}
} else {
if (mainWindow.isVisible()) {
if (!mainWindow.isFocused()) {
mainWindow.show()
} else {
mainWindow.hide()
}
} else {
mainWindow.show()
}
}
})
})
if ('win32' === process.platform || 'linux' === process.platform) {
// 系统托盘
tray = new Tray(path.join(appDir, 'stage', 'icon.png'))
tray.setToolTip('SiYuan')
const trayMenuTemplate = [
{
label: 'Show Window',
click: () => {
if (mainWindow.isMinimized()) {
mainWindow.restore()
}
mainWindow.show()
},
},
{
label: 'Quit',
click: () => {
mainWindow.webContents.send('siyuan-save-close', true)
},
}]
const contextMenu = Menu.buildFromTemplate(trayMenuTemplate)
tray.setContextMenu(contextMenu)
tray.on('click', () => {
if (mainWindow.isMinimized()) {
mainWindow.restore()
if (!mainWindow.isVisible()) {
mainWindow.show()
}
} else {
if (mainWindow.isVisible()) {
if (!mainWindow.isFocused()) {
mainWindow.show()
} else {
mainWindow.hide()
}
} else {
mainWindow.show()
}
}
})
}
}
const initKernel = (initData) => {
return new Promise(async (resolve) => {
bootWindow = new BrowserWindow({
width: screen.getPrimaryDisplay().size.width / 2,
height: screen.getPrimaryDisplay().workAreaSize.height / 2,
frame: false,
icon: path.join(appDir, 'stage', 'icon.png'),
transparent: 'linux' !== process.platform,
webPreferences: {
nativeWindowOpen: true,
},
})
const kernelName = 'win32' === process.platform
? 'SiYuan-Kernel.exe'
: 'SiYuan-Kernel'
const kernelPath = path.join(appDir, 'kernel', kernelName)
if (!fs.existsSync(kernelPath)) {
showErrorWindow('⚠️ 内核文件丢失 Kernel is missing', `<div>内核可执行文件丢失,请重新安装思源,并将思源加入杀毒软件信任列表。</div><div>The kernel binary is not found, please reinstall SiYuan and add SiYuan into the trust list of your antivirus software.</div>`)
bootWindow.destroy()
resolve(false)
return
}
let cmd = `ui version [${appVer}], booting kernel [${kernelPath} --wd=${appDir}]`
const cmds = ['--wd', appDir]
if (initData) {
const initDatas = initData.split('-')
cmds.push('--workspace', initDatas[0])
cmds.push('--lang', initDatas[1])
cmd = `ui version [${appVer}], booting kernel [${kernelPath} --wd=${appDir} --workspace=${initDatas[0]} --lang=${initDatas[1]}]`
}
writeLog(cmd)
const cp = require('child_process')
const kernelProcess = cp.spawn(kernelPath,
cmds, {
detached: true,
stdio: 'ignore',
},
)
kernelProcess.on('close', (code) => {
if (0 !== code) {
writeLog(`kernel exited with code [${code}]`)
switch (code) {
case 20:
showErrorWindow('⚠️ 数据库被锁定 The database is locked', `<div>数据库文件正在被其他程序锁定。如果你使用了第三方同步盘,请在思源运行期间关闭同步。</div><div>The database file is being locked by another program. If you use a third-party sync disk, please turn off sync while SiYuan is running.</div>`)
break
case 21:
showErrorWindow('⚠️ 6806 端口不可用 The port 6806 is unavailable', '<div>思源需要监听 6806 端口,请确保该端口可用且不是其他程序的保留端口。可尝试使用管理员运行命令:' +
'<pre><code>net stop winnat\nnetsh interface ipv4 add excludedportrange protocol=tcp startport=6806 numberofports=1\nnet start winnat</code></pre></div>' +
'<div>SiYuan needs to listen to port 6806, please make sure this port is available, and not a reserved port by other software. Try running the command as an administrator: ' +
'<pre><code>net stop winnat\nnetsh interface ipv4 add excludedportrange protocol=tcp startport=6806 numberofports=1\nnet start winnat</code></pre></div>')
break
case 22:
showErrorWindow('⚠️ 创建配置目录失败 Failed to create config directory', `<div>思源需要在用户家目录下创建配置文件夹(~/.config/siyuan请确保该路径具有写入权限。</div><div>SiYuan needs to create a configuration folder (~/.config/siyuan) in the user\'s home directory. Please make sure that the path has write permissions.</div>`)
break
case 23:
showErrorWindow('⚠️ 无法读写块树文件 Failed to access blocktree file', `<div>块树文件正在被其他程序锁定。如果你使用了第三方同步盘,请在思源运行期间关闭同步。</div><div>The block tree file is being locked by another program. If you use a third-party sync disk, please turn off the sync while SiYuan is running.</div>`)
break
case 0:
case 1: // Fatal error
break
default:
showErrorWindow('⚠️ 内核因未知原因退出 The kernel exited for unknown reasons', `<div>思源内核因未知原因退出 [code=${code}],请尝试重启操作系统后再启动思源。如果该问题依然发生,请检查杀毒软件是否阻止思源内核启动。</div>
<div>SiYuan Kernel exited for unknown reasons [code=${code}], please try to reboot your operating system and then start SiYuan again. If occurs this problem still, please check your anti-virus software whether kill the SiYuan Kernel.</div>`)
break
}
bootWindow.destroy()
resolve(false)
}
})
kernelProcess.unref()
writeLog('booted kernel process')
const sleep = (ms) => {
return new Promise(resolve => setTimeout(resolve, ms))
}
let gotVersion = false
let apiData
let count = 0
writeLog('checking kernel version')
while (!gotVersion) {
try {
const apiResult = await fetch(
'http://127.0.0.1:6806/api/system/version')
apiData = await apiResult.json()
gotVersion = true
bootWindow.setResizable(false)
bootWindow.loadURL('http://127.0.0.1:6806/appearance/boot/index.html')
bootWindow.show()
} catch (e) {
writeLog('get kernel version failed: ' + e.message)
await sleep(100)
} finally {
count++
if (64 < count) {
writeLog('get kernel ver failed')
bootWindow.destroy()
resolve(false)
}
}
}
if (0 === apiData.code) {
writeLog('got kernel version [' + apiData.data + ']')
if (!isDevEnv && apiData.data !== appVer) {
writeLog(
`kernel [${apiData.data}] is running, shutdown it now and then start kernel [${appVer}]`)
fetch('http://127.0.0.1:6806/api/system/exit', {method: 'POST'})
bootWindow.destroy()
resolve(false)
} else {
let progressing = false
while (!progressing) {
try {
const progressResult = await fetch(
'http://127.0.0.1:6806/api/system/bootProgress')
const progressData = await progressResult.json()
if (progressData.data.progress >= 100) {
resolve(true)
progressing = true
} else {
await sleep(100)
}
} catch (e) {
writeLog('get boot progress failed: ' + e.message)
fetch('http://127.0.0.1:6806/api/system/exit', {method: 'POST'})
bootWindow.destroy()
resolve(false)
progressing = true
}
}
}
} else {
writeLog(`get kernel version failed: ${apiData.code}, ${apiData.msg}`)
resolve(false)
}
})
}
app.setAsDefaultProtocolClient('siyuan')
app.commandLine.appendSwitch('disable-web-security')
app.commandLine.appendSwitch('auto-detect', 'false')
app.commandLine.appendSwitch('no-proxy-server')
app.setPath('userData', app.getPath('userData') + '-Electron') // `~/.config` 下 Electron 相关文件夹名称改为 `SiYuan-Electron` https://github.com/siyuan-note/siyuan/issues/3349
app.whenReady().then(() => {
ipcMain.on('siyuan-first-quit', () => {
app.exit()
})
if (firstOpen) {
firstOpenWindow = new BrowserWindow({
width: screen.getPrimaryDisplay().size.width / 2,
height: screen.getPrimaryDisplay().workAreaSize.height / 2,
frame: false,
icon: path.join(appDir, 'stage', 'icon.png'),
transparent: 'linux' !== process.platform,
webPreferences: {
nativeWindowOpen: true,
nodeIntegration: true,
webviewTag: true,
webSecurity: false,
contextIsolation: false,
},
})
require('@electron/remote/main').enable(firstOpenWindow.webContents)
let initHTMLPath = path.join(appDir, 'app', 'electron', 'init.html')
if (isDevEnv) {
initHTMLPath = path.join(appDir, 'electron', 'init.html')
}
firstOpenWindow.loadFile(
initHTMLPath, {
query: {
home: app.getPath('home'),
v: appVer,
icon: path.join(appDir, 'stage', 'icon.png'),
},
})
firstOpenWindow.show()
// 初始化启动
ipcMain.on('siyuan-first-init', (event, initData) => {
initKernel(initData).then((isSucc) => {
if (isSucc) {
boot()
}
})
firstOpenWindow.destroy()
})
} else {
initKernel().then((isSucc) => {
if (isSucc) {
boot()
}
})
}
})
app.on('open-url', (event, url) => { // for macOS
if (url.startsWith('siyuan://')) {
siyuanOpenURL = url
if (mainWindow && !mainWindow.isDestroyed()) {
if (mainWindow.isMinimized()) {
mainWindow.restore()
}
if (!mainWindow.isVisible()) {
mainWindow.show()
}
mainWindow.focus()
mainWindow.webContents.send('siyuan-openurl', url)
}
}
})
app.on('second-instance', (event, commandLine) => {
if (mainWindow && !mainWindow.isDestroyed()) {
if (mainWindow.isMinimized()) {
mainWindow.restore()
}
if (!mainWindow.isVisible()) {
mainWindow.show()
}
mainWindow.focus()
mainWindow.webContents.send('siyuan-openurl',
commandLine.find((arg) => arg.startsWith('siyuan://')))
}
})
app.on('activate', () => {
if (mainWindow && !mainWindow.isDestroyed()) {
mainWindow.show()
}
if (BrowserWindow.getAllWindows().length === 0) {
boot()
}
})
// 在编辑器内打开链接的处理,比如 iframe 上的打开链接。
app.on('web-contents-created', (webContentsCreatedEvent, contents) => {
contents.on('new-window', (newWindowEvent, url) => {
newWindowEvent.preventDefault()
shell.openExternal(url)
})
})
app.on('before-quit', (event) => {
if (mainWindow && !mainWindow.isDestroyed()) {
event.preventDefault()
mainWindow.webContents.send('siyuan-save-close', true)
}
})
const {powerMonitor} = require("electron");
powerMonitor.on('suspend', () => {
writeLog("system suspend");
fetch("http://127.0.0.1:6806/api/sync/performSync", {method: "POST"});
})
powerMonitor.on('resume', () => {
writeLog("system resume");
fetch("http://127.0.0.1:6806/api/sync/performSync", {method: "POST"});
})
powerMonitor.on('shutdown', () => {
writeLog("system shutdown");
fetch('http://127.0.0.1:6806/api/system/exit', {method: 'POST'})
})

View file

@ -0,0 +1,2 @@
.idea/
.siyuan/history/

View file

@ -0,0 +1 @@
[]

View file

@ -0,0 +1,10 @@
{
"name": "SiYuan User Guide",
"sort": 2,
"icon": "1f4d4",
"closed": false,
"refCreateSavePath": "",
"createDocNameTemplate": "",
"dailyNoteSavePath": "/daily note/{{now | date \"2006/01\"}}/{{now | date \"2006-01-02\"}}",
"dailyNoteTemplatePath": ""
}

View file

@ -0,0 +1,47 @@
{
"20200923234011-ieuun1p": 1,
"20200923234602-gy54e67": 5,
"20200923234731-h3zkwm2": 2,
"20200924095938-a9p5450": 2,
"20200924100110-vcg96wy": 1,
"20200924100635-ms0p9lb": 5,
"20200924100717-yzwzn64": 17,
"20200924100744-br924ar": 7,
"20200924100808-j9sddk9": 1,
"20200924100906-0u4zfq3": 3,
"20200924100950-9op5xi1": 14,
"20200924101106-19z4kaa": 1,
"20200924101200-gss5vee": 4,
"20200924101225-k254i8g": 2,
"20200924101256-f8b1sbi": 3,
"20201004194026-s8h2cog": 15,
"20201117112518-dott91x": 6,
"20201121224345-rc27qvo": 4,
"20201204184532-3qm9l8n": 8,
"20201210233038-3xr19g5": 5,
"20201222100222-q47d64s": 2,
"20201222100339-i5hzcph": 1,
"20201227201128-m1wrouw": 16,
"20201227201751-gv0fpx2": 18,
"20210110181011-fbhoesf": 4,
"20210117215840-jcl17fx": 3,
"20210127203829-qe2mzof": 9,
"20210331201142-4g923es": 12,
"20210505164949-c085p1d": 2,
"20210613191509-cbkxcbz": 7,
"20210615213222-vs5tzbd": 13,
"20210721112159-9p645xm": 1,
"20210721112206-mhr9wxi": 3,
"20210721112211-fwc1x43": 4,
"20210721112229-fp97j3c": 2,
"20210721160238-yvhbh0h": 5,
"20210808180303-6yi0dv5": 1,
"20210808180303-axh6q1d": 4,
"20210808180303-h361q1i": 2,
"20210808180303-l3qg72k": 3,
"20210808180303-v9awwp0": 6,
"20210808180303-xaduj2o": 5,
"20210824202056-udkf7wg": 6,
"20211010212318-3wx2kqb": 10,
"20220105101227-n5zpr1a": 6
}

View file

@ -0,0 +1,926 @@
{
"ID": "20200923234011-ieuun1p",
"Type": "NodeDocument",
"Properties": {
"icon": "1f389",
"id": "20200923234011-ieuun1p",
"title": "Please Start Here",
"title-img": "background-color:#556;background-image: linear-gradient(30deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),linear-gradient(150deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),linear-gradient(30deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),linear-gradient(150deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),linear-gradient(60deg, #99a 25%, transparent 25.5%, transparent 75%, #99a 75%, #99a),linear-gradient(60deg, #99a 25%, transparent 25.5%, transparent 75%, #99a 75%, #99a);background-size:80px 140px;background-position: 0 0, 0 0, 40px 70px, 40px 70px, 0 0, 40px 70px;",
"type": "doc",
"updated": "20211223213256"
},
"Children": [
{
"ID": "20210428222013-0afj8vn",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"bookmark": "✨",
"id": "20210428222013-0afj8vn",
"updated": "20210714093108"
},
"Children": [
{
"Type": "NodeText",
"Data": "🍫 Content block"
}
]
},
{
"ID": "20210428222033-bhbz6yg",
"Type": "NodeParagraph",
"Properties": {
"id": "20210428222033-bhbz6yg",
"style": "color: var(--b3-card-info-color); background-color: var(--b3-card-info-background);",
"updated": "20210512150301"
},
"Children": [
{
"Type": "NodeText",
"Data": "In SiYuan, the only important core concept is "
},
{
"Type": "NodeBlockRef",
"Data": "span",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20200924101106-19z4kaa"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "Content block"
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
},
{
"Type": "NodeText",
"Data": ". The content block can be formed through the formatting format, so that we can organize our thoughts and knowledge at the block-level granularity, and it is also convenient for reading and outputting long content."
}
]
},
{
"ID": "20210528120135-bznvpp6",
"Type": "NodeSuperBlock",
"Properties": {
"id": "20210528120135-bznvpp6",
"updated": "20211223213241"
},
"Children": [
{
"Type": "NodeSuperBlockOpenMarker"
},
{
"Type": "NodeSuperBlockLayoutMarker",
"Data": "col"
},
{
"ID": "20210528120142-hprb4ja",
"Type": "NodeSuperBlock",
"Properties": {
"id": "20210528120142-hprb4ja",
"style": "width: 62%; flex: 0 0 auto;",
"updated": "20210502233931"
},
"Children": [
{
"Type": "NodeSuperBlockOpenMarker"
},
{
"Type": "NodeSuperBlockLayoutMarker",
"Data": "row"
},
{
"ID": "20201225220954-keui8uy",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20201225220954-keui8uy",
"updated": "20210601233810"
},
"Children": [
{
"Type": "NodeText",
"Data": "🍔 Start eating"
}
]
},
{
"ID": "20201225220954-dlgzk1o",
"Type": "NodeList",
"ListData": {},
"Properties": {
"id": "20201225220954-dlgzk1o",
"updated": "20210502233931"
},
"Children": [
{
"ID": "20201225220954-e913snx",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20201225220954-e913snx"
},
"Children": [
{
"ID": "20210131161940-kfs31q6",
"Type": "NodeParagraph",
"Properties": {
"id": "20210131161940-kfs31q6"
},
"Children": [
{
"Type": "NodeText",
"Data": "Create a new notebook, create a new document under the notebook"
}
]
}
]
},
{
"ID": "20201225220954-ygz217h",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20201225220954-ygz217h",
"updated": "20211205193627"
},
"Children": [
{
"ID": "20210131161940-eo0riwq",
"Type": "NodeParagraph",
"Properties": {
"id": "20210131161940-eo0riwq",
"updated": "20211205193627"
},
"Children": [
{
"Type": "NodeText",
"Data": "Enter "
},
{
"Type": "NodeKbd",
"Data": "kbd",
"Children": [
{
"Type": "NodeKbdOpenMarker"
},
{
"Type": "NodeText",
"Data": "/"
},
{
"Type": "NodeKbdCloseMarker"
}
]
},
{
"Type": "NodeText",
"Data": " in the editor to trigger the function menu"
}
]
}
]
},
{
"ID": "20201225220954-875yybt",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20201225220954-875yybt",
"updated": "20210502233931"
},
"Children": [
{
"ID": "20210131161940-b5uow2h",
"Type": "NodeParagraph",
"Properties": {
"id": "20210131161940-b5uow2h",
"updated": "20210502233931"
},
"Children": [
{
"Type": "NodeBlockRef",
"Data": "span",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20200924101200-gss5vee"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "Navigate in the content block"
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
},
{
"Type": "NodeText",
"Data": " and "
},
{
"Type": "NodeBlockRef",
"Data": "span",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20200924100906-0u4zfq3"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "Window and tab"
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
}
]
}
]
}
]
},
{
"Type": "NodeSuperBlockCloseMarker"
}
]
},
{
"ID": "20210528120140-1cfmrhm",
"Type": "NodeSuperBlock",
"Properties": {
"id": "20210528120140-1cfmrhm",
"updated": "20211223213241"
},
"Children": [
{
"Type": "NodeSuperBlockOpenMarker"
},
{
"Type": "NodeSuperBlockLayoutMarker",
"Data": "row"
},
{
"ID": "20201225220954-qtw7nfl",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20201225220954-qtw7nfl",
"updated": "20210622215847"
},
"Children": [
{
"Type": "NodeText",
"Data": "🍹 Drink recommend"
}
]
},
{
"ID": "20201225220954-kjfoqak",
"Type": "NodeList",
"ListData": {},
"Properties": {
"id": "20201225220954-kjfoqak",
"updated": "20211223213241"
},
"Children": [
{
"ID": "20201225220954-bbrjxhx",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20201225220954-bbrjxhx",
"updated": "20211223213241"
},
"Children": [
{
"ID": "20210131161940-zu27zlo",
"Type": "NodeParagraph",
"Properties": {
"id": "20210131161940-zu27zlo",
"updated": "20211223213241"
},
"Children": [
{
"Type": "NodeBlockRef",
"Data": "span",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20200923234731-h3zkwm2"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "FAQ"
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
}
]
}
]
},
{
"ID": "20201225220954-bj7c15e",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20201225220954-bj7c15e"
},
"Children": [
{
"ID": "20210131161940-nksa82l",
"Type": "NodeParagraph",
"Properties": {
"id": "20210131161940-nksa82l",
"updated": "20210501192621"
},
"Children": [
{
"Type": "NodeLink",
"Data": "span",
"Children": [
{
"Type": "NodeOpenBracket"
},
{
"Type": "NodeLinkText",
"Data": "Origin"
},
{
"Type": "NodeCloseBracket"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeLinkDest",
"Data": "https://ld246.com/article/1619868273581"
},
{
"Type": "NodeCloseParen"
}
]
}
]
}
]
},
{
"ID": "20210528120207-5wey3qg",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20210528120207-5wey3qg",
"updated": "20210528120213"
},
"Children": [
{
"ID": "20210528120207-0u97bon",
"Type": "NodeParagraph",
"Properties": {
"id": "20210528120207-0u97bon",
"updated": "20210528120213"
},
"Children": [
{
"Type": "NodeLink",
"Data": "span",
"Children": [
{
"Type": "NodeOpenBracket"
},
{
"Type": "NodeLinkText",
"Data": "Roadmap"
},
{
"Type": "NodeCloseBracket"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeLinkDest",
"Data": "https://github.com/siyuan-note/siyuan/projects"
},
{
"Type": "NodeCloseParen"
}
]
}
]
}
]
}
]
},
{
"Type": "NodeSuperBlockCloseMarker"
}
]
},
{
"Type": "NodeSuperBlockCloseMarker"
}
]
},
{
"ID": "20210528120236-zyh2t7d",
"Type": "NodeSuperBlock",
"Properties": {
"id": "20210528120236-zyh2t7d",
"updated": "20211223213256"
},
"Children": [
{
"Type": "NodeSuperBlockOpenMarker"
},
{
"Type": "NodeSuperBlockLayoutMarker",
"Data": "col"
},
{
"ID": "20210528120311-ys4nmlw",
"Type": "NodeSuperBlock",
"Properties": {
"id": "20210528120311-ys4nmlw",
"style": "width: 62%; flex: 0 0 auto;",
"updated": "20211223213256"
},
"Children": [
{
"Type": "NodeSuperBlockOpenMarker"
},
{
"Type": "NodeSuperBlockLayoutMarker",
"Data": "row"
},
{
"ID": "20201225220954-s2g98gd",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20201225220954-s2g98gd",
"name": "Community",
"updated": "20210601233839"
},
"Children": [
{
"Type": "NodeText",
"Data": "🏘️ Our home"
}
]
},
{
"ID": "20200923234102-ysbri6o",
"Type": "NodeList",
"ListData": {},
"Properties": {
"id": "20200923234102-ysbri6o",
"updated": "20211223213256"
},
"Children": [
{
"ID": "20201225220954-d10tcsj",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20201225220954-d10tcsj"
},
"Children": [
{
"ID": "20210131161940-ucgs2kw",
"Type": "NodeParagraph",
"Properties": {
"id": "20210131161940-ucgs2kw",
"updated": "20210428231747"
},
"Children": [
{
"Type": "NodeLink",
"Data": "span",
"Children": [
{
"Type": "NodeOpenBracket"
},
{
"Type": "NodeLinkText",
"Data": "GitHub Issues"
},
{
"Type": "NodeCloseBracket"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeLinkDest",
"Data": "https://github.com/siyuan-note/siyuan/issues"
},
{
"Type": "NodeCloseParen"
}
]
}
]
}
]
},
{
"ID": "20210428231748-qeszm45",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20210428231748-qeszm45",
"updated": "20211223213256"
},
"Children": [
{
"ID": "20210428231748-t6le710",
"Type": "NodeParagraph",
"Properties": {
"id": "20210428231748-t6le710",
"updated": "20211223213256"
},
"Children": [
{
"Type": "NodeLink",
"Data": "span",
"Children": [
{
"Type": "NodeOpenBracket"
},
{
"Type": "NodeLinkText",
"Data": "Discord"
},
{
"Type": "NodeCloseBracket"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeLinkDest",
"Data": "https://discord.gg/bzfCBwMzdP"
},
{
"Type": "NodeCloseParen"
}
]
}
]
}
]
}
]
},
{
"Type": "NodeSuperBlockCloseMarker"
}
]
},
{
"ID": "20210528120308-9wuiyyz",
"Type": "NodeSuperBlock",
"Properties": {
"id": "20210528120308-9wuiyyz",
"updated": "20211222095928"
},
"Children": [
{
"Type": "NodeSuperBlockOpenMarker"
},
{
"Type": "NodeSuperBlockLayoutMarker",
"Data": "row"
},
{
"ID": "20210131161629-mutbkca",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210131161629-mutbkca",
"updated": "20210623001017"
},
"Children": [
{
"Type": "NodeText",
"Data": "💌 Contribution"
}
]
},
{
"ID": "20210317214434-nx9mt0d",
"Type": "NodeList",
"ListData": {},
"Properties": {
"id": "20210317214434-nx9mt0d",
"updated": "20211222095928"
},
"Children": [
{
"ID": "20210528120300-nrqw356",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20210528120300-nrqw356",
"updated": "20210601234314"
},
"Children": [
{
"ID": "20210528120300-w3gljah",
"Type": "NodeParagraph",
"Properties": {
"id": "20210528120300-w3gljah",
"updated": "20210601234314"
},
"Children": [
{
"Type": "NodeBlockRef",
"Data": "span",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20201225222754-u4sica8"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "Push to theme bazaar"
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
}
]
}
]
},
{
"ID": "20210528120303-0aq6wfk",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20210528120303-0aq6wfk"
},
"Children": [
{
"ID": "20210528120303-etp1e4c",
"Type": "NodeParagraph",
"Properties": {
"id": "20210528120303-etp1e4c"
},
"Children": [
{
"Type": "NodeBlockRef",
"Data": "span",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20210131162806-sk9tg4q"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "Push to template bazaar"
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
}
]
}
]
},
{
"ID": "20210317214155-4se7gl4",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20210317214155-4se7gl4",
"updated": "20211010210416"
},
"Children": [
{
"ID": "20210317214155-02ljnx2",
"Type": "NodeParagraph",
"Properties": {
"id": "20210317214155-02ljnx2",
"updated": "20211010210416"
},
"Children": [
{
"Type": "NodeBlockRef",
"Data": "span",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20210601103837-057w6ot"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "Push to icon bazaar"
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
}
]
}
]
},
{
"ID": "20210317214158-92uea49",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20210317214158-92uea49",
"updated": "20211222095928"
},
"Children": [
{
"ID": "20210317214158-acl7oxj",
"Type": "NodeParagraph",
"Properties": {
"id": "20210317214158-acl7oxj",
"updated": "20211222095928"
},
"Children": [
{
"Type": "NodeBlockRef",
"Data": "span",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20211222095842-700ar7j"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "Push to widget bazaar"
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
}
]
}
]
}
]
},
{
"Type": "NodeSuperBlockCloseMarker"
}
]
},
{
"Type": "NodeSuperBlockCloseMarker"
}
]
}
]
}

View file

@ -0,0 +1,20 @@
{
"ID": "20210808180303-6yi0dv5",
"Type": "NodeDocument",
"Properties": {
"icon": "1f36b",
"id": "20210808180303-6yi0dv5",
"title": "Content Block",
"updated": "20210808180303"
},
"Children": [
{
"ID": "20210808180303-q8oudv4",
"Type": "NodeParagraph",
"Properties": {
"id": "20210808180303-q8oudv4",
"updated": "20210808180303"
}
}
]
}

View file

@ -0,0 +1,526 @@
{
"ID": "20200924101106-19z4kaa",
"Type": "NodeDocument",
"Properties": {
"id": "20200924101106-19z4kaa",
"title": "What is a Content Block",
"type": "doc",
"updated": "20211223192527"
},
"Children": [
{
"ID": "20210118101709-5a7bzl0",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210118101709-5a7bzl0"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Content block definition"
}
]
},
{
"ID": "20210118101709-9lqij9d",
"Type": "NodeParagraph",
"Properties": {
"id": "20210118101709-9lqij9d",
"updated": "20210415203201"
},
"Children": [
{
"Type": "NodeText",
"Data": "\""
},
{
"Type": "NodeTag",
"Children": [
{
"Type": "NodeTagOpenMarker",
"Data": "#"
},
{
"Type": "NodeText",
"Data": "Content block"
},
{
"Type": "NodeTagCloseMarker",
"Data": "#"
}
]
},
{
"Type": "NodeText",
"Data": "\" refers to a piece of content, and each piece of such content is identified by a globally unique ID. The ID is automatically generated by the program and has the form: "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "202008250000-a1b2c3d"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": ", consisting of time and 7 random characters."
}
]
},
{
"ID": "20210104091535-aqraylz",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210104091535-aqraylz",
"updated": "20210415203134"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Content block types"
}
]
},
{
"ID": "20210104091535-6ark8fi",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091535-6ark8fi"
},
"Children": [
{
"Type": "NodeText",
"Data": "The most common content block is the familiar paragraph (Paragraph). In traditional Chinese typesetting, paragraphs are usually represented by indentation (two spaces) at the beginning of the paragraph. With the development of the Internet, it has gradually affected the representation of paragraphs. The most commonly used method is to increase the line spacing between paragraphs, or use blank lines to separate paragraphs."
}
]
},
{
"ID": "20210104091535-vhbubwx",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091535-vhbubwx"
},
"Children": [
{
"Type": "NodeText",
"Data": "In actual use, it is not enough to rely on paragraph typesetting. It is often necessary to use Heading, List, Table, Blockquote, etc. to enrich our typesetting. These typographic styles are not only visually different, but more importantly, they express the semantics of the content to a certain extent. For example, when we see an unordered list, we can know that each list item is in an indiscriminate level relationship, while when we see an ordered list, the opposite is true."
}
]
},
{
"ID": "20210104091535-pnp9cmo",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091535-pnp9cmo",
"updated": "20210415203224"
},
"Children": [
{
"Type": "NodeText",
"Data": "Therefore, there are many content blocks "
},
{
"Type": "NodeBlockRef",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20200924101225-k254i8g"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "types"
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
},
{
"Type": "NodeText",
"Data": ", and different types of content blocks are defined by formatting. "
},
{
"Type": "NodeTag",
"Children": [
{
"Type": "NodeTagOpenMarker",
"Data": "#"
},
{
"Type": "NodeText",
"Data": "Content block/Type"
},
{
"Type": "NodeTagCloseMarker",
"Data": "#"
}
]
}
]
},
{
"ID": "20210104091535-sbufc1h",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210104091535-sbufc1h"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Combined content blocks"
}
]
},
{
"ID": "20210104091535-2ybzqz1",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091535-2ybzqz1"
},
"Children": [
{
"Type": "NodeText",
"Data": "A document is a combination of some content blocks, and the content block is the basic unit. This is like Lego bricks, which can be combined using different basic modules. "
},
{
"Type": "NodeTag",
"Children": [
{
"Type": "NodeTagOpenMarker",
"Data": "#"
},
{
"Type": "NodeText",
"Data": "Note"
},
{
"Type": "NodeTagCloseMarker",
"Data": "#"
}
]
},
{
"Type": "NodeText",
"Data": ": the document itself is also a kind of content block. More precisely, the three content blocks of document block, list block, and block reference block are container blocks, and they can contain any other types of content blocks. "
},
{
"Type": "NodeTag",
"Children": [
{
"Type": "NodeTagOpenMarker",
"Data": "#"
},
{
"Type": "NodeText",
"Data": "Content block/Combine"
},
{
"Type": "NodeTagCloseMarker",
"Data": "#"
}
]
}
]
},
{
"ID": "20210104091535-11dba0r",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091535-11dba0r"
},
"Children": [
{
"Type": "NodeText",
"Data": "At this point, we have been able to use content blocks to describe all content, so that we can use uniform usage to "
},
{
"Type": "NodeBlockRef",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20200924101256-f8b1sbi"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "link content block"
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
},
{
"Type": "NodeText",
"Data": " . Logically, there is no page concept, which reduces unnecessary burdens in use and allows users to focus on the content block."
}
]
},
{
"ID": "20210118104710-tmyyac4",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210118104710-tmyyac4"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Naming and memo"
}
]
},
{
"ID": "20210118104710-sb9ti9s",
"Type": "NodeParagraph",
"Properties": {
"id": "20210118104710-sb9ti9s",
"memo": "The memo is usually a short sentence."
},
"Children": [
{
"Type": "NodeText",
"Data": "We can name each content block, add aliases and memo. Naming and aliases are mainly used for anti-link "
},
{
"Type": "NodeBlockRef",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20210106204950-gjw62fp"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "mention "
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
},
{
"Type": "NodeText",
"Data": "search, and memo are used to record some inconvenient information in the content area."
}
]
},
{
"ID": "20210118104710-2sb91b3",
"Type": "NodeParagraph",
"Properties": {
"id": "20210118104710-2sb91b3",
"updated": "20210512160955"
},
"Children": [
{
"Type": "NodeText",
"Data": "After opening the options for displaying bookmarks, naming, and alias identification in the "
},
{
"Type": "NodeKbd",
"Children": [
{
"Type": "NodeKbdOpenMarker"
},
{
"Type": "NodeText",
"Data": "Settings"
},
{
"Type": "NodeKbdCloseMarker"
}
]
},
{
"Type": "NodeText",
"Data": " - "
},
{
"Type": "NodeKbd",
"Children": [
{
"Type": "NodeKbdOpenMarker"
},
{
"Type": "NodeText",
"Data": "Editor"
},
{
"Type": "NodeKbdCloseMarker"
}
]
},
{
"Type": "NodeText",
"Data": ", the named content block will be displayed with a frame in the editor. If you name and memo the document block, when the mouse is hovering over the doc tree document, the relevant naming and memo of the document will appear."
}
]
},
{
"ID": "20210118104710-b71o7og",
"Type": "NodeParagraph",
"Properties": {
"id": "20210118104710-b71o7og",
"updated": "20210512154814"
},
"Children": [
{
"Type": "NodeText",
"Data": "You can use "
},
{
"Type": "NodeBlockRef",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20201117112518-dott91x"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "Embed Content Block"
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
},
{
"Type": "NodeText",
"Data": " to search and summarize the naming and memo, such as listing the content blocks that contain the keyword "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "short"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": " in the memo:"
}
]
},
{
"ID": "20210118104710-ymm678p",
"Type": "NodeBlockQueryEmbed",
"Data": "{{SELECT * FROM blocks WHERE memo LIKE '%short%'}}\n",
"Properties": {
"id": "20210118104710-ymm678p"
},
"Children": [
{
"Type": "NodeOpenBrace"
},
{
"Type": "NodeOpenBrace"
},
{
"Type": "NodeBlockQueryEmbedScript",
"Data": "SELECT * FROM blocks WHERE memo LIKE '%short%'"
},
{
"Type": "NodeCloseBrace"
},
{
"Type": "NodeCloseBrace"
}
]
},
{
"ID": "20210127204434-9izt7pe",
"Type": "NodeParagraph",
"Properties": {
"id": "20210127204434-9izt7pe"
}
}
]
}

View file

@ -0,0 +1,490 @@
{
"ID": "20200924101200-gss5vee",
"Type": "NodeDocument",
"Properties": {
"id": "20200924101200-gss5vee",
"title": "Navigate in the Content Block",
"type": "doc",
"updated": "20220312233028"
},
"Children": [
{
"ID": "20210104091546-1flsvp0",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210104091546-1flsvp0"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Link"
}
]
},
{
"ID": "20210104091546-cccr56d",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091546-cccr56d",
"updated": "20210302223903"
},
"Children": [
{
"Type": "NodeText",
"Data": "There are two types of links in the document content:"
}
]
},
{
"ID": "20210205173431-dis2g0v",
"Type": "NodeParagraph",
"Properties": {
"id": "20210205173431-dis2g0v",
"updated": "20210428224830"
}
},
{
"ID": "20210428224834-ten8yt5",
"Type": "NodeList",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210428224834-ten8yt5"
},
"Children": [
{
"ID": "20210428224834-114qwev",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210428224834-114qwev"
},
"Children": [
{
"ID": "20210428224834-vbkml67",
"Type": "NodeParagraph",
"Properties": {
"id": "20210428224834-vbkml67"
},
"Children": [
{
"Type": "NodeText",
"Data": "Standard URL hyperlinks, opened with a browser, used for Internet resource access"
}
]
}
]
},
{
"ID": "20210428224834-dn1cwlq",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210428224834-dn1cwlq"
},
"Children": [
{
"ID": "20210428224834-3i7y0fu",
"Type": "NodeParagraph",
"Properties": {
"id": "20210428224834-3i7y0fu",
"updated": "20210428224925"
},
"Children": [
{
"Type": "NodeText",
"Data": "The content block link established by "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "((id))"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": " is used for two-way linking within SiYuan"
}
]
}
]
}
]
},
{
"ID": "20210428225947-bkizd86",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210428225947-bkizd86",
"updated": "20210428225952"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Zoom focus"
}
]
},
{
"ID": "20210428225949-bxqb5mb",
"Type": "NodeList",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210428225949-bxqb5mb",
"updated": "20220312233028"
},
"Children": [
{
"ID": "20210428225949-q8mwfo8",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210428225949-q8mwfo8",
"updated": "20220312233028"
},
"Children": [
{
"ID": "20210428225949-m2e7vgq",
"Type": "NodeParagraph",
"Properties": {
"id": "20210428225949-m2e7vgq",
"updated": "20220312233028"
},
"Children": [
{
"Type": "NodeText",
"Data": "After selecting focus in the right-click drop-down menu on the block icon, the editor will focus on the content block"
}
]
}
]
},
{
"ID": "20210428225949-em0qjd7",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210428225949-em0qjd7"
},
"Children": [
{
"ID": "20210428225949-vmw0m2j",
"Type": "NodeParagraph",
"Properties": {
"id": "20210428225949-vmw0m2j"
},
"Children": [
{
"Type": "NodeText",
"Data": "Jump in context through the breadcrumb navigation at the top of the editor"
}
]
}
]
}
]
},
{
"ID": "20200924101210-zwf8ags",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20200924101210-zwf8ags"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Graph"
}
]
},
{
"ID": "20210104091546-k8f7caz",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091546-k8f7caz",
"updated": "20210428225413"
},
"Children": [
{
"Type": "NodeText",
"Data": "The relationship diagram is divided into document level and global. The relationship diagram of the document is expanded based on the current document block and presents all the content blocks (forward links and reverse links) related to the document; the global relationship diagram is all the block and link relationships in all notebooks."
}
]
},
{
"ID": "20210205173507-dhy0k9l",
"Type": "NodeParagraph",
"Properties": {
"id": "20210205173507-dhy0k9l"
}
},
{
"ID": "20210428225309-l9hqxpz",
"Type": "NodeParagraph",
"Properties": {
"id": "20210428225309-l9hqxpz",
"updated": "20210428225516"
},
"Children": [
{
"Type": "NodeText",
"Data": "Hold down "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "Ctrl"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": " and click on the node: jump to the node."
}
]
},
{
"ID": "20200924101210-3qfiiat",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20200924101210-3qfiiat"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Backlinks"
}
]
},
{
"ID": "20210106204930-m073dyq",
"Type": "NodeParagraph",
"Properties": {
"id": "20210106204930-m073dyq"
},
"Children": [
{
"Type": "NodeText",
"Data": "Backlinks are document-level, listing the blocks in the current document where content blocks are quoted and mentioned."
}
]
},
{
"ID": "20210104091546-2gmpeq4",
"Type": "NodeHeading",
"HeadingLevel": 3,
"Properties": {
"id": "20210104091546-2gmpeq4",
"updated": "20210104091546"
},
"Children": [
{
"Type": "NodeText",
"Data": "Links"
}
]
},
{
"ID": "20210908144725-sfn6vd8",
"Type": "NodeList",
"ListData": {},
"Properties": {
"id": "20210908144725-sfn6vd8",
"updated": "20210908144757"
},
"Children": [
{
"ID": "20210908144725-so6cwba",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20210908144725-so6cwba",
"updated": "20210908144757"
},
"Children": [
{
"ID": "20210908144725-cgcu1ut",
"Type": "NodeParagraph",
"Properties": {
"id": "20210908144725-cgcu1ut",
"updated": "20210908144757"
},
"Children": [
{
"Type": "NodeText",
"Data": "Hovering the mouse over the reference block icon will pop up a preview floating window"
}
]
}
]
},
{
"ID": "20210908144725-sg5v7te",
"Type": "NodeListItem",
"ListData": {
"BulletChar": 42,
"Marker": "Kg=="
},
"Properties": {
"id": "20210908144725-sg5v7te",
"updated": "20210908144735"
},
"Children": [
{
"ID": "20210908144725-q0swjhw",
"Type": "NodeParagraph",
"Properties": {
"id": "20210908144725-q0swjhw",
"updated": "20210908144735"
},
"Children": [
{
"Type": "NodeText",
"Data": "Click the reference block in the backlink list to jump"
}
]
}
]
}
]
},
{
"ID": "20210106204950-gjw62fp",
"Type": "NodeHeading",
"HeadingLevel": 3,
"Properties": {
"id": "20210106204950-gjw62fp"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "### "
},
{
"Type": "NodeText",
"Data": "Mentions"
}
]
},
{
"ID": "20210106204954-rpwfh3i",
"Type": "NodeParagraph",
"Properties": {
"id": "20210106204954-rpwfh3i"
},
"Children": [
{
"Type": "NodeText",
"Data": "It is mentioned that the name and aliases of the content block in the current document is used as a keyword to search, and the search result is a content block containing these keywords. You can use the link button to convert the mention into a link: the mention will be replaced with "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "((id \"content block name\"))"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": "."
}
]
}
]
}

View file

@ -0,0 +1,426 @@
{
"ID": "20200924101256-f8b1sbi",
"Type": "NodeDocument",
"Properties": {
"id": "20200924101256-f8b1sbi",
"title": "Ref Content Block",
"type": "doc",
"updated": "20211223192536"
},
"Children": [
{
"ID": "20200924101312-jj4e0v3",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20200924101312-jj4e0v3",
"updated": "20210512154431"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Overview"
}
]
},
{
"ID": "20210104091542-6dj8jvc",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091542-6dj8jvc",
"updated": "20210512153449"
},
"Children": [
{
"Type": "NodeText",
"Data": "Entering "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "(("
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": " will trigger the content block quotation search, continue to enter as the search keyword, use the up and down keys to select in the search results and press Enter to complete the content block quotation."
}
]
},
{
"ID": "20210104091542-ev4hpxo",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091542-ev4hpxo"
},
"Children": [
{
"Type": "NodeText",
"Data": "The complete syntax of the content block quote is: "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "((id \"text\"))"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": ", where the "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "id"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": " is like: "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "202008250000-a1b2c3d"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": ", consisting of time and 7 random characters, the content block id is when the content block is created It will be automatically generated; the following "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "text"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": " is the custom anchor text for the content block in the quote. After the content block quote is established, hover the mouse over the anchor text and a preview floating layer will pop up to show the quoted content block. "
},
{
"Type": "NodeTag",
"Children": [
{
"Type": "NodeTagOpenMarker",
"Data": "#"
},
{
"Type": "NodeText",
"Data": "Content block/Reference"
},
{
"Type": "NodeTagCloseMarker",
"Data": "#"
}
]
}
]
},
{
"ID": "20210104091542-v1yca4p",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210104091542-v1yca4p",
"updated": "20210512154424"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Direction of the ref link"
}
]
},
{
"ID": "20210104091542-9h3i9dh",
"Type": "NodeList",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091542-9h3i9dh"
},
"Children": [
{
"ID": "20210104091542-ctguz9s",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091542-ctguz9s"
},
"Children": [
{
"ID": "20210302223856-grgney1",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223856-grgney1"
},
"Children": [
{
"Type": "NodeText",
"Data": "Forwardlink, that is, which other content blocks are used in the current content block"
}
]
}
]
},
{
"ID": "20210104091542-7fy85lw",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091542-7fy85lw"
},
"Children": [
{
"ID": "20210302223856-qk6hr9b",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223856-qk6hr9b"
},
"Children": [
{
"Type": "NodeText",
"Data": "Backlink, that is, the current content block is used by those other content blocks"
}
]
}
]
}
]
},
{
"ID": "20210104091542-hbzfsn5",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091542-hbzfsn5"
},
"Children": [
{
"Type": "NodeText",
"Data": "The forward link is included in the content of the current block, which we can see intuitively. Backlinks need to be searched in other documents to know, and it is precisely this information that is more valuable to us. We can use the following two ways to help us better grasp the knowledge points or diverge ideas:"
}
]
},
{
"ID": "20210104091542-rlv1299",
"Type": "NodeList",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091542-rlv1299"
},
"Children": [
{
"ID": "20210104091542-1ryw6y3",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091542-1ryw6y3"
},
"Children": [
{
"ID": "20210302223856-ngw7ijw",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223856-ngw7ijw"
},
"Children": [
{
"Type": "NodeBlockRef",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20200924101210-zwf8ags"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "Graph"
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
},
{
"Type": "NodeText",
"Data": ": browse forward and backward link relationships between content blocks"
}
]
}
]
},
{
"ID": "20210104091542-40sj7jl",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091542-40sj7jl"
},
"Children": [
{
"ID": "20210302223856-y92ousb",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223856-y92ousb",
"updated": "20210512154524"
},
"Children": [
{
"Type": "NodeBlockRef",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20200924101210-3qfiiat"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "Backlinks"
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
},
{
"Type": "NodeText",
"Data": ": Display the backlinks of the current content block as a text list"
}
]
}
]
}
]
}
]
}

View file

@ -0,0 +1,859 @@
{
"ID": "20201117112518-dott91x",
"Type": "NodeDocument",
"Properties": {
"id": "20201117112518-dott91x",
"title": "Embed Content block",
"type": "doc",
"updated": "20211223192551"
},
"Children": [
{
"ID": "20201224120448-6jnrawi",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20201224120448-6jnrawi",
"updated": "20210512154707"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Overview"
}
]
},
{
"ID": "20210111230452-5lclhuo",
"Type": "NodeParagraph",
"Properties": {
"id": "20210111230452-5lclhuo",
"updated": "20210512154710"
},
"Children": [
{
"Type": "NodeText",
"Data": "The embed content block is mainly used to summarize the required content blocks, use "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "{{"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": " and "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "}}"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": " to wrap SQL scripts on a single line: "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "{{ SELECT * FROM blocks WHERE content LIKE'%Keyword%' }}"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": ", database table please refer to "
},
{
"Type": "NodeBlockRef",
"Children": [
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeOpenParen"
},
{
"Type": "NodeBlockRefID",
"Data": "20201117103851-gx21lz6"
},
{
"Type": "NodeBlockRefSpace"
},
{
"Type": "NodeBlockRefText",
"Data": "here"
},
{
"Type": "NodeCloseParen"
},
{
"Type": "NodeCloseParen"
}
]
},
{
"Type": "NodeText",
"Data": ". "
},
{
"Type": "NodeTag",
"Children": [
{
"Type": "NodeTagOpenMarker",
"Data": "#"
},
{
"Type": "NodeText",
"Data": "Content block/Embed"
},
{
"Type": "NodeTagCloseMarker",
"Data": "#"
}
]
}
]
},
{
"ID": "20201224120448-8ew9ane",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20201224120448-8ew9ane"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Example"
}
]
},
{
"ID": "20201224120448-2uaiqr9",
"Type": "NodeList",
"ListData": {
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20201224120448-2uaiqr9",
"updated": "20210503152127"
},
"Children": [
{
"ID": "20201224120448-wkokoaj",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20201224120448-wkokoaj"
},
"Children": [
{
"ID": "20201224120448-6h7nng9",
"Type": "NodeParagraph",
"Properties": {
"id": "20201224120448-6h7nng9"
},
"Children": [
{
"Type": "NodeText",
"Data": "Query list items that contain "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "content block"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": ":"
}
]
},
{
"ID": "20201224120448-vogvrc7",
"Type": "NodeCodeBlock",
"IsFencedCodeBlock": true,
"CodeBlockFenceChar": 96,
"CodeBlockFenceLen": 3,
"CodeBlockOpenFence": "YGBg",
"CodeBlockInfo": "c3Fs",
"CodeBlockCloseFence": "YGBg",
"Properties": {
"id": "20201224120448-vogvrc7"
},
"Children": [
{
"Type": "NodeCodeBlockFenceOpenMarker",
"Data": "```",
"CodeBlockFenceLen": 3
},
{
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "c3Fs"
},
{
"ID": "20220307092214-3k8jexy",
"Type": "NodeCodeBlockCode",
"Data": "{{ SELECT * FROM blocks WHERE content LIKE '%content block%' AND type = 'i' }}\n",
"Properties": {
"id": "20220307092214-3k8jexy"
}
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
"Data": "```",
"CodeBlockFenceLen": 3
}
]
}
]
},
{
"ID": "20201224120448-4ke7k9b",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20201224120448-4ke7k9b"
},
"Children": [
{
"ID": "20201224120448-apivasm",
"Type": "NodeParagraph",
"Properties": {
"id": "20201224120448-apivasm"
},
"Children": [
{
"Type": "NodeText",
"Data": "The query content contains both "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "content block"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": " and "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "reference"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": " paragraph blocks:"
}
]
},
{
"ID": "20201224120448-bzzavtn",
"Type": "NodeCodeBlock",
"IsFencedCodeBlock": true,
"CodeBlockFenceChar": 96,
"CodeBlockFenceLen": 3,
"CodeBlockOpenFence": "YGBg",
"CodeBlockInfo": "c3Fs",
"CodeBlockCloseFence": "YGBg",
"Properties": {
"id": "20201224120448-bzzavtn"
},
"Children": [
{
"Type": "NodeCodeBlockFenceOpenMarker",
"Data": "```",
"CodeBlockFenceLen": 3
},
{
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "c3Fs"
},
{
"ID": "20220307092214-0soxi53",
"Type": "NodeCodeBlockCode",
"Data": "{{ SELECT * FROM blocks WHERE content LIKE '%content block%' AND content LIKE '%reference%' AND type = 'p') }}\n",
"Properties": {
"id": "20220307092214-0soxi53"
}
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
"Data": "```",
"CodeBlockFenceLen": 3
}
]
}
]
},
{
"ID": "20201224120448-n2nsjie",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20201224120448-n2nsjie"
},
"Children": [
{
"ID": "20201224120448-whs65cs",
"Type": "NodeParagraph",
"Properties": {
"id": "20201224120448-whs65cs",
"updated": "20210503152045"
},
"Children": [
{
"Type": "NodeText",
"Data": "The query content contains heading blocks of both "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "content block"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": " and "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "embed"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": ", and the first 2 items are selected in descending order of update time:"
}
]
},
{
"ID": "20201224120448-x2jp7sk",
"Type": "NodeCodeBlock",
"IsFencedCodeBlock": true,
"CodeBlockFenceChar": 96,
"CodeBlockFenceLen": 3,
"CodeBlockOpenFence": "YGBg",
"CodeBlockInfo": "c3Fs",
"CodeBlockCloseFence": "YGBg",
"Properties": {
"id": "20201224120448-x2jp7sk"
},
"Children": [
{
"Type": "NodeCodeBlockFenceOpenMarker",
"Data": "```",
"CodeBlockFenceLen": 3
},
{
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "c3Fs"
},
{
"ID": "20220307092214-ier6phf",
"Type": "NodeCodeBlockCode",
"Data": "{{ SELECT * FROM blocks WHERE content LIKE '%content block%' AND content LIKE '%embed%' AND type ='h' ORDER BY updated DESC LIMIT 2 }}\n",
"Properties": {
"id": "20220307092214-ier6phf"
}
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
"Data": "```",
"CodeBlockFenceLen": 3
}
]
}
]
}
]
},
{
"ID": "20201224120448-vagdm2b",
"Type": "NodeHeading",
"HeadingLevel": 3,
"Properties": {
"id": "20201224120448-vagdm2b"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "### "
},
{
"Type": "NodeText",
"Data": "Case 1"
}
]
},
{
"ID": "20201224120448-9gbg6ot",
"Type": "NodeParagraph",
"Properties": {
"id": "20201224120448-9gbg6ot"
},
"Children": [
{
"Type": "NodeText",
"Data": "The query contains paragraph blocks of both "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "In SiYuan"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": " and "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "core concept"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": " text, and excludes the current document (otherwise the paragraph block will also be included in the result set, because the current paragraph also contains these two texts. The following case is similar):"
}
]
},
{
"ID": "20210111231445-gwfrxnl",
"Type": "NodeBlockQueryEmbed",
"Properties": {
"id": "20210111231445-gwfrxnl",
"updated": "20211222185405"
},
"Children": [
{
"Type": "NodeOpenBrace"
},
{
"Type": "NodeOpenBrace"
},
{
"Type": "NodeBlockQueryEmbedScript",
"Data": "SELECT * FROM blocks WHERE content LIKE '%In SiYuan%' AND content LIKE '%core concept%' AND hpath NOT LIKE '%Embed Content Block%'"
},
{
"Type": "NodeCloseBrace"
},
{
"Type": "NodeCloseBrace"
}
]
},
{
"ID": "20201224120448-gx2xvjh",
"Type": "NodeHeading",
"HeadingLevel": 3,
"Properties": {
"id": "20201224120448-gx2xvjh"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "### "
},
{
"Type": "NodeText",
"Data": "Case 2"
}
]
},
{
"ID": "20201224120448-e0ohbtq",
"Type": "NodeParagraph",
"Properties": {
"id": "20201224120448-e0ohbtq"
},
"Children": [
{
"Type": "NodeText",
"Data": "Query paragraph blocks that contain both tags "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "#Content block/Embed#"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": " and "
},
{
"Type": "NodeCodeSpan",
"CodeMarkerLen": 1,
"Children": [
{
"Type": "NodeCodeSpanOpenMarker",
"Data": "`"
},
{
"Type": "NodeCodeSpanContent",
"Data": "#Content block/Reference#"
},
{
"Type": "NodeCodeSpanCloseMarker",
"Data": "`"
}
]
},
{
"Type": "NodeText",
"Data": ":"
}
]
},
{
"ID": "20201224120448-ww21jau",
"Type": "NodeBlockQueryEmbed",
"Properties": {
"id": "20201224120448-ww21jau",
"updated": "20211222185418"
},
"Children": [
{
"Type": "NodeOpenBrace"
},
{
"Type": "NodeOpenBrace"
},
{
"Type": "NodeBlockQueryEmbedScript",
"Data": "SELECT * FROM blocks WHERE (content LIKE '%#Content block/Embed#%' OR content LIKE '%#Content block/Reference#%') AND hpath NOT LIKE '%Embed Content Block%'"
},
{
"Type": "NodeCloseBrace"
},
{
"Type": "NodeCloseBrace"
}
]
},
{
"ID": "20201224120448-508mr48",
"Type": "NodeHeading",
"HeadingLevel": 3,
"Properties": {
"id": "20201224120448-508mr48"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "### "
},
{
"Type": "NodeText",
"Data": "Case 3"
}
]
},
{
"ID": "20201224120448-vralmz9",
"Type": "NodeParagraph",
"Properties": {
"id": "20201224120448-vralmz9"
},
"Children": [
{
"Type": "NodeText",
"Data": "Sometimes we may need to randomly roam and display content blocks to facilitate review."
}
]
},
{
"ID": "20201224120448-bmpyxnj",
"Type": "NodeBlockQueryEmbed",
"Data": "{{SELECT * FROM blocks ORDER BY random() LIMIT 3}}\n",
"Properties": {
"id": "20201224120448-bmpyxnj"
},
"Children": [
{
"Type": "NodeOpenBrace"
},
{
"Type": "NodeOpenBrace"
},
{
"Type": "NodeBlockQueryEmbedScript",
"Data": "SELECT * FROM blocks ORDER BY random() LIMIT 3"
},
{
"Type": "NodeCloseBrace"
},
{
"Type": "NodeCloseBrace"
}
]
},
{
"ID": "20210630172523-9xe9jj2",
"Type": "NodeHeading",
"HeadingLevel": 3,
"Properties": {
"id": "20210630172523-9xe9jj2",
"updated": "20210630172530"
},
"Children": [
{
"Type": "NodeText",
"Data": "Case 4"
}
]
},
{
"ID": "20210630172530-nyer3fx",
"Type": "NodeParagraph",
"Properties": {
"id": "20210630172530-nyer3fx",
"updated": "20210630172540"
},
"Children": [
{
"Type": "NodeText",
"Data": "To query the unfinished task list items, you need to use the "
},
{
"Type": "NodeCodeSpan",
"Data": "code",
"Children": [
{
"Type": "NodeCodeSpanOpenMarker"
},
{
"Type": "NodeCodeSpanContent",
"Data": "markdown"
},
{
"Type": "NodeCodeSpanCloseMarker"
}
]
},
{
"Type": "NodeText",
"Data": " field instead of the "
},
{
"Type": "NodeCodeSpan",
"Data": "code",
"Children": [
{
"Type": "NodeCodeSpanOpenMarker"
},
{
"Type": "NodeCodeSpanContent",
"Data": "content"
},
{
"Type": "NodeCodeSpanCloseMarker"
}
]
},
{
"Type": "NodeText",
"Data": " field:"
}
]
},
{
"ID": "20210630172551-xbk6xa8",
"Type": "NodeBlockQueryEmbed",
"Properties": {
"id": "20210630172551-xbk6xa8",
"updated": "20211008203637"
},
"Children": [
{
"Type": "NodeOpenBrace"
},
{
"Type": "NodeOpenBrace"
},
{
"Type": "NodeBlockQueryEmbedScript",
"Data": "SELECT * FROM blocks WHERE markdown LIKE '%[ ]%' AND subtype = 't' AND type = 'i'"
},
{
"Type": "NodeCloseBrace"
},
{
"Type": "NodeCloseBrace"
}
]
}
]
}

View file

@ -0,0 +1,603 @@
{
"ID": "20201210233038-3xr19g5",
"Type": "NodeDocument",
"Properties": {
"id": "20201210233038-3xr19g5",
"title": "Conversion of Document and Heading",
"type": "doc",
"updated": "20211223192545"
},
"Children": [
{
"ID": "20210104091550-oyzs64s",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210104091550-oyzs64s"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Correspondence between Document and Heading"
}
]
},
{
"ID": "20210104091550-stqtr5k",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091550-stqtr5k"
},
"Children": [
{
"Type": "NodeText",
"Data": "The heading block and the document block have a natural correspondence, because:"
}
]
},
{
"ID": "20210104091550-c9m7yo3",
"Type": "NodeList",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-c9m7yo3"
},
"Children": [
{
"ID": "20210104091550-kfphjkv",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-kfphjkv"
},
"Children": [
{
"ID": "20210302223904-ak8zul2",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223904-ak8zul2",
"updated": "20210302223906"
},
"Children": [
{
"Type": "NodeText",
"Data": "Each document block has a name"
}
]
}
]
},
{
"ID": "20210104091550-cod7uyo",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-cod7uyo"
},
"Children": [
{
"ID": "20210302223904-3rbkt5r",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223904-3rbkt5r"
},
"Children": [
{
"Type": "NodeText",
"Data": "Each heading block also has a name"
}
]
}
]
}
]
},
{
"ID": "20210104091550-0izuikh",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091550-0izuikh"
},
"Children": [
{
"Type": "NodeText",
"Data": "So we can convert between the document block and the heading block. In addition, because the content block is referenced based on id, the conversion process will not break the existing reference relationship."
}
]
},
{
"ID": "20210104091550-5sh49go",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210104091550-5sh49go"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Convert Document block to Heading block"
}
]
},
{
"ID": "20210104091550-rbetlgr",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091550-rbetlgr"
},
"Children": [
{
"Type": "NodeText",
"Data": "In the doc tree, select the document that needs to be converted into a heading block, and then drag it to the position to be inserted in the editor tab. There are two situations here:"
}
]
},
{
"ID": "20210104091550-qfc4zlm",
"Type": "NodeList",
"ListData": {
"Typ": 1,
"Tight": true,
"Start": 1,
"Delimiter": 46,
"Padding": 3,
"Marker": "MQ==",
"Num": 1
},
"Properties": {
"id": "20210104091550-qfc4zlm"
},
"Children": [
{
"ID": "20210104091550-12grx1a",
"Type": "NodeListItem",
"Data": "1",
"ListData": {
"Typ": 1,
"Tight": true,
"Start": 1,
"Delimiter": 46,
"Padding": 3,
"Marker": "MQ==",
"Num": 1
},
"Properties": {
"id": "20210104091550-12grx1a"
},
"Children": [
{
"ID": "20210302223904-ytpydxa",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223904-ytpydxa"
},
"Children": [
{
"Type": "NodeText",
"Data": "Place the document block on the existing heading block, and the document block will be inserted below as the level node of the heading block"
}
]
}
]
},
{
"ID": "20210104091550-a5hh8bg",
"Type": "NodeListItem",
"Data": "2",
"ListData": {
"Typ": 1,
"Tight": true,
"Start": 2,
"Delimiter": 46,
"Padding": 3,
"Marker": "Mg==",
"Num": 2
},
"Properties": {
"id": "20210104091550-a5hh8bg"
},
"Children": [
{
"ID": "20210302223904-4rlhclw",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223904-4rlhclw"
},
"Children": [
{
"Type": "NodeText",
"Data": "Place the document block on a non-heading block, and the document block will be inserted as a child node of the heading block to which the block belongs"
}
]
}
]
}
]
},
{
"ID": "20210104091550-9sy6z40",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091550-9sy6z40"
},
"Children": [
{
"Type": "NodeText",
"Data": "After the document block is converted to a heading block:"
}
]
},
{
"ID": "20210104091550-zq0ph0f",
"Type": "NodeList",
"ListData": {
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-zq0ph0f"
},
"Children": [
{
"ID": "20210104091550-7unpq37",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-7unpq37"
},
"Children": [
{
"ID": "20210302223904-bzkmex1",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223904-bzkmex1"
},
"Children": [
{
"Type": "NodeText",
"Data": "The original document name will become the heading name"
}
]
}
]
},
{
"ID": "20210104091550-hi3ky7o",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-hi3ky7o"
},
"Children": [
{
"ID": "20210302223904-l78gsey",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223904-l78gsey"
},
"Children": [
{
"Type": "NodeText",
"Data": "Logically, the document block is a first-level title, and the relative level will be changed according to the insertion position"
}
]
}
]
},
{
"ID": "20210104091550-cumad9i",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-cumad9i"
},
"Children": [
{
"ID": "20210302223904-dsfeeh6",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223904-dsfeeh6"
},
"Children": [
{
"Type": "NodeText",
"Data": "Each heading level in the original document will be adjusted according to the insertion position"
}
]
},
{
"ID": "20210104091550-rbvitpg",
"Type": "NodeList",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-rbvitpg"
},
"Children": [
{
"ID": "20210104091550-q8xxl8s",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-q8xxl8s"
},
"Children": [
{
"ID": "20210302223904-z5rbkfi",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223904-z5rbkfi"
},
"Children": [
{
"Type": "NodeText",
"Data": "For the above situation 1: For example, if the original document contains the first, second, and third level headings, and the insertion position is a second-level heading, the heading block after the document block conversion will be a second-level heading. Level 3 headings will become Level 2, 3, and 4 headings"
}
]
}
]
},
{
"ID": "20210104091550-ks1lqvh",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-ks1lqvh"
},
"Children": [
{
"ID": "20210302223904-hwh19uj",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223904-hwh19uj"
},
"Children": [
{
"Type": "NodeText",
"Data": "For the second case above: For example, the original document contains headings of level 1, 2, and 3, and the insertion position is a paragraph block under a level 2 heading. The heading block after the conversion of the document block will be a level 3 heading. Level 1, 2, and 3 headings will become Level 3, 4, and 5 headings"
}
]
}
]
}
]
}
]
}
]
},
{
"ID": "20210104091550-fualfrs",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210104091550-fualfrs"
},
"Children": [
{
"Type": "NodeHeadingC8hMarker",
"Data": "## "
},
{
"Type": "NodeText",
"Data": "Convert Heading block to Document block"
}
]
},
{
"ID": "20210104091550-1pe70bg",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091550-1pe70bg"
},
"Children": [
{
"Type": "NodeText",
"Data": "In the editor tab, select the heading block to be converted, press and hold the heading block icon, and then drag it to the folder to be placed in the doc tree. If you need to place it on the notebook root folder, drag the heading block icon to the top notebook icon row."
}
]
},
{
"ID": "20210104091550-atbf12t",
"Type": "NodeParagraph",
"Properties": {
"id": "20210104091550-atbf12t"
},
"Children": [
{
"Type": "NodeText",
"Data": "After the heading block is converted to a document block:"
}
]
},
{
"ID": "20210104091550-nsd8w2j",
"Type": "NodeList",
"ListData": {
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-nsd8w2j"
},
"Children": [
{
"ID": "20210104091550-85231ks",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-85231ks"
},
"Children": [
{
"ID": "20210302223904-brosops",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223904-brosops"
},
"Children": [
{
"Type": "NodeText",
"Data": "The heading name will become the document name"
}
]
}
]
},
{
"ID": "20210104091550-s2nrev0",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-s2nrev0"
},
"Children": [
{
"ID": "20210302223904-mleww72",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223904-mleww72"
},
"Children": [
{
"Type": "NodeText",
"Data": "If there are subtitles under the original heading block, the largest level of these subtitles will be used as the first level of the new document, and the remaining subtitles will be adjusted according to the relative level"
}
]
},
{
"ID": "20210104091550-c8bmph5",
"Type": "NodeList",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-c8bmph5"
},
"Children": [
{
"ID": "20210104091550-o45r6uw",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210104091550-o45r6uw"
},
"Children": [
{
"ID": "20210302223904-62szx4g",
"Type": "NodeParagraph",
"Properties": {
"id": "20210302223904-62szx4g"
},
"Children": [
{
"Type": "NodeText",
"Data": "For example, the original heading block contains three, four, and five levels of subtitles, and these subtitles will be converted into one, two, and three levels after being converted into a document block"
}
]
}
]
}
]
}
]
}
]
}
]
}

View file

@ -0,0 +1,497 @@
{
"ID": "20210613191509-cbkxcbz",
"Type": "NodeDocument",
"Properties": {
"id": "20210613191509-cbkxcbz",
"title": "Content Block Attribute",
"updated": "20211223192555"
},
"Children": [
{
"ID": "20210613191548-b394bll",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210613191548-b394bll",
"updated": "20210613191548"
},
"Children": [
{
"Type": "NodeText",
"Data": "Overview"
}
]
},
{
"ID": "20210613191548-o34mmas",
"Type": "NodeParagraph",
"Properties": {
"id": "20210613191548-o34mmas",
"updated": "20210613191548"
},
"Children": [
{
"Type": "NodeText",
"Data": "Attributes exist in the form of key-value pairs. We can enrich the connotation of the content block by setting attributes on the content block. Attributes are divided into built-in attributes and custom attributes."
}
]
},
{
"ID": "20210613191548-ckua3q3",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210613191548-ckua3q3",
"updated": "20210613191548"
},
"Children": [
{
"Type": "NodeText",
"Data": "Built-in attributes"
}
]
},
{
"ID": "20210613191548-n6dt4hc",
"Type": "NodeTable",
"TableAligns": [
2,
0
],
"Properties": {
"id": "20210613191548-n6dt4hc",
"updated": "20210613191633"
},
"Children": [
{
"Type": "NodeTableHead",
"Data": "thead",
"Children": [
{
"Type": "NodeTableRow",
"Data": "tr",
"Children": [
{
"Type": "NodeTableCell",
"Data": "th",
"TableCellAlign": 2,
"Children": [
{
"Type": "NodeText",
"Data": "Property name"
}
]
},
{
"Type": "NodeTableCell",
"Data": "th",
"Children": [
{
"Type": "NodeText",
"Data": "Description"
}
]
}
]
}
]
},
{
"Type": "NodeTableRow",
"Data": "tr",
"Children": [
{
"Type": "NodeTableCell",
"Data": "td",
"TableCellAlign": 2,
"Children": [
{
"Type": "NodeText",
"Data": "name"
}
]
},
{
"Type": "NodeTableCell",
"Data": "td",
"Children": [
{
"Type": "NodeText",
"Data": "Name of the content block"
}
]
}
]
},
{
"Type": "NodeTableRow",
"Data": "tr",
"Children": [
{
"Type": "NodeTableCell",
"Data": "td",
"TableCellAlign": 2,
"Children": [
{
"Type": "NodeText",
"Data": "alias"
}
]
},
{
"Type": "NodeTableCell",
"Data": "td",
"Children": [
{
"Type": "NodeText",
"Data": "Alias of content block"
}
]
}
]
},
{
"Type": "NodeTableRow",
"Data": "tr",
"Children": [
{
"Type": "NodeTableCell",
"Data": "td",
"TableCellAlign": 2,
"Children": [
{
"Type": "NodeText",
"Data": "memo"
}
]
},
{
"Type": "NodeTableCell",
"Data": "td",
"Children": [
{
"Type": "NodeText",
"Data": "Memo of the content block"
}
]
}
]
},
{
"Type": "NodeTableRow",
"Data": "tr",
"Children": [
{
"Type": "NodeTableCell",
"Data": "td",
"TableCellAlign": 2,
"Children": [
{
"Type": "NodeText",
"Data": "bookmark"
}
]
},
{
"Type": "NodeTableCell",
"Data": "td",
"Children": [
{
"Type": "NodeText",
"Data": "Bookmark of content block"
}
]
}
]
}
]
},
{
"ID": "20210613191548-65gd8yo",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210613191548-65gd8yo",
"updated": "20210613191548"
},
"Children": [
{
"Type": "NodeText",
"Data": "Custom attributes"
}
]
},
{
"ID": "20210613191548-7p2bvoq",
"Type": "NodeParagraph",
"Properties": {
"id": "20210613191548-7p2bvoq",
"updated": "20210613191746"
},
"Children": [
{
"Type": "NodeText",
"Data": "The user-defined attributes are set by the user through the "
},
{
"Type": "NodeCodeSpan",
"Data": "code",
"Children": [
{
"Type": "NodeCodeSpanOpenMarker"
},
{
"Type": "NodeCodeSpanContent",
"Data": "Block icon menu"
},
{
"Type": "NodeCodeSpanCloseMarker"
}
]
},
{
"Type": "NodeText",
"Data": " -"
},
{
"Type": "NodeCodeSpan",
"Data": "code",
"Children": [
{
"Type": "NodeCodeSpanOpenMarker"
},
{
"Type": "NodeCodeSpanContent",
"Data": "Attribute"
},
{
"Type": "NodeCodeSpanCloseMarker"
}
]
},
{
"Type": "NodeText",
"Data": ", and only English letters and Arabic numerals are allowed in the attribute name (such as "
},
{
"Type": "NodeCodeSpan",
"Data": "code",
"Children": [
{
"Type": "NodeCodeSpanOpenMarker"
},
{
"Type": "NodeCodeSpanContent",
"Data": "doing"
},
{
"Type": "NodeCodeSpanCloseMarker"
}
]
},
{
"Type": "NodeText",
"Data": ", "
},
{
"Type": "NodeCodeSpan",
"Data": "code",
"Children": [
{
"Type": "NodeCodeSpanOpenMarker"
},
{
"Type": "NodeCodeSpanContent",
"Data": "7days"
},
{
"Type": "NodeCodeSpanCloseMarker"
}
]
},
{
"Type": "NodeText",
"Data": "). After setting, SiYuan will automatically prefix the attribute name with "
},
{
"Type": "NodeCodeSpan",
"Data": "code",
"Children": [
{
"Type": "NodeCodeSpanOpenMarker"
},
{
"Type": "NodeCodeSpanContent",
"Data": "custom-"
},
{
"Type": "NodeCodeSpanCloseMarker"
}
]
},
{
"Type": "NodeText",
"Data": " to distinguish built-in attributes from custom attributes."
}
]
},
{
"ID": "20210613191548-5m1tlai",
"Type": "NodeHeading",
"HeadingLevel": 2,
"Properties": {
"id": "20210613191548-5m1tlai",
"updated": "20210613191548"
},
"Children": [
{
"Type": "NodeText",
"Data": "Using attributes"
}
]
},
{
"ID": "20210613191548-r7r6xw4",
"Type": "NodeParagraph",
"Properties": {
"id": "20210613191548-r7r6xw4",
"updated": "20210824200848"
},
"Children": [
{
"Type": "NodeText",
"Data": "There are two main usage scenarios for attributes: querying content blocks based on attributes and storing widget data."
}
]
},
{
"ID": "20210613191548-ihlwok9",
"Type": "NodeHeading",
"HeadingLevel": 3,
"Properties": {
"id": "20210613191548-ihlwok9",
"updated": "20210613191548"
},
"Children": [
{
"Type": "NodeText",
"Data": "Query content blocks based on attributes"
}
]
},
{
"ID": "20210613191548-h0zl261",
"Type": "NodeParagraph",
"Properties": {
"id": "20210613191548-h0zl261",
"updated": "20210613191548"
},
"Children": [
{
"Type": "NodeText",
"Data": "For example, when we set the properties of "
},
{
"Type": "NodeCodeSpan",
"Data": "code",
"Children": [
{
"Type": "NodeCodeSpanOpenMarker"
},
{
"Type": "NodeCodeSpanContent",
"Data": "progress=30"
},
{
"Type": "NodeCodeSpanCloseMarker"
}
]
},
{
"Type": "NodeText",
"Data": " and "
},
{
"Type": "NodeCodeSpan",
"Data": "code",
"Children": [
{
"Type": "NodeCodeSpanOpenMarker"
},
{
"Type": "NodeCodeSpanContent",
"Data": "priority=2"
},
{
"Type": "NodeCodeSpanCloseMarker"
}
]
},
{
"Type": "NodeText",
"Data": " for the content block, we can query all content blocks with a progress of 30 and a priority of 2 through SQL:"
}
]
},
{
"ID": "20210613191548-vaj5jsf",
"Type": "NodeCodeBlock",
"IsFencedCodeBlock": true,
"Properties": {
"id": "20210613191548-vaj5jsf",
"updated": "20210613191548"
},
"Children": [
{
"Type": "NodeCodeBlockFenceOpenMarker",
"Data": "```"
},
{
"Type": "NodeCodeBlockFenceInfoMarker",
"CodeBlockInfo": "c3Fs"
},
{
"ID": "20220307092214-mhz28us",
"Type": "NodeCodeBlockCode",
"Data": "SELECT *\nFROM blocks\nWHERE id IN (\n SELECT block_id\n FROM attributes AS a\n WHERE (a.name ='custom-progress' AND a.value = '30')\n OR (a.name ='custom-priority' AND a.value = '2')\n GROUP BY block_id\n HAVING count(block_id) = 2\n);\n",
"Properties": {
"id": "20220307092214-mhz28us"
}
},
{
"Type": "NodeCodeBlockFenceCloseMarker",
"Data": "```"
}
]
},
{
"ID": "20210613191548-cc68rcy",
"Type": "NodeHeading",
"HeadingLevel": 3,
"Properties": {
"id": "20210613191548-cc68rcy",
"updated": "20210824200759"
},
"Children": [
{
"Type": "NodeText",
"Data": "Store widget data"
}
]
},
{
"ID": "20210613191548-54xjeo6",
"Type": "NodeParagraph",
"Properties": {
"id": "20210613191548-54xjeo6",
"updated": "20210824200805"
},
"Children": [
{
"Type": "NodeText",
"Data": "The widget can set the attributes through the interface, please refer to the development document for details."
}
]
}
]
}

View file

@ -0,0 +1,20 @@
{
"ID": "20210808180303-axh6q1d",
"Type": "NodeDocument",
"Properties": {
"icon": "1f3a8",
"id": "20210808180303-axh6q1d",
"title": "Custom Appearance",
"updated": "20210808180303"
},
"Children": [
{
"ID": "20210808180303-j9oz1rg",
"Type": "NodeParagraph",
"Properties": {
"id": "20210808180303-j9oz1rg",
"updated": "20210808180303"
}
}
]
}

View file

@ -0,0 +1,187 @@
{
"ID": "20210808180303-h361q1i",
"Type": "NodeDocument",
"Properties": {
"icon": "1f371",
"id": "20210808180303-h361q1i",
"title": "Editor",
"updated": "20210808180303"
},
"Children": [
{
"ID": "20210419175558-p7doxbn",
"Type": "NodeList",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210419175558-p7doxbn"
},
"Children": [
{
"ID": "20210419175558-f0dh89l",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210419175558-f0dh89l"
},
"Children": [
{
"ID": "20210419175558-rr763ws",
"Type": "NodeParagraph",
"Properties": {
"id": "20210419175558-rr763ws"
},
"Children": [
{
"Type": "NodeText",
"Data": "Editing and typesetting based on content blocks"
}
]
}
]
},
{
"ID": "20210419175558-931w9pb",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210419175558-931w9pb"
},
"Children": [
{
"ID": "20210419175558-1vwlm9o",
"Type": "NodeParagraph",
"Properties": {
"id": "20210419175558-1vwlm9o"
},
"Children": [
{
"Type": "NodeText",
"Data": "List outline, support with or without sub-level indentation"
}
]
}
]
},
{
"ID": "20210419175558-oorcy24",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210419175558-oorcy24"
},
"Children": [
{
"ID": "20210419175558-7s6a7wb",
"Type": "NodeParagraph",
"Properties": {
"id": "20210419175558-7s6a7wb"
},
"Children": [
{
"Type": "NodeText",
"Data": "Content block zoom, that is, each content block can be zoomed into focus"
}
]
}
]
},
{
"ID": "20210419175558-zqid77i",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210419175558-zqid77i"
},
"Children": [
{
"ID": "20210419175558-b3vziix",
"Type": "NodeParagraph",
"Properties": {
"id": "20210419175558-b3vziix"
},
"Children": [
{
"Type": "NodeText",
"Data": "Dynamic loading, solving large document jams"
}
]
}
]
},
{
"ID": "20210419175558-i95hwiv",
"Type": "NodeListItem",
"Data": "*",
"ListData": {
"Tight": true,
"BulletChar": 42,
"Padding": 2,
"Marker": "Kg==",
"Num": -1
},
"Properties": {
"id": "20210419175558-i95hwiv"
},
"Children": [
{
"ID": "20210419175558-ocap7p2",
"Type": "NodeParagraph",
"Properties": {
"id": "20210419175558-ocap7p2",
"updated": "20210512153240"
},
"Children": [
{
"Type": "NodeText",
"Data": "Horizontal layout by dragging block icon"
}
]
}
]
}
]
},
{
"ID": "20210808180303-a0ht38y",
"Type": "NodeParagraph",
"Properties": {
"id": "20210808180303-a0ht38y",
"updated": "20210808180303"
}
}
]
}

Some files were not shown because too many files have changed in this diff Show more