vault backup: 2026-05-08 16:11:20
This commit is contained in:
+102
-63
@@ -31,26 +31,26 @@ module.exports = __toCommonJS(main_exports);
|
|||||||
var import_obsidian25 = require("obsidian");
|
var import_obsidian25 = require("obsidian");
|
||||||
|
|
||||||
// node_modules/obsidian-extra/dist/esm/functions/getFloatingWindows.js
|
// node_modules/obsidian-extra/dist/esm/functions/getFloatingWindows.js
|
||||||
function getFloatingWindows(app2) {
|
function getFloatingWindows(app) {
|
||||||
var _a, _b, _c, _d;
|
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
|
// node_modules/obsidian-extra/dist/esm/functions/getCurrentThemeID.js
|
||||||
function getCurrentThemeID(app2) {
|
function getCurrentThemeID(app) {
|
||||||
const theme = app2.customCss.theme;
|
const theme = app.customCss.theme;
|
||||||
return theme === "" ? null : theme;
|
return theme === "" ? null : theme;
|
||||||
}
|
}
|
||||||
|
|
||||||
// node_modules/obsidian-extra/dist/esm/functions/getCurrentColorScheme.js
|
// node_modules/obsidian-extra/dist/esm/functions/getCurrentColorScheme.js
|
||||||
function getCurrentThemeID2(app2) {
|
function getCurrentThemeID2(app) {
|
||||||
const { body } = app2.workspace.containerEl.doc;
|
const { body } = app.workspace.containerEl.doc;
|
||||||
return body.classList.contains("theme-dark") ? "dark" : "light";
|
return body.classList.contains("theme-dark") ? "dark" : "light";
|
||||||
}
|
}
|
||||||
|
|
||||||
// node_modules/obsidian-extra/dist/esm/functions/getThemeManifest.js
|
// node_modules/obsidian-extra/dist/esm/functions/getThemeManifest.js
|
||||||
function getThemeManifest(app2, themeID) {
|
function getThemeManifest(app, themeID) {
|
||||||
const manifests = app2.customCss.themes;
|
const manifests = app.customCss.themes;
|
||||||
if (!Object.prototype.hasOwnProperty.call(manifests, themeID)) {
|
if (!Object.prototype.hasOwnProperty.call(manifests, themeID)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -58,22 +58,22 @@ function getThemeManifest(app2, themeID) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// node_modules/obsidian-extra/dist/esm/functions/isThemeInstalled.js
|
// node_modules/obsidian-extra/dist/esm/functions/isThemeInstalled.js
|
||||||
function isThemeInstalled(app2, themeID) {
|
function isThemeInstalled(app, themeID) {
|
||||||
return getThemeManifest(app2, themeID) !== null;
|
return getThemeManifest(app, themeID) !== null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// node_modules/obsidian-extra/dist/esm/functions/getThemeStyleElement.js
|
// node_modules/obsidian-extra/dist/esm/functions/getThemeStyleElement.js
|
||||||
function getThemeStyleElement(app2) {
|
function getThemeStyleElement(app) {
|
||||||
const currentTheme = getCurrentThemeID(app2);
|
const currentTheme = getCurrentThemeID(app);
|
||||||
if (currentTheme == null || !isThemeInstalled(app2, currentTheme)) {
|
if (currentTheme == null || !isThemeInstalled(app, currentTheme)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return app2.customCss.styleEl;
|
return app.customCss.styleEl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// node_modules/obsidian-extra/dist/esm/functions/isSnippetEnabled.js
|
// node_modules/obsidian-extra/dist/esm/functions/isSnippetEnabled.js
|
||||||
function isSnippetEnabled(app2, snippetID) {
|
function isSnippetEnabled(app, snippetID) {
|
||||||
return app2.customCss.enabledSnippets.has(snippetID);
|
return app.customCss.enabledSnippets.has(snippetID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// node_modules/obsidian-extra/dist/esm/functions/fetchObsidianStyleSheet.js
|
// 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());
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
function fetchObsidianStyleSheet(app2) {
|
function fetchObsidianStyleSheet(app) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
let errors = [];
|
let errors = [];
|
||||||
const orElse = (cb) => (ex) => {
|
const orElse = (cb) => (ex) => {
|
||||||
@@ -198,18 +198,18 @@ function viaDom(path) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// node_modules/obsidian-extra/dist/esm/functions/getInstalledSnippetIDs.js
|
// node_modules/obsidian-extra/dist/esm/functions/getInstalledSnippetIDs.js
|
||||||
function getInstalledSnippetIDs(app2) {
|
function getInstalledSnippetIDs(app) {
|
||||||
return app2.customCss.snippets;
|
return app.customCss.snippets;
|
||||||
}
|
}
|
||||||
|
|
||||||
// node_modules/obsidian-extra/dist/esm/functions/getSnippetStyleElements.js
|
// node_modules/obsidian-extra/dist/esm/functions/getSnippetStyleElements.js
|
||||||
function getSnippetStyleElements(app2) {
|
function getSnippetStyleElements(app) {
|
||||||
const styleManager = app2.customCss;
|
const styleManager = app.customCss;
|
||||||
const snippets = getInstalledSnippetIDs(app2);
|
const snippets = getInstalledSnippetIDs(app);
|
||||||
const map = /* @__PURE__ */ new Map();
|
const map = /* @__PURE__ */ new Map();
|
||||||
for (let i = 0, elI = 0; i < snippets.length; i++) {
|
for (let i = 0, elI = 0; i < snippets.length; i++) {
|
||||||
const snippetID = styleManager.snippets[i];
|
const snippetID = styleManager.snippets[i];
|
||||||
if (isSnippetEnabled(app2, snippetID)) {
|
if (isSnippetEnabled(app, snippetID)) {
|
||||||
map.set(snippetID, styleManager.extraStyleEls[elI]);
|
map.set(snippetID, styleManager.extraStyleEls[elI]);
|
||||||
elI++;
|
elI++;
|
||||||
}
|
}
|
||||||
@@ -218,9 +218,9 @@ function getSnippetStyleElements(app2) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// node_modules/obsidian-extra/dist/esm/functions/openPluginSettings.js
|
// node_modules/obsidian-extra/dist/esm/functions/openPluginSettings.js
|
||||||
function openPluginSettings(app2, plugin) {
|
function openPluginSettings(app, plugin) {
|
||||||
var _a, _b;
|
var _a, _b;
|
||||||
const settingManager = app2.setting;
|
const settingManager = app.setting;
|
||||||
const pluginId = typeof plugin === "string" ? plugin : plugin.manifest.id;
|
const pluginId = typeof plugin === "string" ? plugin : plugin.manifest.id;
|
||||||
if (((_a = settingManager.activeTab) === null || _a === void 0 ? void 0 : _a.id) !== pluginId) {
|
if (((_a = settingManager.activeTab) === null || _a === void 0 ? void 0 : _a.id) !== pluginId) {
|
||||||
settingManager.openTabById("");
|
settingManager.openTabById("");
|
||||||
@@ -233,27 +233,27 @@ function openPluginSettings(app2, plugin) {
|
|||||||
|
|
||||||
// node_modules/obsidian-extra/dist/esm/functions/createCustomStyleSheet.js
|
// node_modules/obsidian-extra/dist/esm/functions/createCustomStyleSheet.js
|
||||||
var Counter = Symbol("CustomStylesheet count");
|
var Counter = Symbol("CustomStylesheet count");
|
||||||
function foreachWindow(app2, fn) {
|
function foreachWindow(app, fn) {
|
||||||
fn(app2.workspace.containerEl.doc, true);
|
fn(app.workspace.containerEl.doc, true);
|
||||||
for (const float of getFloatingWindows(app2)) {
|
for (const float of getFloatingWindows(app)) {
|
||||||
fn(float.document, false);
|
fn(float.document, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function createCustomStyleSheet(app2, plugin) {
|
function createCustomStyleSheet(app, plugin) {
|
||||||
var _a;
|
var _a;
|
||||||
let result;
|
let result;
|
||||||
const pl = plugin;
|
const pl = plugin;
|
||||||
const plId = plugin.manifest.id;
|
const plId = plugin.manifest.id;
|
||||||
const ssId = ((_a = pl[Counter]) !== null && _a !== void 0 ? _a : pl[Counter] = 0).toString();
|
const ssId = ((_a = pl[Counter]) !== null && _a !== void 0 ? _a : pl[Counter] = 0).toString();
|
||||||
pl[Counter]++;
|
pl[Counter]++;
|
||||||
const styleEl = app2.workspace.containerEl.doc.createElement("style");
|
const styleEl = app.workspace.containerEl.doc.createElement("style");
|
||||||
const styleElInFloats = [];
|
const styleElInFloats = [];
|
||||||
styleEl.setAttribute("data-source-plugin", plId);
|
styleEl.setAttribute("data-source-plugin", plId);
|
||||||
styleEl.setAttribute("data-source-id", ssId);
|
styleEl.setAttribute("data-source-id", ssId);
|
||||||
function unapply() {
|
function unapply() {
|
||||||
styleElInFloats.splice(0, styleElInFloats.length).forEach((el) => el.remove());
|
styleElInFloats.splice(0, styleElInFloats.length).forEach((el) => el.remove());
|
||||||
styleEl.detach();
|
styleEl.detach();
|
||||||
foreachWindow(app2, (doc) => {
|
foreachWindow(app, (doc) => {
|
||||||
for (const styleEl2 of Array.from(doc.head.querySelectorAll("style"))) {
|
for (const styleEl2 of Array.from(doc.head.querySelectorAll("style"))) {
|
||||||
if (result.is(styleEl2)) {
|
if (result.is(styleEl2)) {
|
||||||
styleEl2.remove();
|
styleEl2.remove();
|
||||||
@@ -263,7 +263,7 @@ function createCustomStyleSheet(app2, plugin) {
|
|||||||
}
|
}
|
||||||
function reapply() {
|
function reapply() {
|
||||||
unapply();
|
unapply();
|
||||||
foreachWindow(app2, (doc, isFloating) => {
|
foreachWindow(app, (doc, isFloating) => {
|
||||||
let lastEl = doc.head.lastElementChild;
|
let lastEl = doc.head.lastElementChild;
|
||||||
for (let el = lastEl; el != null; el = el.previousElementSibling) {
|
for (let el = lastEl; el != null; el = el.previousElementSibling) {
|
||||||
lastEl = el;
|
lastEl = el;
|
||||||
@@ -280,12 +280,12 @@ function createCustomStyleSheet(app2, plugin) {
|
|||||||
lastEl === null || lastEl === void 0 ? void 0 : lastEl.insertAdjacentElement("afterend", styleElClone);
|
lastEl === null || lastEl === void 0 ? void 0 : lastEl.insertAdjacentElement("afterend", styleElClone);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
app2.workspace.on("css-change", reapply);
|
app.workspace.on("css-change", reapply);
|
||||||
app2.workspace.on("layout-change", reapply);
|
app.workspace.on("layout-change", reapply);
|
||||||
result = Object.freeze(Object.defineProperties(() => {
|
result = Object.freeze(Object.defineProperties(() => {
|
||||||
unapply();
|
unapply();
|
||||||
app2.workspace.off("css-change", reapply);
|
app.workspace.off("css-change", reapply);
|
||||||
app2.workspace.off("layout-change", reapply);
|
app.workspace.off("layout-change", reapply);
|
||||||
}, {
|
}, {
|
||||||
css: {
|
css: {
|
||||||
enumerable: true,
|
enumerable: true,
|
||||||
@@ -351,17 +351,18 @@ var import_obsidian4 = require("obsidian");
|
|||||||
var import_obsidian6 = require("obsidian");
|
var import_obsidian6 = require("obsidian");
|
||||||
|
|
||||||
// node_modules/obsidian-extra/dist/esm/functions/closeSettings.js
|
// node_modules/obsidian-extra/dist/esm/functions/closeSettings.js
|
||||||
function closeSettings(app2) {
|
function closeSettings(app) {
|
||||||
const settingManager = app2.setting;
|
const settingManager = app.setting;
|
||||||
settingManager.close();
|
settingManager.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
// src/ui/pane-layers.ts
|
// src/ui/pane-layers.ts
|
||||||
var import_obsidian5 = require("obsidian");
|
var import_obsidian5 = require("obsidian");
|
||||||
var UIPaneLayers = class {
|
var UIPaneLayers = class {
|
||||||
constructor(options) {
|
constructor(root, options) {
|
||||||
this.layers = [];
|
this.layers = [];
|
||||||
this.closeParent = options.close;
|
this.closeParent = options.close;
|
||||||
|
this.root = root;
|
||||||
this.navInstance = {
|
this.navInstance = {
|
||||||
open: (pane) => this.push(pane),
|
open: (pane) => this.push(pane),
|
||||||
close: () => this.pop(),
|
close: () => this.pop(),
|
||||||
@@ -501,6 +502,11 @@ var UIPaneLayers = class {
|
|||||||
configurable: true,
|
configurable: true,
|
||||||
enumerable: true,
|
enumerable: true,
|
||||||
get: attached ? () => this.controlsEl : notAttachedError
|
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.plugin = plugin;
|
||||||
this.createDefault = createDefault;
|
this.createDefault = createDefault;
|
||||||
this.initLayer = null;
|
this.initLayer = null;
|
||||||
this.layers = new UIPaneLayers({
|
this.layers = new UIPaneLayers(plugin, {
|
||||||
close: () => closeSettings(this.app)
|
close: () => closeSettings(this.app)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -540,13 +546,16 @@ var UISettingTab = class extends import_obsidian6.PluginSettingTab {
|
|||||||
cls: "calloutmanager-setting-tab-viewport vertical-tab-content"
|
cls: "calloutmanager-setting-tab-viewport vertical-tab-content"
|
||||||
});
|
});
|
||||||
layers.containerEl = layers.scrollEl.createDiv({ cls: "calloutmanager-setting-tab-content" });
|
layers.containerEl = layers.scrollEl.createDiv({ cls: "calloutmanager-setting-tab-content" });
|
||||||
controlsEl.createDiv({ cls: "modal-close-button" }, (closeButtonEl) => {
|
const closeBtn = new import_obsidian6.ButtonComponent(controlsEl);
|
||||||
closeButtonEl.addEventListener("click", (ev) => {
|
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)
|
if (!ev.isTrusted)
|
||||||
return;
|
return;
|
||||||
closeSettings(this.app);
|
closeSettings(this.app);
|
||||||
});
|
});
|
||||||
});
|
|
||||||
layers.clear();
|
layers.clear();
|
||||||
const initLayer = this.initLayer ?? this.createDefault();
|
const initLayer = this.initLayer ?? this.createDefault();
|
||||||
this.initLayer = null;
|
this.initLayer = null;
|
||||||
@@ -1410,12 +1419,14 @@ var SHADOW_DOM_RESET_STYLES = `
|
|||||||
/* Use transparent background color. */
|
/* Use transparent background color. */
|
||||||
body {
|
body {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
|
contain: none;
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// src/callout-resolver.ts
|
// src/callout-resolver.ts
|
||||||
var CalloutResolver = class {
|
var CalloutResolver = class {
|
||||||
constructor() {
|
constructor(app) {
|
||||||
|
this.obsidianApp = app;
|
||||||
this.hostElement = document.body.createDiv({
|
this.hostElement = document.body.createDiv({
|
||||||
cls: "calloutmanager-callout-resolver"
|
cls: "calloutmanager-callout-resolver"
|
||||||
});
|
});
|
||||||
@@ -1435,7 +1446,7 @@ var CalloutResolver = class {
|
|||||||
* @param styles The new style elements to use.
|
* @param styles The new style elements to use.
|
||||||
*/
|
*/
|
||||||
reloadStyles() {
|
reloadStyles() {
|
||||||
this.calloutPreview.setColorScheme(getCurrentThemeID2(app));
|
this.calloutPreview.setColorScheme(getCurrentThemeID2(this.obsidianApp));
|
||||||
this.calloutPreview.updateStyles();
|
this.calloutPreview.updateStyles();
|
||||||
this.calloutPreview.removeStyles((el) => el.getAttribute("data-callout-manager") === "style-overrides");
|
this.calloutPreview.removeStyles((el) => el.getAttribute("data-callout-manager") === "style-overrides");
|
||||||
}
|
}
|
||||||
@@ -1478,11 +1489,11 @@ var CalloutResolver = class {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// src/callout-settings.ts
|
// src/callout-settings.ts
|
||||||
function currentCalloutEnvironment(app2) {
|
function currentCalloutEnvironment(app) {
|
||||||
const theme = getCurrentThemeID(app2) ?? "<default>";
|
const theme = getCurrentThemeID(app) ?? "<default>";
|
||||||
return {
|
return {
|
||||||
theme,
|
theme,
|
||||||
colorScheme: getCurrentThemeID2(app2)
|
colorScheme: getCurrentThemeID2(app)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
function calloutSettingsToCSS(id, settings, environment) {
|
function calloutSettingsToCSS(id, settings, environment) {
|
||||||
@@ -1578,8 +1589,8 @@ function getCalloutsFromCSS(css) {
|
|||||||
|
|
||||||
// src/css-watcher.ts
|
// src/css-watcher.ts
|
||||||
var StylesheetWatcher = class {
|
var StylesheetWatcher = class {
|
||||||
constructor(app2) {
|
constructor(app) {
|
||||||
this.app = app2;
|
this.app = app;
|
||||||
this.listeners = /* @__PURE__ */ new Map();
|
this.listeners = /* @__PURE__ */ new Map();
|
||||||
this.cachedSnippets = /* @__PURE__ */ new Map();
|
this.cachedSnippets = /* @__PURE__ */ new Map();
|
||||||
this.cachedObsidian = null;
|
this.cachedObsidian = null;
|
||||||
@@ -3309,7 +3320,7 @@ var MiscEditor = class {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// src/panes/edit-callout-pane/section-info.ts
|
// src/panes/edit-callout-pane/section-info.ts
|
||||||
function renderInfo(app2, callout, containerEl) {
|
function renderInfo(app, callout, containerEl) {
|
||||||
const frag = document.createDocumentFragment();
|
const frag = document.createDocumentFragment();
|
||||||
const contentEl = frag.createDiv({ cls: "calloutmanager-edit-callout-section" });
|
const contentEl = frag.createDiv({ cls: "calloutmanager-edit-callout-section" });
|
||||||
contentEl.createEl("h2", { text: "About this Callout" });
|
contentEl.createEl("h2", { text: "About this Callout" });
|
||||||
@@ -3327,7 +3338,7 @@ function renderInfo(app2, callout, containerEl) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
el.appendText(". It was added to Obsidian by the ");
|
el.appendText(". It was added to Obsidian by the ");
|
||||||
appendSourceInfo(app2, el, callout.sources[0]);
|
appendSourceInfo(app, el, callout.sources[0]);
|
||||||
el.appendText(".");
|
el.appendText(".");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -3336,7 +3347,7 @@ function renderInfo(app2, callout, containerEl) {
|
|||||||
for (const source of callout.sources) {
|
for (const source of callout.sources) {
|
||||||
const itemEl = sources.createEl("li");
|
const itemEl = sources.createEl("li");
|
||||||
itemEl.appendText("The ");
|
itemEl.appendText("The ");
|
||||||
appendSourceInfo(app2, itemEl, source);
|
appendSourceInfo(app, itemEl, source);
|
||||||
itemEl.appendText(".");
|
itemEl.appendText(".");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -3364,7 +3375,7 @@ function appendColorInfo(el, callout) {
|
|||||||
(colorEl) => colorEl.style.setProperty("--resolved-callout-color", callout.color)
|
(colorEl) => colorEl.style.setProperty("--resolved-callout-color", callout.color)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
function appendSourceInfo(app2, el, source) {
|
function appendSourceInfo(app, el, source) {
|
||||||
switch (source.type) {
|
switch (source.type) {
|
||||||
case "builtin":
|
case "builtin":
|
||||||
el.appendText("built-in callouts");
|
el.appendText("built-in callouts");
|
||||||
@@ -3381,7 +3392,7 @@ function appendSourceInfo(app2, el, source) {
|
|||||||
return true;
|
return true;
|
||||||
case "theme": {
|
case "theme": {
|
||||||
el.appendText("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 });
|
el.createSpan({ cls: "calloutmanager-edit-callout--callout-source", text: themeName });
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -3717,7 +3728,7 @@ var ManageCalloutsPane = class extends UIPane {
|
|||||||
if (action === "edit") {
|
if (action === "edit") {
|
||||||
this.nav.open(new EditCalloutPane(this.plugin, id, this.viewOnly));
|
this.nav.open(new EditCalloutPane(this.plugin, id, this.viewOnly));
|
||||||
} else if (action === "insert") {
|
} else if (action === "insert") {
|
||||||
const view = app.workspace.getActiveViewOfType(import_obsidian22.MarkdownView);
|
const view = this.plugin.app.workspace.getActiveViewOfType(import_obsidian22.MarkdownView);
|
||||||
if (view) {
|
if (view) {
|
||||||
const cursor = view.editor.getCursor();
|
const cursor = view.editor.getCursor();
|
||||||
view.editor.replaceRange(
|
view.editor.replaceRange(
|
||||||
@@ -3726,7 +3737,7 @@ var ManageCalloutsPane = class extends UIPane {
|
|||||||
cursor
|
cursor
|
||||||
);
|
);
|
||||||
view.editor.setCursor(cursor.line + 1, 10);
|
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");
|
var import_obsidian23 = require("obsidian");
|
||||||
|
|
||||||
// CHANGELOG.md
|
// 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
|
> [!new] In-App Changelogs
|
||||||
> Learn about plugin changes and new features straight from the horse's mouth.
|
> 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
|
// src/changelog.ts
|
||||||
function getSections() {
|
function getSections(parent) {
|
||||||
const frag = document.createDocumentFragment();
|
const frag = document.createDocumentFragment();
|
||||||
const renderedEl = frag.createDiv();
|
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();
|
const sections = /* @__PURE__ */ new Map();
|
||||||
let heading = null;
|
let heading = null;
|
||||||
let sectionContainer = frag.createEl("details");
|
let sectionContainer = frag.createEl("details");
|
||||||
@@ -3937,7 +3961,7 @@ var ChangelogPane = class extends UIPane {
|
|||||||
super();
|
super();
|
||||||
this.title = "Changelog";
|
this.title = "Changelog";
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
const sections = getSections();
|
const sections = getSections(plugin);
|
||||||
const frag = document.createDocumentFragment();
|
const frag = document.createDocumentFragment();
|
||||||
this.changelogEl = frag.createDiv({ cls: "calloutmanager-changelog" });
|
this.changelogEl = frag.createDiv({ cls: "calloutmanager-changelog" });
|
||||||
Array.from(sections.values()).forEach(({ version, containerEl: el }) => {
|
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) => {
|
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)));
|
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) {
|
if (latestChanges != null) {
|
||||||
const desc = document.createDocumentFragment();
|
const desc = document.createDocumentFragment();
|
||||||
desc.appendChild(latestChanges.contentsEl);
|
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).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).setHeading().setName("Reset");
|
||||||
new import_obsidian24.Setting(containerEl).setName("Reset Callout Settings").setDesc("Reset all the changes you made to callouts.").addButton(
|
new import_obsidian24.Setting(containerEl).setName("Reset Callout Settings").setDesc("Reset all the changes you made to callouts.").addButton(
|
||||||
withConfirm((btn) => {
|
withConfirm((btn) => {
|
||||||
@@ -4098,7 +4135,7 @@ var CalloutManagerPlugin = class extends import_obsidian25.Plugin {
|
|||||||
await this.loadSettings();
|
await this.loadSettings();
|
||||||
await this.saveSettings();
|
await this.saveSettings();
|
||||||
const { settings } = this;
|
const { settings } = this;
|
||||||
this.calloutResolver = new CalloutResolver();
|
this.calloutResolver = new CalloutResolver(this.app);
|
||||||
this.register(() => this.calloutResolver.unload());
|
this.register(() => this.calloutResolver.unload());
|
||||||
this.callouts = new CalloutCollection((id) => {
|
this.callouts = new CalloutCollection((id) => {
|
||||||
const { icon, color } = this.calloutResolver.getCalloutProperties(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);
|
return this.api.destroyHandle(version, consumerPlugin);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* nosourcemap */
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"id": "callout-manager",
|
"id": "callout-manager",
|
||||||
"version": "1.1.0",
|
"version": "1.1.1",
|
||||||
"description": "Easily create and customize callouts.",
|
"description": "Easily create and customize callouts.",
|
||||||
"author": "eth-p",
|
"author": "eth-p",
|
||||||
"authorUrl": "https://github.com/eth-p",
|
"authorUrl": "https://github.com/eth-p",
|
||||||
|
|||||||
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"id": "cmdr",
|
"id": "cmdr",
|
||||||
"name": "Commander",
|
"name": "Commander",
|
||||||
"version": "0.5.4",
|
"version": "0.5.5",
|
||||||
"minAppVersion": "1.4.0",
|
"minAppVersion": "1.4.0",
|
||||||
"description": "Customize your workspace by adding commands everywhere, create Macros and supercharge your mobile toolbar.",
|
"description": "Customize your workspace by adding commands everywhere, create Macros and supercharge your mobile toolbar.",
|
||||||
"author": "jsmorabito & phibr0",
|
"author": "jsmorabito & phibr0",
|
||||||
|
|||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+9
-24
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"id": "datacore",
|
"id": "datacore",
|
||||||
"name": "Datacore",
|
"name": "Datacore",
|
||||||
"version": "0.1.28",
|
"version": "0.1.29",
|
||||||
"minAppVersion": "1.4.11",
|
"minAppVersion": "1.4.11",
|
||||||
"description": "Reactive query engine backed by Javascript or a custom query language.",
|
"description": "Reactive query engine backed by Javascript or a custom query language.",
|
||||||
"author": "Michael Brenan",
|
"author": "Michael Brenan",
|
||||||
|
|||||||
+1
File diff suppressed because one or more lines are too long
+48
-48
File diff suppressed because one or more lines are too long
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"id": "external-file-embed-and-link",
|
"id": "external-file-embed-and-link",
|
||||||
"name": "External File Embed and Link",
|
"name": "External File Embed and Link",
|
||||||
"version": "1.5.6",
|
"version": "1.5.9",
|
||||||
"minAppVersion": "0.15.0",
|
"minAppVersion": "0.15.0",
|
||||||
"description": "Embed and link local files outside your vault with relative paths for cross-device and multi-platform compatibility.",
|
"description": "Embed and link local files outside your vault with relative paths for cross-device and multi-platform compatibility.",
|
||||||
"author": "oylbin",
|
"author": "oylbin",
|
||||||
|
|||||||
Vendored
+13
-15
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"id": "janitor",
|
"id": "janitor",
|
||||||
"name": "Janitor",
|
"name": "Janitor",
|
||||||
"version": "1.1.1",
|
"version": "1.1.3",
|
||||||
"minAppVersion": "0.15.0",
|
"minAppVersion": "0.15.0",
|
||||||
"description": "Performs cleanup tasks on the Obsidian vault",
|
"description": "Performs cleanup tasks on the Obsidian vault",
|
||||||
"author": "Gabriele Cannata",
|
"author": "Gabriele Cannata",
|
||||||
|
|||||||
Vendored
+72
-6
@@ -47,21 +47,78 @@ If your plugin does not need CSS, delete this file.
|
|||||||
.janitor-file .openFileIcon {
|
.janitor-file .openFileIcon {
|
||||||
right: 0px;
|
right: 0px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
/* cursor: pointer; */
|
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.janitor-file label {
|
.janitor-file label {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
/* cursor: pointer; */
|
|
||||||
display: flex;
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.janitor-file span {
|
.janitor-file-name {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
overflow: hidden;
|
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;
|
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 {
|
.janitor-file:hover .openFileIcon {
|
||||||
@@ -72,9 +129,18 @@ If your plugin does not need CSS, delete this file.
|
|||||||
outline: auto;
|
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 {
|
.janitor-scan-results {
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
max-height:250px;
|
max-height: 450px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.janitor-files-wrapper {
|
.janitor-files-wrapper {
|
||||||
|
|||||||
+254
-254
File diff suppressed because one or more lines are too long
+1
-1
@@ -6,5 +6,5 @@
|
|||||||
"description": "Integrate Git version control with automatic backup and other advanced features.",
|
"description": "Integrate Git version control with automatic backup and other advanced features.",
|
||||||
"isDesktopOnly": false,
|
"isDesktopOnly": false,
|
||||||
"fundingUrl": "https://ko-fi.com/vinzent",
|
"fundingUrl": "https://ko-fi.com/vinzent",
|
||||||
"version": "2.38.0"
|
"version": "2.38.2"
|
||||||
}
|
}
|
||||||
|
|||||||
+134
-120
File diff suppressed because one or more lines are too long
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"id": "obsidian-tasks-plugin",
|
"id": "obsidian-tasks-plugin",
|
||||||
"name": "Tasks",
|
"name": "Tasks",
|
||||||
"version": "7.23.1",
|
"version": "8.0.0",
|
||||||
"minAppVersion": "1.4.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.",
|
"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/",
|
"helpUrl": "https://publish.obsidian.md/tasks/",
|
||||||
"author": "Clare Macrae and Ilyas Landikov (created by Martin Schenck)",
|
"author": "Clare Macrae and Ilyas Landikov (created by Martin Schenck)",
|
||||||
|
|||||||
+1
-1
File diff suppressed because one or more lines are too long
+2
-2
File diff suppressed because one or more lines are too long
+3
-5
@@ -3,15 +3,13 @@
|
|||||||
"name": "Advanced Tables",
|
"name": "Advanced Tables",
|
||||||
"author": "Tony Grosinger",
|
"author": "Tony Grosinger",
|
||||||
"authorUrl": "https://grosinger.net",
|
"authorUrl": "https://grosinger.net",
|
||||||
"description": "Improved table navigation, formatting, manipulation, and formulas",
|
"description": "Improved table navigation, formatting, manipulation, and formulas.",
|
||||||
"isDesktopOnly": false,
|
"isDesktopOnly": false,
|
||||||
"minAppVersion": "1.0.0",
|
"minAppVersion": "1.0.0",
|
||||||
"version": "0.22.1",
|
"version": "0.22.2",
|
||||||
"js": "main.js",
|
|
||||||
"fundingUrl": {
|
"fundingUrl": {
|
||||||
"Github Sponsor": "https://github.com/sponsors/tgrosinger",
|
"Github Sponsor": "https://github.com/sponsors/tgrosinger",
|
||||||
"Buy me a Coffee": "https://buymeacoffee.com/tgrosinger",
|
"Buy me a Coffee": "https://buymeacoffee.com/tgrosinger",
|
||||||
"Paypal": "https://paypal.me/tgrosinger"
|
"Paypal": "https://paypal.me/tgrosinger"
|
||||||
},
|
}
|
||||||
"donation": "https://buymeacoffee.com/tgrosinger"
|
|
||||||
}
|
}
|
||||||
|
|||||||
+12865
-10693
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"id": "task-list-kanban",
|
"id": "task-list-kanban",
|
||||||
"name": "Task List Kanban",
|
"name": "Task List Kanban",
|
||||||
"version": "1.8.0",
|
"version": "1.11.0",
|
||||||
"minAppVersion": "1.5.3",
|
"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.",
|
"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",
|
"author": "Chris Kerr, Erika Rice Scherpelz",
|
||||||
|
|||||||
+429
@@ -19,3 +19,432 @@ If your plugin does not need CSS, delete this file.
|
|||||||
.setting-item.column .setting-item-control > input {
|
.setting-item.column .setting-item-control > input {
|
||||||
width: 100%;
|
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%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
+30
-22
File diff suppressed because one or more lines are too long
+8
-2
@@ -1,11 +1,17 @@
|
|||||||
{
|
{
|
||||||
"id": "templater-obsidian",
|
"id": "templater-obsidian",
|
||||||
"name": "Templater",
|
"name": "Templater",
|
||||||
"version": "2.18.1",
|
"version": "2.20.3",
|
||||||
"description": "Create and use templates",
|
"description": "Create and use templates",
|
||||||
"minAppVersion": "1.5.0",
|
"minAppVersion": "1.12.2",
|
||||||
"author": "SilentVoid",
|
"author": "SilentVoid",
|
||||||
"authorUrl": "https://github.com/SilentVoid13",
|
"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/",
|
"helpUrl": "https://silentvoid13.github.io/Templater/",
|
||||||
"isDesktopOnly": false
|
"isDesktopOnly": false
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user