iOS 2 years ago
parent 4d0e51db58
commit 90c5e65ed2

@ -12,7 +12,8 @@
"bulletp_relationship",
"inline-block-embeds",
"hyphenation_justification",
"big_icon_link"
"big_icon_link",
"MCL Multi Column"
],
"accentColor": "#3a87fe"
}

@ -6,7 +6,6 @@
"buttons",
"obsidian-commits",
"copy-as-html",
"customizable-page-header-buttons",
"customjs",
"dataview",
"obsidian-dice-roller",
@ -32,19 +31,16 @@
"obsidian42-brat",
"url-into-selection",
"quickadd",
"obsidian-react-components",
"obsidian-reminder-plugin",
"obsidian-sortable",
"obsidian-stopwatch-plugin",
"obsidian-task-collector",
"taskbone-ocr-plugin",
"obsidian-tasks-plugin",
"mrj-text-expand",
"obsidian-tracker",
"txt-as-md-obsidian",
"obsidian-wikipedia",
"obsidian-read-it-later",
"obsidian-full-calendar",
"markdown-table-editor",
"obsidian-book-search-plugin",
"obsidian-media-db-plugin",
@ -60,9 +56,18 @@
"templater-obsidian",
"obsidian-kanban",
"plugins-galore",
"obsidian-3d-graph",
"obsidian-rich-links",
"auto-card-link",
"simple-time-tracker",
"obsidian-dialogue-plugin"
"obsidian-dialogue-plugin",
"obsidian-scroll-to-top-plugin",
"obsidian-account-linker",
"cmdr",
"list-style",
"multi-column-markdown",
"obsidian-snippet-downloader",
"obsidian-full-calendar",
"obsidian-react-components",
"3d-graph",
"obsidian-tasks-plugin"
]

@ -95,6 +95,6 @@
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 0.18364180158120558,
"scale": 0.13214067549723676,
"close": true
}

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{
"id": "obsidian-3d-graph",
"id": "3d-graph",
"name": "3D Graph",
"version": "1.0.0",
"version": "1.0.3",
"description": "A 3D Graph for Obsidian",
"author": "Alexander Weichart",
"authorUrl": "https://github.com/AlexW00",

@ -44,7 +44,7 @@
.graph-3d-view .graph-settings-view > .clickable-icon {
position: absolute;
top: 8px;
left: 8px;
right: 8px;
}
.graph-3d-view .node-label {

@ -0,0 +1,73 @@
{
"confirmDeletion": true,
"showAddCommand": true,
"debug": false,
"editorMenu": [],
"fileMenu": [
{
"id": "garble-text:toggle-garble-text",
"icon": "align-justify",
"name": "Garble Text: Toggle Garble Text",
"mode": "any"
},
{
"id": "obsidian-tasks-plugin:edit-task",
"icon": "list-checks",
"name": "Tasks: Create or edit task",
"mode": "any"
},
{
"id": "editor:save-file",
"icon": "save",
"name": "Save current file",
"mode": "any"
}
],
"leftRibbon": [],
"rightRibbon": [],
"titleBar": [],
"statusBar": [],
"pageHeader": [
{
"id": "obsidian-map-view:convert-selection-to-location",
"icon": "map-pin",
"name": "Map View: Convert Selection to Geolocation",
"mode": "any"
},
{
"id": "obsidian-media-db-plugin:open-media-db-search-modal",
"icon": "tv",
"name": "Media DB Plugin: Add new Media DB entry",
"mode": "any"
},
{
"id": "obsidian-book-search-plugin:open-book-search-modal",
"icon": "book",
"name": "Book Search: Create new book note",
"mode": "any"
},
{
"id": "auto-card-link:auto-card-link-paste-and-enhance",
"icon": "bookmark",
"name": "Auto Card Link: Paste URL and enhance to card link",
"mode": "any"
}
],
"macros": [],
"explorer": [],
"hide": {
"statusbar": [],
"leftRibbon": []
},
"spacing": 8,
"advancedToolbar": {
"rowHeight": 48,
"rowCount": 2,
"spacing": 0,
"buttonWidth": 48,
"columnLayout": false,
"mappedIcons": [],
"tooltips": false,
"heightOffset": 0
}
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,10 @@
{
"id": "cmdr",
"name": "Commander",
"version": "0.4.1",
"minAppVersion": "0.16.0",
"description": "Customize your workspace by adding commands everywhere, create Macros and supercharge your mobile toolbar.",
"author": "jsmorabito & phibr0",
"authorUrl": "https://github.com/phibr0",
"isDesktopOnly": false
}

File diff suppressed because one or more lines are too long

@ -149,72 +149,77 @@ var require_showdown = __commonJS({
},
smartIndentationFix: {
defaultValue: false,
description: "Tries to smartly fix indentation in es6 strings",
describe: "Tries to smartly fix indentation in es6 strings",
type: "boolean"
},
disableForced4SpacesIndentedSublists: {
defaultValue: false,
description: "Disables the requirement of indenting nested sublists by 4 spaces",
describe: "Disables the requirement of indenting nested sublists by 4 spaces",
type: "boolean"
},
simpleLineBreaks: {
defaultValue: false,
description: "Parses simple line breaks as <br> (GFM Style)",
describe: "Parses simple line breaks as <br> (GFM Style)",
type: "boolean"
},
requireSpaceBeforeHeadingText: {
defaultValue: false,
description: "Makes adding a space between `#` and the header text mandatory (GFM Style)",
describe: "Makes adding a space between `#` and the header text mandatory (GFM Style)",
type: "boolean"
},
ghMentions: {
defaultValue: false,
description: "Enables github @mentions",
describe: "Enables github @mentions",
type: "boolean"
},
ghMentionsLink: {
defaultValue: "https://github.com/{u}",
description: "Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",
describe: "Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",
type: "string"
},
encodeEmails: {
defaultValue: true,
description: "Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",
describe: "Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",
type: "boolean"
},
openLinksInNewWindow: {
defaultValue: false,
description: "Open all links in new windows",
describe: "Open all links in new windows",
type: "boolean"
},
backslashEscapesHTMLTags: {
defaultValue: false,
description: "Support for HTML Tag escaping. ex: <div>foo</div>",
describe: "Support for HTML Tag escaping. ex: <div>foo</div>",
type: "boolean"
},
emoji: {
defaultValue: false,
description: "Enable emoji support. Ex: `this is a :smile: emoji`",
describe: "Enable emoji support. Ex: `this is a :smile: emoji`",
type: "boolean"
},
underline: {
defaultValue: false,
description: "Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `<em>` and `<strong>`",
describe: "Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `<em>` and `<strong>`",
type: "boolean"
},
ellipsis: {
defaultValue: true,
describe: "Replaces three dots with the ellipsis unicode character",
type: "boolean"
},
completeHTMLDocument: {
defaultValue: false,
description: "Outputs a complete html document, including `<html>`, `<head>` and `<body>` tags",
describe: "Outputs a complete html document, including `<html>`, `<head>` and `<body>` tags",
type: "boolean"
},
metadata: {
defaultValue: false,
description: "Enable support for document metadata (defined at the top of the document between `\xAB\xAB\xAB` and `\xBB\xBB\xBB` or between `---` and `---`).",
describe: "Enable support for document metadata (defined at the top of the document between `\xAB\xAB\xAB` and `\xBB\xBB\xBB` or between `---` and `---`).",
type: "boolean"
},
splitAdjacentBlockquotes: {
defaultValue: false,
description: "Split adjacent blockquote blocks",
describe: "Split adjacent blockquote blocks",
type: "boolean"
}
};
@ -2076,7 +2081,7 @@ var require_showdown = __commonJS({
for (var n = 0; n < node.childNodes.length; ++n) {
var child = node.childNodes[n];
if (child.nodeType === 3) {
if (!/\S/.test(child.nodeValue)) {
if (!/\S/.test(child.nodeValue) && !/^[ ]+$/.test(child.nodeValue)) {
node.removeChild(child);
--n;
} else {
@ -2155,12 +2160,12 @@ var require_showdown = __commonJS({
var ext = extension[a];
for (var i = 0; i < langExtensions.length; ++i) {
if (langExtensions[i] === ext) {
langExtensions[i].splice(i, 1);
langExtensions.splice(i, 1);
}
}
for (var ii = 0; ii < outputModifiers.length; ++i) {
for (var ii = 0; ii < outputModifiers.length; ++ii) {
if (outputModifiers[ii] === ext) {
outputModifiers[ii].splice(i, 1);
outputModifiers.splice(ii, 1);
}
}
}
@ -2446,6 +2451,9 @@ var require_showdown = __commonJS({
});
showdown2.subParser("ellipsis", function(text, options, globals) {
"use strict";
if (!options.ellipsis) {
return text;
}
text = globals.converter._dispatch("ellipsis.before", text, options, globals);
text = text.replace(/\.\.\./g, "\u2026");
text = globals.converter._dispatch("ellipsis.after", text, options, globals);
@ -2481,7 +2489,7 @@ var require_showdown = __commonJS({
"use strict";
text = globals.converter._dispatch("encodeBackslashEscapes.before", text, options, globals);
text = text.replace(/\\(\\)/g, showdown2.helper.escapeCharactersCallback);
text = text.replace(/\\([`*_{}\[\]()>#+.!~=|-])/g, showdown2.helper.escapeCharactersCallback);
text = text.replace(/\\([`*_{}\[\]()>#+.!~=|:-])/g, showdown2.helper.escapeCharactersCallback);
text = globals.converter._dispatch("encodeBackslashEscapes.after", text, options, globals);
return text;
});
@ -3092,10 +3100,13 @@ var require_showdown = __commonJS({
});
showdown2.subParser("stripLinkDefinitions", function(text, options, globals) {
"use strict";
var regex = /^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*<?([^>\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm, base64Regex = /^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*<?(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm;
var regex = /^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*<?([^>\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm, base64Regex = /^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*<?(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm;
text += "\xA80";
var replaceFunc = function(wholeMatch, linkId, url, width, height, blankLines, title) {
linkId = linkId.toLowerCase();
if (text.toLowerCase().split(linkId).length - 1 < 2) {
return wholeMatch;
}
if (url.match(/^data:.+?\/.+?;base64,/)) {
globals.gUrls[linkId] = url.replace(/\s/g, "");
} else {
@ -3655,9 +3666,11 @@ var MarkdownToHTML = class extends import_obsidian.Plugin {
}
markdownToHTML(editor) {
const converter = new showdown.Converter();
let text = editor.getSelection();
let noBrackets = text.replace(/\[\[(?:[^\]]+\|)?([^\]]+)\]\]/g, "$1");
let html = converter.makeHtml(noBrackets).toString();
converter.setFlavor("github");
converter.setOption("ellipsis", false);
const text = editor.getSelection();
const noBrackets = text.replace(/\[\[(?:[^\]]+\|)?([^\]]+)\]\]/g, "$1");
const html = converter.makeHtml(noBrackets).toString();
const withDivWrapper = `<!-- directives:[] -->
<div id="content">${html}</div>`;
const blob = new Blob([withDivWrapper], {
@ -3672,4 +3685,4 @@ var MarkdownToHTML = class extends import_obsidian.Plugin {
onunload() {
}
};
/*! showdown v 1.9.1 - 02-11-2019 */
/*! showdown v 2.1.0 - 21-04-2022 */

@ -1,10 +1,10 @@
{
"id": "copy-as-html",
"name": "Copy as HTML",
"version": "1.0.5",
"version": "1.0.6",
"minAppVersion": "0.12.0",
"description": "This is a simple plugin that converts the selected markdown to HTML and copies it to the clipboard.",
"author": "Bailey Jennings",
"authorUrl": "https://twitter.com/Bailey_Jennings",
"isDesktopOnly": false
}
}

@ -1,51 +0,0 @@
{
"enabledButtons": [
{
"id": "obsidian-tasks-plugin:edit-task",
"icon": "number-list-glyph",
"name": "Tasks: Create or edit task",
"showButtons": "both"
},
{
"id": "obsidian-map-view:convert-selection-to-location",
"icon": "lucide-map-pin",
"name": "Map View: Convert Selection to Geolocation",
"showButtons": "both"
},
{
"id": "obsidian-media-db-plugin:open-media-db-search-modal",
"icon": "lucide-tv",
"name": "Media DB Plugin: Add new Media DB entry",
"showButtons": "both"
},
{
"id": "obsidian-book-search-plugin:open-book-search-modal",
"icon": "lucide-book",
"name": "Book Search: Create new book note",
"showButtons": "both"
},
{
"id": "garble-text:toggle-garble-text",
"icon": "three-horizontal-bars",
"name": "Garble Text: Toggle Garble Text",
"showButtons": "both"
},
{
"id": "podnotes:create-podcast-note",
"icon": "audio-file",
"name": "PodNotes: Create Podcast Note",
"showButtons": "both"
},
{
"id": "auto-card-link:auto-card-link-paste-and-enhance",
"icon": "lucide-bookmark",
"name": "Auto Card Link: Paste URL and enhance to card link",
"showButtons": "both"
}
],
"desktop": false,
"titleLeft": [],
"titleRight": [],
"titleCenter": [],
"paneRelief": false
}

File diff suppressed because one or more lines are too long

@ -1,10 +0,0 @@
{
"id": "customizable-page-header-buttons",
"name": "Customizable Page Header and Title Bar",
"version": "4.6.2",
"minAppVersion": "0.15.4",
"description": "This plugin lets you add buttons for executing commands to the page header and on desktop to the title bar.",
"author": "kometenstaub",
"authorUrl": "https://github.com/kometenstaub",
"isDesktopOnly": false
}

@ -1,50 +0,0 @@
/*
MIT License
Copyright (c) 2021-2022 kometenstaub and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
/* @settings
name: Customizable Page Header and Title Bar
id: customizable-page-header-buttons
settings:
-
id: page-header-spacing-mobile
title: Page Header Button Spacing (mobile)
type: variable-number-slider
default: 12
min: 0
max: 30
step: 1
format: px
-
id: page-header-spacing-desktop
title: Page Header Button Spacing (desktop)
type: variable-number-slider
default: 8
min: 0
max: 30
step: 1
format: px
*/
.page-header-button.titlebar-center{flex-grow:1;font-size:12px;height:100%;left:0;letter-spacing:.05em;opacity:.8;position:absolute;text-align:center;top:0;width:100%}body:not(.is-mobile) .view-actions{align-items:center}body:not(.is-mobile) .view-action,body:not(.is-mobile) .view-action.pane-relief{display:flex;position:unset}body:not(.is-mobile) .view-action.pane-relief.app\:go-back:before,body:not(.is-mobile) .view-action.pane-relief.app\:go-forward:after{display:inline;font-size:1em;line-height:1;vertical-align:text-top}body:not(.is-mobile) .view-action.pane-relief.app\:go-forward:after{content:var(--pane-relief-forward-count);padding-left:.4em}body:not(.is-mobile) .view-action.pane-relief.app\:go-back:before{content:var(--pane-relief-backward-count);padding-right:.4em}body:not(.is-mobile) .view-action:not(:last-child){margin-right:var(--page-header-spacing-desktop)}body:not(.is-mobile) .pane-relief body:not(.no-svg-replace) svg{vertical-align:top}.is-mobile .view-actions{align-items:center}.is-mobile .view-action:not(:last-child){margin-right:var(--page-header-spacing-mobile)}

@ -0,0 +1,10 @@
{
"immediateReplace": true,
"suggester": true,
"historyPriority": true,
"historyLimit": 100,
"history": [
":birthday:",
":soccer:"
]
}

File diff suppressed because one or more lines are too long

@ -1,10 +1,11 @@
{
"id": "emoji-shortcodes",
"name": "Emoji Shortcodes",
"version": "2.1.2",
"minAppVersion": "0.12.17",
"version": "2.2.0",
"minAppVersion": "1.0.0",
"description": "This Plugin enables the use of Markdown Emoji Shortcodes :smile:",
"author": "phibr0",
"authorUrl": "https://github.com/phibr0",
"isDesktopOnly": false
}
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/phibr0"
}

@ -21,3 +21,11 @@ a[href="https://ko-fi.com/phibr0"]
border-top: solid var(--background-secondary) 1px;
padding-left: 10px;
}
.ES-sub-setting {
padding-left: 2em;
}
.ES-sub-setting + .ES-sub-setting {
padding-left: 0;
margin-left: 2em;
}

@ -0,0 +1,72 @@
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// main.ts
var main_exports = {};
__export(main_exports, {
default: () => ListStylePlugin
});
module.exports = __toCommonJS(main_exports);
var import_obsidian = require("obsidian");
var shorthand = {
I: "upper-roman",
i: "lower-roman",
A: "upper-alpha",
a: "lower-alpha",
"01": "decimal-leading-zero",
"1": "decimal"
};
var STYLE_MATCHER = /^\s*\{([A-Za-z-0-9]+)\}\s*/;
var ListStylePlugin = class extends import_obsidian.Plugin {
async onload() {
this.registerMarkdownPostProcessor((el) => {
el.querySelectorAll("ol").forEach((list) => {
const firstText = getFirstTextNode(list.querySelector("li"));
let match;
if (firstText && firstText.textContent && (match = firstText.textContent.match(STYLE_MATCHER))) {
if (shorthand[match[1]]) {
list.style.listStyleType = shorthand[match[1]];
} else {
list.style.listStyleType = match[1];
}
firstText.textContent = firstText.textContent.slice(match[0].length);
}
});
});
}
};
function getFirstTextNode(node) {
if (node == null)
return null;
for (let i = 0; i < node.childNodes.length; i++) {
if (node.childNodes[i].nodeType == Node.TEXT_NODE) {
return node.childNodes[i];
} else if (node.childNodes[i].hasChildNodes()) {
const childText = getFirstTextNode(node.childNodes[i]);
if (childText) {
return childText;
}
}
}
return null;
}

@ -0,0 +1,10 @@
{
"id": "list-style",
"name": "Ordered List Style",
"version": "0.1.0",
"minAppVersion": "1.0.0",
"description": "Set ordered list style inline in Obsidian.md. Alphabetic lists, roman numeral lists, etc.",
"author": "Eric Rykwalder",
"authorUrl": "https://github.com/erykwalder/obsidian-list-style",
"isDesktopOnly": false
}

File diff suppressed because one or more lines are too long

@ -1,9 +1,9 @@
{
"id": "meld-encrypt",
"name": "Meld Encrypt",
"version": "1.6.2",
"version": "2.0.3",
"minAppVersion": "0.12.15",
"description": "Hide secrets in your notes",
"description": "Hide secrets in your valut",
"author": "meld-cp",
"authorUrl": "https://github.com/meld-cp/obsidian-encrypt",
"isDesktopOnly": false

@ -1,3 +1,5 @@
/* DEPRECATED */
.meld-e-row{
display: flex;
margin-bottom: 1em;

File diff suppressed because one or more lines are too long

@ -1,10 +1,11 @@
{
"id": "multi-column-markdown",
"name": "Multi-Column Markdown",
"version": "0.7.3",
"minAppVersion": "0.15.9",
"version": "0.7.6",
"minAppVersion": "1.0.3",
"description": "This plugin adds functionality to create markdown documents with multiple columns of content viewable within Obsidian's preview mode",
"author": "Cameron Robinson",
"fundingUrl": "https://www.buymeacoffee.com/ckrobinson",
"authorUrl": "https://portfolio.ckrobinson.net",
"isDesktopOnly": false
}

@ -151,4 +151,16 @@
.mcm-content-overflow-auto-scroll {
overflow-x: auto;
}
.mcm-content-alignment-left {
text-align: left;
}
.mcm-content-alignment-center {
text-align: center;
}
.mcm-content-alignment-right {
text-align: right;
}

@ -0,0 +1,408 @@
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
// main.ts
var main_exports = {};
__export(main_exports, {
default: () => AccountLinker
});
module.exports = __toCommonJS(main_exports);
var import_obsidian3 = require("obsidian");
// src/settings/AccountLinkerSettingTab.ts
var import_obsidian2 = require("obsidian");
// src/control/utils.ts
function replaceTemplateText(beforeText, ctx) {
return beforeText.split("{{NAME}}").join(ctx.text).replace(/\{\{[^}]*\}\}/g, "");
}
function isColor(code) {
return /^#[0-9A-Fa-f]{6}$/.test(code);
}
function isURL(link) {
return true;
}
function selectFontColor(backgroundColor) {
if (!isColor(backgroundColor)) {
return "#000000";
}
const brightness = parseInt(backgroundColor.substring(1, 3), 16) * 0.299 + parseInt(backgroundColor.substring(3, 5), 16) * 0.587 + parseInt(backgroundColor.substring(5, 7), 16) * 0.114;
return Math.floor(brightness) >= 140 ? "#000000" : "#FFFFFF";
}
// src/drawing/drawAccountLink.ts
function drawAccountLink(a, config, text) {
a.empty();
a.classList.add("frontmatter-accounts");
const linkText = replaceTemplateText(config.urlTemplate, { text });
if (isURL(linkText)) {
a.href = linkText;
} else {
a.href = "";
}
const siteNameDiv = a.createEl("div");
siteNameDiv.classList.add("frontmatter-accounts-sitename");
siteNameDiv.innerText = config.name;
siteNameDiv.style.backgroundColor = isColor(config.color) ? config.color : "#ffffff";
siteNameDiv.style.color = selectFontColor(config.color);
const labelText = replaceTemplateText(config.labelTemplate, { text });
if (labelText != "") {
const labelDiv = a.createEl("div");
labelDiv.classList.add("frontmatter-accounts-label");
labelDiv.innerText = labelText;
}
}
// src/settings/WebsiteEditModal.ts
var import_obsidian = require("obsidian");
var descriptions = {
name: "Website name",
color: "Website image color(HEX)",
urlTemplate: "URL Replace Pattern",
labelTemplate: "Account Name Replace Pattern",
doesReverseResolution: "If on, it will reverse the account from the URL entered in the `accounts` field of the front matter",
previewBox: "",
saveButton: ""
};
var WebsiteEditModal = class extends import_obsidian.Modal {
constructor(plugin, config, closeCallBack) {
super(plugin.app);
this.plugin = plugin;
this.config = config;
this.closeCallBack = closeCallBack;
}
onOpen() {
const config = this.config;
this.titleEl.setText("Website Config");
const settings = {
name: new import_obsidian.Setting(this.contentEl).setName("Name").setDesc(descriptions.name).addText((cb) => {
cb.setValue(config.name).setPlaceholder("Twitter").onChange((value) => {
config.name = value;
this.updateText("name", settings);
this.updateDisplay(settings);
});
}),
color: new import_obsidian.Setting(this.contentEl).setName("Color").setDesc(descriptions.color).addText((cb) => {
cb.setValue(config.color).setPlaceholder("#3e9cec").onChange((value) => {
config.color = value;
this.updateText("color", settings);
this.updateDisplay(settings);
});
}),
urlTemplate: new import_obsidian.Setting(this.contentEl).setName("URL Template").setDesc(descriptions.urlTemplate).addText((cb) => {
cb.setValue(config.urlTemplate).setPlaceholder("https://twitter.com/{{NAME}}").onChange((value) => {
config.urlTemplate = value;
this.updateText("urlTemplate", settings);
this.updateDisplay(settings);
});
}),
labelTemplate: new import_obsidian.Setting(this.contentEl).setName("Label Template").setDesc(descriptions.labelTemplate).addText((cb) => {
cb.setValue(config.labelTemplate).setPlaceholder("@{{NAME}}").onChange((value) => {
config.labelTemplate = value;
this.updateText("labelTemplate", settings);
this.updateDisplay(settings);
});
}),
doesReverseResolution: new import_obsidian.Setting(this.contentEl).setName("Reverse Resolution(Unimplemented)").setDesc(descriptions.doesReverseResolution).addToggle((cb) => {
cb.setValue(config.doesReverseResolution).onChange((value) => {
config.doesReverseResolution = value;
this.updateText("doesReverseResolution", settings);
this.updateDisplay(settings);
}).setDisabled;
}),
previewBox: new import_obsidian.Setting(this.contentEl).setDesc(descriptions.previewBox).setName("Preview"),
saveButton: new import_obsidian.Setting(this.contentEl).setDesc(descriptions.saveButton).addButton((b) => {
b.setButtonText("Save").setDisabled(true).onClick((evt) => {
this.closeCallBack(config);
this.close();
});
})
};
["name", "color", "urlTemplate", "labelTemplate", "doesReverseResolution"].forEach((key) => {
this.updateText(key, settings);
});
this.updateDisplay(settings);
}
checkConfig(key) {
switch (key) {
case "name":
if (this.config.name == "") {
return "The name length must be greater than zero";
} else if (["aliases", "alias", "tags", "tag", "cssclass", "publish", "accounts"].includes(this.config.name.toLowerCase())) {
return "The name must be something other";
} else {
return "";
}
case "color":
if (!isColor(this.config.color)) {
return "The color must be represented by `#` and a six-digit hexadecimal number";
} else {
return "";
}
case "urlTemplate":
if (!isURL(this.config.urlTemplate.replace(/\{\{[^}]*\}\}/g, ""))) {
return "URL is invalid";
} else {
return "";
}
case "labelTemplate":
return "";
case "doesReverseResolution":
return "";
}
}
updateText(key, settings) {
if (this.checkConfig(key) != "") {
settings[key].descEl.innerHTML = descriptions[key] + `<br><span class='mod-warning'>${this.checkConfig(key)}</span>`;
} else {
settings[key].descEl.innerHTML = descriptions[key];
}
}
updateDisplay(settings) {
let f = false;
["name", "color", "urlTemplate", "labelTemplate", "doesReverseResolution"].forEach((key) => {
if (this.checkConfig(key) != "") {
f = true;
}
});
settings.saveButton.setDisabled(f);
const linker = document.createElement("a");
drawAccountLink(linker, this.config, "example");
settings.previewBox.descEl.innerHTML = linker.outerHTML;
}
};
// src/control/websiteConfig.ts
var websiteConfig = class {
constructor() {
this.name = "";
this.color = "#FFFFFF";
this.urlTemplate = "";
this.labelTemplate = "";
this.doesReverseResolution = false;
}
};
// src/settings/AccountLinkerSettingTab.ts
var AccountLinkerSettingTab = class extends import_obsidian2.PluginSettingTab {
constructor(app, plugin) {
super(app, plugin);
this.plugin = plugin;
}
display() {
const { containerEl } = this;
containerEl.empty();
const siteDiv = containerEl.createDiv();
this.drawSites(siteDiv);
}
drawSites(div) {
div.empty();
const websites = this.plugin.settings.websites;
websites.forEach((website, i) => {
const s = new import_obsidian2.Setting(div).setDesc(website.name).addButton((button) => {
button.onClick(() => {
const modal = new WebsiteEditModal(this.plugin, website, (config) => {
this.plugin.settings.websites[i] = config;
this.plugin.saveSettings();
this.drawSites(div);
});
modal.open();
});
button.setIcon("pencil");
button.setTooltip("Edit");
}).addButton((button) => {
button.onClick(() => {
this.plugin.settings.websites.remove(website);
this.plugin.saveSettings();
this.drawSites(div);
});
button.setIcon("cross");
button.setTooltip("Remove");
});
const linker = document.createElement("a");
drawAccountLink(linker, website, "example");
s.descEl.innerHTML += linker.outerHTML;
});
new import_obsidian2.Setting(div).addButton((button) => {
button.onClick(() => {
const modal = new WebsiteEditModal(this.plugin, new websiteConfig(), (config) => {
this.plugin.settings.websites.push(config);
this.plugin.saveSettings();
this.drawSites(div);
});
modal.open();
});
button.setIcon("plus-with-circle");
button.setTooltip("New");
});
}
};
// src/settings/AccountLinkerSettings.ts
var DEFAULT_SETTINGS = {
websites: [
{
name: "Twitter",
color: "#3e9cec",
urlTemplate: "https://twitter.com/{{NAME}}",
labelTemplate: "@{{NAME}}",
doesReverseResolution: false
},
{
name: "Facebook",
color: "#3b5998",
urlTemplate: "https://www.facebook.com/{{NAME}}",
labelTemplate: "{{NAME}}",
doesReverseResolution: false
},
{
name: "Instagram",
color: "#dc2477",
urlTemplate: "https://www.instagram.com/{{NAME}}",
labelTemplate: "@{{NAME}}",
doesReverseResolution: false
},
{
name: "GitHub",
color: "#0a0c10",
urlTemplate: "https://github.com/{{NAME}}",
labelTemplate: "@{{NAME}}",
doesReverseResolution: false
},
{
name: "Mail",
color: "#e7e7e7",
urlTemplate: "mailto:{{NAME}}",
labelTemplate: "{{NAME}}",
doesReverseResolution: false
},
{
name: "Linktree",
color: "#3ea195",
urlTemplate: "https://linktr.ee/{{NAME}}",
labelTemplate: "{{NAME}}",
doesReverseResolution: false
}
]
};
// src/drawing/frontmatterProcessor.ts
var frontmatterProcessor = (plugin) => (el, ctx) => __async(void 0, null, function* () {
const frontmatter = el.querySelector(".frontmatter");
if (frontmatter !== null) {
const embed = el.querySelector(".internal-embed");
if (embed !== null) {
return;
}
if (ctx.frontmatter) {
const siteDict = {};
plugin.settings.websites.forEach((config) => {
if (!Object.keys(siteDict).includes(config.name.toLowerCase())) {
siteDict[config.name.toLowerCase()] = [];
}
siteDict[config.name.toLowerCase()].push(config);
});
console.log(siteDict);
const accountList = [];
Object.keys(ctx.frontmatter).forEach((key) => {
if (Object.keys(siteDict).includes(key.toLowerCase())) {
const lk = key.toLowerCase();
siteDict[lk].forEach((config) => {
frontMatterRecursion(ctx.frontmatter[key], config, accountList);
});
}
});
const target = el.querySelector(".frontmatter-container");
if (accountList.length) {
target.innerHTML += `
<div class="frontmatter-section">
<span class="frontmatter-section-label">Accounts</span>
<div class="frontmatter-section-accounts">
</div>
</div>
`;
const section = target.querySelector(".frontmatter-section-accounts");
accountList.forEach((a) => {
const linkTag = section.createEl("a");
drawAccountLink(linkTag, a.config, a.value);
});
target.style.display = "block";
}
}
}
});
function frontMatterRecursion(value, config, accountList) {
if (typeof value === "string") {
accountList.push({
config,
value
});
} else {
value.forEach((v) => {
frontMatterRecursion(v, config, accountList);
});
}
}
// main.ts
var AccountLinker = class extends import_obsidian3.Plugin {
onload() {
return __async(this, null, function* () {
yield this.loadSettings();
this.registerMarkdownPostProcessor(frontmatterProcessor(this));
this.addSettingTab(new AccountLinkerSettingTab(this.app, this));
});
}
onunload() {
}
loadSettings() {
return __async(this, null, function* () {
this.settings = Object.assign({}, DEFAULT_SETTINGS, yield this.loadData());
});
}
saveSettings() {
return __async(this, null, function* () {
yield this.saveData(this.settings);
});
}
};

@ -0,0 +1,10 @@
{
"id": "obsidian-account-linker",
"name": "Account Linker",
"version": "1.0.1",
"minAppVersion": "0.12.0",
"description": "Plugin for describing external service accounts in the front matter",
"author": "qwegat",
"authorUrl": "https://github.com/qwegat",
"isDesktopOnly": false
}

@ -0,0 +1,30 @@
.frontmatter-section-accounts{
display: inline-flex;
flex-wrap: wrap;
align-items: center;
}
.frontmatter-accounts {
background-color: var(--background-secondary-alt);
border-radius: 30px;
font-size: 0.9em;
border: 1px solid transparent;
white-space: nowrap;
overflow: hidden;
margin: 2px 4px;
display: inline-flex;
padding: 0;
}
.frontmatter-accounts-sitename {
display: block;
padding: 2px 8px 2px 8px;
line-height: 19px;
margin: 0;
}
.frontmatter-accounts-label {
display: block;
padding: 2px 8px 2px 8px;
line-height: 19px;
margin: 0;
}

@ -12,8 +12,8 @@
"checkpointList": [
{
"path": "/",
"date": "2022-11-03",
"size": 8581587
"date": "2022-12-16",
"size": 10262235
}
],
"activityHistory": [
@ -1210,7 +1210,179 @@
},
{
"date": "2022-11-03",
"value": 25
"value": 4556
},
{
"date": "2022-11-04",
"value": 42488
},
{
"date": "2022-11-05",
"value": 1459
},
{
"date": "2022-11-06",
"value": 293070
},
{
"date": "2022-11-07",
"value": 1285
},
{
"date": "2022-11-08",
"value": 17054
},
{
"date": "2022-11-09",
"value": 1147
},
{
"date": "2022-11-10",
"value": 2813
},
{
"date": "2022-11-11",
"value": 1550
},
{
"date": "2022-11-12",
"value": 1708
},
{
"date": "2022-11-13",
"value": 158796
},
{
"date": "2022-11-14",
"value": 2447
},
{
"date": "2022-11-15",
"value": 1527
},
{
"date": "2022-11-16",
"value": 1264
},
{
"date": "2022-11-17",
"value": 1138
},
{
"date": "2022-11-18",
"value": 3711
},
{
"date": "2022-11-19",
"value": 3457
},
{
"date": "2022-11-20",
"value": 1237
},
{
"date": "2022-11-21",
"value": 1108
},
{
"date": "2022-11-22",
"value": 310673
},
{
"date": "2022-11-23",
"value": 1185
},
{
"date": "2022-11-24",
"value": 1157
},
{
"date": "2022-11-25",
"value": 3435
},
{
"date": "2022-11-26",
"value": 2238
},
{
"date": "2022-11-27",
"value": 272188
},
{
"date": "2022-11-28",
"value": 1368
},
{
"date": "2022-11-29",
"value": 1108
},
{
"date": "2022-11-30",
"value": 1807
},
{
"date": "2022-12-01",
"value": 2441
},
{
"date": "2022-12-02",
"value": 3727
},
{
"date": "2022-12-03",
"value": 5008
},
{
"date": "2022-12-04",
"value": 258297
},
{
"date": "2022-12-05",
"value": 3716
},
{
"date": "2022-12-06",
"value": 3450
},
{
"date": "2022-12-07",
"value": 1264
},
{
"date": "2022-12-08",
"value": 1663
},
{
"date": "2022-12-09",
"value": 24711
},
{
"date": "2022-12-10",
"value": 1488
},
{
"date": "2022-12-11",
"value": 270119
},
{
"date": "2022-12-12",
"value": 1206
},
{
"date": "2022-12-13",
"value": 4859
},
{
"date": "2022-12-14",
"value": 11340
},
{
"date": "2022-12-15",
"value": 3680
},
{
"date": "2022-12-16",
"value": 5420
}
]
}

File diff suppressed because one or more lines are too long

@ -4,7 +4,7 @@
"description": "Advanced modes for Obsidian URI",
"isDesktopOnly": false,
"js": "main.js",
"version": "1.28.2",
"version": "1.31.1",
"author": "Vinzent",
"authorUrl": "https://github.com/Vinzent03"
}

File diff suppressed because it is too large Load Diff

@ -4,34 +4,14 @@
"type": "local",
"color": "#4d95f7",
"directory": "00.01 Admin/Calendars"
},
{
"type": "gcal",
"color": "#0056d6",
"url": "melchiorbv@gmail.com"
},
{
"type": "gcal",
"color": "#ffc777",
"url": "en-gb.ch#holiday@group.v.calendar.google.com"
},
{
"type": "gcal",
"color": "#fff76b",
"url": "en-gb.french#holiday@group.v.calendar.google.com"
},
{
"type": "gcal",
"color": "#e4ef65",
"url": "en.uk#holiday@group.v.calendar.google.com"
},
{
"type": "ical",
"color": "#52d6fc",
"url": "webcal://p55-caldav.icloud.com/published/2/MTc2MDQ3Mzc5MzQxNzYwNEi4Z5y74HWKzCeCFpoAsLkAo0RZ--Np5MpfvpB8PSbwberx4QERWgCnZ3nPIMqxgArJ0qcm9iNJ1gF8UAcL838"
}
],
"defaultCalendar": 0,
"recursiveLocal": true,
"firstDay": 1
"firstDay": 1,
"initialView": {
"desktop": "timeGridWeek",
"mobile": "timeGrid3Days"
},
"timeFormat24h": true
}

File diff suppressed because it is too large Load Diff

@ -1,7 +1,7 @@
{
"id": "obsidian-full-calendar",
"name": "Full Calendar",
"version": "0.6.1",
"version": "0.9.1",
"minAppVersion": "0.12.0",
"description": "Obsidian integration with Full Calendar (fullcalendar.io)",
"author": "Davis Haupt",

@ -1,4 +1,7 @@
/* src/overrides.css */
/* src/ui/overrides.css */
.is-phone .fc {
height: calc(100% - 4rem);
}
.fc {
height: 100%;
--fc-button-text-color: var(--text-normal);
@ -18,17 +21,47 @@
--fc-now-indicator-color: var(--text-error-hover);
--fc-more-link-bg-color: var(--background-primary-alt);
--fc-more-link-text-color: var(--text-accent);
--fc-today-bg-color: var(--background-modifier-box-shadow);
--fc-today-bg-color: var(--background-modifier-cover);
--fc-neutral-text-color: var(--text-muted);
--fc-neutral-bg-color: var(--interactive-normal);
--fc-event-selected-overlay-color: var(--background-secondary-alt);
--fc-highlight-color: var(--text-highlight-bg);
--fc-bg-event-color: var(--background-modifier-success);
--fc-non-business-color: var(--background-modifier-box-shadow);
}
.fc a {
text-decoration-line: none;
}
.fc-button-active {
color: var(--text-on-accent) !important;
}
.fc .fc-button {
border: 0px solid transparent !important;
line-height: 1 !important;
padding: var(--size-4-1) var(--size-4-3) !important;
}
.ofc-has-checkbox {
display: flex !important;
}
.ofc-has-checkbox.fc-list-event-title {
align-items: center;
}
.ofc-task-completed .fc-event-title {
text-decoration: line-through;
}
.ofc-task-completed .fc-list-event-title {
text-decoration: line-through;
}
.ofc-task-completed {
opacity: 0.8;
}
.ofc-checkbox-white {
border-color: white !important;
border-width: 1px !important;
}
.ofc-checkbox-black {
border-color: black !important;
border-width: 1px !important;
}
/* node_modules/@fullcalendar/common/main.css */
.fc-not-allowed,

@ -1,5 +1,4 @@
{
"folder": "00.02 Inbox",
"OMDbKey": "3b1c31d2",
"sfwFilter": true,
"useCustomYamlStringifier": true,
@ -9,14 +8,692 @@
"gameTemplate": "Template Game.md",
"wikiTemplate": "Template Wiki.md",
"musicReleaseTemplate": "Template Music.md",
"boardgameTemplate": "",
"movieFileNameTemplate": "{{ title }} ({{ year }})",
"seriesFileNameTemplate": "{{ title }} ({{ year }})",
"gameFileNameTemplate": "{{ title }} ({{ year }})",
"wikiFileNameTemplate": "{{ title }}",
"musicReleaseFileNameTemplate": "{{ title }} (by {{ ENUM:artists }} - {{ year }})",
"boardgameFileNameTemplate": "{{ title }} ({{ year }})",
"moviePropertyConversionRules": "",
"seriesPropertyConversionRules": "",
"gamePropertyConversionRules": "",
"wikiPropertyConversionRules": "",
"musicReleasePropertyConversionRules": ""
"musicReleasePropertyConversionRules": "",
"boardgamePropertyConversionRules": "",
"movieFolder": "00.02 Inbox",
"seriesFolder": "00.02 Inbox",
"gameFolder": "00.02 Inbox",
"wikiFolder": "00.02 Inbox",
"musicReleaseFolder": "00.02 Inbox",
"boardgameFolder": "",
"propertyMappingModels": [
{
"type": "movie",
"properties": [
{
"property": "type",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "subType",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "title",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "englishTitle",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "year",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "dataSource",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "url",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "id",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "genres",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "producer",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "duration",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "onlineRating",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "actors",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "image",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "released",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "streamingServices",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "premiere",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "watched",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "lastWatched",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "personalRating",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "tags",
"newProperty": "",
"mapping": "default",
"locked": false
}
]
},
{
"type": "series",
"properties": [
{
"property": "type",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "subType",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "title",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "englishTitle",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "year",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "dataSource",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "url",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "id",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "genres",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "studios",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "episodes",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "duration",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "onlineRating",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "actors",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "image",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "released",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "streamingServices",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "airing",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "airedFrom",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "airedTo",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "watched",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "lastWatched",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "personalRating",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "tags",
"newProperty": "",
"mapping": "default",
"locked": false
}
]
},
{
"type": "game",
"properties": [
{
"property": "type",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "subType",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "title",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "englishTitle",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "year",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "dataSource",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "url",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "id",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "genres",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "onlineRating",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "image",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "released",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "releaseDate",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "played",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "personalRating",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "tags",
"newProperty": "",
"mapping": "default",
"locked": false
}
]
},
{
"type": "wiki",
"properties": [
{
"property": "type",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "subType",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "title",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "englishTitle",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "year",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "dataSource",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "url",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "id",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "wikiUrl",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "lastUpdated",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "length",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "tags",
"newProperty": "",
"mapping": "default",
"locked": false
}
]
},
{
"type": "musicRelease",
"properties": [
{
"property": "type",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "subType",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "title",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "englishTitle",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "year",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "dataSource",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "url",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "id",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "genres",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "artists",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "rating",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "personalRating",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "tags",
"newProperty": "",
"mapping": "default",
"locked": false
}
]
},
{
"type": "boardgame",
"properties": [
{
"property": "type",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "subType",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "title",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "englishTitle",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "year",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "dataSource",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "url",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "id",
"newProperty": "",
"mapping": "default",
"locked": true
},
{
"property": "genres",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "onlineRating",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "minPlayers",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "maxPlayers",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "playtime",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "publishers",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "complexityRating",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "image",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "released",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "played",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "personalRating",
"newProperty": "",
"mapping": "default",
"locked": false
},
{
"property": "tags",
"newProperty": "",
"mapping": "default",
"locked": false
}
]
}
],
"folder": "00.02 Inbox"
}

File diff suppressed because it is too large Load Diff

@ -1,7 +1,7 @@
{
"id": "obsidian-media-db-plugin",
"name": "Media DB Plugin",
"version": "0.4.1",
"version": "0.5.0",
"minAppVersion": "0.14.0",
"description": "A plugin that can query multiple APIs for movies, series, anime, games, music and wiki articles, and import them into your vault.",
"author": "Moritz Jung",

@ -6,19 +6,17 @@
}
.media-db-plugin-list-toggle {
}
.media-db-plugin-list-text-wrapper {
flex: 1;
}
.media-db-plugin-list-text {
display: block;
}
small.media-db-plugin-list-text{
small.media-db-plugin-list-text {
color: var(--text-muted);
}
@ -68,33 +66,33 @@ small.media-db-plugin-list-text{
/* region property mappings */
.media-db-plugin-property-mappings-model-container {
border: 1px solid var(--background-modifier-border);
border: 1px solid var(--background-modifier-border);
border-radius: 5px;
padding: 10px;
width: 100%;
padding: 10px;
width: 100%;
}
.media-db-plugin-property-mappings-container {
margin: 10px 0;
display: flex;
margin: 10px 0;
display: flex;
flex-direction: column;
gap: 5px;
gap: 5px;
}
.media-db-plugin-property-mapping-element {
display: flex;
display: flex;
flex-direction: row;
gap: 10px;
gap: 10px;
}
.media-db-plugin-property-mapping-element-property-name-wrapper {
min-width: 160px;
background: var(--background-modifier-form-field);
padding: 2px 5px;
min-width: 160px;
background: var(--background-modifier-form-field);
padding: 2px 5px;
border-radius: 5px;
display: flex;
align-items: center;
display: flex;
align-items: center;
}
.media-db-plugin-property-mapping-element-property-name {
@ -106,12 +104,12 @@ small.media-db-plugin-list-text{
}
.media-db-plugin-property-mapping-to {
display: flex;
display: flex;
align-items: center;
}
.media-db-plugin-property-mapping-validation {
color: var(--text-error);
color: var(--text-error);
margin-bottom: 5px;
}

@ -1,10 +1,11 @@
{
"id": "obsidian-minimal-settings",
"name": "Minimal Theme Settings",
"version": "6.1.0",
"version": "6.1.1",
"minAppVersion": "0.16.0",
"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
}

@ -2,11 +2,6 @@
"scanned": true,
"reminders": {
"05.01 Computer setup/Storage and Syncing.md": [
{
"title": ":cloud: [[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]] %%done_del%%",
"time": "2022-12-12",
"rowNumber": 182
},
{
"title": "Backup [[Storage and Syncing#Instructions for Anchor|Anchor Wallet]] %%done_del%%",
"time": "2023-01-05",
@ -30,7 +25,12 @@
{
"title": ":camera: [[Storage and Syncing|Storage & Sync]]: Transfer pictures to ED %%done_del%%",
"time": "2023-01-12",
"rowNumber": 184
"rowNumber": 185
},
{
"title": ":cloud: [[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]] %%done_del%%",
"time": "2023-03-13",
"rowNumber": 182
}
],
"06.01 Finances/hLedger.md": [
@ -116,31 +116,31 @@
}
],
"04.01 lebv.org/WebPublishing Tasks.md": [
{
"title": ":fleur_de_lis: [[WebPublishing Tasks|Website]]: Replace integration with Discord with [[Element|Element.io]]",
"time": "2022-12-15",
"rowNumber": 74
},
{
"title": ":fleur_de_lis: [[WebPublishing Tasks|Website]]: Upgrade UltimateMember to [[WebPublishing Tasks#UltimateMember Pro|Pro]]",
"time": "2023-06-30",
"rowNumber": 73
},
{
"title": ":fleur_de_lis: [[WebPublishing Tasks|Website]]: Replace integration with Discord with [[Element|Element.io]]",
"time": "2023-12-15",
"rowNumber": 74
}
],
"04.01 lebv.org/lebv Research Tasks.md": [
{
"title": ":fleur_de_lis: [[lebv Research Tasks|Research]]: <mark style=\"background:grey\">Lieux</mark>: que sont devenus Fleurimont & Le Pavillon aujourd'hui?",
"time": "2022-11-15",
"time": "2023-02-15",
"rowNumber": 72
},
{
"title": ":fleur_de_lis: [[lebv Research Tasks|Research]]: <mark style=\"background:grey\">membres de la famille</mark>: reprendre les citations militaires (promotion/décoration)",
"time": "2022-11-15",
"time": "2023-02-15",
"rowNumber": 73
},
{
"title": ":fleur_de_lis: [[lebv Research Tasks|Research]]: <mark style=\"Background:grey\">membres de la famille</mark>: éplucher les mentions du Nobiliaire de Guyenne & Gascogne",
"time": "2022-11-20",
"time": "2023-02-20",
"rowNumber": 74
}
],
@ -196,7 +196,7 @@
"01.03 Family/Séraphine Priso Le Bastart.md": [
{
"title": ":birthday: **[[Séraphine Priso Le Bastart|Séraphine]]**",
"time": "2022-11-27",
"time": "2023-11-27",
"rowNumber": 100
}
],
@ -217,7 +217,7 @@
"01.03 Family/Marc de Villeneuve.md": [
{
"title": ":birthday: **[[Marc de Villeneuve|Marc BV]]**",
"time": "2022-12-04",
"time": "2023-12-04",
"rowNumber": 105
}
],
@ -238,7 +238,7 @@
"01.03 Family/Pierre Bédier.md": [
{
"title": ":birthday: **[[Pierre Bédier|Bon Papa]]**",
"time": "2022-12-07",
"time": "2023-12-07",
"rowNumber": 106
}
],
@ -273,7 +273,7 @@
"01.03 Family/Gabrielle Bédier.md": [
{
"title": ":birthday: **[[Gabrielle Bédier|Gabrielle]]**",
"time": "2022-11-12",
"time": "2023-11-12",
"rowNumber": 105
}
],
@ -336,50 +336,55 @@
"01.03 Family/Eustache Bédier.md": [
{
"title": ":birthday: **[[Eustache Bédier|Eustache]]**",
"time": "2022-12-08",
"time": "2023-12-08",
"rowNumber": 105
}
],
"01.02 Home/Household.md": [
{
"title": "🛎 🧻 REMINDER [[Household]]: check need for toilet paper %%done_del%%",
"time": "2022-11-07",
"rowNumber": 96
"time": "2022-12-19",
"rowNumber": 88
},
{
"title": "♻ [[Household]]: *Paper* recycling collection %%done_del%%",
"time": "2022-11-08",
"time": "2022-12-20",
"rowNumber": 75
},
{
"title": ":bed: [[Household]] Change bedsheets %%done_del%%",
"time": "2022-11-12",
"rowNumber": 107
"time": "2022-12-24",
"rowNumber": 91
},
{
"title": "♻ [[Household]]: *Cardboard* recycling collection %%done_del%%",
"time": "2022-11-15",
"rowNumber": 81
"time": "2022-12-27",
"rowNumber": 77
},
{
"title": ":couch_and_lamp: [[Household]]: Replace the sofa",
"time": "2022-12-31",
"rowNumber": 59
},
{
"title": "🛎️ 💵 [[Household]]: Pay rent %%done_del%%",
"time": "2022-12-31",
"rowNumber": 85
},
{
"title": "🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%%",
"time": "2022-11-26",
"rowNumber": 92
"time": "2022-12-31",
"rowNumber": 87
},
{
"title": ":coffee: [[Household]]: Buy a Cappuccino machine",
"time": "2022-11-30",
"time": "2023-03-31",
"rowNumber": 58
},
{
"title": ":bed: [[Household]]: Buy bed-side tables",
"time": "2022-11-30",
"time": "2023-03-31",
"rowNumber": 60
},
{
"title": ":couch_and_lamp: [[Household]]: Replace the sofa",
"time": "2022-12-31",
"rowNumber": 59
}
],
"01.03 Family/Pia Bousquié.md": [
@ -399,21 +404,21 @@
"01.01 Life Orga/@Finances.md": [
{
"title": ":heavy_dollar_sign: [[@Finances]]: update crypto prices within Obsidian",
"time": "2022-11-08",
"time": "2023-01-10",
"rowNumber": 118
}
],
"01.01 Life Orga/@Personal projects.md": [
{
"title": ":fleur_de_lis: Continue [[@lebv.org Tasks|lebv.org]]",
"time": "2022-11-28",
"rowNumber": 78
},
{
"title": ":art: Continuer à construire un petit trousseau d'[[@Personal projects#art|art]]",
"time": "2023-02-21",
"rowNumber": 76
},
{
"title": ":fleur_de_lis: Continue [[@lebv.org Tasks|lebv.org]]",
"time": "2023-02-28",
"rowNumber": 78
},
{
"title": "🖋 Caligraph & frame life mementos",
"time": "2023-06-30",
@ -429,7 +434,7 @@
{
"title": ":birthday: **[[Aglaé de Villeneuve|Aglaé]]**",
"time": "2023-02-25",
"rowNumber": 105
"rowNumber": 100
}
],
"01.03 Family/Elise Bédier.md": [
@ -439,60 +444,34 @@
"rowNumber": 105
}
],
"01.01 Life Orga/@Life Admin.md": [
{
"title": ":iphone: [[@Life Admin]]: Cancel UK mobile line",
"time": "2022-11-30",
"rowNumber": 77
}
],
"06.02 Investments/VC Tasks.md": [
{
"title": "💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%%",
"time": "2022-11-04",
"rowNumber": 74
}
],
"06.02 Investments/Crypto Tasks.md": [
{
"title": "💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%%",
"time": "2022-11-04",
"rowNumber": 74
"title": ":ballot_box: [[Crypto Tasks]]: Vote for [[EOS]] block producers %%done_del%%",
"time": "2023-01-03",
"rowNumber": 75
},
{
"title": ":chart: Check [[Nimbus]] earnings %%done_del%%",
"time": "2022-11-14",
"rowNumber": 92
},
{
"title": ":ballot_box: [[Crypto Tasks]]: Vote for [[EOS]] block producers %%done_del%%",
"time": "2022-12-06",
"rowNumber": 87
}
],
"06.02 Investments/Equity Tasks.md": [
{
"title": "💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%%",
"time": "2022-11-04",
"rowNumber": 74
"time": "2023-01-09",
"rowNumber": 76
}
],
"05.02 Networks/Configuring UFW.md": [
{
"title": "🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%%",
"time": "2022-11-05",
"time": "2022-12-17",
"rowNumber": 239
},
{
"title": "🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list",
"time": "2022-11-05",
"rowNumber": 280
"time": "2022-12-17",
"rowNumber": 286
}
],
"00.01 Admin/Calendars/2022-01-22.md": [
{
"title": "22:46 :moneybag: [[2022-01-22|Memo]], [[@Finances]]: GBP account re moving to ZH",
"time": "2022-11-30",
"time": "2022-12-30",
"rowNumber": 87
}
],
@ -500,13 +479,13 @@
{
"title": ":birthday: **[[Amélie Solanet|Amélie]]**",
"time": "2023-06-27",
"rowNumber": 105
"rowNumber": 100
}
],
"05.01 Computer setup/Privacy & Security.md": [
{
"title": "an instance of [[Element]]",
"time": "2022-12-31",
"time": "2023-12-31",
"rowNumber": 169
}
],
@ -518,11 +497,6 @@
}
],
"00.01 Admin/Calendars/2022-08-25.md": [
{
"title": "12:59 :ice_hockey: [[2022-08-25|Memo]], [[@Sport Zürich|Sport in Zürich]]: go to a game of ZSC",
"time": "2022-11-30",
"rowNumber": 89
},
{
"title": "13:01 :soccer: [[2022-08-25|Memo]], [[@Sport Zürich|Sport in Zürich]]: go to see the FC Zürich",
"time": "2023-02-27",
@ -539,7 +513,7 @@
"00.08 Bookmarks/Bookmarks - Media.md": [
{
"title": ":label: [[Bookmarks - Media]]: review bookmarls",
"time": "2022-11-07",
"time": "2023-02-07",
"rowNumber": 80
}
],
@ -553,35 +527,35 @@
"00.08 Bookmarks/Bookmarks - Obsidian.md": [
{
"title": ":label: [[Bookmarks - Obsidian]]: Review bookmarks",
"time": "2022-11-15",
"rowNumber": 308
"time": "2023-02-15",
"rowNumber": 297
}
],
"00.08 Bookmarks/Bookmarks - Selfhosted Apps.md": [
{
"title": ":label: [[Bookmarks - Selfhosted apps]]: Review bookmarks",
"time": "2022-11-22",
"time": "2023-02-22",
"rowNumber": 196
}
],
"00.08 Bookmarks/Bookmarks - Utilities.md": [
{
"title": ":label: [[Bookmarks - Utilities]]: review bookmarks",
"time": "2022-12-02",
"time": "2023-03-02",
"rowNumber": 172
}
],
"00.08 Bookmarks/Bookmarks - Mac applications.md": [
{
"title": ":label: [[Bookmarks - Mac applications]]: review bookmarks",
"time": "2022-12-09",
"time": "2023-03-09",
"rowNumber": 82
}
],
"00.08 Bookmarks/Bookmarks - Work.md": [
{
"title": ":label: [[Bookmarks - Work]]: review bookmarks",
"time": "2022-12-16",
"title": ":label: [[Bookmarks - Work]]: review bookmarks %%done_del%%",
"time": "2023-03-16",
"rowNumber": 71
}
],
@ -589,36 +563,52 @@
{
"title": ":birthday: **[[@@MRCK|Meggi-mo]]'s Papa** (1962)",
"time": "2023-02-02",
"rowNumber": 280
"rowNumber": 282
},
{
"title": ":birthday: **[[@@MRCK|Meggi-mo]]**",
"time": "2023-02-28",
"rowNumber": 278
"rowNumber": 280
},
{
"title": "[[@@MRCK|Meggi-mo]] Saint Patrick's Day",
"time": "2023-03-17",
"rowNumber": 282
"rowNumber": 284
}
],
"00.01 Admin/Calendars/2022-10-17.md": [
"00.08 Bookmarks/Bookmarks - Travels & Sport.md": [
{
"title": "12:25 :phone: [[@life admin]]: call EE and cancel line",
"title": ":label: [[Bookmarks - Travels & Sport]]: review bookmarks",
"time": "2023-12-23",
"rowNumber": 82
}
],
"00.08 Bookmarks/Bookmarks - Webpages.md": [
{
"title": ":label: [[Bookmarks - Webpages]]: review bookmarks",
"time": "2023-12-30",
"rowNumber": 113
}
],
"00.01 Admin/Calendars/2022-12-14.md": [
{
"title": "16:26 :car: [[@Life admin|Admin]], [[2022-12-14|Memo]]: replace windscreen wipers & cleaning liquid",
"time": "2022-12-31",
"rowNumber": 83
"rowNumber": 84
}
],
"00.01 Admin/Calendars/2022-10-23.md": [
"00.01 Admin/Calendars/2022-12-15.md": [
{
"title": "11:47 :hotel: [[@Life admin|Admin]]: book airbnb in Geneva for M&A's engagement party",
"time": "2022-11-05",
"title": "12:16 :moneybag: [[2022-12-15|Memo]], [[@Investment master|Investment]], [[Equity Investments|Equity]]: liquidate Saxo account positions",
"time": "2022-12-26",
"rowNumber": 83
},
}
],
"02.02 Paris/@@Paris.md": [
{
"title": "11:49 :hotel: [[@Life admin|Admin]]: book airbnb for M&A's wedding",
"time": "2022-11-05",
"rowNumber": 84
"title": ":birthday: **Virginie Parent**, [[@@Paris|Paris]] %%done_del%%",
"time": "2023-12-12",
"rowNumber": 115
}
]
},

File diff suppressed because one or more lines are too long

@ -1,8 +1,8 @@
{
"id": "obsidian-reminder-plugin",
"name": "Reminder",
"version": "1.1.12",
"minAppVersion": "0.12.12",
"version": "1.1.15",
"minAppVersion": "1.0.3",
"description": "Reminder plugin for Obsidian. This plugin adds feature to manage TODOs with reminder.",
"author": "uphy",
"authorUrl": "https://obsidian.md/about",

@ -1 +1,124 @@
/* styles.css */
/* fakecss:/home/runner/work/obsidian-reminder/obsidian-reminder/src/ui/components/Calendar.esbuild-svelte-fake-css */
.reminder-calendar.svelte-18sic8s.svelte-18sic8s {
padding: 0.5rem;
}
.reminder-calendar.svelte-18sic8s .year-month.svelte-18sic8s {
font-size: 1rem;
font-weight: bold;
text-align: center;
}
.reminder-calendar.svelte-18sic8s .month-nav.svelte-18sic8s {
color: var(--text-muted);
margin-left: 1rem;
margin-right: 1rem;
cursor: pointer;
}
.reminder-calendar.svelte-18sic8s .month.svelte-18sic8s {
color: var(--text-muted);
}
.reminder-calendar.svelte-18sic8s .year.svelte-18sic8s {
color: var(--text-accent);
}
.reminder-calendar.svelte-18sic8s th.svelte-18sic8s {
font-size: 0.7rem;
color: var(--text-muted);
}
.reminder-calendar.svelte-18sic8s .calendar-date.svelte-18sic8s {
text-align: center;
min-width: 2rem;
max-width: 2rem;
}
.reminder-calendar.svelte-18sic8s .calendar-date.svelte-18sic8s:hover {
background-color: var(--background-secondary-alt);
}
.reminder-calendar.svelte-18sic8s .is-selected.svelte-18sic8s {
background-color: var(--text-accent) !important;
color: var(--text-normal) !important;
}
.reminder-calendar.svelte-18sic8s .other-month.svelte-18sic8s,
.reminder-calendar.svelte-18sic8s .is-past.svelte-18sic8s,
.reminder-calendar.svelte-18sic8s .is-holiday.svelte-18sic8s {
color: var(--text-faint);
}
/* fakecss:/home/runner/work/obsidian-reminder/obsidian-reminder/src/ui/components/ReminderListByDate.esbuild-svelte-fake-css */
.reminder-group.svelte-gzdxib {
margin-bottom: 1rem;
font-size: 13px;
color: var(--text-muted);
}
.reminder-list-item.svelte-gzdxib {
list-style: none;
line-height: 14px;
padding: 3px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
word-break: break-all;
width: 100%;
}
.reminder-list-item.svelte-gzdxib:hover {
color: var(--text-normal);
background-color: var(--background-secondary-alt);
}
.reminder-time.svelte-gzdxib {
font-size: 14px;
font-family: monospace, serif;
}
.reminder-file.svelte-gzdxib {
color: var(--text-faint);
}
.no-reminders.svelte-gzdxib {
font-style: italic;
}
/* fakecss:/home/runner/work/obsidian-reminder/obsidian-reminder/src/ui/components/DateTimeChooser.esbuild-svelte-fake-css */
.dtchooser.svelte-fjfxbq {
background-color: var(--background-primary-alt);
z-index: 2147483647;
}
.dtchooser-divider.svelte-fjfxbq {
margin: 0.5rem;
}
.reminder-list-container.svelte-fjfxbq {
padding: 0.5rem;
max-width: 16rem;
}
/* fakecss:/home/runner/work/obsidian-reminder/obsidian-reminder/src/ui/components/Icon.esbuild-svelte-fake-css */
.icon.svelte-1gcidq0 {
vertical-align: middle;
}
/* fakecss:/home/runner/work/obsidian-reminder/obsidian-reminder/src/ui/components/Reminder.esbuild-svelte-fake-css */
main.svelte-yfmg28 {
padding: 1em;
margin: 0 auto;
}
.reminder-actions.svelte-yfmg28 {
margin-top: 1rem;
display: flex;
gap: 0.5rem;
}
.reminder-file.svelte-yfmg28 {
color: var(--text-muted);
cursor: pointer;
}
.reminder-file.svelte-yfmg28:hover {
color: var(--text-normal);
text-decoration: underline;
}
.later-select.svelte-yfmg28 {
font-size: 14px;
}
/* fakecss:/home/runner/work/obsidian-reminder/obsidian-reminder/src/ui/components/ReminderList.esbuild-svelte-fake-css */
.group-name.svelte-2zqui4 {
font-size: 14px;
color: var(--text-muted);
border-bottom: 1px solid var(--text-muted);
margin-bottom: 0.5rem;
}
.group-name-overdue.svelte-2zqui4 {
color: var(--text-accent);
}

@ -0,0 +1,262 @@
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// main.ts
var main_exports = {};
__export(main_exports, {
default: () => ScrollToTopPlugin
});
module.exports = __toCommonJS(main_exports);
var import_obsidian = require("obsidian");
// src/setting.ts
var scrollToTopSetting = {
enabledScrollToTop: true,
enabledScrollToBottom: true,
iconScrollToTop: "arrow-up",
iconScrollToBottom: "arrow-down",
showTooltip: true,
scrollTopTooltipText: "Scroll to top",
scrollBottomTooltipText: "Scroll to bottom"
};
// main.ts
var ROOT_WORKSPACE_CLASS = ".mod-vertical.mod-root";
var ScrollToTopPlugin = class extends import_obsidian.Plugin {
constructor() {
super(...arguments);
this.windowSet = /* @__PURE__ */ new Set();
}
addPluginCommand(id, name, callback) {
this.addCommand({
id,
name,
callback
});
}
scrollToTop() {
const markdownView = this.app.workspace.getActiveViewOfType(import_obsidian.MarkdownView);
if (markdownView) {
const editor = markdownView.editor;
const preview = markdownView.previewMode;
editor.scrollTo(0, 0);
preview && preview.applyScroll(0);
}
}
scrollToBottom() {
const markdownView = this.app.workspace.getActiveViewOfType(import_obsidian.MarkdownView);
if (markdownView) {
const editor = markdownView.editor;
const preview = markdownView.previewMode;
editor.exec("goEnd");
if (preview) {
let timer = setInterval(() => {
const prevScroll = preview.getScroll();
preview.applyScroll(preview.getScroll() + 10);
if (prevScroll >= preview.getScroll()) {
clearInterval(timer);
}
});
}
}
}
createScrollElement(config, fn) {
var _a;
let topWidget = createEl("div");
topWidget.setAttribute("class", `div-${config.className}`);
topWidget.setAttribute("id", config.id);
let button = new import_obsidian.ButtonComponent(topWidget);
button.setIcon(config.icon).setClass("buttonItem").onClick(fn);
if (config.tooltipConfig.showTooltip) {
button.setTooltip(config.tooltipConfig.tooltipText);
}
let curWindow = config.curWindow || window;
(_a = curWindow.document.body.querySelector(ROOT_WORKSPACE_CLASS)) == null ? void 0 : _a.insertAdjacentElement("afterbegin", topWidget);
curWindow.document.addEventListener("click", function(event) {
const activeLeaf = app.workspace.getActiveViewOfType(import_obsidian.MarkdownView);
if (activeLeaf) {
topWidget.style.visibility = "visible";
} else {
topWidget.style.visibility = "hidden";
}
});
}
removeButton(id, curWindow) {
let curWin = curWindow || window;
const element = curWin.document.getElementById(id);
if (element) {
element.remove();
}
}
createButton(window2) {
const {
enabledScrollToTop,
enabledScrollToBottom,
iconScrollToTop,
iconScrollToBottom,
showTooltip,
scrollTopTooltipText,
scrollBottomTooltipText
} = this.settings;
if (enabledScrollToTop) {
this.createScrollElement({
id: "__C_scrollToTop",
className: "scrollToTop",
icon: iconScrollToTop,
curWindow: window2,
tooltipConfig: {
showTooltip,
tooltipText: scrollTopTooltipText
}
}, this.scrollToTop.bind(this));
}
if (enabledScrollToBottom) {
this.createScrollElement({
id: "__C_scrollToBottom",
className: "scrollToBottom",
icon: iconScrollToBottom,
curWindow: window2,
tooltipConfig: {
showTooltip,
tooltipText: scrollBottomTooltipText
}
}, this.scrollToBottom.bind(this));
}
}
async onload() {
await this.loadSettings();
this.addSettingTab(new ScrollToTopSettingTab(this.app, this));
this.app.workspace.onLayoutReady(() => {
this.createButton();
});
this.addPluginCommand("scroll-to-top", "Scroll to Top", this.scrollToTop.bind(this));
this.addPluginCommand("scroll-to-bottom", "Scroll to Bottom", this.scrollToBottom.bind(this));
this.app.workspace.on("window-open", (win, window2) => {
this.windowSet.add(window2);
this.createButton(window2);
});
this.app.workspace.on("window-close", (win, window2) => {
this.windowSet.delete(window2);
});
setTimeout(() => {
this.app.workspace.trigger("css-change");
}, 300);
}
async saveSettings() {
await this.saveData(this.settings);
}
async loadSettings() {
this.settings = Object.assign({}, scrollToTopSetting, await this.loadData());
}
onunload() {
this.removeButton("__C_scrollToTop");
this.removeButton("__C_scrollToBottom");
if (this.windowSet.size > 0) {
this.windowSet.forEach((window2) => {
this.removeButton("__C_scrollToTop", window2);
this.removeButton("__C_scrollToBottom", window2);
});
}
}
};
var ScrollToTopSettingTab = class extends import_obsidian.PluginSettingTab {
constructor(app2, plugin) {
super(app2, plugin);
this.plugin = plugin;
}
createSpanWithLinks(text, href, linkText) {
const span = document.createElement("span");
span.innerText = text;
const link = document.createElement("a");
link.href = href;
link.innerText = linkText;
span.appendChild(link);
return span;
}
rebuildButton() {
this.plugin.removeButton("__C_scrollToTop");
this.plugin.removeButton("__C_scrollToBottom");
this.plugin.createButton();
if (this.plugin.windowSet.size > 0) {
this.plugin.windowSet.forEach((window2) => {
this.plugin.removeButton("__C_scrollToTop", window2);
this.plugin.removeButton("__C_scrollToBottom", window2);
this.plugin.createButton(window2);
});
}
}
display() {
const { containerEl } = this;
containerEl.empty();
containerEl.createEl("h2", { text: "Scroll To Top Settings" });
new import_obsidian.Setting(containerEl).setName("Show scroll to top button").setDesc("Show scroll to top button in the right bottom corner.").addToggle((value) => {
value.setValue(this.plugin.settings.enabledScrollToTop).onChange(async (value2) => {
this.plugin.settings.enabledScrollToTop = value2;
await this.plugin.saveSettings();
this.rebuildButton();
});
});
new import_obsidian.Setting(containerEl).setName("Show scroll to bottom button").setDesc("Show scroll to bottom button in the right bottom corner.").addToggle((value) => {
value.setValue(this.plugin.settings.enabledScrollToBottom).onChange(async (value2) => {
this.plugin.settings.enabledScrollToBottom = value2;
await this.plugin.saveSettings();
this.rebuildButton();
});
});
new import_obsidian.Setting(containerEl).setName("Show Tooltip").setDesc("Show tooltip when hover on the button.").addToggle((value) => {
value.setValue(this.plugin.settings.showTooltip).onChange(async (value2) => {
this.plugin.settings.showTooltip = value2;
await this.plugin.saveSettings();
this.rebuildButton();
});
});
new import_obsidian.Setting(containerEl).setName("tooltip config for top button").setDesc("Change tooltip text of scroll to top button.").addText((value) => {
value.setValue(this.plugin.settings.scrollTopTooltipText).onChange(async (value2) => {
this.plugin.settings.scrollTopTooltipText = value2;
await this.plugin.saveSettings();
this.rebuildButton();
});
});
new import_obsidian.Setting(containerEl).setName("tooltip config for bottom button").setDesc("Change tooltip text of scroll to bottom button.").addText((value) => {
value.setValue(this.plugin.settings.scrollBottomTooltipText).onChange(async (value2) => {
this.plugin.settings.scrollBottomTooltipText = value2;
await this.plugin.saveSettings();
this.rebuildButton();
});
});
new import_obsidian.Setting(containerEl).setName("Change icon of scroll to top button").setDesc(this.createSpanWithLinks("Change icon of scroll to top button. You can visit available icons here: ", "https://lucide.dev/", "lucide.dev")).addText((value) => {
value.setValue(this.plugin.settings.iconScrollToTop).onChange(async (value2) => {
this.plugin.settings.iconScrollToTop = value2;
await this.plugin.saveSettings();
this.rebuildButton();
});
});
new import_obsidian.Setting(containerEl).setName("Change icon of scroll to bottom button").setDesc(this.createSpanWithLinks("Change icon of scroll to bottom button. You can visit available icons here: ", "https://lucide.dev/", "lucide.dev")).addText((value) => {
value.setValue(this.plugin.settings.iconScrollToBottom).onChange(async (value2) => {
this.plugin.settings.iconScrollToBottom = value2;
await this.plugin.saveSettings();
this.rebuildButton();
});
});
}
};

@ -0,0 +1,10 @@
{
"id": "obsidian-scroll-to-top-plugin",
"name": "Scroll to Top Plugin",
"version": "1.5.0",
"minAppVersion": "0.15.0",
"description": "This is a plugin for Obsidian that adds a button to scroll to the top of the current note.",
"author": "cloudhao1999",
"authorUrl": "https://github.com/cloudhao1999/obsidian-scroll-to-top-plugin",
"isDesktopOnly": false
}

@ -0,0 +1,146 @@
/* @settings
name: Scroll to Top Plugin
id: obsidian-scroll-to-top-plugin
settings:
-
id: scroll-to-top-bottom
title: Scroll to top bottom position placement
type: variable-number
default: 2.65
format: em
-
id: scroll-to-top-left
title: Scroll to top right position placement
type: variable-number
default: 2.05
format: em
-
id: scroll-to-bottom-bottom
title: Scroll to bottom bottom position placement
type: variable-number
default: 5.75
format: em
-
id: scroll-to-bottom-left
title: Scroll to bottom right position placement
type: variable-number
default: 2.05
format: em
-
id: scroll-to-top-width
title: Scroll to top button width
type: variable-number
default: 1.875
format: em
-
id: scroll-to-top-height
title: Scroll to top button height
type: variable-number
default: 1.875
format: em
-
id: scroll-to-bottom-width
title: Scroll to bottom button width
type: variable-number
default: 1.875
format: em
-
id: scroll-to-bottom-height
title: Scroll to bottom button height
type: variable-number
default: 1.875
format: em
*/
/* In case not using the style settings plugin */
:root {
--scroll-to-bottom-bottom: 2.65em;
--scroll-to-bottom-left: 2.05em;
--scroll-to-top-bottom: 5.75em;
--scroll-to-top-left: 2.05em;
--scroll-input-width: 1.875em;
--scroll-to-top-width: var(--scroll-input-width);
--scroll-to-top-height: var(--scroll-input-width);
--scroll-to-bottom-width: var(--scroll-input-width);
--scroll-to-bottom-height: var(--scroll-input-width);
}
.div-scrollToTop {
position: absolute;
bottom: var(--scroll-to-top-bottom);
right: var(--scroll-to-top-left);
z-index: 99;
}
.div-scrollToBottom {
position: absolute;
bottom: var(--scroll-to-bottom-bottom);
right: var(--scroll-to-bottom-left);
z-index: 99;
}
#__C_scrollToTop {
width: auto;
height: auto;
padding: 3px;
display: grid;
user-select: none;
border-radius: 6px;
transition: 200ms ease;
min-width: fit-content;
justify-content: space-around;
z-index: var(--layer-status-bar);
box-shadow: 0px 3px 32px rgb(31 38 135 / 15%);
border: 1px solid var(--background-modifier-border);
}
#__C_scrollToTop .buttonItem {
margin: 2px;
border: none;
cursor: pointer;
padding: 5px 6px;
box-shadow: none;
margin-left: 3px;
margin-right: 3px;
border-radius: 3px;
width: var(--scroll-to-top-width);
height: var(--scroll-to-top-height);
font-size: initial !important;
background-color: var(--background-primary-alt);
}
#__C_scrollToTop button.buttonItem:hover {
background-color: var(--background-secondary);
}
#__C_scrollToBottom {
width: auto;
height: auto;
padding: 3px;
display: grid;
user-select: none;
border-radius: 6px;
transition: 200ms ease;
min-width: fit-content;
justify-content: space-around;
z-index: var(--layer-status-bar);
box-shadow: 0px 3px 32px rgb(31 38 135 / 15%);
border: 1px solid var(--background-modifier-border);
}
#__C_scrollToBottom .buttonItem {
margin: 2px;
border: none;
cursor: pointer;
padding: 5px 6px;
box-shadow: none;
margin-left: 3px;
margin-right: 3px;
width: var(--scroll-to-bottom-width);
height: var(--scroll-to-bottom-height);
border-radius: 3px;
font-size: initial !important;
background-color: var(--background-primary-alt);
}
#__C_scrollToBottom button.buttonItem:hover {
background-color: var(--background-secondary);
}

@ -0,0 +1,23 @@
{
"snippetList": [
{
"repo": "https://github.com/efemkay/obsidian-modular-css-layout",
"snippetsContents": [
{
"name": "MCL Gallery Cards.css",
"lastUpdate": "2022-11-28T02:12:53Z"
},
{
"name": "MCL Multi Column.css",
"lastUpdate": "2022-11-28T02:12:53Z"
},
{
"name": "MCL Wide Views.css",
"lastUpdate": "2022-11-18T15:21:49Z"
}
]
}
],
"excludedSnippet": "",
"errorSnippet": ""
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,10 @@
{
"id": "obsidian-snippet-downloader",
"name": "Snippet Downloader",
"version": "2.0.1",
"minAppVersion": "0.12.0",
"description": "A obsidian's plugin to help to manage css snippets (download / update) from repository ",
"author": "Mara-Li",
"authorUrl": "www.mara-li.fr",
"isDesktopOnly": false
}

@ -0,0 +1,18 @@
.setting-item.snippets-downloader-settings {
border: none;
padding: 0.5em 1em;
}
summary.snippets-downloader-summary {
height: 2em;
margin-bottom: 1em;
}
.setting-item.snippets-downloader-options {
top:-2em;
position: relative;
}
button.snippets-downloader-button {
background: transparent !important;
border: none !important;
box-shadow: none !important;
}

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{
"id": "obsidian-tasks-plugin",
"name": "Tasks",
"version": "1.16.0",
"version": "1.20.0",
"minAppVersion": "0.14.6",
"description": "Task management for Obsidian",
"author": "Martin Schenck and Clare Macrae",

@ -1,3 +1,13 @@
.plugin-tasks-query-explanation{
/* Prevent long explanation lines wrapping, so they are more readable,
especially on small screens.
A horizontal scroll bar will be displayed, if the explanation
is too wide to fit.
*/
--code-white-space: pre;
}
.tasks-count {
color: var(--text-faint);
padding-left: 20px;
@ -8,6 +18,7 @@
background-color: var(--text-faint);
mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E");
mask-size: contain;
-webkit-mask-size: contain;
display: inline-block;
width: 1em;
@ -49,58 +60,140 @@
font-weight: bold;
}
.tasks-modal label {
margin: 5px 0 5px 0;
.tasks-modal-section + .tasks-modal-section {
margin-top: 16px;
}
.tasks-modal input[type="text"] {
width: 100%;
.tasks-modal-section label {
display: inline-block;
margin-bottom: 4px;
}
.tasks-modal hr {
margin: 10px 0 10px 0;
.tasks-modal-section label > span {
display: inline-block;
}
.tasks-modal-date {
margin-bottom: 10px;
.tasks-modal .with-accesskeys .accesskey-first::first-letter,
.tasks-modal .with-accesskeys .accesskey {
text-decoration: underline;
text-underline-offset: 1pt;
}
.tasks-modal-buttons {
display: grid;
grid-template-columns: 3fr 1fr;
column-gap: .5em;
}
.tasks-modal label + input[type="checkbox"] {
margin-left: 0.67em;
top: 2px;
}
.tasks-modal-priority {
line-height: 1.41;
white-space: nowrap;
.tasks-modal input[type="text"] {
width: 100%;
}
.tasks-modal-priority input {
margin-left: 1.5em;
.tasks-modal-priorities {
display: grid;
grid-template-columns: 4em 5em 5em 7em 5em;
grid-column-gap: 1.33em;
}
.tasks-modal-priorities span {
line-height: 1.41;
white-space: nowrap;
}
.tasks-modal-priority label {
.tasks-modal-priorities label {
border-radius: var(--input-radius);
padding: 2px 3px;
}
.tasks-modal-priority input:focus + label {
.tasks-modal-priorities input:focus + label {
box-shadow: 0 0 0 2px var(--background-modifier-border-focus);
border-color: var(--background-modifier-border-focus);
}
.tasks-modal-priority label > span:nth-child(2) {
display: inline-block;
.tasks-modal-priorities input:checked + label > span:first-child {
font-weight: bold;
}
.tasks-modal-priority input:not(:checked) + label > span:first-child {
.tasks-modal-priorities input:not(:checked) + label > span:nth-child(2) {
filter: grayscale(100%) opacity(60%);
}
.tasks-modal-priority label > span:nth-child(2)::first-letter {
text-decoration: underline;
text-underline-offset: 1pt;
.tasks-modal-dates {
display: grid;
grid-template-columns: 5.5em auto;
column-gap: .5em;
row-gap: 5px;
}
.tasks-modal-dates > label {
grid-column: 1;
margin-top: 6px;
}
.tasks-modal-dates > input, .tasks-modal-dates > code {
grid-column: 2;
align-items: stretch;
}
.tasks-modal-dates > code {
margin-bottom: 5px;
}
.tasks-modal-dates > div {
grid-column-start: 1;
grid-column-end: 3;
}
.tasks-modal-status {
display: flex;
justify-content: space-between;
}
@media (max-width: 649px) {
.tasks-modal-priorities {
grid-template-columns: 4em 7.5em 5em;
margin-bottom: -10px;
}
.tasks-modal-priorities > label {
grid-row: 1 / span 2;
}
.tasks-modal-dates {
grid-template-columns: 1fr;
}
.tasks-modal-dates > label {
margin: 0;
}
.tasks-modal-dates > input, .tasks-modal-dates > code {
grid-column: 1;
}
.tasks-modal-dates > div {
grid-column-end: 1;
}
.tasks-modal-status {
display: block;
}
}
@media (max-width: 399px) {
.tasks-modal-priorities {
grid-template-columns: 4em auto;
}
.tasks-modal-priorities > label {
grid-row: 1 / span 4;
}
}
.tasks-modal-priority input:checked + label > span:nth-child(2) {
text-shadow: 0px 0px 1px var(--text-normal);
@media (max-width: 259px) {
.tasks-modal-priorities {
grid-template-columns: 1fr;
margin-bottom: 0;
}
.tasks-modal-priorities > label {
grid-row: 1;
}
}

@ -1,5 +1,6 @@
{
"pluginList": [
"thingnotok/obsidian-google-mail",
"GamerGirlandCo/obsidian-task-completer/",
"joethei/obsidian-tagcloud",
"Quorafind/Obsidian-Memos",

@ -19,6 +19,16 @@
"type": "github"
},
"version": "1.0.0"
},
"3d-graph": {
"repo": {
"domain": "github.com",
"owner": "AlexW00",
"name": "obsidian-3d-graph",
"url": "https://github.com/AlexW00/obsidian-3d-graph",
"type": "github"
},
"version": "1.0.1"
}
}
}

@ -579,14 +579,14 @@ var FeedParser = class {
const descriptionEl = item.querySelector("description");
const pubDateEl = item.querySelector("pubDate");
const itunesImageEl = item.querySelector("image");
if (!titleEl || !streamUrlEl || !descriptionEl || !pubDateEl) {
if (!titleEl || !streamUrlEl || !pubDateEl) {
console.log(titleEl, streamUrlEl, linkEl, descriptionEl, pubDateEl);
throw new Error("Invalid RSS feed");
}
const title = titleEl.textContent || "";
const streamUrl = streamUrlEl.getAttribute("url") || "";
const url = (linkEl == null ? void 0 : linkEl.textContent) || "";
const description = descriptionEl.textContent || "";
const description = (descriptionEl == null ? void 0 : descriptionEl.textContent) || "";
const pubDate = new Date(pubDateEl.textContent);
const artworkUrl = (itunesImageEl == null ? void 0 : itunesImageEl.getAttribute("href")) || ((_a = this.feed) == null ? void 0 : _a.artworkUrl);
return {
@ -1594,8 +1594,8 @@ function checkStringIsUrl(url) {
try {
return new URL(url);
} catch (e) {
return null;
}
return null;
}
// src/ui/obsidian/Text.svelte
@ -4111,69 +4111,74 @@ function getUrlExtension(url) {
}
// src/TemplateEngine.ts
function TemplateEngine(template, tags) {
return template.replace(/\{\{(.*?)(:\s*?.+?)?\}\}/g, (match, tagId, params) => {
const tagValue = tags[tagId.toLowerCase()];
if (tagValue === null || tagValue === void 0) {
const fuse = new Fuse(Object.keys(tags), {
shouldSort: true,
findAllMatches: false,
threshold: 0.4,
isCaseSensitive: false
});
const similarTag = fuse.search(tagId);
new import_obsidian9.Notice(`Tag ${tagId} is invalid.${similarTag.length > 0 ? ` Did you mean ${similarTag[0].item}?` : ""}`);
return match;
}
if (typeof tagValue === "function") {
if (params) {
const splitParams = params.slice(1).split(",");
const args = Array.isArray(splitParams) ? splitParams : [params];
return tagValue(...args);
function useTemplateEngine() {
const tags = {};
function addTag(tag, value) {
tags[tag] = value;
}
function replacer(template) {
return template.replace(/\{\{(.*?)(:\s*?.+?)?\}\}/g, (match, tagId, params) => {
const tagValue = tags[tagId.toLowerCase()];
if (tagValue === null || tagValue === void 0) {
const fuse = new Fuse(Object.keys(tags), {
shouldSort: true,
findAllMatches: false,
threshold: 0.4,
isCaseSensitive: false
});
const similarTag = fuse.search(tagId);
new import_obsidian9.Notice(`Tag ${tagId} is invalid.${similarTag.length > 0 ? ` Did you mean ${similarTag[0].item}?` : ""}`);
return match;
}
if (typeof tagValue === "function") {
if (params) {
const splitParams = params.slice(1).split(",");
const args = Array.isArray(splitParams) ? splitParams : [params];
return tagValue(...args);
}
return tagValue();
}
return tagValue();
}
return tagValue;
});
return tagValue;
});
}
return [replacer, addTag];
}
function NoteTemplateEngine(template, episode) {
var _a;
return TemplateEngine(template, {
"title": episode.title,
"description": (prependToLines) => {
if (prependToLines) {
return (0, import_obsidian9.htmlToMarkdown)(episode.description).split("\n").map(prepend(prependToLines)).join("\n");
}
return (0, import_obsidian9.htmlToMarkdown)(episode.description);
},
"url": episode.url,
"date": (format2) => episode.episodeDate ? window.moment(episode.episodeDate).format(format2 != null ? format2 : "YYYY-MM-DD") : "",
"podcast": episode.podcastName,
"artwork": (_a = episode.artworkUrl) != null ? _a : ""
const [replacer, addTag] = useTemplateEngine();
addTag("title", episode.title);
addTag("description", (prependToLines) => {
if (prependToLines) {
return (0, import_obsidian9.htmlToMarkdown)(episode.description).split("\n").map((str) => `${prependToLines}${str}`).join("\n");
}
return (0, import_obsidian9.htmlToMarkdown)(episode.description);
});
}
function prepend(prepend2) {
return (str) => `${prepend2}${str}`;
addTag("safetitle", replaceIllegalFileNameCharactersInString(episode.title));
addTag("url", episode.url);
addTag("date", (format2) => episode.episodeDate ? window.moment(episode.episodeDate).format(format2 != null ? format2 : "YYYY-MM-DD") : "");
addTag("podcast", episode.podcastName);
addTag("artwork", (_a = episode.artworkUrl) != null ? _a : "");
return replacer(template);
}
function TimestampTemplateEngine(template) {
return TemplateEngine(template, {
"time": (format2) => get_store_value(plugin).api.getPodcastTimeFormatted(format2 != null ? format2 : "HH:mm:ss"),
"linktime": (format2) => get_store_value(plugin).api.getPodcastTimeFormatted(format2 != null ? format2 : "HH:mm:ss", true)
});
const [replacer, addTag] = useTemplateEngine();
addTag("time", (format2) => get_store_value(plugin).api.getPodcastTimeFormatted(format2 != null ? format2 : "HH:mm:ss"));
addTag("linktime", (format2) => get_store_value(plugin).api.getPodcastTimeFormatted(format2 != null ? format2 : "HH:mm:ss", true));
return replacer(template);
}
function FilePathTemplateEngine(template, episode) {
return TemplateEngine(template, {
"title": replaceIllegalFileNameCharactersInString(episode.title),
"podcast": replaceIllegalFileNameCharactersInString(episode.podcastName)
});
const [replacer, addTag] = useTemplateEngine();
addTag("title", replaceIllegalFileNameCharactersInString(episode.title));
addTag("podcast", replaceIllegalFileNameCharactersInString(episode.podcastName));
return replacer(template);
}
function DownloadPathTemplateEngine(template, episode) {
const templateExtension = getUrlExtension(template);
const templateWithoutExtension = templateExtension ? template.replace(templateExtension, "") : template;
return TemplateEngine(templateWithoutExtension, {
"title": replaceIllegalFileNameCharactersInString(episode.title),
"podcast": replaceIllegalFileNameCharactersInString(episode.podcastName)
});
const [replacer, addTag] = useTemplateEngine();
addTag("title", replaceIllegalFileNameCharactersInString(episode.title));
addTag("podcast", replaceIllegalFileNameCharactersInString(episode.podcastName));
return replacer(templateWithoutExtension);
}
function replaceIllegalFileNameCharactersInString(string) {
return string.replace(/[\\,#%&{}/*<>$'":@\u2023|?]*/g, "").replace(/\n/, " ").replace(" ", " ");
@ -6282,22 +6287,22 @@ var import_obsidian14 = require("obsidian");
// src/createPodcastNote.ts
var import_obsidian12 = require("obsidian");
// src/utility/addExtension.ts
function addExtension(path, extension) {
const ext = extension.startsWith(".") ? extension : `.${extension}`;
return path.endsWith(ext) ? path : `${path}${ext}`;
}
// src/createPodcastNote.ts
function createPodcastNote(episode) {
return __async(this, null, function* () {
const pluginInstance = get_store_value(plugin);
const filePath = FilePathTemplateEngine(pluginInstance.settings.note.path, episode);
const filePathDotMd = filePath.endsWith(".md") ? filePath : `${filePath}.md`;
const filePathDotMd = addExtension(filePath, "md");
const content = NoteTemplateEngine(pluginInstance.settings.note.template, episode);
const createOrGetFile = (path, content2) => __async(this, null, function* () {
const file = getPodcastNote(episode);
if (file) {
new import_obsidian12.Notice(`Note for "${pluginInstance.api.podcast.title}" already exists`);
return file;
}
return yield app.vault.create(path, content2);
});
try {
const file = yield createOrGetFile(filePathDotMd, content);
const file = yield createFileIfNotExists(filePathDotMd, content, episode);
app.workspace.getLeaf().openFile(file);
} catch (error) {
console.error(error);
@ -6308,7 +6313,7 @@ function createPodcastNote(episode) {
function getPodcastNote(episode) {
const pluginInstance = get_store_value(plugin);
const filePath = FilePathTemplateEngine(pluginInstance.settings.note.path, episode);
const filePathDotMd = filePath.endsWith(".md") ? filePath : `${filePath}.md`;
const filePathDotMd = addExtension(filePath, "md");
const file = app.vault.getAbstractFileByPath(filePathDotMd);
if (!file || !(file instanceof import_obsidian12.TFile)) {
return null;
@ -6323,6 +6328,24 @@ function openPodcastNote(epiosode) {
}
app.workspace.getLeaf().openFile(file);
}
function createFileIfNotExists(path, content, episode, createFolder = true) {
return __async(this, null, function* () {
const file = getPodcastNote(episode);
if (file) {
new import_obsidian12.Notice(`Note for "${episode.title}" already exists`);
return file;
}
const foldersInPath = path.split("/").slice(0, -1);
for (let i = 0; i < foldersInPath.length; i++) {
const folderPath = foldersInPath.slice(0, i + 1).join("/");
const folder = app.vault.getAbstractFileByPath(folderPath);
if (!folder && createFolder) {
yield app.vault.createFolder(folderPath);
}
}
return yield app.vault.create(path, content);
});
}
// src/downloadEpisode.ts
var import_obsidian13 = require("obsidian");
@ -6562,9 +6585,9 @@ function spawnEpisodeContextMenu(episode, event, disabledMenuItems) {
menu.showAtMouseEvent(event);
}
// src/utility/createUrlObjectFromFilePath.ts
// src/utility/createMediaUrlObjectFromFilePath.ts
var import_obsidian15 = require("obsidian");
function createUrlObjectFromFilePath(filePath) {
function createMediaUrlObjectFromFilePath(filePath) {
return __async(this, null, function* () {
const file = app.vault.getAbstractFileByPath(filePath);
if (!file || !(file instanceof import_obsidian15.TFile))
@ -7212,7 +7235,7 @@ function instance19($$self, $$props, $$invalidate) {
const downloadedEpisode = downloadedEpisodes.getEpisode(episode);
if (!downloadedEpisode)
return "";
return createUrlObjectFromFilePath(downloadedEpisode.filePath);
return createMediaUrlObjectFromFilePath(downloadedEpisode.filePath);
} else {
return episode.streamUrl;
}
@ -8548,7 +8571,7 @@ var PodNotes = class extends import_obsidian18.Plugin {
description: "",
podcastName: "local file",
url: app.fileManager.generateMarkdownLink(file, ""),
streamUrl: yield createUrlObjectFromFilePath(file.path),
streamUrl: yield createMediaUrlObjectFromFilePath(file.path),
episodeDate: new Date(file.stat.ctime)
};
if (!downloadedEpisodes.isEpisodeDownloaded(localEpisode)) {

@ -1,7 +1,7 @@
{
"id": "podnotes",
"name": "PodNotes",
"version": "2.1.4",
"version": "2.3.1",
"minAppVersion": "0.15.9",
"description": "Helps you write notes on podcasts.",
"author": "Christian B. B. Houmann",

@ -44,5 +44,6 @@
"runOnStartup": false
}
],
"inputPrompt": "single-line"
"inputPrompt": "single-line",
"devMode": false
}

File diff suppressed because it is too large Load Diff

@ -1,10 +1,10 @@
{
"id": "quickadd",
"name": "QuickAdd",
"version": "0.5.5",
"minAppVersion": "0.13.19",
"description": "Quickly add new pages or content to your vault.",
"author": "Christian B. B. Houmann",
"authorUrl": "https://bagerbach.com",
"isDesktopOnly": false
}
{
"id": "quickadd",
"name": "QuickAdd",
"version": "0.8.0",
"minAppVersion": "0.13.19",
"description": "Quickly add new pages or content to your vault.",
"author": "Christian B. B. Houmann",
"authorUrl": "https://bagerbach.com",
"isDesktopOnly": false
}

@ -29,7 +29,7 @@
}
/* Mobile */
@media screen and (max-width: 540px){
@media screen and (max-width: 540px) {
.macroContainer1 {
grid-template-columns: repeat(1, 1fr);
}
@ -71,7 +71,7 @@
}
/* Everything else */
@media screen and (min-width: 781px){
@media screen and (min-width: 781px) {
.macroContainer1 {
grid-template-columns: repeat(1, 1fr);
}
@ -81,7 +81,7 @@
}
.macroContainer3 {
grid-template-columns: repeat(3, 1fr);
grid-template-columns: repeat(2, 1fr);
}
.wideInputPromptInputEl {
@ -207,4 +207,4 @@
}
.qaFileSuggestionItem .suggestion-sub-text {
font-style: italic;
}
}

@ -259,6 +259,12 @@ function formatTimestamp(timestamp, settings) {
function formatDuration(totalTime) {
let duration = import_obsidian2.moment.duration(totalTime);
let ret = "";
if (duration.years() > 0)
ret += duration.years() + "y ";
if (duration.months() > 0)
ret += duration.months() + "m ";
if (duration.days() > 0)
ret += duration.days() + "d ";
if (duration.hours() > 0)
ret += duration.hours() + "h ";
if (duration.minutes() > 0)

@ -1,7 +1,7 @@
{
"id": "simple-time-tracker",
"name": "Super Simple Time Tracker",
"version": "0.1.5",
"version": "0.1.6",
"minAppVersion": "0.15.0",
"description": "Multi-purpose time trackers for your notes!",
"author": "Ellpeck",

File diff suppressed because one or more lines are too long

@ -5,7 +5,7 @@
"authorUrl": "https://grosinger.net",
"description": "Improved table navigation, formatting, manipulation, and formulas",
"isDesktopOnly": false,
"minAppVersion": "0.13.8",
"version": "0.17.3",
"minAppVersion": "1.0.0",
"version": "0.18.0",
"js": "main.js"
}
}

@ -1,5 +1,50 @@
.HyperMD-table-row span.cm-inline-code {
font-size: 100%;
:root {
--advanced-tables-helper-size: 28px;
}
.advanced-tables-buttons>div>.title {
font-weight: var(--font-medium);
font-size: var(--nav-item-size);
color: var(--nav-item-color);
text-decoration: underline;
}
[data-type="advanced-tables-toolbar"] .nav-buttons-container {
column-gap: 0.2rem;
margin: 0.2rem 0 0.2rem 0;
justify-content: start;
}
[data-type="advanced-tables-toolbar"] .nav-buttons-container::before {
min-width: 2.6rem;
line-height: var(--advanced-tables-helper-size);
font-size: var(--nav-item-size);
font-weight: var(--nav-item-weight);
color: var(--nav-item-color);
}
[data-type="advanced-tables-toolbar"] .nav-buttons-container>* {
height: var(--advanced-tables-helper-size);
line-height: var(--advanced-tables-helper-size);
}
[data-type="advanced-tables-toolbar"] .nav-buttons-container .nav-action-button {
width: var(--advanced-tables-helper-size);
height: var(--advanced-tables-helper-size);
display: flex;
justify-content: center;
align-items: center;
border-radius: var(--radius-s);
}
[data-type="advanced-tables-toolbar"] .nav-buttons-container .nav-action-button:hover {
background-color: var(--nav-item-background-hover);
color: var(--nav-item-color-hover);
font-weight: var(--nav-item-weight-hover);
}
.advanced-tables-row-label {
width: 50px;
}
.widget-icon {
@ -25,4 +70,4 @@
.advanced-tables-donate-button {
margin: 10px;
}
}

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{
"id": "templater-obsidian",
"name": "Templater",
"version": "1.15.2",
"version": "1.16.0",
"description": "Create and use templates",
"minAppVersion": "0.11.13",
"author": "SilentVoid",

@ -24,6 +24,10 @@
align-self: center;
}
.templater_donating {
margin: 10px;
}
.templater_title {
margin: 0;
padding: 0;
@ -110,10 +114,6 @@ textarea.templater-prompt-input:focus {
color: #c0d700;
}
.cm-s-obsidian .cm-templater-command.cm-templater-raw-tag {
color: green;
}
.theme-dark .cm-s-obsidian .cm-templater-command.cm-keyword {
color: #00a7aa;
font-weight: normal;

@ -0,0 +1,264 @@
/* === README ===
Snippet: MCL Gallery Cards / Author: Faiz Khuzaimah / twitter: @faizkhuzaimah / github: https://github.com/efemkay
Version 0.8.0 (updated 2022-11-28)
- adjustment for SNW plugin indicators in image gallery. Option to hide (default) or show.
- fix gap between the images in image gallery (especially the vertical vs horizontal gap)
Version 0.6.2 (updated 2022-10-22)
- rollover main branch to support Obsidian 1.0.0
Version 0.5.0 (updated 2022-09-17)
- added mermaid scale and zoom feature. FR #19 on GH.
version 0.3.1 (2022-06-26)
- fix table mis-formatting
- completed callout and paragraph-based image gallery
- added dimension control for images in lists
This snippet is part of MCL collection of snippets for customising layout, and it provides the following
- "gallery" callout-metadata i.e. [!<any-callout>|gallery] for flex/grid layout
- use together with MCL Multi Column [!blank-container] for invisible container
- YAML `cssClass: image-gallery` to achieve similar to callout but using only Contextual Typography plugin & <p>
- Image Zoom via css
- Dimension control for images in lists <ul>
Credits to @kepano Minimal Theme and @SlRvb ITS Theme for inspiration
*/
/* === Master Setting === */
/* set the defaults */
body{
--img-border-radius: 15px;
--img-max-height: 300px;
--img-max-width: 350px;
--img-max-height-list: 270px;
--img-max-width-list: 300px;
--callout-gallery-gap: 5px;
--gallery-snw-display: none;
}
img {border-radius: var(--img-border-radius);}
img[alt*="right"] {float: right; margin-left: 0.5em; }
/* === Image Gallery using <p> and Callout === */
/* Editing and Reading View - Gallery using <p> and Callout. Using <p> (in Reading View) to contain and format as gallery view using metadata="gallery" to contain and format as gallery view */
/* Create display: flex and key adjustment on margin and gap */
.image-gallery div[data-embed-type="image"] > p,
div[data-callout-metadata*="gallery"].callout > .callout-content > p
{ display: flex; gap: var(--callout-gallery-gap); margin-top: calc( var(--callout-gallery-gap) ); margin-bottom: 0; }
.image-gallery div[data-embed-type="image"].el-embed-image.el-p { margin-top: var(--callout-gallery-gap); }
div[data-callout-metadata*="gallery"].callout > .callout-content { --callout-content-padding: 0.5rem 0 0 0; }
/* Introduce subtle border and make the gallery as object-fit: cover */
.image-gallery div[data-embed-type="image"] > p img,
div[data-callout-metadata*="gallery"].callout > .callout-content > p img
{ max-height: var(--img-max-height); border: 1px solid var(--background-modifier-border); object-fit: cover; display: block;}
/* display: block for img is important to control the hidden margin-bottom but for Minimal, it uses display: flex for top level divs which pose another "margin" issues no plan to solve yet as this is not critical */
/* Editing View - as alternate to <p> in Reading View since there's no natural container in Editing View using <p> */
.image-gallery div:not(.cm-callout):not(.HyperMD-list-line).image-embed img
{ max-height: calc(var(--img-max-height)/1.5); display: unset; object-fit: cover; margin-right: var(--callout-gallery-gap); }
/* previously i have max-width: 50% */
/* Special Adjustment for Shimmering Focus. Reading View. Overriding max-width */
body:not(.is-mobile) .app-container.app-container .image-gallery p img[src],
body:not(.is-mobile) .app-container.app-container div[data-callout-metadata*="gallery"].callout img[src]
{ max-width: 100%; width: unset; margin-block: unset;}
/* Special Adjustment for Minimal theme. Left margin. Editing Live Preview. */
.markdown-source-view.mod-cm6.is-readable-line-width .internal-embed
{ margin-left: 0 !important; width: unset;}
/* Special Adjustment for Minimal theme. Override width: 100% */
.full-width-media .image-gallery .image-embed img:not(.emoji):not([width]) { width: unset; }
/* Special Adjustment - for SNW plugin */
.image-gallery div[data-embed-type="image"] > p .snw-embed-preview,
.image-gallery .internal-embed.image-embed ~ .snw-reference.snw-embed,
div[data-callout-metadata*="gallery"].callout > .callout-content > p .snw-embed-preview
{ display: var(--gallery-snw-display); width: min-content; height: min-content; }
div[data-callout-metadata*="gallery"].callout > .callout-content > p .internal-embed.image-embed ~ br {display: none;}
/* === Images in Lists === */
/* limit the width when in a list (ul only) */
body:not(.list-image-control-off) :is(.HyperMD-list-line,ul) .image-embed.image-embed img:not([width])
{ max-height: var(--img-max-height-list); max-width: var(--img-max-width-list); margin-inline: 0; display: unset; object-fit: cover; }
/* clamping max width to viewport when in mobile. possibly can adopt for desktop as well */
body.is-mobile:not(.list-image-control-off) :is(.HyperMD-list-line,ul) .image-embed.image-embed img:not([width])
{ max-width: clamp(calc(var(--img-max-width-list)/2), var(--img-max-width-list), 100%);}
/*
div:not(.cm-callout).image-embed img { max-height: 200px; max-width: 300px; height: 200px; object-fit: cover;}
*/
/* === Image Zoom === */
/* must check "Enable Image Zoom via CSS" via Style Settings */
/* set scale to 100% for images */
.image-zoom .view-content :is(.cm-editor, .markdown-preview-view) img { max-width: 100%; cursor: zoom-in; }
/* css zoom for images */
body.image-zoom:not(.is-mobile) .view-content :is(.cm-editor,.markdown-preview-view) img:active,
body.image-zoom:not(.is-mobile) .view-content .image-embed:active,
.image-zoom :is(.HyperMD-list-line,ul) .image-embed.image-embed img:active {
cursor: zoom-out; display: block; background: rgba(0,0,0,0.5);
max-height: calc(100% + 1px); max-width: calc(100% - 20px); height: calc(100% + 1px); width: 100%;
object-fit: contain; margin: -0.5px auto 0; padding: 0; text-align: center;
position: fixed; left: 0; right: 0; bottom: 0; z-index: 100;
}
/* === Mermaid SVG max-width 100% and zoom on click === */
/* for Mermaid SVG zoom, must check "Enable Mermaid Zoom via CSS" via Style Settings */
/* set scale to 100% for mermaid diagram */
body:not(.mermaid-scale-off) .view-content :is(.cm-editor, .markdown-preview-view) .mermaid svg { max-width: 100%; height: 100%}
.mermaid-zoom .view-content :is(.markdown-preview-view) .mermaid svg { cursor: zoom-in; }
/* css zoom for mermaid diagram */
body.mermaid-zoom:not(.is-mobile) .view-content :is(.cm-edito,.markdown-preview-view) .mermaid svg:active {
cursor: zoom-out; display: block; object-fit:contain; margin: -0.5px auto 0; padding: 0;
max-height: calc(100% + 1px); max-width: calc(100% - 20px); height: calc(100% + 1px); width: 100%;
text-align: center; z-index: 100; position: fixed; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.8);
}
/* === ALPHA VERSION table-card === */
/* setting the borders */
.table-card table > tbody > tr,
.table-card.markdown-source-view.mod-cm6 .dataview.table-view-table .table-view-tbody tr {border: 1px solid black; border-radius: 0.5em;}
.table-card.markdown-source-view.mod-cm6 .dataview.table-view-table .table-view-tbody td {border-right: unset;}
:is(.theme-light, .theme-dark) .table-card table,
.table-card:is(*,.is-live-preview.is-live-preview) table :is(td,tr) {background-color: unset;}
.table-card .dataview.table-view-table.dataview.table-view-table {border: unset;} /* for primary */
.table-card table tbody { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); gap: 0.5em; clear: both;}
.table-card table > tbody > tr {display: flex; flex-direction: column; padding-inline: 0.5em;}
.table-card:is(*,.is-live-preview) table.table-view-table > tbody > tr > td:not(:first-child) {border-top: 1px solid gray; }
.table-card table.table-view-table > tbody > tr {margin: unset;}
/* thead adjustment */
/* table > thead {display: flex; } */
.table-card table > thead {float: right;}
.table-card table.table-view-table > thead > tr {margin: unset;}
.table-card table.table-view-table > thead > tr > th {border: unset;}
.table-card .dataview.table-view-table.dataview.table-view-table :is(thead, th) {padding-block: unset;}
/* === ALPHA VERSION testing Timeline in lists === */
/*
.tag-mcltimeline > ul > li > *:not(ul) { text-align: center; align-self: baseline; }
.tag-mcltimeline > ul > li {
display: grid;
grid-template-columns: 0 3fr 7fr;
grid-template-rows: auto;
grid-template-areas:
"indicator timeline details"
"indicator . details";
grid-column-gap: 1em;
}
.tag-mcltimeline > ul > li > ul { grid-area: details; text-align: left; }
.tag-mcltimeline > ul > li > .collapse-indicator { grid-area: indicator; }
.tag-mcltimeline > ul ul { margin-left: 0.5em; }
*/
/* @settings
name: Modular CSS Layout - Gallery Cards
id: modular-css-layout-gc
settings:
-
id: gc-general-title
title: General Image Settings
type: heading
level: 2
collapsed: true
-
id: image-zoom
title: Enable Image Zoom via CSS
type: class-toggle
-
id: img-border-radius
title: Image Border Radius (any unit, no space)
type: variable-text
default: 15px
-
id: gc-callout-title
title: Image Gallery Settings
description: For image gallery using `gallery` callout-metadata and `image-gallery` YAML
type: heading
level: 2
collapsed: true
-
id: gallery-snw-display
title: Hide Strange New World Indicators in Image Gallery
type: variable-select
default: none
options:
-
label: Show
value: inline-block
-
label: Hide
value: none
-
id: callout-gallery-gap
title: Gallery Callout Gap (any unit, no space)
type: variable-text
default: 5px
-
id: img-max-height
title: Max Height for Images (any unit, no space)
type: variable-text
default: 300px
-
id: img-max-width
title: Max Width for Images (any unit, no space)
type: variable-text
default: 350px
-
id: gc-list-title
title: Image in List Settings
type: heading
level: 2
collapsed: true
-
id: list-image-control-off
title: Disable Control for Image in List
description: Disabling will revert image dimension to Obsidian default behaviour
type: class-toggle
-
id: img-max-height-list
title: Max Height for Images (any unit, no space)
type: variable-text
default: 270px
-
id: img-max-width-list
title: Max Width for Images (any unit, no space)
type: variable-text
default: 300px
-
id: gc-mermaid-title
title: Mermaid SVG Settings
type: heading
level: 2
collapsed: true
-
id: mermaid-scale-off
title: Disable scaling for Mermaid diagram
description: Disabling will revert Mermaid diagram dimension to Obsidian default behaviour
type: class-toggle
-
id: mermaid-zoom
title: Enable Image Zoom via CSS
type: class-toggle
*/

@ -0,0 +1,465 @@
/* === README ===
Snippet: MCL Multi Column / Author: Faiz Khuzaimah / twitter: @faizkhuzaimah / github: https://github.com/efemkay
Version 0.8.0 (updated 2022-11-26)
- feature: `no-wrap` option for `[!multi-column]` using callout-metadata
Version 0.7.2 (updated 2022-11-24)
- fix margin-left for float `right`
- improved support for Minimal theme for live preview float-right when in normal width note
Version 0.7.0 (updated 2022-11-18)
- feature: list column, list grid and list card using tags (need Contextual Typography plugin)
- feature: float in live preview using float-right
- refine: [!blank] callout as alternative to [!blank-container]
Version 0.6.2 (updated 2022-10-22)
- rollover main branch to support Obsidian 1.0.0
Version 0.6.1 (updated 2022-10-02). Version number follow overall MCL
- fix for footnote with -column-list-block created a <br> tag
What is this snippet for?
- to allow Obsidian users to change the layout with preset css by just specifying
the cssClass in the frontmatter (YAML) or naming the Callout block
- available cssClass
- cssClass: two-column-list
- cssClass: {.two-column-list-block}
- cssClass: three-column-list
- cssClass: {.three-column-list-block}
- cssClass: multi-column-list
- available Callout format
- [!multi-column]
- [!blank] / [!blank-container]
Compatibility
- tested to work fine with the following Community Theme
- Default Theme
- Big Sur / Blue Topaz / California Cost / Notation / Pisum / Prism / Things / Typewriter (with minor issue on title color)
- known to be not working
- Primary (due to the theme heaving theming, box-shadow and so on)
Credits
- Kevin Powell Youtube channel
- https://css-tricks.com/
- discord OMG members @Cáo thoát tc (Cáo thoát tc#6993), @mulfok (mulfok#6931) and @Rainbell (Rainbell#3617)
- kepano for accomodating my snippets adjustment
*/
/* @settings
name: Modular CSS Layout - Multi Column
id: modular-css-layout-mc
settings:
-
id: multi-column-title
title: Callout Column Settings
type: heading
level: 2
collapsed: true
-
id: callout-min-width
title: Minimum Sub-Callout Width
description: for sub-callout in [!multi-column]. in px units
type: variable-number-slider
default: 200
min: 100
max: 500
step: 50
format: px
-
id: callout-nowrap-min-width
title: Minimum NO-WRAP Sub-Callout Width
description: for sub-callout in [!multi-column|no-wrap]. in px units
type: variable-number-slider
default: 250
min: 100
max: 500
step: 50
format: px
-
id: callout-gap
title: Sub-Callout Gap (any unit)
description: NO spacing between figure and unit
type: variable-text
default: 0.5rem
-
id: callout-margin
title: Sub-Callout Margin (any unit)
description: to allow some spacing for box-shadow
type: variable-text
default: 5px
-
id: float-small-width
title: Floating Callout Width - Small (in px)
type: variable-number-slider
default: 300
min: 200
max: 450
step: 50
format: px
-
id: float-medium-width
title: Floating Callout Width - Medium (in px)
type: variable-number-slider
default: 400
min: 300
max: 550
step: 50
format: px
-
id: float-large-width
title: Floating Callout Width - Large (in px)
type: variable-number-slider
default: 600
min: 500
max: 750
step: 50
format: px
-
id: mc-list-column-title
title: List Column Settings
description: using `{.xxx-column-list-xxx}` and `#mcl/list-column`
type: heading
level: 2
collapsed: true
-
id: list-min-width
title: Minimum Column Width (in px)
type: variable-number-slider
default: 200
min: 100
max: 500
step: 50
format: px
-
id: col-rule-color
title: Column Ruler Color
type: variable-themed-color
format: hsl
opacity: true
default-light: '#'
default-dark: '#'
-
id: col-rule-width
title: Column Ruler Width (in px)
type: variable-number-slider
default: 1
min: 0
max: 4
step: 1
format: px
-
id: mc-list-grid-title
title: List Grid and List Card
description: using `#mcl/list-grid` and `#mcl/list-card`
type: heading
level: 2
collapsed: true
-
id: list-grid-min-width
title: Minimum Grid/Card Width (in px/em or similar)
type: variable-text
default: 250px
-
id: mcl-card-bg-color
title: List Card Background Color
type: variable-themed-color
format: hsl
opacity: true
default-light: '#'
default-dark: '#'
-
id: mcl-card-header-border-width
title: Bottom Border for List Card Header (in px/em or similar)
description: set to 0 to disable the border
type: variable-text
default: 1px
-
id: mcl-card-gap
title: List Card Border Width (in px/em or similar)
type: variable-text
default: 0.2em
-
id: mcl-card-border-width
title: List Card Border Width (in px/em or similar)
type: variable-text
default: 1px
-
id: mcl-card-border-color
title: List Card Border Color
type: variable-themed-color
format: hsl
opacity: true
default-light: '#'
default-dark: '#'
*/
body{
--callout-min-width: 200px;
--callout-nowrap-min-width: 250px;
--callout-gap: 0.5rem;
--callout-margin: 5px;
--float-small-width: 300px;
--float-medium-width: 400px;
--float-large-width: 600px;
/* for list column, grid and card */
--list-min-width: 200px;
--col-rule-color: var(--background-modifier-border); /* #b3b3b3; */
--col-rule-width: 1px;
--list-grid-min-width: 250px;
--mcl-card-header-border-width: 1px;
--mcl-card-bg-color: var(--background-secondary);
--mcl-card-gap: 0.2em;
--mcl-card-border-width: 1px;
--mcl-card-border-color: var(--background-modifier-border);
}
.theme-dark {
/* --background-mcl-card: hsl(300, 5%, 15%); */
}
.theme-light {
/* --background-mcl-card: hsl(300, 5%, 90%); */
}
/* === Multi Column "DIV"'s Using Callout === */
/* some issues still persists
(2) some theme uses transparency to affect .callout-title */
/* -- Main multi-column snippet using Callout */
/* remove callout-title and make callout-content as part of main callout for box formatting */
div[data-callout="multi-column"].callout > .callout-title { display: none; }
div[data-callout="multi-column"].callout > .callout-content { display: contents; }
/* make the main callout a flex and remove box formatting */
/* --columns: unset to undo Sanctum's mod */
div[data-callout="multi-column"].callout
{ display: flex; flex-wrap: wrap; gap: var(--callout-gap); background: unset; border: unset; margin: unset; padding: unset; clear: both; --columns: unset;}
/* make the subcallout in flex column to allow growing vertically */
div[data-callout="multi-column"].callout .callout { display: flex; flex-direction: column; }
div[data-callout="multi-column"].callout:not(.is-collapsed) .callout { margin: 0 var(--callout-margin) var(--callout-margin); } /* to allow spacing for box shadow */
div[data-callout="multi-column"].callout .callout .callout-content { flex-grow: 1}
div[data-callout="multi-column"].callout > .callout-content > *:is(div,ul) { flex: 1 1 var(--callout-min-width); margin: 0;}
/* metadata "wide-x" to control subcallout flexible max width. only discrete 2,4,8,16 */
div[data-callout="multi-column"].callout > .callout-content > div[data-callout-metadata*="min-0"] { flex-basis: 0; }
div[data-callout="multi-column"].callout > .callout-content > div[data-callout-metadata*="wide-2"] { flex-grow: 2; }
div[data-callout="multi-column"].callout > .callout-content > div[data-callout-metadata*="wide-3"] { flex-grow: 3; }
div[data-callout="multi-column"].callout > .callout-content > div[data-callout-metadata*="wide-4"] { flex-grow: 4; }
div[data-callout="multi-column"].callout > .callout-content > div[data-callout-metadata*="wide-5"] { flex-grow: 5; }
@media (min-width: 500px) {
/* .is-collapsed is used to draw the border-left only when it's collapsed */
/* adjusted for Obsidian 0.16.x, removed a number of previous adjustment as no longer required */
div[data-callout="multi-column"].callout > div.callout-content .callout.is-collapsed { box-shadow: unset; height: min-content;}
}
/* Special Adjustment -- for theme with negative margin & box shadow. (e.g. Prism) */
div[data-callout="multi-column"].callout > .callout-content { margin-top: unset;}
div[data-callout="multi-column"].callout:not(.is-collapsed) { box-shadow: unset;}
/* Special Adjustment -- for Sanctum because it has "column" callout, Obsidian v0.16.x. Not required for multi-flex as it Sanctum expects the name ends with *=column */
.callout[data-callout*=column] .callout-title { display: flex; }
.callout[data-callout*=column] .callout-content { display: unset; }
/* Special Adjustment -- for minimal left margin *//*
.markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block.cm-callout > div[data-callout="multi-column"].callout
{ width: 100%; max-width: 100%; margin-inline: 0 !important; }
/* Special Adjustment -- for Minimal .dataview.list-view-ul width - Minimal set the width with --line-width-adaptive (40rem by default) */
body:not(.table-100):not(.table-max):not(.table-wide) .markdown-preview-view.is-readable-line-width:not(.table-100):not(.table-max):not(.table-wide) div[data-callout="multi-column"].callout .dataview.list-view-ul {width: auto;}
/* === Multi Column "DIV"'s Using Callout -- No-Wrap Option === */
div[data-callout="multi-column"][data-callout-metadata*="no-wrap"].callout {flex-wrap: nowrap; overflow-x: scroll;}
div[data-callout="multi-column"][data-callout-metadata*="no-wrap"].callout > .callout-content > *:is(div,ul) { flex-shrink: 0; flex-basis: var(--callout-nowrap-min-width) }
/* === Multi Column Flex "DIV"'s Using Callout === */
/* - Still EXPERIMENTAL, different theme approach border and background differently, but 0.16.x seems to align most */
/* adjusted for Obsidian 0.16.x */
div[data-callout="multi-column-flex-height"].callout > .callout-title { display: none; }
div[data-callout="multi-column-flex-height"].callout > .callout-content { display: contents; }
div[data-callout="multi-column-flex-height"].callout
{ display: flex; flex-wrap: wrap; gap: var(--callout-gap); background: unset; border: unset; margin: unset; padding: unset; clear: both; }
div[data-callout="multi-column-flex-height"].callout > .callout-content > *:is(div,ul) {flex: 1 1 var(--callout-min-width); margin: 0; }
div[data-callout="multi-column-flex-height"].callout .callout { border: unset; box-shadow: unset; }
/* need to reintroduce border-left as original callout put border on the parent callout */
div[data-callout="multi-column-flex-height"].callout > .callout-content .callout .callout-title { border-top-left-radius: 3px;}
div[data-callout="multi-column-flex-height"].callout > .callout-content .callout .callout-content { margin: 0; border-bottom-left-radius: 3px; height: min-height;}
/* "fix" for theme with negative margin & box shadow. Applicable for Prism theme */
div[data-callout="multi-column-flex-height"].callout > .callout-content { margin-top: unset;}
div[data-callout="multi-column-flex-height"].callout:not(.is-collapsed) { box-shadow: unset; }
/* === Blank Container "DIV"'s - can be used with Main Multi-Column layout above === */
/* "blank-container" - no bg, no border, no title, no nothing, and remove the ligthen effect */
div[data-callout*="blank"].callout {--callout-blend-mode: normal;}
div[data-callout*="blank"].callout > .callout-title { display: none; }
div[data-callout*="blank"].callout > .callout-content {display: contents;}
div[data-callout*="blank"].callout { border: 0; padding-top: 0; padding-inline: 5px; background: unset; box-shadow: unset; }
/* -- No Margin -- */
/* issues still persists
- headers font size not same
- "no-margin" not fully workable in editing view due to wide-page override for Minimal theme
*/
div[data-callout-metadata*="no-margin"]:is(.cm-callout, .callout.callout, .callout.callout .callout-content) {margin: 0; padding: 0;}
/* Special Adjustment for Shimmering Focus. Differing font size in callout */
div[data-callout*="blank"] .callout-content :is(p,ul,li) { font-size: unset; line-height: inherit; }
div[data-callout*="blank"] .callout-content :is(li) { margin: unset; }
/* === Text Justify === */
.text-justify :is(.markdown-preview-view p,.markdown-source-view .cm-line) { text-align: justify; }
/* === Floating Callout === */
/* use media query so that floats only works when there's enough width */
@media (min-width: 500px){
.markdown-source-view [data-callout-metadata*="float-left"].cm-embed-block.cm-callout {padding-top: 0.8em;}
.markdown-source-view [data-callout-metadata*="float-left"].cm-embed-block.cm-callout,
.markdown-reading-view div[data-callout-metadata*="left"].callout {float: left; margin-right: 15px !important; margin-bottom: 10px; }
.markdown-source-view [data-callout-metadata*="float-right"].cm-embed-block.cm-callout {padding-top: 0.8em;}
.markdown-source-view [data-callout-metadata*="float-right"].cm-embed-block.cm-callout,
.markdown-reading-view div[data-callout-metadata*="right"].callout {float: right; margin-left: 15px !important; margin-bottom: 10px;}
.markdown-source-view.mod-cm6 .cm-embed-block.cm-callout :is(.callout[data-callout-metadata*="left"], .callout[data-callout-metadata*="right"]) .callout-content > p:last-of-type { margin-bottom: auto;}
[data-callout-metadata*="float-right"].cm-embed-block.cm-callout {width: auto !important;}
div[data-callout*="blank"].callout:is(div[data-callout-metadata*="left"], div[data-callout-metadata*="right"]) {margin-top: 0; margin-bottom: 0;}
div[class*="wide-"].markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block:is(.cm-callout, .admonition-parent) > div[data-callout-metadata*="-small"].callout,
div[data-callout-metadata*="-small"].callout {width: var(--float-small-width);}
div[class*="wide-"].markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block:is(.cm-callout, .admonition-parent) > div[data-callout-metadata*="-medium"].callout,
div[data-callout-metadata*="-medium"].callout {width: var(--float-medium-width);}
}
@media (min-width: 750px){
div[class*="wide-"].markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block:is(.cm-callout, .admonition-parent) > div[data-callout-metadata*="-large"].callout,
div[data-callout-metadata$="large"].callout {width: var(--float-large-width);}
}
/* Introduce clear to break the float */
/* .markdown-preview-view h2, *//* remove this as it has weird spacing effect */
.embedded-backlinks { clear: both; }
/* fix for blockquote underlap the float layout */
.markdown-preview-view :is(blockquote) { overflow-x: auto; } /* fix for blockquote underlap */
.markdown-preview-view :is(p) { overflow: unset; } /* fix for para not wrapping around float. applicable for Willemstad */
/* Special Adjustment for Minimal theme. To override (have higher specificity) the width param. Can be merged to main code later on */
@media (min-width: 500px){
.markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block.cm-callout > div[data-callout-metadata$="medium"].callout { width: var(--float-medium-width); margin-left: 0 !important; }
.markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block.cm-callout > div[data-callout-metadata$="small"].callout { width: var(--float-small-width); margin-left: 0 !important; }
}
@media (min-width: 750px){
.markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block.cm-callout > div[data-callout-metadata$="large"].callout { width: var(--float-large-width); margin-left: 0 !important; }
}
/* Special Adjustment for Minimal theme. Undo the theme flex layout by default. To apply per note basis */
.contextual-typography .minimal-float.markdown-preview-view.markdown-preview-view .markdown-preview-sizer { display: unset; }
/* Special Adjustment for Minimal theme Live Preview float support. Need to revert cm-content width to default theme but cm-embed to auto */
.minimal-float:not([class*="wide-"]).markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer { width: calc(var(--line-width-adaptive) - var(--folding-offset)); max-width: calc(var(--max-width) - var(--folding-offset)); margin-right: auto; margin-left: max(calc(50% + var(--folding-offset) - var(--line-width-adaptive)/ 2), calc(50% + var(--folding-offset) - var(--max-width)/ 2))!important; }
.minimal-float:not([class*="wide-"]).markdown-source-view.mod-cm6.is-readable-line-width .cm-line { width: auto; max-width: 100%; margin-left: 0 !important; }
.minimal-float:not([class*="wide-"]).markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block.cm-callout> :is(.callout[data-callout-metadata*="left"], .callout[data-callout-metadata*="right"]) { max-width: 98%; }
.minimal-float:not([class*="wide-"]).markdown-source-view.mod-cm6 .cm-embed-block.cm-callout > .callout { width: auto; }
/* Special Adjustment for Minimal theme Live Preview float support. Undo margin-left for Image */
.minimal-float:not([class*="wide-"]).markdown-source-view.mod-cm6 .cm-embed-block.cm-callout :is(.callout[data-callout-metadata*="left"], .callout[data-callout-metadata*="right"]) .internal-embed.image-embed { margin-left: auto !important; }
/* === Multi Column Lists (require Markdown Attributes) === */
/* - xx-column-list for first level only list, but apply anywhere */
/* - xx-column-list-block apply at block level - but require JV's Markdown Attributes plugin */
@media (min-width: 500px ){
.two-column-list div > ul,
.two-column-list-block {columns: 2; column-gap: 3rem;}
.three-column-list div > ul,
.three-column-list-block {columns: 3; column-gap: 3rem;}
}
/* - dashboard style, page level only, apply to any first level */
/* -- applicable only when width > 400pt, else just single column */
/* grid list block level cannot be done, it breaks formatting */
@media (min-width: 500px)
{ .two-column-grid-list div > ul { display: grid; grid-column-gap:3em; grid-template-columns:repeat(2,1fr);} }
@media (min-width: 600px){
.three-column-grid-list div > ul
{ display: grid; grid-column-gap:3em; grid-template-columns:repeat(3,1fr);}
}
.multi-column-list div > ul,
.multi-column-list-block {
column-width: var(--list-min-width); column-gap: 3rem; column-rule: var(--col-rule-width) solid var(--col-rule-color);
}
/* Special adjustment for footnotes applied with -colum-list-block -- obsidian creates a <br> tag at the last <li> */
.footnotes [class$="-column-list-block"] li:last-of-type br:last-of-type {display: none;}
/* ========================================================================== */
/* === Multi Column List using Tags (require Contextual Typography) === */
/* hide tag in rendered view, dim it in edit mode */
:is(div[class*="mcl"].markdown-rendered, .markdown-rendered div[class*="mcl"]) a[href*="#mcl"] {display: none;}
span[class*="mcl"] {background-color: var(--background-primary) !important; color: var(--text-faint) !important;}
/* this is direct alternative to .multi-column-list and .multi-column-list-block */
.tag-mcllist-column > .callout[data-callout*="blank"],
.tag-mcllist-column > .callout > .callout-content,
.tag-mcllist-column:not([data-callout]) { column-width: var(--list-min-width); column-gap: 1rem; column-rule: var(--col-rule-width) solid var(--col-rule-color); }
.tag-mcllist-column.cm-callout {padding-block: 1em;} /* add block padding only for the one in callout */
.tag-mcllist-column .callout:first-of-type { margin-top: 0; }
.tag-mcllist-column ul:first-of-type { margin-top: 0; }
/* */
/* -- MCL Grid, alpha */
.tag-mcllist-grid ul:first-child { display: grid; grid-template-columns: repeat(auto-fit,minmax(var(--list-grid-min-width),1fr));}
.tag-mcllist-grid ul:first-child > li { border: px solid Gray; border-radius: 0.5em;}
.tag-mcllist-grid ul:first-child > li:not(:last-of-type) {padding-right: 1.6em;}
/* -- MCL Grid, alpha */
.tag-mcllist-card ul:first-child
{ display: grid; grid-template-columns: repeat(auto-fit,minmax(var(--list-grid-min-width),1fr));}
.tag-mcllist-card ul ul:not(ul ul ul) { padding-left: 0.1em; }
:is(.tag-mcllist-card, .tag-mcllist-card .callout-content) > ul { padding-left: 0; }
:is(.is-mobile .markdown-rendered) .tag-mcllist-card :is(ol:not(ol ol ol), ul:not(ul ul ul)) {padding-left: 0;}
/* reposition the collapse indicator and hover behaviour */
:is(.tag-mcllist-card, .tag-mcllist-card .callout-content) > ul > li {position: relative;}
:is(.tag-mcllist-card, .tag-mcllist-card .callout-content) > ul > li:hover > .collapse-indicator,
:is(.tag-mcllist-card, .tag-mcllist-card .callout-content) > ul > li > ul > li:hover > .collapse-indicator {opacity: 1;}
:is(.tag-mcllist-card, .tag-mcllist-card .callout-content) > ul > li > .collapse-indicator,
:is(.tag-mcllist-card, .tag-mcllist-card .callout-content) > ul > li > ul > li > .collapse-indicator {position: absolute; right: 0;}
.tag-mcllist-card ul::before {display: none;}
/* decorate the first heading for cards */
:is(.tag-mcllist-card, .tag-mcllist-card .callout-content) > ul > li:not(.is-collapsed) > [data-heading] {border-bottom: var(--mcl-card-header-border-width) solid var(--mcl-card-border-color); margin-bottom: 0.2em;}
/* hide the list bullet for list-card for first and second level */
.tag-mcllist-card > div > div > ul > li > .list-bullet::after,
.tag-mcllist-card > div > div > ul > li > ul > li > .list-bullet::after,
.tag-mcllist-card > ul > li::before,
.tag-mcllist-card > ul > li > ul > li::before,
.tag-mcllist-card > ul > li > .list-bullet::after,
.tag-mcllist-card > ul > li > ul > li > .list-bullet::after {visibility: hidden;}
/* remove the indentation guide */
.tag-mcllist-card ul:not(ul ul ul ul)::before {--indentation-guide-width: 0;}
.markdown-rendered.show-indentation-guide .tag-mcllist-card li > ul::before,
.markdown-rendered.show-indentation-guide .tag-mcllist-card li > ol::before {border-right: 0;}
.tag-mcllist-card li {list-style: none;}
.tag-mcllist-card li li li {list-style: circle;}
.tag-mcllist-card .callout ul:not(ul ul) > li,
.tag-mcllist-card ul:not(ul ul) > li
{ margin-inline: var(--mcl-card-gap); margin-bottom: calc(var(--mcl-card-gap)*2); padding: 0.3em 0.5em; outline: var(--mcl-card-border-width) solid var(--mcl-card-border-color); border-radius: 0.5em; background-color: var(--mcl-card-bg-color);}
.tag-mcllist-card ul:not(ul ul) > li img {width: 100%;}
.tag-mcllist-card ul img {margin: 0; float: none;}
/* special adjustment for Sanctum */
.markdown-rendered .tag-mcllist-card ul img[alt*=right] {margin: 0;}

@ -0,0 +1,326 @@
/* === README ===
Snippet: MCL Wide Views / Author: Faiz Khuzaimah / twitter: @faizkhuzaimah / github: https://github.com/efemkay
Version 0.6.3 (updated 2022-11-18)
- compatibility update to Minimal theme v6.1.9 especially multi column admonition and wide-page
Version 0.6.2 (updated 2022-10-22)
- update to support Obsidian 1.0.0
- Fix wide-page not renderring properly in editing view (conflict with global/vault wide settings
- Adjusted the variable for Adjustable RLL to make use of Obsidian default variable --file-line-width. Changes not break the settings as I mapped it to MCL own variable --adj-rll-max-width
- Fix for wide-table not renderring properly in editing view for Minimal theme.
Version 0.6.0 (updated 2022-09-25)
- fix to support Obsidian v0.16.x (mostly editing view and global settings)
- code cleanup
What is this snippet for?
- for any users to use with any theme to complement any missing page/block width control
- some features will require mgmeyer's Contextual Typography (CT) plugin
- available cssClass:
- wide-page
- wide-dataview (require CT plugin)
- wide-table (require CT plugin)
- wide-callout
- wide-backlinks
- narrow-page
- cssClass toggle: is-adj-rll and adj-rll-max-width
Credits
- Kevin Powell Youtube channel
- hydescarf for accomodating my snippets adjustment
*/
/* @settings
name: Modular CSS Layout - Wide Views
id: modular-css-layout-wv
settings:
-
id: adj-rll-title
title: Adjustable RLL Settings
description: Control max-width for all page/note by default. RLL must be **enabled**
type: heading
level: 2
collapsed: true
-
id: is-adj-rll
title: Enable Adjustable RLL
description: Add is-adj-rll class to the body element
type: class-toggle
-
id: adj-rll-max-width
title: Max Width for Normal Width page (any unit e.g. px, em, ch)
type: variable-text
default: 750px
-
id: wide-view-title
title: Wide Page/Dataview/Table/Backlinks/Callout Settings
description: Control max-width block for page with cssClass `wide-page`. RLL can be enabled or disabled
type: heading
level: 2
collapsed: true
-
id: normal-max-width
title: Max Width for Normal Width block (any unit e.g. px, em, ch)
type: variable-text
default: 750px
-
id: wide-dataview-global
title: Enable `wide-dataview` vault-wide
description: use `wide-dataview` in yaml to enable only for selected note/page
type: class-toggle
-
id: wide-table-global
title: Enable `wide-table` vault-wide
description: use `wide-table` in yaml to enable only for selected note/page
type: class-toggle
-
id: wide-callout-global
title: Enable `wide-callout` vault-wide
description: use `wide-callout` in yaml to enable only for selected note/page
type: class-toggle
-
id: wide-backlinks-global
title: Enable `wide-backlinks` vault-wide
description: use `wide-backlinks` in yaml to enable only for selected note/page
type: class-toggle
-
id: narrow-view-title
title: Narrow Page Settings
description: Control max-width page/note with cssClass `narrow-page`. RLL must be **disabled**
type: heading
level: 2
collapsed: true
-
id: narrow-max-width
title: Max Width for Narrow View page (any unit e.g. px, em, ch)
type: variable-text
default: 750px
*/
body{
--normal-max-width: var(--file-line-width);
--narrow-max-width: var(--file-line-width);
--adj-rll-max-width: 750px;
}
/* === Wide Page === */
/* --- Editing View ---
- set Readable Line Length (RLL) to wide (100%) for any css class with "wide" word in it.
- "width:100%" added for Blue Topaz
- .cm-content added to override Mado 11
- focus to fix for v0.16.x -- .markdown-source-view.mod-cm6 .cm-sizer
*/
/* - WPEV - */
/* Main code */
/* Set the containers (all relevant levels) to max-width 100%. Applicable to global and per note (cssClass) */
/* selector for editing container .cm-sizer */
:is(body[class*="wide-"], div[class*="wide-"].markdown-source-view.mod-cm6.is-readable-line-width) .cm-sizer,
/* selector for sub containers
- .cm-contentContainer, .cm-contentContainer > .cm-content, .cm-contentContainer > .cm-content > div
- .embedded-backlinks, .embedded-backlinks > div */
:is(body[class*="wide-"]:not(.max-view-enabled), div[class*="wide-"].markdown-source-view.mod-cm6) :is(.cm-contentContainer.cm-contentContainer, .cm-contentContainer.cm-contentContainer > .cm-content, .cm-contentContainer.cm-contentContainer > .cm-content > div, .embedded-backlinks, .embedded-backlinks > div)
{ max-width: 100%; width: 98%;}
/* Special adjustment - for Minimal
- it has table also set with max-width. but table require separate line because we don't want width: 100% as that would stretch the table
- but for callout, require width: auto */
div[class*="wide-"].markdown-source-view.mod-cm6 .cm-contentContainer.cm-contentContainer > .cm-content table { max-width: 100% }
div[class*="wide-"].markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block:is(.cm-callout, .admonition-parent) > .callout { max-width: 100%; width: auto;}
/* overriding margin-left setting to obsidian "default" */
div[class*="wide-page"].markdown-source-view.mod-cm6 .embedded-backlinks,
div[class*="wide-page"].markdown-source-view.mod-cm6 .cm-contentContainer > .cm-content > div
{margin-left: 20px !important; }
div[class*="wide-"].markdown-source-view.mod-cm6.is-readable-line-width .cm-embed-block:is(.cm-callout, .admonition-parent) > .callout
{ margin-left: 0 !important; }
div[class*="wide-page"].markdown-source-view.mod-cm6.is-readable-line-width table
{margin-left: unset !important; }
/* Additional Note
- Yin Yang uses .markdown-source-view.mod-cm6 { width: !important;}. I'm skipping fixes for this until there's user request
- added :is(body:not(.max-view-enabled) .mod-root) to accomodate for Shimmering Focus, does not affect other themes */
/* --- Reading View --- */
/* -- similar to Editing View (WPEV), set the RLL to 100% for any css class with "wide" word in it
- :is() used for OR between global toggle and "cssClass" in yaml
- "width:100%" added for Blue Topaz */
/* - WPRV - */
/* Main code */
/* Set the containers (all relevant levels) to max-width 100%. Applicable to global and per note (cssClass) */
body[class*="wide-"] :is(.markdown-preview-sizer.markdown-preview-sizer, .markdown-preview-sizer.markdown-preview-sizer > div),
div[class*="wide-"].markdown-preview-view :is(.markdown-preview-sizer.markdown-preview-sizer, .markdown-preview-sizer.markdown-preview-sizer > div)
{ max-width: 100%; margin-inline: auto; width: 100%;}
/* Special adjustment - for Minimal theme */
div[class*="wide-"].markdown-preview-view {padding-inline: 30px;}
/* special line just for Atom theme -- commented out for now */
/*
div[class*="wide-"].markdown-preview-view .markdown-preview-sizer.markdown-preview-sizer,
div[class*="wide-"].markdown-preview-view .markdown-preview-sizer.markdown-preview-sizer > div
{ max-width: 100% !important; } */
/* === Wide Blocks (i.e. Dataview, Table, Callout & Backlink) === */
/* --- Editing View ---
- For Editing View, the approach is slightly different. After "wide-page" set all max-width to 100%, I adjust the .cm-content > * blocks to normal width and then selectively target blocks for wide width
- must note to ensure specificity rule over some theme), then
- global settings selector need to be separated to ensure it is not conditional to cssClass yaml
- `body[class*="wide-"]` used for global settings, `div[class*="wide-"].markdown-preview-view` used for per note cssClass
*/
/* - WBEV - */
/* Main code */
/* Generally set all blocks to normal width, no need (yet) for global settings as I didn't adjust it Wide Page above */
/* set .cm-sizer > .inline-title to normal width. has to be separated because i don't want margin auto */
:is(body[class*="wide-"]:not(.max-view-enabled) .mod-root .markdown-source-view.mod-cm6:not(.wide-page), div.markdown-source-view.mod-cm6:is(.wide-dataview,.wide-table,.wide-backlinks,.wide-callout)) .cm-sizer > .inline-title
{ max-width: var(--normal-max-width); width: 100%; margin-inline: auto; }
/* set normal width to `.cm-content > div` and `.embedded-links` only (override the WPEV) */
:is(body[class*="wide-"]:not(.max-view-enabled) .markdown-source-view.mod-cm6:not(.wide-page), div[class*="wide-"].markdown-source-view.mod-cm6:not(.wide-page)) :is(.cm-contentContainer.cm-contentContainer > .cm-content > div, .cm-sizer > .embedded-backlinks)
{ max-width: var(--normal-max-width); margin-inline: auto !important; } /* important for margin needed because app.css:1473 use it for .cm-contentContainer > .cm-content > * */
/* selectors to set dataview, table, callout and/or backlinks to wide */
:is(body.wide-dataview-global:not(.max-view-enabled) .mod-root .markdown-source-view.mod-cm6, div[class*="-dataview"].markdown-source-view.mod-cm6) .cm-contentContainer.cm-contentContainer > div > div:is(.cm-preview-code-block),
:is(body.wide-table-global:not(.max-view-enabled) .mod-root .markdown-source-view.mod-cm6, div[class*="-table"].markdown-source-view.mod-cm6) .cm-contentContainer.cm-contentContainer > div > div:is(.HyperMD-table-row, .cm-table-widget),
:is(body.wide-callout-global:not(.max-view-enabled) .mod-root .markdown-source-view.mod-cm6, div[class*="-callout"].markdown-source-view.mod-cm6) .cm-contentContainer.cm-contentContainer > div > div:is(.cm-callout),
/* selectors to set backlinks to wide -- not fix yet for 0.16.x */
:is(body.wide-backlinks-global:not(.max-view-enabled) .mod-root .markdown-source-view.mod-cm6, div[class*="-backlinks"].markdown-source-view.mod-cm6) .cm-sizer > div:is(.embedded-backlinks)
{ max-width: 100%; }
/* Special adjustment - for Minimal */
:is(body:not(.max-view-enabled) .mod-root) div[class*="-dataview"].markdown-source-view.mod-cm6 .cm-contentContainer.cm-contentContainer > div > div:is(.cm-preview-code-block) > div
{ width: unset;}
/* Special adjustment - for Minimal - to override custom margin-left that uses !important */
.wide-table.markdown-source-view.mod-cm6.is-readable-line-width table {margin-left: auto !important; }
/* Additional Notes
- Minimal removes inline padding for .markdown-source-view.mod-cm6 .cm-scroller so it is flushed to the very edges (no way to adjust currently)
- added :is(body:not(.max-view-enabled) .mod-root) to accomodate for Shimmering Focus, does not affect other themes */
/* --- Reading View ---
- Similar to WBEV, the approach is to leverage on WPRV setting all blocks to wide, set `.markdown-preview-sizer > div` to normal and set related block to wide again
- For Reading View, wide-dataview and wide-table will require Contextual Typography plugin
- :is() used to couple global toggle with yaml cssClass
- wide backlinks still cannot be implemented in 0.16.x as the it is located one div deeper than `.markdown-preview-sizer > div` which means I need to do "look-back", achievable only with :has()
*/
/* - WBRV - */
/* Main code */
/* set the containers to normal width */
:is(body[class*="wide-"] .markdown-preview-view:not(.wide-page), div[class*="wide-"].markdown-preview-view:not(.wide-page)) .markdown-preview-sizer.markdown-preview-sizer > div
{ max-width: var(--normal-max-width); margin-inline: auto; } /* important is for Atom theme */
/* set the related blocks to wide width */
:is(body.wide-dataview-global, div[class*="-dataview"].markdown-preview-view) .markdown-preview-sizer.markdown-preview-sizer > div:is(.el-lang-dataview),
:is(body.wide-table-global, div[class*="-table"].markdown-preview-view) .markdown-preview-sizer.markdown-preview-sizer > div:is(.el-table),
:is(body.wide-callout-global, div[class*="-callout"].markdown-preview-view) .markdown-preview-sizer.markdown-preview-sizer > div[data-callout],
/* comment out wide backlinks as no possible fix (yet) for 0.16.x due to notes above *//*
:is(body.wide-backlinks-global, div[class*="-backlinks"].markdown-preview-view) .markdown-preview-sizer.markdown-preview-sizer > div:is(.embedded-backlinks)
{ max-width: 100%; }
*/
/* Special adjustment - for Minimal - it also somehow set the table width within dataview block */
:is(body.wide-dataview-global, div[class*="-dataview"].markdown-preview-view) .markdown-preview-sizer.markdown-preview-sizer > div:is(.el-lang-dataview) table
{ max-width: 100%; }
/* Special adjustment - for Minimal - to override Minimal custom width */
body[class*="global"].contextual-typography .markdown-preview-view.is-readable-line-width .markdown-preview-sizer > div { width: 100%; }
/* Additional Notes
- .markdown-preview-section is same div as .markdown-preview-sizer
- Atom uses !important for .markdown-preview-view.is-readable-line-width .markdown-preview-section {...}
- cannot adjust this at the moment without disrupting other theme's layout */
/* Editing and Reading View -- Special Adjustment
- for table for all theme, since its table not auto margin */
:is(body.wide-table-global, div[class*="wide-table"]) table { margin-inline: auto; }
/* === Narrow Page === */
/* cssClass YAML to allow users with disabled RLL to introduce RLL per page/note basis */
/* --- Editing View ---
- Set Readable Line Length (RLL) to wide (100%) for any css class with "wide" word in it
*/
/* - NPEV - */
/* Main code */
/* set the containers to narrow width. `div.cm-content` added to override Mado 11 */
div[class*="narrow-"].markdown-source-view.mod-cm6 .cm-contentContainer.cm-contentContainer,
div[class*="narrow-"].markdown-source-view.mod-cm6 .cm-contentContainer.cm-contentContainer > .cm-content,
div[class*="narrow-"].markdown-source-view.mod-cm6 .cm-contentContainer.cm-contentContainer > .cm-content > div,
div[class*="narrow-"].markdown-source-view.mod-cm6 .cm-contentContainer.cm-contentContainer > .embedded-backlinks,
div[class*="narrow-"].markdown-source-view.mod-cm6 .cm-contentContainer.cm-contentContainer > .embedded-backlinks > div
{ max-width: var(--narrow-max-width); margin-inline: auto; }
/* Special adjustment - for Minimal */
/* it has table also set with max-width. but table require separate line because we don't want margin: auto that would center the table relative to other elements like para */
div[class*="narrow-"].markdown-source-view.mod-cm6 .cm-contentContainer.cm-contentContainer > .cm-content table
{ max-width: var(--narrow-max-width); }
/* for Minimal theme but affecting all theme. Minimal apparently uses !important to control margin the adjustment is still safe because for narrow-page you would want margin: auto anyway */
div[class*="narrow-"].markdown-source-view.mod-cm6:not(.is-readable-line-width) .cm-contentContainer
{ margin-inline: auto !important; }
/* --- Reading View ---
- Similar to Editing View, set the RLL to 100% for any css class with "wide" word in it.
*/
/* - NPRV - */
/* Main code */
/* set the note with cssClass: narrow- to max-width of the narrow width */
div[class*="narrow-"].markdown-preview-view .markdown-preview-sizer.markdown-preview-sizer, /* double-up for specificity */
div[class*="narrow-"].markdown-preview-view .markdown-preview-sizer.markdown-preview-sizer > div
{ max-width: var(--narrow-max-width); margin-inline: auto;}
/* Special adjustment - for Minimal theme */
div[class*="narrow-"].markdown-preview-view {padding-inline: 30px;}
/* === Adjustable RLL === */
/* cssClass toggle to allow users to adjust the RLL via Style Settings */
/* Obsidian v1.0.0 makes it easier to do adjustable RLL -- just single line css ;) */
/* --- Editing and Reading View --- */
/* - AREV and ARRV - */
body.is-adj-rll { --file-line-width: var(--adj-rll-max-width); }
/* I still save below snippet for future references. May delete later */
/* --- Editing View ---
- Set Readable Line Length (RLL) to wide (100%) for any css class with "wide" word in it.
*/
/* - AREV - */
/* Main code */
/* set the containers to the custom adj rll width. `div.cm-content` added to override Mado 11 *//*
.is-adj-rll .markdown-source-view.mod-cm6 .cm-contentContainer.cm-contentContainer,
.is-adj-rll .markdown-source-view.mod-cm6 .cm-contentContainer.cm-contentContainer > .cm-content,
.is-adj-rll .markdown-source-view.mod-cm6 .cm-contentContainer.cm-contentContainer > .cm-content table, /* for minimal *//*
.is-adj-rll .markdown-source-view.mod-cm6 .cm-contentContainer.cm-contentContainer > .cm-content > div,
.is-adj-rll .markdown-source-view.mod-cm6 .cm-contentContainer.cm-contentContainer > .embedded-backlinks,
.is-adj-rll .markdown-source-view.mod-cm6 .cm-contentContainer.cm-contentContainer > .embedded-backlinks > div
{ max-width: var(--adj-rll-max-width); margin-inline: auto; }
/* --- Reading View ---
- Similar to Editing View, set the RLL to 100% for any css class with "wide" word in it
*/
/* - ARRV - */
/* Main code */
/* set the containers to the custom adj rll width *//*
.is-adj-rll .markdown-preview-view .markdown-preview-sizer.markdown-preview-sizer, /* double-up for specificity *//*
.is-adj-rll .markdown-preview-view .markdown-preview-sizer.markdown-preview-sizer > div
{ max-width: var(--adj-rll-max-width); margin-inline: auto;}

@ -1,7 +1,7 @@
{
"name": "AnuPpuccin",
"version": "1.1.4",
"minAppVersion": "0.16.0",
"author": "Anubis",
"authorUrl": "https://github.com/AnubisNekhet"
}
{
"name": "AnuPpuccin",
"version": "1.2.0",
"minAppVersion": "0.16.0",
"author": "Anubis",
"authorUrl": "https://github.com/AnubisNekhet"
}

File diff suppressed because it is too large Load Diff

@ -1,6 +1,6 @@
{
"name": "GitHub theme",
"version": "1.0.1",
"version": "1.1.2",
"minAppVersion": "1.0.0",
"author": "@krios2146",
"authorUrl": "https://github.com/krios2146"

@ -1,3 +1,150 @@
/* @settings
name: GitHub theme settings
id: id
settings:
-
# Callout Settings
id: callout
title: Callouts
type: heading
level: 1
collapsed: true
-
id: callout-on
title: GitHub callout style
type: class-toggle
default: on
-
# Headers Settings
id: headers
title: Headers colors
type: heading
level: 1
collapsed: true
-
# All Headers
id: all-headers
title: All headers
type: heading
level: 3
collapsed: true
-
id: headers-one-color
title: All headers are the same color
type: class-toggle
default: on
-
id: h-color-theme
title: Header color
type: variable-themed-color
opacity: false
format: hex
default-light: '#24292f'
default-dark: '#7ee787'
-
# Particular Headers
id: particular headers
title: Particular headers
description: This settings won't work if `All headers are the same color` is ON
type: heading
level: 3
collapsed: true
-
id: h1-color-theme
title: h1 color
type: variable-themed-color
opacity: false
format: hex
default-light: '#24292f'
default-dark: '#7ee787'
-
id: h2-color-theme
title: h2 color
type: variable-themed-color
opacity: false
format: hex
default-light: '#24292f'
default-dark: '#7ee787'
-
id: h3-color-theme
title: h3 color
type: variable-themed-color
opacity: false
format: hex
default-light: '#24292f'
default-dark: '#7ee787'
-
id: h4-color-theme
title: h4 color
type: variable-themed-color
opacity: false
format: hex
default-light: '#24292f'
default-dark: '#7ee787'
-
id: h5-color-theme
title: h5 color
type: variable-themed-color
opacity: false
format: hex
default-light: '#24292f'
default-dark: '#7ee787'
-
id: h6-color-theme
title: h6 color
type: variable-themed-color
opacity: false
format: hex
default-light: '#24292f'
default-dark: '#7ee787'
-
# Kanban Settings
id: kanban
title: Kanban
type: heading
level: 1
collapsed: true
-
id: kanban-variant
title: Kanban variant
description: Variations of Kanban styles
type: class-select
allowEmpty: false
default: kanban-full
options:
-
label: GitHub projects style
value: kanban-full
-
label: Minimal style
value: kanban-on
-
label: Disable styles
value: kanban-off
-
id: kanban-same-height-cards
title: Minimal height for cards
description: All cards will have the same initial height
type: class-toggle
default: on
-
id: kanban-full-height-column
title: Full height lists
description:
type: class-toggle
default: on
*/
body {
/* Animations */
--anim-duration-none: 0;
@ -124,12 +271,12 @@ body {
--graph-node-attachment: var(--color-yellow);
/* Headings */
--heading-formatting: var(--text-faint);
--h1-color: #7ee787;
--h2-color: #7ee787;
--h3-color: #7ee787;
--h4-color: #7ee787;
--h5-color: #7ee787;
--h6-color: #7ee787;
--h1-color: var(--h1-color-theme);
--h2-color: var(--h2-color-theme);
--h3-color: var(--h3-color-theme);
--h4-color: var(--h4-color-theme);
--h5-color: var(--h5-color-theme);
--h6-color: var(--h6-color-theme);
--h1-font: inherit;
--h2-font: inherit;
--h3-font: inherit;
@ -242,7 +389,7 @@ body {
/* Lists */
--list-indent: 2em;
--list-spacing: 0.075em;
--list-marker-color: var(--text-faint);
--list-marker-color: var(--text-normal);
--list-marker-color-hover: var(--text-muted);
--list-marker-color-collapsed: var(--text-accent);
--list-bullet-border: none;
@ -389,9 +536,9 @@ body {
--table-header-border-width: var(--table-border-width);
--table-header-border-color: var(--table-border-color);
--table-header-font: inherit;
--table-header-size: var(--font-smaller);
--table-header-weight: var(--font-normal);
--table-header-color: var(--text-muted);
--table-header-size: inherit;
--table-header-weight: var(--font-semibold);
--table-header-color: var(--text-normal);
--table-text-size: inherit;
--table-text-color: inherit;
--table-column-max-width: none;
@ -444,14 +591,14 @@ body {
--workspace-background-translucent: rgba(var(--mono-rgb-0), 0.6);
/* Color mappings ------------------------ */
/* Accent HSL values */
--accent-h: 212;
--accent-s: 100%;
--accent-l: 67%;
--accent-h: var(--accent-h-theme);
--accent-s: var(--accent-s-theme);
--accent-l: var(--accent-l-theme);
/* Backgrounds */
--background-primary: var(--color-base-00);
--background-primary-alt: var(--color-base-10);
--background-secondary: var(--color-base-20);
--background-modifier-hover: rgba(var(--mono-rgb-100), 0.12);
--background-modifier-hover: rgba(var(--rgb-hover), var(--background-modifier-hover-alpha));
--background-modifier-active-hover: hsla(var(--interactive-accent-hsl), 0.15);
--background-modifier-border: var(--color-base-30);
--background-modifier-border-hover: var(--color-base-30);
@ -463,7 +610,7 @@ body {
--background-modifier-success: var(--color-green);
--background-modifier-message: rgba(0, 0, 0, 0.9);
/* Inputs */
--background-modifier-form-field: var(--color-base-00);
--background-modifier-form-field: var(--color-base-25);
/* Text */
--text-normal: var(--color-base-100);
--text-muted: var(--color-base-70);
@ -485,7 +632,8 @@ body {
color-scheme: dark;
--highlight-mix-blend-mode: lighten;
--mono-rgb-0: 0, 0, 0;
--mono-rgb-100: 177, 186, 196;
--mono-rgb-100: 255, 255, 255;
--rgb-hover: 177, 186, 196;
--color-red-rgb: 248, 81, 73;
--color-red: #F47067;
--color-green-rgb: 126, 231, 135;
@ -496,6 +644,7 @@ body {
--color-blue: #6CB6FF;
--color-purple: #D2A8FF;
--color-pink: #f778ba;
--color-base-00: #0d1117;
--color-base-10: #161b22;
--color-base-20: #161b22;
@ -504,26 +653,48 @@ body {
--color-base-35: #21262d;
--color-base-40: #30363d;
--color-base-50: #6e7681;
--color-base-60: #999;
--color-base-60: #999; /* Unused */
--color-base-70: #8b949e;
--color-base-100: #c9d1d9;
--accent-h-theme: 212;
--accent-s-theme: 100%;
--accent-l-theme: 67%;
--color-accent-hsl: var(--accent-h), var(--accent-s), var(--accent-l);
--color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));
--color-accent-1: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) - 3.8%));
--color-accent-2: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) + 3.8%));
--background-modifier-form-field: var(--color-base-25);
--background-secondary-alt: var(--color-base-25);
--interactive-normal: var(--color-base-35);
--interactive-hover: var(--color-base-40);
--background-modifier-box-shadow: rgba(0, 0, 0, 0.3);
--background-modifier-cover: rgba(10, 10, 10, 0.4);
--text-highlight-bg: rgba(255, 208, 0, 0.4);
--text-highlight-bg-active: rgba(255, 128, 0, 0.4);
--text-selection: hsla(var(--interactive-accent-hsl), 0.4);
--input-shadow: none;
--input-shadow-hover: none;
--input-shadow: inset 0 0 0 1px #f0f6fc1a;
--input-shadow-hover: inset 0 0 0 1px var(--color-base-70);
--shadow-s: none;
--shadow-l: none;
--inline-code-background: #6e768166;
--h-color-theme: var(--color-green);
--h1-color-theme: var(--color-green);
--h2-color-theme: var(--color-green);
--h3-color-theme: var(--color-green);
--h4-color-theme: var(--color-green);
--h5-color-theme: var(--color-green);
--h6-color-theme: var(--color-green);
--background-modifier-hover-alpha: 0.12;
--color-btn-primary-bg: #238636;
--color-btn-primary-hover-bg: #2ea043;
/* Kanban colors */
--kanban-background: var(--background-primary);
--kanban-lane-background: var(--background-secondary-alt);
--kanban-item-background: var(--background-primary-alt);
--kanban-lane-border: var(--color-base-35);
--kanban-lane-count: var(--color-base-35);
--kanban-options-btn: var(--color-base-30);
}
.is-mobile.theme-dark {
--color-base-00: #0d1117;
@ -538,14 +709,82 @@ body {
--settings-home-background: var(--background-primary);
}
/* Tables */
.markdown-rendered th {
color: var(--text-normal);
font-weight: 600;
.theme-light {
color-scheme: light;
--highlight-mix-blend-mode: darken;
--mono-rgb-0: 255, 255, 255;
--mono-rgb-100: 0, 0, 0;
--rgb-hover: 208, 215, 222;
--color-red-rgb: 228, 55, 75;
--color-red: #cf222e;
--color-green-rgb: 12, 181, 79;
--color-green: #0cb54f;
--color-orange: #d96c00;
--color-yellow: #BD8E37;
--color-cyan: #2db7b5;
--color-blue: #086DDD;
--color-purple: #876be0;
--color-pink: #C32B74;
--color-base-00: #ffffff;
--color-base-05: #fcfcfc;
--color-base-10: #f6f8fa;
--color-base-20: #f6f8fa;
--color-base-25: #f6f8fa;
--color-base-30: #d0d7de;
--color-base-35: #d4d4d4;
--color-base-40: #bdbdbd;
--color-base-50: #6e7781;
--color-base-60: #707070; /* Unused */
--color-base-70: #57606a;
--color-base-100: #24292f;
--accent-h-theme: 212;
--accent-s-theme: 92%;
--accent-l-theme: 45%;
--color-accent-hsl: var(--accent-h), var(--accent-s), var(--accent-l);
--color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));
--color-accent-1: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) + 2.5%));
--color-accent-2: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) + 5%));
--background-secondary-alt: var(--color-base-05);
--background-modifier-box-shadow: rgba(0, 0, 0, 0.1);
--background-modifier-cover: rgba(220, 220, 220, 0.4);
--text-highlight-bg: rgba(255, 208, 0, 0.4);
--text-highlight-bg-active: rgba(255, 128, 0, 0.4);
--input-shadow: inset 0 0 0 1px #1b1f2426;
--input-shadow-hover: inset 0 0 0 1px #1b1f2426;
--shadow-s: none;
--shadow-l: none;
--inline-code-background: #aeb8c133;
--h-color-theme: var(--text-normal);
--h1-color-theme: var(--text-normal);
--h2-color-theme: var(--text-normal);
--h3-color-theme: var(--text-normal);
--h4-color-theme: var(--text-normal);
--h5-color-theme: var(--text-normal);
--h6-color-theme: var(--text-normal);
--background-modifier-hover-alpha: 0.32;
--color-btn-primary-bg: #2da44f;
--color-btn-primary-hover-bg: #2c964a;
/* Kanban colors */
--kanban-background: var(--background-primary);
--kanban-lane-background: var(--background-primary-alt);
--kanban-item-background: var(--background-primary);
--kanban-lane-border: #d8dee4;
--kanban-lane-count: #aeb8c133;
--kanban-options-btn: var(--background-primary-alt);
}
/* Tables */
.markdown-rendered td,
.markdown-rendered th {
padding: var(--size-2-3) var(--size-4-3);
}
.markdown-rendered th {
text-align: center;
}
.markdown-rendered tbody tr:nth-child(2n) {
background-color: var(--background-secondary);
@ -553,79 +792,287 @@ body {
/* Buttons */
button {
border: 1px solid #f0f6fc1a;
transition: 80ms cubic-bezier(0.33, 1, 0.68, 1);
}
.theme-dark .dropdown {
border: 1px solid #f0f6fc1a;
}
.theme-dark .dropdown:hover {
border: 1px solid var(--color-base-70);
}
button:hover {
border: 1px solid var(--color-base-70);
cursor: pointer;
cursor: var(--cursor-link);
}
button.mod-cta {
background-color: #238636;
background-color: var(--color-btn-primary-bg);
color: var(--text-on-accent);
}
button.mod-cta:hover {
border-color: #f0f6fc1a;
background-color: #2ea043;
background-color: var(--color-btn-primary-hover-bg);
}
/* Callout */
body.callout-on {
--callout-radius: 0;
--callout-border-width: 0;
--callout-padding: 0 1em;
}
body.callout-on .callout {
border-left: 0.25em solid var(--color-base-30);
background-color: transparent;
color: var(--text-muted);
}
body.callout-on .callout-content p {
margin: 0.1em 0;
}
/* Kanban */
/* Headers */
body.headers-one-color {
--h1-color: var(--h-color-theme);
--h2-color: var(--h-color-theme);
--h3-color: var(--h-color-theme);
--h4-color: var(--h-color-theme);
--h5-color: var(--h-color-theme);
--h6-color: var(--h-color-theme);
}
/* Kanban-common */
.kanban-plugin {
background-color: var(--background-primary);
--lane-width: 348px;
}
body.theme-light .kanban-plugin__lane-items>div {
box-shadow: rgb(140 149 159 / 15%) 0px 3px 6px;
}
.kanban-plugin__lane {
background-color: var(--background-secondary-alt);
border: 1px solid var(--color-base-35);
/* Kanban-same-height-cards */
body.kanban-same-height-cards .kanban-plugin__item-content-wrapper,
body.kanban-same-height-cards .kanban-plugin__item-title-wrapper {
min-height: 68px;
}
.kanban-plugin__lane-title {
/* Kanban-metatdate-one-line */
body.kanban-metatdate-one-line .kanban-plugin__item-metadata {
display: flex;
justify-content: space-between;
}
/* Kanban-full-height-column */
body.kanban-full-height-column button.kanban-plugin__new-item-button {
align-self: flex-end;
}
body.kanban-full-height-column .kanban-plugin__item-button-wrapper {
flex-grow: 1;
display: flex;
}
body.kanban-full-height-column .kanban-plugin__lane-wrapper {
min-height: 100%;
}
/* Kanban-Minimal */
body.kanban-on .kanban-plugin {
background-color: var(--kanban-background);
}
body.kanban-on .kanban-plugin__lane {
background-color: var(--kanban-lane-background);
border: 1px solid var(--kanban-lane-border);
}
body.kanban-on .kanban-plugin__lane-title {
flex-grow: 0;
width: fit-content;
}
.kanban-plugin__item-content-wrapper,
.kanban-plugin__item-title-wrapper {
background: var(--background-primary-alt);
body.kanban-on .kanban-plugin__item-content-wrapper,
body.kanban-on .kanban-plugin__item-title-wrapper,
body.kanban-on .kanban-plugin__item-metadata-wrapper:not(:empty) {
background: var(--kanban-item-background);
}
.kanban-plugin__icon>svg {
body.kanban-on .kanban-plugin__icon>svg {
transform: rotate(90deg);
}
.kanban-plugin__lane-settings-button-wrapper {
body.kanban-on .kanban-plugin__lane-settings-button-wrapper {
margin-left: auto;
}
div.kanban-plugin__lane-title-count {
background-color: var(--color-base-35);
body.kanban-on div.kanban-plugin__lane-title-count {
background-color: var(--kanban-lane-count);
border-radius: 1em;
padding: 2px 5px;
}
.kanban-plugin__item button.kanban-plugin__item-prefix-button,
.kanban-plugin__item button.kanban-plugin__item-postfix-button,
.kanban-plugin__lane button.kanban-plugin__lane-settings-button {
body.kanban-on .kanban-plugin__item button.kanban-plugin__item-prefix-button,
body.kanban-on .kanban-plugin__item button.kanban-plugin__item-postfix-button,
body.kanban-on .kanban-plugin__lane button.kanban-plugin__lane-settings-button {
padding: 0 5px;
height: 24px;
box-shadow: none;
}
.kanban-plugin__item button.kanban-plugin__item-prefix-button:hover,
.kanban-plugin__item button.kanban-plugin__item-postfix-button:hover,
.kanban-plugin__lane button.kanban-plugin__lane-settings-button:hover {
background-color: var(--color-base-30);
body.kanban-on .kanban-plugin__item button.kanban-plugin__item-prefix-button:hover,
body.kanban-on .kanban-plugin__item button.kanban-plugin__item-postfix-button:hover,
body.kanban-on .kanban-plugin__lane button.kanban-plugin__lane-settings-button:hover {
background-color: var(--kanban-options-btn);
cursor: pointer;
}
button.kanban-plugin__new-item-button {
body.kanban-on button.kanban-plugin__new-item-button {
border: none;
justify-content: flex-start;
}
.kanban-plugin__new-item-button:hover {
body.kanban-on .kanban-plugin__new-item-button:hover {
color: var(--text-normal);
background-color: inherit;
box-shadow: none;
}
.kanban-plugin__lane-items {
body.kanban-on .kanban-plugin__lane-items {
padding: 8px 15px;
}
body.kanban-on .kanban-plugin__item-prefix-button-wrapper input[type=checkbox] {
filter: none;
}
/* Kanban-Full */
/* Main color */
body.kanban-full .kanban-plugin {
background-color: var(--kanban-background);
}
/* LANE */
/* Colors */
body.kanban-full .kanban-plugin__lane {
background-color: var(--kanban-lane-background);
border: 1px solid var(--kanban-lane-border);
}
/* Grip icon hiding */
body.kanban-full .kanban-plugin__lane-grip {
position: absolute;
opacity: 0;
width: calc(var(--lane-width) - 1em);
height: 3em;
z-index: 0;
margin: 0;
cursor: default;
}
body.kanban-full .kanban-plugin__lane-header-wrapper div {
z-index: 1;
}
/* Header */
body.kanban-full .kanban-plugin__lane-header-wrapper {
padding-left: 14px;
}
body.kanban-full .kanban-plugin__markdown-preview-view {
font-size: inherit;
}
/* Header + Counter */
body.kanban-full .kanban-plugin__lane-title {
flex-grow: 0;
width: fit-content;
font-size: 1em;
}
/* Counter */
body.kanban-full div.kanban-plugin__lane-title-count {
background-color: var(--kanban-lane-count);
border-radius: 1em;
padding: 2px 5px;
}
/* Three dot position */
body.kanban-full .kanban-plugin__lane-settings-button-wrapper {
margin-left: auto;
}
/* Cards padding */
body.kanban-full .kanban-plugin__lane-items {
padding: 2px 6px;
}
/* ITEM */
/* Colors */
body.kanban-full .kanban-plugin__item-content-wrapper,
body.kanban-full .kanban-plugin__item-title-wrapper,
body.kanban-full .kanban-plugin__item-metadata-wrapper:not(:empty) {
background: var(--kanban-item-background);
}
body.kanban-full .kanban-plugin__item {
border-color: var(--kanban-lane-border);
}
/* Between items */
body.kanban-full .kanban-plugin__lane-items>div {
margin-bottom: 8px;
margin-top: 0;
}
/* Borders */
body.kanban-full .kanban-plugin__lane-header-wrapper,
body.kanban-full .kanban-plugin__item-button-wrapper,
body.kanban-full .kanban-plugin__item-form {
border: none;
}
/* Content */
body.kanban-full .kanban-plugin__item-title-wrapper {
padding: 12px 12px 12px 0;
}
body.kanban-full .kanban-plugin__item-title,
body.kanban-full .kanban-plugin__item-input-wrapper {
padding-left: 12px;
}
/* Archive/checkbox */
body.kanban-full .kanban-plugin__item-prefix-button-wrapper {
align-self: center;
margin-left: 5px;
}
/* Time Date Buttons */
body.kanban-full .kanban-plugin__item-metadata .is-button:hover {
cursor: var(--cursor-link);
color: var(--text-normal);
}
/* THREE DOT BUTTON */
/* Rotation */
body.kanban-full .kanban-plugin__icon>svg {
transform: rotate(90deg);
}
/* Size */
body.kanban-full .kanban-plugin__icon {
font-size: 1.4em;
}
/* Item */
body.kanban-full .kanban-plugin__item-postfix-button.clickable-icon {
opacity: 0;
}
body.kanban-full .kanban-plugin__item:hover .kanban-plugin__item-postfix-button.clickable-icon {
opacity: 1;
}
/* ADD A CARD BUTTON */
/* Position */
body.kanban-full .kanban-plugin__new-item-button {
border: none;
justify-content: flex-start;
box-shadow: none;
padding-left: 0;
}
/* + Size */
body.kanban-full .kanban-plugin__item-button-plus {
margin-right: 8px;
font-size: 1.9em;
height: inherit;
}
/* Hover */
body.kanban-full .kanban-plugin__new-item-button:hover {
background-color: inherit;
box-shadow: none;
color: var(--text-muted);
}
/* FIXIES */
body.kanban-full .kanban-plugin__item-prefix-button-wrapper input[type=checkbox] {
filter: none;
margin: 3px;
}
body.kanban-full .kanban-plugin__markdown-preview-view>div>* {
overflow-x: unset;
}
/* fix: input borders */
textarea:active,
@ -645,15 +1092,17 @@ input[type='text']:focus-visible,
input[type='search']:focus-visible,
input[type='email']:focus-visible,
input[type='password']:focus-visible,
input[type='number']:focus-visible,
select:focus, .dropdown:focus {
input[type='number']:focus-visible {
box-shadow: 0 0 0 1px var(--background-modifier-border-focus);
}
select:focus, .dropdown:focus {
box-shadow: 0 0 0 2px var(--background-modifier-border-focus);
}
/* inline code block */
.markdown-rendered :not(pre) > code {
background-color: #6e768166;
background-color: var(--inline-code-background);
padding: 0.2em 0.4em;
border-radius: 6px;
color: var(--color-base-100);
color: var(--text-normal);
}

@ -4,55 +4,46 @@
"type": "split",
"children": [
{
"id": "bc7d37e3aa88d911",
"id": "132943b5b1fb7c26",
"type": "tabs",
"children": [
{
"id": "98091aab384cc576",
"type": "leaf",
"state": {
"type": "full-calendar-view",
"state": {}
}
},
{
"id": "39b552e8799bcf68",
"id": "e70adfbb2feb10de",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "03.04 Cinematheque/@Cinematheque.md",
"file": "01.02 Home/@Main Dashboard.md",
"mode": "preview",
"source": false
}
}
},
{
"id": "f7fdc0a8802fe560",
"id": "a6f1c8231ad780cc",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "01.02 Home/@Shopping list.md",
"file": "03.04 Cinematheque/@Cinematheque.md",
"mode": "preview",
"source": false
}
}
},
{
"id": "f03bab0670c8329a",
"id": "9fbbdc8814eac593",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "01.02 Home/@Main Dashboard.md",
"file": "01.02 Home/@Shopping list.md",
"mode": "preview",
"source": false
}
}
}
],
"currentTab": 3
]
}
],
"direction": "vertical"
@ -150,43 +141,43 @@
}
},
{
"id": "7780204a63e8a6d2",
"id": "b069f500d88e39cb",
"type": "leaf",
"state": {
"type": "reminder-list",
"type": "podcast_player_view",
"state": {}
}
},
{
"id": "b069f500d88e39cb",
"id": "806df709746c7fa3",
"type": "leaf",
"state": {
"type": "podcast_player_view",
"type": "DICE_ROLLER_VIEW",
"state": {}
}
},
{
"id": "806df709746c7fa3",
"id": "79fb69caa637bc6b",
"type": "leaf",
"state": {
"type": "DICE_ROLLER_VIEW",
"type": "reminder-list",
"state": {}
}
}
],
"currentTab": 5
"currentTab": 4
},
"active": "f03bab0670c8329a",
"active": "e70adfbb2feb10de",
"lastOpenFiles": [
"00.01 Admin/Calendars/2022-11-02 Juventus - PSG (1-2).md",
"02.02 Paris/Paris SG.md",
"00.01 Admin/Calendars/2022-11-02.md",
"01.02 Home/@Main Dashboard.md",
"01.03 Family/Séraphine Priso Le Bastart.md",
"01.03 Family/Quentin de Villeneuve.md",
"02.03 Zürich/Francisco Podesta.md",
"01.02 Home/@Shopping list.md",
"01.02 Home/Life - Practical infos.md",
"03.03 Food & Wine/Harissa-Honey Popcorn Chicken.md",
"03.03 Food & Wine/@Main dishes.md"
"01.02 Home/@Main Dashboard.md",
"01.03 Family/Amélie Solanet.md",
"02.03 Zürich/Rex Automobile CH.md",
"01.02 Home/League Tables.md",
"00.01 Admin/Calendars/2022-12-15.md",
"00.01 Admin/Calendars/2022-12-16.md",
"03.04 Cinematheque/@Cinematheque.md",
"03.04 Cinematheque/Die Another Day (2002).md"
]
}

@ -85,7 +85,7 @@ This section does serve for quick memos.
- 14:21 Megan Rose is about to leave to the airport
- [ ] 22:46 :moneybag: [[2022-01-22|Memo]], [[@Finances]]: GBP account re moving to ZH 📅 2022-11-30
- [ ] 22:46 :moneybag: [[2022-01-22|Memo]], [[@Finances]]: GBP account re moving to ZH 📅 2022-12-30
#### Sub-header 2

@ -86,7 +86,7 @@ This section does serve for quick memos.
&emsp;
- Skiing in [[Skiing in Switzerland#Flumseberg|Flumseberg]] for the first time in [[@Switzerland|Switzerland]] with [[@@MRCK|Meggi-mo]].
- Skiing in [[Flumseberg]] for the first time in [[@Switzerland|Switzerland]] with [[@@MRCK|Meggi-mo]].
%% ### %%
&emsp;

@ -86,7 +86,7 @@ This section does serve for quick memos.
&emsp;
- Skiing in [[Skiing in Switzerland#Flumseberg|Flumseberg]] with [[@@MRCK|Meggi-mo]]
- Skiing in [[Flumseberg]] with [[@@MRCK|Meggi-mo]]
%% ### %%
&emsp;

@ -87,7 +87,7 @@ This section does serve for quick memos.
%% ### %%
&emsp;
- 06:51 [[Polo Park Zürich|Stick & Ball]]
- [ ] 12:59 :ice_hockey: [[2022-08-25|Memo]], [[@Sport Zürich|Sport in Zürich]]: go to a game of ZSC 📆2022-11-30
- [x] 12:59 :ice_hockey: [[2022-08-25|Memo]], [[@Sport Zürich|Sport in Zürich]]: go to a game of ZSC 📅 2022-11-30 ✅ 2022-11-11
- [ ] 13:01 :soccer: [[2022-08-25|Memo]], [[@Sport Zürich|Sport in Zürich]]: go to see the FC Zürich 📆2023-02-27 ^pkmkns
- 20:54 [[Game of Thrones (20112019)|Game of Thrones]] with [[@@MRCK|Meggi-mo]]

@ -81,7 +81,7 @@ style: number
This section does serve for quick memos.
&emsp;
- [ ] 12:25 :phone: [[@life admin]]: call EE and cancel line 📅 2022-12-31
- [x] 12:25 :phone: [[@life admin]]: call EE and cancel line 📅 2022-12-31 ✅ 2022-12-06
%% --- %%

@ -81,8 +81,8 @@ style: number
This section does serve for quick memos.
&emsp;
- [ ] 11:47 :hotel: [[@Life admin|Admin]]: book airbnb in Geneva for M&A's engagement party 📅 2022-11-05
- [ ] 11:49 :hotel: [[@Life admin|Admin]]: book airbnb for M&A's wedding 📅 2022-11-05
- [x] 11:47 :hotel: [[@Life admin|Admin]]: book airbnb in Geneva for M&A's engagement party 📅 2022-11-05 ✅ 2022-11-05
- [x] 11:49 :hotel: [[@Life admin|Admin]]: book airbnb for M&A's wedding 📅 2022-12-05 ✅ 2022-12-05
- [x] 11:51 :snowflake: [[@Life admin|Admin]]: find chalet for a week's ski trip 📅 2022-10-30 ✅ 2022-10-31
- 22:23 [[Empire of Pain]] finished

@ -18,7 +18,7 @@ EarHeadBar: 25
BackHeadBar: 35
Water: 3.48
Coffee: 7
Steps:
Steps: 19111
Ski:
Riding:
Racket:

@ -0,0 +1,116 @@
---
title: "🗒 Daily Note"
allDay: true
date: 2022-11-03
Date: 2022-11-03
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: true
Sleep: 7.5
Happiness: 80
Gratefulness: 90
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 3.03
Coffee: 6
Steps: 21144
Ski:
Riding:
Racket:
Football:
Swim:
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-11-02|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-11-04|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-11-03Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-11-03NSave
&emsp;
# 2022-11-03
&emsp;
> [!summary]+
> Daily note for 2022-11-03
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### 📝 Memos
&emsp;
This section does serve for quick memos.
&emsp;
- 19:15 [[Harissa, Squash & Chickpea stew]] tested tonight
- 21:53 [[The Bureau (2015)]] tonight
%% --- %%
&emsp;
---
&emsp;
### 🗒 Notes
&emsp;
Loret ipsum
&emsp;
---
&emsp;
### :link: Linked activity
&emsp;
```dataview
Table from [[2022-11-03]]
```
&emsp;
&emsp;

@ -0,0 +1,115 @@
---
title: "🗒 Daily Note"
allDay: true
date: 2022-11-04
Date: 2022-11-04
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: true
Sleep: 7.5
Happiness: 85
Gratefulness: 85
Stress: 30
FrontHeadBar: 5
EarHeadBar: 35
BackHeadBar: 25
Water: 2.86
Coffee: 3
Steps: 17223
Ski:
Riding:
Racket:
Football:
Swim:
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-11-03|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-11-05|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-11-04Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-11-04NSave
&emsp;
# 2022-11-04
&emsp;
> [!summary]+
> Daily note for 2022-11-04
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### 📝 Memos
&emsp;
This section does serve for quick memos.
&emsp;
- 16:03 [[The Bureau (2015)]] today
%% --- %%
&emsp;
---
&emsp;
### 🗒 Notes
&emsp;
Loret ipsum
&emsp;
---
&emsp;
### :link: Linked activity
&emsp;
```dataview
Table from [[2022-11-04]]
```
&emsp;
&emsp;

@ -0,0 +1,114 @@
---
title: "🗒 Daily Note"
allDay: true
date: 2022-11-05
Date: 2022-11-05
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: true
Sleep: 8
Happiness: 85
Gratefulness: 85
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 3.53
Coffee: 1
Steps: 12218
Ski:
Riding:
Racket:
Football:
Swim:
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-11-04|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-11-06|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-11-05Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-11-05NSave
&emsp;
# 2022-11-05
&emsp;
> [!summary]+
> Daily note for 2022-11-05
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### 📝 Memos
&emsp;
This section does serve for quick memos.
&emsp;
%% --- %%
&emsp;
---
&emsp;
### 🗒 Notes
&emsp;
- [[The Bureau (2015)]] aujourdhui
&emsp;
---
&emsp;
### :link: Linked activity
&emsp;
```dataview
Table from [[2022-11-05]]
```
&emsp;
&emsp;

@ -0,0 +1,115 @@
---
title: "🗒 Daily Note"
allDay: true
date: 2022-11-06
Date: 2022-11-06
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: true
Sleep: 8
Happiness: 80
Gratefulness: 80
Stress: 30
FrontHeadBar: 5
EarHeadBar: 35
BackHeadBar: 25
Water: 2.96
Coffee: 3
Steps: 8230
Ski:
Riding:
Racket:
Football:
Swim:
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-11-05|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-11-07|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-11-06Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-11-06NSave
&emsp;
# 2022-11-06
&emsp;
> [!summary]+
> Daily note for 2022-11-06
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### 📝 Memos
&emsp;
This section does serve for quick memos.
&emsp;
- [x] 12:39 :thread: re-order shirts & suits 📅 2022-11-12 ✅ 2022-11-12
%% --- %%
&emsp;
---
&emsp;
### 🗒 Notes
&emsp;
- [[The Bureau (2015)]] aujourdhui
&emsp;
---
&emsp;
### :link: Linked activity
&emsp;
```dataview
Table from [[2022-11-06]]
```
&emsp;
&emsp;

@ -0,0 +1,114 @@
---
title: "🗒 Daily Note"
allDay: true
date: 2022-11-07
Date: 2022-11-07
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: true
Sleep: 7.5
Happiness: 80
Gratefulness: 80
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 2.2
Coffee: 3
Steps: 14499
Ski:
Riding:
Racket:
Football:
Swim:
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-11-06|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-11-08|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-11-07Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-11-07NSave
&emsp;
# 2022-11-07
&emsp;
> [!summary]+
> Daily note for 2022-11-07
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### 📝 Memos
&emsp;
This section does serve for quick memos.
&emsp;
%% --- %%
&emsp;
---
&emsp;
### 🗒 Notes
&emsp;
- [[The Bureau (2015)]]
&emsp;
---
&emsp;
### :link: Linked activity
&emsp;
```dataview
Table from [[2022-11-07]]
```
&emsp;
&emsp;

@ -0,0 +1,114 @@
---
title: "🗒 Daily Note"
allDay: true
date: 2022-11-08
Date: 2022-11-08
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: true
Sleep: 8
Happiness: 85
Gratefulness: 85
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 3.25
Coffee: 4
Steps: 16129
Ski:
Riding:
Racket:
Football:
Swim:
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-11-07|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-11-09|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-11-08Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-11-08NSave
&emsp;
# 2022-11-08
&emsp;
> [!summary]+
> Daily note for 2022-11-08
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### 📝 Memos
&emsp;
This section does serve for quick memos.
&emsp;
%% --- %%
&emsp;
---
&emsp;
### 🗒 Notes
&emsp;
- [[The Bureau (2015)]] this evening
&emsp;
---
&emsp;
### :link: Linked activity
&emsp;
```dataview
Table from [[2022-11-08]]
```
&emsp;
&emsp;

@ -0,0 +1,114 @@
---
title: "🗒 Daily Note"
allDay: true
date: 2022-11-09
Date: 2022-11-09
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: true
Sleep: 7
Happiness: 80
Gratefulness: 80
Stress: 30
FrontHeadBar: 5
EarHeadBar: 35
BackHeadBar: 25
Water: 3.75
Coffee: 5
Steps: 13538
Ski:
Riding:
Racket:
Football:
Swim:
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-11-08|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-11-10|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-11-09Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-11-09NSave
&emsp;
# 2022-11-09
&emsp;
> [!summary]+
> Daily note for 2022-11-09
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### 📝 Memos
&emsp;
This section does serve for quick memos.
&emsp;
%% --- %%
&emsp;
---
&emsp;
### 🗒 Notes
&emsp;
- Departure to [[Madrid]] from [[@@Zürich|Zürich]]
&emsp;
---
&emsp;
### :link: Linked activity
&emsp;
```dataview
Table from [[2022-11-09]]
```
&emsp;
&emsp;

@ -1,12 +0,0 @@
---
title: 🍽 Dinner @ Swiss Re
allDay: false
startTime: 19:00
endTime: 20:30
date: 2022-11-10
CollapseMetaTable: true
---
Dinner @ Swiss Re with [[@@MRCK|Meggi-mo]] [[2022-11-10|this day]].

@ -0,0 +1,115 @@
---
title: "🗒 Daily Note"
allDay: true
date: 2022-11-10
Date: 2022-11-10
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: true
Sleep: 8.5
Happiness: 85
Gratefulness: 85
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 2.32
Coffee: 4
Steps: 10784
Ski:
Riding:
Racket:
Football:
Swim:
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-11-09|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-11-11|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-11-10Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-11-10NSave
&emsp;
# 2022-11-10
&emsp;
> [!summary]+
> Daily note for 2022-11-10
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### 📝 Memos
&emsp;
This section does serve for quick memos.
&emsp;
%% --- %%
&emsp;
---
&emsp;
### 🗒 Notes
&emsp;
- Return to [[@@Zürich|Zürich]] from [[Madrid]]
- Fin de lecture de [[Sérotonine]]
&emsp;
---
&emsp;
### :link: Linked activity
&emsp;
```dataview
Table from [[2022-11-10]]
```
&emsp;
&emsp;

@ -0,0 +1,114 @@
---
title: "🗒 Daily Note"
allDay: true
date: 2022-11-11
Date: 2022-11-11
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: true
Sleep: 7.5
Happiness: 80
Gratefulness: 80
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 1.75
Coffee: 3
Steps: 13118
Ski:
Riding:
Racket:
Football:
Swim:
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-11-10|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-11-12|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-11-11Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-11-11NSave
&emsp;
# 2022-11-11
&emsp;
> [!summary]+
> Daily note for 2022-11-11
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### 📝 Memos
&emsp;
This section does serve for quick memos.
&emsp;
%% --- %%
&emsp;
---
&emsp;
### 🗒 Notes
&emsp;
Loret ipsum
&emsp;
---
&emsp;
### :link: Linked activity
&emsp;
```dataview
Table from [[2022-11-11]]
```
&emsp;
&emsp;

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save