This commit is contained in:
Oscar Plaisant 2025-03-16 18:05:45 +01:00
parent 29453462f9
commit f91c506a9e
572 changed files with 233842 additions and 19574 deletions

BIN
.DS_Store vendored

Binary file not shown.

2
.obsidian/app.json vendored
View File

@ -12,7 +12,7 @@
"pageSize": "A4",
"landscape": false,
"margin": "0",
"downscalePercent": 48
"downscalePercent": 44
},
"defaultViewMode": "source",
"autoPairMarkdown": false,

View File

@ -1,25 +1,17 @@
{
"theme": "obsidian",
"cssTheme": "Minimal",
"baseFontSize": 23,
"baseFontSize": 25.5,
"enabledCssSnippets": [
"pdf_darkmode",
"query_header_title",
"tabs",
"hide_excalibrain_ui",
"tabs_on_multiple_rown",
"popup_preview_size",
"checkboxes",
"compact_tabs",
"custom_callouts",
"darkmode",
"dataview",
"tabs_on_multiple_rows",
"embeds",
"general_interface",
"latex_mathjax",
"breadcrumbs",
"day_planner",
"[ui] Ultra Compact Tab Header",
"Daily Note Outline",
"Tasks - Compact",
@ -31,16 +23,22 @@
"Excalidraw - Compact",
"MySnippets",
"Omnisearch",
"omts-MySnippets",
"omts-[ui] Floating Tab Header",
"omts-[ui] Compact Tab Header",
"omts-[ui] Compact Sidebar",
"omts-[editor] Compact Right Sidebar notes",
"omts-Calendar",
"omts-compact_tabs",
"omts-Tasks - Compact",
"omts-Excalidraw - Compact",
"omts-Day Planner (Ivan Lednev)"
"omts-Tasks - Compact",
"omts-MySnippets",
"omts-Day Planner (Ivan Lednev)",
"omts-[ui] Compact Sidebar",
"omts-[editor] Compact Right Sidebar notes",
"latex_mathjax",
"embeds",
"day_planner",
"dataview",
"tabs_on_multiple_rows",
"omts-[ui] Compact Tab Header",
"general_interface",
"compact_tabs"
],
"interfaceFontFamily": "CMU Bright,CMU Sans Serif,FiraCode Nerd Font",
"textFontFamily": "CMU Sans Serif,FiraCode Nerd Font,CMU Serif",

View File

@ -7,11 +7,10 @@
"omnisearch",
"obsidian-vimrc-support",
"breadcrumbs",
"obsidian42-brat",
"obsidian-day-planner",
"obsidian-hider",
"lazy-plugins",
"mysnippets-plugin",
"janitor",
"obsidian-custom-frames"
"vault-size-history",
"obsidian42-brat",
"mysnippets-plugin"
]

View File

@ -21,11 +21,12 @@
"word-count": false,
"slides": true,
"audio-recorder": false,
"workspaces": true,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": false,
"canvas": true,
"bookmarks": true,
"properties": true
"properties": true,
"webviewer": true
}

View File

@ -0,0 +1 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="300" height="300"><defs/><g transform="scale(1,1)"><g id="background-f31b756f"><rect fill="white" stroke="none" x="0" y="0" width="300" height="300" class="dcg-svg-background"/></g><g id="background-images-f31b756f"/><g id="graphpaper-f31b756f"><g id="axis-f31b756f"><g id="yaxis-f31b756f"><title>Y axis</title><g><path fill="none" stroke="rgb(0,0,0)" class="dcg-svg-axis-line" paint-order="fill stroke markers" d=" M 149.75 0 L 149.75 300" stroke-opacity="0.9" stroke-miterlimit="10" stroke-width="1.5" stroke-dasharray=""/></g></g><g id="xaxis-f31b756f"><title>X axis</title><g><path fill="none" stroke="rgb(0,0,0)" class="dcg-svg-axis-line" paint-order="fill stroke markers" d=" M 0 149.75 L 300 149.75" stroke-opacity="0.9" stroke-miterlimit="10" stroke-width="1.5" stroke-dasharray=""/></g></g><g><g class="dcg-svg-axis-value"><text fill="none" stroke="#ffffff" font-family="Arial" font-size="14px" font-style="normal" font-weight="normal" text-decoration="normal" x="141.10693359375" y="165.808" text-anchor="middle" stroke-miterlimit="2" stroke-width="3" stroke-dasharray="">0</text><text fill="#000000" stroke="none" font-family="Arial" font-size="14px" font-style="normal" font-weight="normal" text-decoration="normal" x="141.10693359375" y="165.808" text-anchor="middle">0</text></g><g><path fill="none" stroke="rgb(0,0,0)" class="dcg-svg-tickmark" paint-order="fill stroke markers" d=" M -0.25 147 L -0.25 152.5 M 299.75 147 L 299.75 152.5" stroke-opacity="0.9" stroke-miterlimit="2" stroke-width="1.5" stroke-dasharray=""/></g><g class="dcg-svg-axis-value dcg-svg-offcenter-axis-value"><text fill="none" stroke="#ffffff" font-family="Arial" font-size="14px" font-style="normal" font-weight="normal" text-decoration="normal" x="13.1171875" y="165.808" text-anchor="middle" stroke-miterlimit="2" stroke-width="3" stroke-dasharray="">-10</text><text fill="#000000" stroke="none" font-family="Arial" font-size="14px" font-style="normal" font-weight="normal" text-decoration="normal" x="13.1171875" y="165.808" text-anchor="middle">-10</text></g><g class="dcg-svg-axis-value dcg-svg-offcenter-axis-value"><text fill="none" stroke="#ffffff" font-family="Arial" font-size="14px" font-style="normal" font-weight="normal" text-decoration="normal" x="289.2138671875" y="165.808" text-anchor="middle" stroke-miterlimit="2" stroke-width="3" stroke-dasharray="">10</text><text fill="#000000" stroke="none" font-family="Arial" font-size="14px" font-style="normal" font-weight="normal" text-decoration="normal" x="289.2138671875" y="165.808" text-anchor="middle">10</text></g></g></g></g><g id="expressions-f31b756f"><g id="sketch-f31b756f"><title>Expression 1</title><path fill="#ff0000" stroke="none" paint-order="stroke fill markers" d="" fill-opacity="0.4"/><g><path fill="none" stroke="#ff0000" class="dcg-svg-curve" paint-order="fill stroke markers" d=" M 150 128.57142857142858 L 150 128.57142857142858 L 151.171875 131.6711715576981 L 152.4169921875 134.47487747277927 L 153.7353515625 136.97750469586404 L 155.126953125 139.1828656045083 L 156.591796875 141.10206795681768 L 158.1298828125 142.75188982013825 L 159.7412109375 144.15318528353944 L 161.42578125 145.32939952380636 L 163.18359375 146.30525091656244 L 165.087890625 147.1337447265223 L 167.2119140625 147.84065859515013 L 169.62890625 148.43554480520822 L 172.4853515625 148.93104849088027 L 176.0009765625 149.3310672385502 L 180.46875 149.63130106230318 L 186.6943359375 149.8392416510864 L 196.8017578125 149.958227173307 L 221.630859375 149.9984754501685 L 300 149.99999995583244" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2.5" stroke-dasharray=""/></g></g><g id="sketch-f31b756f"><title>Expression 2</title><path fill="#ff0000" stroke="none" paint-order="stroke fill markers" d="" fill-opacity="0.4"/><g><path fill="none" stroke="#ff0000" class="dcg-svg-curve" paint-order="fill stroke markers" d=" M 0 150 L 0 150 L 150 150" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2.5" stroke-dasharray=""/></g></g></g><g id="labels-f31b756f"/></g></svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

48
.obsidian/graph.json vendored
View File

@ -1,11 +1,11 @@
{
"collapse-filter": true,
"collapse-filter": false,
"search": "",
"showTags": false,
"showAttachments": false,
"hideUnresolved": false,
"showOrphans": true,
"collapse-color-groups": true,
"showOrphans": false,
"collapse-color-groups": false,
"colorGroups": [
{
"query": "tag:#not-done",
@ -22,7 +22,7 @@
}
},
{
"query": "tag:#PKM OR tag:#obsidian",
"query": "tag:#s/PKM OR tag:#s/obsidian",
"color": {
"a": 1,
"rgb": 4863904
@ -50,28 +50,28 @@
}
},
{
"query": "tag:#maths",
"query": "tag:#s/maths",
"color": {
"a": 1,
"rgb": 2792960
}
},
{
"query": "tag:#logique",
"query": "tag:#s/logique",
"color": {
"a": 1,
"rgb": 13050
}
},
{
"query": "tag:#informatique",
"query": "tag:#s/informatique",
"color": {
"a": 1,
"rgb": 14772500
}
},
{
"query": "tag:#personne",
"query": "tag:#t/personne",
"color": {
"a": 1,
"rgb": 6655149
@ -85,33 +85,33 @@
}
},
{
"query": "tag:#science OR tag:#art OR tag:#autres OR tag:#cuisine",
"query": "tag:#s/politique OR tag:#s/science/sociologie",
"color": {
"a": 1,
"rgb": 35464
}
},
{
"query": "tag:#s/science OR tag:#s/art OR tag:#s/autres OR tag:#s/cuisine",
"color": {
"a": 1,
"rgb": 15646813
}
},
{
"query": "tag:#exercice OR tag:#cours OR tag:#fac",
"query": "tag:#t/exercice OR tag:#t/cours OR tag:#s/fac",
"color": {
"a": 1,
"rgb": 16759552
}
},
{
"query": "tag:#devoir OR tag:#devoir-fait",
"query": "tag:#t/devoir OR tag:#t/devoir-fait",
"color": {
"a": 1,
"rgb": 16711914
}
},
{
"query": "tag:#politique OR tag:#science/sociologie",
"color": {
"a": 1,
"rgb": 35464
}
},
{
"query": "tag:#excalidraw",
"color": {
@ -120,16 +120,16 @@
}
}
],
"collapse-display": false,
"collapse-display": true,
"showArrow": false,
"textFadeMultiplier": 0,
"nodeSizeMultiplier": 1.29210205078125,
"lineSizeMultiplier": 5,
"collapse-forces": true,
"centerStrength": 0.238240559895833,
"repelStrength": 6.47786458333333,
"lineSizeMultiplier": 1.23408203125,
"collapse-forces": false,
"centerStrength": 0.384765625,
"repelStrength": 8.4228515625,
"linkStrength": 1,
"linkDistance": 30,
"scale": 0.15827308065586748,
"scale": 0.07971119911784907,
"close": true
}

View File

@ -536,12 +536,6 @@
],
"key": "]"
},
{
"modifiers": [
"Ctrl"
],
"key": "ArrowRight"
},
{
"modifiers": [
"Ctrl"
@ -564,12 +558,6 @@
],
"key": "["
},
{
"modifiers": [
"Ctrl"
],
"key": "ArrowLeft"
},
{
"modifiers": [
"Ctrl"
@ -1021,5 +1009,24 @@
],
"key": "O"
}
]
],
"daily-notes:goto-next": [
{
"modifiers": [
"Ctrl",
"Shift"
],
"key": "ArrowRight"
}
],
"daily-notes:goto-prev": [
{
"modifiers": [
"Ctrl",
"Shift"
],
"key": "ArrowLeft"
}
],
"qmd-as-md-obsidian:toggle-quarto-preview": []
}

View File

@ -0,0 +1,60 @@
{
"savedSettings": [],
"temporaryLocalGraphSetting": {
"filter": {
"searchQuery": "",
"showOrphans": true,
"showAttachments": false,
"depth": 1,
"linkType": "both"
},
"groups": [],
"display": {
"nodeSize": 3,
"linkThickness": 2,
"linkDistance": 100,
"nodeRepulsion": 2800,
"distanceFromFocal": 300,
"nodeHoverColor": "#ff0000",
"nodeHoverNeighbourColor": "#00ff00",
"linkHoverColor": "#0000ff",
"showExtension": false,
"showFullPath": false,
"showCenterCoordinates": true,
"showLinkArrow": true,
"dontMoveWhenDrag": false,
"dagOrientation": "null"
}
},
"temporaryGlobalGraphSetting": {
"filter": {
"searchQuery": "tag:#s/politique",
"showOrphans": false,
"showAttachments": false
},
"groups": [],
"display": {
"nodeSize": 3,
"linkThickness": 2,
"linkDistance": 100,
"nodeRepulsion": 2800,
"distanceFromFocal": 300,
"nodeHoverColor": "#ff0000",
"nodeHoverNeighbourColor": "#00ff00",
"linkHoverColor": "#0000ff",
"showExtension": false,
"showFullPath": false,
"showCenterCoordinates": true,
"showLinkArrow": true,
"dontMoveWhenDrag": false,
"dagOrientation": "null"
}
},
"pluginSetting": {
"maxNodeNumber": 1000,
"searchEngine": "default",
"rightClickToPan": false,
"commandLeftClickNode": "openNodeInNewTab",
"commandRightClickNode": "focusNode"
}
}

67207
.obsidian/plugins/3d-graph-new/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,13 @@
{
"id": "3d-graph-new",
"name": "3D Graph New",
"version": "1.1.11",
"description": "A 3D Graph for Obsidian",
"author": "Hananoshika Yomaru",
"authorUrl": "https://github.com/HananoshikaYomaru",
"fundingUrl": {
"buymeacoffee": "https://www.buymeacoffee.com/yomaru",
"Github Sponsor": "https://github.com/sponsors/HananoshikaYomaru"
},
"isDesktopOnly": true
}

View File

@ -0,0 +1,136 @@
.graph-3d-view .tree-item.is-collapsed > .tree-item-children {
display: none;
visibility: hidden;
}
.graph-3d-view {
padding: 0 !important;
position: relative;
overflow: hidden !important;
}
.graph-3d-view .graph-controls.is-collapsed > .graph-control-section {
display: none;
visibility: hidden;
}
.graph-control-section .tree-item-inner {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.graph-3d-view .graph-control-section.is-collapsed .tree-item-inner::before {
content: "▶";
margin-right: 0.5em;
}
.graph-3d-view .graph-control-section:not(.is-collapsed) .tree-item-inner::before {
content: "▼";
margin-right: 0.5em;
}
.graph-3d-view .graph-controls:hover > .control-buttons {
opacity: 0.5;
}
.graph-3d-view .graph-controls > .control-buttons:hover {
opacity: 1;
}
.graph-3d-view .graph-controls > .control-buttons {
float: right;
margin-right: 0;
opacity: 0;
}
.graph-3d-view .hidden {
display: none;
visibility: hidden;
}
.graph-3d-view .control-buttons {
display: block;
}
.graph-3d-view .control-buttons > * {
display: inline-block;
margin: 0;
}
.graph-3d-view .graph-settings-view > .clickable-icon {
position: absolute;
top: 8px;
right: 8px;
}
.graph-3d-view .node-label {
color: var(--text-normal);
}
.graph-3d-view .scene-nav-info {
display: block;
visibility: visible;
}
.mod-search-input {
width: 100%;
padding: 0.5em;
border: 1px solid var(--border-color);
border-radius: 0.25em;
background-color: var(--background-color);
color: var(--text-normal);
}
.graph-3d-view .graph-controls:not(.is-close) {
max-height: calc(90% - var(--size-4-4));
}
.workspace-leaf-content:has(.search-result-container.is-loading) .graph-controls {
/* border color purple */
border-color: var(--color-purple);
/* create the animation */
animation: color-oscillation 2s ease infinite;
}
@keyframes color-oscillation {
0% {
border: 1px solid var(--color-purple);
}
50% {
border: 1px solid var(--background-modifier-border);
}
100% {
border: 1px solid var(--color-purple);
}
}
.workspace-leaf-content:has(.search-result-container.is-loading) .search-input-container input {
animation: outline-gradient-animation 2s linear infinite;
}
@keyframes outline-gradient-animation {
0% {
box-shadow: 0 2px 0 var(--color-purple);
}
50% {
box-shadow: 0 2px 0 var(--background-modifier-border);
}
100% {
box-shadow: 0 2px 0 var(--color-purple);
}
}
/* section: setting tab */
.graph-3d-setting-tab {
> h2 {
color: var(--color-purple);
font-size: var(--h2-size);
}
> h2 + .setting-item {
border-top: 0px;
}
}

View File

@ -526,7 +526,7 @@
"views": {
"page": {
"all": {
"sticky": false,
"sticky": true,
"readable_line_width": false
},
"trail": {

File diff suppressed because one or more lines are too long

View File

@ -1,10 +1,10 @@
{
"id": "drawio-obsidian",
"name": "Diagrams",
"version": "1.5.0",
"minAppVersion": "0.9.12",
"description": "Draw.io diagrams for Obsidian. This plugin introduces diagrams that can be included within notes or as stand-alone files. Diagrams are created as SVG files (although .drawio extensions are also supported).",
"author": "Sam Greenhalgh",
"authorUrl": "https://www.radicalresearch.co.uk/",
"isDesktopOnly": true
}
{
"id": "drawio-obsidian",
"name": "Diagrams",
"version": "1.5.4",
"minAppVersion": "0.9.12",
"description": "Draw.io diagrams for Obsidian. This plugin introduces diagrams that can be included within notes or as stand-alone files. Diagrams are created as SVG files (although .drawio extensions are also supported).",
"author": "Sam Greenhalgh",
"authorUrl": "https://www.radicalresearch.co.uk/",
"isDesktopOnly": true
}

View File

@ -1,28 +1,28 @@
.progress-bar-line {
width: 100%;
left: 0;
}
.progress-bar-indicator {
width: 90%;
margin: 0 10%;
}
.diagram-view svg {
max-width: 100%;
max-height: 100%;
display: block;
}
.diagram-view svg a:link,
.diagram-view svg a:visited {
color: var(--interactive-accent, #00f);
filter: drop-shadow(
0 0 3px rgba(var(--interactive-accent-rgb, "0, 0, 255"), 0.5)
);
}
.diagram-view svg a:hover {
color: var(--interactive-accent-hover, #00f);
filter: drop-shadow(0 0 3px var(--interactive-accent-hover, #00f));
}
.progress-bar-line {
width: 100%;
left: 0;
}
.progress-bar-indicator {
width: 90%;
margin: 0 10%;
}
.diagram-view svg {
max-width: 100%;
max-height: 100%;
display: block;
}
.diagram-view svg a:link,
.diagram-view svg a:visited {
color: var(--interactive-accent, #00f);
filter: drop-shadow(
0 0 3px rgba(var(--interactive-accent-rgb, "0, 0, 255"), 0.5)
);
}
.diagram-view svg a:hover {
color: var(--interactive-accent-hover, #00f);
filter: drop-shadow(0 0 3px var(--interactive-accent-hover, #00f));
}

View File

@ -0,0 +1,5 @@
{
"tagColors": false,
"tagNames": true,
"tagLegend": true
}

49841
.obsidian/plugins/graph-link-types/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,11 @@
{
"id": "graph-link-types",
"name": "Graph Link Types",
"version": "0.3.3",
"minAppVersion": "1.5.0",
"description": "Link types for graph view.",
"author": "natefrisch01",
"authorUrl": "https://natesnote.com",
"fundingUrl": "https://www.buymeacoffee.com/natefrisch",
"isDesktopOnly": false
}

View File

@ -0,0 +1,100 @@
/*
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: () => GraphNestedTagsPlugin
});
module.exports = __toCommonJS(main_exports);
var import_obsidian = require("obsidian");
var GraphNestedTagsPlugin = class extends import_obsidian.Plugin {
// At nodes changes graphLeaf.view.renderer.setData calls, so we need to step in and change links.
inject_setData(graphLeaf) {
const r = graphLeaf.view.renderer;
if (!r._setData) {
r._setData = r.setData;
}
r.setData = (data) => {
var _a;
const nodes = data.nodes;
let parent;
let last_tag;
for (const id in nodes) {
if (nodes[id].type === "tag") {
last_tag = id;
for (let i = id.length - 1; i > 2; i--) {
if (id[i] === "/") {
parent = id.slice(0, i);
if (!(parent in nodes)) {
nodes[parent] = { type: "tag", links: [] };
data.numLinks++;
}
nodes[last_tag].links[parent] = true;
data.numLinks++;
last_tag = parent;
}
}
}
}
return (_a = r._setData) == null ? void 0 : _a.call(r, data);
};
return graphLeaf;
}
async onload() {
this.registerEvent(
this.app.workspace.on("layout-change", () => {
for (const leaf of this.app.workspace.getLeavesOfType(
"graph"
)) {
if (leaf.view.renderer._setData === void 0) {
this.inject_setData(leaf);
}
}
})
);
this.app.workspace.trigger("layout-change");
for (const leaf of this.app.workspace.getLeavesOfType("graph")) {
leaf.view.unload();
leaf.view.load();
}
}
onunload() {
for (const leaf of this.app.workspace.getLeavesOfType(
"graph"
)) {
if (leaf.view.renderer._setData) {
leaf.view.renderer.setData = leaf.view.renderer._setData;
delete leaf.view.renderer._setData;
leaf.view.unload();
leaf.view.load();
}
}
}
async loadSettings() {
}
async saveSettings() {
}
};
/* nosourcemap */

View File

@ -0,0 +1,10 @@
{
"id": "graph-nested-tags",
"name": "Nested tags graph",
"version": "1.0.2",
"minAppVersion": "0.15.0",
"description": "Links nested tags in graph view",
"author": "drpilman",
"authorUrl": "https://github.com/drPilman",
"isDesktopOnly": false
}

View File

@ -1,129 +0,0 @@
{
"year": 2023,
"colors": {
"default": [
"#c6e48b",
"#7bc96f",
"#49af5d",
"#2e8840",
"#196127"
],
"dark_green": [
"#030",
"#040",
"#050",
"#060",
"#070",
"#080",
"#090",
"#0A0",
"#0B0",
"#0C0",
"#0D0",
"#0E0",
"#0F0"
],
"dark_red": [
"#300",
"#400",
"#500",
"#600",
"#700",
"#800",
"#900",
"#A00",
"#B00",
"#C00",
"#D00",
"#E00",
"#F00"
],
"dark_blue": [
"#003",
"#004",
"#005",
"#006",
"#007",
"#008",
"#009",
"#00A",
"#00B",
"#00C",
"#00D",
"#00E",
"#00F"
],
"dark_yellow": [
"#330",
"#440",
"#550",
"#660",
"#770",
"#880",
"#990",
"#AA0",
"#BB0",
"#CC0",
"#DD0",
"#EE0",
"#FF0"
],
"dark_cyan": [
"#033",
"#044",
"#055",
"#066",
"#077",
"#088",
"#099",
"#0AA",
"#0BB",
"#0CC",
"#0DD",
"#0EE",
"#0FF"
],
"dark_purple": [
"#303",
"#404",
"#505",
"#606",
"#707",
"#808",
"#909",
"#A0A",
"#B0B",
"#C0C",
"#D0D",
"#E0E",
"#F0F"
],
"grey": [
"#333",
"#444",
"#555",
"#666",
"#777",
"#888",
"#999",
"#AAA",
"#BBB",
"#CCC",
"#DDD",
"#EEE",
"#FFF"
]
},
"entries": [
{
"date": "1900-01-01",
"color": "#7bc96f",
"intensity": 5,
"content": ""
}
],
"showCurrentDayBorder": true,
"defaultEntryIntensity": 4,
"intensityScaleStart": 1,
"intensityScaleEnd": 5
}

View File

@ -1,368 +0,0 @@
/*
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 __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
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: () => HeatmapCalendar
});
module.exports = __toCommonJS(main_exports);
var import_obsidian2 = require("obsidian");
// settings.ts
var import_obsidian = require("obsidian");
var HeatmapCalendarSettingsTab = class extends import_obsidian.PluginSettingTab {
constructor(app, plugin) {
super(app, plugin);
this.plugin = plugin;
}
addColorMap(color) {
return __async(this, null, function* () {
const isValid = { key: true, value: true };
if (!color.key)
isValid.key = false;
const validatedArray = this.validateColorInput(color.value);
if (!validatedArray)
isValid.value = false;
if (isValid.key && isValid.value) {
this.plugin.settings.colors[color.key] = validatedArray;
yield this.plugin.saveSettings();
this.display();
}
return isValid;
});
}
deleteColorMap(key) {
return __async(this, null, function* () {
delete this.plugin.settings.colors[key];
yield this.plugin.saveSettings();
this.display();
});
}
displayColorSettings() {
const { containerEl } = this;
containerEl.createEl("h3", { text: "Colors" });
this.displayColorHelp(containerEl);
for (const [key, colors] of Object.entries(this.plugin.settings.colors)) {
const colorEntryContainer = containerEl.createDiv({
cls: "heatmap-calendar-settings-colors__container"
});
const colorDataContainer = colorEntryContainer.createDiv({
cls: "heatmap-calendar-settings-colors__data-container"
});
colorDataContainer.createEl("h4", { text: key });
const colorRow = colorDataContainer.createDiv({ cls: "heatmap-calendar-settings-colors__row" });
const colorsContainer = colorRow.createDiv({ cls: "heatmap-calendar-settings-colors__color-container" });
for (const color of colors) {
colorsContainer.createEl("div", {
cls: "heatmap-calendar-settings-colors__color-box",
attr: {
style: `background-color: ${color}`
}
});
colorsContainer.createEl("pre", {
cls: "heatmap-calendar-settings-colors__color-name",
text: color
});
}
if (key !== "default") {
const deleteColorButton = colorEntryContainer.createEl("button", {
cls: "mod-warning heatmap-calendar-settings-colors__delete"
});
(0, import_obsidian.setIcon)(deleteColorButton, "trash");
deleteColorButton.addEventListener("click", () => this.deleteColorMap(key));
}
}
this.displayColorInput(containerEl);
}
displayColorInput(parent) {
const inputContainer = parent.createDiv({ cls: "heatmap-calendar-settings-colors__new-color-input-container" });
const colorNameInput = inputContainer.createEl("input", {
cls: "heatmap-calendar-settings-colors__new-color-input-name",
attr: { placeholder: "Color name", type: "text" }
});
const colorValueInput = inputContainer.createEl("input", {
cls: "heatmap-calendar-settings-colors__new-color-input-value",
attr: { placeholder: "Colors array", type: "text" }
});
const addColorButton = inputContainer.createEl("button", {
cls: "mod-cta heatmap-calendar-settings-colors__new-color-button"
});
(0, import_obsidian.setIcon)(addColorButton, "plus");
addColorButton.addEventListener("click", () => __async(this, null, function* () {
const isValid = yield this.addColorMap({
key: colorNameInput.value,
value: colorValueInput.value
});
this.reportInputValidity(colorNameInput, isValid.key, "Please input a name for your color");
this.reportInputValidity(colorValueInput, isValid.value, "Color is not a valid JSON array of colors");
}));
}
displayColorHelp(parent) {
parent.createEl("p", {
text: "Add lists of colors which will be globally available on your heatmaps."
});
parent.createEl("p", {
text: "You can use those colors by referencing their name in your heatmap render settings."
});
}
reportInputValidity(input, isValid, msg) {
if (!isValid) {
input.classList.add("has-error");
input.setCustomValidity(msg);
} else
input.setCustomValidity("");
input.reportValidity();
}
validateColorInput(value) {
const colorRegex = /^(#[0-9a-f]{3,6}|rgba?\(\s*\d+%?\s*,\s*\d+%?\s*,\s*\d+%?\s*(,\s*\d+(\.\d+)?%?)?\s*\))$/i;
try {
const data = JSON.parse(value);
if (!Array.isArray(data))
return false;
return data.every((color) => colorRegex.test(color)) ? data : false;
} catch (e) {
return false;
}
}
displayWeekStartDaySettings() {
const { containerEl } = this;
new import_obsidian.Setting(containerEl).setName("Week Start Day").setDesc("Select the day on which your week starts.").addDropdown((dropdown) => dropdown.addOptions({
0: "Sunday",
1: "Monday",
2: "Tuesday",
3: "Wednesday",
4: "Thursday",
5: "Friday",
6: "Saturday"
}).setValue(this.plugin.settings.weekStartDay.toString()).onChange((value) => __async(this, null, function* () {
this.plugin.settings.weekStartDay = +value;
yield this.plugin.saveSettings();
})));
}
display() {
const { containerEl } = this;
containerEl.empty();
containerEl.createEl("h2", { text: "Heatmap Calendar Settings" });
this.displayWeekStartDaySettings();
this.displayColorSettings();
console.log("settings", this.plugin.settings);
}
};
// main.ts
var DEFAULT_SETTINGS = {
year: new Date().getFullYear(),
colors: {
default: ["#c6e48b", "#7bc96f", "#49af5d", "#2e8840", "#196127"]
},
entries: [{ date: "1900-01-01", color: "#7bc96f", intensity: 5, content: "" }],
showCurrentDayBorder: true,
defaultEntryIntensity: 4,
intensityScaleStart: 1,
intensityScaleEnd: 5,
weekStartDay: 1
};
var HeatmapCalendar = class extends import_obsidian2.Plugin {
getHowManyDaysIntoYear(date) {
return (Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()) - Date.UTC(date.getUTCFullYear(), 0, 0)) / 24 / 60 / 60 / 1e3;
}
getHowManyDaysIntoYearLocal(date) {
return (Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) - Date.UTC(date.getFullYear(), 0, 0)) / 24 / 60 / 60 / 1e3;
}
removeHtmlElementsNotInYear(entries, year) {
var _a;
const calEntriesNotInDisplayedYear = (_a = entries.filter((e) => new Date(e.date).getFullYear() !== year)) != null ? _a : this.settings.entries;
calEntriesNotInDisplayedYear.forEach((e) => e.content instanceof HTMLElement && e.content.remove());
}
clamp(input, min, max) {
return input < min ? min : input > max ? max : input;
}
map(current, inMin, inMax, outMin, outMax) {
const mapped = (current - inMin) * (outMax - outMin) / (inMax - inMin) + outMin;
return this.clamp(mapped, outMin, outMax);
}
getWeekdayShort(dayNumber) {
return new Date(1970, 0, dayNumber + this.settings.weekStartDay + 4).toLocaleDateString("en-US", { weekday: "short" });
}
onload() {
return __async(this, null, function* () {
yield this.loadSettings();
this.addSettingTab(new HeatmapCalendarSettingsTab(this.app, this));
window.renderHeatmapCalendar = (el, calendarData) => {
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
const year = (_a = calendarData.year) != null ? _a : this.settings.year;
const colors = typeof calendarData.colors === "string" ? this.settings.colors[calendarData.colors] ? { [calendarData.colors]: this.settings.colors[calendarData.colors] } : this.settings.colors : (_b = calendarData.colors) != null ? _b : this.settings.colors;
this.removeHtmlElementsNotInYear(calendarData.entries, year);
const calEntries = (_c = calendarData.entries.filter((e) => new Date(e.date + "T00:00").getFullYear() === year)) != null ? _c : this.settings.entries;
const showCurrentDayBorder = (_d = calendarData.showCurrentDayBorder) != null ? _d : this.settings.showCurrentDayBorder;
const defaultEntryIntensity = (_e = calendarData.defaultEntryIntensity) != null ? _e : this.settings.defaultEntryIntensity;
const intensities = calEntries.filter((e) => e.intensity).map((e) => e.intensity);
const minimumIntensity = intensities.length ? Math.min(...intensities) : this.settings.intensityScaleStart;
const maximumIntensity = intensities.length ? Math.max(...intensities) : this.settings.intensityScaleEnd;
const intensityScaleStart = (_f = calendarData.intensityScaleStart) != null ? _f : minimumIntensity;
const intensityScaleEnd = (_g = calendarData.intensityScaleEnd) != null ? _g : maximumIntensity;
const mappedEntries = [];
calEntries.forEach((e) => {
var _a2;
const newEntry = __spreadValues({
intensity: defaultEntryIntensity
}, e);
const colorIntensities = typeof colors === "string" ? this.settings.colors[colors] : (_a2 = colors[e.color]) != null ? _a2 : colors[Object.keys(colors)[0]];
const numOfColorIntensities = Object.keys(colorIntensities).length;
if (minimumIntensity === maximumIntensity && intensityScaleStart === intensityScaleEnd)
newEntry.intensity = numOfColorIntensities;
else
newEntry.intensity = Math.round(this.map(newEntry.intensity, intensityScaleStart, intensityScaleEnd, 1, numOfColorIntensities));
mappedEntries[this.getHowManyDaysIntoYear(new Date(e.date))] = newEntry;
});
const firstDayOfYear = new Date(Date.UTC(year, 0, 1));
let numberOfEmptyDaysBeforeYearBegins = (firstDayOfYear.getUTCDay() + 7 - this.settings.weekStartDay) % 7;
const boxes = [];
while (numberOfEmptyDaysBeforeYearBegins) {
boxes.push({ backgroundColor: "transparent" });
numberOfEmptyDaysBeforeYearBegins--;
}
const lastDayOfYear = new Date(Date.UTC(year, 11, 31));
const numberOfDaysInYear = this.getHowManyDaysIntoYear(lastDayOfYear);
const todaysDayNumberLocal = this.getHowManyDaysIntoYearLocal(new Date());
for (let day = 1; day <= numberOfDaysInYear; day++) {
const box = {
classNames: []
};
const currentDate = new Date(year, 0, day);
const month = currentDate.toLocaleString("en-us", { month: "short" });
(_h = box.classNames) == null ? void 0 : _h.push(`month-${month.toLowerCase()}`);
if (day === todaysDayNumberLocal && showCurrentDayBorder)
(_i = box.classNames) == null ? void 0 : _i.push("today");
if (mappedEntries[day]) {
(_j = box.classNames) == null ? void 0 : _j.push("hasData");
const entry = mappedEntries[day];
box.date = entry.date;
if (entry.content)
box.content = entry.content;
const currentDayColors = entry.color ? colors[entry.color] : colors[Object.keys(colors)[0]];
box.backgroundColor = currentDayColors[entry.intensity - 1];
} else
(_k = box.classNames) == null ? void 0 : _k.push("isEmpty");
boxes.push(box);
}
const heatmapCalendarGraphDiv = createDiv({
cls: "heatmap-calendar-graph",
parent: el
});
createDiv({
cls: "heatmap-calendar-year",
text: String(year).slice(2),
parent: heatmapCalendarGraphDiv
});
const heatmapCalendarMonthsUl = createEl("ul", {
cls: "heatmap-calendar-months",
parent: heatmapCalendarGraphDiv
});
createEl("li", { text: "Jan", parent: heatmapCalendarMonthsUl });
createEl("li", { text: "Feb", parent: heatmapCalendarMonthsUl });
createEl("li", { text: "Mar", parent: heatmapCalendarMonthsUl });
createEl("li", { text: "Apr", parent: heatmapCalendarMonthsUl });
createEl("li", { text: "May", parent: heatmapCalendarMonthsUl });
createEl("li", { text: "Jun", parent: heatmapCalendarMonthsUl });
createEl("li", { text: "Jul", parent: heatmapCalendarMonthsUl });
createEl("li", { text: "Aug", parent: heatmapCalendarMonthsUl });
createEl("li", { text: "Sep", parent: heatmapCalendarMonthsUl });
createEl("li", { text: "Oct", parent: heatmapCalendarMonthsUl });
createEl("li", { text: "Nov", parent: heatmapCalendarMonthsUl });
createEl("li", { text: "Dec", parent: heatmapCalendarMonthsUl });
const heatmapCalendarDaysUl = createEl("ul", {
cls: "heatmap-calendar-days",
parent: heatmapCalendarGraphDiv
});
for (let i = 0; i < 7; i++) {
createEl("li", { text: this.getWeekdayShort(i), parent: heatmapCalendarDaysUl });
}
const heatmapCalendarBoxesUl = createEl("ul", {
cls: "heatmap-calendar-boxes",
parent: heatmapCalendarGraphDiv
});
boxes.forEach((e) => {
const entry = createEl("li", {
attr: __spreadValues(__spreadValues({}, e.backgroundColor && { style: `background-color: ${e.backgroundColor};` }), e.date && { "data-date": e.date }),
cls: e.classNames,
parent: heatmapCalendarBoxesUl
});
createSpan({
cls: "heatmap-calendar-content",
parent: entry,
text: e.content
});
});
};
});
}
onunload() {
}
loadSettings() {
return __async(this, null, function* () {
console.log("heyoh", yield this.loadData());
this.settings = Object.assign({}, DEFAULT_SETTINGS, yield this.loadData());
});
}
saveSettings() {
return __async(this, null, function* () {
yield this.saveData(this.settings);
});
}
};

View File

@ -1,10 +0,0 @@
{
"id": "heatmap-calendar",
"name": "Heatmap Calendar",
"version": "0.7.1",
"minAppVersion": "0.12.0",
"description": "Activity Year Overview for DataviewJS, Github style Track Goals, Progress, Habits, Tasks, Exercise, Finances, \"Dont Break the Chain\" etc.",
"author": "Richard Slettevoll",
"authorUrl": "https://richard.sl",
"isDesktopOnly": false
}

View File

@ -1,173 +0,0 @@
/* Obsidian/DataviewJS Github inspired calendar by Richard Slettevoll - https://richard.sl/ */
.heatmap-calendar-graph>* {
padding: 0px;
margin: 0px;
list-style: none;
}
.heatmap-calendar-graph {
font-size: 0.65em;
display: grid;
grid-template-columns: auto 1fr;
grid-template-areas:
'year months'
'days boxes';
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica,
Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
'Segoe UI Symbol';
width: 100%;
padding: 5px; /* 0px caused overflow and scrollbars */
}
.heatmap-calendar-graph ul {
padding-inline-start: 0;
margin-block-start: 0;
margin-block-end: 0;
}
.heatmap-calendar-months {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
grid-area: months;
margin-top: 0.1em;
margin-bottom: 0.3em;
grid-gap: 0.3em;
}
.heatmap-calendar-days {
grid-area: days;
margin-left: 0.1em;
margin-right: 0.3em;
white-space: nowrap;
}
.heatmap-calendar-boxes {
grid-auto-flow: column;
grid-template-columns: repeat(53, minmax(0, 1fr));
grid-area: boxes;
}
.heatmap-calendar-days,
.heatmap-calendar-boxes {
display: grid;
grid-gap: 0.3em;
grid-template-rows: repeat(7, minmax(0, 1fr));
}
.heatmap-calendar-year {
grid-area: year;
font-weight: bold;
font-size: 1.2em;
}
/* only label three days of the week */
.heatmap-calendar-days li:nth-child(odd) {
visibility: hidden;
}
.heatmap-calendar-boxes li {
position: relative;
font-size: 0.75em;
background-color: #ebedf0;
width: 100%;
margin-inline-start: auto !important;
}
.theme-dark .heatmap-calendar-boxes .isEmpty {
background: #333;
}
.heatmap-calendar-boxes li:not(.task-list-item)::before {
content: unset;
}
.heatmap-calendar-boxes .internal-link {
text-decoration: none;
position: absolute;
width: 100%;
height: 100%;
text-align: center;
}
.heatmap-calendar-boxes .today {
border: solid 1px rgb(61, 61, 61);
}
/* Settings */
.heatmap-calendar-settings-colors__color-box {
width: 10px;
height: 10px;
display: inline-block;
margin: 0 5px;
}
.heatmap-calendar-settings-colors__color-box:first-child {
margin-left: 0;
}
.heatmap-calendar-settings-colors__color-name {
display: inline-block;
}
.heatmap-calendar-settings-colors__container {
align-items: center;
border-top: 1px solid var(--background-modifier-border);
display: flex;
justify-content: space-between;
padding: 0.5em 0;
}
.heatmap-calendar-settings-colors__container h4 {
margin: 0.5em 0;
}
.heatmap-calendar-settings-colors__new-color-input-container {
display: flex;
justify-content: space-between;
}
.heatmap-calendar-settings-colors__new-color-input-container input {
margin-right: 1em;
}
.heatmap-calendar-settings-colors__new-color-input-container input {
margin-right: 1em;
}
.heatmap-calendar-settings-colors__new-color-input-value {
flex-grow: 1;
}
/* ----
/* ---- DEV Only ---- */
/* ----
/* for putting the settings window off to the side whilst taking screenshots */
/*
.modal-container {
justify-content: left !important;
padding-left: 20px !important;
}
.modal-bg {
opacity: 0% !important;
}
.modal-container.mod-dim .modal {
box-shadow: var(--shadow-s) !important;
}
.modal.mod-sidebar-layout {
width: 700px !important;
}
.vertical-tab-content::-webkit-scrollbar {
display: none;
}
*/
/* ----
/* ---- DEV Only /END ---- */
/* ----

File diff suppressed because one or more lines are too long

View File

@ -1,11 +0,0 @@
{
"id": "janitor",
"name": "Janitor",
"version": "1.0.7",
"minAppVersion": "0.15.0",
"description": "Performs cleanup tasks on the Obsidian vault",
"author": "Gabriele Cannata",
"authorUrl": "https://github.com/Canna71",
"fundingUrl": "https://www.buymeacoffee.com/gcannata",
"isDesktopOnly": false
}

View File

@ -1,98 +0,0 @@
/*
This CSS file will be included with your plugin, and
available in the app when your plugin is enabled.
If your plugin does not need CSS, delete this file.
*/
.janitor-modal-footer {
/* float: right; */
padding: 10pt;
display: flex;
}
.janitor-modal-footer button {}
.janitor-modal-footer .janitor-footer-buttons {
flex: 1;
justify-content: flex-end;
display: flex;
}
.janitor-scan-section-title {
font-size: larger;
margin-bottom: 5pt;
font-weight: 600;
}
.janitor-modal-title {
text-align: center;
font-size: 150%;
margin-bottom: 10px;
}
.janitor-file {
margin-left: 1em;
position: relative;
}
.janitor-file:hover {
background-color: var(--background-primary);
}
.janitor-file .openFileIcon {
right: 0px;
position: absolute;
/* cursor: pointer; */
visibility: hidden;
}
.janitor-file label {
width: 100%;
/* cursor: pointer; */
}
.janitor-file:hover .openFileIcon {
visibility: visible;
}
.janitor-file:focus {
outline: auto;
}
.janitor-scan-results {
overflow-y: auto;
max-height:250px;
}
.janitor-files-wrapper {
/* overflow-y: auto; */
/* max-height: 180px; */
/* border: 1px solid; */
padding: 5px;
}
.janitor-date-picker {
padding: 5px;;
}
.janitor-date-picker label span {
margin-right: 1em;;
}
.janitor-date-picker-buttons {
float: right;
}
.janitor-date-shortcuts {
white-space: nowrap;
margin-top: 1em;
text-align: center;
}
.janitor-date-shortcuts .janitor-date-picker-buttons {
display: inline-block;
}

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"id": "languagetool",
"name": "LanguageTool",
"version": "1.0.12",
"version": "1.0.13",
"minAppVersion": "1.7.0",
"description": "Unofficial integration of the LanguageTool spell and grammar checker.",
"author": "Lars Wrenger, Clemens Ertle",

View File

@ -346,6 +346,21 @@
},
"janitor": {
"startupType": "instant"
},
"3d-graph-new": {
"startupType": "disabled"
},
"graph-link-types": {
"startupType": "disabled"
},
"graph-nested-tags": {
"startupType": "disabled"
},
"vault-size-history": {
"startupType": "instant"
},
"obsidian-banners": {
"startupType": "disabled"
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
{
"id": "obsidian-banners",
"name": "Banners",
"description": "Add banner images to your notes!",
"version": "1.3.3",
"minAppVersion": "0.13.21",
"author": "Danny Hernandez",
"authorUrl": "https://github.com/noatpad",
"isDesktopOnly": false
}

File diff suppressed because one or more lines are too long

View File

@ -124,4 +124,6 @@ Summary
\int
\notChar
\pitchfork
\operatorname{#}
\operatorname{#}
\upgamma
\Upgamma

View File

@ -14,7 +14,7 @@
"fileScannerProviderEnabled": false,
"fileScannerScanCurrent": false,
"wordListProviderEnabled": false,
"frontMatterProviderEnabled": true,
"frontMatterProviderEnabled": false,
"frontMatterTagAppendSuffix": true,
"frontMatterIgnoreCase": true,
"calloutProviderEnabled": true,

File diff suppressed because one or more lines are too long

View File

@ -1,10 +1,11 @@
{
"id": "obsidian-custom-frames",
"name": "Custom Frames",
"version": "2.4.7",
"minAppVersion": "1.2.0",
"description": "A plugin that turns web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.",
"author": "Ellpeck",
"authorUrl": "https://ellpeck.de",
"isDesktopOnly": false
}
{
"id": "obsidian-custom-frames",
"name": "Custom Frames",
"version": "2.5.0",
"minAppVersion": "1.2.0",
"description": "A plugin that turns web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.",
"author": "Ellpeck",
"authorUrl": "https://ellpeck.de",
"fundingUrl": "https://ellpeck.de/support",
"isDesktopOnly": false
}

View File

@ -1,31 +1,30 @@
.custom-frames-view {
padding: 0 !important;
overflow: hidden !important;
}
.custom-frames-view-file {
padding: 0;
overflow: auto;
}
.custom-frames-frame {
width: 100%;
height: 100%;
border: none;
background-color: white;
background-clip: content-box;
}
.custom-frames-add {
margin-left: 10px;
}
.custom-frames-show {
margin-bottom: 18px;
}
.custom-frames-support {
max-width: 50%;
width: 400px;
height: auto;
}
.custom-frames-view {
padding: 0 !important;
overflow: hidden !important;
}
.custom-frames-view-file {
padding: 0;
overflow: auto;
}
.custom-frames-frame {
width: 100%;
height: 100%;
border: none;
background-color: white;
background-clip: content-box;
}
.custom-frames-add {
margin-left: 10px;
}
.custom-frames-show {
margin-bottom: 18px;
}
.custom-frames-support {
width: 100%;
height: auto;
}

File diff suppressed because one or more lines are too long

View File

@ -25,6 +25,7 @@
"annotatePrefix": "annotated_",
"annotatePreserveSize": false,
"previewImageType": "SVGIMG",
"renderingConcurrency": 3,
"allowImageCache": true,
"allowImageCacheInScene": true,
"displayExportedImageIfAvailable": false,
@ -35,10 +36,10 @@
"dynamicStyling": "colorful",
"isLeftHanded": false,
"iframeMatchExcalidrawTheme": true,
"matchTheme": false,
"matchTheme": true,
"matchThemeAlways": false,
"matchThemeTrigger": false,
"defaultMode": "normal",
"matchThemeTrigger": true,
"defaultMode": "view",
"defaultPenMode": "never",
"penModeDoubleTapEraser": true,
"penModeSingleFingerPanning": true,
@ -75,7 +76,7 @@
"exportPaddingSVG": 10,
"exportEmbedScene": false,
"keepInSync": false,
"autoexportSVG": false,
"autoexportSVG": true,
"autoexportPNG": false,
"autoExportLightAndDark": false,
"autoexportExcalidraw": false,
@ -99,7 +100,7 @@
"library2": {
"type": "excalidrawlib",
"version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.7.2",
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.7.5",
"libraryItems": []
},
"imageElementNotice": true,
@ -111,7 +112,7 @@
"mdCSS": "",
"scriptEngineSettings": {},
"defaultTrayMode": true,
"previousRelease": "2.7.2",
"previousRelease": "2.7.5",
"showReleaseNotes": true,
"showNewVersionNotification": true,
"latexBoilerplate": "\\color{blue}",

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"id": "obsidian-excalidraw-plugin",
"name": "Excalidraw",
"version": "2.7.2",
"version": "2.7.5",
"minAppVersion": "1.1.6",
"description": "An Obsidian plugin to edit and view Excalidraw drawings",
"author": "Zsolt Viczian",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"id": "obsidian-hover-editor",
"name": "Hover Editor",
"version": "0.11.21",
"version": "0.11.23",
"minAppVersion": "1.5.8",
"description": "Transform the Page Preview hover popover into a fully working editor instance",
"author": "NothingIsLost",

View File

@ -448,6 +448,19 @@ don't live in a root split, we have to copy the override:
display: flex;
}
/* Restore 1.5.x view header icons */
.view-header .view-header-icon {
display: none;
padding: var(--size-2-2);
margin-right: var(--size-2-3);
color: var(--text-muted);
align-self: center;
cursor: grab;
}
.view-header .view-header-icon:active {
cursor: grabbing;
}
.popover.hover-editor .view-header .view-header-icon {
display: flex;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"id": "obsidian-latex-suite",
"name": "Latex Suite",
"version": "1.9.7",
"version": "1.9.8",
"minAppVersion": "1.0.0",
"description": "Make typesetting LaTeX math as fast as handwriting through snippets, text expansion, and editor enhancements",
"author": "artisticat",

File diff suppressed because one or more lines are too long

View File

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

View File

@ -1057,11 +1057,11 @@ th {
word-wrap: break-word
}
.cm-node-text mjx-math,
/* .cm-node-text mjx-math,
.mm-node-edit mjx-math {
max-width: 100%;
overflow: auto;
}
} */
.cm-edit-node .cm-node-text {
padding-right: 2px
@ -3501,4 +3501,78 @@ span.mm-sline .line {
position: absolute;
right: -14px;
top: -2px;
}
.cm-mindmap-ppt {
padding: 0 12px;
position: fixed;
right: 30px;
bottom: 60px;
background: hsla(0, 0%, 100%, .8);
border-radius: 5px;
opacity: .8;
height: 40px;
font-size: 12px;
user-select: none;
box-shadow: 0 0 10px #ccc;
display: flex;
align-items: center;
}
.theme-dark .cm-mindmap-ppt {
background: hsl(0deg 0% 25.2% / 80%);
box-shadow: 0 0 10px #222
}
.cm-mindmap-ppt span {
vertical-align: middle;
display: inline-flex;
width: 24px;
height: 24px;
align-items: center;
justify-content: center;
cursor: pointer;
}
.cm-mindmap-ppt span svg {
width: 20px;
height: 20px;
}
.cm-mindmap-ppt span.cm-ppt-exit svg {
width: 16px;
height: 16px;
}
.cm-mindmap-ppt span.cm-ppt-clear svg {
width: 16px;
height: 16px;
}
.mm-ppt-page {
position: absolute;
z-index: 1000;
background: rgb(238 186 69 / 20%);
}
.mm-ppt-page .mm-ppt-del {
position: absolute;
right: 0px;
display: block;
top: 0px;
background: transparent;
cursor: pointer;
}
.mm-ppt-page .mm-ppt-num {
background-color: #202020;
color: white;
width: 24px;
height: 24px;
display: flex;
justify-content: center;
align-items: center;
}

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"id": "obsidian-meta-bind-plugin",
"name": "Meta Bind",
"version": "1.2.5",
"version": "1.3.2",
"minAppVersion": "1.4.0",
"description": "Make your notes interactive with inline input fields, metadata displays, and buttons.",
"author": "Moritz Jung",

View File

@ -57,6 +57,8 @@ div.mb-view-wrapper {
.mb-button {
background-color: transparent !important;
border: none !important;
font-family: var(--font-text);
color: var(--text-normal);
}
.mb-button-inline {
@ -64,11 +66,13 @@ div.mb-view-wrapper {
}
.mb-button-block {
display: block !important;
}
.mb-button-group {
.mb-button-group.mb-button-group {
background-color: transparent !important;
border: none !important;
padding-inline: 0;
& > .mb-button {
&:first-child:not(:last-child) {
@ -99,6 +103,8 @@ div.mb-view-wrapper {
vertical-align: bottom;
/* Add a gap between text and icons. */
gap: var(--size-4-1);
background-size: cover;
background-position: center center;
&.mod-plain {
background: none;
@ -433,7 +439,7 @@ div.mb-view-wrapper {
}
/* Image */
.mb-image-search-container {
.mb-image-modal-header {
margin-bottom: var(--size-4-4);
}
@ -443,6 +449,10 @@ div.mb-view-wrapper {
gap: var(--size-4-4);
}
.mb-image-card {
position: relative;
}
.mb-image-suggester-modal {
width: 80%;
}
@ -474,6 +484,18 @@ div.mb-view-wrapper {
}
}
.mb-image-card-button {
position: absolute;
opacity: 0;
top: var(--size-4-2);
right: var(--size-4-2);
transition: opacity 0.2s ease-in-out;
}
.mb-image-card:hover .mb-image-card-button {
opacity: 1;
}
.mb-image-suggest-input {
background: var(--background-secondary);
border-radius: var(--mb-border-radius);
@ -482,6 +504,12 @@ div.mb-view-wrapper {
width: 100%;
}
.mb-image-empty {
display: flex;
flex-direction: column;
align-items: center;
}
/* Time Input */
.mb-input-type-time {
@ -854,6 +882,10 @@ div.setting-item > div.setting-item-control.mb-vertical-control {
width: 100%;
}
.mb-search-modal-element-description {
color: var(--text-faint);
}
/* --- HIGHLIGHTING CLASSES --- */
.mb-highlight-test {
color: #00bfbc;

View File

@ -8,7 +8,7 @@
"lineWidth": 40,
"lineWidthWide": 50,
"maxWidth": 98,
"textNormal": 23,
"textNormal": 25.5,
"textSmall": 18,
"imgGrid": false,
"imgWidth": "img-default-width",

View File

@ -110,6 +110,7 @@ var require_kind_of = __commonJS({
return "symbol";
case "Promise":
return "promise";
// Set, Map, WeakSet, WeakMap
case "WeakMap":
return "weakmap";
case "WeakSet":
@ -118,16 +119,19 @@ var require_kind_of = __commonJS({
return "map";
case "Set":
return "set";
// 8-bit typed arrays
case "Int8Array":
return "int8array";
case "Uint8Array":
return "uint8array";
case "Uint8ClampedArray":
return "uint8clampedarray";
// 16-bit typed arrays
case "Int16Array":
return "int16array";
case "Uint16Array":
return "uint16array";
// 32-bit typed arrays
case "Int32Array":
return "int32array";
case "Uint32Array":
@ -144,6 +148,7 @@ var require_kind_of = __commonJS({
switch (type) {
case "[object Object]":
return "object";
// iterators
case "[object Map Iterator]":
return "mapiterator";
case "[object Set Iterator]":
@ -6698,7 +6703,7 @@ function legacyRestEndpointMethods(octokit) {
legacyRestEndpointMethods.VERSION = VERSION7;
// node_modules/@octokit/rest/dist-src/version.js
var VERSION8 = "21.0.1";
var VERSION8 = "21.0.2";
// node_modules/@octokit/rest/dist-src/index.js
var Octokit2 = Octokit.plugin(requestLog, legacyRestEndpointMethods, paginateRest).defaults(
@ -6740,6 +6745,16 @@ var upsertSharedGistForFile = (sharedGist, fileContents) => {
return import_gray_matter.default.stringify(content, updatedData);
}
};
var removeSharedGistForFile = (sharedGist, fileContents) => {
const { data, content } = (0, import_gray_matter.default)(fileContents);
const existingSharedGists = data.gists || [];
const sharedGistsWithGistRemoved = existingSharedGists.filter(
(existingSharedGist) => existingSharedGist.id !== sharedGist.id
);
const updatedData = __spreadProps(__spreadValues({}, data), { gists: sharedGistsWithGistRemoved });
if (sharedGistsWithGistRemoved.length === 0) delete updatedData.gists;
return import_gray_matter.default.stringify(content, updatedData);
};
// src/storage.ts
var DOTCOM_ACCESS_TOKEN_LOCAL_STORAGE_KEY = "share_as_gist_dotcom_access_token";
@ -6806,6 +6821,39 @@ var updateGist = (opts) => __async(void 0, null, function* () {
};
}
});
var deleteGist = (opts) => __async(void 0, null, function* () {
const { sharedGist } = opts;
const baseUrl = getBaseUrlForSharedGist(sharedGist);
const accessToken = getAccessTokenForBaseUrl(baseUrl);
if (!accessToken) {
return {
status: "failed" /* Failed */,
errorMessage: `No access token found for the ${baseUrl} target.`
};
}
try {
const octokit = new Octokit2({
auth: accessToken,
baseUrl
});
yield octokit.rest.gists.delete({
gist_id: sharedGist.id
});
return {
status: "succeeded" /* Succeeded */,
errorMessage: null
};
} catch (e) {
let errorMessage = "An unknown error occurred.";
if (e instanceof Error) {
errorMessage = e.message;
}
return {
status: "failed" /* Failed */,
errorMessage
};
}
});
var createGist = (opts) => __async(void 0, null, function* () {
try {
const { content, description, filename, isPublic, target } = opts;
@ -6928,6 +6976,59 @@ var openGistEditorCallback = (opts) => () => __async(void 0, null, function* ()
window.open(sharedGist.url, "_blank");
}
});
var deleteGistEditorCallback = (opts) => () => __async(void 0, null, function* () {
const { app, plugin } = opts;
const view = app.workspace.getActiveViewOfType(import_obsidian.MarkdownView);
if (!view) {
return new import_obsidian.Notice("No active file");
}
const editor = view.editor;
const originalContent = editor.getValue();
const existingSharedGists = getSharedGistsForFile(originalContent);
if (existingSharedGists.length === 0) {
const { enableUpdatingGistsAfterCreation } = yield getLatestSettings(plugin);
if (!enableUpdatingGistsAfterCreation) {
return new import_obsidian.Notice(
"You need to enable 'Update gists after creation' in Settings to use this command."
);
} else {
return new import_obsidian.Notice("There are no gists associated with this note.");
}
}
if (existingSharedGists.length > 1) {
new SelectExistingGistModal(
app,
existingSharedGists,
false,
(sharedGist) => __async(void 0, null, function* () {
const result = yield deleteGist({ sharedGist });
if (result.status === "succeeded" /* Succeeded */) {
const updatedContent = removeSharedGistForFile(
sharedGist,
originalContent
);
editor.setValue(updatedContent);
new import_obsidian.Notice("Gist deleted");
} else {
new import_obsidian.Notice(`Error: ${result.errorMessage}`);
}
})
).open();
} else {
const sharedGist = existingSharedGists[0];
const result = yield deleteGist({ sharedGist });
if (result.status === "succeeded" /* Succeeded */) {
const updatedContent = removeSharedGistForFile(
sharedGist,
originalContent
);
editor.setValue(updatedContent);
new import_obsidian.Notice("Gist deleted");
} else {
new import_obsidian.Notice(`Error: ${result.errorMessage}`);
}
}
});
var shareGistEditorCallback = (opts) => () => __async(void 0, null, function* () {
const { isPublic, app, plugin, target } = opts;
const { enableUpdatingGistsAfterCreation, includeFrontMatter } = yield getLatestSettings(plugin);
@ -7136,6 +7237,15 @@ var ShareAsGistPlugin = class extends import_obsidian.Plugin {
}),
performCheck: hasAtLeastOneSharedGist
});
this.addEditorCommandWithCheck({
id: "delete-gist",
name: "Delete gist",
callback: deleteGistEditorCallback({
plugin: this,
app: this.app
}),
performCheck: hasAtLeastOneSharedGist
});
}
addModifyCallback() {
const previousContents = {};

View File

@ -1,7 +1,7 @@
{
"id": "obsidian-share-as-gist",
"name": "Share as Gist",
"version": "1.7.0",
"version": "1.8.0",
"minAppVersion": "0.9.7",
"description": "Shares an Obsidian note as a GitHub.com gist",
"author": "Tim Rogers",

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"id": "omnisearch",
"name": "Omnisearch",
"version": "1.25.1",
"version": "1.25.2",
"minAppVersion": "1.7.2",
"description": "A search engine that just works",
"author": "Simon Cambier",

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"id": "pane-relief",
"name": "Pane Relief",
"version": "0.5.6",
"version": "0.5.7",
"minAppVersion": "1.5.8",
"description": "Per-tab history, hotkeys for pane/tab movement, navigation, sliding workspace, and more",
"author": "PJ Eby",

File diff suppressed because one or more lines are too long

View File

@ -4703,7 +4703,7 @@ function TranscriptTemplateEngine(template, episode, transcription) {
return replacer(template);
}
function replaceIllegalFileNameCharactersInString(string) {
return string.replace(/[\\,#%&{}/*<>$'":@\u2023|\\.]/g, "").replace(/\n/, " ").replace(" ", " ");
return string.replace(/[\\,#%&{}/*<>$'":@\u2023|\\.\?]/g, "").replace(/\n/, " ").replace(" ", " ");
}
// src/opml.ts

View File

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

View File

@ -0,0 +1,6 @@
{
"quartoPath": "/usr/local/bin/quarto",
"enableQmdLinking": true,
"quartoTypst": "",
"emitCompilationLogs": true
}

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
{
"id": "qmd-as-md-obsidian",
"version": "0.0.2",
"version": "0.0.3",
"description": "This plugin provides an initial support for viewing files with .qmd extension. QMD files contain a combination of markdown and executable code cells and are a format supported by Quarto open source publishing system.",
"name": "qmd as md",
"author": "Daniel Borek",

104159
.obsidian/plugins/vault-size-history/main.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
{
"id": "vault-size-history",
"name": "Vault Size History",
"version": "1.1.5",
"minAppVersion": "0.15.0",
"description": "Graph of the number of files in the Vault.",
"author": "Technerium",
"authorUrl": "https://technerium.com",
"isDesktopOnly": false
}

View File

@ -0,0 +1,129 @@
/*
This CSS file will be included with your plugin, and
available in the app when your plugin is enabled.
If your plugin does not need CSS, delete this file.
*/
.technerium-vshp-graph-container{
width: 100%;
height: calc(100% - 28px);
background-color: var(--modal-background);
color: var(--h1-color);
}
.technerium-vshp-graph-modal{
width: var(--modal-width);
height: var(--modal-height);
}
.technerium-vshp-settings-credits-section{
}
.technerium-vshp-settings-credits-p {
font-size: small;
}
.technerium-vshp-settings-form {
}
.technerium-vshp-settings-setting {
display: flex;
padding: 5px;
margin-bottom: 10px;
}
.technerium-vshp-settings-setting-categories {
display: flex;
padding: 5px;
}
.technerium-vshp-settings-setting-categories-list {
padding: 5px;
}
.technerium-vshp-settings-setting-info {
padding: 5px;
}
.technerium-vshp-settings-setting-info-name {
color: var(--text-normal);
font-size: var(--font-ui-medium);
line-height: var(--line-height-tight);
}
.technerium-vshp-settings-setting-info-desc {
color: var(--text-muted);
font-size: var(--font-ui-smaller);
padding-top: var(--size-4-1);
line-height: var(--line-height-tight);
}
.technerium-vshp-settings-setting-control {
padding: 5px;
flex: 1 0 150px;
text-align: right;
}
.technerium-vshp-settings-setting-control>select {
/*width: 100%;*/
}
.technerium-vshp-settings-category-form {
display: flex;
padding: 3px;
}
.technerium-vshp-settings-category-form-grab-area {
padding: 5px;
text-align: center;
vertical-align: middle;
cursor: grab;
}
.technerium-vshp-settings-category-form-name {
flex: 1;
}
.technerium-vshp-settings-category-form-name > input {
width: 100%;
}
.technerium-vshp-settings-category-form-pattern {
flex: 0 0 450px;
padding: 0 5px;
}
.technerium-vshp-settings-category-form-pattern > input {
width: 100%;
}
.technerium-vshp-settings-category-form-actions {
flex: 0 0 100px;
}
.technerium-vshp-settings-category-form-actions > button {
width: 100%;
}
.technerium-vshp-settings-category-form-helper-container {
flex: 1 0 auto;
}
.technerium-vshp-settings-category-form-helper-row {
display: flex;
}
.technerium-vshp-settings-category-form-helper-actions {
flex: 1;
padding: 3px;
}
.technerium-vshp-settings-category-form-helper-actions > button {
width: 100%;
}

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"id": "vertical-tabs",
"name": "Vertical Tabs",
"version": "0.12.4",
"version": "0.14.0",
"minAppVersion": "1.6.2",
"description": "Offer an alternative view that displays open tabs vertically, allowing users to group and organize tabs for a better navigation experience.",
"author": "oxdc",

File diff suppressed because one or more lines are too long

View File

@ -6,12 +6,10 @@
/* --------------compact tabs--------------------*/
.workspace .mod-root .workspace-tab-header {
width: unset;
/*width: unset;*/
max-width: var(--tab-width);
border: 1px solid var(--color-base-50);
}
/*.workspace-tab-header-inner {
} /*.workspace-tab-header-inner {
width: unset;
}*/

View File

@ -59,6 +59,7 @@
"BC-dataview-note-query": "text",
"BC-dataview-note-field": "text",
"BC-ignore-in-edges": "checkbox",
"BC-ignore-out-edges": "checkbox"
"BC-ignore-out-edges": "checkbox",
"test": "checkbox"
}
}

5
.obsidian/webviewer.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"openExternalURLs": true,
"enableAdblocking": true,
"searchEngine": "google"
}

5
.trash/Untitled 1 15.md Normal file
View File

@ -0,0 +1,5 @@
---
aliases:
up:
tags:
---

5
.trash/Untitled 1 16.md Normal file
View File

@ -0,0 +1,5 @@
---
aliases:
up:
tags:
---

5
.trash/Untitled 1 17.md Normal file
View File

@ -0,0 +1,5 @@
---
aliases:
up:
tags:
---

5
.trash/Untitled 1 18.md Normal file
View File

@ -0,0 +1,5 @@
---
aliases:
up:
tags:
---

5
.trash/Untitled 1 19.md Normal file
View File

@ -0,0 +1,5 @@
---
aliases:
up:
tags:
---

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