MacBookPro.lan 2026-7-5:20:1:24

This commit is contained in:
oskar
2026-07-05 20:01:25 +02:00
parent 471b0aa399
commit 236ceccda4
50 changed files with 14364 additions and 6929 deletions
+3 -3
View File
@@ -1,6 +1,6 @@
{
"collapse-filter": false,
"search": "",
"search": "tag:#s/politique ",
"showTags": false,
"showAttachments": false,
"hideUnresolved": false,
@@ -130,6 +130,6 @@
"repelStrength": 5.263671875,
"linkStrength": 1,
"linkDistance": 30,
"scale": 0.08412936276539293,
"close": true
"scale": 0.6928227602701377,
"close": false
}
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "better-export-pdf",
"name": "Better Export PDF",
"version": "2.0.2",
"version": "2.0.3",
"minAppVersion": "0.15.0",
"description": "Export your notes to PDF, support export preview, add bookmarks outline and header/footer.",
"author": "l1xnan",
+3 -3
View File
@@ -286,7 +286,7 @@
"prevs"
],
"lock_view": false,
"lock_path": "matrices particulières.md",
"lock_path": "language tool.md",
"custom_sort_fields": false,
"custom_sort_field_labels": []
},
@@ -295,9 +295,9 @@
"show_attributes": [],
"merge_fields": false,
"lock_view": false,
"lock_path": "matrices particulières.md",
"lock_path": "language tool.md",
"field_group_labels": [
"ups"
"downs"
],
"edge_sort_id": {
"field": "basename",
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "darlal-switcher-plus",
"name": "Quick Switcher++",
"version": "6.1.3",
"version": "6.1.4",
"minAppVersion": "1.12.7",
"description": "Enhanced Quick Switcher, search open panels, and symbols.",
"author": "darlal",
-10
View File
@@ -66,16 +66,6 @@
justify-content: left;
}
/* highlight recently used file suggestions */
.suggestion-item.qsp-recent-file .qsp-title {
text-decoration: underline dotted var(--text-muted);
}
/* highlight currently open editor suggestions */
.suggestion-item.qsp-open-editor .qsp-title {
text-decoration: underline var(--text-accent);
}
/* highlight the open editor flair icon */
.suggestion-item.qsp-open-editor .suggestion-aux.qsp-aux .qsp-editor-indicator,
.suggestion-item.qsp-open-editor .suggestion-aux.qsp-aux .qsp-editor-indicator svg {
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,8 +1,8 @@
{
"id": "header-enhancer",
"name": "Header Enhancer",
"version": "0.5.2",
"minAppVersion": "0.14.0",
"version": "0.6.0",
"minAppVersion": "1.8.7",
"description": "Level up your headers, customize your notes. Header Enhancer makes your notes header better and more useful.",
"author": "Hobee Liu",
"authorUrl": "https://github.com/HoBeedzc",
+464 -5
View File
@@ -1,8 +1,467 @@
/*
/* Header and title font settings */
body.header-enhancer-custom-header-font-family .markdown-preview-view h1,
body.header-enhancer-custom-header-font-family .markdown-preview-view h2,
body.header-enhancer-custom-header-font-family .markdown-preview-view h3,
body.header-enhancer-custom-header-font-family .markdown-preview-view h4,
body.header-enhancer-custom-header-font-family .markdown-preview-view h5,
body.header-enhancer-custom-header-font-family .markdown-preview-view h6,
body.header-enhancer-custom-header-font-family .markdown-source-view.mod-cm6 .HyperMD-header-1,
body.header-enhancer-custom-header-font-family .markdown-source-view.mod-cm6 .HyperMD-header-2,
body.header-enhancer-custom-header-font-family .markdown-source-view.mod-cm6 .HyperMD-header-3,
body.header-enhancer-custom-header-font-family .markdown-source-view.mod-cm6 .HyperMD-header-4,
body.header-enhancer-custom-header-font-family .markdown-source-view.mod-cm6 .HyperMD-header-5,
body.header-enhancer-custom-header-font-family .markdown-source-view.mod-cm6 .HyperMD-header-6 {
font-family: var(--header-enhancer-header-font-family) !important;
}
This CSS file will be included with your plugin, and
available in the app when your plugin is enabled.
body.header-enhancer-custom-header-font-size .markdown-preview-view h1,
body.header-enhancer-custom-header-font-size .markdown-preview-view h2,
body.header-enhancer-custom-header-font-size .markdown-preview-view h3,
body.header-enhancer-custom-header-font-size .markdown-preview-view h4,
body.header-enhancer-custom-header-font-size .markdown-preview-view h5,
body.header-enhancer-custom-header-font-size .markdown-preview-view h6,
body.header-enhancer-custom-header-font-size .markdown-source-view.mod-cm6 .HyperMD-header-1,
body.header-enhancer-custom-header-font-size .markdown-source-view.mod-cm6 .HyperMD-header-2,
body.header-enhancer-custom-header-font-size .markdown-source-view.mod-cm6 .HyperMD-header-3,
body.header-enhancer-custom-header-font-size .markdown-source-view.mod-cm6 .HyperMD-header-4,
body.header-enhancer-custom-header-font-size .markdown-source-view.mod-cm6 .HyperMD-header-5,
body.header-enhancer-custom-header-font-size .markdown-source-view.mod-cm6 .HyperMD-header-6 {
font-size: var(--header-enhancer-header-font-size) !important;
}
If your plugin does not need CSS, delete this file.
body.header-enhancer-custom-title-font-family .workspace-tab-header-inner-title,
body.header-enhancer-custom-title-font-family .workspace-tab-header .workspace-tab-header-inner-title,
body.header-enhancer-custom-title-font-family .workspace-tabs .workspace-tab-header-inner-title,
body.header-enhancer-custom-title-font-family .workspace-leaf-content .view-header-title,
body.header-enhancer-custom-title-font-family .inline-title,
body.header-enhancer-custom-title-font-family .markdown-preview-view .inline-title,
body.header-enhancer-custom-title-font-family .markdown-source-view .inline-title,
body.header-enhancer-custom-title-font-family .nav-file-title-content,
body.header-enhancer-custom-title-font-family .tree-item-inner.nav-file-title-content,
body.header-enhancer-custom-title-font-family .frontmatter-container .metadata-property[data-property-key="title"] .metadata-property-value {
font-family: var(--header-enhancer-title-font-family) !important;
}
*/
body.header-enhancer-custom-title-font-size .workspace-tab-header-inner-title,
body.header-enhancer-custom-title-font-size .workspace-tab-header .workspace-tab-header-inner-title,
body.header-enhancer-custom-title-font-size .workspace-tabs .workspace-tab-header-inner-title,
body.header-enhancer-custom-title-font-size .workspace-leaf-content .view-header-title,
body.header-enhancer-custom-title-font-size .inline-title,
body.header-enhancer-custom-title-font-size .markdown-preview-view .inline-title,
body.header-enhancer-custom-title-font-size .markdown-source-view .inline-title,
body.header-enhancer-custom-title-font-size .nav-file-title-content,
body.header-enhancer-custom-title-font-size .tree-item-inner.nav-file-title-content,
body.header-enhancer-custom-title-font-size .frontmatter-container .metadata-property[data-property-key="title"] .metadata-property-value {
font-size: var(--header-enhancer-title-font-size) !important;
}
/* Ribbon icon state styles */
.side-dock-ribbon-action[aria-label*="Header Enhancer"].header-enhancer-global-disabled {
opacity: 0.4;
}
.side-dock-ribbon-action[aria-label*="Header Enhancer"].header-enhancer-global-disabled:hover {
opacity: 0.6;
}
.side-dock-ribbon-action[aria-label*="Header Enhancer"].header-enhancer-document-enabled {
color: var(--color-accent);
}
.side-dock-ribbon-action[aria-label*="Header Enhancer"].header-enhancer-document-enabled:hover {
color: var(--color-accent-hover);
}
.side-dock-ribbon-action[aria-label*="Header Enhancer"].header-enhancer-document-disabled {
opacity: 0.7;
color: var(--text-muted);
}
.side-dock-ribbon-action[aria-label*="Header Enhancer"].header-enhancer-document-disabled:hover {
opacity: 1;
color: var(--text-normal);
}
.side-dock-ribbon-action[aria-label*="Header Enhancer"].header-enhancer-global-disabled::before {
content: "";
position: absolute;
top: 2px;
right: 2px;
width: 6px;
height: 6px;
border-radius: 50%;
background-color: var(--text-error);
z-index: 10;
}
/* Settings page */
.header-enhancer-global-disabled-info,
.header-enhancer-off-info {
margin: 1.5em 0;
padding: 1.2em;
border: 2px solid var(--text-muted);
border-radius: 8px;
background: var(--background-secondary);
opacity: 0.8;
}
.header-enhancer-info-title {
font-weight: 600;
color: var(--text-muted);
margin-bottom: 0.8em;
display: flex;
align-items: center;
}
.header-enhancer-info-description {
line-height: 1.6;
color: var(--text-muted);
}
.header-enhancer-font-preview,
.header-enhancer-title-font-preview {
margin: 1em 0;
padding: 1em;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
background: var(--background-secondary);
}
.header-enhancer-preview-title {
font-size: 1.5em;
font-weight: bold;
margin: 0.5em 0;
}
.header-enhancer-auto-detection-preview {
margin: 1em 0;
padding: 1.2em;
border: 2px solid var(--color-green);
border-radius: 8px;
background: var(--background-secondary);
position: relative;
}
.header-enhancer-auto-detection-title {
font-weight: 600;
font-size: 1em;
color: var(--color-green);
margin-bottom: 0.8em;
display: flex;
align-items: center;
}
.header-enhancer-muted-italic {
color: var(--text-muted);
font-style: italic;
}
.header-enhancer-empty-analysis {
color: var(--text-muted);
text-align: center;
padding: 1em;
}
.header-enhancer-analysis-grid {
display: grid;
gap: 0.8em;
line-height: 1.6;
}
.header-enhancer-analysis-row {
display: flex;
align-items: center;
gap: 0.8em;
}
.header-enhancer-analysis-row-start {
align-items: flex-start;
}
.header-enhancer-analysis-label {
color: var(--text-normal);
min-width: 70px;
}
.header-enhancer-analysis-row-start .header-enhancer-analysis-label {
margin-top: 0.2em;
}
.header-enhancer-analysis-values {
display: flex;
gap: 0.4em;
flex-wrap: wrap;
}
.header-enhancer-level-chip {
background: var(--tag-background);
color: var(--tag-color);
padding: 0.2em 0.4em;
border-radius: 3px;
font-family: monospace;
}
.header-enhancer-mapping-chip {
background: var(--background-modifier-hover);
padding: 0.2em 0.4em;
border-radius: 3px;
font-family: monospace;
}
.header-enhancer-range-badge,
.header-enhancer-total-badge {
color: var(--text-on-accent);
padding: 0.3em 0.6em;
border-radius: 4px;
font-weight: 500;
}
.header-enhancer-range-badge {
background: var(--color-green);
}
.header-enhancer-total-badge {
background: var(--color-blue);
}
.header-enhancer-format-preview-container {
margin: 1.5em 0;
}
.header-enhancer-format-preview-title {
font-weight: 600;
font-size: 1.1em;
color: var(--text-accent);
margin-bottom: 1em;
display: flex;
align-items: center;
gap: 0.5em;
}
.header-enhancer-format-preview-icon {
color: var(--color-accent);
}
.header-enhancer-format-state {
text-align: center;
padding: 1.5em;
border: 2px dashed var(--background-modifier-border);
border-radius: 8px;
background: var(--background-modifier-hover);
}
.header-enhancer-format-state-muted {
color: var(--text-muted);
}
.header-enhancer-format-state-yaml {
color: var(--text-accent);
border-color: var(--color-blue);
}
.header-enhancer-format-state-icon {
font-size: 1.5em;
margin-bottom: 0.5em;
}
.header-enhancer-format-state-text {
font-size: 1em;
font-weight: 500;
}
.header-enhancer-format-preview {
display: flex;
flex-direction: column;
gap: 1.5em;
}
.header-enhancer-format-example-wrapper {
text-align: center;
}
.header-enhancer-format-example {
font-family: monospace;
font-size: 1.8em;
font-weight: 700;
color: var(--color-accent);
background: var(--background-primary);
padding: 1em;
border-radius: 8px;
border: 2px solid var(--color-accent);
}
.header-enhancer-format-details {
display: flex;
justify-content: space-between;
align-items: center;
gap: 1em;
}
.header-enhancer-format-level-info {
display: flex;
align-items: center;
gap: 0.5em;
font-weight: 500;
color: var(--text-normal);
}
.header-enhancer-status-badge {
color: white;
padding: 0.3em 0.8em;
border-radius: 15px;
font-size: 0.85em;
font-weight: 600;
white-space: nowrap;
}
.header-enhancer-status-auto {
background: linear-gradient(135deg, #10b981 0%, #059669 100%);
box-shadow: 0 2px 4px rgba(16, 185, 129, 0.3);
}
.header-enhancer-status-warning {
background: var(--color-orange);
}
.header-enhancer-status-muted {
background: var(--text-muted);
}
.header-enhancer-status-manual {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
box-shadow: 0 2px 4px rgba(102, 126, 234, 0.3);
}
.header-enhancer-yaml-info {
margin: 1.5em 0;
padding: 1.2em;
border: 2px solid var(--color-blue);
border-radius: 8px;
background: var(--background-secondary);
}
.header-enhancer-yaml-title {
font-weight: 600;
color: var(--color-blue);
margin-bottom: 0.8em;
display: flex;
align-items: center;
}
.header-enhancer-yaml-description {
display: grid;
gap: 1em;
line-height: 1.6;
color: var(--text-normal);
}
.header-enhancer-yaml-example {
background: var(--code-background);
padding: 0.5em;
border-radius: 4px;
display: block;
font-family: monospace;
white-space: pre-wrap;
}
/* Auto numbering dialog styles */
.header-enhancer-removal-dialog,
.header-enhancer-activation-dialog {
max-width: 500px;
}
.header-enhancer-removal-dialog .modal-title,
.header-enhancer-activation-dialog .modal-title {
margin-bottom: 1em;
padding-bottom: 0.5em;
color: var(--text-accent);
border-bottom: 1px solid var(--background-modifier-border);
}
.header-enhancer-removal-dialog .modal-message,
.header-enhancer-activation-dialog .modal-message {
margin-bottom: 1.5em;
line-height: 1.5;
color: var(--text-normal);
}
.header-enhancer-removal-dialog .modal-actions,
.header-enhancer-activation-dialog .modal-actions {
margin-top: 1em;
padding-top: 1em;
border-top: 1px solid var(--background-modifier-border);
}
.header-enhancer-removal-dialog .modal-actions .setting-item,
.header-enhancer-activation-dialog .modal-actions .setting-item {
margin-bottom: 0.75em;
padding: 0.75em;
background-color: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
transition: all 0.2s ease;
}
.header-enhancer-removal-dialog .modal-actions .setting-item:hover,
.header-enhancer-activation-dialog .modal-actions .setting-item:hover {
background-color: var(--background-secondary-alt);
border-color: var(--background-modifier-border-hover);
}
.header-enhancer-removal-dialog .setting-item-warning,
.header-enhancer-removal-dialog .setting-item-tip,
.header-enhancer-activation-dialog .setting-item-warning,
.header-enhancer-activation-dialog .setting-item-tip {
margin-top: 0.5em;
font-size: 0.85em;
line-height: 1.3;
}
.header-enhancer-removal-dialog .warning-label,
.header-enhancer-activation-dialog .warning-label {
color: var(--text-error);
font-weight: 600;
}
.header-enhancer-removal-dialog .warning-text,
.header-enhancer-removal-dialog .progress-text,
.header-enhancer-activation-dialog .warning-text,
.header-enhancer-activation-dialog .progress-text {
color: var(--text-muted);
margin: 0;
}
.header-enhancer-removal-dialog .manual-tip-text,
.header-enhancer-activation-dialog .manual-tip-text {
color: var(--text-muted);
font-style: italic;
}
.header-enhancer-removal-dialog .modal-cancel,
.header-enhancer-activation-dialog .modal-cancel {
margin-top: 1em;
padding-top: 1em;
text-align: center;
border-top: 1px solid var(--background-modifier-border-focus);
}
.header-enhancer-removal-dialog .progress-container,
.header-enhancer-activation-dialog .progress-container {
margin-top: 1em;
padding: 1em;
background-color: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
text-align: center;
}
.header-enhancer-removal-dialog .progress-text,
.header-enhancer-activation-dialog .progress-text {
font-size: 0.9em;
}
.header-enhancer-removal-dialog button:disabled,
.header-enhancer-activation-dialog button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
+11668 -5296
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,8 +1,8 @@
{
"id": "metaedit",
"name": "MetaEdit",
"version": "1.8.4",
"minAppVersion": "1.4.1",
"version": "1.10.1",
"minAppVersion": "1.12.7",
"description": "MetaEdit helps you manage your metadata.",
"author": "Christian B. B. Houmann",
"authorUrl": "https://bagerbach.com",
+210 -1
View File
@@ -12,4 +12,213 @@
font: inherit;
cursor: pointer;
outline: inherit;
}
}
.metaedit-hidden {
display: none;
}
.metaedit-setting-with-details {
display: block;
}
.metaedit-table-label {
margin-bottom: 0;
}
.metaedit-suggester-command {
font-weight: var(--font-semibold);
}
/* Lay the row out as flex so the action icons sit flush-right and stay
vertically centered against the property label (float:right aligned to the
line box, not the row center, which left them looking off). */
.suggestion-item:has(.metaedit-suggester-action-button) {
display: flex;
align-items: center;
}
.metaedit-suggester-action-button {
margin-left: 4px;
}
/* First action button pushes the whole icon group to the right edge. */
.metaedit-suggester-action-button:first-of-type {
margin-left: auto;
}
.metaedit-dataview-empty-header {
border: none;
}
.metaedit-bulk-modal-description {
color: var(--text-muted);
margin-top: 0;
}
.metaedit-bulk-options {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 12px;
}
.metaedit-bulk-option {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 2px;
width: 100%;
height: auto;
padding: 10px 12px;
text-align: left;
white-space: normal;
cursor: pointer;
}
.metaedit-bulk-option-label {
font-weight: var(--font-semibold);
}
.metaedit-bulk-option-description {
color: var(--text-muted);
font-size: var(--font-ui-smaller);
}
.metaedit-native-property-prompt {
min-width: min(520px, 88vw);
}
/* Obsidian's .metadata-property:focus-within ring wraps the whole row (pill +
value) with no inner padding of its own, so give the composite breathing room
- otherwise the pill's rounded background collides with the ring's corner and
wrapped chips sit flush against it. Same treatment as the create row. */
.metaedit-native-property-row {
display: flex;
align-items: flex-start;
gap: 8px;
margin: 12px 0;
padding: 4px;
}
.metaedit-native-property-host {
flex: 1 1 auto;
min-width: 0;
width: 100%;
}
.metaedit-native-property-host > * {
width: 100%;
}
.metaedit-native-property-error,
.metaedit-native-property-fallback-note {
color: var(--text-muted);
font-size: var(--font-ui-small);
margin-bottom: 8px;
}
.metaedit-native-property-fallback-input {
width: 100%;
}
.metaedit-native-wikilink-suggest-mirror {
height: 1px;
opacity: 0;
pointer-events: none;
position: absolute;
width: 1px;
}
/* Widen the modal BOX itself (not the content past the box padding, which caused
the horizontal scrollbar). Height hugs the content - no reserved space; the
key-name dropdown floats as a capped overlay (see below). */
.metaedit-fluid-create-modal {
width: min(620px, 92vw);
max-width: 92vw;
}
.metaedit-fluid-create-row {
display: flex;
align-items: flex-start;
gap: 8px;
flex-wrap: nowrap;
margin: 16px 0 6px;
padding: 4px;
}
/* The type pill shared by the fluid create modal and the native edit prompt. */
.metaedit-type-pill {
display: inline-flex;
align-items: center;
gap: 6px;
flex: 0 0 auto;
height: var(--input-height);
padding: 0 10px;
border-radius: var(--radius-s);
background: var(--interactive-normal);
box-shadow: var(--input-shadow);
color: var(--text-normal);
font-size: var(--font-ui-small);
cursor: pointer;
}
.metaedit-type-pill:hover {
background: var(--interactive-hover);
}
.metaedit-type-pill.is-locked {
cursor: default;
opacity: 0.75;
}
.metaedit-type-pill-icon {
display: inline-flex;
align-items: center;
}
.metaedit-type-pill-icon .svg-icon {
width: var(--icon-s);
height: var(--icon-s);
}
.metaedit-fluid-create-key {
flex: 2 1 0;
min-width: 0;
}
.metaedit-fluid-create-value {
flex: 3 1 0;
min-width: 0;
}
/* The key-name suggestion dropdown floats as a capped overlay (~6-7 rows +
internal scroll) so the modal stays compact when it's closed, instead of
reserving permanent vertical space. */
.metaedit-fluid-create-suggest {
max-height: 190px;
overflow-y: auto;
}
.metaedit-fluid-create-autoprop {
flex: 1 1 auto;
align-self: center;
color: var(--text-muted);
font-size: var(--font-ui-small);
}
.metaedit-fluid-create-hint {
color: var(--text-muted);
font-size: var(--font-ui-small);
margin: 0 0 6px;
}
.metaedit-fluid-create-hint-accept {
cursor: pointer;
}
.metaedit-fluid-create-warning {
color: var(--text-error);
font-size: var(--font-ui-small);
margin: 0 0 6px;
}
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "notebook-navigator",
"name": "Notebook Navigator",
"version": "3.1.2",
"version": "3.2.2",
"minAppVersion": "1.11.0",
"description": "Replace the default file explorer with a clean two-pane interface featuring folder tree, tag browsing, file previews, keyboard navigation, drag-and-drop, pinned notes, and customizable display options.",
"author": "Johan Sanneblad",
+625 -118
View File
@@ -201,8 +201,8 @@ body {
--nn-theme-calendar-feature-image-overlay-color: rgb(0 0 0 / 0.05);
--nn-theme-calendar-day-today-color: var(--nn-theme-calendar-day-in-month-color);
--nn-theme-calendar-day-today-bg: var(--text-selection);
--nn-theme-calendar-day-active-border-color: #f94040;
--nn-theme-calendar-day-active-border-width: 3px;
--nn-theme-calendar-day-active-border-color: var(--interactive-accent);
--nn-theme-calendar-day-active-border-width: 2px;
/* -- Folder & Tag Items -- */
--nn-theme-navitem-chevron-color: var(--nn-theme-foreground-muted);
@@ -2980,6 +2980,11 @@ button.nn-navigation-calendar-year-month {
z-index: 2;
}
.nn-navigation-calendar-day.has-feature-image.is-active-editor-file .nn-navigation-calendar-active-outline,
.nn-navigation-calendar-year-month.has-feature-image.is-selected-month .nn-navigation-calendar-active-outline {
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.65);
}
.nn-navigation-calendar-year-month-label {
position: relative;
z-index: 1;
@@ -3711,16 +3716,13 @@ button.nn-navigation-calendar-day {
z-index: 2;
}
.nn-virtual-file-item-has-custom-background::after,
.nn-virtual-file-item-has-custom-background-next::after {
display: none;
}
.nn-virtual-file-item-has-filled-background-previous > .nn-file,
.nn-virtual-file-item-has-custom-background-previous > .nn-file.nn-has-custom-background {
--nn-file-top-left-radius: 0;
--nn-file-top-right-radius: 0;
}
.nn-virtual-file-item-has-filled-background-next > .nn-file,
.nn-virtual-file-item-has-custom-background-next > .nn-file.nn-has-custom-background {
--nn-file-bottom-left-radius: 0;
--nn-file-bottom-right-radius: 0;
@@ -3788,7 +3790,11 @@ button.nn-navigation-calendar-day {
/* Hide separator when flagged by renderer (selection) or context menu */
.nn-virtual-file-item.nn-hide-separator-selection::after,
.nn-virtual-file-item.nn-hide-separator-context-menu::after {
.nn-virtual-file-item.nn-hide-separator-context-menu::after,
.nn-virtual-file-item.nn-virtual-file-item-has-filled-background::after,
.nn-virtual-file-item.nn-virtual-file-item-has-filled-background-next::after,
.nn-virtual-file-item.nn-virtual-file-item-has-custom-background::after,
.nn-virtual-file-item.nn-virtual-file-item-has-custom-background-next::after {
display: none;
}
@@ -3916,17 +3922,13 @@ button.nn-navigation-calendar-day {
display: none;
}
.nn-manual-sort-row-hide-separator::after,
.nn-manual-sort-row-has-custom-background::after,
.nn-manual-sort-row-has-custom-background-next::after {
display: none;
}
.nn-manual-sort-row-has-filled-background-previous .nn-file,
.nn-manual-sort-row-has-custom-background-previous .nn-file.nn-has-custom-background {
--nn-file-top-left-radius: 0;
--nn-file-top-right-radius: 0;
}
.nn-manual-sort-row-has-filled-background-next .nn-file,
.nn-manual-sort-row-has-custom-background-next .nn-file.nn-has-custom-background {
--nn-file-bottom-left-radius: 0;
--nn-file-bottom-right-radius: 0;
@@ -3955,6 +3957,14 @@ button.nn-navigation-calendar-day {
pointer-events: none;
}
.nn-manual-sort-row.nn-manual-sort-row-hide-separator::after,
.nn-manual-sort-row.nn-manual-sort-row-has-filled-background::after,
.nn-manual-sort-row.nn-manual-sort-row-has-filled-background-next::after,
.nn-manual-sort-row.nn-manual-sort-row-has-custom-background::after,
.nn-manual-sort-row.nn-manual-sort-row-has-custom-background-next::after {
display: none;
}
.nn-manual-sort-file {
flex: 1;
min-width: 0;
@@ -4813,11 +4823,20 @@ button.nn-navigation-calendar-day {
}
.nn-list-group-header-folder-segment {
flex: 0 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
}
.nn-list-group-header-folder-segment:not(:last-child) {
flex-shrink: 0;
}
.nn-list-group-header-folder-segment:last-child {
flex: 1 1 auto;
}
.nn-list-group-header-path-separator {
flex: 0 0 auto;
padding-inline: 4px;
@@ -4944,6 +4963,64 @@ button.nn-list-group-header-collapse-button .nn-list-group-header-icon {
border-right: none;
border-bottom: 1px solid var(--nn-theme-divider-border-color);
}
/* Source: src/styles/sections/inline-rename.css */
/* ========================================================================
Inline Rename Styles
======================================================================== */
.nn-inline-rename-input {
flex: 1 1 auto;
min-width: 0;
width: 100%;
box-sizing: border-box;
padding: 0 6px;
border: 1px solid var(--interactive-accent);
border-radius: 4px;
background-color: var(--background-primary);
color: var(--text-normal);
font: inherit;
line-height: normal;
}
.nn-inline-rename-input:focus {
outline: 2px solid var(--interactive-accent);
outline-offset: -2px;
}
.nn-inline-rename-input:disabled {
opacity: 0.75;
}
.nn-navitem-inline-rename {
height: calc(var(--nn-setting-nav-item-height) - 8px);
font-size: var(--nn-setting-nav-font-size);
font-weight: var(--nn-theme-navitem-name-font-weight);
}
.notebook-navigator-mobile .nn-navitem-inline-rename {
height: calc(var(--nn-setting-nav-item-height-mobile) - 10px);
}
.nn-file-name--inline-renaming {
display: flex;
align-items: center;
gap: 0;
max-height: none;
overflow: visible;
white-space: nowrap;
word-break: normal;
}
.nn-file-name--inline-renaming .nn-file-ext-suffix {
flex-shrink: 0;
}
.nn-file-inline-rename {
height: var(--nn-file-title-line-height);
font-size: var(--nn-file-name-size-mobile, var(--nn-file-name-size));
font-weight: var(--nn-theme-file-name-font-weight);
}
/* Source: src/styles/sections/ui-empty-state.css */
/* ========================================================================
@@ -4983,7 +5060,10 @@ button.nn-list-group-header-collapse-button .nn-list-group-header-icon {
bottom: -0.5px;
/* Pre-composited solid color prevents hairlines by blending alpha with pane background */
background-color: var(--nn-selected-file-bg-color);
border-radius: var(--nn-file-item-border-radius);
border-top-left-radius: var(--nn-file-top-left-radius, var(--nn-file-item-border-radius));
border-top-right-radius: var(--nn-file-top-right-radius, var(--nn-file-item-border-radius));
border-bottom-left-radius: var(--nn-file-bottom-left-radius, var(--nn-file-item-border-radius));
border-bottom-right-radius: var(--nn-file-bottom-right-radius, var(--nn-file-item-border-radius));
box-shadow: inset 0 0 0 var(--nn-theme-file-border-width) var(--nn-selected-file-border-color);
z-index: 0; /* Below separator lines */
}
@@ -5126,30 +5206,20 @@ body.nn-resizing {
outline: none;
}
/* Empty placeholder to hide browser's default drag preview */
.nn-drag-empty-placeholder {
position: absolute;
width: 1px;
height: 1px;
left: -9999px;
top: -9999px;
opacity: 0;
}
/* Drag ghost element - follows the cursor during drag */
.nn-drag-ghost {
/* Offscreen element used as the browser-native drag image */
.nn-drag-native-preview {
position: fixed;
left: -1000px;
top: -1000px;
display: inline-flex;
padding: 10px 0 0 12px;
pointer-events: none;
z-index: 999999;
opacity: 0.9;
will-change: transform;
left: 0;
top: 0;
transform: translate(var(--nn-drag-ghost-x, -1000px), var(--nn-drag-ghost-y, -1000px));
}
/* Badge shown on drag ghost for multiple files - Apple-style red badge */
.nn-drag-ghost-badge {
/* Badge shown in the native drag image for multiple files */
.nn-drag-preview-badge {
background-color: #dc3545;
color: white;
font-weight: bold;
@@ -5164,8 +5234,8 @@ body.nn-resizing {
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
/* Icon shown on drag ghost for single file/folder - dark circular background */
.nn-drag-ghost-icon {
/* Icon shown in the native drag image for single items */
.nn-drag-preview-icon {
background-color: #000000; /* Default black for light mode */
border-radius: 50%;
display: inline-flex;
@@ -5177,12 +5247,12 @@ body.nn-resizing {
}
/* Dark mode: use dark gray background */
.theme-dark .nn-drag-ghost-icon {
.theme-dark .nn-drag-preview-icon {
background-color: var(--background-modifier-border-hover);
}
/* Style the Lucide icon inside drag ghost - white icon */
.nn-drag-ghost-icon svg {
/* Style the Lucide icon inside the drag preview */
.nn-drag-preview-icon svg {
width: 16px;
height: 16px;
color: #ffffff;
@@ -5953,6 +6023,61 @@ body.nn-resizing {
object-fit: cover;
}
/* Release video */
.nn-whats-new-video-frame {
position: relative;
display: block;
width: 100%;
aspect-ratio: 16 / 9;
overflow: hidden;
border-radius: 8px;
background: var(--background-secondary);
border: 1px solid var(--background-modifier-border);
margin-bottom: 12px;
}
.nn-whats-new-video {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
background: #000000;
}
.nn-whats-new-video-open {
position: absolute;
top: 8px;
right: 8px;
z-index: 2;
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
color: var(--text-normal);
background: var(--background-primary);
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
opacity: 0.9;
text-decoration: none;
}
.nn-whats-new-video-open:hover {
color: var(--text-normal);
background: var(--background-secondary);
}
.nn-whats-new-video-open:focus-visible {
outline: 2px solid var(--interactive-accent);
outline-offset: 2px;
}
.nn-whats-new-video-open svg {
width: 16px;
height: 16px;
}
/* YouTube link preview */
.nn-whats-new-youtube-link {
display: block;
@@ -6048,6 +6173,15 @@ body.nn-resizing {
font-weight: 600;
}
.nn-whats-new-info code,
.nn-whats-new-version li code {
color: var(--code-normal);
background-color: var(--code-background);
padding: 0.1em 0.35em;
border-radius: 4px;
font-size: 0.9em;
}
/* Support container */
.nn-whats-new-support {
margin-top: 0;
@@ -7259,8 +7393,6 @@ button.nn-youtube-button svg {
}
.nn-preview-label,
.nn-rgb-label,
.nn-rgb-title,
.nn-hex-title {
font-size: 11px;
color: var(--nn-theme-foreground-muted);
@@ -7321,99 +7453,121 @@ button.nn-youtube-button svg {
height: 16px;
}
/* RGB sliders section */
.nn-rgb-section,
/* Visual color picker section */
.nn-color-area-section,
.nn-color-preview-section {
padding-bottom: 15px;
}
.nn-rgb-section {
.nn-color-area-section {
display: flex;
flex-direction: column;
gap: 14px;
margin-bottom: auto; /* Push everything below to the bottom */
}
.nn-rgb-title {
margin-bottom: 6px;
.nn-color-controls {
display: flex;
flex-direction: column;
gap: 14px;
}
.nn-rgb-row {
/* Header above the saturation/value area; matches the preset header height so the picker
lines up with the swatch grid in the left column. Hidden on mobile where the area sits
beside the sliders. */
.nn-sv-header {
display: flex;
align-items: center;
gap: 8px;
min-height: 20px;
margin-bottom: 8px;
}
.nn-rgb-row:last-child {
.nn-sv-area {
position: relative;
width: 100%;
height: 150px;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background-color: var(--nn-sv-hue, #ff0000);
background-image: linear-gradient(to top, #000000, rgba(0, 0, 0, 0)), linear-gradient(to right, #ffffff, rgba(255, 255, 255, 0));
cursor: crosshair;
touch-action: none;
}
.nn-sv-thumb {
position: absolute;
width: 14px;
height: 14px;
border: 2px solid #ffffff;
border-radius: 50%;
background: var(--nn-thumb-color, #ffffff);
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5);
pointer-events: none;
transform: translate(-50%, -50%);
}
.nn-color-slider {
position: relative;
width: calc(100% - 16px);
height: 14px;
margin: 0 8px;
border-radius: 7px;
cursor: pointer;
touch-action: none;
}
.nn-hue-slider {
background: linear-gradient(
to right,
#ff0000 0%,
#ffff00 16.66%,
#00ff00 33.33%,
#00ffff 50%,
#0000ff 66.66%,
#ff00ff 83.33%,
#ff0000 100%
);
}
.nn-alpha-gradient {
position: absolute;
inset: 0;
border-radius: inherit;
background: linear-gradient(to right, rgba(0, 0, 0, 0), var(--nn-alpha-color, #000000));
pointer-events: none;
}
.nn-color-slider .nn-slider-thumb {
position: absolute;
top: 50%;
z-index: 1;
width: 16px;
height: 16px;
border: 2px solid #ffffff;
border-radius: 50%;
background: transparent;
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5);
pointer-events: none;
transform: translate(-50%, -50%);
}
/* Hex input section - sits at the bottom of the picker, below the alpha slider */
.nn-hex-section {
margin-bottom: 0;
}
.nn-rgb-label {
width: 16px;
}
.nn-rgb-slider {
flex: 1;
height: 4px;
-webkit-appearance: none;
appearance: none;
background: var(--background-modifier-border);
border-radius: 2px;
outline: none;
cursor: pointer;
}
/* Slider thumb */
.nn-rgb-slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 16px;
height: 16px;
border-radius: 50%;
background: var(--interactive-accent);
cursor: pointer;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.nn-rgb-slider::-moz-range-thumb {
width: 16px;
height: 16px;
border-radius: 50%;
background: var(--interactive-accent);
cursor: pointer;
border: none;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
/* RGB value display */
.nn-rgb-value {
width: 32px;
text-align: right;
font-size: 11px;
color: var(--nn-theme-foreground-muted);
font-family: var(--font-monospace);
}
/* Color gradients for sliders */
.nn-rgb-slider-r {
background: linear-gradient(to right, #000000, #ff0000);
}
.nn-rgb-slider-g {
background: linear-gradient(to right, #000000, #00ff00);
}
.nn-rgb-slider-b {
background: linear-gradient(to right, #000000, #0000ff);
}
/* Hex input section */
.nn-hex-section {
margin-bottom: 20px;
.nn-hex-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 6px;
}
.nn-hex-title {
display: block;
margin-bottom: 6px;
height: 17px; /* Match the preview label height for alignment */
margin-bottom: 0;
}
.nn-hex-container {
@@ -7531,11 +7685,14 @@ button.nn-youtube-button svg {
}
/* Preset and Recent colors sections */
.nn-preset-section,
.nn-recent-section {
.nn-preset-section {
margin-top: auto; /* Align to bottom */
}
.nn-recent-section {
margin-top: 0;
}
.nn-preset-colors,
.nn-recent-colors {
display: grid;
@@ -7544,6 +7701,16 @@ button.nn-youtube-button svg {
overflow: hidden;
}
.nn-recent-colors {
grid-template-columns: repeat(10, 36px);
}
.nn-recent-colors .nn-color-dot {
width: 36px;
height: 36px;
aspect-ratio: auto;
}
.nn-preset-colors {
margin-top: 8px;
}
@@ -7689,6 +7856,29 @@ button.nn-youtube-button svg {
grid-template-columns: repeat(8, 1fr);
}
.nn-sv-header {
display: none;
}
/* Saturation/value area on the left, hue + transparency + hex stacked on the right.
The SV area stretches to match the height of that stack. */
.nn-color-area-section {
flex-direction: row;
align-items: stretch;
gap: 14px;
}
.nn-sv-area {
flex: 1 1 0;
width: auto;
height: auto;
}
.nn-color-controls {
flex: 1 1 0;
min-width: 0;
}
.modal.nn-color-picker-modal .modal-content {
padding: 16px 16px 12px;
gap: 12px;
@@ -7699,6 +7889,311 @@ button.nn-youtube-button svg {
padding-top: 12px;
}
}
/* Source: src/styles/sections/modal-appearance.css */
/* ========================================================================
Appearance Modal - icon, foreground color, and background color editor
======================================================================== */
.modal.nn-appearance-modal {
width: 620px;
max-width: calc(100vw - 40px);
max-height: 86vh;
}
.modal.nn-appearance-modal .modal-content {
display: flex;
flex-direction: column;
gap: 12px;
box-sizing: border-box;
width: 100%;
padding: 16px;
overflow: hidden;
}
.modal.nn-appearance-modal .modal-close-button {
z-index: 10;
pointer-events: auto;
}
.nn-appearance-header {
display: flex;
align-items: center;
justify-content: center;
min-width: 0;
padding: 14px 16px;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-m);
background: var(--background-secondary);
}
@media (hover: hover) and (pointer: fine) {
.nn-appearance-preview-item:hover .nn-appearance-clear-button,
.nn-appearance-preview-item:focus-within .nn-appearance-clear-button {
opacity: 1;
visibility: visible;
pointer-events: auto;
}
}
.nn-appearance-clear-button.nn-appearance-clear-hidden {
display: none;
}
.nn-appearance-preview-item {
position: relative;
display: inline-flex;
align-items: center;
max-width: 100%;
gap: 8px;
padding: 6px 14px;
border-radius: var(--radius-s);
background: var(--nn-preview-bg, var(--background-secondary));
color: var(--nn-preview-fg, var(--nn-theme-foreground));
font-size: 14px;
font-weight: 600;
}
.nn-appearance-preview-icon {
display: inline-flex;
align-items: center;
flex: 0 0 auto;
}
.nn-appearance-preview-icon svg {
width: 18px;
height: 18px;
}
.nn-appearance-preview-icon-empty {
display: none;
}
.nn-appearance-preview-name {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.nn-appearance-tabs {
display: flex;
gap: 4px;
border-bottom: 1px solid var(--background-modifier-border);
}
.nn-appearance-tab {
display: inline-flex;
align-items: center;
gap: 8px;
min-width: 0;
padding: 7px 12px;
margin: 0 0 -1px;
border: 0;
border-bottom: 2px solid transparent;
border-radius: 0;
background: transparent;
color: var(--nn-theme-foreground-muted);
font-size: 13px;
font-weight: 500;
cursor: pointer;
}
.nn-appearance-tab:hover {
color: var(--nn-theme-foreground);
}
.nn-appearance-tab.nn-active {
border-bottom-color: var(--interactive-accent);
color: var(--nn-theme-foreground);
}
.nn-appearance-tab-chip {
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 auto;
overflow: hidden;
border: 1px solid var(--background-modifier-border);
}
.nn-appearance-tab-icon-chip {
width: 24px;
height: 24px;
border-radius: var(--radius-s);
color: var(--nn-theme-foreground);
}
.nn-appearance-tab-icon-chip svg {
width: 16px;
height: 16px;
}
.nn-appearance-tab-color-chip {
width: 32px;
height: 18px;
border-radius: 4px;
}
.nn-appearance-tab-chip-empty {
opacity: 0.55;
}
.nn-appearance-tab-label {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.nn-appearance-body {
flex: 1 1 auto;
height: 360px;
overflow-y: auto;
overflow-x: hidden;
}
.nn-appearance-panel {
display: flex;
flex-direction: column;
gap: 10px;
height: 100%;
min-height: 0;
}
.nn-appearance-panel-hidden {
display: none;
}
.nn-appearance-reset-button {
padding: 4px 10px;
border: 1px solid var(--background-modifier-border);
border-radius: var(--radius-s);
background: transparent;
color: var(--nn-theme-foreground-muted);
font-size: 12px;
cursor: pointer;
}
.nn-appearance-reset-button:hover {
border-color: var(--background-modifier-border-hover);
color: var(--nn-theme-foreground);
}
.nn-appearance-reset-button.nn-appearance-reset-active {
border-color: var(--interactive-accent);
color: var(--interactive-accent);
}
.nn-appearance-picker-host {
display: flex;
flex-direction: column;
gap: 12px;
flex: 1 1 auto;
min-height: 0;
}
.nn-appearance-picker-host .nn-icon-provider-tabs {
margin-bottom: 0;
}
.nn-appearance-picker-host .nn-icon-search-container {
padding: 0 8px;
border-bottom: 0;
}
.nn-appearance-picker-host .nn-icon-results-container {
flex: 1 1 auto;
height: auto;
min-height: 0;
}
.nn-appearance-picker-host .nn-color-picker-content {
gap: 16px;
padding-bottom: 0;
overflow: visible;
}
.nn-appearance-picker-host .nn-color-picker-left {
flex-basis: 220px;
}
.nn-appearance-picker-host .nn-color-picker-left-no-preview .nn-preset-section {
margin-top: 0;
}
.nn-appearance-picker-host .nn-recent-section {
margin-top: 4px;
}
.nn-appearance-picker-host .nn-preset-header,
.nn-appearance-picker-host .nn-hex-header,
.nn-appearance-picker-host .nn-recent-header {
justify-content: flex-start;
gap: 8px;
}
.nn-appearance-picker-host .nn-recent-colors {
grid-template-columns: repeat(5, 1fr);
}
.nn-appearance-picker-host .nn-recent-colors .nn-color-dot {
width: auto;
height: auto;
aspect-ratio: 1;
}
.nn-icon-item.nn-icon-item-selected {
outline: 2px solid var(--interactive-accent);
outline-offset: -2px;
}
.nn-appearance-footer {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
padding-top: 12px;
border-top: 1px solid var(--background-modifier-border);
}
.nn-appearance-footer-actions {
display: flex;
gap: 8px;
}
@media (max-width: 600px) {
.modal.nn-appearance-modal {
width: 100%;
max-width: calc(100vw - 20px);
}
.nn-appearance-tabs {
overflow-x: auto;
}
.nn-appearance-tab {
flex: 0 0 auto;
}
/* Size the body to its content rather than a fixed height so the modal adapts to large
fonts and display scaling. The base max-height caps it to the viewport and the body
scrolls instead of clipping. The modal resizes between tabs because each tab fits its
own content. */
.nn-appearance-body {
height: auto;
min-height: 0;
}
.nn-appearance-picker-host .nn-icon-results-container {
flex: 0 0 auto;
height: 240px;
min-height: 240px;
}
.nn-appearance-picker-host .nn-recent-colors {
grid-template-columns: repeat(8, 1fr);
}
}
/* Source: src/styles/sections/theme-folder-colors.css */
/* ========================================================================
@@ -8114,6 +8609,18 @@ button.nn-mobile-toolbar-button {
.notebook-navigator-ios .nn-list-pane .nn-virtual-item {
transform: translateZ(0);
}
/*
* iOS/iPadOS: WebKit paint workaround for pinned navigation shortcuts.
*
* Pinned shortcuts can remain mounted and measurable while their row contents stop repainting after the mobile
* single-pane transform finishes. Keep the pinned shortcut surface and its rows on composited layers.
*/
.notebook-navigator-ios .nn-shortcut-pinned,
.notebook-navigator-ios .nn-shortcut-pinned-scroll,
.notebook-navigator-ios .nn-shortcut-pinned .nn-navitem {
transform: translateZ(0);
}
/* Source: src/styles/sections/platform-android.css */
/* ========================================================================
@@ -8855,8 +9362,8 @@ settings:
default-dark: '#'
-
id: nn-theme-calendar-day-active-border-color
title: Active day outline color
description: Border color for the outline shown on the active day in the calendar.
title: Selection outline color
description: Border color for active calendar outlines.
type: variable-themed-color
opacity: true
format: rgb
@@ -8864,10 +9371,10 @@ settings:
default-dark: '#'
-
id: nn-theme-calendar-day-active-border-width
title: Active day outline thickness
description: Border width for the outline shown on the active day in the calendar.
title: Selection outline thickness
description: Border width for active calendar outlines.
type: variable-number-slider
default: 3
default: 2
format: px
min: 1
max: 4
+2 -2
View File
@@ -120,7 +120,7 @@
"library2": {
"type": "excalidrawlib",
"version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag2.23.12",
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.25.0",
"libraryItems": []
},
"imageElementNotice": true,
@@ -156,7 +156,7 @@
}
}
},
"previousRelease": "2.23.12",
"previousRelease": "2.25.0",
"showReleaseNotes": true,
"excalidrawMasteryPromoCollapsed": false,
"compareManifestToPluginVersion": true,
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "obsidian-excalidraw-plugin",
"name": "Excalidraw",
"version": "2.23.12",
"version": "2.25.0",
"minAppVersion": "1.8.7",
"description": "Sketch Your Mind. Edit and view Excalidraw drawings. Enter the world of 4D Visual PKM.",
"author": "Zsolt Viczian",
File diff suppressed because one or more lines are too long
+147 -147
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -6,5 +6,5 @@
"description": "Integrate Git version control with automatic backup and other advanced features.",
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/vinzent",
"version": "2.38.3"
"version": "2.38.5"
}
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "obsidian-markmind",
"name": "Markmind",
"version": "3.5.3",
"version": "3.5.5",
"minAppVersion": "0.9.12",
"description": "This is a mindmap , outline tool for obsidian.",
"author": "Mark",
+3 -2
View File
@@ -1665,7 +1665,8 @@ class CreateNewItem {
const childIsFolded = list.isFoldRoot();
const endPos = list.getLastLineContentEnd();
const endOfLine = cursor.line === endPos.line && cursor.ch === endPos.ch;
const onChildLevel = listIsZoomingRoot || (hasChildren && !childIsFolded && endOfLine);
const onChildLevel = this.after &&
(listIsZoomingRoot || (hasChildren && !childIsFolded && endOfLine));
const indent = onChildLevel
? hasChildren
? list.getChildren()[0].getFirstLineIndent()
@@ -1689,7 +1690,7 @@ class CreateNewItem {
list.addBeforeAll(newList);
}
else {
if (!childIsFolded || !endOfLine) {
if (this.after && (!childIsFolded || !endOfLine)) {
const children = list.getChildren();
for (const child of children) {
list.removeChild(child);
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "obsidian-outliner",
"name": "Outliner",
"version": "4.10.1",
"version": "4.10.2",
"minAppVersion": "1.11.7",
"description": "Work with your lists like in Workflowy or RoamResearch.",
"author": "Viacheslav Slinko",
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "obsidian-tasks-plugin",
"name": "Tasks",
"version": "8.1.0",
"version": "8.2.2",
"minAppVersion": "1.8.7",
"description": "Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering.",
"helpUrl": "https://publish.obsidian.md/tasks/",
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+12 -12
View File
@@ -1,14 +1,14 @@
{
"id": "obsidian42-brat",
"name": "BRAT",
"version": "2.0.8",
"minAppVersion": "1.11.4",
"description": "Easily install plugin beta versions for testing.",
"author": "TfTHacker",
"authorUrl": "https://github.com/TfTHacker",
"helpUrl": "https://tfthacker.com/BRAT",
"isDesktopOnly": false,
"fundingUrl": {
"Visit my site": "https://tfthacker.com"
}
"id": "obsidian42-brat",
"name": "BRAT",
"version": "2.2.0",
"minAppVersion": "1.11.4",
"description": "Easily install plugin beta versions for testing.",
"author": "TfTHacker",
"authorUrl": "https://github.com/TfTHacker",
"helpUrl": "https://tfthacker.com/BRAT",
"isDesktopOnly": false,
"fundingUrl": {
"Visit my site": "https://tfthacker.com"
}
}
+161 -69
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,11 +1,11 @@
{
"id": "podnotes",
"name": "PodNotes",
"version": "2.16.0",
"version": "2.17.2",
"minAppVersion": "0.15.9",
"description": "Helps you write notes on podcasts.",
"author": "Christian B. B. Houmann",
"authorUrl": "https://bagerbach.com",
"fundingUrl": "https://buymeacoffee.com/chhoumann",
"isDesktopOnly": false
}
}
+8 -27
View File
@@ -1233,26 +1233,6 @@ var StatusMessage = class extends import_obsidian2.Notice {
};
// src/crypto.ts
async function _generateKey(seed) {
const keyMaterial = await window.crypto.subtle.importKey(
"raw",
seed,
{ name: "PBKDF2" },
false,
["deriveBits"]
);
const masterKey = await window.crypto.subtle.deriveBits(
{
name: "PBKDF2",
salt: new Uint8Array(16),
iterations: 1e5,
hash: "SHA-256"
},
keyMaterial,
256
);
return new Uint8Array(masterKey);
}
function masterKeyToString(masterKey) {
return arrayBufferToBase64(masterKey);
}
@@ -1284,7 +1264,7 @@ async function encryptString(plaintext, existingKey) {
if (existingKey) {
key = base64ToArrayBuffer(existingKey);
} else {
key = await _generateKey(window.crypto.getRandomValues(new Uint8Array(64)).buffer);
key = window.crypto.getRandomValues(new Uint8Array(16)).buffer;
}
const aesKey = await _getAesGcmKey(key);
const ciphertext = [];
@@ -1308,7 +1288,11 @@ async function encryptString(plaintext, existingKey) {
return {
ciphertext,
ivs,
key: masterKeyToString(key).slice(0, 43)
// Strip base64 padding rather than slicing to a fixed length: a fresh
// 16-byte key yields 22 chars, while an older reused 32-byte key still
// yields its full 43 chars. Hardcoding 22 would truncate (and break)
// re-shares of notes that were first encrypted with a 256-bit key.
key: masterKeyToString(key).replace(/=+$/, "")
};
}
async function sha(algorithm, data) {
@@ -3429,18 +3413,15 @@ async function captureRenderedNote(leaf, options = {}) {
elements.push(getElementStyle("pusher", renderer.pusherEl));
const html = await sampleRenderedHtml(view);
const contentDom = new DOMParser().parseFromString(html, "text/html");
const mjxStyleEl = contentDom.querySelector("mjx-container") ? activeDocument.getElementById("MJX-CHTML-styles") : null;
const mjxText = (_c = mjxStyleEl == null ? void 0 : mjxStyleEl.textContent) == null ? void 0 : _c.trim();
const cssRules = [];
for (const sheet of Array.from(activeDocument.styleSheets)) {
if (mjxText && sheet.ownerNode === mjxStyleEl) continue;
if (((_c = sheet.ownerNode) == null ? void 0 : _c.id) === "MJX-CHTML-styles") continue;
for (const rule of Array.from(sheet.cssRules)) cssRules.push(rule);
}
let css = cssRules.filter((rule) => {
const css = cssRules.filter((rule) => {
var _a2;
return ((_a2 = rule.media) == null ? void 0 : _a2[0]) !== "print";
}).map((rule) => rule.cssText).join("").replace(/\n/g, "");
if (mjxText) css += mjxText.replace(/\n/g, "");
return { contentDom, cssRules, css, elements };
}
var RENDER_POLL_MAX_TICKS = 40;
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "share-note",
"name": "Share Note",
"version": "1.5.3",
"version": "1.5.5",
"minAppVersion": "1.8.7",
"description": "Instantly share a note, with the full theme and content exactly like you see in Reading View. Data is shared encrypted by default, and only you and the person you send it to have the key.",
"author": "Alan Grainger",
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "tasks-calendar-wrapper",
"name": "Tasks Calendar Wrapper",
"version": "0.3.1",
"version": "0.3.2",
"minAppVersion": "0.15.0",
"description": "This is a simple wrapper for Obsidian-Tasks-Calendar (https://github.com/702573N/Obsidian-Tasks-Calendar) and Obsidian-Tasks-Timeline (https://github.com/702573N/Obsidian-Tasks-Timeline).",
"author": "zhuwenq",
+10 -5
View File
@@ -12,7 +12,7 @@ If your plugin does not need CSS, delete this file.
user-select: none;
margin-bottom: 15%;
--taskido-color-warning: var(--color-red);
--taskido-color-focus: var(--interactive-accent);
--taskido-color-focus: var(--text-accent, var(--interactive-accent));
--taskido-color-focus-hsl: var(--interactive-accent-hsl);
--taskido-color-overdue: var(--taskido-color-warning);
--taskido-color-done: var(--color-green);
@@ -30,7 +30,7 @@ If your plugin does not need CSS, delete this file.
.taskido .task .internal-link,
.taskido .task .external-link {
color: var(--interactive-accent);
color: var(--text-accent, var(--interactive-accent));
text-decoration: underline !important;
}
@@ -507,7 +507,7 @@ If your plugin does not need CSS, delete this file.
.taskido.unplannedFocus .counter#unplanned,
.taskido.unplannedFilter .counter#unplanned {
color: var(--taskido-color-focus);
background: hsla(var(--taskido-color-focus-hsl), 0.2);
background: var(--background-modifier-hover);
box-shadow: var(--input-shadow);
}
@@ -550,17 +550,22 @@ If your plugin does not need CSS, delete this file.
padding: 0;
}
.taskido .details.today {
background: transparent !important;
background-color: transparent !important;
}
.taskido.todoFocus .task.due,
.taskido.todoFocus .task.scheduled,
.taskido.todoFocus .task.process,
.taskido.todoFocus .task.start,
.taskido.overdueFocus .task.overdue,
.taskido.unplannedFocus .task.unplanned {
background: hsla(var(--taskido-color-focus-hsl), 0.2);
background: var(--background-modifier-hover);
}
.taskido .task:hover {
background: hsla(var(--taskido-color-focus-hsl), 0.2);
background: var(--background-modifier-hover);
}
/* Filter */
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "templater-obsidian",
"name": "Templater",
"version": "2.20.5",
"version": "2.20.6",
"description": "Advanced templating and automation using handlebars-like syntax.",
"minAppVersion": "1.12.2",
"author": "SilentVoid",
+36 -3
View File
@@ -816,6 +816,11 @@ function isEOTinCodeBlock(text2) {
}
return inCodeBlock;
}
function isInsideInlineCode(lineUntilCursor) {
var _a, _b;
const backquotes = (_b = (_a = lineUntilCursor.match(/`/g)) == null ? void 0 : _a.length) != null ? _b : 0;
return backquotes % 2 === 1;
}
// src/app-helper.ts
var AppHelper = class {
@@ -978,6 +983,9 @@ var AppHelper = class {
inCodeBlock(editor) {
return isEOTinCodeBlock(this.getContentUntilCursor(editor));
}
inInlineCode(editor) {
return isInsideInlineCode(this.getCurrentLineUntilCursor(editor));
}
searchPhantomLinks() {
return Object.entries(this.unsafeApp.metadataCache.unresolvedLinks).flatMap(
([path2, obj]) => Object.keys(obj).map((link) => ({ path: path2, link }))
@@ -1369,10 +1377,14 @@ function suggestWords(indexedWords, query, maxNum, option = {}) {
frontMatter,
selectionHistoryStorage,
providerMinChars,
globalMinChar
globalMinChar,
excludeInternalLink
} = option;
const queryStartWithUpper = capitalizeFirstLetter(query) === query;
const shouldIncludeProvider = (providerType) => {
if (excludeInternalLink && providerType === "internalLink") {
return false;
}
if (!providerMinChars) {
return true;
}
@@ -1540,10 +1552,14 @@ function suggestWordsByPartialMatch(indexedWords, query, maxNum, option = {}) {
frontMatter,
selectionHistoryStorage,
providerMinChars,
globalMinChar
globalMinChar,
excludeInternalLink
} = option;
const queryStartWithUpper = capitalizeFirstLetter(query) === query;
const shouldIncludeProvider = (providerType) => {
if (excludeInternalLink && providerType === "internalLink") {
return false;
}
if (!providerMinChars) {
return true;
}
@@ -1801,6 +1817,7 @@ var DEFAULT_SETTINGS = {
excludeSelfInternalLink: false,
excludeExistingInActiveFileInternalLinks: false,
excludeUnresolvedInternalLinks: false,
excludeInternalLinksInCode: false,
updateInternalLinksOnSave: true,
insertAliasTransformedFromDisplayedInternalLink: {
enabled: false,
@@ -2723,6 +2740,20 @@ var VariousComplementsSettingTab = class extends import_obsidian3.PluginSettingT
});
}
);
addFilterableSetting(
"Exclude internal links in code",
"Exclude internal link suggestions when the cursor is inside a code block or inline code. Unlike the 'Disable suggestions in the Code block' option, this targets only internal link suggestions and also applies to inline code.",
(setting) => {
setting.addToggle((tc) => {
tc.setValue(
this.plugin.settings.excludeInternalLinksInCode
).onChange(async (value) => {
this.plugin.settings.excludeInternalLinksInCode = value;
await this.plugin.saveSettings();
});
});
}
);
addFilterableSetting(
"Insert an alias that is transformed from the displayed internal link",
null,
@@ -7574,6 +7605,7 @@ var AutoCompleteSuggest = class _AutoCompleteSuggest extends import_obsidian7.Ed
const matchStrategy = MatchStrategy.fromName(
parsedQuery.completionMode
);
const excludeInternalLinkInCode = this.settings.excludeInternalLinksInCode && this.completionMode === this.matchStrategy.name && (this.appHelper.inInlineCode(context.editor) || this.appHelper.inCodeBlock(context.editor));
let words = parsedQuery.queries.filter(
(x, i, xs) => parsedQuery.currentFrontMatter || this.settings.minNumberOfWordsTriggeredPhrase + i - 1 < xs.length && x.word.length >= this.minNumberTriggered && !x.word.endsWith(" ")
).map((q) => {
@@ -7594,7 +7626,8 @@ var AutoCompleteSuggest = class _AutoCompleteSuggest extends import_obsidian7.Ed
customDictionary: this.settings.customDictionaryMinNumberOfCharactersForTrigger,
internalLink: this.settings.internalLinkMinNumberOfCharactersForTrigger
},
globalMinChar: this.settings.minNumberOfCharactersTriggered || this.tokenizerStrategy.triggerThreshold
globalMinChar: this.settings.minNumberOfCharactersTriggered || this.tokenizerStrategy.triggerThreshold,
excludeInternalLink: excludeInternalLinkInCode
}
).map((word) => ({ ...word, offset: q.offset }));
}).flat().sort((a, b) => Number(a.fuzzy) - Number(b.fuzzy));
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "various-complements",
"name": "Various Complements",
"version": "11.3.0",
"version": "11.4.0",
"minAppVersion": "1.11.4",
"description": "This plugin enables you to complete words like the auto-completion of IDE",
"author": "tadashi-aikawa",
@@ -8,6 +8,7 @@ tags: [excalidraw]
# Excalidraw Data
## Text Elements
transmis·e
échangé·e ^RbMVZCdN
@@ -44,122 +45,128 @@ qui créée ^gAe3wBYW
%%
## Drawing
```compressed-json
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
```
%%
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 29 KiB

+3
View File
@@ -19,3 +19,6 @@ Démarrer le service :
`brew services start languagetool`
puis, installer le plugin/addin pour avoir l'interface graphique
-24
View File
@@ -1,24 +0,0 @@
---
up:
- "[[matrices particulières]]"
tags:
- "#s/maths"
aliases:
- stochastique
---
> [!definition] [[matrices stochastiques]]
> Une matrice $M$ est dite stochastique ...
^definition
# Propriétés
> [!proposition]+ transposée
> ...
> > [!démonstration]- Démonstration
> > ...
# Exemples
+26
View File
@@ -0,0 +1,26 @@
---
genre:
- "[[Documentaire]]"
director:
- "[[Jean-Gabriel Périot]]"
rating:
scoreImdb: 5.3
cast:
- "[[Alice Diop]]"
- "[[Nadia Tereszkiewicz]]"
cover:
plot: "Michèle Firk, film critic, aspiring director, revolutionary activist who championed justice and freedom. A Life, A Manifesto chronicles a woman who defied convention, embracing free love, cinema, and revolution."
year: 2026
created: 2026-07-05
tags:
- "t/source/film"
- "s/art/cinema"
nb_times_seen: "0"
date_last_seen:
---
`VIEW[Vu {nb_times_seen} fois (le {date_last_seen})][text]`
`BUTTON[film_update_date_last_seen]` `BUTTON[film_jamais_vu]`
- score`VIEW[IMDB : {scoreImdb}/10][text]`
- Note personnelle : `INPUT[slider(addLabels, minValue(0), maxValue(10), defaultValue(5)):rating]` `VIEW[{rating}/10][text]`
+13
View File
@@ -0,0 +1,13 @@
---
zotero-key: SABXIV77
citekey: sur-spinoza-deleuze
aliases:
- Sur Spinoza
up: "[[zotero literature notes]]"
zotero-link: "[Zotero](zotero://select/library/items/SABXIV77)"
tags:
- "#s/PKM"
- "#zotero"
- "#t/source"
---
+10
View File
@@ -0,0 +1,10 @@
views:
- type: table
name: Table
filters:
and:
- author.contains("Baruch de Spinoza")
order:
- file.name
- date-seen
- tags
+8
View File
@@ -11,6 +11,14 @@ date-seen: 2026-07-05
Description de la source
```breadcrumbs
title: "Sous-notes"
type: tree
collapse: true
show-attributes: [field]
field-groups: [downs]
depth: [0, 0]
```
## Notes personnelles