zigholding_obsidian-notesyn.../main.js
2024-04-22 21:27:53 +08:00

142 lines
13 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
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: () => VaultExpoterPlugin
});
module.exports = __toCommonJS(main_exports);
var import_obsidian = require("obsidian");
var fs = require("fs");
var DEFAULT_SETTINGS = {
mySetting: "default"
};
var VaultExpoterPlugin = class extends import_obsidian.Plugin {
async onload() {
await this.loadSettings();
this.app.vt = this;
this.fs = fs;
this.root = this.app.vault.adapter.basePath;
this.addSettingTab(new VExporterSettingTab(this.app, this));
}
onunload() {
}
async loadSettings() {
this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());
}
async saveSettings() {
await this.saveData(this.settings);
}
/**
* 附件 src 到 dst不在 vault 中,需要绝对路径
* overwrite复盖mtime新文件
*/
copy_file_by_path(src, dst, mode = "overwrite>mtime>pass") {
mode = mode.split(">")[0];
if (!fs.existsSync(src)) {
return;
}
if (fs.existsSync(dst)) {
if (mode === "overwrite") {
fs.unlinkSync(dst);
fs.copyFileSync(src, dst);
} else if (mode === "mtime") {
if (fs.statSync(dst).mtimeMs < fs.statSync(src).mtimeMs) {
fs.unlinkSync(dst);
fs.copyFileSync(src, dst);
}
}
} else {
fs.copyFileSync(src, dst);
}
}
abspath(tfile) {
if (tfile) {
return this.root + "/" + tfile.path;
} else {
return null;
}
}
copy_tfile(tfile, dst) {
if (tfile) {
let src = this.abspath(tfile);
src && this.copy_file_by_path(src, dst);
}
}
async export_readme(tfile, dst, as_readme = true, assets = "assets") {
let nc = this.app.plugins.getPlugin("note-chain");
if (!tfile) {
tfile = nc.chain.current_note;
}
if (!dst) {
dst = "LocalGitProject";
}
if (!dst.contains("/")) {
dst = nc.editor.get_frontmatter(tfile, dst);
}
if (!dst) {
dst = await nc.chain.tp_prompt("Path of LocalGitProject");
if (!dst) {
return;
}
}
dst = dst.replace(/\\/g, "/");
if (!fs.existsSync(dst)) {
console.log("No Dir:", dst);
}
console.log(dst);
let olinks = nc.chain.get_outlinks(tfile);
let tmp;
if (as_readme) {
tmp = dst + "/readMe.md";
} else {
tmp = dst + "/" + tfile.basename + ".md";
}
this.copy_tfile(tfile, tmp);
let adir = dst + "/" + assets;
if (!fs.existsSync(adir)) {
fs.mkdirSync(adir);
}
for (let f of olinks) {
if (!(f.extension === "md")) {
this.copy_tfile(f, adir + "/" + f.basename + "." + f.extension);
}
}
}
};
var VExporterSettingTab = class extends import_obsidian.PluginSettingTab {
constructor(app, plugin) {
super(app, plugin);
this.plugin = plugin;
}
display() {
const { containerEl } = this;
containerEl.empty();
new import_obsidian.Setting(containerEl).setName("Setting #1").setDesc("It's a secret").addTextArea((text) => text.setPlaceholder("Enter your secret").setValue(this.plugin.settings.mySetting).onChange(async (value) => {
this.plugin.settings.mySetting = value;
await this.plugin.saveSettings();
}));
}
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibWFpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0ICogYXMgTW9kdWxlIGZyb20gJ21vZHVsZSc7XHJcbmltcG9ydCB7IEFwcCwgRWRpdG9yLCBNYXJrZG93blZpZXcsIE1vZGFsLCBOb3RpY2UsIFBsdWdpbiwgUGx1Z2luU2V0dGluZ1RhYiwgU2V0dGluZywgVEZpbGUgfSBmcm9tICdvYnNpZGlhbic7XHJcblxyXG4vLyBSZW1lbWJlciB0byByZW5hbWUgdGhlc2UgY2xhc3NlcyBhbmQgaW50ZXJmYWNlcyFcclxuXHJcbmNvbnN0IGZzID0gcmVxdWlyZSgnZnMnKTtcclxuXHJcbmludGVyZmFjZSBWRXhwb3J0ZXJTZXR0aW5ncyB7XHJcblx0bXlTZXR0aW5nOiBzdHJpbmc7XHJcbn1cclxuXHJcbmNvbnN0IERFRkFVTFRfU0VUVElOR1M6IFZFeHBvcnRlclNldHRpbmdzID0ge1xyXG5cdG15U2V0dGluZzogJ2RlZmF1bHQnXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZhdWx0RXhwb3RlclBsdWdpbiBleHRlbmRzIFBsdWdpbiB7XHJcblx0c2V0dGluZ3M6IFZFeHBvcnRlclNldHRpbmdzO1xyXG5cdHJvb3QgOiBzdHJpbmc7XHJcblxyXG5cdGFzeW5jIG9ubG9hZCgpIHtcclxuXHRcdGF3YWl0IHRoaXMubG9hZFNldHRpbmdzKCk7XHJcblx0XHR0aGlzLmFwcC52dCA9IHRoaXM7XHJcblx0XHR0aGlzLmZzID0gZnM7XHJcblx0XHR0aGlzLnJvb3QgPSB0aGlzLmFwcC52YXVsdC5hZGFwdGVyLmJhc2VQYXRoO1xyXG5cdFx0Ly8gVGhpcyBhZGRzIGEgc2V0dGluZ3MgdGFiIHNvIHRoZSB1c2VyIGNhbiBjb25maWd1cmUgdmFyaW91cyBhc3BlY3RzIG9mIHRoZSBwbHVnaW5cclxuXHRcdHRoaXMuYWRkU2V0dGluZ1RhYihuZXcgVkV4cG9ydGVyU2V0dGluZ1RhYih0aGlzLmFwcCwgdGhpcykpO1xyXG5cdH1cclxuXHJcblx0b251bmxvYWQoKSB7XHJcblxyXG5cdH1cclxuXHJcblx0YXN5bmMgbG9hZFNldHRpbmdzKCkge1xyXG5cdFx0dGhpcy5zZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfU0VUVElOR1MsIGF3YWl0IHRoaXMubG9hZERhdGEoKSk7XHJcblx0fVxyXG5cclxuXHRhc3luYyBzYXZlU2V0dGluZ3MoKSB7XHJcblx0XHRhd2FpdCB0aGlzLnNhdmVEYXRhKHRoaXMuc2V0dGluZ3MpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0KiBcdTk2NDRcdTRFRjYgc3JjIFx1NTIzMCBkc3RcdUZGMENcdTRFMERcdTU3MjggdmF1bHQgXHU0RTJEXHVGRjBDXHU5NzAwXHU4OTgxXHU3RUREXHU1QkY5XHU4REVGXHU1Rjg0XHJcblx0KiBvdmVyd3JpdGVcdUZGMENcdTU5MERcdTc2RDZcdUZGMUJtdGltZVx1RkYwQ1x1NjVCMFx1NjU4N1x1NEVGNlx1RkYxQlxyXG5cdCovXHJcblx0Y29weV9maWxlX2J5X3BhdGgoc3JjOnN0cmluZywgZHN0OnN0cmluZyxtb2RlPSdvdmVyd3JpdGU+bXRpbWU+cGFzcycpIHtcclxuXHRcdG1vZGUgPSBtb2RlLnNwbGl0KCc+JylbMF1cclxuXHRcdGlmKCFmcy5leGlzdHNTeW5jKHNyYykpe1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRpZihmcy5leGlzdHNTeW5jKGRzdCkpe1xyXG5cdFx0XHRpZihtb2RlPT09J292ZXJ3cml0ZScpe1xyXG5cdFx0XHRcdGZzLnVubGlua1N5bmMoZHN0KTtcclxuXHRcdFx0XHRmcy5jb3B5RmlsZVN5bmMoc3JjLGRzdCk7XHJcblx0XHRcdH1lbHNlIGlmKG1vZGU9PT0nbXRpbWUnKXtcclxuXHRcdFx0XHQvLyBkc3QgXHU2NkY0XHU2NUIwXHU2NUY2XHU5NUY0XHU1QzBGXHU0RThFIHNyY1xyXG5cdFx0XHRcdGlmKGZzLnN0YXRTeW5jKGRzdCkubXRpbWVNczxmcy5zdGF0U3luYyhzcmMpLm10aW1lTXMpe1xyXG5cdFx0XHRcdFx0ZnMudW5saW5rU3luYyhkc3QpO1xyXG5cdFx0XHRcdFx0ZnMuY29weUZpbGVTeW5jKHNyYyxkc3QpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fWVsc2V7XHJcblx0XHRcdGZzLmNvcHlGaWxlU3luYyhzcmMsZHN0KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGFic3BhdGgodGZpbGU6VEZpbGUpe1xyXG5cdFx0aWYodGZpbGUpe1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5yb290KycvJyt0ZmlsZS5wYXRoO1xyXG5cdFx0fWVsc2V7XHJcblx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Y29weV90ZmlsZSh0ZmlsZTpURmlsZSwgZHN0OnN0cmluZykge1xyXG5cdFx0aWYodGZpbGUpe1xyXG5cdFx0XHRsZXQgc3JjID0gdGhpcy5hYnNwYXRoKHRmaWxlKTtcclxuXHRcdFx0c3JjICYmIHRoaXMuY29weV9maWxlX2J5X3BhdGgoc3JjLGRzdCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdGFzeW5jIGV4cG9ydF9yZWFkbWUodGZpbGU6VEZpbGUsZHN0OnN0cmluZ3xudWxsLGFzX3JlYWRtZT10cnVlLGFzc2V0cz0nYXNzZXRzJyl7XHJcblx0XHRcclxuXHRcdGxldCBuYyA9IHRoaXMuYXBwLnBsdWdpbnMuZ2V0UGx1Z2luKCdub3RlLWNoYWluJyk7XHJcblx0XHRpZighdGZpbGUpe3RmaWxlID0gbmMuY2hhaW4uY3VycmVudF9ub3RlO31cclxuXHRcdFxyXG5cdFx0aWYoIWRzdCl7XHJcblx0XHRcdGRzdCA9ICdMb2NhbEdpdFByb2plY3QnO1xyXG5cdFx0fVxyXG5cdFx0aWYoIWRzdC5jb250YWlucygnLycpKXtcclxuXHRcdFx0ZHN0ID0gbmMuZWRpdG9yLmdldF9mcm9udG1hdHRlcih0ZmlsZSxkc3QpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmKCFkc3Qpe1xyXG5cdFx0XHRkc3QgPSBhd2FpdCBuYy5jaGFpbi50cF9wcm9tcHQoJ1BhdGggb2YgTG9jYWxHaXRQcm9qZWN0Jyk7XHJcblx0XHRcdGlmKCFkc3Qpe3JldHVybjt9XHJcblx0XHR9XHJcblx0XHRkc3QgPSBkc3QucmVwbGFjZSgvXFxcXC9nLCcvJyk7XHJcblx0XHRpZighZnMuZXhpc3RzU3luYyhkc3QpKXtcclxuXHRcdFx0Y29uc29sZS5sb2coJ05vIERpcjonLGRzdCk7XHJcblx0XHR9XHJcblx0XHRjb25zb2xlLmxvZyhkc3QpO1xyXG5cdFx0bGV0IG9saW5rcyA9IG5jLmNoYWluLmdldF9vdXRsaW5rcyh0ZmlsZSk7XHJcblx0XHRcclxuXHRcdGxldCB0bXA7XHJcblx0XHRpZihhc19yZWFkbWUpe1xyXG5cdFx0XHR0bXAgPSBkc3QrJy8nKydyZWFkTWUubWQnO1xyXG5cdFx0fWVsc2V7XHJcblx0XHRcdHRtcCA9IGRzdCsnLycrdGZpbGUuYmFzZW5hbWUrJy5tZCc7XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5jb3B5X3RmaWxlKHRmaWxlLHRtcCk7XHJcblxyXG5cdFx0bGV0IGFkaXIgPSBkc3QrJy8nK2Fzc2V0cztcclxuXHRcdGlmKCFmcy5leGlzdHNTeW5jKGFkaXIpKXtcclxuXHRcdFx0ZnMubWtkaXJTeW5jKGFkaXIpO1xyXG5cdFx0fVxyXG5cdFx0Zm9yKGxldCBmIG9mIG9saW5rcyl7XHJcblx0XHRcdGlmKCEoZi5leHRlbnNpb249PT0nbWQnKSl7XHJcblx0XHRcdFx0dGhpcy5jb3B5X3RmaWxlKGYsYWRpcisnLycrZi5iYXNlbmFtZSsnLicrZi5leHRlbnNpb24pO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5jbGFzcyBWRXhwb3J0ZXJTZXR0aW5nVGFiIGV4dGVuZHMgUGx1Z2luU2V0dGluZ1RhYiB7XHJcblx0cGx1Z2luOiBWYXVsdEV4cG90ZXJQbHVnaW47XHJcblxyXG5cdGNvbnN0cnVjdG9yKGFwcDogQXBwLCBwbHVnaW46IFZhdWx0RXhwb3RlclBsdWdpbikge1xyXG5cdFx0c3VwZXIoYXBwLCBwbHVnaW4pO1xyXG5cdFx0dGhpcy5wbHVnaW4gPSBwbHVnaW47XHJcblx0fVxyXG5cclxuXHRkaXNwbGF5KCk6IHZvaWQge1xyXG5cdFx0Y29uc3Qge2NvbnRhaW5lckVsfSA9IHRoaXM7XHJcblxyXG5cdFx0Y29udGFpbmVyRWwuZW1wdHkoKTtcclxuXHJcblx0XHRuZXcgU2V0dGluZyhjb250YWluZXJFbClcclxuXHRcdFx0LnNldE5hbWUoJ1NldHRpbmcgIzEnKVxyXG5cdFx0XHQuc2V0RGVzYygnSXRcXCdzIGEgc2VjcmV0JylcclxuXHRcdFx0LmFkZFRleHRBcmVhKHRleHQgPT4gdGV4dFxyXG5cdFx0XHRcdC5zZXRQbGFjZWhvbGRlcignRW50ZXIgeW91ciBzZWNyZXQnKVxyXG5cdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5teVNldHRpbmcpXHJcblx0XHRcdFx0Lm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MubXlTZXR0aW5nID0gdmFsdWU7XHJcblx0XHRcdFx0XHRhd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKTtcclxuXHRcdFx0XHR9KSk7XHJcblx0fVxyXG59XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQSxzQkFBbUc7QUFJbkcsSUFBTSxLQUFLLFFBQVEsSUFBSTtBQU12QixJQUFNLG1CQUFzQztBQUFBLEVBQzNDLFdBQVc7QUFDWjtBQUVBLElBQXFCLHFCQUFyQixjQUFnRCx1QkFBTztBQUFBLEVBSXRELE1BQU0sU0FBUztBQUNkLFVBQU0sS0FBSyxhQUFhO0FBQ3hCLFNBQUssSUFBSSxLQUFLO0FBQ2QsU0FBSyxLQUFLO0FBQ1YsU0FBSyxPQUFPLEtBQUssSUFBSSxNQUFNLFFBQVE7QUFFbkMsU0FBSyxjQUFjLElBQUksb0JBQW9CLEtBQUssS0FBSyxJQUFJLENBQUM7QUFBQSxFQUMzRDtBQUFBLEVB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