vault backup: 2022-12-13 12:32:39

This commit is contained in:
Daniel Bulant 2022-12-13 12:32:39 +01:00
parent e3a463ff3a
commit d70da39672
32 changed files with 13066 additions and 4795 deletions

File diff suppressed because one or more lines are too long

View file

@ -1,7 +1,7 @@
{ {
"id": "better-word-count", "id": "better-word-count",
"name": "Better Word Count", "name": "Better Word Count",
"version": "0.8.1", "version": "0.9.1",
"description": "Counts the words of selected text in the editor.", "description": "Counts the words of selected text in the editor.",
"author": "Luke Leppan", "author": "Luke Leppan",
"authorUrl": "https://lukeleppan.com", "authorUrl": "https://lukeleppan.com",

View file

@ -0,0 +1,21 @@
details.bwc-sb-item-setting {
border: 1px solid var(--background-modifier-border);
border-radius: 10px;
padding: 10px 5px 20px 10px;
margin-top: 5px;
margin-bottom: 10px;
}
.bwc-sb-item-setting summary::marker {
font-size: 10px;
}
/* .bwc-sb-item-setting summary { */
/* margin-bottom: 5px; */
/* } */
.bwc-sb-item-setting summary span.bwc-sb-buttons {
float: right;
}
.bwc-status-bar-settings-title {
margin-bottom: 0px;
}

File diff suppressed because one or more lines are too long

View file

@ -1,10 +1,11 @@
{ {
"id": "emoji-shortcodes", "id": "emoji-shortcodes",
"name": "Emoji Shortcodes", "name": "Emoji Shortcodes",
"version": "2.1.3", "version": "2.2.0",
"minAppVersion": "0.12.17", "minAppVersion": "1.0.0",
"description": "This Plugin enables the use of Markdown Emoji Shortcodes :smile:", "description": "This Plugin enables the use of Markdown Emoji Shortcodes :smile:",
"author": "phibr0", "author": "phibr0",
"authorUrl": "https://github.com/phibr0", "authorUrl": "https://github.com/phibr0",
"isDesktopOnly": false "isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/phibr0"
} }

View file

@ -21,3 +21,11 @@ a[href="https://ko-fi.com/phibr0"]
border-top: solid var(--background-secondary) 1px; border-top: solid var(--background-secondary) 1px;
padding-left: 10px; padding-left: 10px;
} }
.ES-sub-setting {
padding-left: 2em;
}
.ES-sub-setting + .ES-sub-setting {
padding-left: 0;
margin-left: 2em;
}

View file

@ -13,7 +13,7 @@
{ {
"path": "/", "path": "/",
"date": "2022-12-13", "date": "2022-12-13",
"size": 935025 "size": 937066
} }
], ],
"activityHistory": [ "activityHistory": [
@ -970,7 +970,7 @@
}, },
{ {
"date": "2022-12-13", "date": "2022-12-13",
"value": 278 "value": 2331
} }
] ]
} }

View file

@ -6,6 +6,8 @@
"compress": false, "compress": false,
"autosave": true, "autosave": true,
"autosaveInterval": 15000, "autosaveInterval": 15000,
"autosaveIntervalDesktop": 15000,
"autosaveIntervalMobile": 10000,
"drawingFilenamePrefix": "Drawing ", "drawingFilenamePrefix": "Drawing ",
"drawingEmbedPrefixWithFilename": true, "drawingEmbedPrefixWithFilename": true,
"drawingFilnameEmbedPostfix": " ", "drawingFilnameEmbedPostfix": " ",
@ -21,6 +23,7 @@
"matchThemeTrigger": false, "matchThemeTrigger": false,
"defaultMode": "normal", "defaultMode": "normal",
"defaultPenMode": "never", "defaultPenMode": "never",
"zoomToFitOnOpen": true,
"zoomToFitOnResize": true, "zoomToFitOnResize": true,
"zoomToFitMaxLevel": 2, "zoomToFitMaxLevel": 2,
"linkPrefix": "📍", "linkPrefix": "📍",
@ -75,7 +78,7 @@
"mdCSS": "", "mdCSS": "",
"scriptEngineSettings": {}, "scriptEngineSettings": {},
"defaultTrayMode": false, "defaultTrayMode": false,
"previousRelease": "1.8.0", "previousRelease": "1.8.4",
"showReleaseNotes": true, "showReleaseNotes": true,
"showNewVersionNotification": true, "showNewVersionNotification": true,
"mathjaxSourceURL": "https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js", "mathjaxSourceURL": "https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js",

File diff suppressed because one or more lines are too long

View file

@ -1,8 +1,8 @@
{ {
"id": "obsidian-excalidraw-plugin", "id": "obsidian-excalidraw-plugin",
"name": "Excalidraw", "name": "Excalidraw",
"version": "1.8.0", "version": "1.8.4",
"minAppVersion": "0.15.6", "minAppVersion": "0.16.0",
"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",
"authorUrl": "https://zsolt.blog", "authorUrl": "https://zsolt.blog",

View file

@ -19876,7 +19876,7 @@ var IsomorphicGit = class extends GitManager {
const upstreamCommit = await this.resolveRef("HEAD"); const upstreamCommit = await this.resolveRef("HEAD");
this.plugin.lastUpdate = Date.now(); this.plugin.lastUpdate = Date.now();
const changedFiles = await this.getFileChangesCount(localCommit, upstreamCommit); const changedFiles = await this.getFileChangesCount(localCommit, upstreamCommit);
new import_obsidian5.Notice("Finished pull"); this.showNotice("Finished pull", false);
return changedFiles.map((file) => ({ return changedFiles.map((file) => ({
path: file.path, path: file.path,
working_dir: "P", working_dir: "P",
@ -20245,6 +20245,13 @@ var IsomorphicGit = class extends GitManager {
return diff2; return diff2;
} }
} }
async getLastCommitTime() {
const repo = this.getRepo();
const oid = await this.resolveRef("HEAD");
const commit2 = await isomorphic_git_default.readCommit({ ...repo, oid });
const date = commit2.commit.committer.timestamp;
return new Date(date * 1e3);
}
getFileStatusResult(row) { getFileStatusResult(row) {
const status2 = this.status_mapping[`${row[this.HEAD]}${row[this.WORKDIR]}${row[this.STAGE]}`]; const status2 = this.status_mapping[`${row[this.HEAD]}${row[this.WORKDIR]}${row[this.STAGE]}`];
return { return {
@ -20254,9 +20261,9 @@ var IsomorphicGit = class extends GitManager {
vault_path: this.getVaultPath(row[this.FILE]) vault_path: this.getVaultPath(row[this.FILE])
}; };
} }
showNotice(message) { showNotice(message, infinity = true) {
if (!this.plugin.settings.disablePopups) { if (!this.plugin.settings.disablePopups) {
return new import_obsidian5.Notice(message, this.noticeLength); return new import_obsidian5.Notice(message, infinity ? this.noticeLength : void 0);
} }
} }
}; };
@ -23834,7 +23841,7 @@ function abortPlugin(signal) {
return [onSpawnBefore, onSpawnAfter]; return [onSpawnBefore, onSpawnAfter];
} }
function isConfigSwitch(arg) { function isConfigSwitch(arg) {
return arg.trim().toLowerCase() === "-c"; return typeof arg === "string" && arg.trim().toLowerCase() === "-c";
} }
function preventProtocolOverride(arg, next) { function preventProtocolOverride(arg, next) {
if (!isConfigSwitch(arg)) { if (!isConfigSwitch(arg)) {
@ -24441,6 +24448,12 @@ var SimpleGit = class extends GitManager {
async diff(file, commit1, commit2) { async diff(file, commit1, commit2) {
return await this.git.diff([`${commit1}..${commit2}`, "--", file]); return await this.git.diff([`${commit1}..${commit2}`, "--", file]);
} }
async getLastCommitTime() {
const res = await this.git.log({ n: 1 }, (err) => this.onError(err));
if (res != null && res.latest != null) {
return new Date(res.latest.date);
}
}
isGitInstalled() { isGitInstalled() {
const command = (0, import_child_process2.spawnSync)(this.plugin.localStorage.getGitPath() || "git", ["--version"], { const command = (0, import_child_process2.spawnSync)(this.plugin.localStorage.getGitPath() || "git", ["--version"], {
stdio: "ignore" stdio: "ignore"
@ -24511,14 +24524,24 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab {
new import_obsidian7.Notice("Please specify a valid number."); new import_obsidian7.Notice("Please specify a valid number.");
} }
})); }));
new import_obsidian7.Setting(containerEl).setName(`Auto Backup after Filechange`).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 last the change.`).addToggle((toggle) => toggle.setValue(plugin.settings.autoBackupAfterFileChange).onChange((value) => { if (!plugin.settings.setLastSaveToLastCommit)
plugin.settings.autoBackupAfterFileChange = value; new import_obsidian7.Setting(containerEl).setName(`Auto Backup after file change`).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 last the change.`).addToggle((toggle) => toggle.setValue(plugin.settings.autoBackupAfterFileChange).onChange((value) => {
plugin.saveSettings(); plugin.settings.autoBackupAfterFileChange = value;
plugin.clearAutoBackup(); this.display();
if (plugin.settings.autoSaveInterval > 0) { plugin.saveSettings();
plugin.startAutoBackup(plugin.settings.autoSaveInterval); plugin.clearAutoBackup();
} if (plugin.settings.autoSaveInterval > 0) {
})); plugin.startAutoBackup(plugin.settings.autoSaveInterval);
}
}));
if (!plugin.settings.autoBackupAfterFileChange)
new import_obsidian7.Setting(containerEl).setName(`Auto ${commitOrBackup} after lastest commit`).setDesc(`If turned on, set last auto ${commitOrBackup} time to lastest commit`).addToggle((toggle) => toggle.setValue(plugin.settings.setLastSaveToLastCommit).onChange(async (value) => {
plugin.settings.setLastSaveToLastCommit = value;
plugin.saveSettings();
this.display();
plugin.clearAutoBackup();
await plugin.setUpAutoBackup();
}));
if (plugin.settings.differentIntervalCommitAndPush) { if (plugin.settings.differentIntervalCommitAndPush) {
new import_obsidian7.Setting(containerEl).setName(`Vault push interval (minutes)`).setDesc("Push changes every X minutes. Set to 0 (default) to disable.").addText((text2) => text2.setValue(String(plugin.settings.autoPushInterval)).onChange((value) => { new import_obsidian7.Setting(containerEl).setName(`Vault push interval (minutes)`).setDesc("Push changes every X minutes. Set to 0 (default) to disable.").addText((text2) => text2.setValue(String(plugin.settings.autoPushInterval)).onChange((value) => {
if (!isNaN(Number(value))) { if (!isNaN(Number(value))) {
@ -24551,10 +24574,6 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab {
new import_obsidian7.Notice("Please specify a valid number."); new import_obsidian7.Notice("Please specify a valid number.");
} }
})); }));
new import_obsidian7.Setting(containerEl).setName("Commit message on manual backup/commit").setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below) and {{numFiles}} (number of changed files in the commit)").addText((text2) => text2.setPlaceholder("vault backup: {{date}}").setValue(plugin.settings.commitMessage ? plugin.settings.commitMessage : "").onChange((value) => {
plugin.settings.commitMessage = value;
plugin.saveSettings();
}));
new import_obsidian7.Setting(containerEl).setName("Specify custom commit message on auto backup").setDesc("You will get a pop up to specify your message").addToggle((toggle) => toggle.setValue(plugin.settings.customMessageOnAutoBackup).onChange((value) => { new import_obsidian7.Setting(containerEl).setName("Specify custom commit message on auto backup").setDesc("You will get a pop up to specify your message").addToggle((toggle) => toggle.setValue(plugin.settings.customMessageOnAutoBackup).onChange((value) => {
plugin.settings.customMessageOnAutoBackup = value; plugin.settings.customMessageOnAutoBackup = value;
plugin.saveSettings(); plugin.saveSettings();
@ -24565,6 +24584,10 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab {
})); }));
containerEl.createEl("br"); containerEl.createEl("br");
containerEl.createEl("h3", { text: "Commit message" }); containerEl.createEl("h3", { text: "Commit message" });
new import_obsidian7.Setting(containerEl).setName("Commit message on manual backup/commit").setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below) and {{numFiles}} (number of changed files in the commit)").addText((text2) => text2.setPlaceholder("vault backup: {{date}}").setValue(plugin.settings.commitMessage ? plugin.settings.commitMessage : "").onChange((value) => {
plugin.settings.commitMessage = value;
plugin.saveSettings();
}));
new import_obsidian7.Setting(containerEl).setName("{{date}} placeholder format").setDesc('Specify custom date format. E.g. "YYYY-MM-DD HH:mm:ss"').addText((text2) => text2.setPlaceholder(plugin.settings.commitDateFormat).setValue(plugin.settings.commitDateFormat).onChange(async (value) => { new import_obsidian7.Setting(containerEl).setName("{{date}} placeholder format").setDesc('Specify custom date format. E.g. "YYYY-MM-DD HH:mm:ss"').addText((text2) => text2.setPlaceholder(plugin.settings.commitDateFormat).setValue(plugin.settings.commitDateFormat).onChange(async (value) => {
plugin.settings.commitDateFormat = value; plugin.settings.commitDateFormat = value;
await plugin.saveSettings(); await plugin.saveSettings();
@ -24951,7 +24974,8 @@ var DEFAULT_SETTINGS = {
changedFilesInStatusBar: false, changedFilesInStatusBar: false,
showedMobileNotice: false, showedMobileNotice: false,
refreshSourceControlTimer: 7e3, refreshSourceControlTimer: 7e3,
showBranchStatusBar: true showBranchStatusBar: true,
setLastSaveToLastCommit: false
}; };
var GIT_VIEW_CONFIG = { var GIT_VIEW_CONFIG = {
type: "git-view", type: "git-view",
@ -26657,6 +26681,13 @@ var DiffView = class extends import_obsidian13.ItemView {
return DIFF_VIEW_CONFIG.type; return DIFF_VIEW_CONFIG.type;
} }
getDisplayText() { getDisplayText() {
var _a2;
if (((_a2 = this.state) == null ? void 0 : _a2.file) != null) {
let fileName = this.state.file.split("/").last();
if (fileName == null ? void 0 : fileName.endsWith(".md"))
fileName = fileName.slice(0, -3);
return DIFF_VIEW_CONFIG.name + ` (${fileName})`;
}
return DIFF_VIEW_CONFIG.name; return DIFF_VIEW_CONFIG.name;
} }
getIcon() { getIcon() {
@ -27118,7 +27149,8 @@ function transition_out(block, local, detach2, callback) {
} }
var null_transition = { duration: 0 }; var null_transition = { duration: 0 };
function create_bidirectional_transition(node, fn, params, intro) { function create_bidirectional_transition(node, fn, params, intro) {
let config = fn(node, params); const options = { direction: "both" };
let config = fn(node, params, options);
let t = intro ? 0 : 1; let t = intro ? 0 : 1;
let running_program = null; let running_program = null;
let pending_program = null; let pending_program = null;
@ -27198,7 +27230,7 @@ function create_bidirectional_transition(node, fn, params, intro) {
run(b) { run(b) {
if (is_function(config)) { if (is_function(config)) {
wait().then(() => { wait().then(() => {
config = config(); config = config(options);
go(b); go(b);
}); });
} else { } else {
@ -28938,17 +28970,17 @@ function add_css5(target) {
} }
function get_each_context2(ctx, list, i) { function get_each_context2(ctx, list, i) {
const child_ctx = ctx.slice(); const child_ctx = ctx.slice();
child_ctx[43] = list[i]; child_ctx[45] = list[i];
return child_ctx; return child_ctx;
} }
function get_each_context_1(ctx, list, i) { function get_each_context_1(ctx, list, i) {
const child_ctx = ctx.slice(); const child_ctx = ctx.slice();
child_ctx[43] = list[i]; child_ctx[45] = list[i];
return child_ctx; return child_ctx;
} }
function get_each_context_2(ctx, list, i) { function get_each_context_2(ctx, list, i) {
const child_ctx = ctx.slice(); const child_ctx = ctx.slice();
child_ctx[48] = list[i]; child_ctx[50] = list[i];
return child_ctx; return child_ctx;
} }
function create_if_block_8(ctx) { function create_if_block_8(ctx) {
@ -28965,7 +28997,7 @@ function create_if_block_8(ctx) {
m(target, anchor) { m(target, anchor) {
insert(target, div, anchor); insert(target, div, anchor);
if (!mounted) { if (!mounted) {
dispose = listen(div, "click", ctx[31]); dispose = listen(div, "click", ctx[33]);
mounted = true; mounted = true;
} }
}, },
@ -29106,7 +29138,7 @@ function create_if_block4(ctx) {
append2(div6, div5); append2(div6, div5);
append2(div5, div3); append2(div5, div3);
append2(div3, div2); append2(div3, div2);
ctx[34](div2); ctx[36](div2);
append2(div5, t3); append2(div5, t3);
append2(div5, div4); append2(div5, div4);
append2(div4, t4); append2(div4, t4);
@ -29125,7 +29157,7 @@ function create_if_block4(ctx) {
append2(div12, div10); append2(div12, div10);
append2(div12, t10); append2(div12, t10);
append2(div12, div11); append2(div12, div11);
ctx[39](div11); ctx[41](div11);
append2(div14, t11); append2(div14, t11);
append2(div14, div13); append2(div14, div13);
append2(div13, t12); append2(div13, t12);
@ -29138,15 +29170,15 @@ function create_if_block4(ctx) {
current = true; current = true;
if (!mounted) { if (!mounted) {
dispose = [ dispose = [
listen(div0, "click", ctx[32]), listen(div0, "click", ctx[34]),
listen(div1, "click", ctx[33]), listen(div1, "click", ctx[35]),
listen(div2, "click", ctx[18]), listen(div2, "click", ctx[19]),
listen(div6, "click", self2(ctx[35])), listen(div6, "click", self2(ctx[37])),
listen(div8, "click", ctx[36]), listen(div8, "click", ctx[38]),
listen(div9, "click", ctx[37]), listen(div9, "click", ctx[39]),
listen(div10, "click", ctx[38]), listen(div10, "click", ctx[40]),
listen(div11, "click", ctx[17]), listen(div11, "click", ctx[18]),
listen(div15, "click", self2(ctx[40])) listen(div15, "click", self2(ctx[42]))
]; ];
mounted = true; mounted = true;
} }
@ -29237,10 +29269,10 @@ function create_if_block4(ctx) {
d(detaching) { d(detaching) {
if (detaching) if (detaching)
detach(div18); detach(div18);
ctx[34](null); ctx[36](null);
if (if_block0) if (if_block0)
if_block0.d(); if_block0.d();
ctx[39](null); ctx[41](null);
if (if_block1) if (if_block1)
if_block1.d(); if_block1.d();
if (if_block2) if (if_block2)
@ -29449,7 +29481,7 @@ function create_each_block_2(ctx) {
let current; let current;
stagedfilecomponent = new stagedFileComponent_default({ stagedfilecomponent = new stagedFileComponent_default({
props: { props: {
change: ctx[48], change: ctx[50],
view: ctx[1], view: ctx[1],
manager: ctx[0].gitManager manager: ctx[0].gitManager
} }
@ -29465,7 +29497,7 @@ function create_each_block_2(ctx) {
p(ctx2, dirty) { p(ctx2, dirty) {
const stagedfilecomponent_changes = {}; const stagedfilecomponent_changes = {};
if (dirty[0] & 64) if (dirty[0] & 64)
stagedfilecomponent_changes.change = ctx2[48]; stagedfilecomponent_changes.change = ctx2[50];
if (dirty[0] & 2) if (dirty[0] & 2)
stagedfilecomponent_changes.view = ctx2[1]; stagedfilecomponent_changes.view = ctx2[1];
if (dirty[0] & 1) if (dirty[0] & 1)
@ -29686,7 +29718,7 @@ function create_each_block_1(ctx) {
let current; let current;
filecomponent = new fileComponent_default({ filecomponent = new fileComponent_default({
props: { props: {
change: ctx[43], change: ctx[45],
view: ctx[1], view: ctx[1],
manager: ctx[0].gitManager manager: ctx[0].gitManager
} }
@ -29703,7 +29735,7 @@ function create_each_block_1(ctx) {
p(ctx2, dirty) { p(ctx2, dirty) {
const filecomponent_changes = {}; const filecomponent_changes = {};
if (dirty[0] & 64) if (dirty[0] & 64)
filecomponent_changes.change = ctx2[43]; filecomponent_changes.change = ctx2[45];
if (dirty[0] & 2) if (dirty[0] & 2)
filecomponent_changes.view = ctx2[1]; filecomponent_changes.view = ctx2[1];
if (dirty[0] & 1) if (dirty[0] & 1)
@ -29776,7 +29808,7 @@ function create_if_block_12(ctx) {
if_block.m(div3, null); if_block.m(div3, null);
current = true; current = true;
if (!mounted) { if (!mounted) {
dispose = listen(div2, "click", ctx[41]); dispose = listen(div2, "click", ctx[43]);
mounted = true; mounted = true;
} }
}, },
@ -30025,7 +30057,7 @@ function create_each_block2(ctx) {
let current; let current;
pulledfilecomponent = new pulledFileComponent_default({ pulledfilecomponent = new pulledFileComponent_default({
props: { props: {
change: ctx[43], change: ctx[45],
view: ctx[1] view: ctx[1]
} }
}); });
@ -30041,7 +30073,7 @@ function create_each_block2(ctx) {
p(ctx2, dirty) { p(ctx2, dirty) {
const pulledfilecomponent_changes = {}; const pulledfilecomponent_changes = {};
if (dirty[0] & 128) if (dirty[0] & 128)
pulledfilecomponent_changes.change = ctx2[43]; pulledfilecomponent_changes.change = ctx2[45];
if (dirty[0] & 2) if (dirty[0] & 2)
pulledfilecomponent_changes.view = ctx2[1]; pulledfilecomponent_changes.view = ctx2[1];
pulledfilecomponent.$set(pulledfilecomponent_changes); pulledfilecomponent.$set(pulledfilecomponent_changes);
@ -30063,8 +30095,8 @@ function create_each_block2(ctx) {
} }
function create_fragment5(ctx) { function create_fragment5(ctx) {
let main; let main;
let div9;
let div8; let div8;
let div7;
let div0; let div0;
let t0; let t0;
let div1; let div1;
@ -30079,11 +30111,13 @@ function create_fragment5(ctx) {
let t5; let t5;
let div6; let div6;
let t6; let t6;
let div9; let div7;
let textarea;
let t7; let t7;
let t8;
let div10; let div10;
let textarea;
let t8;
let t9;
let div11;
let current; let current;
let mounted; let mounted;
let dispose; let dispose;
@ -30092,8 +30126,8 @@ function create_fragment5(ctx) {
return { return {
c() { c() {
main = element("main"); main = element("main");
div9 = element("div");
div8 = element("div"); div8 = element("div");
div7 = element("div");
div0 = element("div"); div0 = element("div");
t0 = space(); t0 = space();
div1 = element("div"); div1 = element("div");
@ -30108,109 +30142,119 @@ function create_fragment5(ctx) {
t5 = space(); t5 = space();
div6 = element("div"); div6 = element("div");
t6 = space(); t6 = space();
div9 = element("div"); div7 = element("div");
textarea = element("textarea");
t7 = space(); t7 = space();
div10 = element("div");
textarea = element("textarea");
t8 = space();
if (if_block0) if (if_block0)
if_block0.c(); if_block0.c();
t8 = space(); t9 = space();
div10 = element("div"); div11 = element("div");
if (if_block1) if (if_block1)
if_block1.c(); if_block1.c();
attr(div0, "id", "commit-btn"); attr(div0, "id", "backup-btn");
attr(div0, "data-icon", "check"); attr(div0, "data-icon", "arrow-up-circle");
attr(div0, "class", "clickable-icon nav-action-button"); attr(div0, "class", "clickable-icon nav-action-button");
attr(div0, "aria-label", "Commit"); attr(div0, "aria-label", "Backup");
attr(div1, "id", "stage-all"); attr(div1, "id", "commit-btn");
attr(div1, "data-icon", "check");
attr(div1, "class", "clickable-icon nav-action-button"); attr(div1, "class", "clickable-icon nav-action-button");
attr(div1, "data-icon", "plus-circle"); attr(div1, "aria-label", "Commit");
attr(div1, "aria-label", "Stage all"); attr(div2, "id", "stage-all");
attr(div2, "id", "unstage-all");
attr(div2, "class", "clickable-icon nav-action-button"); attr(div2, "class", "clickable-icon nav-action-button");
attr(div2, "data-icon", "minus-circle"); attr(div2, "data-icon", "plus-circle");
attr(div2, "aria-label", "Unstage all"); attr(div2, "aria-label", "Stage all");
attr(div3, "id", "push"); attr(div3, "id", "unstage-all");
attr(div3, "class", "clickable-icon nav-action-button"); attr(div3, "class", "clickable-icon nav-action-button");
attr(div3, "data-icon", "upload"); attr(div3, "data-icon", "minus-circle");
attr(div3, "aria-label", "Push"); attr(div3, "aria-label", "Unstage all");
attr(div4, "id", "pull"); attr(div4, "id", "push");
attr(div4, "class", "clickable-icon nav-action-button"); attr(div4, "class", "clickable-icon nav-action-button");
attr(div4, "data-icon", "download"); attr(div4, "data-icon", "upload");
attr(div4, "aria-label", "Pull"); attr(div4, "aria-label", "Push");
attr(div5, "id", "layoutChange"); attr(div5, "id", "pull");
attr(div5, "class", "clickable-icon nav-action-button"); attr(div5, "class", "clickable-icon nav-action-button");
attr(div5, "aria-label", "Change Layout"); attr(div5, "data-icon", "download");
attr(div6, "id", "refresh"); attr(div5, "aria-label", "Pull");
attr(div6, "id", "layoutChange");
attr(div6, "class", "clickable-icon nav-action-button"); attr(div6, "class", "clickable-icon nav-action-button");
attr(div6, "data-icon", "refresh-cw"); attr(div6, "aria-label", "Change Layout");
attr(div6, "aria-label", "Refresh"); attr(div7, "id", "refresh");
set_style(div6, "margin", "1px"); attr(div7, "class", "clickable-icon nav-action-button");
toggle_class(div6, "loading", ctx[5]); attr(div7, "data-icon", "refresh-cw");
attr(div7, "class", "nav-buttons-container"); attr(div7, "aria-label", "Refresh");
attr(div8, "class", "nav-header"); set_style(div7, "margin", "1px");
toggle_class(div7, "loading", ctx[5]);
attr(div8, "class", "nav-buttons-container");
attr(div9, "class", "nav-header");
attr(textarea, "rows", ctx[15]); attr(textarea, "rows", ctx[15]);
attr(textarea, "class", "commit-msg-input svelte-fnxzfa"); attr(textarea, "class", "commit-msg-input svelte-fnxzfa");
attr(textarea, "type", "text"); attr(textarea, "type", "text");
attr(textarea, "spellcheck", "true"); attr(textarea, "spellcheck", "true");
attr(textarea, "placeholder", "Commit Message"); attr(textarea, "placeholder", "Commit Message");
attr(div9, "class", "git-commit-msg svelte-fnxzfa"); attr(div10, "class", "git-commit-msg svelte-fnxzfa");
attr(div10, "class", "nav-files-container"); attr(div11, "class", "nav-files-container");
set_style(div10, "position", "relative"); set_style(div11, "position", "relative");
attr(main, "class", "svelte-fnxzfa"); attr(main, "class", "svelte-fnxzfa");
}, },
m(target, anchor) { m(target, anchor) {
insert(target, main, anchor); insert(target, main, anchor);
append2(main, div8);
append2(div8, div7);
append2(div7, div0);
ctx[22](div0);
append2(div7, t0);
append2(div7, div1);
ctx[23](div1);
append2(div7, t1);
append2(div7, div2);
ctx[24](div2);
append2(div7, t2);
append2(div7, div3);
ctx[25](div3);
append2(div7, t3);
append2(div7, div4);
ctx[26](div4);
append2(div7, t4);
append2(div7, div5);
ctx[27](div5);
append2(div7, t5);
append2(div7, div6);
ctx[29](div6);
append2(main, t6);
append2(main, div9); append2(main, div9);
append2(div9, textarea); append2(div9, div8);
set_input_value(textarea, ctx[2]); append2(div8, div0);
append2(div9, t7); ctx[23](div0);
if (if_block0) append2(div8, t0);
if_block0.m(div9, null); append2(div8, div1);
append2(main, t8); ctx[24](div1);
append2(div8, t1);
append2(div8, div2);
ctx[25](div2);
append2(div8, t2);
append2(div8, div3);
ctx[26](div3);
append2(div8, t3);
append2(div8, div4);
ctx[27](div4);
append2(div8, t4);
append2(div8, div5);
ctx[28](div5);
append2(div8, t5);
append2(div8, div6);
ctx[29](div6);
append2(div8, t6);
append2(div8, div7);
ctx[31](div7);
append2(main, t7);
append2(main, div10); append2(main, div10);
append2(div10, textarea);
set_input_value(textarea, ctx[2]);
append2(div10, t8);
if (if_block0)
if_block0.m(div10, null);
append2(main, t9);
append2(main, div11);
if (if_block1) if (if_block1)
if_block1.m(div10, null); if_block1.m(div11, null);
current = true; current = true;
if (!mounted) { if (!mounted) {
dispose = [ dispose = [
listen(div0, "click", ctx[16]), listen(div0, "click", ctx[17]),
listen(div1, "click", ctx[17]), listen(div1, "click", ctx[16]),
listen(div2, "click", ctx[18]), listen(div2, "click", ctx[18]),
listen(div3, "click", ctx[19]), listen(div3, "click", ctx[19]),
listen(div4, "click", ctx[20]), listen(div4, "click", ctx[20]),
listen(div5, "click", ctx[28]), listen(div5, "click", ctx[21]),
listen(div6, "click", triggerRefresh), listen(div6, "click", ctx[30]),
listen(textarea, "input", ctx[30]) listen(div7, "click", triggerRefresh),
listen(textarea, "input", ctx[32])
]; ];
mounted = true; mounted = true;
} }
}, },
p(ctx2, dirty) { p(ctx2, dirty) {
if (!current || dirty[0] & 32) { if (!current || dirty[0] & 32) {
toggle_class(div6, "loading", ctx2[5]); toggle_class(div7, "loading", ctx2[5]);
} }
if (!current || dirty[0] & 32768) { if (!current || dirty[0] & 32768) {
attr(textarea, "rows", ctx2[15]); attr(textarea, "rows", ctx2[15]);
@ -30224,7 +30268,7 @@ function create_fragment5(ctx) {
} else { } else {
if_block0 = create_if_block_8(ctx2); if_block0 = create_if_block_8(ctx2);
if_block0.c(); if_block0.c();
if_block0.m(div9, null); if_block0.m(div10, null);
} }
} else if (if_block0) { } else if (if_block0) {
if_block0.d(1); if_block0.d(1);
@ -30240,7 +30284,7 @@ function create_fragment5(ctx) {
if_block1 = create_if_block4(ctx2); if_block1 = create_if_block4(ctx2);
if_block1.c(); if_block1.c();
transition_in(if_block1, 1); transition_in(if_block1, 1);
if_block1.m(div10, null); if_block1.m(div11, null);
} }
} else if (if_block1) { } else if (if_block1) {
group_outros(); group_outros();
@ -30263,13 +30307,14 @@ function create_fragment5(ctx) {
d(detaching) { d(detaching) {
if (detaching) if (detaching)
detach(main); detach(main);
ctx[22](null);
ctx[23](null); ctx[23](null);
ctx[24](null); ctx[24](null);
ctx[25](null); ctx[25](null);
ctx[26](null); ctx[26](null);
ctx[27](null); ctx[27](null);
ctx[28](null);
ctx[29](null); ctx[29](null);
ctx[31](null);
if (if_block0) if (if_block0)
if_block0.d(); if_block0.d();
if (if_block1) if (if_block1)
@ -30320,6 +30365,17 @@ function instance5($$self, $$props, $$invalidate) {
if (commitMessage !== plugin.settings.commitMessage) { if (commitMessage !== plugin.settings.commitMessage) {
$$invalidate(2, commitMessage = ""); $$invalidate(2, commitMessage = "");
} }
plugin.setUpAutoBackup();
}).finally(triggerRefresh);
}
}
async function backup() {
$$invalidate(5, loading = true);
if (status2) {
plugin.createBackup(false, false, commitMessage).then(() => {
if (commitMessage !== plugin.settings.commitMessage) {
$$invalidate(2, commitMessage = "");
}
}).finally(triggerRefresh); }).finally(triggerRefresh);
} }
} }
@ -30396,35 +30452,41 @@ function instance5($$self, $$props, $$invalidate) {
} }
function div0_binding($$value) { function div0_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => { binding_callbacks[$$value ? "unshift" : "push"](() => {
buttons[0] = $$value; buttons[5] = $$value;
$$invalidate(8, buttons); $$invalidate(8, buttons);
}); });
} }
function div1_binding($$value) { function div1_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => { binding_callbacks[$$value ? "unshift" : "push"](() => {
buttons[1] = $$value; buttons[0] = $$value;
$$invalidate(8, buttons); $$invalidate(8, buttons);
}); });
} }
function div2_binding($$value) { function div2_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => { binding_callbacks[$$value ? "unshift" : "push"](() => {
buttons[2] = $$value; buttons[1] = $$value;
$$invalidate(8, buttons); $$invalidate(8, buttons);
}); });
} }
function div3_binding($$value) { function div3_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => { binding_callbacks[$$value ? "unshift" : "push"](() => {
buttons[3] = $$value; buttons[2] = $$value;
$$invalidate(8, buttons); $$invalidate(8, buttons);
}); });
} }
function div4_binding($$value) { function div4_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => { binding_callbacks[$$value ? "unshift" : "push"](() => {
buttons[4] = $$value; buttons[3] = $$value;
$$invalidate(8, buttons); $$invalidate(8, buttons);
}); });
} }
function div5_binding($$value) { function div5_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => {
buttons[4] = $$value;
$$invalidate(8, buttons);
});
}
function div6_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => { binding_callbacks[$$value ? "unshift" : "push"](() => {
layoutBtn = $$value; layoutBtn = $$value;
$$invalidate(4, layoutBtn); $$invalidate(4, layoutBtn);
@ -30435,7 +30497,7 @@ function instance5($$self, $$props, $$invalidate) {
$$invalidate(0, plugin.settings.treeStructure = showTree, plugin); $$invalidate(0, plugin.settings.treeStructure = showTree, plugin);
plugin.saveSettings(); plugin.saveSettings();
}; };
function div6_binding($$value) { function div7_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => { binding_callbacks[$$value ? "unshift" : "push"](() => {
buttons[6] = $$value; buttons[6] = $$value;
$$invalidate(8, buttons); $$invalidate(8, buttons);
@ -30504,6 +30566,7 @@ function instance5($$self, $$props, $$invalidate) {
lastPulledFilesOpen, lastPulledFilesOpen,
rows, rows,
commit2, commit2,
backup,
stageAll, stageAll,
unstageAll, unstageAll,
push2, push2,
@ -30515,8 +30578,9 @@ function instance5($$self, $$props, $$invalidate) {
div3_binding, div3_binding,
div4_binding, div4_binding,
div5_binding, div5_binding,
click_handler,
div6_binding, div6_binding,
click_handler,
div7_binding,
textarea_input_handler, textarea_input_handler,
click_handler_1, click_handler_1,
click_handler_2, click_handler_2,
@ -30697,7 +30761,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
active: true, active: true,
state: { state: {
staged: false, staged: false,
file: file.path file: this.gitManager.getPath(file.path, true)
} }
}); });
} }
@ -30753,22 +30817,33 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
this.addCommand({ this.addCommand({
id: "commit", id: "commit",
name: "Commit all changes", name: "Commit all changes",
callback: () => this.promiseQueue.addTask(() => this.commit(false)) callback: () => this.promiseQueue.addTask(() => this.commit({ fromAutoBackup: false }))
}); });
this.addCommand({ this.addCommand({
id: "commit-specified-message", id: "commit-specified-message",
name: "Commit all changes with specific message", name: "Commit all changes with specific message",
callback: () => this.promiseQueue.addTask(() => this.commit(false, true)) callback: () => this.promiseQueue.addTask(() => this.commit({
fromAutoBackup: false,
requestCustomMessage: true
}))
}); });
this.addCommand({ this.addCommand({
id: "commit-staged", id: "commit-staged",
name: "Commit staged", name: "Commit staged",
callback: () => this.promiseQueue.addTask(() => this.commit(false, false, true)) callback: () => this.promiseQueue.addTask(() => this.commit({
fromAutoBackup: false,
requestCustomMessage: false,
onlyStaged: true
}))
}); });
this.addCommand({ this.addCommand({
id: "commit-staged-specified-message", id: "commit-staged-specified-message",
name: "Commit staged with specific message", name: "Commit staged with specific message",
callback: () => this.promiseQueue.addTask(() => this.commit(false, true, true)) callback: () => this.promiseQueue.addTask(() => this.commit({
fromAutoBackup: false,
requestCustomMessage: true,
onlyStaged: true
}))
}); });
this.addCommand({ this.addCommand({
id: "push2", id: "push2",
@ -31057,22 +31132,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
if (this.settings.autoPullOnBoot) { if (this.settings.autoPullOnBoot) {
this.promiseQueue.addTask(() => this.pullChangesFromRemote()); this.promiseQueue.addTask(() => this.pullChangesFromRemote());
} }
const lastAutos = await this.loadLastAuto(); this.setUpAutos();
if (this.settings.autoSaveInterval > 0) {
const now2 = new Date();
const diff2 = this.settings.autoSaveInterval - Math.round((now2.getTime() - lastAutos.backup.getTime()) / 1e3 / 60);
this.startAutoBackup(diff2 <= 0 ? 0 : diff2);
}
if (this.settings.differentIntervalCommitAndPush && this.settings.autoPushInterval > 0) {
const now2 = new Date();
const diff2 = this.settings.autoPushInterval - Math.round((now2.getTime() - lastAutos.push.getTime()) / 1e3 / 60);
this.startAutoPush(diff2 <= 0 ? 0 : diff2);
}
if (this.settings.autoPullInterval > 0) {
const now2 = new Date();
const diff2 = this.settings.autoPullInterval - Math.round((now2.getTime() - lastAutos.pull.getTime()) / 1e3 / 60);
this.startAutoPull(diff2 <= 0 ? 0 : diff2);
}
break; break;
default: default:
console.log("Something weird happened. The 'checkRequirements' result is " + result); console.log("Something weird happened. The 'checkRequirements' result is " + result);
@ -31144,13 +31204,14 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
if (!await this.isAllInitialized()) if (!await this.isAllInitialized())
return; return;
const filesUpdated = await this.pull(); const filesUpdated = await this.pull();
this.setUpAutoBackup();
if (!filesUpdated) { if (!filesUpdated) {
this.displayMessage("Everything is up-to-date"); this.displayMessage("Everything is up-to-date");
} }
if (this.gitManager instanceof SimpleGit) { if (this.gitManager instanceof SimpleGit) {
const status2 = await this.gitManager.status(); const status2 = await this.gitManager.status();
if (status2.conflicted.length > 0) { if (status2.conflicted.length > 0) {
this.displayError(`You have ${status2.conflicted.length} conflict ${status2.conflicted.length > 1 ? "files" : "file"}`); this.displayError(`You have conflicts in ${status2.conflicted.length} ${status2.conflicted.length == 1 ? "file" : "files"}`);
this.handleConflict(status2.conflicted); this.handleConflict(status2.conflicted);
} }
} }
@ -31158,13 +31219,13 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
this.lastUpdate = Date.now(); this.lastUpdate = Date.now();
this.setState(PluginState.idle); this.setState(PluginState.idle);
} }
async createBackup(fromAutoBackup, requestCustomMessage = false) { async createBackup(fromAutoBackup, requestCustomMessage = false, commitMessage) {
if (!await this.isAllInitialized()) if (!await this.isAllInitialized())
return; return;
if (this.settings.syncMethod == "reset" && this.settings.pullBeforePush) { if (this.settings.syncMethod == "reset" && this.settings.pullBeforePush) {
await this.pull(); await this.pull();
} }
if (!await this.commit(fromAutoBackup, requestCustomMessage)) if (!await this.commit({ fromAutoBackup, requestCustomMessage, commitMessage }))
return; return;
if (!this.settings.disablePush) { if (!this.settings.disablePush) {
if (await this.gitManager.canPush()) { if (await this.gitManager.canPush()) {
@ -31178,7 +31239,12 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
} }
this.setState(PluginState.idle); this.setState(PluginState.idle);
} }
async commit(fromAutoBackup, requestCustomMessage = false, onlyStaged = false) { async commit({
fromAutoBackup,
requestCustomMessage = false,
onlyStaged = false,
commitMessage
}) {
if (!await this.isAllInitialized()) if (!await this.isAllInitialized())
return false; return false;
const hadConflict = this.localStorage.getConflict() === "true"; const hadConflict = this.localStorage.getConflict() === "true";
@ -31191,14 +31257,14 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
await this.app.vault.delete(file); await this.app.vault.delete(file);
status2 = await this.updateCachedStatus(); status2 = await this.updateCachedStatus();
if (fromAutoBackup && status2.conflicted.length > 0) { if (fromAutoBackup && status2.conflicted.length > 0) {
this.displayError(`Did not commit, because you have ${status2.conflicted.length} conflict ${status2.conflicted.length > 1 ? "files" : "file"}. Please resolve them and commit per command.`); this.displayError(`Did not commit, because you have conflicts in ${status2.conflicted.length} ${status2.conflicted.length == 1 ? "file" : "files"}. Please resolve them and commit per command.`);
this.handleConflict(status2.conflicted); this.handleConflict(status2.conflicted);
return false; return false;
} }
changedFiles = [...status2.changed, ...status2.staged]; changedFiles = [...status2.changed, ...status2.staged];
} else if (fromAutoBackup && hadConflict) { } else if (fromAutoBackup && hadConflict) {
this.setState(PluginState.conflicted); this.setState(PluginState.conflicted);
this.displayError(`Did not commit, because you have conflict files. Please resolve them and commit per command.`); this.displayError(`Did not commit, because you have conflicts. Please resolve them and commit per command.`);
return false; return false;
} else if (hadConflict) { } else if (hadConflict) {
const file = this.app.vault.getAbstractFileByPath(this.conflictOutputFile); const file = this.app.vault.getAbstractFileByPath(this.conflictOutputFile);
@ -31219,14 +31285,14 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
return false; return false;
} }
if (changedFiles.length !== 0 || hadConflict) { if (changedFiles.length !== 0 || hadConflict) {
let commitMessage = fromAutoBackup ? this.settings.autoCommitMessage : this.settings.commitMessage; let cmtMessage = commitMessage != null ? commitMessage : commitMessage = fromAutoBackup ? this.settings.autoCommitMessage : this.settings.commitMessage;
if (fromAutoBackup && this.settings.customMessageOnAutoBackup || requestCustomMessage) { if (fromAutoBackup && this.settings.customMessageOnAutoBackup || requestCustomMessage) {
if (!this.settings.disablePopups && fromAutoBackup) { if (!this.settings.disablePopups && fromAutoBackup) {
new import_obsidian23.Notice("Auto backup: Please enter a custom commit message. Leave empty to abort"); new import_obsidian23.Notice("Auto backup: Please enter a custom commit message. Leave empty to abort");
} }
const tempMessage = await new CustomMessageModal(this, true).open(); const tempMessage = await new CustomMessageModal(this, true).open();
if (tempMessage != void 0 && tempMessage != "" && tempMessage != "...") { if (tempMessage != void 0 && tempMessage != "" && tempMessage != "...") {
commitMessage = tempMessage; cmtMessage = tempMessage;
} else { } else {
this.setState(PluginState.idle); this.setState(PluginState.idle);
return false; return false;
@ -31234,16 +31300,17 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
} }
let committedFiles; let committedFiles;
if (onlyStaged) { if (onlyStaged) {
committedFiles = await this.gitManager.commit(commitMessage); committedFiles = await this.gitManager.commit(cmtMessage);
} else { } else {
committedFiles = await this.gitManager.commitAll({ message: commitMessage, status: status2, unstagedFiles }); committedFiles = await this.gitManager.commitAll({ message: cmtMessage, status: status2, unstagedFiles });
} }
let roughly = false; let roughly = false;
if (committedFiles === void 0) { if (committedFiles === void 0) {
roughly = true; roughly = true;
committedFiles = changedFiles.length; committedFiles = changedFiles.length;
} }
this.displayMessage(`Committed${roughly ? " approx." : ""} ${committedFiles} ${committedFiles > 1 ? "files" : "file"}`); this.setUpAutoBackup();
this.displayMessage(`Committed${roughly ? " approx." : ""} ${committedFiles} ${committedFiles == 1 ? "file" : "files"}`);
} else { } else {
this.displayMessage("No changes to commit"); this.displayMessage("No changes to commit");
} }
@ -31285,11 +31352,11 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
await this.app.vault.delete(file); await this.app.vault.delete(file);
let status2; let status2;
if (this.gitManager instanceof SimpleGit && (status2 = await this.updateCachedStatus()).conflicted.length > 0) { if (this.gitManager instanceof SimpleGit && (status2 = await this.updateCachedStatus()).conflicted.length > 0) {
this.displayError(`Cannot push. You have ${status2.conflicted.length} conflict ${status2.conflicted.length > 1 ? "files" : "file"}`); this.displayError(`Cannot push. You have conflicts in ${status2.conflicted.length} ${status2.conflicted.length == 1 ? "file" : "files"}`);
this.handleConflict(status2.conflicted); this.handleConflict(status2.conflicted);
return false; return false;
} else if (this.gitManager instanceof IsomorphicGit && hadConflict) { } else if (this.gitManager instanceof IsomorphicGit && hadConflict) {
this.displayError(`Cannot push. You have conflict files`); this.displayError(`Cannot push. You have conflicts`);
this.setState(PluginState.conflicted); this.setState(PluginState.conflicted);
return false; return false;
} }
@ -31299,7 +31366,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
console.log("Pushed!", pushedFiles); console.log("Pushed!", pushedFiles);
this.lastUpdate = Date.now(); this.lastUpdate = Date.now();
if (pushedFiles > 0) { if (pushedFiles > 0) {
this.displayMessage(`Pushed ${pushedFiles} ${pushedFiles > 1 ? "files" : "file"} to remote`); this.displayMessage(`Pushed ${pushedFiles} ${pushedFiles == 1 ? "file" : "files"} to remote`);
} else { } else {
this.displayMessage(`No changes to push`); this.displayMessage(`No changes to push`);
} }
@ -31315,7 +31382,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
const pulledFiles = await this.gitManager.pull() || []; const pulledFiles = await this.gitManager.pull() || [];
this.offlineMode = false; this.offlineMode = false;
if (pulledFiles.length > 0) { if (pulledFiles.length > 0) {
this.displayMessage(`Pulled ${pulledFiles.length} ${pulledFiles.length > 1 ? "files" : "file"} from remote`); this.displayMessage(`Pulled ${pulledFiles.length} ${pulledFiles.length == 1 ? "file" : "files"} from remote`);
this.lastPulledFiles = pulledFiles; this.lastPulledFiles = pulledFiles;
} }
return pulledFiles.length != 0; return pulledFiles.length != 0;
@ -31401,6 +31468,42 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
} }
return true; return true;
} }
async setUpAutoBackup() {
if (this.settings.setLastSaveToLastCommit) {
this.clearAutoBackup();
const lastCommitDate = await this.gitManager.getLastCommitTime();
if (lastCommitDate) {
this.localStorage.setLastAutoBackup(lastCommitDate.toString());
}
}
if (!this.timeoutIDBackup && !this.onFileModifyEventRef) {
const lastAutos = await this.loadLastAuto();
if (this.settings.autoSaveInterval > 0) {
const now2 = new Date();
const diff2 = this.settings.autoSaveInterval - Math.round((now2.getTime() - lastAutos.backup.getTime()) / 1e3 / 60);
this.startAutoBackup(diff2 <= 0 ? 0 : diff2);
}
}
}
async setUpAutos() {
this.setUpAutoBackup();
const lastAutos = await this.loadLastAuto();
if (this.settings.differentIntervalCommitAndPush && this.settings.autoPushInterval > 0) {
const now2 = new Date();
const diff2 = this.settings.autoPushInterval - Math.round((now2.getTime() - lastAutos.push.getTime()) / 1e3 / 60);
this.startAutoPush(diff2 <= 0 ? 0 : diff2);
}
if (this.settings.autoPullInterval > 0) {
const now2 = new Date();
const diff2 = this.settings.autoPullInterval - Math.round((now2.getTime() - lastAutos.pull.getTime()) / 1e3 / 60);
this.startAutoPull(diff2 <= 0 ? 0 : diff2);
}
}
clearAutos() {
this.clearAutoBackup();
this.clearAutoPush();
this.clearAutoPull();
}
startAutoBackup(minutes) { startAutoBackup(minutes) {
const time = (minutes != null ? minutes : this.settings.autoSaveInterval) * 6e4; const time = (minutes != null ? minutes : this.settings.autoSaveInterval) * 6e4;
if (this.settings.autoBackupAfterFileChange) { if (this.settings.autoBackupAfterFileChange) {
@ -31417,7 +31520,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
doAutoBackup() { doAutoBackup() {
this.promiseQueue.addTask(() => { this.promiseQueue.addTask(() => {
if (this.settings.differentIntervalCommitAndPush) { if (this.settings.differentIntervalCommitAndPush) {
return this.commit(true); return this.commit({ fromAutoBackup: true });
} else { } else {
return this.createBackup(true); return this.createBackup(true);
} }
@ -31480,7 +31583,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
let lines; let lines;
if (conflicted !== void 0) { if (conflicted !== void 0) {
lines = [ lines = [
"# Conflict files", "# Conflicts",
"Please resolve them and commit per command (This file will be deleted before the commit).", "Please resolve them and commit per command (This file will be deleted before the commit).",
...conflicted.map((e) => { ...conflicted.map((e) => {
const file = this.app.vault.getAbstractFileByPath(e); const file = this.app.vault.getAbstractFileByPath(e);

View file

@ -3,6 +3,7 @@
"name": "Obsidian Git", "name": "Obsidian Git",
"description": "Backup your vault with Git.", "description": "Backup your vault with Git.",
"isDesktopOnly": false, "isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/vinzent",
"js": "main.js", "js": "main.js",
"version": "2.10.2" "version": "2.13.0"
} }

File diff suppressed because one or more lines are too long

View file

@ -1,7 +1,7 @@
{ {
"id": "obsidian-icon-folder", "id": "obsidian-icon-folder",
"name": "Icon Folder", "name": "Icon Folder",
"version": "1.4.1", "version": "1.4.3",
"minAppVersion": "0.9.12", "minAppVersion": "0.9.12",
"description": "This plugin allows to add an emoji or an icon to a folder or file.", "description": "This plugin allows to add an emoji or an icon to a folder or file.",
"author": "Florian Woelki", "author": "Florian Woelki",

View file

@ -6,6 +6,7 @@
"linterLocale": "system-default", "linterLocale": "system-default",
"logLevel": 4, "logLevel": 4,
"lintCommands": [], "lintCommands": [],
"customRegexes": [],
"commonStyles": { "commonStyles": {
"aliasArrayStyle": "single-line", "aliasArrayStyle": "single-line",
"tagArrayStyle": "single-line", "tagArrayStyle": "single-line",

File diff suppressed because one or more lines are too long

View file

@ -1,7 +1,7 @@
{ {
"id": "obsidian-linter", "id": "obsidian-linter",
"name": "Linter", "name": "Linter",
"version": "1.7.1", "version": "1.9.1",
"minAppVersion": "0.15.6", "minAppVersion": "0.15.6",
"description": "Formats and styles your notes. It can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular markdown contents like list, italics, and bold styles; and more with the use of custom rule options as well.", "description": "Formats and styles your notes. It can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular markdown contents like list, italics, and bold styles; and more with the use of custom rule options as well.",
"author": "Victor Tao", "author": "Victor Tao",

View file

@ -128,17 +128,16 @@
/** Hide linter element css /** Hide linter element css
* Based on https://zellwk.com/blog/hide-content-accessibly/ * Based on https://zellwk.com/blog/hide-content-accessibly/
*/ */
.linter-navigation-item:not(.linter-navigation-item-selected) > span:nth-child(2), .linter-navigation-item:not(.linter-navigation-item-selected) > span:nth-child(2),
.linter-visually-hidden { .linter-visually-hidden {
border: 0; border: 0;
clip: rect(0 0 0 0); clip: rect(0 0 0 0);
clip-path: rect(0 0 0 0); clip-path: rect(0 0 0 0);
height: auto; /* new - was 1px */ height: auto;
margin: 0; /* new - was -1px */ margin: 0;
overflow: hidden; overflow: hidden;
padding: 0; padding: 0;
position: absolute; position: absolute;
width: 1px; width: 1px;
white-space: nowrap; /* 1 */ white-space: nowrap;
} }

File diff suppressed because one or more lines are too long

View file

@ -1,10 +1,11 @@
{ {
"id": "obsidian-spaced-repetition", "id": "obsidian-spaced-repetition",
"name": "Spaced Repetition", "name": "Spaced Repetition",
"version": "1.8.0", "version": "1.9.1",
"minAppVersion": "0.15.4", "minAppVersion": "0.15.4",
"description": "Fight the forgetting curve by reviewing flashcards & entire notes.", "description": "Fight the forgetting curve by reviewing flashcards & entire notes.",
"author": "Stephen Mwangi", "author": "Stephen Mwangi",
"authorUrl": "https://github.com/st3v3nmw", "authorUrl": "https://github.com/st3v3nmw",
"isDesktopOnly": false "isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/M4M44DEN6"
} }

View file

@ -9,10 +9,17 @@
.sr-response { .sr-response {
display: inline-grid; display: inline-grid;
width: 100%; width: 100%;
grid-template-columns: auto auto auto; grid-template-columns: auto auto auto auto;
position: absolute; position: absolute;
bottom: 0; bottom: 0;
} }
.sr-ignorestats-btn {
/* Bit of a hack, but it works. */
margin: 0px !important;
margin-right: 12px !important;
}
.sr-ignorestats-response { .sr-ignorestats-response {
grid-template-columns: auto auto !important; grid-template-columns: auto auto !important;
} }
@ -21,11 +28,20 @@
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
flex-direction: column;
} }
.sr-deck-counts { .sr-deck-counts {
color: #ffffff; color: #ffffff;
margin-left: 4px; margin-left: 4px;
padding: 4px;
}
.sr-back-btn {
background-color: transparent !important;
box-shadow: none !important;
padding: 0 !important;
margin-right: 4px;
} }
#sr-show-answer { #sr-show-answer {
@ -74,16 +90,11 @@
} }
#sr-flashcard-view { #sr-flashcard-view {
font-size: var(--font-text-size);
overflow-y: auto; overflow-y: auto;
height: 80%; height: 80%;
} }
.sr-ignorestats-btn {
/* Bit of a hack, but it works. */
margin: 0px !important;
margin-right: 12px !important;
}
@media only screen and (max-width: 600px) { @media only screen and (max-width: 600px) {
.sr-modal-content::-webkit-scrollbar, .sr-modal-content::-webkit-scrollbar,
#sr-flashcard-view::-webkit-scrollbar { #sr-flashcard-view::-webkit-scrollbar {

File diff suppressed because one or more lines are too long

View file

@ -5,7 +5,7 @@
"authorUrl": "https://grosinger.net", "authorUrl": "https://grosinger.net",
"description": "Improved table navigation, formatting, manipulation, and formulas", "description": "Improved table navigation, formatting, manipulation, and formulas",
"isDesktopOnly": false, "isDesktopOnly": false,
"minAppVersion": "0.13.8", "minAppVersion": "1.0.0",
"version": "0.17.3", "version": "0.18.0",
"js": "main.js" "js": "main.js"
} }

View file

@ -1,5 +1,50 @@
.HyperMD-table-row span.cm-inline-code { :root {
font-size: 100%; --advanced-tables-helper-size: 28px;
}
.advanced-tables-buttons>div>.title {
font-weight: var(--font-medium);
font-size: var(--nav-item-size);
color: var(--nav-item-color);
text-decoration: underline;
}
[data-type="advanced-tables-toolbar"] .nav-buttons-container {
column-gap: 0.2rem;
margin: 0.2rem 0 0.2rem 0;
justify-content: start;
}
[data-type="advanced-tables-toolbar"] .nav-buttons-container::before {
min-width: 2.6rem;
line-height: var(--advanced-tables-helper-size);
font-size: var(--nav-item-size);
font-weight: var(--nav-item-weight);
color: var(--nav-item-color);
}
[data-type="advanced-tables-toolbar"] .nav-buttons-container>* {
height: var(--advanced-tables-helper-size);
line-height: var(--advanced-tables-helper-size);
}
[data-type="advanced-tables-toolbar"] .nav-buttons-container .nav-action-button {
width: var(--advanced-tables-helper-size);
height: var(--advanced-tables-helper-size);
display: flex;
justify-content: center;
align-items: center;
border-radius: var(--radius-s);
}
[data-type="advanced-tables-toolbar"] .nav-buttons-container .nav-action-button:hover {
background-color: var(--nav-item-background-hover);
color: var(--nav-item-color-hover);
font-weight: var(--nav-item-weight-hover);
}
.advanced-tables-row-label {
width: 50px;
} }
.widget-icon { .widget-icon {

View file

@ -410,6 +410,46 @@
"lastUpdated": 1670270345439 "lastUpdated": 1670270345439
} }
} }
},
"energie": {
"energie": {
"currentFile": {
"count": 1,
"lastUpdated": 1670929153960
}
}
},
"Změna vnitřní energie": {
"Změna vnitřní energie": {
"internalLink": {
"count": 1,
"lastUpdated": 1670929277135
}
}
},
"výměna": {
"výměna": {
"currentFile": {
"count": 1,
"lastUpdated": 1670929586664
}
}
},
"\\Delta": {
"\\Delta": {
"currentFile": {
"count": 1,
"lastUpdated": 1670930348796
}
}
},
"mc\\Delta": {
"mc\\Delta": {
"currentFile": {
"count": 1,
"lastUpdated": 1670930689216
}
}
} }
} }
} }

View file

@ -13,7 +13,7 @@
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md", "file": "fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md",
"mode": "source", "mode": "source",
"source": false "source": false
} }
@ -89,7 +89,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md", "file": "fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md",
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@ -106,7 +106,7 @@
"state": { "state": {
"type": "outgoing-link", "type": "outgoing-link",
"state": { "state": {
"file": "fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md", "file": "fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md",
"linksCollapsed": false, "linksCollapsed": false,
"unlinkedCollapsed": true "unlinkedCollapsed": true
} }
@ -153,18 +153,10 @@
"state": { "state": {
"type": "outline", "type": "outline",
"state": { "state": {
"file": "fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md" "file": "fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md"
} }
} }
}, },
{
"id": "478e61537eb995fc",
"type": "leaf",
"state": {
"type": "review-queue-list-view",
"state": {}
}
},
{ {
"id": "6646a36080fd99c0", "id": "6646a36080fd99c0",
"type": "leaf", "type": "leaf",
@ -204,6 +196,14 @@
"type": "graph-analysis", "type": "graph-analysis",
"state": {} "state": {}
} }
},
{
"id": "6781ba7464fb5e5f",
"type": "leaf",
"state": {
"type": "review-queue-list-view",
"state": {}
}
} }
], ],
"currentTab": 12 "currentTab": 12
@ -217,7 +217,7 @@
"lastOpenFiles": [ "lastOpenFiles": [
"fyz/Mechanika tekutin/Mechanika tekutin.md", "fyz/Mechanika tekutin/Mechanika tekutin.md",
"fyz/Mechanika tekutin/Termodynamika/Termodynamická teplota.md", "fyz/Mechanika tekutin/Termodynamika/Termodynamická teplota.md",
"fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md", "fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md",
"cjl/literatura/slohy/Klasicismus/Osvícenství.md", "cjl/literatura/slohy/Klasicismus/Osvícenství.md",
"cjl/literatura/slohy/Klasicismus/Robinson Crusoe.md", "cjl/literatura/slohy/Klasicismus/Robinson Crusoe.md",
"cjl/literatura/slohy/Klasicismus/Tartuffe.md", "cjl/literatura/slohy/Klasicismus/Tartuffe.md",

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View file

@ -6,5 +6,5 @@ $T=273K$ … $t=0\degree C$
%% Zoottelkeeper: Beginning of the autogenerated index file list %% %% Zoottelkeeper: Beginning of the autogenerated index file list %%
- [[fyz/Mechanika tekutin/Termodynamika/Celsiova teplotní stupnice|Celsiova teplotní stupnice]] - [[fyz/Mechanika tekutin/Termodynamika/Celsiova teplotní stupnice|Celsiova teplotní stupnice]]
- [[fyz/Mechanika tekutin/Termodynamika/Termodynamická teplota|Termodynamická teplota]] - [[fyz/Mechanika tekutin/Termodynamika/Termodynamická teplota|Termodynamická teplota]]
- [[fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie|Změna vnitřní energie]] - [[fyz/Mechanika tekutin/Termodynamika/Vnitřní energie|Vnitřní energie]]
%% Zoottelkeeper: End of the autogenerated index file list %% %% Zoottelkeeper: End of the autogenerated index file list %%

View file

@ -0,0 +1,74 @@
# Vnitřní energie
$U$ … vnitřní energie
$[U]=J$
## Složky
1. $E_K$ kinetická energie
2. $E_P$ potencionální (polohová) - částice na sebe působí silami a udržují se v nějaké poloze
## Změna
1. konání práce (tření, stlačení, atd)
2. tepelná výměna
## Zákon o zachování energie
### Mechanická fyzika
$E_K+E_P=konst$
Součet kinetické a potencionální energie zůstává konstantní
### Molekulová fyzika
$E_K+E_P+U=konst$
Některá z typů energie (K/P) se přemění na vnitřní energii.
Příklad: ve squash se míček musí zahřát aby dobře skákal, přeměňuje se kinetická energie na vnitřní, tím že se s ním pinká o zem.
## Tepelná výměna
Srážkami si molekuly vymění teplo - rychlejší částice předá část své energie pomalejší, a tím se dorovnají postupně.
$Q=m*c*\Delta t=m*c*(t_2-t_1)$
$Q=m*c*\Delta T=m*c*(T_2-T_1)$
$c$ … měrná tepelná kapacita
$c=\frac{Q}{m\Delta t}$
$c$ … teplo které je potřeba na ohřátí $1kg$ látky o $1\degree C$
$c_{voda}=4180J*kg^{-1}K^{-1}=4180\frac{J}{kg *K}$
$c_{olovo}=129J*kg^{-1}*K^{-1}$
## Příklady
V Niagárských vodopádech padá voda z výšky 60m. Jak se zvýší její teplota, předpokládáme-li, že se celá kinetická energie padající vody změní ve vnitřní energii?
$E_K+E_P+U=konst$
$E_P\rightarrow E_K\rightarrow\Delta U$
$E_P=\Delta U$
$mgh=mc\Delta t$
$gh=c\Delta t$
$\Delta t=\frac{gh}c$
$\Delta t=\frac{9.8*60}{4180}$
$\Delta t=\frac{588}{4180}$
$\Delta t=0,1406698564593301\degree C$
----
V pračce se ohřívá voda o hmotnosti $30kg$. Jaké teplo přijme, zvýší-li se její teplota z $15\degree C$ na $90\degree C$? A jak dlouho trvá ohřívání, je-li příkon topného tělesa pračky $2.5kW$? Účinnost pračky při ohřívání je $90\%$.
$Q=mc\Delta t$
$\{Q\}=30*4180(90-15)$
${Q}=30*4180*75$
$Q=9405000J=9.4MJ$
$\eta=\frac{\frac{Q}\tau}{P_0}$
$\eta*P_0=\frac{Q}\tau$
$\tau=\frac{Q}{\eta P_0}$
$\{\tau\}=\frac{9.4*10^6}{0.9*2500}$
$\tau=\frac{9.4*10^6}{225*10^1}$
$\tau=4178s$
$\underline{\tau=70min}$
---

View file

@ -1,2 +0,0 @@
# Změna vnitřní energie