vault backup: 2025-07-17 15:46:02
This commit is contained in:
1 parent
6975feba5a
commit
81d7800964
5 files changed
+275
No files matched your search
+248
@@ -0,0 +1,248 @@
|
||||
/*
|
||||
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
||||
if you want to view the source, please visit the github repository of this plugin
|
||||
*/
|
||||
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// main.ts
|
||||
var main_exports = {};
|
||||
__export(main_exports, {
|
||||
default: () => main_default
|
||||
});
|
||||
module.exports = __toCommonJS(main_exports);
|
||||
|
||||
// src/plugin.ts
|
||||
var import_obsidian2 = require("obsidian");
|
||||
|
||||
// src/lang/en.ts
|
||||
var en_default = {};
|
||||
|
||||
// src/lang/zh.ts
|
||||
var zh_default = {
|
||||
"Not Found Files List": "\u627E\u4E0D\u5230\u6587\u4EF6\u5217\u8868",
|
||||
"Hidden Folder": "\u6587\u4EF6\u9690\u85CF",
|
||||
"Restore display": "\u6062\u590D\u663E\u793A",
|
||||
"folders": "\u6587\u4EF6\u5939",
|
||||
"Folders": "\u6587\u4EF6\u5939",
|
||||
"folder": "\u6587\u4EF6\u5939",
|
||||
"Hidden display": "\u9690\u85CF\u663E\u793A",
|
||||
"Show Folders": "\u663E\u793A\u6587\u4EF6\u5939",
|
||||
"Hidden Folders": "\u9690\u85CF\u6587\u4EF6\u5939",
|
||||
"Rules": "\u89C4\u5219",
|
||||
"Regular expression": "\u6B63\u5219\u8868\u8FBE\u5F0F",
|
||||
"Example": "\u4F8B\u5B50",
|
||||
"Enable": "\u5F00\u542F",
|
||||
"Enable to hidden folder": "\u662F\u5426\u5F00\u542F\u9690\u85CF",
|
||||
"Saving": "\u4FDD\u5B58\u4E2D",
|
||||
"Settings is saved": "\u914D\u7F6E\u5DF2\u4FDD\u5B58",
|
||||
"Save": "\u4FDD\u5B58"
|
||||
};
|
||||
|
||||
// src/lang/index.ts
|
||||
var lang = {
|
||||
en: en_default,
|
||||
zh: zh_default,
|
||||
get
|
||||
};
|
||||
function get(text, args) {
|
||||
var _a;
|
||||
const language = ((_a = window.i18next) == null ? void 0 : _a.language) || "en";
|
||||
const map = lang[language] || en_default;
|
||||
let result = map[text] || en_default[text] || text;
|
||||
if (args) {
|
||||
for (let i in args) {
|
||||
result = result.replace(new RegExp(`\\{\\{${i}\\}\\}`, "g"), args[i]);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
lang.get = get;
|
||||
var lang_default = lang;
|
||||
|
||||
// src/setting.ts
|
||||
var import_obsidian = require("obsidian");
|
||||
var HiddenFolderSettingTab = class extends import_obsidian.PluginSettingTab {
|
||||
constructor(app, plugin) {
|
||||
super(app, plugin);
|
||||
this.plugin = plugin;
|
||||
}
|
||||
display() {
|
||||
const { containerEl } = this;
|
||||
containerEl.empty();
|
||||
containerEl.createEl("h2", { text: lang_default.get("Hidden Folder") });
|
||||
const settings = {
|
||||
folders: this.plugin.settings.folders,
|
||||
enable: this.plugin.settings.enable
|
||||
};
|
||||
new import_obsidian.Setting(containerEl).setName(lang_default.get("Rules")).setDesc(lang_default.get("Regular expression")).addTextArea((text) => {
|
||||
text.inputEl.style.minWidth = "350px";
|
||||
text.inputEl.style.minHeight = "150px";
|
||||
text.setPlaceholder(lang_default.get("Example") + ":\n.*\\/?attachments\n^abc$\nuse multi lines for multi folders").setValue(this.plugin.settings.folders).onChange(async (value) => {
|
||||
settings.folders = value;
|
||||
});
|
||||
return text;
|
||||
});
|
||||
new import_obsidian.Setting(containerEl).setName(lang_default.get("Enable")).setDesc(lang_default.get("Enable to hidden folder")).addToggle((toggle) => toggle.setValue(this.plugin.settings.enable).onChange((enable) => {
|
||||
settings.enable = enable;
|
||||
}));
|
||||
new import_obsidian.Setting(containerEl).addButton((button) => button.setButtonText(lang_default.get("Save")).onClick(async () => {
|
||||
new import_obsidian.Notice(lang_default.get("Hidden Folder") + " - " + lang_default.get("Saving"));
|
||||
this.plugin.settings.folders = settings.folders;
|
||||
this.plugin.settings.enable = settings.enable;
|
||||
await this.plugin.saveSettings();
|
||||
this.plugin.restoreFolder();
|
||||
if (this.plugin.settings.enable) {
|
||||
this.plugin.hiddenFolder();
|
||||
}
|
||||
new import_obsidian.Notice(lang_default.get("Hidden Folder") + " - " + lang_default.get("Settings is saved"));
|
||||
}));
|
||||
}
|
||||
};
|
||||
|
||||
// src/plugin.ts
|
||||
var DEFAULT_SETTINGS = {
|
||||
folders: "",
|
||||
enable: false
|
||||
};
|
||||
var HiddenFolder = class extends import_obsidian2.Plugin {
|
||||
getFilters() {
|
||||
if (!this.settings.folders)
|
||||
return null;
|
||||
const result = [];
|
||||
const folders = this.settings.folders.split("\n");
|
||||
if (folders.length) {
|
||||
for (let i of folders) {
|
||||
result.push(new RegExp(i));
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
getFolderElements() {
|
||||
const folders = document.querySelectorAll(".nav-folder");
|
||||
const result = [];
|
||||
for (let i = 0; i < folders.length; i++) {
|
||||
const el = folders[i];
|
||||
if (el.classList.contains("mod-root"))
|
||||
continue;
|
||||
result.push(el);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
restoreFolder() {
|
||||
const folders = document.querySelectorAll(".hidden-folder-flag-hidden");
|
||||
if (folders == null ? void 0 : folders.length) {
|
||||
new import_obsidian2.Notice(lang_default.get("Restore display") + "\r\n" + folders.length + " " + lang_default.get(folders.length > 1 ? "folders" : "folder"));
|
||||
for (let i = 0; i < folders.length; i++) {
|
||||
const el = folders[i];
|
||||
el.classList.remove("hidden-folder-flag-hidden");
|
||||
}
|
||||
}
|
||||
}
|
||||
hiddenFolder() {
|
||||
if (!this.settings.enable)
|
||||
return;
|
||||
const filters = this.getFilters();
|
||||
if (!(filters == null ? void 0 : filters.length))
|
||||
return;
|
||||
const elements = this.getFolderElements();
|
||||
let count = 0;
|
||||
for (let el of elements) {
|
||||
const title = el.querySelector(".nav-folder-title");
|
||||
const path = title == null ? void 0 : title.getAttribute("data-path");
|
||||
if (!path)
|
||||
continue;
|
||||
if (el.classList.contains("hidden-folder-flag-hidden"))
|
||||
continue;
|
||||
for (let filter of filters) {
|
||||
if (filter.test(path)) {
|
||||
el.classList.add("hidden-folder-flag-hidden");
|
||||
count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (count) {
|
||||
new import_obsidian2.Notice(lang_default.get("Hidden display") + "\r\n" + count + " " + lang_default.get(count > 1 ? "folders" : "folder"));
|
||||
}
|
||||
}
|
||||
async onload() {
|
||||
await this.loadSettings();
|
||||
this.start(0);
|
||||
}
|
||||
observe() {
|
||||
if (!this.container)
|
||||
return;
|
||||
this.observer = new MutationObserver(() => {
|
||||
this.hiddenFolder();
|
||||
});
|
||||
this.observer.observe(this.container, { attributes: true, childList: true, subtree: true });
|
||||
}
|
||||
start(loop) {
|
||||
if (loop > 20) {
|
||||
new import_obsidian2.Notice(lang_default.get("Not Found Files List"));
|
||||
return;
|
||||
}
|
||||
this.container = document.querySelector(".nav-files-container");
|
||||
if (!this.container) {
|
||||
setTimeout(() => {
|
||||
this.start(loop + 1);
|
||||
}, 100);
|
||||
return;
|
||||
}
|
||||
this.observe();
|
||||
this.app.workspace.on("layout-change", () => {
|
||||
const container = document.querySelector(".nav-files-container");
|
||||
if (container !== this.container) {
|
||||
this.container = container;
|
||||
this.observe();
|
||||
}
|
||||
});
|
||||
this.addSettingTab(new HiddenFolderSettingTab(this.app, this));
|
||||
this.hiddenFolder();
|
||||
setTimeout(() => {
|
||||
const el = this.addRibbonIcon("ghost", lang_default.get(this.settings.enable ? "Show Folders" : "Hidden Folders"), (evt) => {
|
||||
this.settings.enable = !this.settings.enable;
|
||||
this.saveSettings();
|
||||
el.setAttribute("aria-label", lang_default.get(this.settings.enable ? "Show Folders" : "Hidden Folders"));
|
||||
if (this.settings.enable) {
|
||||
this.hiddenFolder();
|
||||
} else {
|
||||
this.restoreFolder();
|
||||
}
|
||||
});
|
||||
}, 10);
|
||||
}
|
||||
onunload() {
|
||||
if (!this.observer)
|
||||
return;
|
||||
this.restoreFolder();
|
||||
this.observer.disconnect();
|
||||
}
|
||||
async loadSettings() {
|
||||
this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());
|
||||
}
|
||||
async saveSettings() {
|
||||
await this.saveData(this.settings);
|
||||
}
|
||||
};
|
||||
|
||||
// main.ts
|
||||
var main_default = HiddenFolder;
|
||||
|
||||
/* nosourcemap */
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"id": "hidden-folder-obsidian",
|
||||
"name": "Hidden Folder",
|
||||
"version": "1.0.7",
|
||||
"minAppVersion": "0.15.0",
|
||||
"description": "Hidden Folder",
|
||||
"author": "ptrsvltns",
|
||||
"isDesktopOnly": true
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
.hidden-folder-flag-hidden {
|
||||
display: none;
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "link-favicon",
|
||||
"name": "Link Favicons",
|
||||
"version": "1.8.4",
|
||||
"minAppVersion": "1.3.0",
|
||||
"description": "See the favicon for a linked website. ",
|
||||
"author": "Johannes Theiner",
|
||||
"authorUrl": "https://github.com/joethei",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
@@ -32,6 +32,11 @@ https://github.com/dexin-qi/obsidian-sync-calendar/blob/main/docs/README.zh-Ch.m
|
||||
[obsidian-sync-calendar](https://github.com/dexin-qi/obsidian-sync-calendar)
|
||||
把滴答清单的网页直接用custom frames插件放到obsidian里面。在滴答清单里面把滴答清单任务同步开启,直接同步到outlook里面。记得要登陆同一账号。
|
||||
https://github.com/702573N/Obsidian-Tasks-Calendar
|
||||
- 关注# Obsidain做视频笔记的最完美方案
|
||||
https://zhuanlan.zhihu.com/p/671364486
|
||||
https://www.thegodofking.com/
|
||||
https://github.com/GMYXDS/jumpvideo-electron
|
||||
|
||||
|
||||
## 4 Questions
|
||||
|
||||
|
||||
Reference in new issue
Block a user