MacBook-Pro-de-Oscar.local 2026-1-29:13:46:9

This commit is contained in:
oskar
2026-01-29 13:46:10 +01:00
parent 935905c653
commit 9fd740a2dd
31 changed files with 1577 additions and 1094 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
{
"id": "default-template",
"name": "Default Template",
"version": "1.2.3",
"version": "1.2.4",
"minAppVersion": "0.15.0",
"description": "Automatically apply templates to new notes with user-configurable template selection.",
"author": "raeperd",

View File

@@ -98,21 +98,22 @@ function children(element) {
}
function set_data(text, data) {
data = '' + data;
if (text.wholeText !== data)
text.data = data;
if (text.data === data)
return;
text.data = data;
}
function set_input_value(input, value) {
input.value = value == null ? '' : value;
}
function set_style(node, key, value, important) {
if (value === null) {
if (value == null) {
node.style.removeProperty(key);
}
else {
node.style.setProperty(key, value, important ? 'important' : '');
}
}
function select_option(select, value) {
function select_option(select, value, mounting) {
for (let i = 0; i < select.options.length; i += 1) {
const option = select.options[i];
if (option.__value === value) {
@@ -120,10 +121,12 @@ function select_option(select, value) {
return;
}
}
select.selectedIndex = -1; // no option should be selected
if (!mounting || value !== undefined) {
select.selectedIndex = -1; // no option should be selected
}
}
function select_value(select) {
const selected_option = select.querySelector(':checked') || select.options[0];
const selected_option = select.querySelector(':checked');
return selected_option && selected_option.__value;
}
@@ -151,9 +154,9 @@ function onMount(fn) {
const dirty_components = [];
const binding_callbacks = [];
const render_callbacks = [];
let render_callbacks = [];
const flush_callbacks = [];
const resolved_promise = Promise.resolve();
const resolved_promise = /* @__PURE__ */ Promise.resolve();
let update_scheduled = false;
function schedule_update() {
if (!update_scheduled) {
@@ -244,6 +247,16 @@ function update($$) {
$$.after_update.forEach(add_render_callback);
}
}
/**
* Useful for example to execute remaining `afterUpdate` callbacks before executing `destroy`.
*/
function flush_render_callbacks(fns) {
const filtered = [];
const targets = [];
render_callbacks.forEach((c) => fns.indexOf(c) === -1 ? filtered.push(c) : targets.push(c));
targets.forEach((c) => c());
render_callbacks = filtered;
}
const outroing = new Set();
function transition_in(block, local) {
if (block && block.i) {
@@ -277,6 +290,7 @@ function mount_component(component, target, anchor, customElement) {
function destroy_component(component, detaching) {
const $$ = component.$$;
if ($$.fragment !== null) {
flush_render_callbacks($$.after_update);
run_all($$.on_destroy);
$$.fragment && $$.fragment.d(detaching);
// TODO null out other refs, including component.$$ (but need to
@@ -390,7 +404,7 @@ var ProgressPropertyOptions;
ProgressPropertyOptions["TaskIncomplete"] = "Incomplete Tasks";
})(ProgressPropertyOptions || (ProgressPropertyOptions = {}));
/* src/Modals/ProgressPropertiesSettingModal/ProgressPropertiesModalContent.svelte generated by Svelte v3.55.1 */
/* src/Modals/ProgressPropertiesSettingModal/ProgressPropertiesModalContent.svelte generated by Svelte v3.59.2 */
function add_css$3(target) {
append_styles(target, "svelte-kqcr7b", ".buttonContainer.svelte-kqcr7b{display:flex;justify-content:center;margin-top:1rem}select.svelte-kqcr7b{border-radius:4px;width:100%;height:30px;border:1px solid #dbdbdc;color:#383a42;background-color:#fff;padding:3px}button.svelte-kqcr7b{margin-left:5px;margin-right:5px;font-size:15px}");
@@ -500,10 +514,12 @@ function create_each_block$3(ctx) {
append(td1, select);
for (let i = 0; i < each_blocks.length; i += 1) {
each_blocks[i].m(select, null);
if (each_blocks[i]) {
each_blocks[i].m(select, null);
}
}
select_option(select, /*property*/ ctx[10].type);
select_option(select, /*property*/ ctx[10].type, true);
append(tr, t1);
append(tr, td2);
append(td2, input1);
@@ -612,7 +628,9 @@ function create_fragment$4(ctx) {
append(table, t3);
for (let i = 0; i < each_blocks.length; i += 1) {
each_blocks[i].m(table, null);
if (each_blocks[i]) {
each_blocks[i].m(table, null);
}
}
append(div1, t4);
@@ -722,7 +740,7 @@ class ProgressPropertiesModalContent extends SvelteComponent {
}
}
/* src/Modals/AutoPropertiesSettingModal/AutoPropertiesModalContent.svelte generated by Svelte v3.55.1 */
/* src/Modals/AutoPropertiesSettingModal/AutoPropertiesModalContent.svelte generated by Svelte v3.59.2 */
function add_css$2(target) {
append_styles(target, "svelte-kqcr7b", ".buttonContainer.svelte-kqcr7b{display:flex;justify-content:center;margin-top:1rem}button.svelte-kqcr7b{margin-left:5px;margin-right:5px;font-size:15px}");
@@ -891,7 +909,9 @@ function create_each_block$2(ctx) {
append(tr, td2);
for (let i = 0; i < each_blocks.length; i += 1) {
each_blocks[i].m(td2, null);
if (each_blocks[i]) {
each_blocks[i].m(td2, null);
}
}
append(tr, t2);
@@ -1001,7 +1021,9 @@ function create_fragment$3(ctx) {
append(table, t4);
for (let i = 0; i < each_blocks.length; i += 1) {
each_blocks[i].m(table, null);
if (each_blocks[i]) {
each_blocks[i].m(table, null);
}
}
append(div1, t5);
@@ -1291,7 +1313,7 @@ var round = Math.round;
function getUAString() {
var uaData = navigator.userAgentData;
if (uaData != null && uaData.brands) {
if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {
return uaData.brands.map(function (item) {
return item.brand + "/" + item.version;
}).join(' ');
@@ -1578,17 +1600,7 @@ function effect$1(_ref2) {
}
}
if (process.env.NODE_ENV !== "production") {
if (!isHTMLElement(arrowElement)) {
console.error(['Popper: "arrow" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));
}
}
if (!contains(state.elements.popper, arrowElement)) {
if (process.env.NODE_ENV !== "production") {
console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper', 'element.'].join(' '));
}
return;
}
@@ -1619,10 +1631,9 @@ var unsetSides = {
// Zooming can change the DPR, but it seems to report a value that will
// cleanly divide the values into the appropriate subpixels.
function roundOffsetsByDPR(_ref) {
function roundOffsetsByDPR(_ref, win) {
var x = _ref.x,
y = _ref.y;
var win = window;
var dpr = win.devicePixelRatio || 1;
return {
x: round(x * dpr) / dpr || 0,
@@ -1705,7 +1716,7 @@ function mapToStyles(_ref2) {
var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
x: x,
y: y
}) : {
}, getWindow(popper)) : {
x: x,
y: y
};
@@ -1731,17 +1742,6 @@ function computeStyles(_ref5) {
adaptive = _options$adaptive === void 0 ? true : _options$adaptive,
_options$roundOffsets = options.roundOffsets,
roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
if (process.env.NODE_ENV !== "production") {
var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';
if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {
return transitionProperty.indexOf(property) >= 0;
})) {
console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: "transform", "top", "right", "bottom", "left".', '\n\n', 'Disable the "computeStyles" modifier\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\n\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));
}
}
var commonStyles = {
placement: getBasePlacement(state.placement),
variation: getVariation(state.placement),
@@ -2182,10 +2182,6 @@ function computeAutoPlacement(state, options) {
if (allowedPlacements.length === 0) {
allowedPlacements = placements$1;
if (process.env.NODE_ENV !== "production") {
console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, "auto" cannot be used to allow "bottom-start".', 'Use "auto-start" instead.'].join(' '));
}
} // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...
@@ -2737,108 +2733,6 @@ function debounce(fn) {
};
}
function format(str) {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
return [].concat(args).reduce(function (p, c) {
return p.replace(/%s/, c);
}, str);
}
var INVALID_MODIFIER_ERROR = 'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s';
var MISSING_DEPENDENCY_ERROR = 'Popper: modifier "%s" requires "%s", but "%s" modifier is not available';
var VALID_PROPERTIES = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options'];
function validateModifiers(modifiers) {
modifiers.forEach(function (modifier) {
[].concat(Object.keys(modifier), VALID_PROPERTIES) // IE11-compatible replacement for `new Set(iterable)`
.filter(function (value, index, self) {
return self.indexOf(value) === index;
}).forEach(function (key) {
switch (key) {
case 'name':
if (typeof modifier.name !== 'string') {
console.error(format(INVALID_MODIFIER_ERROR, String(modifier.name), '"name"', '"string"', "\"" + String(modifier.name) + "\""));
}
break;
case 'enabled':
if (typeof modifier.enabled !== 'boolean') {
console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"enabled"', '"boolean"', "\"" + String(modifier.enabled) + "\""));
}
break;
case 'phase':
if (modifierPhases.indexOf(modifier.phase) < 0) {
console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"phase"', "either " + modifierPhases.join(', '), "\"" + String(modifier.phase) + "\""));
}
break;
case 'fn':
if (typeof modifier.fn !== 'function') {
console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"fn"', '"function"', "\"" + String(modifier.fn) + "\""));
}
break;
case 'effect':
if (modifier.effect != null && typeof modifier.effect !== 'function') {
console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"effect"', '"function"', "\"" + String(modifier.fn) + "\""));
}
break;
case 'requires':
if (modifier.requires != null && !Array.isArray(modifier.requires)) {
console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"requires"', '"array"', "\"" + String(modifier.requires) + "\""));
}
break;
case 'requiresIfExists':
if (!Array.isArray(modifier.requiresIfExists)) {
console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"requiresIfExists"', '"array"', "\"" + String(modifier.requiresIfExists) + "\""));
}
break;
case 'options':
case 'data':
break;
default:
console.error("PopperJS: an invalid property has been provided to the \"" + modifier.name + "\" modifier, valid properties are " + VALID_PROPERTIES.map(function (s) {
return "\"" + s + "\"";
}).join(', ') + "; but \"" + key + "\" was provided.");
}
modifier.requires && modifier.requires.forEach(function (requirement) {
if (modifiers.find(function (mod) {
return mod.name === requirement;
}) == null) {
console.error(format(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement));
}
});
});
});
}
function uniqueBy(arr, fn) {
var identifiers = new Set();
return arr.filter(function (item) {
var identifier = fn(item);
if (!identifiers.has(identifier)) {
identifiers.add(identifier);
return true;
}
});
}
function mergeByName(modifiers) {
var merged = modifiers.reduce(function (merged, current) {
var existing = merged[current.name];
@@ -2854,8 +2748,6 @@ function mergeByName(modifiers) {
});
}
var INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';
var INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';
var DEFAULT_OPTIONS = {
placement: 'bottom',
modifiers: [],
@@ -2917,42 +2809,7 @@ function popperGenerator(generatorOptions) {
state.orderedModifiers = orderedModifiers.filter(function (m) {
return m.enabled;
}); // Validate the provided modifiers so that the consumer will get warned
// if one of the modifiers is invalid for any reason
if (process.env.NODE_ENV !== "production") {
var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {
var name = _ref.name;
return name;
});
validateModifiers(modifiers);
if (getBasePlacement(state.options.placement) === auto) {
var flipModifier = state.orderedModifiers.find(function (_ref2) {
var name = _ref2.name;
return name === 'flip';
});
if (!flipModifier) {
console.error(['Popper: "auto" placements require the "flip" modifier be', 'present and enabled to work.'].join(' '));
}
}
var _getComputedStyle = getComputedStyle(popper),
marginTop = _getComputedStyle.marginTop,
marginRight = _getComputedStyle.marginRight,
marginBottom = _getComputedStyle.marginBottom,
marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can
// cause bugs with positioning, so we'll warn the consumer
if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {
return parseFloat(margin);
})) {
console.warn(['Popper: CSS "margin" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));
}
}
});
runModifierEffects();
return instance.update();
},
@@ -2972,10 +2829,6 @@ function popperGenerator(generatorOptions) {
// anymore
if (!areValidElements(reference, popper)) {
if (process.env.NODE_ENV !== "production") {
console.error(INVALID_ELEMENT_ERROR);
}
return;
} // Store the reference and popper rects to be read by modifiers
@@ -2998,18 +2851,8 @@ function popperGenerator(generatorOptions) {
state.orderedModifiers.forEach(function (modifier) {
return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
});
var __debug_loops__ = 0;
for (var index = 0; index < state.orderedModifiers.length; index++) {
if (process.env.NODE_ENV !== "production") {
__debug_loops__ += 1;
if (__debug_loops__ > 100) {
console.error(INFINITE_LOOP_ERROR);
break;
}
}
if (state.reset === true) {
state.reset = false;
index = -1;
@@ -3047,10 +2890,6 @@ function popperGenerator(generatorOptions) {
};
if (!areValidElements(reference, popper)) {
if (process.env.NODE_ENV !== "production") {
console.error(INVALID_ELEMENT_ERROR);
}
return instance;
}
@@ -3065,11 +2904,11 @@ function popperGenerator(generatorOptions) {
// one.
function runModifierEffects() {
state.orderedModifiers.forEach(function (_ref3) {
var name = _ref3.name,
_ref3$options = _ref3.options,
options = _ref3$options === void 0 ? {} : _ref3$options,
effect = _ref3.effect;
state.orderedModifiers.forEach(function (_ref) {
var name = _ref.name,
_ref$options = _ref.options,
options = _ref$options === void 0 ? {} : _ref$options,
effect = _ref.effect;
if (typeof effect === 'function') {
var cleanupFn = effect({
@@ -3284,7 +3123,7 @@ class LogManager {
LogManager.loggers = [];
const log = new LogManager();
/* src/Modals/KanbanHelperSetting/KanbanHelperSettingContent.svelte generated by Svelte v3.55.1 */
/* src/Modals/KanbanHelperSetting/KanbanHelperSettingContent.svelte generated by Svelte v3.59.2 */
function add_css$1(target) {
append_styles(target, "svelte-kqcr7b", ".buttonContainer.svelte-kqcr7b{display:flex;justify-content:center;margin-top:1rem}button.svelte-kqcr7b{margin-left:5px;margin-right:5px;font-size:15px}");
@@ -3451,7 +3290,9 @@ function create_fragment$2(ctx) {
append(table, t6);
for (let i = 0; i < each_blocks.length; i += 1) {
each_blocks[i].m(table, null);
if (each_blocks[i]) {
each_blocks[i].m(table, null);
}
}
append(div1, t7);
@@ -3617,7 +3458,7 @@ class KanbanHelperSettingContent extends SvelteComponent {
}
}
/* src/Modals/shared/SingleValueTableEditorContent.svelte generated by Svelte v3.55.1 */
/* src/Modals/shared/SingleValueTableEditorContent.svelte generated by Svelte v3.59.2 */
function add_css(target) {
append_styles(target, "svelte-kqcr7b", ".buttonContainer.svelte-kqcr7b{display:flex;justify-content:center;margin-top:1rem}button.svelte-kqcr7b{margin-left:5px;margin-right:5px;font-size:15px}");
@@ -3750,7 +3591,9 @@ function create_fragment$1(ctx) {
append(table, t2);
for (let i = 0; i < each_blocks.length; i += 1) {
each_blocks[i].m(table, null);
if (each_blocks[i]) {
each_blocks[i].m(table, null);
}
}
append(div1, t3);
@@ -4462,7 +4305,7 @@ class GenericTextSuggester extends TextInputSuggest {
}
}
/* src/Modals/GenericPrompt/GenericPromptContent.svelte generated by Svelte v3.55.1 */
/* src/Modals/GenericPrompt/GenericPromptContent.svelte generated by Svelte v3.59.2 */
function create_fragment(ctx) {
let div;
@@ -5357,6 +5200,8 @@ var OnModifyAutomatorType;
OnModifyAutomatorType["ProgressProperties"] = "ProgressProperties";
})(OnModifyAutomatorType || (OnModifyAutomatorType = {}));
const MARKDOWN_HEADING = /#+\s+(.+)/;
const TASK_REGEX = /(\s*)-\s*\[([ Xx\.]?)\]\s*(.+)/i;
class KanbanHelper extends OnFileModifyAutomator {
get boards() { return this.plugin.settings.KanbanHelper.boards; }
constructor(plugin) {
@@ -5371,20 +5216,87 @@ class KanbanHelper extends OnFileModifyAutomator {
const { links } = kanbanBoardFileCache;
if (!links)
return;
await this.updateFilesInBoard(links, targetBoard, kanbanBoardFileContent);
await this.updateFilesInBoard(links, targetBoard, file.path, kanbanBoardFileContent);
}
findBoardByName(boardName) {
return this.boards.find(board => board.boardName === boardName);
}
getLinkFile(link) {
const markdownFiles = this.app.vault.getMarkdownFiles();
return markdownFiles.find(f => f.path.endsWith(`/${link.link}.md`) || f.path === `${link.link}.md`);
resolveLinkFile(link, sourcePath) {
const linkpath = this.normalizeLinkpath(link === null || link === void 0 ? void 0 : link.link);
if (!linkpath)
return null;
const candidates = this.buildLinkpathCandidates(linkpath);
const resolvedFromCache = this.resolveByMetadataCache(candidates, sourcePath);
if (resolvedFromCache)
return resolvedFromCache;
const resolvedByPath = this.resolveByPathCandidates(candidates);
if (resolvedByPath)
return resolvedByPath;
return this.resolveByBasenameCandidates(candidates);
}
async updateFilesInBoard(links, board, kanbanBoardFileContent) {
normalizeLinkpath(link) {
if (!link)
return null;
let normalized = link;
try {
normalized = decodeURIComponent(normalized);
}
catch (_a) {
// Keep original link if decoding fails
}
normalized = normalized.replace(/^\/+/, "");
normalized = obsidian.normalizePath(normalized);
return obsidian.getLinkpath(normalized);
}
buildLinkpathCandidates(linkpath) {
const withoutExtension = this.stripMarkdownExtension(linkpath);
return Array.from(new Set([linkpath, withoutExtension]));
}
stripMarkdownExtension(path) {
return path.toLowerCase().endsWith(".md") ? path.slice(0, -3) : path;
}
ensureMarkdownExtension(path) {
return path.toLowerCase().endsWith(".md") ? path : `${path}.md`;
}
resolveByMetadataCache(candidates, sourcePath) {
for (const candidate of candidates) {
const resolved = this.app.metadataCache.getFirstLinkpathDest(candidate, sourcePath);
if (resolved)
return resolved;
}
return null;
}
resolveByPathCandidates(candidates) {
for (const candidate of candidates) {
const file = this.app.vault.getAbstractFileByPath(this.ensureMarkdownExtension(candidate));
const markdownFile = abstractFileToMarkdownTFile(file);
if (markdownFile)
return markdownFile;
}
return null;
}
resolveByBasenameCandidates(candidates) {
var _a;
const markdownFiles = this.app.vault.getMarkdownFiles();
for (const candidate of candidates) {
if (candidate.includes("/"))
continue;
const basename = this.stripMarkdownExtension((_a = candidate.split("/").pop()) !== null && _a !== void 0 ? _a : "");
if (!basename)
continue;
const found = markdownFiles.find(f => f.basename === basename);
if (found)
return found;
}
return null;
}
isMarkdownFile(file) {
return !!file && file.extension === "md";
}
async updateFilesInBoard(links, board, sourcePath, kanbanBoardFileContent) {
for (const link of links) {
const linkFile = this.getLinkFile(link);
const linkIsMarkdownFile = !!abstractFileToMarkdownTFile(linkFile);
if (!linkFile || !linkIsMarkdownFile) {
const linkFile = this.resolveLinkFile(link, sourcePath);
if (!this.isMarkdownFile(linkFile)) {
log.logMessage(`${link.link} is not updatable for the KanbanHelper.`);
continue;
}
@@ -5404,19 +5316,17 @@ class KanbanHelper extends OnFileModifyAutomator {
}
const targetProperty = fileProperties.find(prop => prop.key === board.property);
if (!targetProperty) {
log.logWarning(`'${board.property} not found in ${board.boardName} for file "${linkFile.name}".'`);
new obsidian.Notice(`'${board.property} not found in ${board.boardName} for file "${linkFile.name}".'`); // This notice will help users debug "Property not found in board" errors.
log.logWarning(`'${board.property}' not found in '${board.boardName}' for file "${linkFile.name}".`);
new obsidian.Notice(`'${board.property}' not found in '${board.boardName}' for file "${linkFile.name}".`); // This notice will help users debug "Property not found in board" errors.
return;
}
const propertyHasChanged = (targetProperty.content != heading); // Kanban Helper will check if the file's property is different from its current heading in the kanban and will only make changes to the file if there's a difference
const propertyHasChanged = targetProperty.content !== heading;
if (propertyHasChanged) {
console.debug("Updating " + targetProperty.key + " of file " + linkFile.name + " to " + heading);
console.debug(`Updating ${targetProperty.key} of file ${linkFile.name} to ${heading}`);
await this.plugin.controller.updatePropertyInFile(targetProperty, heading, linkFile);
}
}
getTaskHeading(targetTaskContent, fileContent) {
const MARKDOWN_HEADING = new RegExp(/#+\s+(.+)/);
const TASK_REGEX = new RegExp(/(\s*)-\s*\[([ Xx\.]?)\]\s*(.+)/, "i");
let lastHeading = "";
const contentLines = fileContent.split("\n");
for (const line of contentLines) {
@@ -5429,7 +5339,7 @@ class KanbanHelper extends OnFileModifyAutomator {
if (taskMatch) {
const taskContent = taskMatch[3];
if (taskContent.includes(targetTaskContent)) {
return lastHeading;
return lastHeading || null;
}
}
}
@@ -5536,3 +5446,5 @@ class MetaEdit extends obsidian.Plugin {
}
module.exports = MetaEdit;
/* nosourcemap */

View File

@@ -1,7 +1,7 @@
{
"id": "metaedit",
"name": "MetaEdit",
"version": "1.8.2",
"version": "1.8.4",
"minAppVersion": "1.4.1",
"description": "MetaEdit helps you manage your metadata.",
"author": "Christian B. B. Houmann",

View File

@@ -148,7 +148,7 @@
}
}
},
"previousRelease": "2.19.2",
"previousRelease": "2.20.0",
"showReleaseNotes": true,
"compareManifestToPluginVersion": true,
"showNewVersionNotification": true,

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
{
"id": "obsidian-excalidraw-plugin",
"name": "Excalidraw",
"version": "2.19.2",
"version": "2.20.0",
"minAppVersion": "1.5.7",
"description": "Sketch Your Mind. An Obsidian plugin to edit and view Excalidraw drawings. Enter the world of 4D Visual PKM.",
"author": "Zsolt Viczian",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,8 +1,8 @@
{
"id": "obsidian-hider",
"name": "Hider",
"version": "1.5.1",
"minAppVersion": "1.6.0",
"version": "1.6.1",
"minAppVersion": "1.11.1",
"description": "Hide UI elements such as tooltips, status, titlebar and more",
"author": "@kepano",
"authorUrl": "https://www.twitter.com/kepano",

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
{
"id": "obsidian-markmind",
"name": "Markmind",
"version": "3.4.2",
"version": "3.4.3",
"minAppVersion": "0.9.12",
"description": "This is a mindmap , outline tool for obsidian.",
"author": "Mark",

View File

@@ -2616,9 +2616,10 @@ th {
box-shadow: 0 0 0 #fff;
}
.mm-mobile-app .mm-node .mm-node-content {
/* .mm-mobile-app .mm-node .mm-node-edit,
.mm-mobile-app .mm-node .cm-node-text {
max-width: 400px;
}
} */
.mm-note {
position: absolute;
@@ -3341,6 +3342,41 @@ th {
cursor: pointer;
}
.mm-embed-link {
position: absolute;
width: 182px;
height: 30px;
background-color: #333;
border: 1px solid #000;
border-radius: 3px;
z-index: 1000;
cursor: pointer;
color: #666;
}
.mm-embed-link div {
width: 90px;
float: left;
text-align: center;
line-height: 30px;
font-size: 12px;
display: flex;
justify-content: center;
align-items: center;
}
.mm-embed-link div span {
display: flex;
justify-content: center;
align-items: center;
margin-right: 2px;
}
.mm-embed-link div span svg {
fill: #666;
}
/* .mm-link-menu:before {
width: 0;
height: 0;

File diff suppressed because one or more lines are too long

View File

@@ -1,11 +1,11 @@
{
"id": "obsidian-minimal-settings",
"name": "Minimal Theme Settings",
"version": "8.1.1",
"minAppVersion": "1.1.9",
"description": "Change the colors, fonts and features of Minimal Theme.",
"author": "@kepano",
"authorUrl": "https://www.twitter.com/kepano",
"fundingUrl": "https://www.buymeacoffee.com/kepano",
"isDesktopOnly": false
}
{
"id": "obsidian-minimal-settings",
"name": "Minimal Theme Settings",
"version": "8.2.1",
"minAppVersion": "1.11.1",
"description": "Change the colors, fonts and features of Minimal Theme.",
"author": "@kepano",
"authorUrl": "https://www.twitter.com/kepano",
"fundingUrl": "https://www.buymeacoffee.com/kepano",
"isDesktopOnly": false
}

View File

@@ -1 +1,3 @@
/* Empty */
.setting-group > .setting-item-heading .setting-item-description {
margin-top: 4px;
}

View File

@@ -546,10 +546,12 @@
}
],
"inputPrompt": "single-line",
"persistInputPromptDrafts": true,
"useSelectionAsCaptureValue": true,
"devMode": false,
"templateFolderPath": "templates",
"announceUpdates": "all",
"version": "2.9.4",
"version": "2.10.0",
"globalVariables": {},
"onePageInputEnabled": false,
"disableOnlineFeatures": true,
@@ -557,6 +559,17 @@
"showCaptureNotification": true,
"showInputCancellationNotification": false,
"enableTemplatePropertyTypes": false,
"dateAliases": {
"t": "today",
"tm": "tomorrow",
"yd": "yesterday",
"nw": "next week",
"nm": "next month",
"ny": "next year",
"lw": "last week",
"lm": "last month",
"ly": "last year"
},
"ai": {
"defaultModel": "Ask me",
"defaultSystemPrompt": "As an AI assistant within Obsidian, your primary goal is to help users manage their ideas and knowledge more effectively. Format your responses using Markdown syntax. Please use the [[Obsidian]] link format. You can write aliases for the links by writing [[Obsidian|the alias after the pipe symbol]]. To use mathematical notation, use LaTeX syntax. LaTeX syntax for larger equations should be on separate lines, surrounded with double dollar signs ($$). You can also inline math expressions by wrapping it in $ symbols. For example, use $$w_{ij}^{\text{new}}:=w_{ij}^{\text{current}}+etacdotdelta_jcdot x_{ij}$$ on a separate line, but you can write \"($eta$ = learning rate, $delta_j$ = error term, $x_{ij}$ = input)\" inline.",
@@ -610,6 +623,8 @@
"addDefaultAIProviders": true,
"removeMacroIndirection": true,
"migrateFileOpeningSettings": true,
"setProviderModelDiscoveryMode": true
"setProviderModelDiscoveryMode": true,
"backfillFileOpeningDefaults": true,
"migrateProviderApiKeysToSecretStorage": true
}
}

File diff suppressed because one or more lines are too long

View File

@@ -1,8 +1,8 @@
{
"id": "quickadd",
"name": "QuickAdd",
"version": "2.9.4",
"minAppVersion": "1.6.0",
"version": "2.10.0",
"minAppVersion": "1.11.4",
"description": "Quickly add new pages or content to your vault.",
"author": "Christian B. B. Houmann",
"authorUrl": "https://bagerbach.com",

File diff suppressed because one or more lines are too long

View File

@@ -222,13 +222,24 @@ function updateDivExtraAttributes(app, settings, link, destName, linkName, filte
if (!linkName) {
linkName = link.textContent;
}
if (!!link.parentElement.getAttribute('data-path')) {
// File Browser
linkName = link.parentElement.getAttribute('data-path');
}
else if (link.parentElement.getAttribute("class") == "suggestion-content" && !!link.nextElementSibling) {
// Auto complete
linkName = link.nextElementSibling.textContent + linkName;
// Sometimes textContent refers to the alias, missing the base name/path. Then we need to explicitly get the base name/path from attributes.
// Check for file name in various attributes, in order of preference
const parent = link.parentElement;
const attributeSources = [
() => parent === null || parent === void 0 ? void 0 : parent.getAttribute('data-path'), // File Browser
() => parent === null || parent === void 0 ? void 0 : parent.getAttribute("data-href"), // Bases
() => parent === null || parent === void 0 ? void 0 : parent.getAttribute("href"), // Bases
() => link.getAttribute("data-href"), // Bases (v1.10+)
() => link.getAttribute("href"), // Bases
() => (parent === null || parent === void 0 ? void 0 : parent.getAttribute("class")) === "suggestion-content" && link.nextElementSibling
? link.nextElementSibling.textContent + linkName : null // Auto complete
];
for (const source of attributeSources) {
const value = source();
if (value) {
linkName = value;
break;
}
}
const dest = app.metadataCache.getFirstLinkpathDest(obsidian.getLinkpath(linkName), destName);
if (dest) {
@@ -248,7 +259,7 @@ function updatePropertiesPane(propertiesEl, file, app, plugin) {
var _a;
const frontmatter = (_a = app.metadataCache.getCache(file.path)) === null || _a === void 0 ? void 0 : _a.frontmatter;
if (!!frontmatter) {
const nodes = propertiesEl.querySelectorAll("div.internal-link > .multi-select-pill-content");
const nodes = propertiesEl.querySelectorAll("div.multi-select-pill-content");
for (let i = 0; i < nodes.length; ++i) {
const el = nodes[i];
const linkText = el.textContent;
@@ -1279,7 +1290,7 @@ class SuperchargedLinks extends obsidian.Plugin {
});
// Initialization
this.registerEvent(this.app.workspace.on("window-open", (window, win) => this.initModalObservers(this, window.getContainer().doc)));
// Update when
// Update when
// Debounced to prevent lag when writing
this.registerEvent(this.app.metadataCache.on('changed', obsidian.debounce(updateLinks, 500, true)));
// Update when layout changes
@@ -1295,7 +1306,7 @@ class SuperchargedLinks extends obsidian.Plugin {
});
}
initViewObservers(plugin) {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
// Reset observers
plugin.observers.forEach(([observer, type]) => {
observer.disconnect();
@@ -1325,9 +1336,12 @@ class SuperchargedLinks extends obsidian.Plugin {
// @ts-ignore
if (((_k = (_j = (_h = (_g = plugin.app) === null || _g === void 0 ? void 0 : _g.internalPlugins) === null || _h === void 0 ? void 0 : _h.plugins) === null || _j === void 0 ? void 0 : _j.bases) === null || _k === void 0 ? void 0 : _k.enabled) && plugin.settings.enableBases) {
// console.log('Supercharged links: Enabling bases support');
plugin.registerViewType('bases', plugin, '.internal-link');
plugin.registerViewType('bases', plugin, 'span.internal-link');
plugin.registerViewType('bases', plugin, '.multi-select-pill-content');
// For embedded bases
plugin.registerViewType('markdown', plugin, 'div.bases-table-cell .internal-link');
plugin.registerViewType('markdown', plugin, 'div.bases-table-cell > span.internal-link');
plugin.registerViewType('markdown', plugin, 'div.bases-table-cell div.multi-select-pill-content');
plugin.registerViewType('markdown', plugin, 'div.bases-cards-line');
}
if ((_o = (_m = (_l = plugin.app) === null || _l === void 0 ? void 0 : _l.plugins) === null || _m === void 0 ? void 0 : _m.plugins) === null || _o === void 0 ? void 0 : _o['similar-notes']) {
plugin.registerViewType('markdown', plugin, '.similar-notes-pane .tree-item-inner', true);
@@ -1352,6 +1366,10 @@ class SuperchargedLinks extends obsidian.Plugin {
// TODO: No proper unloading!
}
plugin.registerViewType('file-properties', plugin, 'div.internal-link > .multi-select-pill-content');
if ((_1 = (_0 = (_z = plugin.app) === null || _z === void 0 ? void 0 : _z.plugins) === null || _0 === void 0 ? void 0 : _0.plugins) === null || _1 === void 0 ? void 0 : _1['notebook-navigator']) {
plugin.registerViewType('notebook-navigator', plugin, 'span.nn-shortcut-label');
plugin.registerViewType('notebook-navigator', plugin, 'div.nn-file-name');
}
}
initModalObservers(plugin, doc) {
const config = {

View File

@@ -1,8 +1,8 @@
{
"id": "supercharged-links-obsidian",
"name": "Supercharged Links",
"version": "0.13.6",
"minAppVersion": "1.9.10",
"version": "0.13.10",
"minAppVersion": "1.11.0",
"description": "Add properties and menu options to links and style them!",
"author": "mdelobelle & Emile",
"authorUrl": "https://github.com/mdelobelle/mdelobelle/tree/main",

View File

@@ -328,10 +328,14 @@ var require_wordcloud2 = __commonJS({
clientX = evt.clientX;
clientY = evt.clientY;
}
var eventX = clientX - rect.left;
var eventXvalue = clientX - rect.left;
var eventX = eventXvalue < 0 ? 0 : eventXvalue;
var eventY = clientY - rect.top;
var x = Math.floor(eventX * (canvas.width / rect.width || 1) / g);
var y = Math.floor(eventY * (canvas.height / rect.height || 1) / g);
if (!infoGrid[x]) {
return null;
}
return infoGrid[x][y];
};
var wordcloudhover = function wordcloudhover2(evt) {
@@ -1481,6 +1485,7 @@ var DEFAULT_SETTINGS = {
var TagCloudPluginSettingsTab = class extends import_obsidian.PluginSettingTab {
constructor(plugin) {
super(plugin.app, plugin);
this.icon = "cloudy";
}
display() {
const { containerEl } = this;
@@ -1488,27 +1493,30 @@ var TagCloudPluginSettingsTab = class extends import_obsidian.PluginSettingTab {
if (!import_wordcloud.default.isSupported) {
containerEl.createEl("p", { cls: "cloud-error", text: "Your device is not supported" });
}
containerEl.createEl("h1", { text: "Tag & Word Cloud Settings" });
new import_obsidian.Setting(containerEl).setName("Additional Stopwords").setDesc("Don't show any of these words in the word cloud(one per line)").addTextArea((text) => {
text.setValue(this.plugin.settings.stopwords).onChange((value) => __async(this, null, function* () {
this.plugin.settings.stopwords = value;
yield this.plugin.saveSettings();
}));
text.inputEl.setAttr("rows", 8);
new import_obsidian.SettingGroup(containerEl).setHeading("Wordcloud").addSetting((setting) => {
setting.setName("Additional stopwords").setDesc("Don't show any of these words in the word cloud(one per line)").addTextArea((text) => {
text.setValue(this.plugin.settings.stopwords).onChange((value) => __async(this, null, function* () {
this.plugin.settings.stopwords = value;
yield this.plugin.saveSettings();
}));
text.inputEl.setAttr("rows", 8);
});
}).addSetting((setting) => {
setting.setDesc("").addButton((button) => {
button.setButtonText("Recalculate word distribution").onClick(() => __async(this, null, function* () {
yield this.plugin.calculateWordDistribution(true);
}));
});
});
new import_obsidian.Setting(containerEl).setDesc("").addButton((button) => {
button.setButtonText("Recalculate Word Distribution").onClick(() => __async(this, null, function* () {
yield this.plugin.calculateWordDistribution(true);
}));
});
new import_obsidian.Setting(containerEl).setName("Tagcloud").setHeading();
new import_obsidian.Setting(containerEl).setName("Excluded tags").setDesc("The following tags wil be excluded from all tag clouds (one per line, without the #)").addTextArea((text) => {
text.setValue(this.plugin.settings.tags.exclude.join(", "));
text.onChange((value) => __async(this, null, function* () {
this.plugin.settings.tags.exclude = value.split(", ");
yield this.plugin.saveSettings();
}));
text.inputEl.setAttr("rows", 10);
new import_obsidian.SettingGroup(containerEl).setHeading("Tagcloud").addSetting((setting) => {
setting.setName("Excluded tags").setDesc("The following tags wil be excluded from all tag clouds (one per line, without the #)").addTextArea((text) => {
text.setValue(this.plugin.settings.tags.exclude.join(", "));
text.onChange((value) => __async(this, null, function* () {
this.plugin.settings.tags.exclude = value.split(", ");
yield this.plugin.saveSettings();
}));
text.inputEl.setAttr("rows", 10);
});
});
}
};
@@ -2255,3 +2263,5 @@ var TagCloudPlugin3 = class extends import_obsidian4.Plugin {
* Copyright 2011 - 2019 Tim Guan-tin Chien and contributors.
* Released under the MIT license
*/
/* nosourcemap */

View File

@@ -1,8 +1,8 @@
{
"id": "tag-word-cloud",
"name": "Tag & Word Cloud",
"version": "1.4.1",
"minAppVersion": "1.0.0",
"version": "1.5.0",
"minAppVersion": "1.11.0",
"description": "Show a cloud of your tags/words in a note",
"author": "Johannes Theiner",
"authorUrl": "https://github.com/joethei",

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
{
"id": "templater-obsidian",
"name": "Templater",
"version": "2.16.4",
"version": "2.18.0",
"description": "Create and use templates",
"minAppVersion": "1.5.0",
"author": "SilentVoid",

File diff suppressed because one or more lines are too long

View File

@@ -1,8 +1,8 @@
{
"id": "various-complements",
"name": "Various Complements",
"version": "10.8.1",
"minAppVersion": "0.16.0",
"version": "11.0.0",
"minAppVersion": "1.11.4",
"description": "This plugin enables you to complete words like the auto-completion of IDE",
"author": "tadashi-aikawa",
"authorUrl": "https://github.com/tadashi-aikawa",

View File

@@ -27,16 +27,20 @@
.various-complements__settings__nested {
padding-left: 30px;
}
.various-complements__settings__header {
position: relative;
padding-left: 25px;
.setting-group .setting-items .various-complements__settings__nested {
padding-left: 30px;
}
.various-complements__settings__header::before {
h3.various-complements__settings__header {
position: relative;
padding-left: 1.5rem;
margin-top: var(--size-4-6);
}
h3.various-complements__settings__header::before {
position: absolute;
width: 20px;
width: 1.25rem;
margin-top: 3px;
margin-left: -25px;
margin-left: -1.5rem;
filter: invert(0.5) hue-rotate(180deg);
}
@@ -75,13 +79,14 @@
}
.various-complements__settings__popup-hotkey {
padding: 1rem 0;
/*noinspection CssUnresolvedCustomProperty*/
padding: 0.5rem 0;
border-top: 1px solid var(--background-modifier-border);
}
.various-complements__settings__popup-hotkey-item {
padding-left: 2rem;
.setting-group
.setting-items
.various-complements__settings__popup-hotkey-item {
padding: 0.2rem;
}
.various-complements__footer {