mirror of
https://github.com/Ellpeck/ObsidianJustSharePlease.git
synced 2024-11-23 02:48:34 +01:00
allow automatically updating shares
This commit is contained in:
parent
0bb5ae69b0
commit
07995d2a9a
5 changed files with 39 additions and 20 deletions
27
src/main.ts
27
src/main.ts
|
@ -72,6 +72,13 @@ export default class JustSharePleasePlugin extends Plugin {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
this.registerEvent(this.app.vault.on("modify", f => {
|
||||||
|
if (this.settings.autoUpdateShares && f instanceof TFile) {
|
||||||
|
let shared = this.getSharedItem(f.path);
|
||||||
|
if (shared)
|
||||||
|
this.updateFile(shared, f, false);
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
|
||||||
this.addCommand({
|
this.addCommand({
|
||||||
id: "share",
|
id: "share",
|
||||||
|
@ -177,12 +184,10 @@ export default class JustSharePleasePlugin extends Plugin {
|
||||||
new Notice(`Successfully updated ${file.basename} on JSP`);
|
new Notice(`Successfully updated ${file.basename} on JSP`);
|
||||||
return true;
|
return true;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
if (notice) {
|
new Notice(createFragment(f => {
|
||||||
new Notice(createFragment(f => {
|
f.createSpan({text: `There was an error updating ${file.basename}: `});
|
||||||
f.createSpan({text: `There was an error updating ${file.basename}: `});
|
f.createEl("code", {text: e});
|
||||||
f.createEl("code", {text: e});
|
}), 10000);
|
||||||
}), 10000);
|
|
||||||
}
|
|
||||||
console.log(e);
|
console.log(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -205,12 +210,10 @@ export default class JustSharePleasePlugin extends Plugin {
|
||||||
new Notice(`Successfully deleted ${name} from JSP`);
|
new Notice(`Successfully deleted ${name} from JSP`);
|
||||||
return true;
|
return true;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
if (notice) {
|
new Notice(createFragment(f => {
|
||||||
new Notice(createFragment(f => {
|
f.createSpan({text: `There was an error deleting ${name}: `});
|
||||||
f.createSpan({text: `There was an error deleting ${name}: `});
|
f.createEl("code", {text: e});
|
||||||
f.createEl("code", {text: e});
|
}), 10000);
|
||||||
}), 10000);
|
|
||||||
}
|
|
||||||
console.log(e);
|
console.log(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,6 @@ export class JSPSettingsTab extends PluginSettingTab {
|
||||||
display(): void {
|
display(): void {
|
||||||
this.containerEl.empty();
|
this.containerEl.empty();
|
||||||
this.containerEl.createEl("h2", {text: "Just Share Please Settings"});
|
this.containerEl.createEl("h2", {text: "Just Share Please Settings"});
|
||||||
|
|
||||||
new Setting(this.containerEl)
|
new Setting(this.containerEl)
|
||||||
.setName("Just Share Please Server")
|
.setName("Just Share Please Server")
|
||||||
.setDesc(createFragment(f => {
|
.setDesc(createFragment(f => {
|
||||||
|
@ -31,7 +30,6 @@ export class JSPSettingsTab extends PluginSettingTab {
|
||||||
await this.plugin.saveSettings();
|
await this.plugin.saveSettings();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
new Setting(this.containerEl)
|
new Setting(this.containerEl)
|
||||||
.setName("Strip Frontmatter")
|
.setName("Strip Frontmatter")
|
||||||
.setDesc("Whether document frontmatter (also known as properties) should be removed from the uploaded share.")
|
.setDesc("Whether document frontmatter (also known as properties) should be removed from the uploaded share.")
|
||||||
|
@ -42,7 +40,6 @@ export class JSPSettingsTab extends PluginSettingTab {
|
||||||
await this.plugin.saveSettings();
|
await this.plugin.saveSettings();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
new Setting(this.containerEl)
|
new Setting(this.containerEl)
|
||||||
.setName("Include Note Name")
|
.setName("Include Note Name")
|
||||||
.setDesc("Whether the name of the shared note should be included in the share as a heading.")
|
.setDesc("Whether the name of the shared note should be included in the share as a heading.")
|
||||||
|
@ -53,7 +50,6 @@ export class JSPSettingsTab extends PluginSettingTab {
|
||||||
await this.plugin.saveSettings();
|
await this.plugin.saveSettings();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
new Setting(this.containerEl)
|
new Setting(this.containerEl)
|
||||||
.setName("Unshare Deleted Files")
|
.setName("Unshare Deleted Files")
|
||||||
.setDesc("Whether shares of files should be removed automatically when they are deleted. Only supported when deleting from within Obsidian.")
|
.setDesc("Whether shares of files should be removed automatically when they are deleted. Only supported when deleting from within Obsidian.")
|
||||||
|
@ -64,6 +60,16 @@ export class JSPSettingsTab extends PluginSettingTab {
|
||||||
await this.plugin.saveSettings();
|
await this.plugin.saveSettings();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
new Setting(this.containerEl)
|
||||||
|
.setName("Automatically Update Shares")
|
||||||
|
.setDesc("Whether a file's share should automatically be updated when the file is changed from within Obsidian.")
|
||||||
|
.addToggle(t => {
|
||||||
|
t.setValue(this.plugin.settings.autoUpdateShares);
|
||||||
|
t.onChange(async v => {
|
||||||
|
this.plugin.settings.autoUpdateShares = v;
|
||||||
|
await this.plugin.saveSettings();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
this.containerEl.createEl("hr");
|
this.containerEl.createEl("hr");
|
||||||
this.containerEl.createEl("p", {text: "If you like this plugin and want to support its development, you can do so through my website by clicking this fancy image!"});
|
this.containerEl.createEl("p", {text: "If you like this plugin and want to support its development, you can do so through my website by clicking this fancy image!"});
|
||||||
|
|
|
@ -3,10 +3,10 @@ export const defaultSettings: JSPSettings = {
|
||||||
shared: [],
|
shared: [],
|
||||||
stripFrontmatter: true,
|
stripFrontmatter: true,
|
||||||
includeNoteName: true,
|
includeNoteName: true,
|
||||||
unshareDeletedFiles: true
|
unshareDeletedFiles: true,
|
||||||
|
autoUpdateShares: false
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO add a setting for auto-refreshing uploads when saving
|
|
||||||
export interface JSPSettings {
|
export interface JSPSettings {
|
||||||
|
|
||||||
url: string;
|
url: string;
|
||||||
|
@ -14,6 +14,7 @@ export interface JSPSettings {
|
||||||
stripFrontmatter: boolean;
|
stripFrontmatter: boolean;
|
||||||
includeNoteName: boolean;
|
includeNoteName: boolean;
|
||||||
unshareDeletedFiles: boolean;
|
unshareDeletedFiles: boolean;
|
||||||
|
autoUpdateShares: boolean;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
{
|
{
|
||||||
"url": "http://localhost:8080",
|
"url": "http://localhost:8080",
|
||||||
"shared": [],
|
"shared": [
|
||||||
|
{
|
||||||
|
"id": "234df7b7",
|
||||||
|
"password": "0ef1504bfe83cd9ca812434caa7aacf4",
|
||||||
|
"path": "Cool Test Note.md"
|
||||||
|
}
|
||||||
|
],
|
||||||
"stripFrontmatter": true,
|
"stripFrontmatter": true,
|
||||||
"includeNoteName": true,
|
"includeNoteName": true,
|
||||||
"unshareDeletedFiles": false
|
"unshareDeletedFiles": false,
|
||||||
|
"autoUpdateShares": false
|
||||||
}
|
}
|
|
@ -24,6 +24,8 @@ $.ajax({
|
||||||
|
|
||||||
cool!!
|
cool!!
|
||||||
|
|
||||||
|
blah blah i added and removed this
|
||||||
|
|
||||||
The following is $x^2 = 7$, but more complicated!
|
The following is $x^2 = 7$, but more complicated!
|
||||||
$$
|
$$
|
||||||
x^2 + \sum_{i = 1}^{10000} x^2 \cdot 0 = 7
|
x^2 + \sum_{i = 1}^{10000} x^2 \cdot 0 = 7
|
||||||
|
|
Loading…
Reference in a new issue