vault backup: 2026-05-08 16:11:20

This commit is contained in:
Thomas Peetz
2026-05-08 16:11:19 +02:00
parent 6ad28f9cb4
commit 2df7a57cf2
26 changed files with 14046 additions and 11330 deletions
+105 -66
View File
@@ -31,26 +31,26 @@ module.exports = __toCommonJS(main_exports);
var import_obsidian25 = require("obsidian");
// node_modules/obsidian-extra/dist/esm/functions/getFloatingWindows.js
function getFloatingWindows(app2) {
function getFloatingWindows(app) {
var _a, _b, _c, _d;
return (_d = (_c = (_b = (_a = app2 === null || app2 === void 0 ? void 0 : app2.workspace) === null || _a === void 0 ? void 0 : _a.floatingSplit) === null || _b === void 0 ? void 0 : _b.children) === null || _c === void 0 ? void 0 : _c.map((split) => split.win)) !== null && _d !== void 0 ? _d : [];
return (_d = (_c = (_b = (_a = app === null || app === void 0 ? void 0 : app.workspace) === null || _a === void 0 ? void 0 : _a.floatingSplit) === null || _b === void 0 ? void 0 : _b.children) === null || _c === void 0 ? void 0 : _c.map((split) => split.win)) !== null && _d !== void 0 ? _d : [];
}
// node_modules/obsidian-extra/dist/esm/functions/getCurrentThemeID.js
function getCurrentThemeID(app2) {
const theme = app2.customCss.theme;
function getCurrentThemeID(app) {
const theme = app.customCss.theme;
return theme === "" ? null : theme;
}
// node_modules/obsidian-extra/dist/esm/functions/getCurrentColorScheme.js
function getCurrentThemeID2(app2) {
const { body } = app2.workspace.containerEl.doc;
function getCurrentThemeID2(app) {
const { body } = app.workspace.containerEl.doc;
return body.classList.contains("theme-dark") ? "dark" : "light";
}
// node_modules/obsidian-extra/dist/esm/functions/getThemeManifest.js
function getThemeManifest(app2, themeID) {
const manifests = app2.customCss.themes;
function getThemeManifest(app, themeID) {
const manifests = app.customCss.themes;
if (!Object.prototype.hasOwnProperty.call(manifests, themeID)) {
return null;
}
@@ -58,22 +58,22 @@ function getThemeManifest(app2, themeID) {
}
// node_modules/obsidian-extra/dist/esm/functions/isThemeInstalled.js
function isThemeInstalled(app2, themeID) {
return getThemeManifest(app2, themeID) !== null;
function isThemeInstalled(app, themeID) {
return getThemeManifest(app, themeID) !== null;
}
// node_modules/obsidian-extra/dist/esm/functions/getThemeStyleElement.js
function getThemeStyleElement(app2) {
const currentTheme = getCurrentThemeID(app2);
if (currentTheme == null || !isThemeInstalled(app2, currentTheme)) {
function getThemeStyleElement(app) {
const currentTheme = getCurrentThemeID(app);
if (currentTheme == null || !isThemeInstalled(app, currentTheme)) {
return null;
}
return app2.customCss.styleEl;
return app.customCss.styleEl;
}
// node_modules/obsidian-extra/dist/esm/functions/isSnippetEnabled.js
function isSnippetEnabled(app2, snippetID) {
return app2.customCss.enabledSnippets.has(snippetID);
function isSnippetEnabled(app, snippetID) {
return app.customCss.enabledSnippets.has(snippetID);
}
// node_modules/obsidian-extra/dist/esm/functions/fetchObsidianStyleSheet.js
@@ -129,7 +129,7 @@ var __awaiter = function(thisArg, _arguments, P, generator) {
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
function fetchObsidianStyleSheet(app2) {
function fetchObsidianStyleSheet(app) {
return __awaiter(this, void 0, void 0, function* () {
let errors = [];
const orElse = (cb) => (ex) => {
@@ -198,18 +198,18 @@ function viaDom(path) {
}
// node_modules/obsidian-extra/dist/esm/functions/getInstalledSnippetIDs.js
function getInstalledSnippetIDs(app2) {
return app2.customCss.snippets;
function getInstalledSnippetIDs(app) {
return app.customCss.snippets;
}
// node_modules/obsidian-extra/dist/esm/functions/getSnippetStyleElements.js
function getSnippetStyleElements(app2) {
const styleManager = app2.customCss;
const snippets = getInstalledSnippetIDs(app2);
function getSnippetStyleElements(app) {
const styleManager = app.customCss;
const snippets = getInstalledSnippetIDs(app);
const map = /* @__PURE__ */ new Map();
for (let i = 0, elI = 0; i < snippets.length; i++) {
const snippetID = styleManager.snippets[i];
if (isSnippetEnabled(app2, snippetID)) {
if (isSnippetEnabled(app, snippetID)) {
map.set(snippetID, styleManager.extraStyleEls[elI]);
elI++;
}
@@ -218,9 +218,9 @@ function getSnippetStyleElements(app2) {
}
// node_modules/obsidian-extra/dist/esm/functions/openPluginSettings.js
function openPluginSettings(app2, plugin) {
function openPluginSettings(app, plugin) {
var _a, _b;
const settingManager = app2.setting;
const settingManager = app.setting;
const pluginId = typeof plugin === "string" ? plugin : plugin.manifest.id;
if (((_a = settingManager.activeTab) === null || _a === void 0 ? void 0 : _a.id) !== pluginId) {
settingManager.openTabById("");
@@ -233,27 +233,27 @@ function openPluginSettings(app2, plugin) {
// node_modules/obsidian-extra/dist/esm/functions/createCustomStyleSheet.js
var Counter = Symbol("CustomStylesheet count");
function foreachWindow(app2, fn) {
fn(app2.workspace.containerEl.doc, true);
for (const float of getFloatingWindows(app2)) {
function foreachWindow(app, fn) {
fn(app.workspace.containerEl.doc, true);
for (const float of getFloatingWindows(app)) {
fn(float.document, false);
}
}
function createCustomStyleSheet(app2, plugin) {
function createCustomStyleSheet(app, plugin) {
var _a;
let result;
const pl = plugin;
const plId = plugin.manifest.id;
const ssId = ((_a = pl[Counter]) !== null && _a !== void 0 ? _a : pl[Counter] = 0).toString();
pl[Counter]++;
const styleEl = app2.workspace.containerEl.doc.createElement("style");
const styleEl = app.workspace.containerEl.doc.createElement("style");
const styleElInFloats = [];
styleEl.setAttribute("data-source-plugin", plId);
styleEl.setAttribute("data-source-id", ssId);
function unapply() {
styleElInFloats.splice(0, styleElInFloats.length).forEach((el) => el.remove());
styleEl.detach();
foreachWindow(app2, (doc) => {
foreachWindow(app, (doc) => {
for (const styleEl2 of Array.from(doc.head.querySelectorAll("style"))) {
if (result.is(styleEl2)) {
styleEl2.remove();
@@ -263,7 +263,7 @@ function createCustomStyleSheet(app2, plugin) {
}
function reapply() {
unapply();
foreachWindow(app2, (doc, isFloating) => {
foreachWindow(app, (doc, isFloating) => {
let lastEl = doc.head.lastElementChild;
for (let el = lastEl; el != null; el = el.previousElementSibling) {
lastEl = el;
@@ -280,12 +280,12 @@ function createCustomStyleSheet(app2, plugin) {
lastEl === null || lastEl === void 0 ? void 0 : lastEl.insertAdjacentElement("afterend", styleElClone);
});
}
app2.workspace.on("css-change", reapply);
app2.workspace.on("layout-change", reapply);
app.workspace.on("css-change", reapply);
app.workspace.on("layout-change", reapply);
result = Object.freeze(Object.defineProperties(() => {
unapply();
app2.workspace.off("css-change", reapply);
app2.workspace.off("layout-change", reapply);
app.workspace.off("css-change", reapply);
app.workspace.off("layout-change", reapply);
}, {
css: {
enumerable: true,
@@ -351,17 +351,18 @@ var import_obsidian4 = require("obsidian");
var import_obsidian6 = require("obsidian");
// node_modules/obsidian-extra/dist/esm/functions/closeSettings.js
function closeSettings(app2) {
const settingManager = app2.setting;
function closeSettings(app) {
const settingManager = app.setting;
settingManager.close();
}
// src/ui/pane-layers.ts
var import_obsidian5 = require("obsidian");
var UIPaneLayers = class {
constructor(options) {
constructor(root, options) {
this.layers = [];
this.closeParent = options.close;
this.root = root;
this.navInstance = {
open: (pane) => this.push(pane),
close: () => this.pop(),
@@ -501,6 +502,11 @@ var UIPaneLayers = class {
configurable: true,
enumerable: true,
get: attached ? () => this.controlsEl : notAttachedError
},
root: {
configurable: true,
enumerable: true,
get: attached ? () => this.root : notAttachedError
}
});
}
@@ -513,7 +519,7 @@ var UISettingTab = class extends import_obsidian6.PluginSettingTab {
this.plugin = plugin;
this.createDefault = createDefault;
this.initLayer = null;
this.layers = new UIPaneLayers({
this.layers = new UIPaneLayers(plugin, {
close: () => closeSettings(this.app)
});
}
@@ -540,12 +546,15 @@ var UISettingTab = class extends import_obsidian6.PluginSettingTab {
cls: "calloutmanager-setting-tab-viewport vertical-tab-content"
});
layers.containerEl = layers.scrollEl.createDiv({ cls: "calloutmanager-setting-tab-content" });
controlsEl.createDiv({ cls: "modal-close-button" }, (closeButtonEl) => {
closeButtonEl.addEventListener("click", (ev) => {
if (!ev.isTrusted)
return;
closeSettings(this.app);
});
const closeBtn = new import_obsidian6.ButtonComponent(controlsEl);
closeBtn.setIcon("lucide-x");
closeBtn.buttonEl.classList.add("modal-close-button");
closeBtn.buttonEl.classList.add("mod-raised");
closeBtn.buttonEl.classList.add("clickable-icon");
closeBtn.onClick((ev) => {
if (!ev.isTrusted)
return;
closeSettings(this.app);
});
layers.clear();
const initLayer = this.initLayer ?? this.createDefault();
@@ -1410,12 +1419,14 @@ var SHADOW_DOM_RESET_STYLES = `
/* Use transparent background color. */
body {
background-color: transparent !important;
contain: none;
}
`;
// src/callout-resolver.ts
var CalloutResolver = class {
constructor() {
constructor(app) {
this.obsidianApp = app;
this.hostElement = document.body.createDiv({
cls: "calloutmanager-callout-resolver"
});
@@ -1435,7 +1446,7 @@ var CalloutResolver = class {
* @param styles The new style elements to use.
*/
reloadStyles() {
this.calloutPreview.setColorScheme(getCurrentThemeID2(app));
this.calloutPreview.setColorScheme(getCurrentThemeID2(this.obsidianApp));
this.calloutPreview.updateStyles();
this.calloutPreview.removeStyles((el) => el.getAttribute("data-callout-manager") === "style-overrides");
}
@@ -1478,11 +1489,11 @@ var CalloutResolver = class {
};
// src/callout-settings.ts
function currentCalloutEnvironment(app2) {
const theme = getCurrentThemeID(app2) ?? "<default>";
function currentCalloutEnvironment(app) {
const theme = getCurrentThemeID(app) ?? "<default>";
return {
theme,
colorScheme: getCurrentThemeID2(app2)
colorScheme: getCurrentThemeID2(app)
};
}
function calloutSettingsToCSS(id, settings, environment) {
@@ -1578,8 +1589,8 @@ function getCalloutsFromCSS(css) {
// src/css-watcher.ts
var StylesheetWatcher = class {
constructor(app2) {
this.app = app2;
constructor(app) {
this.app = app;
this.listeners = /* @__PURE__ */ new Map();
this.cachedSnippets = /* @__PURE__ */ new Map();
this.cachedObsidian = null;
@@ -3309,7 +3320,7 @@ var MiscEditor = class {
};
// src/panes/edit-callout-pane/section-info.ts
function renderInfo(app2, callout, containerEl) {
function renderInfo(app, callout, containerEl) {
const frag = document.createDocumentFragment();
const contentEl = frag.createDiv({ cls: "calloutmanager-edit-callout-section" });
contentEl.createEl("h2", { text: "About this Callout" });
@@ -3327,7 +3338,7 @@ function renderInfo(app2, callout, containerEl) {
return;
}
el.appendText(". It was added to Obsidian by the ");
appendSourceInfo(app2, el, callout.sources[0]);
appendSourceInfo(app, el, callout.sources[0]);
el.appendText(".");
return;
}
@@ -3336,7 +3347,7 @@ function renderInfo(app2, callout, containerEl) {
for (const source of callout.sources) {
const itemEl = sources.createEl("li");
itemEl.appendText("The ");
appendSourceInfo(app2, itemEl, source);
appendSourceInfo(app, itemEl, source);
itemEl.appendText(".");
}
});
@@ -3364,7 +3375,7 @@ function appendColorInfo(el, callout) {
(colorEl) => colorEl.style.setProperty("--resolved-callout-color", callout.color)
);
}
function appendSourceInfo(app2, el, source) {
function appendSourceInfo(app, el, source) {
switch (source.type) {
case "builtin":
el.appendText("built-in callouts");
@@ -3381,7 +3392,7 @@ function appendSourceInfo(app2, el, source) {
return true;
case "theme": {
el.appendText("theme ");
const themeName = getThemeManifest(app2, source.theme)?.name ?? source.theme;
const themeName = getThemeManifest(app, source.theme)?.name ?? source.theme;
el.createSpan({ cls: "calloutmanager-edit-callout--callout-source", text: themeName });
return true;
}
@@ -3717,7 +3728,7 @@ var ManageCalloutsPane = class extends UIPane {
if (action === "edit") {
this.nav.open(new EditCalloutPane(this.plugin, id, this.viewOnly));
} else if (action === "insert") {
const view = app.workspace.getActiveViewOfType(import_obsidian22.MarkdownView);
const view = this.plugin.app.workspace.getActiveViewOfType(import_obsidian22.MarkdownView);
if (view) {
const cursor = view.editor.getCursor();
view.editor.replaceRange(
@@ -3726,7 +3737,7 @@ var ManageCalloutsPane = class extends UIPane {
cursor
);
view.editor.setCursor(cursor.line + 1, 10);
closeSettings(app);
closeSettings(this.plugin.app);
}
}
}
@@ -3841,7 +3852,20 @@ var import_obsidian24 = require("obsidian");
var import_obsidian23 = require("obsidian");
// CHANGELOG.md
var CHANGELOG_default = `# Version 1.1.0
var CHANGELOG_default = `# Version 1.1.1
> [!new] Export Callouts as CSS
> There's now a button to copy your callout changes.
> [!fix] Callout Previews
> Previews are back!
>
> Thank you, [**@alythobani**](https://github.com/alythobani)!
> [!fix] Settings Pane (Mobile)
> It's moved slightly to accomodate the updated Obsidian mobile layout.
# Version 1.1.0
> [!new] In-App Changelogs
> Learn about plugin changes and new features straight from the horse's mouth.
@@ -3878,10 +3902,10 @@ The first release available on Obsidian's community plugin browser!
`;
// src/changelog.ts
function getSections() {
function getSections(parent) {
const frag = document.createDocumentFragment();
const renderedEl = frag.createDiv();
import_obsidian23.MarkdownRenderer.renderMarkdown(CHANGELOG_default, renderedEl, "", null);
import_obsidian23.MarkdownRenderer.renderMarkdown(CHANGELOG_default, renderedEl, "", parent);
const sections = /* @__PURE__ */ new Map();
let heading = null;
let sectionContainer = frag.createEl("details");
@@ -3937,7 +3961,7 @@ var ChangelogPane = class extends UIPane {
super();
this.title = "Changelog";
this.plugin = plugin;
const sections = getSections();
const sections = getSections(plugin);
const frag = document.createDocumentFragment();
this.changelogEl = frag.createDiv({ cls: "calloutmanager-changelog" });
Array.from(sections.values()).forEach(({ version, containerEl: el }) => {
@@ -4004,12 +4028,25 @@ var ManagePluginPane = class extends UIPane {
new import_obsidian24.Setting(containerEl).setHeading().setName("What's New").setDesc(`Version ${this.plugin.manifest.version}`).addExtraButton((btn) => {
btn.setIcon("lucide-more-horizontal").setTooltip("More Changelogs").onClick(() => this.nav.open(new ChangelogPane(plugin)));
});
const latestChanges = getSections().get(this.plugin.manifest.version);
const latestChanges = getSections(this.root).get(this.plugin.manifest.version);
if (latestChanges != null) {
const desc = document.createDocumentFragment();
desc.appendChild(latestChanges.contentsEl);
new import_obsidian24.Setting(containerEl).setDesc(desc).then((setting) => setting.controlEl.remove()).then((setting) => setting.settingEl.classList.add("calloutmanager-latest-changes"));
}
new import_obsidian24.Setting(containerEl).setHeading().setName("Export");
new import_obsidian24.Setting(containerEl).setName("Callout Styles").setDesc("Export your custom callouts and changes as CSS.").addButton((btn) => {
btn.setButtonText("Copy");
btn.onClick(async () => {
btn.setDisabled(true);
try {
await navigator.clipboard.writeText("/* Exported Styles from Obsidian Callout Manager */\n" + this.plugin.cssApplier.css);
btn.setButtonText("Copied!");
} catch (ex) {
btn.setButtonText("Error");
}
});
});
new import_obsidian24.Setting(containerEl).setHeading().setName("Reset");
new import_obsidian24.Setting(containerEl).setName("Reset Callout Settings").setDesc("Reset all the changes you made to callouts.").addButton(
withConfirm((btn) => {
@@ -4098,7 +4135,7 @@ var CalloutManagerPlugin = class extends import_obsidian25.Plugin {
await this.loadSettings();
await this.saveSettings();
const { settings } = this;
this.calloutResolver = new CalloutResolver();
this.calloutResolver = new CalloutResolver(this.app);
this.register(() => this.calloutResolver.unload());
this.callouts = new CalloutCollection((id) => {
const { icon, color } = this.calloutResolver.getCalloutProperties(id);
@@ -4365,3 +4402,5 @@ var CalloutManagerPlugin = class extends import_obsidian25.Plugin {
return this.api.destroyHandle(version, consumerPlugin);
}
};
/* nosourcemap */
+1 -1
View File
@@ -1,6 +1,6 @@
{
"id": "callout-manager",
"version": "1.1.0",
"version": "1.1.1",
"description": "Easily create and customize callouts.",
"author": "eth-p",
"authorUrl": "https://github.com/eth-p",
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+9 -9
View File
@@ -1,11 +1,11 @@
{
"id": "cmdr",
"name": "Commander",
"version": "0.5.4",
"minAppVersion": "1.4.0",
"description": "Customize your workspace by adding commands everywhere, create Macros and supercharge your mobile toolbar.",
"author": "jsmorabito & phibr0",
"authorUrl": "https://github.com/phibr0",
"fundingUrl": "https://ko-fi.com/phibr0",
"isDesktopOnly": false
"id": "cmdr",
"name": "Commander",
"version": "0.5.5",
"minAppVersion": "1.4.0",
"description": "Customize your workspace by adding commands everywhere, create Macros and supercharge your mobile toolbar.",
"author": "jsmorabito & phibr0",
"authorUrl": "https://github.com/phibr0",
"fundingUrl": "https://ko-fi.com/phibr0",
"isDesktopOnly": false
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+9 -24
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "datacore",
"name": "Datacore",
"version": "0.1.28",
"version": "0.1.29",
"minAppVersion": "1.4.11",
"description": "Reactive query engine backed by Javascript or a custom query language.",
"author": "Michael Brenan",
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,11 +1,11 @@
{
"id": "external-file-embed-and-link",
"name": "External File Embed and Link",
"version": "1.5.6",
"version": "1.5.9",
"minAppVersion": "0.15.0",
"description": "Embed and link local files outside your vault with relative paths for cross-device and multi-platform compatibility.",
"author": "oylbin",
"authorUrl": "https://github.com/oylbin",
"fundingUrl": "https://buymeacoffee.com/oylbin",
"isDesktopOnly": true
}
}
+13 -15
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "janitor",
"name": "Janitor",
"version": "1.1.1",
"version": "1.1.3",
"minAppVersion": "0.15.0",
"description": "Performs cleanup tasks on the Obsidian vault",
"author": "Gabriele Cannata",
+72 -6
View File
@@ -47,21 +47,78 @@ If your plugin does not need CSS, delete this file.
.janitor-file .openFileIcon {
right: 0px;
position: absolute;
/* cursor: pointer; */
visibility: hidden;
}
.janitor-file label {
width: 100%;
/* cursor: pointer; */
display: flex;
align-items: center;
}
.janitor-file span {
.janitor-file-name {
flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
margin-right: 3.5em;
}
.janitor-icon {
display: flex;
align-items: center;
line-height: 1;
}
.janitor-icon svg {
width: 14px;
height: 14px;
}
.janitor-file-name-text {
display: inline-block;
white-space: nowrap;
margin-right: 4em;
}
.janitor-file:hover .janitor-file-name-text {
animation: janitor-marquee 4s ease-in-out infinite alternate;
}
@keyframes janitor-marquee {
0%, 15% { transform: translateX(0); }
85%, 100% { transform: translateX(var(--marquee-offset, 0px)); }
}
.janitor-md-preview-link {
display: contents;
}
.previewFileIcon {
right: 1.5em;
position: absolute;
visibility: hidden;
}
.janitor-file:hover .previewFileIcon {
visibility: visible;
}
.janitor-preview-overlay {
position: fixed;
z-index: 9999;
padding: 6px;
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
pointer-events: none;
}
.janitor-preview-overlay img {
display: block;
max-width: 200px;
max-height: 200px;
object-fit: contain;
border-radius: 3px;
}
.janitor-file:hover .openFileIcon {
@@ -72,9 +129,18 @@ If your plugin does not need CSS, delete this file.
outline: auto;
}
.janitor-main-modal {
width: min(700px, 90vw);
}
/* Ensure hover preview popover appears above the modal overlay */
.popover.hover-popover {
z-index: calc(var(--layer-modal, 200) + 10);
}
.janitor-scan-results {
overflow-y: auto;
max-height:250px;
max-height: 450px;
}
.janitor-files-wrapper {
+254 -254
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -6,5 +6,5 @@
"description": "Integrate Git version control with automatic backup and other advanced features.",
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/vinzent",
"version": "2.38.0"
"version": "2.38.2"
}
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,8 +1,8 @@
{
"id": "obsidian-tasks-plugin",
"name": "Tasks",
"version": "7.23.1",
"minAppVersion": "1.4.0",
"version": "8.0.0",
"minAppVersion": "1.8.7",
"description": "Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering.",
"helpUrl": "https://publish.obsidian.md/tasks/",
"author": "Clare Macrae and Ilyas Landikov (created by Martin Schenck)",
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3 -5
View File
@@ -3,15 +3,13 @@
"name": "Advanced Tables",
"author": "Tony Grosinger",
"authorUrl": "https://grosinger.net",
"description": "Improved table navigation, formatting, manipulation, and formulas",
"description": "Improved table navigation, formatting, manipulation, and formulas.",
"isDesktopOnly": false,
"minAppVersion": "1.0.0",
"version": "0.22.1",
"js": "main.js",
"version": "0.22.2",
"fundingUrl": {
"Github Sponsor": "https://github.com/sponsors/tgrosinger",
"Buy me a Coffee": "https://buymeacoffee.com/tgrosinger",
"Paypal": "https://paypal.me/tgrosinger"
},
"donation": "https://buymeacoffee.com/tgrosinger"
}
}
+12908 -10736
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,10 +1,10 @@
{
"id": "task-list-kanban",
"name": "Task List Kanban",
"version": "1.8.0",
"version": "1.11.0",
"minAppVersion": "1.5.3",
"description": "Organizes all of the tasks within your files into a kanban view. Reduce duplication of effort when managing and prioritising tasks by simply using the task format in your files to automatically appear in your Task List Kanban.",
"author": "Chris Kerr, Erika Rice Scherpelz",
"authorUrl": "https://github.com/erikars",
"isDesktopOnly": false
}
}
+429
View File
@@ -19,3 +19,432 @@ If your plugin does not need CSS, delete this file.
.setting-item.column .setting-item-control > input {
width: 100%;
}
/* Settings modal shell */
.task-list-kanban-settings-modal-container {
display: flex;
flex-direction: column;
overflow: hidden;
width: min(860px, calc(100vw - 48px));
max-width: 860px;
}
.task-list-kanban-settings-modal {
display: flex;
flex-direction: column;
flex: 1;
overflow: hidden;
}
.settings-scroll-wrapper {
flex: 1;
overflow-x: hidden;
overflow-y: auto;
min-height: 0;
padding-bottom: 8px;
padding-right: 2px;
}
/* Settings header */
.settings-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 18px;
}
.settings-header h1 {
margin: 0;
flex: 0 0 auto;
}
.settings-header-status {
display: flex;
align-items: center;
gap: 8px;
min-height: 24px;
flex-wrap: wrap;
}
.settings-status-pill {
--settings-pill-color: var(--text-muted);
--settings-pill-background: transparent;
--settings-pill-border: transparent;
display: none;
align-items: center;
max-width: min(520px, calc(100vw - 180px));
padding: 3px 10px;
border-radius: 999px;
color: var(--settings-pill-color);
background: var(--settings-pill-background);
border: 1px solid var(--settings-pill-border);
font-size: var(--font-ui-smaller);
font-weight: 600;
line-height: 1.3;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.settings-status-pill.is-visible {
display: inline-flex;
}
.settings-status-pill-validation {
--settings-pill-color: var(--text-error);
--settings-pill-background: rgba(var(--background-modifier-error-rgb), 0.14);
--settings-pill-border: color-mix(in srgb, var(--background-modifier-error) 75%, transparent);
}
.settings-status-pill-dirty {
--settings-pill-color: var(--text-accent);
--settings-pill-background: color-mix(in srgb, var(--interactive-accent) 12%, transparent);
--settings-pill-border: color-mix(in srgb, var(--interactive-accent) 35%, transparent);
}
.settings-button-bar {
flex-shrink: 0;
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 0 0;
border-top: 1px solid var(--background-modifier-border);
}
/* Column editor layout */
.column-editor-section {
margin-bottom: 20px;
}
.column-editor-intro {
position: sticky;
top: 0;
z-index: 2;
padding: 0 0 10px;
background: linear-gradient(to bottom, var(--background-primary) 0%, var(--background-primary) 82%, transparent 100%);
}
.column-editor-intro h2 {
margin-bottom: 4px;
}
.column-editor-intro .setting-item-description {
margin: 0;
color: var(--text-muted);
}
.column-editor-list {
display: flex;
flex-direction: column;
margin-top: 12px;
border-top: 1px solid var(--background-modifier-border);
}
.column-editor-row {
display: flex;
position: relative;
align-items: center;
gap: 8px;
padding: 10px 8px;
border-bottom: 1px solid var(--background-modifier-border);
background: transparent;
transition: background-color 140ms ease, box-shadow 140ms ease;
overflow: visible;
min-width: 0;
}
.column-editor-row-content {
flex: 1 1 auto;
min-width: 0;
}
.column-editor-row:hover {
background: color-mix(in srgb, var(--background-primary) 86%, var(--background-modifier-hover));
}
.column-editor-row:focus-within {
background: color-mix(in srgb, var(--background-primary) 82%, var(--background-modifier-hover));
box-shadow: inset 0 1px 0 color-mix(in srgb, var(--background-modifier-border-focus) 55%, transparent),
inset 0 -1px 0 color-mix(in srgb, var(--background-modifier-border-focus) 55%, transparent);
}
.column-editor-row.is-drop-target {
box-shadow: none;
}
.column-editor-row.is-dragging {
opacity: 0.4;
}
.column-editor-row.is-drop-before::before,
.column-editor-row.is-drop-after::before {
content: "";
position: absolute;
left: 8px;
right: 8px;
height: 2px;
background: var(--interactive-accent);
pointer-events: none;
}
.column-editor-row.is-drop-before::after,
.column-editor-row.is-drop-after::after {
content: "";
position: absolute;
left: 4px;
width: 10px;
height: 10px;
border-radius: 999px;
background: var(--interactive-accent);
pointer-events: none;
}
.column-editor-row.is-drop-before::before {
top: -2px;
}
.column-editor-row.is-drop-before::after {
top: -6px;
}
.column-editor-row.is-drop-after::before {
bottom: -2px;
}
.column-editor-row.is-drop-after::after {
bottom: -6px;
}
.column-editor-handle,
.column-editor-handle-spacer {
width: 20px;
height: 20px;
flex: 0 0 20px;
}
.column-editor-handle {
cursor: grab;
color: var(--text-muted);
font-size: 14px;
line-height: 1;
opacity: 0.7;
padding: 0;
border-radius: 999px;
display: inline-flex;
align-items: center;
justify-content: center;
}
.column-editor-handle:active {
cursor: grabbing;
}
.column-editor-fields {
display: flex;
gap: 10px;
min-width: 0;
}
.column-editor-fields.column-editor-fields-inline {
align-items: center;
flex: 1 1 auto;
flex-wrap: wrap;
width: 100%;
padding: 1px 0 2px;
}
.column-editor-field {
display: flex;
align-items: center;
gap: 6px;
min-width: 0;
flex: 0 1 auto;
}
.column-editor-fields.column-editor-fields-inline .column-editor-field {
align-self: center;
}
.column-editor-field input,
.column-editor-field select {
margin: 0;
}
.column-editor-field .setting-input,
.column-editor-field select {
height: 34px;
}
.column-editor-field-label {
flex: 1 1 220px;
min-width: 180px;
}
.column-editor-field-label .setting-input {
width: 100%;
text-overflow: ellipsis;
}
.column-editor-field-label .setting-input:focus {
text-overflow: clip;
}
.column-editor-field-tag {
flex: 1 1 180px;
min-width: 0;
position: relative;
overflow: visible;
}
.column-editor-tag-select-host {
display: flex;
width: 100%;
min-width: 0;
max-width: 100%;
overflow: visible;
}
.column-editor-field-match,
.column-editor-field-visibility {
flex: 0 1 auto;
}
.column-editor-field-match select {
width: auto;
min-width: 0;
padding-left: 10px;
padding-right: 28px;
}
.column-editor-field-visibility select {
min-width: 150px;
}
.column-editor-inline-label {
flex: 0 0 auto;
color: var(--text-muted);
font-size: var(--font-ui-smaller);
font-weight: 600;
white-space: nowrap;
letter-spacing: 0.01em;
}
.column-editor-field-color .setting-input {
width: 96px;
}
.column-editor-color-swatch {
width: 14px;
height: 14px;
border-radius: 999px;
border: 1px solid var(--background-modifier-border);
appearance: none;
-webkit-appearance: none;
background-color: var(--column-editor-swatch-color, transparent) !important;
background-image: repeating-conic-gradient(
from 45deg,
var(--background-primary) 0deg 90deg,
var(--background-secondary) 90deg 180deg
);
background-blend-mode: overlay;
flex: 0 0 14px;
padding: 0;
cursor: pointer;
box-shadow: none;
}
.column-editor-color-swatch.has-color {
border-color: color-mix(in srgb, var(--background-modifier-border) 40%, var(--text-normal));
background-image: none;
}
.column-editor-color-picker {
position: absolute;
opacity: 0;
pointer-events: none;
width: 0;
height: 0;
padding: 0;
border: 0;
}
.column-editor-rename-option {
display: none;
align-items: center;
gap: 6px;
color: var(--text-muted);
font-size: var(--font-ui-smaller);
white-space: nowrap;
flex: 0 0 auto;
}
.column-editor-remove-rail {
display: flex;
align-items: center;
justify-content: center;
margin-left: auto;
flex: 0 0 20px;
width: 20px;
}
.column-editor-remove-rail > button {
width: 20px;
height: 20px;
padding: 0;
border-radius: 999px;
display: inline-flex;
align-items: center;
justify-content: center;
color: var(--text-faint);
opacity: 0.75;
transition: color 140ms ease, background-color 140ms ease, opacity 140ms ease;
}
.column-editor-remove-rail > button:hover {
color: var(--text-muted);
background: var(--background-modifier-hover);
opacity: 1;
}
.column-editor-controls {
display: flex;
justify-content: flex-start;
margin-top: 10px;
}
/* Responsive layout */
@media (max-width: 720px) {
.column-editor-row {
align-items: flex-start;
}
.column-editor-fields.column-editor-fields-inline,
.column-editor-field {
flex-direction: column;
align-items: stretch;
}
.column-editor-fields.column-editor-fields-inline {
gap: 12px;
}
.column-editor-field-label,
.column-editor-field-tag,
.column-editor-field-match,
.column-editor-field-visibility,
.column-editor-field-color {
flex: 1 1 auto;
}
.column-editor-field-tag,
.column-editor-tag-select-host {
width: 100%;
}
.column-editor-field-match select,
.column-editor-field-visibility select,
.column-editor-field-color .setting-input {
width: 100%;
}
}
File diff suppressed because one or more lines are too long
+8 -2
View File
@@ -1,11 +1,17 @@
{
"id": "templater-obsidian",
"name": "Templater",
"version": "2.18.1",
"version": "2.20.3",
"description": "Create and use templates",
"minAppVersion": "1.5.0",
"minAppVersion": "1.12.2",
"author": "SilentVoid",
"authorUrl": "https://github.com/SilentVoid13",
"fundingUrl": {
"GitHub Sponser (Zachatoo, maintainer)": "https://github.com/sponsors/Zachatoo",
"Ko-fi (Zachatoo, maintainer)": "https://ko-fi.com/zachatoo",
"GitHub Sponser (SilentVoid13, creator)": "https://github.com/sponsors/SilentVoid13",
"Paypal (SilentVoid13, creator)": "https://www.paypal.com/donate?hosted_button_id=U2SRGAFYXT32Q"
},
"helpUrl": "https://silentvoid13.github.io/Templater/",
"isDesktopOnly": false
}