vault backup: 2023-08-29 20:41:48
This commit is contained in:
parent
9d0b0540e6
commit
6d003be503
9 changed files with 257 additions and 27 deletions
|
@ -14,6 +14,7 @@
|
||||||
"drawingFilenameDateTime": "YYYY-MM-DD HH.mm.ss",
|
"drawingFilenameDateTime": "YYYY-MM-DD HH.mm.ss",
|
||||||
"useExcalidrawExtension": true,
|
"useExcalidrawExtension": true,
|
||||||
"displaySVGInPreview": true,
|
"displaySVGInPreview": true,
|
||||||
|
"previewImageType": "SVGIMG",
|
||||||
"allowImageCache": true,
|
"allowImageCache": true,
|
||||||
"displayExportedImageIfAvailable": false,
|
"displayExportedImageIfAvailable": false,
|
||||||
"previewMatchObsidianTheme": false,
|
"previewMatchObsidianTheme": false,
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "obsidian-excalidraw-plugin",
|
"id": "obsidian-excalidraw-plugin",
|
||||||
"name": "Excalidraw",
|
"name": "Excalidraw",
|
||||||
"version": "1.9.12",
|
"version": "1.9.18",
|
||||||
"minAppVersion": "1.1.6",
|
"minAppVersion": "1.1.6",
|
||||||
"description": "An Obsidian plugin to edit and view Excalidraw drawings",
|
"description": "An Obsidian plugin to edit and view Excalidraw drawings",
|
||||||
"author": "Zsolt Viczian",
|
"author": "Zsolt Viczian",
|
||||||
|
|
|
@ -21,29 +21,33 @@
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.excalidraw-embedded-img {
|
.excalidraw-embedded-img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.excalidraw-svg-right-wrap {
|
.excalidraw-svg-right-wrap {
|
||||||
float: right;
|
float: right;
|
||||||
margin: 0px 0px 20px 20px;
|
margin: 0px 0px 20px 20px;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.excalidraw-svg-left-wrap {
|
.excalidraw-svg-left-wrap {
|
||||||
float: left;
|
float: left;
|
||||||
margin: 0px 35px 20px 0px;
|
margin: 0px 35px 20px 0px;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.excalidraw-svg-right {
|
.excalidraw-svg-right {
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
.excalidraw-svg-center {
|
.excalidraw-svg-center {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
margin: auto;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.excalidraw-svg-left {
|
.excalidraw-svg-left {
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,6 +103,10 @@ li[data-testid] {
|
||||||
border: 0 !important;
|
border: 0 !important;
|
||||||
box-shadow: 0 !important;
|
box-shadow: 0 !important;
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.excalidraw .popover {
|
||||||
|
position: fixed !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.disable-zen-mode--visible {
|
.disable-zen-mode--visible {
|
||||||
|
@ -376,4 +384,34 @@ div.excalidraw-draginfo {
|
||||||
|
|
||||||
.excalidraw-image-wrapper img {
|
.excalidraw-image-wrapper img {
|
||||||
margin: auto;
|
margin: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-content.excalidraw-scriptengine-install .search-bar-wrapper {
|
||||||
|
position: sticky;
|
||||||
|
top: 1em;
|
||||||
|
margin-right: 1em;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 5px;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
z-index: 10;
|
||||||
|
background: var(--background-secondary);
|
||||||
|
padding: 0.5em;
|
||||||
|
border-bottom: 1px solid var(--background-modifier-border);
|
||||||
|
float: right;
|
||||||
|
max-width: 28em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-content.excalidraw-scriptengine-install .hit-count {
|
||||||
|
margin-left: 0.5em;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-content.excalidraw-scriptengine-install .active-highlight {
|
||||||
|
border: 2px solid var(--color-accent-2);
|
||||||
|
background-color: var(--color-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.excalidraw-svg svg a {
|
||||||
|
text-decoration: none;
|
||||||
}
|
}
|
115
.obsidian/plugins/obsidian-git/main.js
vendored
115
.obsidian/plugins/obsidian-git/main.js
vendored
|
@ -32171,8 +32171,8 @@ var ObsidianGitSettingsTab = class extends import_obsidian8.PluginSettingTab {
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
if (!plugin.settings.setLastSaveToLastCommit)
|
if (!plugin.settings.setLastSaveToLastCommit)
|
||||||
new import_obsidian8.Setting(containerEl).setName(`Auto Backup after file change`).setDesc(
|
new import_obsidian8.Setting(containerEl).setName(`Auto Backup after stop editing any file`).setDesc(
|
||||||
`If turned on, do auto ${commitOrBackup} every ${plugin.settings.autoSaveInterval} minutes after last change. This also prevents auto ${commitOrBackup} while editing a file. If turned off, it's independent from the last change.`
|
`Requires the ${commitOrBackup} interval not to be 0. If turned on, do auto ${commitOrBackup} every ${plugin.settings.autoSaveInterval} minutes after stop editing any file. This also prevents auto ${commitOrBackup} while editing a file. If turned off, it's independent from the last change.`
|
||||||
).addToggle(
|
).addToggle(
|
||||||
(toggle) => toggle.setValue(plugin.settings.autoBackupAfterFileChange).onChange((value) => {
|
(toggle) => toggle.setValue(plugin.settings.autoBackupAfterFileChange).onChange((value) => {
|
||||||
plugin.settings.autoBackupAfterFileChange = value;
|
plugin.settings.autoBackupAfterFileChange = value;
|
||||||
|
@ -35939,8 +35939,10 @@ var DiffView = class extends import_obsidian17.ItemView {
|
||||||
}
|
}
|
||||||
async setState(state, result) {
|
async setState(state, result) {
|
||||||
this.state = state;
|
this.state = state;
|
||||||
|
if (import_obsidian17.Platform.isMobile) {
|
||||||
|
this.leaf.view.titleEl.textContent = this.getDisplayText();
|
||||||
|
}
|
||||||
await this.refresh();
|
await this.refresh();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
getState() {
|
getState() {
|
||||||
return this.state;
|
return this.state;
|
||||||
|
@ -37390,6 +37392,15 @@ function create_else_block(ctx) {
|
||||||
set_style(div0, "padding-right", "5px");
|
set_style(div0, "padding-right", "5px");
|
||||||
set_style(div0, "display", "flex");
|
set_style(div0, "display", "flex");
|
||||||
attr(div1, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon");
|
attr(div1, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon");
|
||||||
|
toggle_class(
|
||||||
|
div1,
|
||||||
|
"is-collapsed",
|
||||||
|
/*closed*/
|
||||||
|
ctx[4][
|
||||||
|
/*entity*/
|
||||||
|
ctx[8].title
|
||||||
|
]
|
||||||
|
);
|
||||||
attr(div2, "class", "tree-item-inner nav-folder-title-content svelte-1lnl15d");
|
attr(div2, "class", "tree-item-inner nav-folder-title-content svelte-1lnl15d");
|
||||||
attr(div3, "class", "tree-item-self is-clickable nav-folder-title");
|
attr(div3, "class", "tree-item-self is-clickable nav-folder-title");
|
||||||
attr(
|
attr(
|
||||||
|
@ -37432,6 +37443,18 @@ function create_else_block(ctx) {
|
||||||
},
|
},
|
||||||
p(new_ctx, dirty) {
|
p(new_ctx, dirty) {
|
||||||
ctx = new_ctx;
|
ctx = new_ctx;
|
||||||
|
if (!current || dirty & /*closed, hierarchy*/
|
||||||
|
17) {
|
||||||
|
toggle_class(
|
||||||
|
div1,
|
||||||
|
"is-collapsed",
|
||||||
|
/*closed*/
|
||||||
|
ctx[4][
|
||||||
|
/*entity*/
|
||||||
|
ctx[8].title
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
if ((!current || dirty & /*hierarchy*/
|
if ((!current || dirty & /*hierarchy*/
|
||||||
1) && t2_value !== (t2_value = /*entity*/
|
1) && t2_value !== (t2_value = /*entity*/
|
||||||
ctx[8].title + ""))
|
ctx[8].title + ""))
|
||||||
|
@ -38219,6 +38242,12 @@ function create_fragment3(ctx) {
|
||||||
if (if_block1)
|
if (if_block1)
|
||||||
if_block1.c();
|
if_block1.c();
|
||||||
attr(div0, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon");
|
attr(div0, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon");
|
||||||
|
toggle_class(
|
||||||
|
div0,
|
||||||
|
"is-collapsed",
|
||||||
|
/*isCollapsed*/
|
||||||
|
ctx[4]
|
||||||
|
);
|
||||||
attr(div1, "class", "tree-item-inner nav-folder-title-content");
|
attr(div1, "class", "tree-item-inner nav-folder-title-content");
|
||||||
attr(div1, "aria-label", div1_aria_label_value = /*log*/
|
attr(div1, "aria-label", div1_aria_label_value = /*log*/
|
||||||
ctx[0].message);
|
ctx[0].message);
|
||||||
|
@ -38264,6 +38293,15 @@ function create_fragment3(ctx) {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
p(ctx2, [dirty]) {
|
p(ctx2, [dirty]) {
|
||||||
|
if (!current || dirty & /*isCollapsed*/
|
||||||
|
16) {
|
||||||
|
toggle_class(
|
||||||
|
div0,
|
||||||
|
"is-collapsed",
|
||||||
|
/*isCollapsed*/
|
||||||
|
ctx2[4]
|
||||||
|
);
|
||||||
|
}
|
||||||
if (
|
if (
|
||||||
/*log*/
|
/*log*/
|
||||||
ctx2[0].refs.length > 0
|
ctx2[0].refs.length > 0
|
||||||
|
@ -39871,6 +39909,15 @@ function create_else_block3(ctx) {
|
||||||
set_style(div0, "padding-right", "5px");
|
set_style(div0, "padding-right", "5px");
|
||||||
set_style(div0, "display", "flex");
|
set_style(div0, "display", "flex");
|
||||||
attr(div1, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon");
|
attr(div1, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon");
|
||||||
|
toggle_class(
|
||||||
|
div1,
|
||||||
|
"is-collapsed",
|
||||||
|
/*closed*/
|
||||||
|
ctx[5][
|
||||||
|
/*entity*/
|
||||||
|
ctx[15].title
|
||||||
|
]
|
||||||
|
);
|
||||||
attr(div2, "class", "tree-item-inner nav-folder-title-content svelte-1lnl15d");
|
attr(div2, "class", "tree-item-inner nav-folder-title-content svelte-1lnl15d");
|
||||||
set_style(div3, "width", "11px");
|
set_style(div3, "width", "11px");
|
||||||
attr(div4, "class", "buttons");
|
attr(div4, "class", "buttons");
|
||||||
|
@ -39922,6 +39969,18 @@ function create_else_block3(ctx) {
|
||||||
},
|
},
|
||||||
p(new_ctx, dirty) {
|
p(new_ctx, dirty) {
|
||||||
ctx = new_ctx;
|
ctx = new_ctx;
|
||||||
|
if (!current || dirty & /*closed, hierarchy*/
|
||||||
|
33) {
|
||||||
|
toggle_class(
|
||||||
|
div1,
|
||||||
|
"is-collapsed",
|
||||||
|
/*closed*/
|
||||||
|
ctx[5][
|
||||||
|
/*entity*/
|
||||||
|
ctx[15].title
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
if ((!current || dirty & /*hierarchy*/
|
if ((!current || dirty & /*hierarchy*/
|
||||||
1) && t2_value !== (t2_value = /*entity*/
|
1) && t2_value !== (t2_value = /*entity*/
|
||||||
ctx[15].title + ""))
|
ctx[15].title + ""))
|
||||||
|
@ -40878,6 +40937,8 @@ function create_if_block8(ctx) {
|
||||||
if (if_block2)
|
if (if_block2)
|
||||||
if_block2.c();
|
if_block2.c();
|
||||||
attr(div0, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon");
|
attr(div0, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon");
|
||||||
|
toggle_class(div0, "is-collapsed", !/*stagedOpen*/
|
||||||
|
ctx[13]);
|
||||||
attr(div1, "class", "tree-item-inner nav-folder-title-content");
|
attr(div1, "class", "tree-item-inner nav-folder-title-content");
|
||||||
attr(div2, "data-icon", "minus");
|
attr(div2, "data-icon", "minus");
|
||||||
attr(div2, "aria-label", "Unstage");
|
attr(div2, "aria-label", "Unstage");
|
||||||
|
@ -40890,6 +40951,8 @@ function create_if_block8(ctx) {
|
||||||
toggle_class(div7, "is-collapsed", !/*stagedOpen*/
|
toggle_class(div7, "is-collapsed", !/*stagedOpen*/
|
||||||
ctx[13]);
|
ctx[13]);
|
||||||
attr(div8, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon");
|
attr(div8, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon");
|
||||||
|
toggle_class(div8, "is-collapsed", !/*changesOpen*/
|
||||||
|
ctx[12]);
|
||||||
attr(div9, "class", "tree-item-inner nav-folder-title-content");
|
attr(div9, "class", "tree-item-inner nav-folder-title-content");
|
||||||
attr(div10, "data-icon", "undo");
|
attr(div10, "data-icon", "undo");
|
||||||
attr(div10, "aria-label", "Discard");
|
attr(div10, "aria-label", "Discard");
|
||||||
|
@ -40980,6 +41043,11 @@ function create_if_block8(ctx) {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
p(ctx2, dirty) {
|
p(ctx2, dirty) {
|
||||||
|
if (!current || dirty[0] & /*stagedOpen*/
|
||||||
|
8192) {
|
||||||
|
toggle_class(div0, "is-collapsed", !/*stagedOpen*/
|
||||||
|
ctx2[13]);
|
||||||
|
}
|
||||||
if ((!current || dirty[0] & /*status*/
|
if ((!current || dirty[0] & /*status*/
|
||||||
64) && t4_value !== (t4_value = /*status*/
|
64) && t4_value !== (t4_value = /*status*/
|
||||||
ctx2[6].staged.length + ""))
|
ctx2[6].staged.length + ""))
|
||||||
|
@ -41012,6 +41080,11 @@ function create_if_block8(ctx) {
|
||||||
toggle_class(div7, "is-collapsed", !/*stagedOpen*/
|
toggle_class(div7, "is-collapsed", !/*stagedOpen*/
|
||||||
ctx2[13]);
|
ctx2[13]);
|
||||||
}
|
}
|
||||||
|
if (!current || dirty[0] & /*changesOpen*/
|
||||||
|
4096) {
|
||||||
|
toggle_class(div8, "is-collapsed", !/*changesOpen*/
|
||||||
|
ctx2[12]);
|
||||||
|
}
|
||||||
if ((!current || dirty[0] & /*status*/
|
if ((!current || dirty[0] & /*status*/
|
||||||
64) && t12_value !== (t12_value = /*status*/
|
64) && t12_value !== (t12_value = /*status*/
|
||||||
ctx2[6].changed.length + ""))
|
ctx2[6].changed.length + ""))
|
||||||
|
@ -42407,8 +42480,8 @@ function instance9($$self, $$props, $$invalidate) {
|
||||||
plugin.app.workspace.onLayoutReady(() => {
|
plugin.app.workspace.onLayoutReady(() => {
|
||||||
window.setTimeout(
|
window.setTimeout(
|
||||||
() => {
|
() => {
|
||||||
buttons.forEach((btn) => (0, import_obsidian28.setIcon)(btn, btn.getAttr("data-icon"), 16));
|
buttons.forEach((btn) => (0, import_obsidian28.setIcon)(btn, btn.getAttr("data-icon")));
|
||||||
(0, import_obsidian28.setIcon)(layoutBtn, showTree ? "list" : "folder", 16);
|
(0, import_obsidian28.setIcon)(layoutBtn, showTree ? "list" : "folder");
|
||||||
},
|
},
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
|
@ -42451,6 +42524,21 @@ function instance9($$self, $$props, $$invalidate) {
|
||||||
$$invalidate(6, status2 = void 0);
|
$$invalidate(6, status2 = void 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
const unPushedCommits = yield plugin.gitManager.getUnpushedCommits();
|
||||||
|
buttons.forEach((btn) => {
|
||||||
|
var _a2, _b;
|
||||||
|
if (import_obsidian28.Platform.isMobile) {
|
||||||
|
btn.removeClass("button-border");
|
||||||
|
if (btn.id == "push" && unPushedCommits > 0) {
|
||||||
|
btn.addClass("button-border");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
(_a2 = btn.firstElementChild) === null || _a2 === void 0 ? void 0 : _a2.removeAttribute("color");
|
||||||
|
if (btn.id == "push" && unPushedCommits > 0) {
|
||||||
|
(_b = btn.firstElementChild) === null || _b === void 0 ? void 0 : _b.setAttr("color", "var(--text-accent)");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
$$invalidate(6, status2 = plugin.cachedStatus);
|
$$invalidate(6, status2 = plugin.cachedStatus);
|
||||||
if (plugin.lastPulledFiles && plugin.lastPulledFiles != lastPulledFiles) {
|
if (plugin.lastPulledFiles && plugin.lastPulledFiles != lastPulledFiles) {
|
||||||
$$invalidate(7, lastPulledFiles = plugin.lastPulledFiles);
|
$$invalidate(7, lastPulledFiles = plugin.lastPulledFiles);
|
||||||
|
@ -42603,7 +42691,7 @@ function instance9($$self, $$props, $$invalidate) {
|
||||||
$: {
|
$: {
|
||||||
if (layoutBtn) {
|
if (layoutBtn) {
|
||||||
layoutBtn.empty();
|
layoutBtn.empty();
|
||||||
(0, import_obsidian28.setIcon)(layoutBtn, showTree ? "list" : "folder", 16);
|
(0, import_obsidian28.setIcon)(layoutBtn, showTree ? "list" : "folder");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42892,6 +42980,11 @@ var ObsidianGit = class extends import_obsidian30.Plugin {
|
||||||
name: "Pull",
|
name: "Pull",
|
||||||
callback: () => this.promiseQueue.addTask(() => this.pullChangesFromRemote())
|
callback: () => this.promiseQueue.addTask(() => this.pullChangesFromRemote())
|
||||||
});
|
});
|
||||||
|
this.addCommand({
|
||||||
|
id: "fetch",
|
||||||
|
name: "fetch",
|
||||||
|
callback: () => this.promiseQueue.addTask(() => this.fetch())
|
||||||
|
});
|
||||||
this.addCommand({
|
this.addCommand({
|
||||||
id: "switch-to-remote-branch",
|
id: "switch-to-remote-branch",
|
||||||
name: "Switch to remote branch",
|
name: "Switch to remote branch",
|
||||||
|
@ -43660,6 +43753,7 @@ var ObsidianGit = class extends import_obsidian30.Plugin {
|
||||||
}
|
}
|
||||||
this.offlineMode = false;
|
this.offlineMode = false;
|
||||||
this.setState(0 /* idle */);
|
this.setState(0 /* idle */);
|
||||||
|
dispatchEvent(new CustomEvent("git-refresh"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43679,6 +43773,15 @@ var ObsidianGit = class extends import_obsidian30.Plugin {
|
||||||
}
|
}
|
||||||
return pulledFiles.length != 0;
|
return pulledFiles.length != 0;
|
||||||
}
|
}
|
||||||
|
async fetch() {
|
||||||
|
if (!await this.remotesAreSet()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
await this.gitManager.fetch();
|
||||||
|
this.displayMessage(`Fetched from remote`);
|
||||||
|
this.offlineMode = false;
|
||||||
|
dispatchEvent(new CustomEvent("git-refresh"));
|
||||||
|
}
|
||||||
async mayDeleteConflictFile() {
|
async mayDeleteConflictFile() {
|
||||||
const file = this.app.vault.getAbstractFileByPath(
|
const file = this.app.vault.getAbstractFileByPath(
|
||||||
this.conflictOutputFile
|
this.conflictOutputFile
|
||||||
|
|
2
.obsidian/plugins/obsidian-git/manifest.json
vendored
2
.obsidian/plugins/obsidian-git/manifest.json
vendored
|
@ -5,5 +5,5 @@
|
||||||
"isDesktopOnly": false,
|
"isDesktopOnly": false,
|
||||||
"fundingUrl": "https://ko-fi.com/vinzent",
|
"fundingUrl": "https://ko-fi.com/vinzent",
|
||||||
"js": "main.js",
|
"js": "main.js",
|
||||||
"version": "2.20.6"
|
"version": "2.21.0"
|
||||||
}
|
}
|
||||||
|
|
5
.obsidian/plugins/obsidian-git/styles.css
vendored
5
.obsidian/plugins/obsidian-git/styles.css
vendored
|
@ -8,6 +8,11 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type='git-view'] .button-border {
|
||||||
|
border: 2px solid var(--interactive-accent);
|
||||||
|
border-radius: var(--radius-s);
|
||||||
|
}
|
||||||
|
|
||||||
.workspace-leaf-content[data-type='git-view'] .view-content {
|
.workspace-leaf-content[data-type='git-view'] .view-content {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
39
.obsidian/plugins/obsidian-outliner/main.js
vendored
39
.obsidian/plugins/obsidian-outliner/main.js
vendored
File diff suppressed because one or more lines are too long
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "obsidian-outliner",
|
"id": "obsidian-outliner",
|
||||||
"name": "Outliner",
|
"name": "Outliner",
|
||||||
"version": "4.7.1",
|
"version": "4.8.0",
|
||||||
"minAppVersion": "1.1.16",
|
"minAppVersion": "1.1.16",
|
||||||
"description": "Work with your lists like in Workflowy or RoamResearch.",
|
"description": "Work with your lists like in Workflowy or RoamResearch.",
|
||||||
"author": "Viacheslav Slinko",
|
"author": "Viacheslav Slinko",
|
||||||
|
|
Loading…
Reference in a new issue