mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-08 02:40:28 +08:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
ad55e13c95
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -3,7 +3,7 @@ name: CI/CD For SiYuan
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'dev*'
|
||||
- '*-dev*'
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
|
@ -884,6 +884,7 @@
|
||||
"139": "Data snapshot is being generated, [%s] data files have been processed, [%s] remaining...",
|
||||
"140": "Failed to create data snapshot: %s",
|
||||
"141": "Failed to rollback data snapshot",
|
||||
"142": "Snapshot memo cannot be empty"
|
||||
"142": "Snapshot memo cannot be empty",
|
||||
"143": "Creating data snapshot..."
|
||||
}
|
||||
}
|
||||
|
@ -884,6 +884,7 @@
|
||||
"139": "L'instantané des données est en cours de génération, [%s] fichiers de données ont été traités, [%s] restants...",
|
||||
"140": "Échec de la création de l'instantané des données: %s",
|
||||
"141": "Échec de la restauration de l'instantané des données",
|
||||
"142": "Le mémo d'instantané ne peut pas être vide"
|
||||
"142": "Le mémo d'instantané ne peut pas être vide",
|
||||
"143": "Création d'un instantané de données..."
|
||||
}
|
||||
}
|
||||
|
@ -883,6 +883,7 @@
|
||||
"139": "正在生成數據快照,已處理 [%s] 個數據文件,剩餘待處理 [%s]...",
|
||||
"140": "創建數據快照失敗:%s",
|
||||
"141": "回滾數據快照失敗",
|
||||
"142": "快照備註不能為空"
|
||||
"142": "快照備註不能為空",
|
||||
"143": "正在創建數據快照..."
|
||||
}
|
||||
}
|
||||
|
@ -885,6 +885,7 @@
|
||||
"139": "正在生成数据快照,已处理 [%s] 个数据文件,剩余待处理 [%s]...",
|
||||
"140": "创建数据快照失败:%s",
|
||||
"141": "回滚数据快照失败",
|
||||
"142": "快照备注不能为空"
|
||||
"142": "快照备注不能为空",
|
||||
"143": "正在创建数据快照..."
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
"Properties": {
|
||||
"id": "20210615213222-vs5tzbd",
|
||||
"title": "Data history",
|
||||
"updated": "20220503204314"
|
||||
"updated": "20220615120852"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -23,36 +23,167 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220501135308-99gc8dn",
|
||||
"ID": "20220615120310-jq1miv3",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220501135308-99gc8dn",
|
||||
"updated": "20220502163315"
|
||||
"id": "20220615120310-jq1miv3",
|
||||
"updated": "20220615120310"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Data history is mainly used to ensure data security, and even if a misoperation occurs, data can be rolled back through the history. Historical data is uniformly stored in the "
|
||||
},
|
||||
"Data": "Data history is mainly used to ensure data security, and even if a misoperation occurs, data can be rolled back through history. The data history is divided into two functions:"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120310-64352xf",
|
||||
"Type": "NodeList",
|
||||
"ListData": {},
|
||||
"Properties": {
|
||||
"id": "20220615120310-64352xf",
|
||||
"updated": "20220615120310"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"ID": "20220615120310-zyipokx",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"BulletChar": 42,
|
||||
"Marker": "Kg=="
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615120310-zyipokx",
|
||||
"updated": "20220615120310"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "workspace/history/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
"ID": "20220615120310-hxba93x",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120310-hxba93x",
|
||||
"updated": "20220615120310"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "File history: saved in the "
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "workspace/history/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " folder as the original file, human-readable, and can be manually copied to the corresponding location of data for recovery"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120310-ku0y1n6",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"BulletChar": 42,
|
||||
"Marker": "Kg=="
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615120310-ku0y1n6",
|
||||
"updated": "20220615120310"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615120310-qkv8ygq",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120310-qkv8ygq",
|
||||
"updated": "20220615120310"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Data snapshot: partitioned by file, encrypted and compressed and saved in the "
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "workspace/repo/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " folder, unreadable by humans and cannot be manually restored"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120310-qal3upv",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120310-qal3upv",
|
||||
"updated": "20220615120310"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " folder. History will be automatically generated in the following cases:"
|
||||
"Data": "In addition to local data history, data snapshots are also used for cloud data snapshot synchronization."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120326-oxyzckb",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20220615120326-oxyzckb",
|
||||
"updated": "20220615120330"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "File history"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120326-dopr4db",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615120326-dopr4db",
|
||||
"updated": "20220615120326"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "File history generation rules"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -406,12 +537,12 @@
|
||||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20220501135308-2rn9rgb",
|
||||
"updated": "20220501135308"
|
||||
"updated": "20220615120407"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Browsing History"
|
||||
"Data": "Browse file history"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -421,7 +552,7 @@
|
||||
"ListData": {},
|
||||
"Properties": {
|
||||
"id": "20220501135308-3azjqzh",
|
||||
"updated": "20220503204314"
|
||||
"updated": "20220615120419"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -433,7 +564,7 @@
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220501135308-itmzgsj",
|
||||
"updated": "20220503204314"
|
||||
"updated": "20220615120419"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -441,7 +572,7 @@
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220501135308-yvsiton",
|
||||
"updated": "20220503204314"
|
||||
"updated": "20220615120419"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -486,7 +617,7 @@
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " to open the history, only supports browsing the latest 32 times of history"
|
||||
"Data": " to open the history, only supports browsing the latest 32 times of file history"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -548,12 +679,12 @@
|
||||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20210104091559-kgrtuyh",
|
||||
"updated": "20210403161323"
|
||||
"updated": "20220615120446"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Rollback"
|
||||
"Data": "Rollback through file history"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -562,12 +693,12 @@
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220501133808-qv8l0rm",
|
||||
"updated": "20220501133808"
|
||||
"updated": "20220615120526"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "In the time list column on the left side of the history interface, there is a rollback button behind each historical record. After clicking, a confirmation dialog box will pop up. If the rollback is confirmed, the existing data will be overwritten with the historical data."
|
||||
"Data": "In the time list column on the left side of the data history interface, there is a rollback button on the right side of each history record. After clicking, a confirmation dialog box will pop up. If the rollback is confirmed, the existing file will be overwritten with the file history."
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -810,7 +941,7 @@
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220501133808-vpkkff8",
|
||||
"updated": "20220501134108"
|
||||
"updated": "20220615111249"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -924,7 +1055,7 @@
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220501133808-te5g9yq",
|
||||
"updated": "20220501134108"
|
||||
"updated": "20220615111249"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -932,18 +1063,654 @@
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220501133808-8md1hk0",
|
||||
"updated": "20220501134108"
|
||||
"updated": "20220615111249"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Restart SiYuan"
|
||||
"Data": "Reindex manually after starting SiYuan"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-rhii2c7",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615120602-rhii2c7",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Clean up file history"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-mjy7por",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120602-mjy7por",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "By default, the history of files generated in the last 30 days is automatically saved, which can be adjusted through "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Settings"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Editor"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "History Retention Days"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ". History will be automatically deleted."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-3fqyf3h",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120602-3fqyf3h",
|
||||
"updated": "20220615120726"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "If you want to clear all file history data, you can click "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Settings"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Editor"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Clear all history"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ", or manually delete "
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "workspace/history/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " folder."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-drz9hwc",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20220615120602-drz9hwc",
|
||||
"updated": "20220615120658"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Data snapshot"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-iya2886",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615120602-iya2886",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Initialize key"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-wipwu6g",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120602-wipwu6g",
|
||||
"updated": "20220615120742"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Before using the data snapshot for the first time, you need to initialize the "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Data repo key"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " in "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Settings"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "About"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-cx1f2g9",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120602-cx1f2g9",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "If you have multiple devices, you only need to initialize the key on one of the devices, then copy the key string to other devices and import by importing the key string. Do not initialize keys repeatedly on multiple devices, otherwise data snapshots will not be available across devices, for example, data snapshots cannot be synchronized through the cloud."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-wp2lnbq",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615120602-wp2lnbq",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Create data snapshot"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-5r3nl34",
|
||||
"Type": "NodeList",
|
||||
"ListData": {
|
||||
"Typ": 1
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615120602-5r3nl34",
|
||||
"updated": "20220615120840"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615120602-a20qin2",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"Typ": 1,
|
||||
"Delimiter": 46,
|
||||
"Marker": "MS4=",
|
||||
"Num": 1
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615120602-a20qin2",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615120602-k0xs8n5",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120602-k0xs8n5",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "On the top "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "..."
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " menu or "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Alt+H"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " to open the data history interface"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-fhbmyhz",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"Typ": 1,
|
||||
"Delimiter": 46,
|
||||
"Marker": "Mi4=",
|
||||
"Num": 2
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615120602-fhbmyhz",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615120602-rh4nmca",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120602-rh4nmca",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Switch to the last tab "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Data snapshot"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-dkrrocp",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"Typ": 1,
|
||||
"Delimiter": 46,
|
||||
"Marker": "My4=",
|
||||
"Num": 3
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615120602-dkrrocp",
|
||||
"updated": "20220615120840"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615120602-4hggbdj",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120602-4hggbdj",
|
||||
"updated": "20220615120840"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Click "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Create Snapshot"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ", fill in "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Memo"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " and confirm"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-dwulzmi",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120602-dwulzmi",
|
||||
"updated": "20220615120852"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "When browsing data snapshots, you can only distinguish between the snapshot creation time and memo, so the memo should be as detailed as possible, so that different data snapshots can be accurately identified in the future."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-nzrp6gt",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615120602-nzrp6gt",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Browse data snapshots"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-13h2vpv",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120602-13h2vpv",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "After creating a data snapshot, you can see the snapshot time list on the left, and click different snapshots to browse their notes."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-cikdh3o",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615120602-cikdh3o",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Rollback data snapshot"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-zusc5xs",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120602-zusc5xs",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "There is a rollback button on the right side of the snapshot time list entry. After clicking, a confirmation dialog box will pop up. If the rollback is confirmed, the existing data will be completely replaced with the snapshot data."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-nhnnujh",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615120602-nhnnujh",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Clean data snapshot"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120602-f90cll0",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120602-f90cll0",
|
||||
"updated": "20220615120602"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Manually deleting the "
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "workspace/repo/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " folder will clear all data snapshots."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
"Properties": {
|
||||
"id": "20210615211733-v6rzowm",
|
||||
"title": "数据历史",
|
||||
"updated": "20220503204134"
|
||||
"updated": "20220615120214"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -27,32 +27,163 @@
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220501134418-ql8s90v",
|
||||
"updated": "20220502163331"
|
||||
"updated": "20220615111558"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "数据历史主要用于保证数据安全,即使发生误操作也能通过历史进行数据回滚。历史数据统一保存在 "
|
||||
},
|
||||
"Data": "数据历史主要用于保证数据安全,即使发生误操作也能通过历史进行数据回滚。数据历史分为两个功能:"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615111559-oiv8079",
|
||||
"Type": "NodeList",
|
||||
"ListData": {},
|
||||
"Properties": {
|
||||
"id": "20220615111559-oiv8079",
|
||||
"updated": "20220615112117"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"ID": "20220615111600-89ecgx0",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"BulletChar": 42,
|
||||
"Marker": "Kg=="
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615111600-89ecgx0",
|
||||
"updated": "20220615111600"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "工作空间/history/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
"ID": "20220615111600-ag04crg",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615111600-ag04crg",
|
||||
"updated": "20220615112026"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "文件历史:按原始文件方式保存在 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "工作空间/history/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 文件夹下,人类可读,可手动拷贝到 data 对应位置恢复"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615111601-l9ydpwh",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"BulletChar": 42,
|
||||
"Marker": "Kg=="
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615111601-l9ydpwh",
|
||||
"updated": "20220615112117"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615111601-8oaj5t3",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615111601-8oaj5t3",
|
||||
"updated": "20220615112117"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "数据快照:按文件分块、加密并压缩保存在 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "工作空间/repo/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 文件夹下,人类不可读,无法手动恢复"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615112117-57abhen",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615112117-57abhen",
|
||||
"updated": "20220615112255"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 文件夹下,以下情况会自动生成历史:"
|
||||
"Data": "数据快照除了用于本地数据历史,还将用于云端数据快照同步。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615111435-ownalnb",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20220615111435-ownalnb",
|
||||
"updated": "20220615111459"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "文件历史"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615111435-mm5qpqp",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615111435-mm5qpqp",
|
||||
"updated": "20220615112944"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "文件历史生成规则"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -62,7 +193,7 @@
|
||||
"ListData": {},
|
||||
"Properties": {
|
||||
"id": "20210403160319-ufy7jta",
|
||||
"updated": "20220501135255"
|
||||
"updated": "20220501135036"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -191,7 +322,19 @@
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "云端同步时,本地被云端覆盖的数据会生成历史,历史文件夹后缀为 "
|
||||
"Data": "云端"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "同步时,本地被"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "云端"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "覆盖的数据会生成历史,历史文件夹后缀为 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
@ -235,7 +378,15 @@
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "手动删除笔记本、文档和资源文件时会生成历史,历史文件夹后缀为 "
|
||||
"Data": "手动删除笔记本、文档和"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "资源文件"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "时会生成历史,历史文件夹后缀为 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
@ -403,15 +554,15 @@
|
||||
{
|
||||
"ID": "20210104090742-f9nkimo",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 2,
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20210104090742-f9nkimo",
|
||||
"updated": "20210403161345"
|
||||
"updated": "20220615112949"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "浏览历史"
|
||||
"Data": "浏览文件历史"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -421,7 +572,7 @@
|
||||
"ListData": {},
|
||||
"Properties": {
|
||||
"id": "20210104090742-8rmcz3i",
|
||||
"updated": "20220503204134"
|
||||
"updated": "20220615112450"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -433,7 +584,7 @@
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220501135052-k47n4ms",
|
||||
"updated": "20220503204134"
|
||||
"updated": "20220615112450"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -441,7 +592,7 @@
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220501135052-o3r30jj",
|
||||
"updated": "20220503204134"
|
||||
"updated": "20220615112450"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -486,7 +637,7 @@
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 可打开历史,仅支持浏览最新的 32 次历史"
|
||||
"Data": " 可打开数据历史界面,仅支持浏览最新的 32 次文件历史"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -545,15 +696,15 @@
|
||||
{
|
||||
"ID": "20210104090742-hjfornp",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 2,
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20210104090742-hjfornp",
|
||||
"updated": "20210403161327"
|
||||
"updated": "20220615112957"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "回滚"
|
||||
"Data": "通过文件历史回滚"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -562,12 +713,12 @@
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20210121105921-zdk68jf",
|
||||
"updated": "20210615212506"
|
||||
"updated": "20220615120058"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "在历史界面左侧时间列表栏中,每一条历史记录后面都有一个回滚按钮,点击以后将弹出确认对话框,如果确认回滚的话将使用历史数据覆盖现有数据。"
|
||||
"Data": "在数据历史界面左侧时间列表栏中,每一条历史记录右侧都有一个回滚按钮,点击以后将弹出确认对话框,如果确认回滚的话将使用文件历史覆盖现有文件。"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -810,7 +961,7 @@
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220501133237-il09opg",
|
||||
"updated": "20220501133436"
|
||||
"updated": "20220615111149"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -924,7 +1075,7 @@
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220501133422-0nxnwc2",
|
||||
"updated": "20220501133436"
|
||||
"updated": "20220615111149"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -932,18 +1083,653 @@
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220501133422-gc6qund",
|
||||
"updated": "20220501133436"
|
||||
"updated": "20220615111149"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "重现启动思源"
|
||||
"Data": "启动思源后手动执行重建索引"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615115547-2fr6uej",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615115547-2fr6uej",
|
||||
"updated": "20220615115551"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "清理文件历史"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615115551-u75o5mk",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615115551-u75o5mk",
|
||||
"updated": "20220615115618"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "默认自动保存最近 30 天生成的文件历史,可通过 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "设置"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "编辑器"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "历史保留天数"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 进行调整,超过该期限的文件历史会被自动删除。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615115625-3dx0t1j",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615115625-3dx0t1j",
|
||||
"updated": "20220615115755"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "如果你想清空所有文件历史数据,可以点击 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "设置"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "编辑器"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "清空所有历史"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ",或者手动删除 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "工作空间/history/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 文件夹。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615112531-5yos96d",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20220615112531-5yos96d",
|
||||
"updated": "20220615112535"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "数据快照"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615113758-i2279ot",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615113758-i2279ot",
|
||||
"updated": "20220615113939"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "初始化密钥"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615113752-lbtlf6j",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615113752-lbtlf6j",
|
||||
"updated": "20220615113952"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "第一次使用数据快照前需要在 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "设置"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "关于"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 中初始化 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "数据仓库密钥"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615113953-4o3uc9z",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615113953-4o3uc9z",
|
||||
"updated": "20220615114137"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "如果你有多台设备,仅需在其中一台设备上初始化密钥,然后拷贝该密钥字符串到其他设备上,通过导入密钥字符串进行导入。切勿在多台设备上重复初始化密钥,否则数据快照将无法跨设备使用,比如无法通过云端同步数据快照。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615112535-k8n73hd",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615112535-k8n73hd",
|
||||
"updated": "20220615113005"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "创建数据快照"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615112933-zoh8iyg",
|
||||
"Type": "NodeList",
|
||||
"ListData": {
|
||||
"Typ": 1
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615112933-zoh8iyg",
|
||||
"updated": "20220615120214"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615114246-9or7h68",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"Typ": 1,
|
||||
"Delimiter": 46,
|
||||
"Marker": "MS4=",
|
||||
"Num": 1
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615114246-9or7h68",
|
||||
"updated": "20220615114246"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615114246-lr3ydl0",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615114246-lr3ydl0",
|
||||
"updated": "20220615114250"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "在顶部 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "..."
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 菜单或者 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Alt+H"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 可打开数据历史界面"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615114251-72kaaxr",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"Typ": 1,
|
||||
"Delimiter": 46,
|
||||
"Marker": "Mi4=",
|
||||
"Num": 2
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615114251-72kaaxr"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615114251-2y9unt4",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615114251-2y9unt4",
|
||||
"updated": "20220615114252"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "切换到最后一个页签 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "数据快照"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615114253-k4a3tg5",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"Typ": 1,
|
||||
"Delimiter": 46,
|
||||
"Marker": "My4=",
|
||||
"Num": 3
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615114253-k4a3tg5",
|
||||
"updated": "20220615120214"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615114253-70sfmtn",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615114253-70sfmtn",
|
||||
"updated": "20220615120214"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "点击 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "创建快照"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ",填写 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "备注"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 并确认"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615114908-0y5tfv9",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615114908-0y5tfv9",
|
||||
"updated": "20220615115114"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "浏览数据快照时只能通过快照创建时间和备注进行区别,所以备注信息应该尽量详细一些,以备后续能够准确识别不同的数据快照。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615114301-099icf4",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615114301-099icf4",
|
||||
"updated": "20220615114632"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "浏览数据快照"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615114706-5wy741l",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615114706-5wy741l",
|
||||
"updated": "20220615115247"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "创建完数据快照后可以在左侧看到快照时间列表,点击不同快照以后可以浏览其备注。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615115212-kjebrv4",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615115212-kjebrv4",
|
||||
"updated": "20220615115226"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "回滚数据快照"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615115227-oxdlcxq",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615115227-oxdlcxq",
|
||||
"updated": "20220615115452"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "在快照时间列表条目右侧都有一个回滚按钮,点击以后将弹出确认对话框,如果确认回滚的话将使用快照数据完全替换现有数据。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615115126-z62p36j",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615115126-z62p36j",
|
||||
"updated": "20220615115532"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "清理数据快照"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615115758-ajl5l83",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615115758-ajl5l83",
|
||||
"updated": "20220615115831"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "手动删除 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "工作空间/repo/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 文件夹可以清空全部数据快照。"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
"Properties": {
|
||||
"id": "20211226122707-8cr09co",
|
||||
"title": "數據歷史",
|
||||
"updated": "20220503204301"
|
||||
"updated": "20220615120430"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -23,36 +23,167 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220501135134-32jh3vi",
|
||||
"ID": "20220615115939-cp3oszl",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220501135134-32jh3vi",
|
||||
"updated": "20220502163408"
|
||||
"id": "20220615115939-cp3oszl",
|
||||
"updated": "20220615115939"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "數據歷史主要用於保證數據安全,即使發生誤操作也能通過歷史進行數據回滾。歷史數據統一保存在 "
|
||||
},
|
||||
"Data": "數據歷史主要用於保證數據安全,即使發生誤操作也能通過歷史進行數據回滾。數據歷史分為兩個功能:"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615115939-r7gtut8",
|
||||
"Type": "NodeList",
|
||||
"ListData": {},
|
||||
"Properties": {
|
||||
"id": "20220615115939-r7gtut8",
|
||||
"updated": "20220615115939"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"ID": "20220615115939-7unbokt",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"BulletChar": 42,
|
||||
"Marker": "Kg=="
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615115939-7unbokt",
|
||||
"updated": "20220615115939"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "工作空間/history/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
"ID": "20220615115939-8i4106r",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615115939-8i4106r",
|
||||
"updated": "20220615115939"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "文件歷史:按原始文件方式保存在 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "工作空間/history/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 文件夾下,人類可讀,可手動拷貝到 data 對應位置恢復"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615115939-oh1df2d",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"BulletChar": 42,
|
||||
"Marker": "Kg=="
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615115939-oh1df2d",
|
||||
"updated": "20220615115939"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615115939-qpaond0",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615115939-qpaond0",
|
||||
"updated": "20220615115939"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "數據快照:按文件分塊、加密並壓縮保存在 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "工作空間/repo/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 文件夾下,人類不可讀,無法手動恢復"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615115939-1t2chgc",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615115939-1t2chgc",
|
||||
"updated": "20220615115939"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 文件夾下,以下情況會自動生成歷史:"
|
||||
"Data": "數據快照除了用於本地數據歷史,還將用於雲端數據快照同步。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120005-e50u8z7",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20220615120005-e50u8z7",
|
||||
"updated": "20220615120005"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "文件歷史"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120005-zarefxu",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615120005-zarefxu",
|
||||
"updated": "20220615120005"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "文件歷史生成規則"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -406,12 +537,12 @@
|
||||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20220501135134-b9ixet3",
|
||||
"updated": "20220501135134"
|
||||
"updated": "20220615120024"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "瀏覽歷史"
|
||||
"Data": "瀏覽文件歷史"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -421,7 +552,7 @@
|
||||
"ListData": {},
|
||||
"Properties": {
|
||||
"id": "20220501135134-lh5drjl",
|
||||
"updated": "20220503204301"
|
||||
"updated": "20220615120430"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -433,7 +564,7 @@
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220501135134-nkzl4wl",
|
||||
"updated": "20220503204301"
|
||||
"updated": "20220615120430"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -441,7 +572,7 @@
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220501135134-n7t2zfn",
|
||||
"updated": "20220503204301"
|
||||
"updated": "20220615120430"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -486,7 +617,7 @@
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 可打開歷史,僅支持瀏覽最新的 32 次歷史"
|
||||
"Data": " 可打開歷史,僅支持瀏覽最新的 32 次文件歷史"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -548,12 +679,12 @@
|
||||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20211226122720-u1qd8zw",
|
||||
"updated": "20220501134236"
|
||||
"updated": "20220615120035"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "回滾(Rollback)"
|
||||
"Data": "通過文件歷史回滾(Rollback)"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -562,12 +693,12 @@
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20211226122720-kwrhgnd",
|
||||
"updated": "20211228141424"
|
||||
"updated": "20220615120111"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "在歷史界面左側時間列表欄中,每一條歷史記錄後面都有一個撤銷按鈕,點擊以後將彈出確認對話視窗,如果確認回滾的話將使用歷史資料覆蓋現有資料。"
|
||||
"Data": "在數據歷史界面左側時間列表欄中,每一條歷史記錄右側都有一個回滾按鈕,點擊以後將彈出確認對話框,如果確認回滾的話將使用文件歷史覆蓋現有文件。"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -810,7 +941,7 @@
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220501134148-72i6ahu",
|
||||
"updated": "20220501134148"
|
||||
"updated": "20220615111326"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -924,7 +1055,7 @@
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220501134148-tl7cuni",
|
||||
"updated": "20220501134148"
|
||||
"updated": "20220615111326"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
@ -932,18 +1063,654 @@
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220501134148-nq2ogsm",
|
||||
"updated": "20220501134148"
|
||||
"updated": "20220615111326"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "重現啟動思源"
|
||||
"Data": "啟動思源後手動執行重建索引"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-r88wlzt",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615120134-r88wlzt",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "清理文件歷史"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-9i9j08p",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120134-9i9j08p",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "默認自動保存最近 30 天生成的文件歷史,可通過 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "設置"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "編輯器"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "歷史保留天數"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 進行調整,超過該期限的文件歷史會被自動刪除。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-aiy219j",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120134-aiy219j",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "如果你想清空所有文件歷史數據,可以點擊 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "設置"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "編輯器"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "清空所有歷史"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ",或者手動刪除 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "工作空間/history/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 文件夾。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-cdqs2gt",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 2,
|
||||
"Properties": {
|
||||
"id": "20220615120134-cdqs2gt",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "數據快照"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-y8wnvbq",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615120134-y8wnvbq",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "初始化密鑰"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-8tlqarl",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120134-8tlqarl",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "第一次使用數據快照前需要在 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "設置"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " - "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "關於"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 中初始化 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "數據倉庫密鑰"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-v4frz4w",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120134-v4frz4w",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "如果你有多台設備,僅需在其中一台設備上初始化密鑰,然後拷貝該密鑰字符串到其他設備上,通過導入密鑰字符串進行導入。切勿在多台設備上重複初始化密鑰,否則數據快照將無法跨設備使用,比如無法通過雲端同步數據快照。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-165fbc0",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615120134-165fbc0",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "創建數據快照"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-rfk9khd",
|
||||
"Type": "NodeList",
|
||||
"ListData": {
|
||||
"Typ": 1
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615120134-rfk9khd",
|
||||
"updated": "20220615120216"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615120134-1uthigi",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"Typ": 1,
|
||||
"Delimiter": 46,
|
||||
"Marker": "MS4=",
|
||||
"Num": 1
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615120134-1uthigi",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615120134-7n3iucn",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120134-7n3iucn",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "在頂部 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "..."
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 菜單或者 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Alt+H"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 可打開數據歷史界面"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-i7x9gbw",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"Typ": 1,
|
||||
"Delimiter": 46,
|
||||
"Marker": "Mi4=",
|
||||
"Num": 2
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615120134-i7x9gbw",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615120134-37n9cui",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120134-37n9cui",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "切換到最後一個頁簽 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "數據快照"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-ivxnjm5",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"Typ": 1,
|
||||
"Delimiter": 46,
|
||||
"Marker": "My4=",
|
||||
"Num": 3
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20220615120134-ivxnjm5",
|
||||
"updated": "20220615120216"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20220615120134-qakb9rm",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120134-qakb9rm",
|
||||
"updated": "20220615120216"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "點擊 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "創建快照"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": ",填寫 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbd",
|
||||
"Data": "kbd",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeKbdOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "備註"
|
||||
},
|
||||
{
|
||||
"Type": "NodeKbdCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 並確認"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-iv1q02i",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120134-iv1q02i",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "瀏覽數據快照時只能通過快照創建時間和備註進行區別,所以備註信息應該盡量詳細一些,以備後續能夠準確識別不同的數據快照。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-kbof9pl",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615120134-kbof9pl",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "瀏覽數據快照"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-9c01krz",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120134-9c01krz",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "創建完數據快照後可以在左側看到快照時間列表,點擊不同快照以後可以瀏覽其備註。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-7prrwzx",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615120134-7prrwzx",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "回滾數據快照"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-s1wzrtu",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120134-s1wzrtu",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "在快照時間列表條目右側都有一個回滾按鈕,點擊以後將彈出確認對話框,如果確認回滾的話將使用快照數據完全替換現有數據。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-5vxnykd",
|
||||
"Type": "NodeHeading",
|
||||
"HeadingLevel": 3,
|
||||
"Properties": {
|
||||
"id": "20220615120134-5vxnykd",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "清理數據快照"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220615120134-jrz9hxj",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220615120134-jrz9hxj",
|
||||
"updated": "20220615120134"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "手動刪除 "
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpan",
|
||||
"Data": "code",
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeCodeSpanOpenMarker"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanContent",
|
||||
"Data": "工作空間/repo/"
|
||||
},
|
||||
{
|
||||
"Type": "NodeCodeSpanCloseMarker"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " 文件夾可以清空全部數據快照。"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -40,7 +40,7 @@ require (
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible
|
||||
github.com/qiniu/go-sdk/v7 v7.13.0
|
||||
github.com/radovskyb/watcher v1.0.7
|
||||
github.com/siyuan-note/dejavu v0.0.0-20220614100921-f1d318f3dd6b
|
||||
github.com/siyuan-note/dejavu v0.0.0-20220615064519-8337022f6ebd
|
||||
github.com/siyuan-note/encryption v0.0.0-20220612074546-f1dd94fe8676
|
||||
github.com/vmihailenco/msgpack/v5 v5.3.5
|
||||
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673
|
||||
|
@ -419,8 +419,8 @@ github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJ
|
||||
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||
github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=
|
||||
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||
github.com/siyuan-note/dejavu v0.0.0-20220614100921-f1d318f3dd6b h1:GyLlhQQsgfVFzyWB+OB1wCRlyzBhI4EkczC0YK9cRHc=
|
||||
github.com/siyuan-note/dejavu v0.0.0-20220614100921-f1d318f3dd6b/go.mod h1:Oa/Y6fvTUCg8h9/t6GNWXiu8T7aQri/ZvyDRygnlikI=
|
||||
github.com/siyuan-note/dejavu v0.0.0-20220615064519-8337022f6ebd h1:+XJhelVPsJCL6dwjONTGE5g1krDNxkyyWx7zocCfVN0=
|
||||
github.com/siyuan-note/dejavu v0.0.0-20220615064519-8337022f6ebd/go.mod h1:Oa/Y6fvTUCg8h9/t6GNWXiu8T7aQri/ZvyDRygnlikI=
|
||||
github.com/siyuan-note/encryption v0.0.0-20220612074546-f1dd94fe8676 h1:QB9TjJQFhXhZ6dAtPpY02DlzHAQm1C+WqZq6OadG8mI=
|
||||
github.com/siyuan-note/encryption v0.0.0-20220612074546-f1dd94fe8676/go.mod h1:H8fyqqAbp9XreANjeSbc72zEdFfKTXYN34tc1TjZwtw=
|
||||
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
|
||||
|
@ -34,6 +34,7 @@ import (
|
||||
"github.com/dustin/go-humanize"
|
||||
"github.com/siyuan-note/encryption"
|
||||
"github.com/siyuan-note/siyuan/kernel/filesys"
|
||||
"github.com/siyuan-note/siyuan/kernel/sql"
|
||||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
)
|
||||
|
||||
@ -141,9 +142,11 @@ func RecoverLocalBackup() (err error) {
|
||||
return errors.New(Conf.Language(11))
|
||||
}
|
||||
|
||||
data := util.AESDecrypt(Conf.E2EEPasswd)
|
||||
data, _ = hex.DecodeString(string(data))
|
||||
passwd := string(data)
|
||||
writingDataLock.Lock()
|
||||
defer writingDataLock.Unlock()
|
||||
|
||||
filesys.ReleaseAllFileLocks()
|
||||
sql.WaitForWritingDatabase()
|
||||
|
||||
CloseWatchAssets()
|
||||
defer WatchAssets()
|
||||
@ -153,17 +156,17 @@ func RecoverLocalBackup() (err error) {
|
||||
Conf.Sync.Enabled = false
|
||||
Conf.Save()
|
||||
|
||||
filesys.ReleaseAllFileLocks()
|
||||
|
||||
util.PushEndlessProgress(Conf.Language(63))
|
||||
util.LogInfof("starting recovery...")
|
||||
start := time.Now()
|
||||
|
||||
data := util.AESDecrypt(Conf.E2EEPasswd)
|
||||
data, _ = hex.DecodeString(string(data))
|
||||
passwd := string(data)
|
||||
decryptedDataDir, err := decryptDataDir(passwd)
|
||||
if nil != err {
|
||||
util.ClearPushProgress(100)
|
||||
return
|
||||
}
|
||||
|
||||
newDataDir := filepath.Join(util.WorkspaceDir, "data.new")
|
||||
os.RemoveAll(newDataDir)
|
||||
if err = os.MkdirAll(newDataDir, 0755); nil != err {
|
||||
@ -249,8 +252,10 @@ func CreateLocalBackup() (err error) {
|
||||
defer util.ClearPushProgress(100)
|
||||
util.PushEndlessProgress(Conf.Language(22))
|
||||
|
||||
writingDataLock.Lock()
|
||||
defer writingDataLock.Unlock()
|
||||
WaitForWritingFiles()
|
||||
|
||||
sql.WaitForWritingDatabase()
|
||||
filesys.ReleaseAllFileLocks()
|
||||
|
||||
util.LogInfof("creating backup...")
|
||||
|
@ -28,6 +28,7 @@ import (
|
||||
"github.com/siyuan-note/dejavu/entity"
|
||||
"github.com/siyuan-note/encryption"
|
||||
"github.com/siyuan-note/siyuan/kernel/filesys"
|
||||
"github.com/siyuan-note/siyuan/kernel/sql"
|
||||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
)
|
||||
|
||||
@ -43,8 +44,7 @@ func GetRepoIndexLogs(page int) (logs []*dejavu.Log, pageCount, totalCount int,
|
||||
return
|
||||
}
|
||||
|
||||
page-- // 从 0 开始
|
||||
logs, pageCount, totalCount, err = repo.GetIndexLogs(page, 32)
|
||||
logs, pageCount, totalCount, err = repo.GetIndexLogs(page, 16)
|
||||
if nil != err {
|
||||
if dejavu.ErrNotFoundIndex == err {
|
||||
logs = []*dejavu.Log{}
|
||||
@ -131,10 +131,12 @@ func CheckoutRepo(id string) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
filesys.ReleaseAllFileLocks()
|
||||
util.PushEndlessProgress(Conf.Language(63))
|
||||
writingDataLock.Lock()
|
||||
defer writingDataLock.Unlock()
|
||||
|
||||
WaitForWritingFiles()
|
||||
sql.WaitForWritingDatabase()
|
||||
filesys.ReleaseAllFileLocks()
|
||||
CloseWatchAssets()
|
||||
defer WatchAssets()
|
||||
|
||||
@ -189,10 +191,13 @@ func IndexRepo(memo string) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
WaitForWritingFiles()
|
||||
filesys.ReleaseAllFileLocks()
|
||||
util.PushEndlessProgress(Conf.Language(143))
|
||||
writingDataLock.Lock()
|
||||
defer writingDataLock.Unlock()
|
||||
WaitForWritingFiles()
|
||||
sql.WaitForWritingDatabase()
|
||||
filesys.ReleaseAllFileLocks()
|
||||
|
||||
_, err = repo.Index(memo, util.PushEndlessProgress, indexCallbacks)
|
||||
util.PushClearProgress()
|
||||
return
|
||||
|
@ -70,6 +70,7 @@ func InitDatabase(forceRebuild bool) (err error) {
|
||||
if gulu.File.IsExist(util.DBPath) {
|
||||
if err = removeDatabaseFile(); nil != err {
|
||||
util.LogErrorf("remove database file [%s] failed: %s", util.DBPath, err)
|
||||
util.PushClearProgress()
|
||||
return
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user