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,9 +1,9 @@
{
"id": "better-word-count",
"name": "Better Word Count",
"version": "0.8.1",
"description": "Counts the words of selected text in the editor.",
"author": "Luke Leppan",
"authorUrl": "https://lukeleppan.com",
"isDesktopOnly": false
}
{
"id": "better-word-count",
"name": "Better Word Count",
"version": "0.9.1",
"description": "Counts the words of selected text in the editor.",
"author": "Luke Leppan",
"authorUrl": "https://lukeleppan.com",
"isDesktopOnly": false
}

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",
"name": "Emoji Shortcodes",
"version": "2.1.3",
"minAppVersion": "0.12.17",
"version": "2.2.0",
"minAppVersion": "1.0.0",
"description": "This Plugin enables the use of Markdown Emoji Shortcodes :smile:",
"author": "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;
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": "/",
"date": "2022-12-13",
"size": 935025
"size": 937066
}
],
"activityHistory": [
@ -970,7 +970,7 @@
},
{
"date": "2022-12-13",
"value": 278
"value": 2331
}
]
}

View file

@ -6,6 +6,8 @@
"compress": false,
"autosave": true,
"autosaveInterval": 15000,
"autosaveIntervalDesktop": 15000,
"autosaveIntervalMobile": 10000,
"drawingFilenamePrefix": "Drawing ",
"drawingEmbedPrefixWithFilename": true,
"drawingFilnameEmbedPostfix": " ",
@ -21,6 +23,7 @@
"matchThemeTrigger": false,
"defaultMode": "normal",
"defaultPenMode": "never",
"zoomToFitOnOpen": true,
"zoomToFitOnResize": true,
"zoomToFitMaxLevel": 2,
"linkPrefix": "📍",
@ -75,7 +78,7 @@
"mdCSS": "",
"scriptEngineSettings": {},
"defaultTrayMode": false,
"previousRelease": "1.8.0",
"previousRelease": "1.8.4",
"showReleaseNotes": true,
"showNewVersionNotification": true,
"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",
"name": "Excalidraw",
"version": "1.8.0",
"minAppVersion": "0.15.6",
"version": "1.8.4",
"minAppVersion": "0.16.0",
"description": "An Obsidian plugin to edit and view Excalidraw drawings",
"author": "Zsolt Viczian",
"authorUrl": "https://zsolt.blog",

View file

@ -1,291 +1,291 @@
.App {
font-family: sans-serif;
text-align: center;
}
.excalidraw-wrapper {
height: 100%;
margin: 0px;
background-color: white;
}
.context-menu-option__shortcut {
background-color: transparent !important;
}
.block-language-excalidraw {
text-align:center;
}
.excalidraw .github-corner {
display: none;
}
img.excalidraw-svg-right-wrap {
float: right;
margin: 0px 0px 20px 20px;
}
img.excalidraw-svg-left-wrap {
float: left;
margin: 0px 35px 20px 0px;
}
img.excalidraw-svg-right {
float: right;
}
.excalidraw-svg-center {
text-align: center;
}
img.excalidraw-svg-left {
float: left;
}
div.excalidraw-svg-right,
div.excalidraw-svg-left {
display: table;
width: 100%;
}
button.ToolIcon_type_button[title="Export"] {
display:none;
}
.excalidraw-prompt-div {
display: flex;
max-width: 800px;
}
.excalidraw-prompt-form {
display: flex;
flex-grow: 1;
}
.excalidraw-prompt-input {
flex-grow: 1;
}
li[data-testid] {
border: 0 !important;
margin: 0 !important;
padding: 0 !important;
width: 100% !important;
}
.excalidraw .context-menu-option-separator {
margin: 4px !important;
}
.excalidraw .popover {
padding: 0 !important;
border-color: transparent !important;
border: 0 !important;
box-shadow: 0 !important;
background-color: transparent !important;
}
.disable-zen-mode--visible {
color: var(--text-primary-color);
}
.disable-zen-mode {
width: 9em !important;
}
.ex-coffee-div {
text-align: center;
margin-bottom: 10px;
}
.excalidraw-scriptengine-install td>img {
width: 100%;
max-width:800px;
}
.excalidraw-scriptengine-install img.coffee {
width: 130px;
}
.excalidraw-scriptengine-install tr {
vertical-align: top;
}
.excalidraw-scriptengine-install table {
max-width: 130ch;
}
.excalidraw-scriptengine-install td.label {
min-width: 11ch;
font-weight: bold;
padding-right: 5px;
}
.excalidraw-scriptengine-install td.data {
width: 100%;
}
.excalidraw-scriptengine-install .modal-content {
max-width: 130ch;
user-select: text;
}
.excalidraw-scriptengine-install .modal {
max-height:90%;
width: auto;
}
.excalidraw-prompt-center {
text-align: center !important;
}
.excalidraw-prompt-center button {
margin: 0 10px;
}
.excalidraw-prompt-center.filepath {
text-align: center;
font-weight: bold;
margin-bottom: 2em;
}
.excalidraw-dirty {
color: red;
}
.workspace-leaf-content .excalidraw-view {
padding: 0px 1px; /*1px so on ipad swipe in from left and right still works*/
}
.excalidraw-videoWrapper {
max-width:600px
}
.excalidraw-videoWrapper div {
position: relative;
padding-bottom: 56.25%;
height: 0;
margin: 0 auto;
}
.excalidraw-videoWrapper iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.excalidraw-release .modal-content{
padding-right: 5px;
margin-right: -5px;
user-select: text;
}
.excalidraw-release .modal {
max-height: 80%;
max-width: 100ch;
}
.excalidraw .Island .scrollbar {
--scrollbar-thumb-bg: silver;
}
.excalidraw .ToolIcon__icon img{
height: 1em;
}
.excalidraw-scriptengine-install tbody>tr>td>div>img {
height:20px;
background-color: silver;
padding: 2px;
}
.excalidraw-scriptengine-install tbody>tr>td>div {
width: 50px;
display: inline-block;
}
.excalidraw-release p>a>img {
width: 100%
}
.excalidraw .context-menu-option {
box-shadow: none;
}
textarea.excalidraw-wysiwyg {
border: none;
outline: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
border-radius: 0;
}
.is-tablet .excalidraw button,
.is-mobile .excalidraw button {
padding: initial;
height: 1.8rem;
}
.excalidraw button,
.ToolIcon button {
box-shadow: none;
justify-content: initial;
}
.excalidraw {
--default-button-size: 2rem !important;
--default-icon-size: 1rem !important;
--lg-button-size: 1.8rem !important;
--lg-icon-size: 1rem !important;
}
.excalidraw .tray-zoom {
pointer-events: initial;
padding-bottom: 0.05rem;
padding-top: 0.05rem;
}
.excalidraw-container.theme--dark {
background-color: #121212;
color: #fff;
}
/* https://discordapp.com/channels/686053708261228577/989603365606531104/1041266507256184863 */
/*.workspace-leaf {
contain: none !important;
}*/
.color-picker-content {
overflow-y: auto;
max-height: 10rem;
}
.excalidraw .FixedSideContainer_side_top {
top: 0.3rem;
}
.excalidraw .ToolIcon__keybinding {
font-size: 0.45rem !important;
}
.Island > .Stack > .Stack {
padding:0.2rem;
}
label.color-input-container > input {
max-width: 8rem;
}
.excalidraw .FixedSideContainer_side_top {
left: 10px !important;
top: 10px !important;
right: 10px !important;
bottom: 10px !important;
}
.excalidraw-hidden {
display: none !important;
.App {
font-family: sans-serif;
text-align: center;
}
.excalidraw-wrapper {
height: 100%;
margin: 0px;
background-color: white;
}
.context-menu-option__shortcut {
background-color: transparent !important;
}
.block-language-excalidraw {
text-align:center;
}
.excalidraw .github-corner {
display: none;
}
img.excalidraw-svg-right-wrap {
float: right;
margin: 0px 0px 20px 20px;
}
img.excalidraw-svg-left-wrap {
float: left;
margin: 0px 35px 20px 0px;
}
img.excalidraw-svg-right {
float: right;
}
.excalidraw-svg-center {
text-align: center;
}
img.excalidraw-svg-left {
float: left;
}
div.excalidraw-svg-right,
div.excalidraw-svg-left {
display: table;
width: 100%;
}
button.ToolIcon_type_button[title="Export"] {
display:none;
}
.excalidraw-prompt-div {
display: flex;
max-width: 800px;
}
.excalidraw-prompt-form {
display: flex;
flex-grow: 1;
}
.excalidraw-prompt-input {
flex-grow: 1;
}
li[data-testid] {
border: 0 !important;
margin: 0 !important;
padding: 0 !important;
width: 100% !important;
}
.excalidraw .context-menu-option-separator {
margin: 4px !important;
}
.excalidraw .popover {
padding: 0 !important;
border-color: transparent !important;
border: 0 !important;
box-shadow: 0 !important;
background-color: transparent !important;
}
.disable-zen-mode--visible {
color: var(--text-primary-color);
}
.disable-zen-mode {
width: 9em !important;
}
.ex-coffee-div {
text-align: center;
margin-bottom: 10px;
}
.excalidraw-scriptengine-install td>img {
width: 100%;
max-width:800px;
}
.excalidraw-scriptengine-install img.coffee {
width: 130px;
}
.excalidraw-scriptengine-install tr {
vertical-align: top;
}
.excalidraw-scriptengine-install table {
max-width: 130ch;
}
.excalidraw-scriptengine-install td.label {
min-width: 11ch;
font-weight: bold;
padding-right: 5px;
}
.excalidraw-scriptengine-install td.data {
width: 100%;
}
.excalidraw-scriptengine-install .modal-content {
max-width: 130ch;
user-select: text;
}
.excalidraw-scriptengine-install .modal {
max-height:90%;
width: auto;
}
.excalidraw-prompt-center {
text-align: center !important;
}
.excalidraw-prompt-center button {
margin: 0 10px;
}
.excalidraw-prompt-center.filepath {
text-align: center;
font-weight: bold;
margin-bottom: 2em;
}
.excalidraw-dirty {
color: red;
}
.workspace-leaf-content .excalidraw-view {
padding: 0px 1px; /*1px so on ipad swipe in from left and right still works*/
}
.excalidraw-videoWrapper {
max-width:600px
}
.excalidraw-videoWrapper div {
position: relative;
padding-bottom: 56.25%;
height: 0;
margin: 0 auto;
}
.excalidraw-videoWrapper iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.excalidraw-release .modal-content{
padding-right: 5px;
margin-right: -5px;
user-select: text;
}
.excalidraw-release .modal {
max-height: 80%;
max-width: 100ch;
}
.excalidraw .Island .scrollbar {
--scrollbar-thumb-bg: silver;
}
.excalidraw .ToolIcon__icon img{
height: 1em;
}
.excalidraw-scriptengine-install tbody>tr>td>div>img {
height:20px;
background-color: silver;
padding: 2px;
}
.excalidraw-scriptengine-install tbody>tr>td>div {
width: 50px;
display: inline-block;
}
.excalidraw-release p>a>img {
width: 100%
}
.excalidraw .context-menu-option {
box-shadow: none;
}
textarea.excalidraw-wysiwyg {
border: none;
outline: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
border-radius: 0;
}
.is-tablet .excalidraw button,
.is-mobile .excalidraw button {
padding: initial;
height: 1.8rem;
}
.excalidraw button,
.ToolIcon button {
box-shadow: none;
justify-content: initial;
}
.excalidraw {
--default-button-size: 2rem !important;
--default-icon-size: 1rem !important;
--lg-button-size: 1.8rem !important;
--lg-icon-size: 1rem !important;
}
.excalidraw .tray-zoom {
pointer-events: initial;
padding-bottom: 0.05rem;
padding-top: 0.05rem;
}
.excalidraw-container.theme--dark {
background-color: #121212;
color: #fff;
}
/* https://discordapp.com/channels/686053708261228577/989603365606531104/1041266507256184863 */
/*.workspace-leaf {
contain: none !important;
}*/
.color-picker-content {
overflow-y: auto;
max-height: 10rem;
}
.excalidraw .FixedSideContainer_side_top {
top: 0.3rem;
}
.excalidraw .ToolIcon__keybinding {
font-size: 0.45rem !important;
}
.Island > .Stack > .Stack {
padding:0.2rem;
}
label.color-input-container > input {
max-width: 8rem;
}
.excalidraw .FixedSideContainer_side_top {
left: 10px !important;
top: 10px !important;
right: 10px !important;
bottom: 10px !important;
}
.excalidraw-hidden {
display: none !important;
}

View file

@ -19876,7 +19876,7 @@ var IsomorphicGit = class extends GitManager {
const upstreamCommit = await this.resolveRef("HEAD");
this.plugin.lastUpdate = Date.now();
const changedFiles = await this.getFileChangesCount(localCommit, upstreamCommit);
new import_obsidian5.Notice("Finished pull");
this.showNotice("Finished pull", false);
return changedFiles.map((file) => ({
path: file.path,
working_dir: "P",
@ -20245,6 +20245,13 @@ var IsomorphicGit = class extends GitManager {
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) {
const status2 = this.status_mapping[`${row[this.HEAD]}${row[this.WORKDIR]}${row[this.STAGE]}`];
return {
@ -20254,9 +20261,9 @@ var IsomorphicGit = class extends GitManager {
vault_path: this.getVaultPath(row[this.FILE])
};
}
showNotice(message) {
showNotice(message, infinity = true) {
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];
}
function isConfigSwitch(arg) {
return arg.trim().toLowerCase() === "-c";
return typeof arg === "string" && arg.trim().toLowerCase() === "-c";
}
function preventProtocolOverride(arg, next) {
if (!isConfigSwitch(arg)) {
@ -24441,6 +24448,12 @@ var SimpleGit = class extends GitManager {
async diff(file, commit1, commit2) {
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() {
const command = (0, import_child_process2.spawnSync)(this.plugin.localStorage.getGitPath() || "git", ["--version"], {
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.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) => {
plugin.settings.autoBackupAfterFileChange = value;
plugin.saveSettings();
plugin.clearAutoBackup();
if (plugin.settings.autoSaveInterval > 0) {
plugin.startAutoBackup(plugin.settings.autoSaveInterval);
}
}));
if (!plugin.settings.setLastSaveToLastCommit)
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.settings.autoBackupAfterFileChange = value;
this.display();
plugin.saveSettings();
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) {
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))) {
@ -24551,10 +24574,6 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab {
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) => {
plugin.settings.customMessageOnAutoBackup = value;
plugin.saveSettings();
@ -24565,6 +24584,10 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab {
}));
containerEl.createEl("br");
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) => {
plugin.settings.commitDateFormat = value;
await plugin.saveSettings();
@ -24951,7 +24974,8 @@ var DEFAULT_SETTINGS = {
changedFilesInStatusBar: false,
showedMobileNotice: false,
refreshSourceControlTimer: 7e3,
showBranchStatusBar: true
showBranchStatusBar: true,
setLastSaveToLastCommit: false
};
var GIT_VIEW_CONFIG = {
type: "git-view",
@ -26657,6 +26681,13 @@ var DiffView = class extends import_obsidian13.ItemView {
return DIFF_VIEW_CONFIG.type;
}
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;
}
getIcon() {
@ -27118,7 +27149,8 @@ function transition_out(block, local, detach2, callback) {
}
var null_transition = { duration: 0 };
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 running_program = null;
let pending_program = null;
@ -27198,7 +27230,7 @@ function create_bidirectional_transition(node, fn, params, intro) {
run(b) {
if (is_function(config)) {
wait().then(() => {
config = config();
config = config(options);
go(b);
});
} else {
@ -28938,17 +28970,17 @@ function add_css5(target) {
}
function get_each_context2(ctx, list, i) {
const child_ctx = ctx.slice();
child_ctx[43] = list[i];
child_ctx[45] = list[i];
return child_ctx;
}
function get_each_context_1(ctx, list, i) {
const child_ctx = ctx.slice();
child_ctx[43] = list[i];
child_ctx[45] = list[i];
return child_ctx;
}
function get_each_context_2(ctx, list, i) {
const child_ctx = ctx.slice();
child_ctx[48] = list[i];
child_ctx[50] = list[i];
return child_ctx;
}
function create_if_block_8(ctx) {
@ -28965,7 +28997,7 @@ function create_if_block_8(ctx) {
m(target, anchor) {
insert(target, div, anchor);
if (!mounted) {
dispose = listen(div, "click", ctx[31]);
dispose = listen(div, "click", ctx[33]);
mounted = true;
}
},
@ -29106,7 +29138,7 @@ function create_if_block4(ctx) {
append2(div6, div5);
append2(div5, div3);
append2(div3, div2);
ctx[34](div2);
ctx[36](div2);
append2(div5, t3);
append2(div5, div4);
append2(div4, t4);
@ -29125,7 +29157,7 @@ function create_if_block4(ctx) {
append2(div12, div10);
append2(div12, t10);
append2(div12, div11);
ctx[39](div11);
ctx[41](div11);
append2(div14, t11);
append2(div14, div13);
append2(div13, t12);
@ -29138,15 +29170,15 @@ function create_if_block4(ctx) {
current = true;
if (!mounted) {
dispose = [
listen(div0, "click", ctx[32]),
listen(div1, "click", ctx[33]),
listen(div2, "click", ctx[18]),
listen(div6, "click", self2(ctx[35])),
listen(div8, "click", ctx[36]),
listen(div9, "click", ctx[37]),
listen(div10, "click", ctx[38]),
listen(div11, "click", ctx[17]),
listen(div15, "click", self2(ctx[40]))
listen(div0, "click", ctx[34]),
listen(div1, "click", ctx[35]),
listen(div2, "click", ctx[19]),
listen(div6, "click", self2(ctx[37])),
listen(div8, "click", ctx[38]),
listen(div9, "click", ctx[39]),
listen(div10, "click", ctx[40]),
listen(div11, "click", ctx[18]),
listen(div15, "click", self2(ctx[42]))
];
mounted = true;
}
@ -29237,10 +29269,10 @@ function create_if_block4(ctx) {
d(detaching) {
if (detaching)
detach(div18);
ctx[34](null);
ctx[36](null);
if (if_block0)
if_block0.d();
ctx[39](null);
ctx[41](null);
if (if_block1)
if_block1.d();
if (if_block2)
@ -29449,7 +29481,7 @@ function create_each_block_2(ctx) {
let current;
stagedfilecomponent = new stagedFileComponent_default({
props: {
change: ctx[48],
change: ctx[50],
view: ctx[1],
manager: ctx[0].gitManager
}
@ -29465,7 +29497,7 @@ function create_each_block_2(ctx) {
p(ctx2, dirty) {
const stagedfilecomponent_changes = {};
if (dirty[0] & 64)
stagedfilecomponent_changes.change = ctx2[48];
stagedfilecomponent_changes.change = ctx2[50];
if (dirty[0] & 2)
stagedfilecomponent_changes.view = ctx2[1];
if (dirty[0] & 1)
@ -29686,7 +29718,7 @@ function create_each_block_1(ctx) {
let current;
filecomponent = new fileComponent_default({
props: {
change: ctx[43],
change: ctx[45],
view: ctx[1],
manager: ctx[0].gitManager
}
@ -29703,7 +29735,7 @@ function create_each_block_1(ctx) {
p(ctx2, dirty) {
const filecomponent_changes = {};
if (dirty[0] & 64)
filecomponent_changes.change = ctx2[43];
filecomponent_changes.change = ctx2[45];
if (dirty[0] & 2)
filecomponent_changes.view = ctx2[1];
if (dirty[0] & 1)
@ -29776,7 +29808,7 @@ function create_if_block_12(ctx) {
if_block.m(div3, null);
current = true;
if (!mounted) {
dispose = listen(div2, "click", ctx[41]);
dispose = listen(div2, "click", ctx[43]);
mounted = true;
}
},
@ -30025,7 +30057,7 @@ function create_each_block2(ctx) {
let current;
pulledfilecomponent = new pulledFileComponent_default({
props: {
change: ctx[43],
change: ctx[45],
view: ctx[1]
}
});
@ -30041,7 +30073,7 @@ function create_each_block2(ctx) {
p(ctx2, dirty) {
const pulledfilecomponent_changes = {};
if (dirty[0] & 128)
pulledfilecomponent_changes.change = ctx2[43];
pulledfilecomponent_changes.change = ctx2[45];
if (dirty[0] & 2)
pulledfilecomponent_changes.view = ctx2[1];
pulledfilecomponent.$set(pulledfilecomponent_changes);
@ -30063,8 +30095,8 @@ function create_each_block2(ctx) {
}
function create_fragment5(ctx) {
let main;
let div9;
let div8;
let div7;
let div0;
let t0;
let div1;
@ -30079,11 +30111,13 @@ function create_fragment5(ctx) {
let t5;
let div6;
let t6;
let div9;
let textarea;
let div7;
let t7;
let t8;
let div10;
let textarea;
let t8;
let t9;
let div11;
let current;
let mounted;
let dispose;
@ -30092,8 +30126,8 @@ function create_fragment5(ctx) {
return {
c() {
main = element("main");
div9 = element("div");
div8 = element("div");
div7 = element("div");
div0 = element("div");
t0 = space();
div1 = element("div");
@ -30108,109 +30142,119 @@ function create_fragment5(ctx) {
t5 = space();
div6 = element("div");
t6 = space();
div9 = element("div");
textarea = element("textarea");
div7 = element("div");
t7 = space();
div10 = element("div");
textarea = element("textarea");
t8 = space();
if (if_block0)
if_block0.c();
t8 = space();
div10 = element("div");
t9 = space();
div11 = element("div");
if (if_block1)
if_block1.c();
attr(div0, "id", "commit-btn");
attr(div0, "data-icon", "check");
attr(div0, "id", "backup-btn");
attr(div0, "data-icon", "arrow-up-circle");
attr(div0, "class", "clickable-icon nav-action-button");
attr(div0, "aria-label", "Commit");
attr(div1, "id", "stage-all");
attr(div0, "aria-label", "Backup");
attr(div1, "id", "commit-btn");
attr(div1, "data-icon", "check");
attr(div1, "class", "clickable-icon nav-action-button");
attr(div1, "data-icon", "plus-circle");
attr(div1, "aria-label", "Stage all");
attr(div2, "id", "unstage-all");
attr(div1, "aria-label", "Commit");
attr(div2, "id", "stage-all");
attr(div2, "class", "clickable-icon nav-action-button");
attr(div2, "data-icon", "minus-circle");
attr(div2, "aria-label", "Unstage all");
attr(div3, "id", "push");
attr(div2, "data-icon", "plus-circle");
attr(div2, "aria-label", "Stage all");
attr(div3, "id", "unstage-all");
attr(div3, "class", "clickable-icon nav-action-button");
attr(div3, "data-icon", "upload");
attr(div3, "aria-label", "Push");
attr(div4, "id", "pull");
attr(div3, "data-icon", "minus-circle");
attr(div3, "aria-label", "Unstage all");
attr(div4, "id", "push");
attr(div4, "class", "clickable-icon nav-action-button");
attr(div4, "data-icon", "download");
attr(div4, "aria-label", "Pull");
attr(div5, "id", "layoutChange");
attr(div4, "data-icon", "upload");
attr(div4, "aria-label", "Push");
attr(div5, "id", "pull");
attr(div5, "class", "clickable-icon nav-action-button");
attr(div5, "aria-label", "Change Layout");
attr(div6, "id", "refresh");
attr(div5, "data-icon", "download");
attr(div5, "aria-label", "Pull");
attr(div6, "id", "layoutChange");
attr(div6, "class", "clickable-icon nav-action-button");
attr(div6, "data-icon", "refresh-cw");
attr(div6, "aria-label", "Refresh");
set_style(div6, "margin", "1px");
toggle_class(div6, "loading", ctx[5]);
attr(div7, "class", "nav-buttons-container");
attr(div8, "class", "nav-header");
attr(div6, "aria-label", "Change Layout");
attr(div7, "id", "refresh");
attr(div7, "class", "clickable-icon nav-action-button");
attr(div7, "data-icon", "refresh-cw");
attr(div7, "aria-label", "Refresh");
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, "class", "commit-msg-input svelte-fnxzfa");
attr(textarea, "type", "text");
attr(textarea, "spellcheck", "true");
attr(textarea, "placeholder", "Commit Message");
attr(div9, "class", "git-commit-msg svelte-fnxzfa");
attr(div10, "class", "nav-files-container");
set_style(div10, "position", "relative");
attr(div10, "class", "git-commit-msg svelte-fnxzfa");
attr(div11, "class", "nav-files-container");
set_style(div11, "position", "relative");
attr(main, "class", "svelte-fnxzfa");
},
m(target, 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(div9, textarea);
set_input_value(textarea, ctx[2]);
append2(div9, t7);
if (if_block0)
if_block0.m(div9, null);
append2(main, t8);
append2(div9, div8);
append2(div8, div0);
ctx[23](div0);
append2(div8, t0);
append2(div8, div1);
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(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_block1.m(div10, null);
if_block1.m(div11, null);
current = true;
if (!mounted) {
dispose = [
listen(div0, "click", ctx[16]),
listen(div1, "click", ctx[17]),
listen(div0, "click", ctx[17]),
listen(div1, "click", ctx[16]),
listen(div2, "click", ctx[18]),
listen(div3, "click", ctx[19]),
listen(div4, "click", ctx[20]),
listen(div5, "click", ctx[28]),
listen(div6, "click", triggerRefresh),
listen(textarea, "input", ctx[30])
listen(div5, "click", ctx[21]),
listen(div6, "click", ctx[30]),
listen(div7, "click", triggerRefresh),
listen(textarea, "input", ctx[32])
];
mounted = true;
}
},
p(ctx2, dirty) {
if (!current || dirty[0] & 32) {
toggle_class(div6, "loading", ctx2[5]);
toggle_class(div7, "loading", ctx2[5]);
}
if (!current || dirty[0] & 32768) {
attr(textarea, "rows", ctx2[15]);
@ -30224,7 +30268,7 @@ function create_fragment5(ctx) {
} else {
if_block0 = create_if_block_8(ctx2);
if_block0.c();
if_block0.m(div9, null);
if_block0.m(div10, null);
}
} else if (if_block0) {
if_block0.d(1);
@ -30240,7 +30284,7 @@ function create_fragment5(ctx) {
if_block1 = create_if_block4(ctx2);
if_block1.c();
transition_in(if_block1, 1);
if_block1.m(div10, null);
if_block1.m(div11, null);
}
} else if (if_block1) {
group_outros();
@ -30263,13 +30307,14 @@ function create_fragment5(ctx) {
d(detaching) {
if (detaching)
detach(main);
ctx[22](null);
ctx[23](null);
ctx[24](null);
ctx[25](null);
ctx[26](null);
ctx[27](null);
ctx[28](null);
ctx[29](null);
ctx[31](null);
if (if_block0)
if_block0.d();
if (if_block1)
@ -30320,6 +30365,17 @@ function instance5($$self, $$props, $$invalidate) {
if (commitMessage !== plugin.settings.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);
}
}
@ -30396,35 +30452,41 @@ function instance5($$self, $$props, $$invalidate) {
}
function div0_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => {
buttons[0] = $$value;
buttons[5] = $$value;
$$invalidate(8, buttons);
});
}
function div1_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => {
buttons[1] = $$value;
buttons[0] = $$value;
$$invalidate(8, buttons);
});
}
function div2_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => {
buttons[2] = $$value;
buttons[1] = $$value;
$$invalidate(8, buttons);
});
}
function div3_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => {
buttons[3] = $$value;
buttons[2] = $$value;
$$invalidate(8, buttons);
});
}
function div4_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => {
buttons[4] = $$value;
buttons[3] = $$value;
$$invalidate(8, buttons);
});
}
function div5_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => {
buttons[4] = $$value;
$$invalidate(8, buttons);
});
}
function div6_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => {
layoutBtn = $$value;
$$invalidate(4, layoutBtn);
@ -30435,7 +30497,7 @@ function instance5($$self, $$props, $$invalidate) {
$$invalidate(0, plugin.settings.treeStructure = showTree, plugin);
plugin.saveSettings();
};
function div6_binding($$value) {
function div7_binding($$value) {
binding_callbacks[$$value ? "unshift" : "push"](() => {
buttons[6] = $$value;
$$invalidate(8, buttons);
@ -30504,6 +30566,7 @@ function instance5($$self, $$props, $$invalidate) {
lastPulledFilesOpen,
rows,
commit2,
backup,
stageAll,
unstageAll,
push2,
@ -30515,8 +30578,9 @@ function instance5($$self, $$props, $$invalidate) {
div3_binding,
div4_binding,
div5_binding,
click_handler,
div6_binding,
click_handler,
div7_binding,
textarea_input_handler,
click_handler_1,
click_handler_2,
@ -30697,7 +30761,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
active: true,
state: {
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({
id: "commit",
name: "Commit all changes",
callback: () => this.promiseQueue.addTask(() => this.commit(false))
callback: () => this.promiseQueue.addTask(() => this.commit({ fromAutoBackup: false }))
});
this.addCommand({
id: "commit-specified-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({
id: "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({
id: "commit-staged-specified-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({
id: "push2",
@ -31057,22 +31132,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
if (this.settings.autoPullOnBoot) {
this.promiseQueue.addTask(() => this.pullChangesFromRemote());
}
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);
}
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);
}
this.setUpAutos();
break;
default:
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())
return;
const filesUpdated = await this.pull();
this.setUpAutoBackup();
if (!filesUpdated) {
this.displayMessage("Everything is up-to-date");
}
if (this.gitManager instanceof SimpleGit) {
const status2 = await this.gitManager.status();
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);
}
}
@ -31158,13 +31219,13 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
this.lastUpdate = Date.now();
this.setState(PluginState.idle);
}
async createBackup(fromAutoBackup, requestCustomMessage = false) {
async createBackup(fromAutoBackup, requestCustomMessage = false, commitMessage) {
if (!await this.isAllInitialized())
return;
if (this.settings.syncMethod == "reset" && this.settings.pullBeforePush) {
await this.pull();
}
if (!await this.commit(fromAutoBackup, requestCustomMessage))
if (!await this.commit({ fromAutoBackup, requestCustomMessage, commitMessage }))
return;
if (!this.settings.disablePush) {
if (await this.gitManager.canPush()) {
@ -31178,7 +31239,12 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
}
this.setState(PluginState.idle);
}
async commit(fromAutoBackup, requestCustomMessage = false, onlyStaged = false) {
async commit({
fromAutoBackup,
requestCustomMessage = false,
onlyStaged = false,
commitMessage
}) {
if (!await this.isAllInitialized())
return false;
const hadConflict = this.localStorage.getConflict() === "true";
@ -31191,14 +31257,14 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
await this.app.vault.delete(file);
status2 = await this.updateCachedStatus();
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);
return false;
}
changedFiles = [...status2.changed, ...status2.staged];
} else if (fromAutoBackup && hadConflict) {
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;
} else if (hadConflict) {
const file = this.app.vault.getAbstractFileByPath(this.conflictOutputFile);
@ -31219,14 +31285,14 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
return false;
}
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 (!this.settings.disablePopups && fromAutoBackup) {
new import_obsidian23.Notice("Auto backup: Please enter a custom commit message. Leave empty to abort");
}
const tempMessage = await new CustomMessageModal(this, true).open();
if (tempMessage != void 0 && tempMessage != "" && tempMessage != "...") {
commitMessage = tempMessage;
cmtMessage = tempMessage;
} else {
this.setState(PluginState.idle);
return false;
@ -31234,16 +31300,17 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
}
let committedFiles;
if (onlyStaged) {
committedFiles = await this.gitManager.commit(commitMessage);
committedFiles = await this.gitManager.commit(cmtMessage);
} else {
committedFiles = await this.gitManager.commitAll({ message: commitMessage, status: status2, unstagedFiles });
committedFiles = await this.gitManager.commitAll({ message: cmtMessage, status: status2, unstagedFiles });
}
let roughly = false;
if (committedFiles === void 0) {
roughly = true;
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 {
this.displayMessage("No changes to commit");
}
@ -31285,11 +31352,11 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
await this.app.vault.delete(file);
let status2;
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);
return false;
} 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);
return false;
}
@ -31299,7 +31366,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
console.log("Pushed!", pushedFiles);
this.lastUpdate = Date.now();
if (pushedFiles > 0) {
this.displayMessage(`Pushed ${pushedFiles} ${pushedFiles > 1 ? "files" : "file"} to remote`);
this.displayMessage(`Pushed ${pushedFiles} ${pushedFiles == 1 ? "file" : "files"} to remote`);
} else {
this.displayMessage(`No changes to push`);
}
@ -31315,7 +31382,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
const pulledFiles = await this.gitManager.pull() || [];
this.offlineMode = false;
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;
}
return pulledFiles.length != 0;
@ -31401,6 +31468,42 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
}
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) {
const time = (minutes != null ? minutes : this.settings.autoSaveInterval) * 6e4;
if (this.settings.autoBackupAfterFileChange) {
@ -31417,7 +31520,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
doAutoBackup() {
this.promiseQueue.addTask(() => {
if (this.settings.differentIntervalCommitAndPush) {
return this.commit(true);
return this.commit({ fromAutoBackup: true });
} else {
return this.createBackup(true);
}
@ -31480,7 +31583,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin {
let lines;
if (conflicted !== void 0) {
lines = [
"# Conflict files",
"# Conflicts",
"Please resolve them and commit per command (This file will be deleted before the commit).",
...conflicted.map((e) => {
const file = this.app.vault.getAbstractFileByPath(e);

View file

@ -3,6 +3,7 @@
"name": "Obsidian Git",
"description": "Backup your vault with Git.",
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/vinzent",
"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,10 +1,10 @@
{
"id": "obsidian-icon-folder",
"name": "Icon Folder",
"version": "1.4.1",
"minAppVersion": "0.9.12",
"description": "This plugin allows to add an emoji or an icon to a folder or file.",
"author": "Florian Woelki",
"authorUrl": "https://florianwoelki.com/",
"isDesktopOnly": false
}
{
"id": "obsidian-icon-folder",
"name": "Icon Folder",
"version": "1.4.3",
"minAppVersion": "0.9.12",
"description": "This plugin allows to add an emoji or an icon to a folder or file.",
"author": "Florian Woelki",
"authorUrl": "https://florianwoelki.com/",
"isDesktopOnly": false
}

View file

@ -1,91 +1,91 @@
.obsidian-icon-folder-icon {
border: 1px solid transparent;
margin: 0px 4px 0px 0px;
display: flex;
align-self: center;
margin: auto 0;
}
.nav-folder-title,
.nav-file-title {
align-items: center;
}
.obsidian-icon-folder-setting .setting-item-control .dropdown {
margin-right: 12px;
}
.obsidian-icon-folder-setting input[type='color'] {
margin: 0 6px;
}
.obsidian-icon-folder-modal.prompt-results {
margin: 0;
overflow-y: auto;
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.prompt .obsidian-icon-folder-subheadline {
margin-top: 12px;
font-size: 12px;
color: gray;
grid-column-start: 1;
grid-column-end: 6;
}
@media (max-width: 640px) {
.obsidian-icon-folder-modal.prompt-results {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.prompt .obsidian-icon-folder-subheadline {
grid-column-end: 4;
}
}
.obsidian-icon-folder-modal.prompt-results .suggestion-item {
cursor: pointer;
white-space: pre-wrap;
display: flex;
justify-content: flex-end;
align-items: center;
flex-direction: column-reverse;
text-align: center;
font-size: 13px;
color: gray;
padding: 16px 8px;
line-break: auto;
word-break: break-word;
line-height: 1.3;
}
.obsidian-icon-folder-modal.prompt-results .suggestion-item.suggestion-item__center {
justify-content: center;
}
.obsidian-icon-folder-icon-preview img {
width: 16px;
height: 16px;
}
.obsidian-icon-folder-icon-preview svg {
width: 24px;
height: 24px;
color: currentColor;
margin-bottom: 4px;
}
.obsidian-icon-folder-dragover {
position: relative;
}
.obsidian-icon-folder-dragover-el {
position: absolute;
width: 100%;
height: 100%;
color: var(--text-normal);
background-color: var(--background-secondary-alt);
display: flex;
align-items: center;
justify-content: center;
}
.obsidian-icon-folder-icon {
border: 1px solid transparent;
margin: 0px 4px 0px 0px;
display: flex;
align-self: center;
margin: auto 0;
}
.nav-folder-title,
.nav-file-title {
align-items: center;
}
.obsidian-icon-folder-setting .setting-item-control .dropdown {
margin-right: 12px;
}
.obsidian-icon-folder-setting input[type='color'] {
margin: 0 6px;
}
.obsidian-icon-folder-modal.prompt-results {
margin: 0;
overflow-y: auto;
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.prompt .obsidian-icon-folder-subheadline {
margin-top: 12px;
font-size: 12px;
color: gray;
grid-column-start: 1;
grid-column-end: 6;
}
@media (max-width: 640px) {
.obsidian-icon-folder-modal.prompt-results {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.prompt .obsidian-icon-folder-subheadline {
grid-column-end: 4;
}
}
.obsidian-icon-folder-modal.prompt-results .suggestion-item {
cursor: pointer;
white-space: pre-wrap;
display: flex;
justify-content: flex-end;
align-items: center;
flex-direction: column-reverse;
text-align: center;
font-size: 13px;
color: gray;
padding: 16px 8px;
line-break: auto;
word-break: break-word;
line-height: 1.3;
}
.obsidian-icon-folder-modal.prompt-results .suggestion-item.suggestion-item__center {
justify-content: center;
}
.obsidian-icon-folder-icon-preview img {
width: 16px;
height: 16px;
}
.obsidian-icon-folder-icon-preview svg {
width: 24px;
height: 24px;
color: currentColor;
margin-bottom: 4px;
}
.obsidian-icon-folder-dragover {
position: relative;
}
.obsidian-icon-folder-dragover-el {
position: absolute;
width: 100%;
height: 100%;
color: var(--text-normal);
background-color: var(--background-secondary-alt);
display: flex;
align-items: center;
justify-content: center;
}

View file

@ -6,6 +6,7 @@
"linterLocale": "system-default",
"logLevel": 4,
"lintCommands": [],
"customRegexes": [],
"commonStyles": {
"aliasArrayStyle": "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",
"name": "Linter",
"version": "1.7.1",
"version": "1.9.1",
"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.",
"author": "Victor Tao",

View file

@ -128,17 +128,16 @@
/** Hide linter element css
* Based on https://zellwk.com/blog/hide-content-accessibly/
*/
.linter-navigation-item:not(.linter-navigation-item-selected) > span:nth-child(2),
.linter-visually-hidden {
border: 0;
clip: rect(0 0 0 0);
clip-path: rect(0 0 0 0);
height: auto; /* new - was 1px */
margin: 0; /* new - was -1px */
height: auto;
margin: 0;
overflow: hidden;
padding: 0;
position: absolute;
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",
"name": "Spaced Repetition",
"version": "1.8.0",
"version": "1.9.1",
"minAppVersion": "0.15.4",
"description": "Fight the forgetting curve by reviewing flashcards & entire notes.",
"author": "Stephen Mwangi",
"authorUrl": "https://github.com/st3v3nmw",
"isDesktopOnly": false
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/M4M44DEN6"
}

View file

@ -9,10 +9,17 @@
.sr-response {
display: inline-grid;
width: 100%;
grid-template-columns: auto auto auto;
grid-template-columns: auto auto auto auto;
position: absolute;
bottom: 0;
}
.sr-ignorestats-btn {
/* Bit of a hack, but it works. */
margin: 0px !important;
margin-right: 12px !important;
}
.sr-ignorestats-response {
grid-template-columns: auto auto !important;
}
@ -21,11 +28,20 @@
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.sr-deck-counts {
color: #ffffff;
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 {
@ -74,16 +90,11 @@
}
#sr-flashcard-view {
font-size: var(--font-text-size);
overflow-y: auto;
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) {
.sr-modal-content::-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",
"description": "Improved table navigation, formatting, manipulation, and formulas",
"isDesktopOnly": false,
"minAppVersion": "0.13.8",
"version": "0.17.3",
"minAppVersion": "1.0.0",
"version": "0.18.0",
"js": "main.js"
}
}

View file

@ -1,5 +1,50 @@
.HyperMD-table-row span.cm-inline-code {
font-size: 100%;
:root {
--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 {
@ -25,4 +70,4 @@
.advanced-tables-donate-button {
margin: 10px;
}
}

View file

@ -410,6 +410,46 @@
"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": {
"type": "markdown",
"state": {
"file": "fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md",
"file": "fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md",
"mode": "source",
"source": false
}
@ -89,7 +89,7 @@
"state": {
"type": "backlink",
"state": {
"file": "fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md",
"file": "fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
@ -106,7 +106,7 @@
"state": {
"type": "outgoing-link",
"state": {
"file": "fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md",
"file": "fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
@ -153,18 +153,10 @@
"state": {
"type": "outline",
"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",
"type": "leaf",
@ -204,6 +196,14 @@
"type": "graph-analysis",
"state": {}
}
},
{
"id": "6781ba7464fb5e5f",
"type": "leaf",
"state": {
"type": "review-queue-list-view",
"state": {}
}
}
],
"currentTab": 12
@ -217,7 +217,7 @@
"lastOpenFiles": [
"fyz/Mechanika tekutin/Mechanika tekutin.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/Robinson Crusoe.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 %%
- [[fyz/Mechanika tekutin/Termodynamika/Celsiova teplotní stupnice|Celsiova teplotní stupnice]]
- [[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 %%

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