chore(vault): track .obsidian plugin configs (incl. obsidian-git settings)

This commit is contained in:
hehaiguang1123
2026-07-01 08:20:57 +08:00
parent e166ef1052
commit c7037119a5
216 changed files with 447823 additions and 0 deletions
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"id":"advanced-canvas","name":"Advanced Canvas","version":"5.6.5","minAppVersion":"1.1.0","description":"Supercharge your canvas experience! Create presentations, flowcharts and more!","author":"Developer-Mike","authorUrl":"https://github.com/Developer-Mike","fundingUrl":"https://ko-fi.com/X8X27IA08","isDesktopOnly":false}
+508
View File
@@ -0,0 +1,508 @@
/* src/styles.scss */
.properties-field > .setting-item-info {
flex: 0;
margin: 0;
padding: var(--size-4-1) var(--size-4-2);
border: var(--input-border-width) solid var(--background-modifier-border);
border-radius: var(--input-radius) 0 0 var(--input-radius);
}
.properties-field > .setting-item-control > input {
width: 100%;
border-radius: 0 var(--input-radius) var(--input-radius) 0;
}
.ac-settings-heading {
border-bottom: 1px solid var(--color-accent);
}
.ac-settings-heading:not(:first-child) {
margin-top: var(--size-4-10) !important;
}
.ac-settings-heading:has(.checkbox-container:not(.is-enabled)) {
border-bottom-color: var(--background-modifier-border-hover);
}
.ac-settings-heading .setting-item-description {
margin-inline-end: 20px;
}
.settings-header-children {
transform-origin: top center;
transform: scaleY(1);
transition: transform 0.2s ease-in-out;
}
.settings-header-children details {
flex-direction: column;
align-items: initial;
}
.ac-settings-heading:has(.checkbox-container:not(.is-enabled)) + .settings-header-children {
opacity: 0.5;
pointer-events: none;
height: 0;
transform: scaleY(0);
}
details.setting-item[open] > summary {
margin-bottom: 0.75em;
}
details.setting-item > *:not(summary) {
padding-left: 1em;
border-left: 1px solid var(--color-accent);
}
.kofi-banner {
position: relative;
display: flex;
flex-direction: column;
padding: var(--size-4-3);
background-color: var(--background-secondary);
border: 1px solid var(--divider-color);
border-radius: var(--radius-s);
}
.kofi-banner h1 {
margin: 0;
margin-bottom: 10px;
font-size: var(--font-ui-large);
font-weight: 600;
}
.kofi-banner .progress-container {
display: flex;
flex-direction: row;
align-items: center;
justify-items: center;
}
.kofi-banner .progress-container progress {
background: transparent;
}
.kofi-banner .progress-container progress::-webkit-progress-bar {
background-color: var(--background-modifier-border);
border-radius: var(--input-radius);
}
.kofi-banner .progress-container progress::-webkit-progress-value {
background-color: var(--color-accent);
border-radius: var(--input-radius);
}
.kofi-banner .progress-container .hourly-rate {
margin-left: 10px;
font-weight: 600;
}
.kofi-banner .ac-kofi-button {
align-self: flex-end;
width: min-content;
height: min-content;
line-height: 0;
}
.kofi-banner .ac-kofi-button img {
min-width: 100px;
width: 25%;
max-width: 200px;
}
.canvas-wrapper > .document-search-container {
transform: translateZ(0);
margin: 0;
}
.canvas-wrapper:not(.mod-readonly) .show-while-readonly {
display: none;
}
.canvas-control-item[data-toggled=true] {
background-color: var(--color-accent);
}
.canvas-control-item[data-toggled=true] svg {
stroke: var(--text-on-accent);
}
.reactive-node,
.canvas-node[data-shape=database],
.canvas-node[data-shape=document],
.canvas-node[data-shape=predefined-process],
.canvas-node[data-shape=diamond] {
--border-color: rgb(var(--canvas-color));
--border-width: 3px;
--box-shadow: none;
}
.reactive-node.is-focused,
.is-focused.canvas-node[data-shape=database],
.is-focused.canvas-node[data-shape=document],
.is-focused.canvas-node[data-shape=predefined-process],
.is-focused.canvas-node[data-shape=diamond],
.reactive-node.is-selected,
.is-selected.canvas-node[data-shape=database],
.is-selected.canvas-node[data-shape=document],
.is-selected.canvas-node[data-shape=predefined-process],
.is-selected.canvas-node[data-shape=diamond] {
--border-color: var(--color-accent);
--border-width: 5px;
--box-shadow: var(--shadow-border-accent);
}
.reactive-node.is-themed,
.is-themed.canvas-node[data-shape=database],
.is-themed.canvas-node[data-shape=document],
.is-themed.canvas-node[data-shape=predefined-process],
.is-themed.canvas-node[data-shape=diamond] {
--border-color: rgba(var(--canvas-color), 0.7);
}
.reactive-node.is-themed.is-focused,
.is-themed.is-focused.canvas-node[data-shape=database],
.is-themed.is-focused.canvas-node[data-shape=document],
.is-themed.is-focused.canvas-node[data-shape=predefined-process],
.is-themed.is-focused.canvas-node[data-shape=diamond],
.reactive-node.is-themed.is-selected,
.is-themed.is-selected.canvas-node[data-shape=database],
.is-themed.is-selected.canvas-node[data-shape=document],
.is-themed.is-selected.canvas-node[data-shape=predefined-process],
.is-themed.is-selected.canvas-node[data-shape=diamond] {
--border-color: rgb(var(--canvas-color));
--box-shadow: var(--shadow-border-themed);
}
.canvas-node[data-text-align=center] .markdown-preview-view {
scrollbar-gutter: auto;
}
.canvas-node[data-text-align=center] .markdown-preview-view .markdown-preview-section {
display: flex;
flex-direction: column;
justify-content: center;
min-height: 0 !important;
text-align: center;
vertical-align: middle;
}
.canvas-node[data-text-align=right] {
text-align: right;
}
.canvas-node[data-shape] .canvas-node-container .markdown-preview-view.markdown-rendered {
transform: unset;
}
.canvas-node[data-shape=pill] .canvas-node-container {
border-radius: 5000px;
}
.canvas-node[data-shape=diamond] {
}
.canvas-node[data-shape=diamond].is-focused,
.canvas-node[data-shape=diamond].is-selected {
border-radius: var(--radius-m);
outline: 2px solid var(--color-accent);
outline-offset: 5px;
}
.canvas-node[data-shape=diamond] .canvas-node-container {
border: none;
box-shadow: none !important;
}
.canvas-node[data-shape=diamond] .canvas-node-container:not(:has(.embed-iframe)) {
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 141.42135624 141.42135624' preserveAspectRatio='none'%3E%3Cstyle%3E rect %7B transform-origin: center; transform: rotate(45deg) scale(1.05); %7D %3C/style%3E%3Crect rx='8' x='20.71067812' y='20.71067812' width='100' height='100' /%3E%3C/svg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 141.42135624 141.42135624' preserveAspectRatio='none'%3E%3Cstyle%3E rect %7B transform-origin: center; transform: rotate(45deg) scale(1.05); %7D %3C/style%3E%3Crect rx='8' x='20.71067812' y='20.71067812' width='100' height='100' /%3E%3C/svg%3E");
mask-repeat: no-repeat;
-webkit-mask-repeat: no-repeat;
mask-size: 100%;
-webkit-mask-size: 100%;
}
.canvas-node[data-shape=diamond] .canvas-node-container .canvas-node-placeholder::after {
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 141.42135624 141.42135624' preserveAspectRatio='none'%3E%3Cstyle%3E rect %7B transform-origin: center; transform: rotate(45deg) scale(1.05); %7D %3C/style%3E%3Crect rx='8' x='20.71067812' y='20.71067812' width='100' height='100' /%3E%3C/svg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 141.42135624 141.42135624' preserveAspectRatio='none'%3E%3Cstyle%3E rect %7B transform-origin: center; transform: rotate(45deg) scale(1.05); %7D %3C/style%3E%3Crect rx='8' x='20.71067812' y='20.71067812' width='100' height='100' /%3E%3C/svg%3E");
mask-repeat: no-repeat;
-webkit-mask-repeat: no-repeat;
mask-size: 100%;
-webkit-mask-size: 100%;
}
.canvas-node[data-shape=diamond]::before {
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 141.42135624 141.42135624' preserveAspectRatio='none'%3E%3Cstyle%3E rect %7B transform-origin: center; transform: rotate(45deg) scale(1.05); %7D %3C/style%3E%3Crect rx='8' x='20.71067812' y='20.71067812' width='100' height='100' /%3E%3C/svg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 141.42135624 141.42135624' preserveAspectRatio='none'%3E%3Cstyle%3E rect %7B transform-origin: center; transform: rotate(45deg) scale(1.05); %7D %3C/style%3E%3Crect rx='8' x='20.71067812' y='20.71067812' width='100' height='100' /%3E%3C/svg%3E");
mask-repeat: no-repeat;
-webkit-mask-repeat: no-repeat;
mask-size: 100%;
-webkit-mask-size: 100%;
content: "";
position: absolute;
top: calc(var(--border-width) * -1);
left: calc(var(--border-width) * -1);
width: calc(100% + var(--border-width) * 2);
height: calc(100% + var(--border-width) * 2);
background-color: var(--border-color);
}
.canvas-node[data-shape=parallelogram] .canvas-node-container {
transform: skewX(-20deg);
backface-visibility: hidden;
}
.canvas-node[data-shape=parallelogram] .canvas-node-container .canvas-node-content .markdown-embed-content {
transform: skewX(20deg);
}
.canvas-node[data-shape=circle] .canvas-node-container {
border-radius: 50%;
}
.canvas-node[data-shape=circle] .canvas-node-container .markdown-preview-view {
overflow-y: initial;
}
.canvas-node[data-shape=predefined-process] .canvas-node-container .canvas-node-content {
padding: 0 10px;
}
.canvas-node[data-shape=predefined-process] .canvas-node-container::before,
.canvas-node[data-shape=predefined-process] .canvas-node-container::after {
content: "";
z-index: 1;
position: absolute;
top: 0;
width: 0;
height: 100%;
border-left: var(--border-width) solid var(--border-color);
}
.canvas-node[data-shape=predefined-process] .canvas-node-container::before {
left: calc(10px - var(--border-width));
}
.canvas-node[data-shape=predefined-process] .canvas-node-container::after {
right: calc(10px - var(--border-width));
}
.canvas-node[data-shape=document] {
--border-width: 2.5px;
filter: drop-shadow(0 var(--border-width) 0 var(--border-color)) drop-shadow(0 calc(var(--border-width) * -1) 0 var(--border-color));
}
.canvas-node[data-shape=document] .canvas-node-container {
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 75 45' preserveAspectRatio='none'%3E%3Cpath d='M75 0 75 39.375Q56.25 29.25 37.5 39.375 18.75 49.5 0 39.375L0 0Z' /%3E%3C/svg%3E");
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 75 45' preserveAspectRatio='none'%3E%3Cpath d='M75 0 75 39.375Q56.25 29.25 37.5 39.375 18.75 49.5 0 39.375L0 0Z' /%3E%3C/svg%3E");
mask-repeat: no-repeat;
-webkit-mask-repeat: no-repeat;
mask-size: 100%;
-webkit-mask-size: 100%;
border: var(--border-width) solid var(--border-color);
border-top: none;
border-bottom: none;
}
.canvas-node[data-shape=document].is-focused,
.canvas-node[data-shape=document].is-selected {
--border-width: 4px;
}
.canvas-node[data-shape=database] {
}
.canvas-node[data-shape=database] .canvas-node-container {
border: var(--border-width) solid var(--border-color);
border-bottom: 0;
border-top: 0;
border-radius: 0;
box-shadow: none !important;
}
.canvas-node[data-shape=database] .canvas-node-container .canvas-node-placeholder {
transform: translateY(25px);
}
.canvas-node[data-shape=database]::before,
.canvas-node[data-shape=database]::after {
content: "";
position: absolute;
left: 0;
box-sizing: border-box;
width: 100%;
height: 50px;
border-radius: 50%;
border: var(--border-width) solid var(--border-color);
background-color: var(--background-primary);
}
.canvas-node[data-shape=database]::after {
top: -25px;
}
.canvas-node[data-shape=database]::before {
bottom: -25px;
}
.canvas-node[data-shape=database].is-themed .canvas-node-content {
background-color: transparent;
}
.canvas-node[data-shape=database].is-themed:not(:has(.embed-iframe)) .canvas-node-container,
.canvas-node[data-shape=database].is-themed:not(:has(.embed-iframe))::after,
.canvas-node[data-shape=database].is-themed:not(:has(.embed-iframe))::before {
box-shadow: inset 0 0 0 1000px rgba(var(--canvas-color), 0.07) !important;
}
.canvas-node[data-shape=database] .canvas-node-content:not(:has(.embed-iframe)) {
transform: translateY(20px);
}
.canvas-node[data-shape=database]:has(.embed-iframe)::after {
z-index: -1;
}
.canvas-node[data-border=dashed] .canvas-node-container {
box-shadow: none;
border-style: dashed;
}
.canvas-node[data-border=dotted] .canvas-node-container {
box-shadow: none;
border-style: dotted;
}
.canvas-node[data-border=invisible] {
box-shadow: none;
}
.canvas-node[data-border=invisible]:not(.is-focused):not(.is-selected) .canvas-node-container {
border-color: transparent !important;
}
.canvas-node[data-border=invisible] .canvas-node-label {
display: none;
}
.canvas-node[data-border=invisible] .canvas-node-container {
background-color: transparent;
box-shadow: none;
}
.canvas-node[data-border][data-shape=predefined-process] {
--border-width: 2px;
}
.canvas-node[data-border][data-shape=predefined-process] .is-focused,
.canvas-node[data-border][data-shape=predefined-process] .is-selected {
--border-width: 2px;
}
.canvas-node[data-border=dashed][data-shape=predefined-process] .canvas-node-container::before,
.canvas-node[data-border=dashed][data-shape=predefined-process] .canvas-node-container::after {
border-left: var(--border-width) dashed var(--border-color);
}
.canvas-node[data-border=dotted][data-shape=predefined-process] .canvas-node-container::before,
.canvas-node[data-border=dotted][data-shape=predefined-process] .canvas-node-container::after {
border-left: var(--border-width) dotted var(--border-color);
}
.canvas-node[data-border][data-shape=document] .canvas-node-container {
border-top: none;
border-bottom: none;
}
.canvas-edges path[data-path=dotted] {
stroke-dasharray: calc(3px * var(--zoom-multiplier));
}
.canvas-edges path[data-path=short-dashed] {
stroke-dasharray: 9px;
}
.canvas-edges path[data-path=long-dashed] {
stroke-dasharray: 18px;
}
.canvas-edges [data-arrow=triangle-outline] polygon,
.canvas-edges [data-arrow=diamond-outline] polygon,
.canvas-edges [data-arrow=circle-outline] polygon {
fill: var(--canvas-background);
stroke: rgb(var(--canvas-color));
stroke-width: calc(3px * var(--zoom-multiplier));
}
.canvas-edges [data-arrow=thin-triangle] polygon {
fill: transparent;
stroke: rgb(var(--canvas-color));
stroke-width: calc(4px * var(--zoom-multiplier));
}
.canvas.is-exporting {
--zoom-multiplier: 1;
}
.canvas.is-exporting * {
pointer-events: none !important;
transition: none !important;
}
.canvas.is-exporting .collapse-button {
display: none;
}
.canvas.is-exporting #watermark-ac {
z-index: 9999999;
position: absolute;
}
.canvas-wrapper[data-collapsible-groups-feature-enabled=true] .canvas.is-exporting .canvas-node .canvas-group-label {
left: 0;
}
.progress-bar-modal-ac {
margin-top: 0.75em;
}
.progress-bar-modal-ac.error .setting-progress-bar {
color: var(--color-error);
}
.canvas-wrapper[data-disable-font-size-relative-to-zoom=true] {
--zoom-multiplier: 1 !important;
}
.canvas-wrapper.mod-readonly[data-hide-background-grid-when-in-readonly=true] .canvas-background {
visibility: hidden;
}
.collapse-button {
position: absolute;
left: 0;
top: calc(-1 * var(--size-4-1) * var(--zoom-multiplier));
padding: var(--size-4-1) var(--size-4-2);
transform-origin: bottom left;
transform: translate(0, -100%) scale(var(--zoom-multiplier));
border-radius: var(--radius-s);
color: var(--text-muted);
background-color: rgba(var(--canvas-color), 0.1);
font-size: 1.5em;
line-height: 1;
pointer-events: initial;
cursor: pointer;
transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
}
.canvas-wrapper[data-collapsible-groups-feature-enabled=true] .canvas-node .canvas-group-label {
left: calc(40px * var(--zoom-multiplier));
}
.canvas-node[data-collapsed] .canvas-node-container {
display: none;
}
.canvas-node[data-collapsed] .canvas-group-label {
max-width: initial;
}
.canvas-wrapper[data-collapsed-group-preview-on-drag=true][data-is-dragging] .canvas-node[data-collapsed] .canvas-node-container {
display: block;
opacity: 0.5;
border-style: dashed;
}
.canvas-wrapper[data-collapsed-group-preview-on-drag=true][data-is-dragging] .canvas-node[data-collapsed] .canvas-node-container .canvas-node-content {
background-color: transparent;
}
.canvas-node-interaction-layer[data-target-collapsed] .canvas-node-resizer {
pointer-events: none;
cursor: inherit;
}
.canvas-node-interaction-layer[data-target-collapsed] .canvas-node-resizer .canvas-node-connection-point {
display: none;
pointer-events: none;
}
.canvas-wrapper[data-allow-floating-edge-creation=true] .canvas.is-connecting .canvas-node:not(.canvas-node-group)::after {
all: unset;
content: "";
z-index: 100;
position: absolute;
top: 50%;
left: 50%;
width: max(10px, 100% - 50px * var(--zoom-multiplier) * 2);
height: max(10px, 100% - 50px * var(--zoom-multiplier) * 2);
transform: translate(-50%, -50%);
border-radius: var(--radius-m);
outline: calc(4px * var(--zoom-multiplier)) dashed hsla(var(--color-accent-hsl), 0.5);
}
.canvas-wrapper[data-allow-floating-edge-creation=true] .canvas.is-connecting .canvas-node:not(.canvas-node-group).hovering-floating-edge-zone::after {
outline-color: var(--color-accent);
outline-style: solid;
background-color: hsla(var(--color-accent-hsl), 0.1);
}
.canvas-wrapper[data-focus-mode-enabled=true] .canvas:has(.canvas-node.is-focused) .canvas-node:not(.is-focused) {
filter: blur(5px);
}
.canvas-wrapper[data-focus-mode-enabled=true] .canvas:has(.canvas-node.is-focused) .canvas-edges {
filter: blur(5px);
}
.canvas-wrapper[data-focus-mode-enabled=true] .canvas:has(.canvas-node.is-focused) .canvas-path-label-wrapper {
filter: blur(5px);
}
.canvas-wrapper.presentation-mode .canvas-controls {
visibility: hidden;
}
.canvas-wrapper.presentation-mode .canvas-card-menu {
visibility: hidden;
}
.canvas-wrapper:not(.presentation-mode) .canvas-node[data-is-start-node=true]::before {
content: "Start";
position: absolute;
top: calc(-1 * var(--size-4-1) * var(--zoom-multiplier));
right: 0;
transform: translate(0, -100%) scale(var(--zoom-multiplier));
transform-origin: bottom right;
max-width: calc(100% / var(--zoom-multiplier));
padding: var(--size-4-1) var(--size-4-2);
font-size: 1em;
border-radius: var(--radius-s);
color: var(--color-green);
background-color: rgba(var(--color-green-rgb), 0.1);
}
.canvas-node[data-is-portal-loaded=true] {
pointer-events: all;
}
.canvas-node[data-is-portal-loaded=true]:not(.is-focused) {
pointer-events: none;
}
.canvas-node[data-is-portal-loaded=true]:not(.is-focused) .canvas-node-label {
pointer-events: all;
}
.canvas-node[data-is-portal-loaded=true] .canvas-node-container {
background-color: transparent;
border-style: dashed;
}
.canvas-node[data-is-portal-loaded=true] .canvas-node-container .canvas-node-content {
display: none;
}
.canvas-node-interaction-layer[data-is-from-portal=true] .canvas-node-resizer {
pointer-events: none;
cursor: inherit;
}
.canvas-node-interaction-layer[data-is-from-portal=true] .canvas-node-resizer .canvas-node-connection-point {
pointer-events: all;
}
+27
View File
@@ -0,0 +1,27 @@
{
"renderNullAs": "\\-",
"taskCompletionTracking": false,
"taskCompletionUseEmojiShorthand": false,
"taskCompletionText": "completion",
"taskCompletionDateFormat": "yyyy-MM-dd",
"recursiveSubTaskCompletion": false,
"warnOnEmptyResult": true,
"refreshEnabled": true,
"refreshInterval": 100,
"defaultDateFormat": "yyyy-MM-dd",
"defaultDateTimeFormat": "yyyy-MM-dd HH:mm:ss",
"maxRecursiveRenderDepth": 4,
"tableIdColumnName": "File",
"tableGroupColumnName": "Group",
"showResultCount": true,
"allowHtml": true,
"inlineQueryPrefix": "=",
"inlineJsQueryPrefix": "$=",
"inlineQueriesInCodeblocks": true,
"enableInlineDataview": true,
"enableDataviewJs": true,
"enableInlineDataviewJs": true,
"prettyRenderInlineFields": true,
"prettyRenderInlineFieldsInLivePreview": true,
"dataviewJsKeyword": "dataviewjs"
}
+20876
View File
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"id":"dataview","name":"Dataview","version":"0.5.68","minAppVersion":"0.13.11","description":"Complex data views for the data-obsessed.","author":"Michael Brenan <blacksmithgu@gmail.com>","authorUrl":"https://github.com/blacksmithgu","helpUrl":"https://blacksmithgu.github.io/obsidian-dataview/","isDesktopOnly":false}
+141
View File
@@ -0,0 +1,141 @@
.block-language-dataview {
overflow-y: auto;
}
/*****************/
/** Table Views **/
/*****************/
/* List View Default Styling; rendered internally as a table. */
.table-view-table {
width: 100%;
}
.table-view-table > thead > tr, .table-view-table > tbody > tr {
margin-top: 1em;
margin-bottom: 1em;
text-align: left;
}
.table-view-table > tbody > tr:hover {
background-color: var(--table-row-background-hover);
}
.table-view-table > thead > tr > th {
font-weight: 700;
font-size: larger;
border-top: none;
border-left: none;
border-right: none;
border-bottom: solid;
max-width: 100%;
}
.table-view-table > tbody > tr > td {
text-align: left;
border: none;
font-weight: 400;
max-width: 100%;
}
.table-view-table ul, .table-view-table ol {
margin-block-start: 0.2em !important;
margin-block-end: 0.2em !important;
}
/** Rendered value styling for any view. */
.dataview-result-list-root-ul {
padding: 0em !important;
margin: 0em !important;
}
.dataview-result-list-ul {
margin-block-start: 0.2em !important;
margin-block-end: 0.2em !important;
}
/** Generic grouping styling. */
.dataview.result-group {
padding-left: 8px;
}
/*******************/
/** Inline Fields **/
/*******************/
.dataview.inline-field-key {
padding-left: 8px;
padding-right: 8px;
font-family: var(--font-monospace);
background-color: var(--background-primary-alt);
color: var(--nav-item-color-selected);
}
.dataview.inline-field-value {
padding-left: 8px;
padding-right: 8px;
font-family: var(--font-monospace);
background-color: var(--background-secondary-alt);
color: var(--nav-item-color-selected);
}
.dataview.inline-field-standalone-value {
padding-left: 8px;
padding-right: 8px;
font-family: var(--font-monospace);
background-color: var(--background-secondary-alt);
color: var(--nav-item-color-selected);
}
/***************/
/** Task View **/
/***************/
.dataview.task-list-item, .dataview.task-list-basic-item {
margin-top: 3px;
margin-bottom: 3px;
transition: 0.4s;
}
.dataview.task-list-item:hover, .dataview.task-list-basic-item:hover {
background-color: var(--text-selection);
box-shadow: -40px 0 0 var(--text-selection);
cursor: pointer;
}
/*****************/
/** Error Views **/
/*****************/
div.dataview-error-box {
width: 100%;
min-height: 150px;
display: flex;
align-items: center;
justify-content: center;
border: 4px dashed var(--background-secondary);
}
.dataview-error-message {
color: var(--text-muted);
text-align: center;
}
/*************************/
/** Additional Metadata **/
/*************************/
.dataview.small-text {
font-size: smaller;
color: var(--text-muted);
margin-left: 3px;
}
.dataview.small-text::before {
content: "(";
}
.dataview.small-text::after {
content: ")";
}
+19
View File
@@ -0,0 +1,19 @@
{
"isBT": false,
"isShowNum": false,
"linkWords": "",
"maxScroll": 50,
"version": "0.6.6",
"hColor": "",
"bColor": "",
"hColor1": "#F36208",
"hColor2": "#81B300",
"hColor3": "#2485E3",
"hColor4": "#C32E94",
"hColor5": "#13C6C3",
"bColor1": "#FFB78B",
"bColor2": "#CDF469",
"bColor3": "#A0CCF6",
"bColor4": "#F0A7D8",
"bColor5": "#ADEFEF"
}
File diff suppressed because one or more lines are too long
+10
View File
@@ -0,0 +1,10 @@
{
"id":"Enhanced-editing",
"name":"增强编辑",
"version":"0.6.6",
"minAppVersion":"0.14.0",
"description":"增强大量文本编辑功能,如(允许批量)转换内部链接、转换Markdown或Html语法(支持格式刷)、智能化补充括号、智能化粘贴表格或代码、(批量)增减空行或空格、修复错误语法或标点等。",
"author":"obsidian-canzi",
"authorUrl":"https://github.com/obsidian-canzi/Enhanced-editing",
"isDesktopOnly":false
}
+34
View File
@@ -0,0 +1,34 @@
{
"tileSets": [
{
"id": "tencent-vector",
"name": "腾讯矢量",
"lightTiles": "http://127.0.0.1:18090/tile?z={z}&x={x}&y={y}&type=vector",
"darkTiles": "http://127.0.0.1:18090/tile?z={z}&x={x}&y={y}&type=vector"
},
{
"id": "gaode-satellite",
"name": "高德卫星影像",
"lightTiles": "http://127.0.0.1:18090/tile?z={z}&x={x}&y={y}&type=sate",
"darkTiles": "http://127.0.0.1:18090/tile?z={z}&x={x}&y={y}&type=sate"
},
{
"id": "esri-imagery",
"name": "ESRI World Imagery",
"lightTiles": "http://127.0.0.1:18090/tile?z={z}&x={x}&y={y}&type=esri",
"darkTiles": "http://127.0.0.1:18090/tile?z={z}&x={x}&y={y}&type=esri"
},
{
"id": "tencent-traffic",
"name": "腾讯路况",
"lightTiles": "http://127.0.0.1:18090/tile?z={z}&x={x}&y={y}&type=traffic",
"darkTiles": "http://127.0.0.1:18090/tile?z={z}&x={x}&y={y}&type=traffic"
},
{
"id": "openfreemap-bright",
"name": "OpenFreeMap 亮色",
"lightTiles": "https://tiles.openfreemap.org/styles/bright",
"darkTiles": "https://tiles.openfreemap.org/styles/dark"
}
]
}
+761
View File
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"id":"maps","name":"Maps","version":"0.1.6","minAppVersion":"1.10.0","description":"Adds a map layout to bases so you can display notes as an interactive map view.","author":"Obsidian","authorUrl":"https://obsidian.md","fundingUrl":"https://obsidian.md/pricing","isDesktopOnly":false}
+477
View File
@@ -0,0 +1,477 @@
body {
--bases-map-embed-height: 400px;
--bases-map-marker-background: var(--interactive-accent);
--bases-map-marker-icon-color: white;
--bases-map-blend-mode: normal;
}
/* Settings styles */
.map-tileset-list {
margin: 1em 0;
}
.mobile-option-setting-item-description {
font-size: var(--font-smaller);
color: var(--text-muted);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
margin-top: 0.25em;
}
.bases-view[data-view-type="map"] {
--bases-embed-border-width: 0px;
--bases-view-padding: 0;
position: relative;
}
.workspace-leaf-content[data-type="bases"] {
.bases-map {
height: 100%;
}
}
.bases-map-container {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
}
.bases-map {
width: 100%;
background-color: var(--background-primary);
height: var(--bases-map-embed-height);
overflow: hidden;
position: relative;
-webkit-tap-highlight-color: rgb(0, 0, 0, 0);
canvas {
mix-blend-mode: var(--bases-map-blend-mode);
}
&.is-loading {
display: flex;
align-items: center;
justify-content: center;
&::before {
color: var(--text-muted);
}
}
}
.bases-map-popup {
min-width: 200px;
max-width: 300px;
.bases-map-popup-title {
--link-weight: calc(var(--font-weight) + var(--bold-modifier));
font-size: var(--font-ui-medium);
padding: var(--size-4-2);
a {
color: var(--text-normal);
text-decoration: none;
&:hover {
color: var(--text-accent);
}
}
}
.bases-map-popup-properties {
display: flex;
flex-direction: column;
gap: var(--size-4-2);
}
}
.bases-map-popup-property {
font-size: var(--font-ui-small);
&:last-child {
padding-bottom: var(--size-4-2);
}
}
.bases-map-popup-property-label {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
padding: 0 var(--size-4-2);
}
.bases-map-popup-property-value {
color: var(--text-normal);
word-break: break-word;
padding: 0 var(--size-4-2);
}
.maplibregl-ctrl-attrib {
background-color: rgba(var(--mono-rgb-0), 0.8);
color: var(--text-muted);
font-size: var(--font-ui-smaller);
padding: 1px 8px;
a {
color: var(--text-muted);
text-decoration: none;
}
a:hover {
color: var(--text-muted);
text-decoration: underline;
}
}
.maplibregl-popup-content {
background-color: var(--background-primary);
color: var(--text-normal);
border-radius: var(--radius-m);
box-shadow: var(--shadow-s);
border: var(--modal-border-width) solid var(--modal-border-color);
}
.maplibregl-canvas {
position: absolute;
left: 0;
top: 0;
}
.maplibregl-ctrl-group button.maplibregl-ctrl-compass {
touch-action: none;
}
.maplibregl-canvas-container.maplibregl-interactive,
.maplibregl-ctrl-group button.maplibregl-ctrl-compass {
user-select: none;
}
.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer {
cursor: pointer;
}
.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,
.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas {
touch-action: pan-x pan-y;
}
.maplibregl-canvas-container.maplibregl-touch-drag-pan,
.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas {
touch-action: pinch-zoom;
}
.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,
.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas {
touch-action: none;
}
.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,
.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas {
touch-action: pan-x pan-y;
}
.maplibregl-ctrl-top-left,
.maplibregl-ctrl-top-right,
.maplibregl-ctrl-bottom-left,
.maplibregl-ctrl-bottom-right {
position: absolute;
pointer-events: none;
z-index: 2;
display: flex;
gap: var(--size-4-1);
flex-direction: column;
}
.maplibregl-ctrl-top-left {
top: var(--size-4-2);
left: var(--size-4-2);
}
.maplibregl-ctrl-top-right {
top: var(--size-4-2);
right: var(--size-4-2);
}
.maplibregl-ctrl-bottom-left {
bottom: var(--size-4-2);
left: var(--size-4-2);
}
.maplibregl-ctrl-bottom-right {
right: var(--size-4-2);
bottom: var(--size-4-2);
}
.maplibregl-ctrl {
pointer-events: auto;
}
.maplibregl-ctrl button .maplibregl-ctrl-icon {
display: block;
width: 100%;
height: 100%;
background-repeat: no-repeat;
background-position: center center;
}
.maplibregl-ctrl button:disabled {
cursor: not-allowed;
}
.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon {
opacity: 0.25;
}
.maplibregl-ctrl-group button:focus:only-child {
border-radius: inherit;
}
.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon {
animation: maplibregl-spin 2s infinite linear;
}
@keyframes maplibregl-spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
a.maplibregl-ctrl-logo {
width: 88px;
height: 23px;
margin: 0 0 -4px -4px;
display: block;
background-repeat: no-repeat;
cursor: pointer;
overflow: hidden;
background-image: svg-load("svg/maplibregl-ctrl-logo.svg");
}
a.maplibregl-ctrl-logo.maplibregl-compact {
width: 14px;
}
.maplibregl-ctrl.maplibregl-ctrl-attrib {
padding: 0 5px;
background-color: var(--background-primary);
margin: 0;
}
@media screen {
.maplibregl-ctrl-attrib.maplibregl-compact {
min-height: 20px;
padding: 2px 24px 2px 0;
margin: 10px;
position: relative;
display: flex;
align-items: center;
background-color: rgba(var(--mono-rgb-0), 0.2);
color: var(--text-faint);
border-radius: 12px;
box-sizing: content-box;
}
.maplibregl-ctrl-attrib.maplibregl-compact-show {
padding: 2px 28px 2px 8px;
visibility: visible;
}
.maplibregl-ctrl-top-left > .maplibregl-ctrl-attrib.maplibregl-compact-show,
.maplibregl-ctrl-bottom-left > .maplibregl-ctrl-attrib.maplibregl-compact-show {
padding: 2px 8px 2px 28px;
border-radius: 12px;
}
.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner {
display: none;
}
.maplibregl-ctrl-attrib-button {
display: none;
cursor: pointer;
position: absolute;
background-image: svg-load("svg/maplibregl-ctrl-attrib.svg");
background-color: rgb(255, 255, 255, 0.5);
width: 24px;
height: 24px;
box-sizing: border-box;
border-radius: 12px;
outline: none;
top: 0;
right: 0;
border: 0;
}
.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button {
appearance: none;
list-style: none;
}
.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker {
display: none;
}
.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button,
.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button {
left: 0;
}
.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,
.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner {
display: block;
}
.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button {
background-color: rgb(0, 0, 0, 0.05);
}
.maplibregl-ctrl-bottom-right > .maplibregl-ctrl-attrib.maplibregl-compact::after {
bottom: 0;
right: 0;
}
.maplibregl-ctrl-top-right > .maplibregl-ctrl-attrib.maplibregl-compact::after {
top: 0;
right: 0;
}
.maplibregl-ctrl-top-left > .maplibregl-ctrl-attrib.maplibregl-compact::after {
top: 0;
left: 0;
}
.maplibregl-ctrl-bottom-left > .maplibregl-ctrl-attrib.maplibregl-compact::after {
bottom: 0;
left: 0;
}
}
@media screen and (forced-colors: active) {
.maplibregl-ctrl-attrib.maplibregl-compact::after {
background-image: svg-load("svg/maplibregl-ctrl-attrib.svg", fill=#fff);
}
}
@media screen and (forced-colors: active) and (prefers-color-scheme: light) {
.maplibregl-ctrl-attrib.maplibregl-compact::after {
background-image: svg-load("svg/maplibregl-ctrl-attrib.svg");
}
}
.maplibregl-attrib-empty {
display: none;
}
.maplibregl-ctrl-scale {
background-color: rgb(255, 255, 255, 0.75);
border-width: medium 2px 2px;
border-style: none solid solid;
border-color: #333;
padding: 0 5px;
color: #333;
box-sizing: border-box;
}
.maplibregl-popup {
position: absolute;
top: 0;
left: 0;
display: flex;
will-change: transform;
pointer-events: none;
}
.maplibregl-popup-anchor-top,
.maplibregl-popup-anchor-top-left,
.maplibregl-popup-anchor-top-right {
flex-direction: column;
}
.maplibregl-popup-anchor-bottom,
.maplibregl-popup-anchor-bottom-left,
.maplibregl-popup-anchor-bottom-right {
flex-direction: column-reverse;
}
.maplibregl-popup-anchor-left {
flex-direction: row;
}
.maplibregl-popup-anchor-right {
flex-direction: row-reverse;
}
.maplibregl-popup-close-button {
position: absolute;
right: 0;
top: 0;
border: 0;
border-radius: 0 3px 0 0;
cursor: pointer;
background-color: transparent;
}
.maplibregl-popup-close-button:hover {
background-color: rgb(0, 0, 0, 0.05);
}
.maplibregl-popup-content {
position: relative;
pointer-events: auto;
}
.maplibregl-popup-anchor-top-left .maplibregl-popup-content {
border-top-left-radius: 0;
}
.maplibregl-popup-anchor-top-right .maplibregl-popup-content {
border-top-right-radius: 0;
}
.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content {
border-bottom-left-radius: 0;
}
.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content {
border-bottom-right-radius: 0;
}
.maplibregl-popup-track-pointer {
display: none;
}
.maplibregl-popup-track-pointer * {
pointer-events: none;
user-select: none;
}
.maplibregl-map:hover .maplibregl-popup-track-pointer {
display: flex;
}
.maplibregl-map:active .maplibregl-popup-track-pointer {
display: none;
}
.maplibregl-marker {
position: absolute;
top: 0;
left: 0;
will-change: transform;
transition: opacity 0.2s;
}
.maplibregl-crosshair,
.maplibregl-crosshair .maplibregl-interactive,
.maplibregl-crosshair .maplibregl-interactive:active {
cursor: crosshair;
}
.maplibregl-boxzoom {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
background: var(--background-primary);
border: 2px dotted #202020;
opacity: 0.5;
}
+5
View File
@@ -0,0 +1,5 @@
{
"autoReload": true,
"createNewSplitTab": true,
"themeDir": "Templates/MarpTheme"
}
+3447
View File
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"id":"marp","name":"Marp","version":"1.5.0","minAppVersion":"1.0.0","description":"Plugin for using Marp on Obsidian.","author":"JichouP","authorUrl":"https://github.com/JichouP","isDesktopOnly":true}
+31
View File
@@ -0,0 +1,31 @@
{
"__VERSION__": 2,
"release.previous-version": "4.1.5",
"release.show-release-notes": true,
"playback.default-volume": 100,
"playback.speed-step": 0.1,
"playback.preserve-pitch": true,
"playback.track.default-enabled": false,
"playback.track.folder-path": null,
"playback.track.default-languages": [],
"playback.screenshot.format": "image/jpeg",
"playback.screenshot.quality": 0.8,
"playback.screenshot.folder-path": null,
"note.embed.load-strategy": "eager",
"note.embed.handle-hosted": true,
"note.embed.handle-direct-url": true,
"link.click-behavior": "split",
"link.altclick-behavior": "window",
"link.handle-hosted": true,
"link.handle-direct-url": true,
"link.hosted-prefer": "browser",
"note.template.timestamp": "\n- {{TIMESTAMP}} ",
"note.template.timestamp-offset": 0,
"note.template.timestamp-embed": "\n- !{{CLIP}} ",
"note.template.timestamp-embed-linktext": "{{TIMESTAMP}}|400",
"note.template.screenshot": "\n- !{{SCREENSHOT}} {{TIMESTAMP}} ",
"note.template.screenshot-embed": "{{TITLE}}{{DURATION}}|50",
"note.template.insert-at": "after-cursor",
"media-lib.folder-path": "media-lib",
"cache.cover-image.max-size-mb": 100
}
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"author":"AidenLx","minAppVersion":"1.8.9","name":"Media Extended","version":"4.1.5","authorUrl":"https://aidenlx.site","fundingUrl":{"GitHub Sponsor":"https://github.com/sponsors/aidenlx"},"description":"Media(Video/Audio) Playback Enhancement for Obsidian.md","id":"media-extended","isDesktopOnly":true}
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
{"id":"mermaid-tools","name":"Mermaid Tools","version":"1.3.0","minAppVersion":"1.4.0","description":"Improved Mermaid.js experience for Obsidian: visual toolbar with common elements & more","author":"dartungar","authorUrl":"https://dartungar.com","fundingUrl":"https://www.paypal.com/paypalme/dartungar","isDesktopOnly":false}
+149
View File
@@ -0,0 +1,149 @@
.mermaid-toolbar-container, .mermaid-toolbar-container * {
max-width: 100%;
max-height: 100%;
}
.mermaid-toolbar-top-row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
}
.mermaid-toolbar-elements-container {
padding-top: 1rem;
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
.mermaid-toolbar-element {
font-size: var(--font-ui-small);
cursor: pointer;
padding: 2px 2px 2px 5px;
border-radius: 3px;
flex: 1 0 auto;
}
.mermaid-toolbar-element:hover {
background-color: var(--interactive-hover);
}
.mermaid-tools-element-category-header::before {
content: "▼ ";
font-size: 70%;
padding-bottom: 2px;
}
.mermaid-tools-element-category-header.collapsed::before {
content: "▶ ";
font-size: 70%;
padding-bottom: 2px;
}
.mermaid-tools-element-container {
padding-top: 6px;
border-bottom: var(--border-width) solid var(--color-base-35);
}
.mermaid-tools-edit-element-modal > div {
margin-bottom: 0.5rem;
}
.mermaid-tools-edit-element-modal label {
margin-right: 1rem;
}
/* Custom Category Management Styles */
.mermaid-tools-category-management {
margin-bottom: 2rem;
padding: 1rem;
border: 1px solid var(--color-base-25);
border-radius: 8px;
background-color: var(--color-base-00);
}
.mermaid-tools-category-management h3 {
margin-top: 1rem;
margin-bottom: 0.5rem;
color: var(--text-accent);
}
.mermaid-tools-category-management button.mod-cta {
margin-bottom: 1rem;
}
/* Edit Category Modal Styles */
.mermaid-tools-edit-category-modal {
min-width: 500px;
}
.mermaid-tools-edit-category-modal .setting-item {
padding: 8px 0;
border: none;
}
.mermaid-tools-edit-category-modal .setting-item-info {
flex-grow: 1;
margin-right: 12px;
}
.mermaid-tools-edit-category-modal .setting-item-name {
font-weight: 600;
color: var(--text-normal);
}
.mermaid-tools-edit-category-modal .setting-item-description {
color: var(--text-muted);
font-size: var(--font-ui-smaller);
}
.mermaid-tools-edit-category-modal input,
.mermaid-tools-edit-category-modal textarea {
width: 100%;
padding: 4px 8px;
border: 1px solid var(--color-base-30);
border-radius: 4px;
background-color: var(--color-base-00);
color: var(--text-normal);
}
.mermaid-tools-edit-category-modal input:focus,
.mermaid-tools-edit-category-modal textarea:focus {
border-color: var(--color-accent);
outline: none;
box-shadow: 0 0 0 2px var(--color-accent-2);
}
.modal-button-container {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
padding-top: 16px;
border-top: 1px solid var(--color-base-25);
}
.modal-button-container button {
padding: 6px 16px;
border: 1px solid var(--color-base-30);
border-radius: 4px;
background-color: var(--color-base-10);
color: var(--text-normal);
cursor: pointer;
font-size: var(--font-ui-small);
}
.modal-button-container button:hover {
background-color: var(--color-base-20);
}
.modal-button-container button.mod-cta {
background-color: var(--color-accent);
color: var(--text-on-accent);
border-color: var(--color-accent);
}
.modal-button-container button.mod-cta:hover {
background-color: var(--color-accent-hover);
}
+25
View File
@@ -0,0 +1,25 @@
{
"ProgressProperties": {
"enabled": false,
"properties": []
},
"IgnoredProperties": {
"enabled": false,
"properties": []
},
"AutoProperties": {
"enabled": false,
"properties": []
},
"EditMode": {
"mode": "All Single",
"properties": []
},
"KanbanHelper": {
"enabled": true,
"boards": []
},
"UIElements": {
"enabled": true
}
}
+5538
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
{"id":"metaedit","name":"MetaEdit","version":"1.8.2","minAppVersion":"1.4.1","description":"MetaEdit helps you manage your metadata.","author":"Christian B. B. Houmann","authorUrl":"https://bagerbach.com","isDesktopOnly":false}
+15
View File
@@ -0,0 +1,15 @@
.centerSettingContent {
display: grid;
align-items: center;
justify-content: center;
}
.not-a-button {
background: none;
color: inherit;
border: none;
padding: 0;
font: inherit;
cursor: pointer;
outline: inherit;
}
+12
View File
@@ -0,0 +1,12 @@
{
"autosuggestToggleLink": true,
"autocompleteTriggerPhrase": "@",
"isAutosuggestEnabled": true,
"format": "YYYY-MM-DD",
"timeFormat": "HH:mm",
"separator": " ",
"weekStart": "locale-default",
"modalToggleTime": false,
"modalToggleLink": false,
"modalMomentFormat": "YYYY-MM-DD HH:mm"
}
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"id":"nldates-obsidian","name":"Natural Language Dates","description":"Create date-links based on natural language","version":"0.6.2","author":"Argentina Ortega Sainz","authorUrl":"https://argentinaos.com/","isDesktopOnly":false,"minAppVersion":"1.0.0"}
+13
View File
@@ -0,0 +1,13 @@
{
"includeFirstLineAsNoteHeading": false,
"excludeFirstLineInNote": false,
"openNewNote": true,
"headingFormat": "#",
"newFileLocation": 2,
"customFolder": "MyNotes",
"fileNamePrefix": "",
"transcludeByDefault": false,
"noteLinkTemplate": "",
"refactoredNoteTemplate": "",
"normalizeHeaderLevels": false
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"id":"note-refactor-obsidian","name":"Note Refactor","version":"1.8.2","description":"Extract note content into new notes and split notes","isDesktopOnly":false,"js":"main.js","css":"style.css","author":"lynchjames"}
+7
View File
@@ -0,0 +1,7 @@
.note-refactor-filename .setting-item-info {
margin-right: 0;
}
.note-refactor-filename .setting-item-name {
padding-top: 10px;
}
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"id":"obsidian-advanced-uri","name":"Advanced URI","description":"Advanced modes for Obsidian URI","isDesktopOnly":false,"js":"main.js","fundingUrl":"https://ko-fi.com/vinzent","version":"1.46.0","author":"Vinzent","authorUrl":"https://github.com/Vinzent03"}
+32
View File
@@ -0,0 +1,32 @@
{
"clippers": [
{
"type": "daily",
"name": "",
"clipperId": "7d99b9d7-0fc4-4cc8-826c-57d3aef58746",
"createdAt": "2025-10-04T13:36:43.957Z",
"vaultName": "2023card",
"notePath": "",
"heading": "",
"headingLevel": 1,
"tags": "clips",
"timestampFormat": "HH:mm",
"dateFormat": "YYYY-MM-DD",
"openOnWrite": false,
"position": "append",
"entryTemplateLocation": "Templates/Clipping Template.md",
"markdownSettings": {
"h1": "##",
"h2": "##",
"h3": "###",
"h4": "####",
"h5": "#####",
"h6": "######"
},
"advancedStorage": true,
"advancedStorageFolder": "clippings",
"captureComments": false
}
],
"version": 2
}
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"id":"obsidian-clipper","name":"Clipper","version":"1.0.0-beta.9","minAppVersion":"0.15.0","description":"This plugin helps you capture highlights from the web.","author":"John Christopher","authorUrl":"https://github.com/jgchristopher/","fundingUrl":"https://www.buymeacoffee.com/jgchristopher","isDesktopOnly":false}
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Error><Code>AuthenticationFailed</Code><Message>Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
RequestId:5b831c36-801e-0056-4963-f410ba000000
Time:2025-07-14T02:00:13.5995331Z</Message></Error>
+42
View File
@@ -0,0 +1,42 @@
{
"domain": "cubox.pro",
"apiKey": "akzEwIcniNJ",
"folderFilter": [
"all_folders"
],
"typeFilter": [
"Article",
"Snippet",
"Memo",
"Image",
"Audio",
"Video",
"File"
],
"statusFilter": [
"annotated",
"starred"
],
"isRead": false,
"isStarred": true,
"isAnnotated": false,
"tagsFilter": [
"all_items"
],
"syncFrequency": 0,
"targetFolder": "cubox",
"filenameTemplate": "{{{title}}}-{{{create_time}}}",
"frontMatterVariables": [
"id",
"cubox_url",
"url",
"tags"
],
"contentTemplate": "# {{{title}}}\n\n{{{description}}}\n\n[Read in Cubox]({{{cubox_url}}}) \n[Read Original]({{{url}}}) \n\n---\n\n{{#highlights.length}}\n## Annotations \n\n{{#highlights}}\n> {{{text}}} \n\n{{#note}}\n{{{note}}}\n{{/note}}\n[Link]({{{cubox_url}}}) \n\n{{/highlights}}\n{{/highlights.length}}",
"highlightInContent": true,
"dateFormat": "yyyy-MM-dd",
"lastSyncTime": 1766283645451,
"lastSyncCardId": "7400425612076125087",
"lastCardUpdateTime": "2025-12-17T11:44:00.171+0800",
"syncing": false
}
File diff suppressed because one or more lines are too long
+9
View File
@@ -0,0 +1,9 @@
{
"id": "cubox-sync",
"name": "Cubox",
"version": "1.0.6",
"minAppVersion": "0.15.0",
"description": "Sync your Cubox articles & annotations",
"author": "delphi-2015",
"isDesktopOnly": false
}
+213
View File
@@ -0,0 +1,213 @@
/*
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.
*/
.modal-footer {
display: flex;
justify-content: flex-end;
padding: 16px;
border-top: 1px solid var(--background-modifier-border);
}
.modal-footer button {
margin-left: 8px;
}
.modal-footer button.mod-cta {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
/* 变量列表样式优化 */
.cubox-variables-container {
margin: 20px 0;
color: var(--text-muted);
}
.cubox-variables-title {
font-weight: 500;
margin-bottom: 8px;
color: var(--text-normal);
}
.cubox-variables-list {
margin: 0;
padding-left: 15px;
list-style-type: disc;
}
.cubox-variables-list li {
margin-bottom: 4px;
line-height: 1.2;
}
.highlight-sublist {
margin-top: 4px;
padding-left: 15px;
list-style-type: disc;
}
.cubox-reference {
margin-top: 10px;
font-size: 1.0em;
}
.reference-link {
color: var(--text-accent);
text-decoration: none;
}
.reference-link:hover {
text-decoration: underline;
}
/* Modal Dialog Styles */
.cubox-modal {
display: flex;
flex-direction: column;
height: 100%;
}
.cubox-list-container {
flex-grow: 1;
overflow-y: auto;
padding-top: 20px;
padding-right: 10px;
overflow-anchor: none;
scroll-behavior: auto;
height: 100%;
max-height: 65vh;
}
/* Setting item styles for modal dialogs */
.cubox-list-container .setting-item {
position: relative;
padding-left: 36px;
border-radius: 4px;
transition: background-color 0.1s ease;
display: flex;
align-items: center;
min-height: 40px;
box-sizing: border-box;
}
.cubox-list-container .setting-item:hover {
background-color: var(--background-modifier-hover);
}
/* Setting item name styles */
.cubox-list-container .setting-item-name {
display: flex;
align-items: center;
padding: 0;
margin: 0;
}
/* Custom checkbox styles */
.cubox-list-container .setting-item::before {
content: "";
position: absolute;
width: 16px;
height: 16px;
border: 1px solid var(--checkbox-border-color, var(--background-modifier-border));
border-radius: 3px;
background-color: var(--checkbox-color, var(--background-primary));
box-sizing: border-box;
}
/* First child checkbox positioning */
.cubox-list-container .setting-item:first-child::before {
left: 10px;
top: 12px;
}
/* Other items checkbox positioning */
.cubox-list-container .setting-item:not(:first-child)::before {
left: 10px;
top: 50%;
transform: translateY(-50%);
}
/* Selected checkbox state */
.cubox-list-container .setting-item.is-selected::before {
background-color: var(--checkbox-color-checked, var(--interactive-accent));
border-color: var(--checkbox-border-color-checked, var(--interactive-accent));
}
/* Checkmark for selected items */
.cubox-list-container .setting-item.is-selected::after {
content: "";
position: absolute;
width: 5px;
height: 9px;
border-right: 2px solid var(--text-on-accent);
border-bottom: 2px solid var(--text-on-accent);
}
/* First child checkmark positioning */
.cubox-list-container .setting-item:first-child.is-selected::after {
left: 14px;
top: 13px;
transform: rotate(45deg);
}
/* Other items checkmark positioning */
.cubox-list-container .setting-item:not(:first-child).is-selected::after {
left: 14px;
top: 50%;
transform: translateY(-60%) rotate(45deg);
}
/* First item special styling */
.cubox-list-container .setting-item:first-child {
margin-top: 0;
padding-top: 0;
}
.cubox-list-container .setting-item:first-child .setting-item-name {
margin-top: 0;
padding-top: 0;
position: relative;
top: 6px;
font-weight: bold;
}
/* Disabled state styling */
.cubox-list-container .setting-item.is-disabled {
opacity: 0.3;
pointer-events: none;
}
.cubox-list-container .setting-item.is-disabled::before {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
}
.cubox-list-container .setting-item.is-disabled::after {
content: "";
position: absolute;
width: 8px;
height: 2px;
background-color: var(--text-muted);
left: 14px;
top: 50%;
transform: translateY(-50%);
border: none;
}
/* Consistent line height for all items */
.cubox-list-container .setting-item-heading,
.cubox-list-container .setting-item-name {
line-height: normal;
margin: auto 0;
}
/* Override first row bold font for type modal */
.type-list-container .setting-item:first-child .setting-item-name {
font-weight: normal;
}
+41
View File
@@ -0,0 +1,41 @@
{
"frames": [
{
"url": "https://forum.obsidian.md/",
"displayName": "Obsidian Forum",
"icon": "edit",
"hideOnMobile": true,
"addRibbonIcon": true,
"openInCenter": true,
"zoomLevel": 1,
"forceIframe": false,
"customCss": "",
"customJs": ""
},
{
"url": "https://dida365.com/webapp/#q/all/kanban",
"displayName": "滴答清单",
"icon": "",
"hideOnMobile": true,
"addRibbonIcon": false,
"openInCenter": false,
"zoomLevel": 1,
"forceIframe": false,
"customCss": "",
"customJs": ""
},
{
"url": "https://chat.deepseek.com/",
"displayName": "deepseek",
"icon": "eye",
"hideOnMobile": true,
"addRibbonIcon": true,
"openInCenter": false,
"zoomLevel": 1,
"forceIframe": false,
"customCss": "",
"customJs": ""
}
],
"padding": 5
}
+655
View File
@@ -0,0 +1,655 @@
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
var __export = (target, all) => {
__markAsModule(target);
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __reExport = (target, module2, desc) => {
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
for (let key of __getOwnPropNames(module2))
if (!__hasOwnProp.call(target, key) && key !== "default")
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
}
return target;
};
var __toModule = (module2) => {
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
};
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());
});
};
// src/main.ts
__export(exports, {
default: () => CustomFramesPlugin
});
var import_obsidian4 = __toModule(require("obsidian"));
// src/frame.ts
var import_obsidian = __toModule(require("obsidian"));
// src/settings.ts
var defaultSettings = {
frames: [],
padding: 5
};
var presets = {
"obsidian": {
url: "https://forum.obsidian.md/",
displayName: "Obsidian Forum",
icon: "edit",
hideOnMobile: true,
addRibbonIcon: true,
openInCenter: true,
zoomLevel: 1,
forceIframe: false,
customCss: "",
customJs: ""
},
"detexify": {
url: "https://detexify.kirelabs.org/classify.html",
displayName: "Detexify",
icon: "type",
hideOnMobile: true,
addRibbonIcon: true,
openInCenter: false,
zoomLevel: 0.95,
forceIframe: false,
customCss: `/* hide info clutter and ad banner */
#classify--info-area,
.adsbygoogle {
display: none !important
}`,
customJs: ""
},
"calendar": {
url: "https://calendar.google.com/calendar",
displayName: "Google Calendar",
icon: "calendar",
hideOnMobile: true,
addRibbonIcon: true,
openInCenter: true,
zoomLevel: 1,
forceIframe: false,
customCss: `/* hide the menu bar "Calendar" text and remove minimum width */
div[style*="min-width: 238px"] {
min-width: 0 !important;
padding-right: 0 !important;
}
div[style*="min-width: 238px"] span[role*="heading"] {
display: none !important;
}`,
customJs: ""
},
"keep": {
url: "https://keep.google.com",
displayName: "Google Keep",
icon: "files",
hideOnMobile: true,
addRibbonIcon: false,
openInCenter: false,
zoomLevel: 1,
forceIframe: false,
customCss: `/* hide the menu bar, the "Keep" text and the Google Apps button */
html > body > div:nth-child(2) > div:nth-child(2) > div:first-child,
html > body > div:first-child > header:first-child > div > div:first-child > div > div:first-child > a:first-child > span,
html > body > div:first-child > header:first-child > div:nth-child(2) > div:first-child > div:first-child,
html > body > div:first-child > header:first-child > div:nth-child(2) > div:nth-child(3) > div:first-child > div:first-child > div:first-child {
display: none !important;
}
html > body > div:first-child > header:first-child > div > div:first-child > div > div:first-child > a:first-child {
cursor: default;
}`,
customJs: ""
},
"todoist": {
url: "https://todoist.com",
displayName: "Todoist",
icon: "list-checks",
hideOnMobile: true,
addRibbonIcon: false,
openInCenter: false,
zoomLevel: 1,
forceIframe: false,
customCss: `/* hide the help, home, search, and productivity overview buttons, create extra space, and prevent toast pop-up from acting weird */
[aria-label="Go to Home view"], #quick_find, [aria-label="Productivity"], [aria-label="Help & Feedback"] {
display: none !important;
}
.view_content {
padding-left: 15px;
}
.view_header {
padding-left: 15px;
padding-top: 10px;
}
.undo_toast {
width: 95%;
}`,
customJs: ""
},
"notion": {
url: "https://www.notion.so/",
displayName: "Notion",
icon: "box",
hideOnMobile: true,
addRibbonIcon: true,
openInCenter: true,
zoomLevel: 1,
forceIframe: false,
customCss: "",
customJs: ""
},
"twitter": {
url: "https://twitter.com",
displayName: "Twitter",
icon: "twitter",
hideOnMobile: true,
addRibbonIcon: false,
openInCenter: false,
zoomLevel: 1,
forceIframe: false,
customCss: "",
customJs: ""
},
"tasks": {
url: "https://tasks.google.com/embed/?origin=https://calendar.google.com&fullWidth=1",
displayName: "Google Tasks",
icon: "list-checks",
hideOnMobile: true,
addRibbonIcon: false,
openInCenter: false,
zoomLevel: 1,
forceIframe: false,
customCss: "",
customJs: ""
},
"readwise-daily-review": {
"url": "https://readwise.io/dailyreview",
"displayName": "Readwise Daily Review",
"icon": "highlighter",
"hideOnMobile": true,
"addRibbonIcon": false,
"openInCenter": false,
"zoomLevel": 1,
"forceIframe": false,
"customCss": ".fixed-nav {\n display: none !important;\n}",
"customJs": ""
}
};
function getIcon(settings) {
return settings.icon ? `lucide-${settings.icon}` : "documents";
}
function getId(settings) {
return settings.displayName.toLowerCase().replace(/\s/g, "-");
}
// src/frame.ts
var CustomFrame = class {
constructor(settings, data) {
this.settings = settings;
this.data = data;
}
create(parent, additionalStyle = void 0, urlSuffix = void 0) {
let style = `padding: ${this.settings.padding}px;`;
if (additionalStyle)
style += additionalStyle;
if (import_obsidian.Platform.isDesktopApp && !this.data.forceIframe) {
let frameDoc = parent.doc;
this.frame = frameDoc.createElement("webview");
this.frame.partition = "persist:vault-" + app.appId;
parent.appendChild(this.frame);
this.frame.setAttribute("allowpopups", "");
this.frame.addEventListener("dom-ready", () => {
this.frame.setZoomFactor(this.data.zoomLevel);
this.frame.insertCSS(this.data.customCss);
this.frame.executeJavaScript(this.data.customJs);
});
this.frame.addEventListener("destroyed", () => {
if (frameDoc != parent.doc) {
this.frame.detach();
this.create(parent, additionalStyle, urlSuffix);
}
});
} else {
this.frame = parent.doc.createElement("iframe");
parent.appendChild(this.frame);
this.frame.setAttribute("sandbox", "allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts allow-top-navigation-by-user-activation allow-downloads");
this.frame.setAttribute("allow", "encrypted-media; fullscreen; oversized-images; picture-in-picture; sync-xhr; geolocation;");
style += `transform: scale(${this.data.zoomLevel}); transform-origin: 0 0;`;
}
this.frame.addClass("custom-frames-frame");
this.frame.addClass(`custom-frames-${getId(this.data)}`);
this.frame.setAttribute("style", style);
let src = new URL(this.data.url);
if (urlSuffix) {
let suffix = new URL(urlSuffix, src.origin);
suffix.searchParams.forEach((value, key) => {
src.searchParams.set(key, value);
});
if (suffix.pathname !== "/") {
src.pathname += suffix.pathname;
}
src.hash = suffix.hash || src.hash;
}
this.frame.setAttribute("src", src.toString());
}
refresh() {
if (this.frame instanceof HTMLIFrameElement) {
this.frame.contentWindow.location.reload();
} else {
this.frame.reload();
}
}
return() {
if (this.frame instanceof HTMLIFrameElement) {
this.frame.contentWindow.open(this.data.url);
} else {
this.frame.loadURL(this.data.url);
}
}
goBack() {
if (this.frame instanceof HTMLIFrameElement) {
this.frame.contentWindow.history.back();
} else {
this.frame.goBack();
}
}
goForward() {
if (this.frame instanceof HTMLIFrameElement) {
this.frame.contentWindow.history.forward();
} else {
this.frame.goForward();
}
}
toggleDevTools() {
if (!(this.frame instanceof HTMLIFrameElement)) {
if (!this.frame.isDevToolsOpened()) {
this.frame.openDevTools();
} else {
this.frame.closeDevTools();
}
}
}
getCurrentUrl() {
return this.frame instanceof HTMLIFrameElement ? this.frame.contentWindow.location.href : this.frame.getURL();
}
focus() {
if (this.frame instanceof HTMLIFrameElement) {
this.frame.contentWindow.focus();
} else {
this.frame.focus();
}
}
};
// src/settings-tab.ts
var import_obsidian2 = __toModule(require("obsidian"));
var CustomFramesSettingTab = class extends import_obsidian2.PluginSettingTab {
constructor(app2, plugin) {
super(app2, plugin);
this.plugin = plugin;
}
display() {
this.containerEl.empty();
this.containerEl.createEl("h2", { text: "Custom Frames Settings" });
this.containerEl.createEl("p", {
text: "Please note that Obsidian has to be restarted or reloaded for most of these settings to take effect.",
cls: "mod-warning"
});
new import_obsidian2.Setting(this.containerEl).setName("Frame Padding").setDesc("The padding that should be left around the inside of custom frame panes, in pixels.").addText((t) => {
t.inputEl.type = "number";
t.setValue(String(this.plugin.settings.padding));
t.onChange((v) => __async(this, null, function* () {
this.plugin.settings.padding = v.length ? Number(v) : defaultSettings.padding;
yield this.plugin.saveSettings();
}));
});
for (let frame of this.plugin.settings.frames) {
let heading = this.containerEl.createEl("h3", { text: frame.displayName || "Unnamed Frame" });
let toggle = new import_obsidian2.ButtonComponent(this.containerEl).setButtonText("Show Settings").setClass("custom-frames-show").onClick(() => __async(this, null, function* () {
content.hidden = !content.hidden;
toggle.setButtonText(content.hidden ? "Show Settings" : "Hide Settings");
}));
let content = this.containerEl.createDiv();
content.hidden = true;
new import_obsidian2.Setting(content).setName("Display Name").setDesc("The display name that this frame should have.").addText((t) => {
t.setValue(frame.displayName);
t.onChange((v) => __async(this, null, function* () {
frame.displayName = v;
heading.setText(frame.displayName || "Unnamed Frame");
yield this.plugin.saveSettings();
}));
});
new import_obsidian2.Setting(content).setName("Icon").setDesc(createFragment((f) => {
f.createSpan({ text: "The icon that this frame's pane should have. The names of any " });
f.createEl("a", { text: "Lucide icons", href: "https://lucide.dev/" });
f.createSpan({ text: " can be used." });
})).addText((t) => {
t.setValue(frame.icon);
t.onChange((v) => __async(this, null, function* () {
frame.icon = v;
yield this.plugin.saveSettings();
}));
});
new import_obsidian2.Setting(content).setName("URL").setDesc("The URL that should be opened in this frame.").addText((t) => {
t.setValue(frame.url);
t.onChange((v) => __async(this, null, function* () {
frame.url = v;
yield this.plugin.saveSettings();
}));
});
new import_obsidian2.Setting(content).setName("Disable on Mobile").setDesc("Custom Frames is a lot more restricted on mobile devices and doesn't allow for the same types of content to be displayed. If a frame doesn't work as expected on mobile, it can be disabled.").addToggle((t) => {
t.setValue(frame.hideOnMobile);
t.onChange((v) => __async(this, null, function* () {
frame.hideOnMobile = v;
yield this.plugin.saveSettings();
}));
});
new import_obsidian2.Setting(content).setName("Add Ribbon Icon").setDesc("Whether a button to open this frame should be added to the ribbon.").addToggle((t) => {
t.setValue(frame.addRibbonIcon);
t.onChange((v) => __async(this, null, function* () {
frame.addRibbonIcon = v;
yield this.plugin.saveSettings();
}));
});
new import_obsidian2.Setting(content).setName("Open in Center").setDesc("Whether this frame should be opened in the unpinned center editor rather than one of the panes on the side. This is useful for sites that don't work well in a narrow view, or sites that don't require a note to be open when viewed.").addToggle((t) => {
t.setValue(frame.openInCenter);
t.onChange((v) => __async(this, null, function* () {
frame.openInCenter = v;
yield this.plugin.saveSettings();
}));
});
new import_obsidian2.Setting(content).setName("Force iframe").setDesc(createFragment((f) => {
f.createSpan({ text: "Whether this frame should use iframes on desktop as opposed to Electron webviews." });
f.createEl("br");
f.createEl("em", { text: "Only enable this setting if the frame is causing issues or frequent crashes. This setting causes all Desktop-only settings to be ignored." });
})).addToggle((t) => {
t.setValue(frame.forceIframe);
t.onChange((v) => __async(this, null, function* () {
frame.forceIframe = v;
yield this.plugin.saveSettings();
}));
});
new import_obsidian2.Setting(content).setName("Page Zoom").setDesc("The zoom that this frame's page should be displayed with, as a percentage.").addText((t) => {
t.inputEl.type = "number";
t.setValue(String(frame.zoomLevel * 100));
t.onChange((v) => __async(this, null, function* () {
frame.zoomLevel = v.length ? Number(v) / 100 : 1;
yield this.plugin.saveSettings();
}));
});
new import_obsidian2.Setting(content).setName("Additional CSS").setDesc(createFragment((f) => {
f.createSpan({ text: "A snippet of additional CSS that should be applied to this frame." });
f.createEl("br");
f.createEl("em", { text: "Note that this is only applied on Desktop." });
})).addTextArea((t) => {
t.inputEl.rows = 5;
t.inputEl.cols = 50;
t.setValue(frame.customCss);
t.onChange((v) => __async(this, null, function* () {
frame.customCss = v;
yield this.plugin.saveSettings();
}));
});
new import_obsidian2.Setting(content).setName("Additional JavaScript").setDesc(createFragment((f) => {
f.createSpan({ text: "A snippet of additional JavaScript that should be applied to this frame." });
f.createEl("br");
f.createEl("em", { text: "Note that this is only applied on Desktop." });
})).addTextArea((t) => {
t.inputEl.rows = 5;
t.inputEl.cols = 50;
t.setValue(frame.customJs);
t.onChange((v) => __async(this, null, function* () {
frame.customJs = v;
yield this.plugin.saveSettings();
}));
});
new import_obsidian2.ButtonComponent(content).setButtonText("Remove Frame").onClick(() => __async(this, null, function* () {
this.plugin.settings.frames.remove(frame);
yield this.plugin.saveSettings();
this.display();
}));
}
this.containerEl.createEl("hr");
this.containerEl.createEl("p", { text: `Create a new frame, either from a preset shipped with the plugin, or a custom one that you can edit yourself. Each frame's pane can be opened using the "Custom Frames: Open" command.` });
let addDiv = this.containerEl.createDiv();
let dropdown = new import_obsidian2.DropdownComponent(addDiv);
dropdown.addOption("new", "Custom");
for (let [key, value] of Object.entries(presets).sort((a, b) => a[1].displayName.localeCompare(b[1].displayName)))
dropdown.addOption(key, value.displayName);
new import_obsidian2.ButtonComponent(addDiv).setButtonText("Add Frame").setClass("custom-frames-add").onClick(() => __async(this, null, function* () {
let option = dropdown.getValue();
if (option == "new") {
this.plugin.settings.frames.push({
url: "",
displayName: "New Frame",
icon: "",
hideOnMobile: true,
addRibbonIcon: false,
openInCenter: false,
zoomLevel: 1,
forceIframe: false,
customCss: "",
customJs: ""
});
} else {
this.plugin.settings.frames.push(presets[option]);
}
yield this.plugin.saveSettings();
this.display();
}));
let disclaimer = this.containerEl.createEl("p", { cls: "mod-warning" });
disclaimer.createSpan({ text: "Please be advised that, when adding a site as a custom frame, you potentially expose personal information you enter to other plugins you have installed. For more information, see " });
disclaimer.createEl("a", {
text: "this discussion",
href: "https://github.com/Ellpeck/ObsidianCustomFrames/issues/54#issuecomment-1210879685",
cls: "mod-warning"
});
disclaimer.createSpan({ text: "." });
this.containerEl.createEl("hr");
this.containerEl.createEl("p", { text: "Need help using the plugin? Feel free to join the Discord server!" });
this.containerEl.createEl("a", { href: "https://link.ellpeck.de/discordweb" }).createEl("img", {
attr: { src: "https://ellpeck.de/res/discord-wide.png" },
cls: "custom-frames-support"
});
this.containerEl.createEl("p", { text: "If you like this plugin and want to support its development, you can do so through my website by clicking this fancy image!" });
this.containerEl.createEl("a", { href: "https://ellpeck.de/support" }).createEl("img", {
attr: { src: "https://ellpeck.de/res/generalsupport-wide.png" },
cls: "custom-frames-support"
});
}
};
// src/view.ts
var import_obsidian3 = __toModule(require("obsidian"));
var _CustomFrameView = class extends import_obsidian3.ItemView {
constructor(leaf, settings, data, name) {
super(leaf);
this.data = data;
this.name = name;
this.frame = new CustomFrame(settings, data);
this.navigation = data.openInCenter;
for (let action of _CustomFrameView.actions)
this.addAction(action.icon, action.name, () => action.action(this));
}
onload() {
this.contentEl.empty();
this.contentEl.addClass("custom-frames-view");
this.frame.create(this.contentEl);
}
onPaneMenu(menu, source) {
super.onPaneMenu(menu, source);
for (let action of _CustomFrameView.actions) {
menu.addItem((i) => {
i.setTitle(action.name);
i.setIcon(action.icon);
i.onClick(() => action.action(this));
});
}
}
getViewType() {
return this.name;
}
getDisplayText() {
return this.data.displayName;
}
getIcon() {
return getIcon(this.data);
}
focus() {
this.frame.focus();
}
};
var CustomFrameView = _CustomFrameView;
CustomFrameView.actions = [
{
name: "Return to original page",
icon: "home",
action: (v) => v.frame.return()
},
{
name: "Open dev tools",
icon: "binary",
action: (v) => v.frame.toggleDevTools()
},
{
name: "Copy link",
icon: "link",
action: (v) => navigator.clipboard.writeText(v.frame.getCurrentUrl())
},
{
name: "Open in browser",
icon: "globe",
action: (v) => open(v.frame.getCurrentUrl())
},
{
name: "Refresh",
icon: "refresh-cw",
action: (v) => v.frame.refresh()
},
{
name: "Go forward",
icon: "arrow-right",
action: (v) => v.frame.goForward()
},
{
name: "Go back",
icon: "arrow-left",
action: (v) => v.frame.goBack()
}
];
// src/main.ts
var CustomFramesPlugin = class extends import_obsidian4.Plugin {
onload() {
return __async(this, null, function* () {
yield this.loadSettings();
for (let frame of this.settings.frames) {
if (!frame.url || !frame.displayName)
continue;
let name = `custom-frames-${getId(frame)}`;
if (import_obsidian4.Platform.isMobileApp && frame.hideOnMobile) {
console.log(`Skipping frame ${name} which is hidden on mobile`);
continue;
}
try {
console.log(`Registering frame ${name} for URL ${frame.url}`);
this.registerView(name, (l) => new CustomFrameView(l, this.settings, frame, name));
this.addCommand({
id: `open-${name}`,
name: `Open ${frame.displayName}`,
callback: () => this.openLeaf(name, frame.openInCenter, false)
});
if (frame.addRibbonIcon)
this.addRibbonIcon(getIcon(frame), `Open ${frame.displayName}`, (e) => this.openLeaf(name, frame.openInCenter, import_obsidian4.Platform.isMacOS ? e.metaKey : e.ctrlKey));
} catch (e) {
console.error(`Couldn't register frame ${name}, is there already one with the same name?`);
}
}
this.addSettingTab(new CustomFramesSettingTab(this.app, this));
this.registerMarkdownCodeBlockProcessor("custom-frames", (s, e) => {
e.empty();
e.addClass("custom-frames-view-file");
let frameMatch = /frame:([^\n]+)/gi.exec(s);
let frameName = frameMatch && frameMatch[1].trim();
if (!frameName) {
e.createSpan({ text: "Couldn't parse frame name" });
return;
}
let data = this.settings.frames.find((f) => f.displayName == frameName);
if (!data) {
e.createSpan({ text: `Couldn't find a frame with name ${frameName}` });
return;
}
if (import_obsidian4.Platform.isMobileApp && data.hideOnMobile) {
e.createSpan({ text: `${frameName} is hidden on mobile` });
return;
}
let styleMatch = /style:([^\n]+)/gi.exec(s);
let style = styleMatch && styleMatch[1].trim();
style || (style = "height: 600px;");
let urlSuffixMatch = /urlsuffix:([^\n]+)/gi.exec(s);
let urlSuffix = urlSuffixMatch && urlSuffixMatch[1].trim();
urlSuffix || (urlSuffix = "");
let frame = new CustomFrame(this.settings, data);
frame.create(e, style, urlSuffix);
});
});
}
loadSettings() {
return __async(this, null, function* () {
this.settings = Object.assign({}, defaultSettings, yield this.loadData());
});
}
saveSettings() {
return __async(this, null, function* () {
yield this.saveData(this.settings);
});
}
openLeaf(name, center, split) {
return __async(this, null, function* () {
let leaf;
if (center) {
leaf = this.app.workspace.getLeaf(split);
yield leaf.setViewState({ type: name, active: true });
} else {
if (!this.app.workspace.getLeavesOfType(name).length)
yield this.app.workspace.getRightLeaf(false).setViewState({ type: name, active: true });
leaf = this.app.workspace.getLeavesOfType(name)[0];
this.app.workspace.revealLeaf(leaf);
}
if (leaf.view instanceof CustomFrameView)
leaf.view.focus();
});
}
};
@@ -0,0 +1 @@
{"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}
+30
View File
@@ -0,0 +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 {
width: 100%;
height: auto;
}
+63
View File
@@ -0,0 +1,63 @@
{
"items": [
{
"name": "Markdown"
},
{
"name": "Markdown (Hugo)"
},
{
"name": "Html"
},
{
"name": "TextBundle"
},
{
"name": "Typst"
},
{
"name": "PDF"
},
{
"name": "Word (.docx)"
},
{
"name": "OpenOffice"
},
{
"name": "RTF"
},
{
"name": "Epub"
},
{
"name": "Latex"
},
{
"name": "Media Wiki"
},
{
"name": "reStructuredText"
},
{
"name": "Textile"
},
{
"name": "OPML"
},
{
"name": "Bibliography"
},
{
"name": "PowerPoint (.pptx)"
}
],
"pandocPath": {
"win32": "D:\\Applications\\Scoop\\apps\\pandoc\\current\\pandoc.exe"
},
"defaultExportDirectoryMode": "Same",
"openExportedFile": true,
"env": {},
"showExportProgressBar": true,
"lastEditName": "Word (.docx)"
}
@@ -0,0 +1,6 @@
-- credits to tarleb — StackExchange: https://tex.stackexchange.com/questions/392070/pandoc-markdown-create-self-contained-bib-file-from-cited-references
function Pandoc(d)
d.meta.references = pandoc.utils.references(d)
d.meta.bibliography = nil
return d
end
@@ -0,0 +1,5 @@
package.path=package.path..";" ..debug.getinfo(1).source:match("(.*[/\\])"):sub(2) .. "?.lua"
Mode='hugo'
require('markdown')
@@ -0,0 +1,237 @@
package.path=debug.getinfo(1).source:gsub('@',''):sub(0):match('(.*[/\\])'):sub(0) .. '?.lua' .. ';' .. package.path
require("polyfill")
local url = require('url')
local pandoc=pandoc
local PANDOC_STATE=PANDOC_STATE
PANDOC_VERSION:must_be_at_least '3.1.7'
os.text = pandoc.text
local PATH = pandoc.path
local doc_dir = nil
local media_dir = nil
if Mode == nil then
Mode = 'default'
end
-- print("Mode: "..Mode)
if PANDOC_STATE.output_file then
local output_file = PANDOC_STATE.output_file
doc_dir = PATH.directory(output_file)
if PANDOC_WRITER_OPTIONS.variables["media_dir"] then
media_dir = tostring(PANDOC_WRITER_OPTIONS.variables["media_dir"])
else
media_dir = PATH.split_extension(output_file)
if Mode ~= 'hugo' then
media_dir = media_dir .. '-media'
end
end
end
assert(doc_dir, "doc_dir is nil")
assert(media_dir, "media_dir is nil")
local function get_absolute_path(file_path)
if PATH.is_absolute(file_path) then
return file_path
end
for _, dir in pairs(PANDOC_STATE.resource_path) do
local full_path = PATH.join({dir, file_path})
if os.exists(full_path) then
return full_path
end
end
for _, file in pairs(PANDOC_STATE.input_files) do
if not PATH.is_absolute(file) then
file = PATH.join({pandoc.system.get_working_directory(), file_path})
end
local dir = PATH.directory(file)
local full_path = PATH.join({dir, file_path})
if os.exists(full_path) then
return full_path
end
end
return nil
end
local function get_output_file(file_path)
if media_dir then
local new_file_name = pandoc.utils.sha1(file_path)
local _, new_file_ext = PATH.split_extension(file_path)
file_path = new_file_name .. new_file_ext
local full_path = PATH.join({media_dir, file_path})
return full_path
else
return nil
end
end
local function extract_media(file_path)
os.mkdir(media_dir)
file_path = url.decode(file_path)
local abs_path = get_absolute_path(file_path)
local file = get_output_file(file_path)
if abs_path and file then
if not os.exists(file) then
os.copy(abs_path, file)
end
local rel_path = PATH.make_relative(file, doc_dir, false)
local parts = PATH.split(rel_path)
for i,v in ipairs(parts) do
parts[i] = url.encode(v)
end
local encoded_rel_path = table.concat(parts, "/")
if Mode == 'hugo' then
encoded_rel_path = '../' .. encoded_rel_path
end
return encoded_rel_path
end
end
local function raw(s)
return pandoc.RawInline('markdown', s)
end
function Image(el)
local src = extract_media(el.src)
if src then
el.src = src
end
return el
end
function Space()
return raw(' ')
end
function SoftBreak()
return raw('\n')
end
function RawInline(el)
if el.format == "html" then
el.format = 'markdown'
el.text = string.gsub(el.text, '<img[^>]+>', function(img)
return string.gsub(img, 'src="([^"]+)"', function(url)
if string.find(url, '^[Hh][Tt][Tt][Pp][Ss]?://') == nil then
local extract_media_url = extract_media(url)
if extract_media_url then
return 'src="' .. extract_media_url .. '"'
end
return '123'
end
return 'src="' .. url .. '"'
end)
end)
end
return el
end
function RawBlock(el)
if el.format == "html" then
el.format = 'markdown'
end
return el
end
function Math(el)
if Mode == 'hugo' then
if el.mathtype == 'DisplayMath' then
return raw('{{< mathjax >}}\n$$' .. el.text .. '$$\n{{</mathjax >}}')
else
el.text = string.gsub(el.text, '\\[\\{\\}]', function (v)
return '\\' .. v
end)
el.text = string.gsub(el.text, '_', function (v)
return '\\' .. v
end)
end
end
return el
end
local function headerLink(input)
-- github style section link
return "#"..input:gsub(' ', '-')
end
local function insertLink(content, linkDescription)
local descriptionText = table.concat(linkDescription, "")
if string.find(descriptionText, '|') then
local target, desc = descriptionText:match("(.*)|(.*)")
table.insert(content, pandoc.Link(desc, headerLink(target)))
else
table.insert(content, pandoc.Link(descriptionText, headerLink(descriptionText)))
end
end
function Para(el)
local content = el.content
content = ProcessMath(content)
content = ProcessInternalLinks(content)
el.content = content
return el
end
function ProcessMath(elements)
local content = {}
local in_display_math = false
for _, item in pairs(elements) do
if item.t == 'Str'and item.text == "$$" then
in_display_math = not in_display_math
else
if in_display_math then
if item.t == 'RawInline' and item.format == 'tex' then
local n = pandoc.Math('DisplayMath', '\n' .. item.text .. '\n')
table.insert(content, Math(n))
else
table.insert(content, item)
end
else
table.insert(content, item)
end
end
end
return content
end
function ProcessInternalLinks(elements)
local content = {}
local in_section_link = false
local linkDescription = {}
for _, item in pairs(elements) do
if item.t == 'Str' and string.starts_with(item.text, '[[#') then
in_section_link = true
table.insert(linkDescription, string.sub(item.text, 4))
elseif in_section_link then
if string.ends_with(item.text, ']]') then
table.insert(linkDescription, string.sub(item.text, 1, -3))
insertLink(content, linkDescription)
in_section_link = false
linkDescription = {}
else
table.insert(linkDescription, item.text)
end
else
table.insert(content, item)
end
end
return content
end
function Plain(el)
el.content = ProcessInternalLinks(el.content)
return el
end
function Pandoc(el)
return el
end
@@ -0,0 +1,68 @@
traverse = 'topdown'
math_block_text = nil
function process(el)
-- MathBlock start or end
if el.t == 'Str' and el.text == '$$' then
if math_block_text == nil then -- start
math_block_text = ''
else -- end
local math_block = pandoc.Math('DisplayMath', '\n' .. math_block_text .. '\n')
math_block_text = nil
return math_block
end
return {}
end
if math_block_text then
if (el.t == 'RawInline' or el.t == 'RawBlock') and el.format == 'tex' then
math_block_text = math_block_text .. el.text
return {}
elseif el.t == 'Str' then
math_block_text = math_block_text .. el.text
return {}
elseif el.t == 'SoftBreak' or el.t == 'BulletList' then
return {}
end
end
return el
end
function RawInline(el)
return process(el)
end
function RawBlock(el)
return process(el)
end
function Str(el)
return process(el)
end
function SoftBreak(el)
return process(el)
end
function Header(el)
return process(el)
end
function Para(el)
return process(el)
end
function Plain(el)
return process(el)
end
function BulletList(el)
return process(el)
end
+50
View File
@@ -0,0 +1,50 @@
-- minimum supported version for full environment
-- support is 3.8.unkown yet to be released but probably 3
local environment_fully_supported_version = pandoc.types.Version('3.8.3')
local environment_partially_supported_version = pandoc.types.Version('3.8.0')
local is_partially_supported = PANDOC_VERSION >= environment_partially_supported_version
local problamatic_environments = {
displaymath = true,
math = true,
equation = true,
["equation*"] = true,
gather = true,
["gather*"] = true,
multline = true,
["multline*"] = true,
eqnarray = true,
["eqnarray*"] = true,
align = true,
["align*"] = true,
alignat = true,
["alignat*"] = true,
flalign = true,
["flalign*"] = true,
}
if is_partially_supported then
return {
{
Math = function(elem)
if elem.text:find("^%s*\\begin{") ~= nil then
local replacement = pandoc.text:gsub(elem.text, "^%s*\\begin{(.-)}", "\\begin{%1}"):gsub("\\end{(.-)}%s*$", "\\end{%1}")
return pandoc.Math(replacement, elem.mathtype)
else
return elem
end
end,
}
}
elseif not environment_fully_supported_version then
return {
{
Math = function(elem)
local result = elem.text:match("^%s*\\begin{(%a+%*?)}")
if result ~= nil and problamatic_environments[result] ~= nil then
return pandoc.RawInline('tex', elem.text)
else
return elem
end
end,
}
}
end
@@ -0,0 +1,61 @@
os.platform = nil
if os.platform == nil then
local libExt = package.cpath:match("%p[\\|/]?\\.%p(%a+)")
if libExt == 'dll' then
os.platform = "Windows"
elseif libExt == 'so' then
os.platform = "Linux"
elseif libExt == 'dylib' then
os.platform = "MacOS"
end
end
os.copy = function(src, dest)
if os.platform == "Windows" then
src = string.gsub(src, "/", "\\")
src = os.text.toencoding(src)
dest = os.text.toencoding(dest)
os.execute('copy "' .. src .. '" "' .. dest .. '" >NUL')
else
os.execute('cp "' .. src .. '" "' .. dest .. '"')
end
end
os.mkdir = function(dir)
if os.exists(dir) then
return
end
if os.platform == "Windows" then
dir = os.text.toencoding(dir)
os.execute('mkdir "' .. dir .. '"')
else
os.execute('mkdir -p "' .. dir .. '"')
end
end
os.exists = function(path)
if os.platform == "Windows" then
path = string.gsub(path, "/", "\\")
path = os.text.toencoding(path)
local _, _, code = os.execute('if exist "' .. path .. '" (exit 0) else (exit 1)')
return code == 0
else
local _, _, code = os.execute('test -e "' .. path .. '"')
return code == 0
end
end
string.starts_with = function(str, start)
return str:sub(1, #start) == start
end
string.ends_with = function(str, ending)
return ending == "" or str:sub(-#ending) == ending
end
return {
os = os,
string = string
}
+18
View File
@@ -0,0 +1,18 @@
local function encode (str)
str = string.gsub (str, "([^0-9a-zA-Z !'()*._~-])", -- locale independent
function (c) return string.format ("%%%02X", string.byte(c)) end)
str = string.gsub (str, " ", "%%20")
return str
end
local function decode (str)
str = string.gsub (str, "%%20", " ")
str = string.gsub (str, "%%(%x%x)", function(h) return string.char(tonumber(h,16)) end)
return str
end
return {
encode = encode,
decode = decode
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"id":"obsidian-enhancing-export","name":"Enhancing Export","version":"1.10.11","minAppVersion":"1.6.3","description":"This is a enhancing export plugin for Obsidian. It allows to export to formats like Html, DOCX, ePub and PDF or Markdown(Hugo) etc.","author":"YISH","authorUrl":"https://github.com/mokeyish","isDesktopOnly":true}
@@ -0,0 +1 @@
.setting-item.ex-setting-item{border-top:unset;padding-top:0}*[hidden]{display:none}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,373 @@
% partial rewrite of the LaTeX2e package for submissions to the
% Conference on Neural Information Processing Systems (NeurIPS):
%
% - uses more LaTeX conventions
% - line numbers at submission time replaced with aligned numbers from
% lineno package
% - \nipsfinalcopy replaced with [final] package option
% - automatically loads times package for authors
% - loads natbib automatically; this can be suppressed with the
% [nonatbib] package option
% - adds foot line to first page identifying the conference
% - adds preprint option for submission to e.g. arXiv
% - conference acronym modified
%
% Roman Garnett (garnett@wustl.edu) and the many authors of
% nips15submit_e.sty, including MK and drstrip@sandia
%
% last revision: March 2023
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{neurips}[2023/03/31 NeurIPS 2023 submission/camera-ready style file]
% declare final option, which creates camera-ready copy
\newif\if@neuripsfinal\@neuripsfinalfalse
\DeclareOption{final}{
\@neuripsfinaltrue
}
% declare nonatbib option, which does not load natbib in case of
% package clash (users can pass options to natbib via
% \PassOptionsToPackage)
\newif\if@natbib\@natbibtrue
\DeclareOption{nonatbib}{
\@natbibfalse
}
% declare preprint option, which creates a preprint version ready for
% upload to, e.g., arXiv
\newif\if@preprint\@preprintfalse
\DeclareOption{preprint}{
\@preprinttrue
}
\ProcessOptions\relax
% determine whether this is an anonymized submission
\newif\if@submission\@submissiontrue
\if@neuripsfinal\@submissionfalse\fi
\if@preprint\@submissionfalse\fi
% fonts
\renewcommand{\rmdefault}{ptm}
\renewcommand{\sfdefault}{phv}
% change this every year for notice string at bottom
\newcommand{\@neuripsordinal}{}
\newcommand{\@neuripsyear}{\the\year}
\newcommand{\@neuripslocation}{}
% acknowledgments
\usepackage{environ}
\newcommand{\acksection}{\section*{Acknowledgments and Disclosure of Funding}}
\NewEnviron{ack}{%
\acksection
\BODY
}
% load natbib unless told otherwise
\if@natbib
\RequirePackage{natbib}
\fi
% set page geometry
\usepackage[verbose=true,letterpaper]{geometry}
\AtBeginDocument{
\newgeometry{
textheight=9in,
textwidth=5.5in,
top=1in,
headheight=12pt,
headsep=25pt,
footskip=30pt
}
\@ifpackageloaded{fullpage}
{\PackageWarning{neurips_2023}{fullpage package not allowed! Overwriting formatting.}}
{}
}
\widowpenalty=10000
\clubpenalty=10000
\flushbottom
\sloppy
% font sizes with reduced leading
\renewcommand{\normalsize}{%
\@setfontsize\normalsize\@xpt\@xipt
\abovedisplayskip 7\p@ \@plus 2\p@ \@minus 5\p@
\abovedisplayshortskip \z@ \@plus 3\p@
\belowdisplayskip \abovedisplayskip
\belowdisplayshortskip 4\p@ \@plus 3\p@ \@minus 3\p@
}
\normalsize
\renewcommand{\small}{%
\@setfontsize\small\@ixpt\@xpt
\abovedisplayskip 6\p@ \@plus 1.5\p@ \@minus 4\p@
\abovedisplayshortskip \z@ \@plus 2\p@
\belowdisplayskip \abovedisplayskip
\belowdisplayshortskip 3\p@ \@plus 2\p@ \@minus 2\p@
}
\renewcommand{\footnotesize}{\@setfontsize\footnotesize\@ixpt\@xpt}
\renewcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt}
\renewcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt}
\renewcommand{\large}{\@setfontsize\large\@xiipt{14}}
\renewcommand{\Large}{\@setfontsize\Large\@xivpt{16}}
\renewcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{20}}
\renewcommand{\huge}{\@setfontsize\huge\@xxpt{23}}
\renewcommand{\Huge}{\@setfontsize\Huge\@xxvpt{28}}
% sections with less space
\providecommand{\section}{}
\renewcommand{\section}{%
\@startsection{section}{1}{\z@}%
{-2.0ex \@plus -0.5ex \@minus -0.2ex}%
{ 1.5ex \@plus 0.3ex \@minus 0.2ex}%
{\large\bf\raggedright}%
}
\providecommand{\subsection}{}
\renewcommand{\subsection}{%
\@startsection{subsection}{2}{\z@}%
{-1.8ex \@plus -0.5ex \@minus -0.2ex}%
{ 0.8ex \@plus 0.2ex}%
{\normalsize\bf\raggedright}%
}
\providecommand{\subsubsection}{}
\renewcommand{\subsubsection}{%
\@startsection{subsubsection}{3}{\z@}%
{-1.5ex \@plus -0.5ex \@minus -0.2ex}%
{ 0.5ex \@plus 0.2ex}%
{\normalsize\bf\raggedright}%
}
\providecommand{\paragraph}{}
\renewcommand{\paragraph}{%
\@startsection{paragraph}{4}{\z@}%
{1.5ex \@plus 0.5ex \@minus 0.2ex}%
{-1em}%
{\normalsize\bf}%
}
\providecommand{\subparagraph}{}
\renewcommand{\subparagraph}{%
\@startsection{subparagraph}{5}{\z@}%
{1.5ex \@plus 0.5ex \@minus 0.2ex}%
{-1em}%
{\normalsize\bf}%
}
\providecommand{\subsubsubsection}{}
\renewcommand{\subsubsubsection}{%
\vskip5pt{\noindent\normalsize\rm\raggedright}%
}
% float placement
\renewcommand{\topfraction }{0.85}
\renewcommand{\bottomfraction }{0.4}
\renewcommand{\textfraction }{0.1}
\renewcommand{\floatpagefraction}{0.7}
\newlength{\@neuripsabovecaptionskip}\setlength{\@neuripsabovecaptionskip}{7\p@}
\newlength{\@neuripsbelowcaptionskip}\setlength{\@neuripsbelowcaptionskip}{\z@}
\setlength{\abovecaptionskip}{\@neuripsabovecaptionskip}
\setlength{\belowcaptionskip}{\@neuripsbelowcaptionskip}
% swap above/belowcaptionskip lengths for tables
\renewenvironment{table}
{\setlength{\abovecaptionskip}{\@neuripsbelowcaptionskip}%
\setlength{\belowcaptionskip}{\@neuripsabovecaptionskip}%
\@float{table}}
{\end@float}
% footnote formatting
\setlength{\footnotesep }{6.65\p@}
\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@}
\renewcommand{\footnoterule}{\kern-3\p@ \hrule width 12pc \kern 2.6\p@}
\setcounter{footnote}{0}
% paragraph formatting
\setlength{\parindent}{\z@}
\setlength{\parskip }{5.5\p@}
% list formatting
\setlength{\topsep }{4\p@ \@plus 1\p@ \@minus 2\p@}
\setlength{\partopsep }{1\p@ \@plus 0.5\p@ \@minus 0.5\p@}
\setlength{\itemsep }{2\p@ \@plus 1\p@ \@minus 0.5\p@}
\setlength{\parsep }{2\p@ \@plus 1\p@ \@minus 0.5\p@}
\setlength{\leftmargin }{3pc}
\setlength{\leftmargini }{\leftmargin}
\setlength{\leftmarginii }{2em}
\setlength{\leftmarginiii}{1.5em}
\setlength{\leftmarginiv }{1.0em}
\setlength{\leftmarginv }{0.5em}
\def\@listi {\leftmargin\leftmargini}
\def\@listii {\leftmargin\leftmarginii
\labelwidth\leftmarginii
\advance\labelwidth-\labelsep
\topsep 2\p@ \@plus 1\p@ \@minus 0.5\p@
\parsep 1\p@ \@plus 0.5\p@ \@minus 0.5\p@
\itemsep \parsep}
\def\@listiii{\leftmargin\leftmarginiii
\labelwidth\leftmarginiii
\advance\labelwidth-\labelsep
\topsep 1\p@ \@plus 0.5\p@ \@minus 0.5\p@
\parsep \z@
\partopsep 0.5\p@ \@plus 0\p@ \@minus 0.5\p@
\itemsep \topsep}
\def\@listiv {\leftmargin\leftmarginiv
\labelwidth\leftmarginiv
\advance\labelwidth-\labelsep}
\def\@listv {\leftmargin\leftmarginv
\labelwidth\leftmarginv
\advance\labelwidth-\labelsep}
\def\@listvi {\leftmargin\leftmarginvi
\labelwidth\leftmarginvi
\advance\labelwidth-\labelsep}
% create title
\providecommand{\maketitle}{}
\renewcommand{\maketitle}{%
\par
\begingroup
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
% for perfect author name centering
\renewcommand{\@makefnmark}{\hbox to \z@{$^{\@thefnmark}$\hss}}
% The footnote-mark was overlapping the footnote-text,
% added the following to fix this problem (MK)
\long\def\@makefntext##1{%
\parindent 1em\noindent
\hbox to 1.8em{\hss $\m@th ^{\@thefnmark}$}##1
}
\thispagestyle{empty}
\@maketitle
\@thanks
\@notice
\endgroup
\let\maketitle\relax
\let\thanks\relax
}
% rules for title box at top of first page
\newcommand{\@toptitlebar}{
\hrule height 4\p@
\vskip 0.25in
\vskip -\parskip%
}
\newcommand{\@bottomtitlebar}{
\vskip 0.29in
\vskip -\parskip
\hrule height 1\p@
\vskip 0.09in%
}
% create title (includes both anonymized and non-anonymized versions)
\providecommand{\@maketitle}{}
\renewcommand{\@maketitle}{%
\vbox{%
\hsize\textwidth
\linewidth\hsize
\vskip 0.1in
\@toptitlebar
\centering
{\LARGE\bf \@title\par}
\@bottomtitlebar
\if@submission
\begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}
Anonymous Author(s) \\
Affiliation \\
Address \\
\texttt{email} \\
\end{tabular}%
\else
\def\And{%
\end{tabular}\hfil\linebreak[0]\hfil%
\begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\ignorespaces%
}
\def\AND{%
\end{tabular}\hfil\linebreak[4]\hfil%
\begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\ignorespaces%
}
\begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\@author\end{tabular}%
\fi
\vskip 0.3in \@minus 0.1in
}
}
% add conference notice to bottom of first page
\newcommand{\ftype@noticebox}{8}
\newcommand{\@notice}{%
% give a bit of extra room back to authors on first page
\enlargethispage{2\baselineskip}%
\@float{noticebox}[b]%
\footnotesize\@noticestring%
\end@float%
}
% abstract styling
\renewenvironment{abstract}%
{%
\vskip 0.075in%
\centerline%
{\large\bf Abstract}%
\vspace{0.5ex}%
\begin{quote}%
}
{
\par%
\end{quote}%
\vskip 1ex%
}
% handle tweaks for camera-ready copy vs. submission copy
\if@preprint
\newcommand{\@noticestring}{%
Preprint. Under review.%
}
\else
\if@neuripsfinal
\newcommand{\@noticestring}{%
(\@neuripsyear) \@title
}
\else
\newcommand{\@noticestring}{%
(\@neuripsyear) \@title %
}
% hide the acknowledgements
\NewEnviron{hide}{}
\let\ack\hide
\let\endack\endhide
% line numbers for submission
\RequirePackage{lineno}
\linenumbers
% fix incompatibilities between lineno and amsmath, if required, by
% transparently wrapping linenomath environments around amsmath
% environments
\AtBeginDocument{%
\@ifpackageloaded{amsmath}{%
\newcommand*\patchAmsMathEnvironmentForLineno[1]{%
\expandafter\let\csname old#1\expandafter\endcsname\csname #1\endcsname
\expandafter\let\csname oldend#1\expandafter\endcsname\csname end#1\endcsname
\renewenvironment{#1}%
{\linenomath\csname old#1\endcsname}%
{\csname oldend#1\endcsname\endlinenomath}%
}%
\newcommand*\patchBothAmsMathEnvironmentsForLineno[1]{%
\patchAmsMathEnvironmentForLineno{#1}%
\patchAmsMathEnvironmentForLineno{#1*}%
}%
\patchBothAmsMathEnvironmentsForLineno{equation}%
\patchBothAmsMathEnvironmentsForLineno{align}%
\patchBothAmsMathEnvironmentsForLineno{flalign}%
\patchBothAmsMathEnvironmentsForLineno{alignat}%
\patchBothAmsMathEnvironmentsForLineno{gather}%
\patchBothAmsMathEnvironmentsForLineno{multline}%
}
{}
}
\fi
\fi
\endinput
@@ -0,0 +1,187 @@
% This template was tested with Pandoc 3.4 and pandoc-crossref v0.3.18.0. It should be backwards compatible with older version of pandoc..
\documentclass{article}
% if you need to pass options to natbib, use, e.g.:
% \PassOptionsToPackage{numbers, compress}{natbib}
% before loading neurips_2023
% ready for submission
\usepackage[final,nonatbib]{neurips}
% to compile a preprint version, e.g., for submission to arXiv, add add the
% [preprint] option:
% \usepackage[preprint]{neurips_2023}
% to compile a camera-ready version, add the [final] option, e.g.:
% \usepackage[final]{neurips_2023}
% to avoid loading the natbib package, add option nonatbib:
% \usepackage[nonatbib]{neurips_2023}
\usepackage[utf8]{inputenc} % allow utf-8 input
\usepackage[T1]{fontenc} % use 8-bit T1 fonts
\usepackage{hyperref} % hyperlinks
\usepackage{url} % simple URL typesetting
\usepackage{booktabs} % professional-quality tables
\usepackage{amsfonts} % blackboard math symbols
\usepackage{nicefrac} % compact symbols for 1/2, etc.
\usepackage{microtype} % microtypography
\usepackage{xcolor} % colors
\usepackage{graphicx}
\usepackage{longtable} % Add support for Pandoc's longtable if needed
\usepackage{array} % For table alignment improvements
\usepackage{amsmath}
\usepackage{textcomp}
\setlength{\LTcapwidth}{\textwidth} % To make captions fit within page width
\makeatletter
\newsavebox\pandoc@box
\newcommand*\pandocbounded[1]{% scales image to fit in text height/width
\sbox\pandoc@box{#1}%
\Gscale@div\@tempa{\textheight}{\dimexpr\ht\pandoc@box+\dp\pandoc@box\relax}%
\Gscale@div\@tempb{\linewidth}{\wd\pandoc@box}%
\ifdim\@tempb\p@<\@tempa\p@\let\@tempa\@tempb\fi% select the smaller of both
\ifdim\@tempa\p@<\p@\scalebox{\@tempa}{\usebox\pandoc@box}%
\else\usebox{\pandoc@box}%
\fi%
}
\makeatother
\makeatletter
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi}
\makeatother
% Scale images if necessary, so that they will not overflow the page
% margins by default, and it is still possible to overwrite the defaults
% using explicit options in \includegraphics[width, height, ...]{}
\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
% Set default figure placement to htbp
\makeatletter
\def\fps@figure{htbp}
\makeatother
$if(csl-refs)$
% definitions for citeproc citations
\NewDocumentCommand\citeproctext{}{}
\NewDocumentCommand\citeproc{mm}{%
\begingroup\def\citeproctext{#2}\cite{#1}\endgroup}
\makeatletter
% allow citations to break across lines
\let\@cite@ofmt\@firstofone
% avoid brackets around text for \cite:
\def\@biblabel#1{}
\def\@cite#1#2{{#1\if@tempswa , #2\fi}}
\makeatother
\newlength{\cslhangindent}
\setlength{\cslhangindent}{1.5em}
\newlength{\csllabelwidth}
\setlength{\csllabelwidth}{3em}
\newenvironment{CSLReferences}[2] % #1 hanging-indent, #2 entry-spacing
{\begin{list}{}{%
\setlength{\itemindent}{0pt}
\setlength{\leftmargin}{0pt}
\setlength{\parsep}{0pt}
% turn on hanging indent if param 1 is 1
\ifodd #1
\setlength{\leftmargin}{\cslhangindent}
\setlength{\itemindent}{-1\cslhangindent}
\fi
% set entry spacing
\setlength{\itemsep}{#2\baselineskip}}}
{\end{list}}
\usepackage{calc}
\newcommand{\CSLBlock}[1]{\hfill\break\parbox[t]{\linewidth}{\strut\ignorespaces#1\strut}}
\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{\strut#1\strut}}
\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{\strut#1\strut}}
\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1}
$endif$
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\title{$title$}
% Iterate through the authors except last to add \And.
\author{%
$for(authors/allbutlast)$
$authors.name$\\$authors.affiliation$\\$authors.institution$\\$authors.email$\\$authors.address$ \And
$endfor$
$for(authors/last)$
$authors.name$\\$authors.affiliation$\\$authors.institution$\\$authors.email$\\$authors.address$
$endfor$
}
% \author{%
% David S.~Hippocampus \\
% Department of Computer Science\\
% Cranberry-Lemon University\\
% Pittsburgh, PA 15213 \\
% \texttt{hippo@cs.cranberry-lemon.edu} \\
% % examples of more authors
% % \And
% % Coauthor \\
% % Affiliation \\
% % Address \\
% % \texttt{email} \\
% % \AND
% % Coauthor \\
% % Affiliation \\
% % Address \\
% % \texttt{email} \\
% % \And
% % Coauthor \\
% % Affiliation \\
% % Address \\
% % \texttt{email} \\
% % \And
% % Coauthor \\
% % Affiliation \\
% % Address \\
% % \texttt{email} \\
% }
\begin{document}
\maketitle
\begin{abstract}
$if(abstract)$
$abstract$
$else$
Add your abstract at the beginning of your markdown file like this
\begin{verbatim}
---
title: "Your Title"
abstract: "your abstract here"
authors:
- name: Leonardo V. Castorina
affiliation: School of Informatics
institution: University of Edinburgh
email: justanemail@domain.ext
address: Edinburgh
- name: Coauthor
affiliation: Affiliation
institution: Institution
email: coauthor@example.com
address: Address
---
\end{verbatim}
This is called YAML frontmatter. If you set your abstract correctly you should not see this message.
$endif$
\end{abstract}
$body$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"id":"obsidian-excalidraw-plugin","name":"Excalidraw","version":"2.18.1","minAppVersion":"1.5.7","description":"An Obsidian plugin to edit and view Excalidraw drawings","author":"Zsolt Viczian","authorUrl":"https://excalidraw-obsidian.online","fundingUrl":"https://ko-fi.com/zsolt","helpUrl":"https://github.com/zsviczian/obsidian-excalidraw-plugin#readme","isDesktopOnly":false}
File diff suppressed because one or more lines are too long
+57
View File
@@ -0,0 +1,57 @@
{
"commitMessage": "chore(vault): backup {{date}}",
"commitDateFormat": "YYYY-MM-DD HH:mm:ss",
"autoSaveInterval": 15,
"autoPushInterval": 0,
"autoPullInterval": 30,
"autoPullOnBoot": true,
"disablePush": false,
"pullBeforePush": true,
"disablePopups": false,
"disablePopupsForNoChanges": false,
"listChangedFilesInMessageBody": false,
"showStatusBar": true,
"updateSubmodules": false,
"syncMethod": "rebase",
"customMessageOnAutoBackup": false,
"autoBackupAfterFileChange": true,
"treeStructure": false,
"refreshSourceControl": true,
"differentIntervalCommitAndPush": false,
"changedFilesInStatusBar": false,
"showedMobileNotice": true,
"refreshSourceControlTimer": 7000,
"showBranchStatusBar": true,
"setLastSaveToLastCommit": true,
"submoduleRecurseCheckout": false,
"gitDir": "",
"showFileMenu": true,
"authorInHistoryView": "hide",
"dateInHistoryView": false,
"lineAuthor": {
"show": false,
"followMovement": "inactive",
"authorDisplay": "initials",
"showCommitHash": false,
"dateTimeFormatOptions": "date",
"dateTimeFormatCustomString": "YYYY-MM-DD HH:mm",
"dateTimeTimezone": "viewer-local",
"coloringMaxAge": "1y",
"colorNew": {
"r": 255,
"g": 150,
"b": 150
},
"colorOld": {
"r": 120,
"g": 160,
"b": 255
},
"textColorCss": "var(--text-muted)",
"ignoreWhitespace": false,
"gutterSpacingFallbackLength": 5,
"lastShownAuthorDisplay": "initials",
"lastShownDateTimeFormatOptions": "date"
},
"autoCommitMessage": "chore(vault): backup {{date}}"
}
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"author":"Vinzent","authorUrl":"https://github.com/Vinzent03","id":"obsidian-git","name":"Git","description":"Integrate Git version control with automatic backup and other advanced features.","isDesktopOnly":false,"fundingUrl":"https://ko-fi.com/vinzent","version":"2.35.2"}
+23
View File
@@ -0,0 +1,23 @@
#!/bin/sh
PROMPT="$1"
TEMP_FILE="$OBSIDIAN_GIT_CREDENTIALS_INPUT"
cleanup() {
rm -f "$TEMP_FILE" "$TEMP_FILE.response"
}
trap cleanup EXIT
echo "$PROMPT" > "$TEMP_FILE"
while [ ! -e "$TEMP_FILE.response" ]; do
if [ ! -e "$TEMP_FILE" ]; then
echo "Trigger file got removed: Abort" >&2
exit 1
fi
sleep 0.1
done
RESPONSE=$(cat "$TEMP_FILE.response")
echo "$RESPONSE"
+629
View File
@@ -0,0 +1,629 @@
@keyframes loading {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.workspace-leaf-content[data-type="git-view"] .button-border {
border: 2px solid var(--interactive-accent);
border-radius: var(--radius-s);
}
.workspace-leaf-content[data-type="git-view"] .view-content {
padding-left: 0;
padding-top: 0;
padding-right: 0;
}
.workspace-leaf-content[data-type="git-history-view"] .view-content {
padding-left: 0;
padding-top: 0;
padding-right: 0;
}
.loading {
overflow: hidden;
}
.loading > svg {
animation: 2s linear infinite loading;
transform-origin: 50% 50%;
display: inline-block;
}
.obsidian-git-center {
margin: auto;
text-align: center;
width: 50%;
}
.obsidian-git-textarea {
display: block;
margin-left: auto;
margin-right: auto;
}
.obsidian-git-disabled {
opacity: 0.5;
}
.obsidian-git-center-button {
display: block;
margin: 20px auto;
}
.tooltip.mod-left {
overflow-wrap: break-word;
}
.tooltip.mod-right {
overflow-wrap: break-word;
}
/* Limits the scrollbar to the view body */
.git-view {
display: flex;
flex-direction: column;
position: relative;
height: 100%;
}
.git-tools {
display: flex;
margin-left: auto;
}
.git-tools .type {
padding-left: var(--size-2-1);
display: flex;
align-items: center;
justify-content: center;
width: 11px;
}
.git-tools .type[data-type="M"] {
color: orange;
}
.git-tools .type[data-type="D"] {
color: red;
}
.git-tools .buttons {
display: flex;
}
.git-tools .buttons > * {
padding: 0 0;
height: auto;
}
.workspace-leaf-content[data-type="git-view"] .tree-item-self,
.workspace-leaf-content[data-type="git-history-view"] .tree-item-self {
align-items: center;
}
.workspace-leaf-content[data-type="git-view"]
.tree-item-self:hover
.clickable-icon,
.workspace-leaf-content[data-type="git-history-view"]
.tree-item-self:hover
.clickable-icon {
color: var(--icon-color-hover);
}
/* Highlight an item as active if it's diff is currently opened */
.is-active .git-tools .buttons > * {
color: var(--nav-item-color-active);
}
.git-author {
color: var(--text-accent);
}
.git-date {
color: var(--text-accent);
}
.git-ref {
color: var(--text-accent);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-d-none {
display: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-wrapper {
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header {
background-color: var(--background-primary);
border-bottom: 1px solid var(--interactive-accent);
font-family: var(--font-monospace);
height: 35px;
padding: 5px 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header,
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats {
font-size: 14px;
margin-left: auto;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-added {
border: 1px solid #b4e2b4;
border-radius: 5px 0 0 5px;
color: #399839;
padding: 2px;
text-align: right;
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-deleted {
border: 1px solid #e9aeae;
border-radius: 0 5px 5px 0;
color: #c33;
margin-left: 1px;
padding: 2px;
text-align: left;
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name-wrapper {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 15px;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name {
overflow-x: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-wrapper {
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
margin-bottom: 1em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse {
-webkit-box-pack: end;
-ms-flex-pack: end;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
cursor: pointer;
display: none;
font-size: 12px;
justify-content: flex-end;
padding: 4px 8px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse.d2h-selected {
background-color: #c8e1ff;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse-input {
margin: 0 4px 0 0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-table {
border-collapse: collapse;
font-family: Menlo, Consolas, monospace;
font-size: 13px;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-files-diff {
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-diff {
overflow-y: hidden;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-side-diff {
display: inline-block;
margin-bottom: -8px;
margin-right: -4px;
overflow-x: scroll;
overflow-y: hidden;
width: 50%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line {
padding: 0 8em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line {
display: inline-block;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
white-space: nowrap;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line {
padding: 0 4.5em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-ctn {
word-wrap: normal;
background: none;
display: inline-block;
padding: 0;
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
vertical-align: middle;
white-space: pre;
width: 100%;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
del {
background-color: #ffb6ba;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
del {
background-color: #8d232881;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line del,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line ins {
border-radius: 0.2em;
display: inline-block;
margin-top: -1px;
text-decoration: none;
vertical-align: middle;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
ins {
background-color: #97f295;
text-align: left;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
ins {
background-color: #1d921996;
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix {
word-wrap: normal;
background: none;
display: inline;
padding: 0;
white-space: pre;
}
.workspace-leaf-content[data-type="diff-view"] .line-num1 {
float: left;
}
.workspace-leaf-content[data-type="diff-view"] .line-num1,
.workspace-leaf-content[data-type="diff-view"] .line-num2 {
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
padding: 0 0.5em;
text-overflow: ellipsis;
width: 3.5em;
}
.workspace-leaf-content[data-type="diff-view"] .line-num2 {
float: right;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-muted);
cursor: pointer;
display: inline-block;
position: absolute;
text-align: right;
width: 7.5em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber:after {
content: "\200b";
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-muted);
cursor: pointer;
display: inline-block;
overflow: hidden;
padding: 0 0.5em;
position: absolute;
text-align: right;
text-overflow: ellipsis;
width: 4em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-tbody tr {
position: relative;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber:after {
content: "\200b";
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-emptyplaceholder,
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber {
direction: rtl;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-del {
background-color: #fee8e9;
border-color: #e9aeae;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-ins {
background-color: #dfd;
border-color: #b4e2b4;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-del {
background-color: #521b1d83;
border-color: #691d1d73;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-ins {
background-color: rgba(30, 71, 30, 0.5);
border-color: #13501381;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-info {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
color: var(--text-normal);
}
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-del.d2h-change {
background-color: #fdf2d0;
}
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-del.d2h-change {
background-color: #55492480;
}
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-ins.d2h-change {
background-color: #ded;
}
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-ins.d2h-change {
background-color: rgba(37, 78, 37, 0.418);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper {
margin-bottom: 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper a {
color: #3572b0;
text-decoration: none;
}
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-list-wrapper
a:visited {
color: #3572b0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-header {
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-title {
font-weight: 700;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-line {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list {
display: block;
list-style: none;
margin: 0;
padding: 0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li {
border-bottom: 1px solid var(--background-modifier-border);
margin: 0;
padding: 5px 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li:last-child {
border-bottom: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-switch {
cursor: pointer;
display: none;
font-size: 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-icon {
fill: currentColor;
margin-right: 10px;
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted {
color: #c33;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-added {
color: #399839;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-changed {
color: #d0b44c;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-moved {
color: #3572b0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-tag {
background-color: var(--background-primary);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 10px;
margin-left: 5px;
padding: 0 2px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted-tag {
border: 2px solid #c33;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-added-tag {
border: 1px solid #399839;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-changed-tag {
border: 1px solid #d0b44c;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-moved-tag {
border: 1px solid #3572b0;
}
/* ====================== Line Authoring Information ====================== */
.cm-gutterElement.obs-git-blame-gutter {
/* Add background color to spacing inbetween and around the gutter for better aesthetics */
border-width: 0px 2px 0.2px 2px;
border-style: solid;
border-color: var(--background-secondary);
background-color: var(--background-secondary);
}
.cm-gutterElement.obs-git-blame-gutter > div,
.line-author-settings-preview {
/* delegate text color to settings */
color: var(--obs-git-gutter-text);
font-family: monospace;
height: 100%; /* ensure, that age-based background color occupies entire parent */
text-align: right;
padding: 0px 6px 0px 6px;
white-space: pre; /* Keep spaces and do not collapse them. */
}
@media (max-width: 800px) {
/* hide git blame gutter not to superpose text */
.cm-gutterElement.obs-git-blame-gutter {
display: none;
}
}
.git-unified-diff-view,
.git-split-diff-view .cm-deletedLine .cm-changedText {
background-color: #ee443330;
}
.git-unified-diff-view,
.git-split-diff-view .cm-insertedLine .cm-changedText {
background-color: #22bb2230;
}
.git-obscure-prompt[git-is-obscured="true"] #git-show-password:after {
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg>');
}
.git-obscure-prompt[git-is-obscured="false"] #git-show-password:after {
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye-off"><path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"></path><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"></path><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"></path><path d="m2 2 20 20"></path></svg>');
}
/* Override styling of Codemirror merge view "collapsed lines" indicator */
.git-split-diff-view .ͼ2 .cm-collapsedLines {
background: var(--interactive-normal);
border-radius: var(--radius-m);
color: var(--text-accent);
font-size: var(--font-small);
padding: var(--size-4-1) var(--size-4-1);
}
.git-split-diff-view .ͼ2 .cm-collapsedLines:hover {
background: var(--interactive-hover);
color: var(--text-accent-hover);
}
+26
View File
@@ -0,0 +1,26 @@
{
"viewMode": "Pin",
"viewImageInEditor": true,
"viewImageInCPB": true,
"viewImageWithLink": true,
"viewImageOther": true,
"pinMaximum": 3,
"pinCoverMode": true,
"imageMoveSpeed": 10,
"imgTipToggle": true,
"imgFullScreenMode": "FIT",
"imgViewBackgroundColor": "#00000000",
"imageBorderToggle": false,
"imageBorderWidth": "medium",
"imageBorderStyle": "solid",
"imageBorderColor": "red",
"galleryNavbarToggle": true,
"galleryNavbarDefaultColor": "#0000001A",
"galleryNavbarHoverColor": "#0000004D",
"galleryImgBorderActive": true,
"galleryImgBorderActiveColor": "#FF0000",
"moveTheImageHotkey": "NONE",
"switchTheImageHotkey": "CTRL",
"doubleClickToolbar": "toolbar_full_screen",
"viewTriggerHotkey": "NONE"
}
File diff suppressed because one or more lines are too long
+10
View File
@@ -0,0 +1,10 @@
{
"id": "obsidian-image-toolkit",
"name": "Image Toolkit",
"version": "1.4.3",
"minAppVersion": "1.8.7",
"description": "Click images to preview with zoom, move, rotate, flip, invert, and copy.",
"author": "Xiangru",
"authorUrl": "https://github.com/sissilab",
"isDesktopOnly": true
}
+747
View File
@@ -0,0 +1,747 @@
body {
--layer-image-toolkit-popup: 1024;
--layer-image-toolkit-player: 1025;
--layer-image-toolkit-notice: 1026;
--layer-menu: 1027;
}
.menu {
z-index: var(--layer-menu);
}
.notice-container {
z-index: var(--layer-image-toolkit-notice);
}
.oit li::before {
margin-left: 0;
}
.image-toolkit-img-invert {
filter: invert(1) hue-rotate(180deg);
mix-blend-mode: screen;
}
.oit-normal {
position: fixed;
font-size: 0;
line-height: 0;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: rgba(0, 0, 0, .6);
z-index: var(--layer-image-toolkit-popup);
display: none;
}
.oit-pin {
position: fixed;
font-size: 0;
line-height: 0;
z-index: var(--layer-image-toolkit-popup);
display: none;
}
.oit .oit-img-container {
position: fixed;
top: 0;
pointer-events: none;
}
.oit .oit-img-container .oit-img-view {
max-height: none;
pointer-events: auto;
}
.oit-pin .oit-img-container .oit-img-view {
position: fixed;
pointer-events: auto;
box-shadow: 0 0 5px;
}
.oit-pin .oit-img-container .oit-img-view:hover {
box-shadow: 0 0 6px #55acc6;
}
.oit .img-default-background {
background-position: 0 0, 5px 5px !important;
background-size: 10px 10px !important;
background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee 100%), linear-gradient(45deg, #eee 25%, #fff 25%, #fff 75%, #eee 75%, #eee 100%) !important;
}
.oit .oit-img-container .oit-img-view:hover {
cursor: pointer;
}
.oit-normal .img-close {
position: absolute;
width: 32px;
height: 32px;
top: 0;
right: 0;
cursor: pointer;
}
.oit .oit-img-tip {
position: absolute;
top: 50%;
left: 50%;
font-size: 12px;
line-height: 20px;
height: 20px;
width: 50px;
text-align: center;
color: #fff;
border-radius: 10px;
background-color: rgba(0, 0, 0, .4);
pointer-events: none;
z-index: 1;
}
/*region img-player*/
.oit .img-player {
display: none;
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
cursor: none;
background-color: #000;
text-align: center;
cursor: pointer;
}
.oit .img-player > img {
display: inline;
float: none;
padding: 0;
max-height: none;
transform: none;
cursor: pointer;
}
/*endregion*/
.oit-normal .oit-img-footer {
position: absolute;
text-align: center;
bottom: 5px;
left: 0;
right: 0;
}
/*region oit-img-title*/
.oit-normal .oit-img-footer .oit-img-title {
font-size: 12px;
line-height: 1;
display: inline-block;
max-width: 90%;
white-space: nowrap;
text-overflow: ellipsis;
margin: 5px;
opacity: .8;
color: #fff;
/* filter: alpha(opacity=80) */
}
.oit-normal .oit-img-footer .oit-img-title:hover {
/* opacity: 1; */
color: #fff;
font-size: 15px;
background-color: rgba(0, 0, 0, .3);
border-radius: 8px;
line-height: 1.5;
/* filter: alpha(opacity=100) */
}
/*endregion*/
/*region toolbar*/
.oit-normal .oit-img-footer .oit-img-toolbar {
width: 385px;
height: 30px;
margin: 0 auto 5px;
padding: 3px 0;
}
.oit-normal .oit-img-footer .oit-img-toolbar:hover {
background-color: rgba(0, 0, 0, .3);
border-radius: 12px;
}
.oit-normal .oit-img-footer .oit-img-toolbar > li {
float: left;
width: 25px;
height: 25px;
margin: 0 5px;
padding: 0;
line-height: 0;
border: none;
cursor: pointer;
overflow: hidden;
}
.oit-normal .oit-img-footer .oit-img-toolbar > li:hover {
animation: bounce .5s cubic-bezier(0.51, 0.23, 0.02, 0.96)
}
@keyframes bounce {
0% {
transform: scale(1, 1);
}
50% {
transform: scale(0.85, 1.1) translateY(-5px);
}
}
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_zoom_to_100::before,
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_zoom_in::before,
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_zoom_out::before,
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_full_screen::before,
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_refresh::before,
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_rotate_left::before,
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_rotate_right::before,
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_scale_x::before,
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_scale_y::before,
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_invert_color::before,
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_copy::before {
font-size: 0;
line-height: 0;
display: block;
width: 25px;
height: 25px;
color: transparent;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARMAAAAZCAYAAAASRcpqAAAAAXNSR0IArs4c6QAADgJJREFUeF7tXHnQftUc/3z+YJC9KVuWsZOlIiopTYakZZpIJSUiS6JkLKGFYkJJRJsKpUVEhYpItiZFUtknJGQXmRHzMZ/H97xz3vuce++5z3ufX696z8wz77zPc+75nnPu93zO57ucQ6yUlRlYmYGVGRhhBjhCG7e7JiQd2Bw0yanv2iZmqc/f7iZ8ZcBznwFJDwPwopKgWt3uBBNJ6wJYH8DjADwFwFMBfAPAtwB8H8B5JP+01JFKenkM5EEA/HH73wXwVZJnLrV9Pz+WjACCAwp9WpvkNX19lfR8AGcU6h1U89IkPQHAzgAeCuCxANYGcHl8rgZwLckL+/rR97uk7QA8EYDl+bO63weAryd5JG/qa6f0u6S7A9gwPhvE399Gu1cBuIbkZ2dp+9Z8RtKTALwXwNFj6W3L/J1BcoexxirpwwBe0dHegSQP6pPXCiaS3gng9QDuFI3cEkDyNAB3iO9+AsCL4JQ+QS2T4oX1RgB+CW3FC+RTNQttVchogImB7mjLJemFVlUkPSMqvgqA58ClE0wkPQDA3gBeA+DOPYLeRtLvb6EEmB4DYE+Sx0o6DID7sQvJH6eKku4N4H0AXtwj45cA3k3SilhdJG0D4HAA3gm7yknWv3yzkvQQAF+JTWb3aqGroGK8048BeGCI22EegCLJG5F15swxACVrz93erKnHkhTzvVnfNBbBRJJ32MckJQfwNQCXkLxFkoHk6fFJ1P4Ukrv0CWso90cBJIXwznqld6TYnbzjPh7ARrEr+tFjSe55a8vIwMRAMvNLzZUi2mkFE0meDyuRWYjLFwGcDMC7uYt3ei+0TQBsH999Mhbjb/x/1u+JHElelAaTBQWStHEsdLNRl8sCLK+L/+8K4MkAzCaeHd+ZnW5V814kHQrgzVH3gmC3Zrp/ie/uB8AsNYGt5e9L0mzIY/D3CUx6lbumT2PUkeTxfwLAPRrtjQoojYVvUUsClKw9sw6z7XHBRNKXAGwO4DsAduui7vFyzUruD2Avkh+qeTmNSZnslKXnJHkHPhHAC+L3k0hW7UjzkpEtSitzYhaDXmoDSMxsvECKYNIAEpt/R3TteJK82K0cW8Zi3Z3kFX1gImnXAI7VAFwK4F1dpoYkA/tbwiw1M+szmb3DubjtI0ka7IpF0rYBOjar/2GAIXnqMgaTNLap8fTNS816CSBNjMT/psU/M6A0gMSs2jo4HphIsgPGVO0sks8bMNBfAVjLNjZJ+1JaS24m1E60JO+C3o1dvDhMgW8VGTmYmBIOpZ3N+tkCmQKTYIHfBrDe0F0o6+cvALwMgM1T7z5TzASAfWM2PZKiHkryX33vvwF0Bh+Dy1SRdC6A5wL4Msln9rUbi+eOAVbJP2Wb/kfLlJkkJuW/kzkO/9Ig87dtXhobo30lZqi5327WzSzpQmJ8rWAC4PyMjeZdvS5t8Au7STj2TCfvZqZBckKPa0o4aq8AcAHJRH9LSmUaa8ZjJvMRkq/MK0nybvqGMGkW7VySPHk2q0y51yP55xbF7ZTRA0K1MjYleXFqqxZQ2upJWofk95p9k7Rv+C+qTYnGfL4HwH4A/gjggy1g8nYABycgGeqbagDKtiQ/1+iD37HZ1w8AbE0ymUw1qpWbZ67/VgD2Bdkxv2zMnEwPrJ8LgF01wJ5KTSAxK20JAlQBiqTjAbw01tKCDvcwk9TLkl/QQDQBpRxMXh0KVxVVKCh+msh1SwsjdpvEfK4kuU5HG6Vd+i4RSfAuuiPJ01vApFNGD5hUyWiR2+kYqwWcTDHvA8CsxL6Q7Ul+ehblzDz1Zhre7ZvMJDU703uP92rH8JEAfhbs1KaJgcDzeW2YQq8l+YEZx5BAfkGpbw9gIin3Ky74XzoiiieSfEnbHAfwO6DRVhZFJLPIo58xG2pjLlNgkhBrK5LnhTKYJWzZfHGS7LE2Xd01/SbpheGEajVDJB0B4HUlVhLyOpFd0gkAPFknkNyjZVF3yuhT5hoZHS/LgLIWSTuOFxVJZmQ/r/XAz+ofCEXbtNDHRMVLYFLacezwbvVr5O1Lulc40K0XG5I0CBpM7L+xE9VmsE3gIpsszFViqM2f0hiKzCQcoeeUlL5nE0k0f0H3+/SkRfdGYyaSdgSQ5n+RI7cDTNytnUie1tO/Equ7iaQDIZPSAJK9epjLFJjYTHEEZbVkL0tyRMcx/wmDsYCgWemlHpCBiXMRHJF5P8l9WgaTIgivJjkJqUraCcCjsvrJ5kxfnZpCl5IcqnYcv5XmZlGKLhnN7g2SMYuizfJMAMqNNfkrmRLYCW7HcFvZg+QJkuzY7gr/7kfSIeKqIsmOeOe/2Fl6XLzbxBKrHefxnPvl/rWVs0k6D2ahxFydHRGVqR20axAZcP8VwDYkHb0cXJpO7sENxAMRnrcJ4vyuKV9UD5jYnLQZPpX/lZ7r81U2gMQ+mjWHgkkxnuw4cwYm3nltm9luc77APjlr6YtJt4QjE8C0zf0CcNTs1qtCxqxKsiqek2SfUQ7Oi8TmeQRZvkupa5eRnJgrNUXSm6z4AI4iabPHG4WB3xvAIBNHkv12rblHhVwI1/1MluPRm2BVGFNyaDp/ZjtHwGrG3QC0UZhJxkqcuLkJyb+3yGnrYpGd1IBJE0i8kWXrrtrMsfPVWa5mJk5Qm5QcTBoDcj6Dw8ETypTZY87+s/9lqlSyhhVmMlSLl0H9EtCXgH0eXc3kjNX8TA7eEZlJAqXjSDrvZlHpYSau25ZmMGm3jZlIWgOA/SM3OlG0IbYrD2XKzEme/81JXhTK4QQ1JxctQqT4zenVtqXckEOkKU28dReSZPprX8dUJCcAqdZnsj9JJ0CVAKtTRp+2ZT6TVhl9bSz19x7GcDXJ3y9VxtjPZyZoiZksmJxjyw29aTIT61Ep78Xsuy0fZjkxEyfA2QdZnLcKMCkmkfYxE0lmlmaYpWJ/inFg0RGKsEamwCTZt5M8/FDo3SIU63j5AnWMMK29uxPPcNRPQODwn/MKSgs91XEuygYk/5lX6kJ2SfcMu81RoPVJ2qE5WEaXMtfKmMeCSG1KsoPaTuS2cg5Jm5hVJRjjml3p/n7XQ44DtMx7co6XfCbFzaNqAFGpr4+3MZ9JyssprqUKMCmmElSAycTl0OdTaaxZA/QUmPhMhr3wj5jBG24q5nMfl5O0B79Ywp5PeSank7THeqFIemS0Yyehw4z5b0lZO1P3+2T0gEmVjI7x2ae0RilsKembAK7vi+Y0FKUUZbl4SC5In6kxBjWPELDNZIftS9Ec2/4bk7x5CIBkAFvli7itRHMkHRIJe53mSsdcOulw/+bvqwxMLDgL795A0gfLqkpQHdfduS+c2FgsW5B0Zl1naTzTezp3VcgovKhR8kyyvqe8kJNJ9h26awPvFPL078V5k/QcAJ8H4IXuBe+FP6hkfe7KM5kpjyUSIg1UzllxmsIXBnVuFVYeA5hjHaZo1vkkt2gDhY6hFdMzVimYxECSvXZ9hMlalStzuvnRaqeVJOexOJfAxebTYaVdK1jGqdnBr3/7FDPJ//TpyDxlNDNWaxPSOjJgFzJqc4WMU8LO4Wh1anfNgyQf47dJdBpJh+DbQCe98856pYcbi70rA3YmsJLkXAsz2MGHSft0ZOzfRwQTH5+wlWCf5dTx/x4zx8ETuxCmolHZc10n3Jdu5uQTKyllw6bF7qsGrvK5m0i7dz6KzaHktHLnvAueS3LrmpckKTl8Xd2A5U/z1LBPsTrW7pKy8P4A4OEknRPQWeYhY95ncxpg4oQvH/F3MtignT0DrptJ+vBea5HkA3WTRDNnQZP0NQe9JTYTn5N6cCkfIjWQnc1xKr0THS/pbfx/TNmmc4pmeIH4kOCyK5nDfLSzOZKc4+PjFC6rN65iSGZfaS4OJ+lwfLFIcgjd/se2Mi6YWEqAhhf8szoEG0Rsn10oyZmHPopdvbtFwpoH3nWfiamzj60bTNIx/J+Go+jXfZo1towcTOZxari5u8VC96lqJwXaHHFor+h8jvfmqJqTBn35kMtGJH3auLM0Lm3y5Uq+E6V18UryQVCnezsnZMip4b85i5nkWR0K7ysQ0n0rrjbqUf6+uRj6e2bmTz06xJnZfFiSr5jwsQoX3zszuTeog5n8juR9h/Y/1U/+tSF9LkZzOl6soyf++NYt//VCNlP5YeFQV6Kkx5P0SdWqEhf3uG2fPJ4oZ9zV4Vj3RSkNu3GozDTOPhqfJO0tY8nIXuRc7jMpUeUw97xTJVPFC9EOXe/0KdPRZ3h8gMtszsXAY0f2kAObzVvgDCYe50KadYCaI3/J0V59CLFxn4kzNb04EiNyn31vi/uQMqyXPZDE4vaJaI9l9PtMJPk0d8oo9+bptefs2OZtf76aIjGZ3vVQqjB3MBnaqyyXZGbHYZfMBqBMpVUP7W/LpOaXES2S0dgVRr9pLWMIU7uxJJ+afUfPGG8A4FybQ/Lkw9p5CSZkM8d5Dl1l3jeteXE6Z2VZmjbNiZHki6k+nu53GZNNSbIT1qe7E9vMxZt1HkwyXdFR+6qn6i07MAmkth3tHBXfVZkuNpp5kIUX58Xu8JlPH1df5DykAwFaUzI6KKZtzfxId1Fcx8nNKp+IJJud6V7WdEerTUD7m/w5ZggbaZuTiPLYSe7U/EcHY5znHbBmWO6/d15HMZZt1KZjzuw4NYOcyx2wcWbH/i1/DLKXjnEHcxqPpOSIH7JUXHdvkkfN7XZ6Sb4iwMlSy+7eiaEzVQCzldvplzqJK88vyxmIzXJI35yRPbn0fW5gMqQ3K3VXZmBlBv7/Z+C/kQ6WkguncSQAAAAASUVORK5CYII=);
background-repeat: no-repeat
}
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_zoom_to_100::before {
content: 'Zoom to Actual Size';
background-position: 0 0
}
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_zoom_in::before {
content: 'Zoom In';
background-position: -25px 0
}
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_zoom_out::before {
content: 'Zoom Out';
background-position: -50px 0
}
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_full_screen::before {
content: 'Full Screen';
background-position: -75px 0
}
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_refresh::before {
content: 'Refresh';
background-position: -100px 0
}
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_rotate_left::before {
content: 'Rotate Left';
background-position: -125px 0
}
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_rotate_right::before {
content: 'Rotate Right';
background-position: -150px 0
}
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_scale_x::before {
content: 'Scale x';
background-position: -175px 0
}
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_scale_y::before {
content: 'Scale y';
background-position: -200px 0
}
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_invert_color::before {
content: 'Invert color';
background-position: -225px 0
}
.oit-normal .oit-img-footer .oit-img-toolbar .toolbar_copy::before {
content: 'Copy';
background-position: -250px 0
}
/*endregion*/
/*region gallery-navbar*/
.oit-normal .oit-img-footer .gallery-navbar {
position: relative;
flex: 0 0 auto;
overflow: hidden;
max-width: 100%;
max-height: 100%;
width: 100%;
height: 60px;
margin-top: 20px;
background-color: rgba(0, 0, 0, .1);
}
.oit-normal .oit-img-footer .gallery-navbar:hover {
background-color: rgba(0, 0, 0, .8);
}
.oit-normal .oit-img-footer .gallery-navbar .gallery-list {
display: flex;
transform: translateX(0px);
cursor: pointer;
}
.oit-normal .oit-img-footer .gallery-navbar .gallery-list .gallery-active {
opacity: 1;
}
.oit-normal .oit-img-footer .gallery-navbar .gallery-list .img-border-active {
margin-top: 1px;
border-width: 1px;
border-style: solid;
border-color: red;
}
.oit-normal .oit-img-footer .gallery-navbar .gallery-list > li {
width: 48px;
height: 58px;
opacity: .3;
color: transparent;
margin: 2px 1px;
padding: 0;
border-radius: 0;
/* transition: all 100ms linear; */
}
.oit-normal .oit-img-footer .gallery-navbar .gallery-list img {
width: 46px;
height: 56px;
}
/*endregion*/
.hotkeys-settings-plus {
margin: 0 10px;
font-size: x-large;
}
/*region pickr*/
.pcr-app .pcr-swatches > button {
padding: 0;
}
/*! Pickr 1.8.2 MIT | https://github.com/Simonwep/pickr */
.pickr {
position: relative;
overflow: visible;
transform: translateY(0)
}
.pickr * {
box-sizing: border-box;
outline: none;
border: none;
-webkit-appearance: none
}
.pickr .pcr-button {
position: relative;
height: 2em;
width: 2em;
padding: 0.5em;
cursor: pointer;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
border-radius: .15em;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" stroke="%2342445A" stroke-width="5px" stroke-linecap="round"><path d="M45,45L5,5"></path><path d="M45,5L5,45"></path></svg>') no-repeat center;
background-size: 0;
transition: all 0.3s
}
.pickr .pcr-button::before {
position: absolute;
content: '';
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: .5em;
border-radius: .15em;
z-index: -1
}
.pickr .pcr-button::before {
z-index: initial
}
.pickr .pcr-button::after {
position: absolute;
content: '';
top: 0;
left: 0;
height: 100%;
width: 100%;
transition: background 0.3s;
background: var(--pcr-color);
border-radius: .15em
}
.pickr .pcr-button.clear {
background-size: 70%
}
.pickr .pcr-button.clear::before {
opacity: 0
}
.pickr .pcr-button.clear:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px var(--pcr-color)
}
.pickr .pcr-button.disabled {
cursor: not-allowed
}
.pickr *, .pcr-app * {
box-sizing: border-box;
outline: none;
border: none;
-webkit-appearance: none
}
.pickr input:focus, .pickr input.pcr-active, .pickr button:focus, .pickr button.pcr-active, .pcr-app input:focus, .pcr-app input.pcr-active, .pcr-app button:focus, .pcr-app button.pcr-active {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px var(--pcr-color)
}
.pickr .pcr-palette, .pickr .pcr-slider, .pcr-app .pcr-palette, .pcr-app .pcr-slider {
transition: box-shadow 0.3s
}
.pickr .pcr-palette:focus, .pickr .pcr-slider:focus, .pcr-app .pcr-palette:focus, .pcr-app .pcr-slider:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(0, 0, 0, 0.25)
}
.pcr-app {
position: fixed;
display: flex;
flex-direction: column;
z-index: 10000;
border-radius: 0.1em;
background: #fff;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s, visibility 0s 0.3s;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
box-shadow: 0 0.15em 1.5em 0 rgba(0, 0, 0, 0.1), 0 0 1em 0 rgba(0, 0, 0, 0.03);
left: 0;
top: 0
}
.pcr-app.visible {
transition: opacity 0.3s;
visibility: visible;
opacity: 1
}
.pcr-app .pcr-swatches {
display: flex;
flex-wrap: wrap;
margin-top: 0.75em
}
.pcr-app .pcr-swatches.pcr-last {
margin: 0
}
@supports (display: grid) {
.pcr-app .pcr-swatches {
display: grid;
align-items: center;
grid-template-columns: repeat(auto-fit, 1.75em)
}
}
.pcr-app .pcr-swatches > button {
font-size: 1em;
position: relative;
width: calc(1.75em - 10px);
height: calc(1.75em - 10px);
border-radius: 0.15em;
cursor: pointer;
margin: 2.5px;
flex-shrink: 0;
justify-self: center;
transition: all 0.15s;
overflow: hidden;
background: transparent;
z-index: 1
}
.pcr-app .pcr-swatches > button::before {
position: absolute;
content: '';
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: 6px;
border-radius: .15em;
z-index: -1
}
.pcr-app .pcr-swatches > button::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--pcr-color);
border: 1px solid rgba(0, 0, 0, 0.05);
border-radius: 0.15em;
box-sizing: border-box
}
.pcr-app .pcr-swatches > button:hover {
filter: brightness(1.05)
}
.pcr-app .pcr-swatches > button:not(.pcr-active) {
box-shadow: none
}
.pcr-app .pcr-interaction {
display: flex;
flex-wrap: wrap;
align-items: center;
margin: 0 -0.2em 0 -0.2em
}
.pcr-app .pcr-interaction > * {
margin: 0 0.2em
}
.pcr-app .pcr-interaction input {
letter-spacing: 0.07em;
font-size: 0.75em;
text-align: center;
cursor: pointer;
color: #75797e;
background: #f1f3f4;
border-radius: .15em;
transition: all 0.15s;
padding: 0.45em 0.5em;
margin-top: 0.75em
}
.pcr-app .pcr-interaction input:hover {
filter: brightness(0.975)
}
.pcr-app .pcr-interaction input:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(66, 133, 244, 0.75)
}
.pcr-app .pcr-interaction .pcr-result {
color: #75797e;
text-align: left;
flex: 1 1 8em;
min-width: 8em;
transition: all 0.2s;
border-radius: .15em;
background: #f1f3f4;
cursor: text
}
.pcr-app .pcr-interaction .pcr-result::-moz-selection {
background: #4285f4;
color: #fff
}
.pcr-app .pcr-interaction .pcr-result::selection {
background: #4285f4;
color: #fff
}
.pcr-app .pcr-interaction .pcr-type.active {
color: #fff;
background: #4285f4
}
.pcr-app .pcr-interaction .pcr-save, .pcr-app .pcr-interaction .pcr-cancel, .pcr-app .pcr-interaction .pcr-clear {
color: #fff;
width: auto
}
.pcr-app .pcr-interaction .pcr-save, .pcr-app .pcr-interaction .pcr-cancel, .pcr-app .pcr-interaction .pcr-clear {
color: #fff
}
.pcr-app .pcr-interaction .pcr-save:hover, .pcr-app .pcr-interaction .pcr-cancel:hover, .pcr-app .pcr-interaction .pcr-clear:hover {
filter: brightness(0.925)
}
.pcr-app .pcr-interaction .pcr-save {
background: #4285f4
}
.pcr-app .pcr-interaction .pcr-clear, .pcr-app .pcr-interaction .pcr-cancel {
background: #f44250
}
.pcr-app .pcr-interaction .pcr-clear:focus, .pcr-app .pcr-interaction .pcr-cancel:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(244, 66, 80, 0.75)
}
.pcr-app .pcr-selection .pcr-picker {
position: absolute;
height: 18px;
width: 18px;
border: 2px solid #fff;
border-radius: 100%;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none
}
.pcr-app .pcr-selection .pcr-color-palette, .pcr-app .pcr-selection .pcr-color-chooser, .pcr-app .pcr-selection .pcr-color-opacity {
position: relative;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
display: flex;
flex-direction: column;
cursor: grab;
cursor: -webkit-grab
}
.pcr-app .pcr-selection .pcr-color-palette:active, .pcr-app .pcr-selection .pcr-color-chooser:active, .pcr-app .pcr-selection .pcr-color-opacity:active {
cursor: grabbing;
cursor: -webkit-grabbing
}
.pcr-app[data-theme='nano'] {
width: 14.25em;
max-width: 95vw
}
.pcr-app[data-theme='nano'] .pcr-swatches {
margin-top: .6em;
padding: 0 .6em
}
.pcr-app[data-theme='nano'] .pcr-interaction {
padding: 0 .6em .6em .6em
}
.pcr-app[data-theme='nano'] .pcr-selection {
display: grid;
grid-gap: .6em;
grid-template-columns: 1fr 4fr;
grid-template-rows: 5fr auto auto;
align-items: center;
height: 10.5em;
width: 100%;
align-self: flex-start
}
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-preview {
grid-area: 2 / 1 / 4 / 1;
height: 100%;
width: 100%;
display: flex;
flex-direction: row;
justify-content: center;
margin-left: .6em
}
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-preview .pcr-last-color {
display: none
}
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-preview .pcr-current-color {
position: relative;
background: var(--pcr-color);
width: 2em;
height: 2em;
border-radius: 50em;
overflow: hidden
}
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-preview .pcr-current-color::before {
position: absolute;
content: '';
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: .5em;
border-radius: .15em;
z-index: -1
}
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-palette {
grid-area: 1 / 1 / 2 / 3;
width: 100%;
height: 100%;
z-index: 1
}
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-palette .pcr-palette {
border-radius: .15em;
width: 100%;
height: 100%
}
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-palette .pcr-palette::before {
position: absolute;
content: '';
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: .5em;
border-radius: .15em;
z-index: -1
}
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-chooser {
grid-area: 2 / 2 / 2 / 2
}
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-opacity {
grid-area: 3 / 2 / 3 / 2
}
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-chooser, .pcr-app[data-theme='nano'] .pcr-selection .pcr-color-opacity {
height: 0.5em;
margin: 0 .6em
}
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-chooser .pcr-picker, .pcr-app[data-theme='nano'] .pcr-selection .pcr-color-opacity .pcr-picker {
top: 50%;
transform: translateY(-50%)
}
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-chooser .pcr-slider, .pcr-app[data-theme='nano'] .pcr-selection .pcr-color-opacity .pcr-slider {
flex-grow: 1;
border-radius: 50em
}
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-chooser .pcr-slider {
background: linear-gradient(to right, red, #ff0, lime, cyan, blue, #f0f, red)
}
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-opacity .pcr-slider {
background: linear-gradient(to right, transparent, black), url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: 100%, 0.25em
}
/*endregion*/
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"id":"obsidian-kanban","name":"Kanban","version":"2.0.49","minAppVersion":"1.0.0","description":"Create markdown-backed Kanban boards in Obsidian.","author":"mgmeyers","authorUrl":"https://github.com/mgmeyers/obsidian-kanban","helpUrl":"https://publish.obsidian.md/kanban/Obsidian+Kanban+Plugin","isDesktopOnly":false}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"id":"obsidian-latex-suite","name":"Latex Suite","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","authorUrl":"https://github.com/artisticat1","fundingUrl":"https://ko-fi.com/artisticat","isDesktopOnly":false}
+235
View File
@@ -0,0 +1,235 @@
/* Settings panel */
.setting-item.hidden {
display: none;
}
.setting-item.setting-item-heading .latex-suite-settings-icon {
margin-right: var(--size-4-2);
display: inline-flex;
}
.setting-item.setting-item-heading:has(.latex-suite-settings-icon) {
border-bottom: 1px solid var(--background-modifier-border);
}
.setting-item.setting-item-heading:has(.latex-suite-settings-icon) + .setting-item {
border-top: none;
}
.setting-item.setting-item-heading:has(.latex-suite-settings-icon) ~ .setting-item:not(.setting-item-heading), .latex-suite-snippet-variables-setting + .setting-item-control {
width: calc(100% - 26px);
margin-left: 26px;
}
.latex-suite-snippet-variables-setting .setting-item-control {
height: 120px;
}
.latex-suite-snippet-variables-setting .setting-item-control textarea {
width: 100%;
height: 100%;
}
.snippets-text-area, .latex-suite-snippet-variables-setting {
display: inline-block;
}
.snippets-text-area .setting-item-info, .latex-suite-snippet-variables-setting .setting-item-info {
margin-bottom: 0.75rem;
}
.snippets-text-area .setting-item-control {
flex-direction: column;
align-items: flex-end;
}
.snippets-editor-wrapper {
width: 100%;
margin-bottom: 0.75rem;
}
.snippets-editor-wrapper .cm-editor {
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
font-size: var(--font-inputs);
height: 20em;
outline: none !important;
text-align: left;
}
.snippets-editor-wrapper .cm-line, .snippets-editor-wrapper .cm-lineNumbers {
font-family: var(--font-monospace);
}
.snippets-footer {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.snippets-editor-validity {
display: flex;
align-items: center;
}
.snippets-editor-validity-indicator {
color: white;
display: inline-block;
border-radius: 1em;
margin-right: 10px;
cursor: default;
visibility: hidden;
}
.snippets-editor-validity-indicator svg {
width: 16px !important;
height: 16px !important;
}
.snippets-editor-validity-indicator:hover {
color: white;
}
.snippets-editor-validity-indicator.valid {
background-color: var(--color-green);
visibility: visible;
}
.snippets-editor-validity-indicator.invalid {
background-color: var(--color-red);
visibility: visible;
}
.snippets-editor-buttons {
display: flex;
flex-direction: row;
}
.latex-suite-confirmation-modal .setting-item {
border: none;
}
.search-input-container input.latex-suite-location-input-el {
width: initial;
}
/*
Snippet color classes.
*/
/* These extra selectors enforce their color on all children, because CodeMirror does weird nesting of spans when
nesting multiple decorations. */
.latex-suite-snippet-placeholder {
border-radius: 2px;
background-color: var(--placeholder-bg);
outline: var(--placeholder-outline) solid 1px;
}
.latex-suite-snippet-placeholder-0, span.latex-suite-snippet-placeholder-0 span {
--placeholder-bg: #87cefa2e;
--placeholder-outline: #87cefa6e;
}
.theme-dark .latex-suite-snippet-placeholder-0, span.latex-suite-snippet-placeholder-0 span {
--placeholder-outline: #87cefa43;
}
.latex-suite-snippet-placeholder-1, span.latex-suite-snippet-placeholder-1 span {
--placeholder-bg: #ffa50033;
--placeholder-outline: #ffa5006b;
}
.theme-dark .latex-suite-snippet-placeholder-1, span.latex-suite-snippet-placeholder-1 span {
--placeholder-outline: #ffa5004d;
}
.latex-suite-snippet-placeholder-2, span.latex-suite-snippet-placeholder-2 span {
--placeholder-bg: #00ff0022;
--placeholder-outline: #00ff0060;
}
.theme-dark .latex-suite-snippet-placeholder-2, span.latex-suite-snippet-placeholder-2 span {
--placeholder-outline: #00ff003d;
}
/* Conceal */
span.cm-math.cm-concealed-bold {
font-weight: bold;
}
span.cm-math.cm-concealed-underline {
text-decoration: underline;
}
span.cm-math.cm-concealed-mathrm, sub.cm-math.cm-concealed-mathrm {
font-style: normal;
}
/* Conceal superscripts without changing line height */
sup.cm-math {
line-height: 0;
}
sup.cm-math, sub.cm-math {
font-style: italic;
}
/* Inline math tooltip styling */
.theme-light .cm-tooltip.cm-tooltip-cursor {
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.028), 0px 3.4px 6.7px rgba(0, 0, 0, .042), 0px 5px 20px rgba(0, 0, 0, .07);
}
.theme-dark .cm-tooltip.cm-tooltip-cursor {
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1),
0px 3.4px 6.7px rgba(0, 0, 0, 0.15),
0px 0px 30px rgba(0, 0, 0, 0.27);
}
/* Highlight brackets */
.theme-light .latex-suite-highlighted-bracket, .theme-light .latex-suite-highlighted-bracket [class^="latex-suite-color-bracket-"] {
background-color: hsl(var(--accent-h), var(--accent-s), 40%, 0.3);
}
.theme-dark .latex-suite-highlighted-bracket, .theme-dark .latex-suite-highlighted-bracket [class^="latex-suite-color-bracket-"] {
background-color: hsl(var(--accent-h), var(--accent-s), 70%, 0.6);
}
/* Color matching brackets */
.theme-light .latex-suite-color-bracket-0, .theme-light .latex-suite-color-bracket-0 .cm-bracket {
color: #527aff;
}
.theme-dark .latex-suite-color-bracket-0, .theme-dark .latex-suite-color-bracket-0 .cm-bracket {
color: #47b8ff;
}
.theme-light .latex-suite-color-bracket-1, .theme-light .latex-suite-color-bracket-1 .cm-bracket {
color: #ff50b7;
}
.theme-dark .latex-suite-color-bracket-1, .theme-dark .latex-suite-color-bracket-1 .cm-bracket {
color: #ff55cd;
}
.theme-light .latex-suite-color-bracket-2, .theme-light .latex-suite-color-bracket-2 .cm-bracket {
color: #69ba00;
}
.theme-dark .latex-suite-color-bracket-2, .theme-dark .latex-suite-color-bracket-2 .cm-bracket {
color: #73ff63;
}
/* .latex-suite-color-bracket-3 {
color: #8de15c;
} */
+101
View File
@@ -0,0 +1,101 @@
{
"mapMarkers": [
{
"id": "kyoto",
"lastAccessed": 1763017532392,
"markers": [
{
"id": "ID_886a5a494a3b",
"type": "default",
"loc": [
35.05306927554334,
135.7276932225072
],
"layer": "real",
"mutable": true,
"command": false,
"percent": null,
"description": null,
"minZoom": null,
"maxZoom": null,
"tooltip": "hover"
},
{
"id": "ID_383828298ba8",
"type": "default",
"loc": [
35.01782969969814,
135.7695581651632
],
"layer": "real",
"mutable": true,
"command": false,
"percent": null,
"description": null,
"minZoom": null,
"maxZoom": null,
"tooltip": "hover"
},
{
"id": "ID_ab080aaa08a8",
"type": "default",
"loc": [
35.011643471558244,
135.72529113563354
],
"layer": "real",
"mutable": true,
"command": false,
"percent": null,
"description": null,
"minZoom": null,
"maxZoom": null,
"tooltip": "hover"
}
],
"overlays": [],
"shapes": [],
"files": [
"References/武汉市硚口区古田街道罗家墩122号.md",
"References/西安市航天大道1199号大华公园世家5街区.md",
"References/丈八东路8号通信学院家属院.md",
"Templates/City Template.md"
]
}
],
"defaultMarker": {
"type": "default",
"iconName": "map-marker",
"color": "#dddddd",
"transform": {
"size": 6,
"x": 0,
"y": -2
}
},
"markerIcons": [],
"color": "#dddddd",
"lat": 39.983334,
"long": -82.98333,
"notePreview": false,
"layerMarkers": true,
"previousVersion": "6.0.5",
"version": {
"major": 6,
"minor": 0,
"patch": 5
},
"warnedAboutMapMarker": false,
"copyOnClick": false,
"displayMarkerTooltips": "hover",
"displayOverlayTooltips": true,
"configDirectory": null,
"mapViewEnabled": true,
"mapViewParameters": {},
"enableDraw": true,
"defaultUnitType": "imperial",
"defaultTile": "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}.png",
"defaultTileDark": "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}.png",
"defaultAttribution": "&copy; <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors &copy; <a href=\"https://carto.com/attributions\">CARTO</a>",
"defaultTileSubdomains": "a,b,c,d"
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"id":"obsidian-leaflet-plugin","name":"Leaflet","description":"Interactive maps inside your notes","version":"6.0.5","minAppVersion":"0.12.12","author":"Jeremy Valentine","repo":"valentine195/obsidian-leaflet-plugin","isDesktopOnly":false}
File diff suppressed because it is too large Load Diff
+292
View File
@@ -0,0 +1,292 @@
{
"ruleConfigs": {
"add-blank-line-after-yaml": {
"enabled": false
},
"dedupe-yaml-array-values": {
"enabled": false,
"dedupe-alias-key": true,
"dedupe-tag-key": true,
"dedupe-array-keys": true,
"ignore-keys": ""
},
"escape-yaml-special-characters": {
"enabled": false,
"try-to-escape-single-line-arrays": false
},
"force-yaml-escape": {
"enabled": false,
"force-yaml-escape-keys": ""
},
"format-tags-in-yaml": {
"enabled": false
},
"format-yaml-array": {
"enabled": false,
"alias-key": true,
"tag-key": true,
"default-array-style": "single-line",
"default-array-keys": true,
"force-single-line-array-style": "",
"force-multi-line-array-style": ""
},
"insert-yaml-attributes": {
"enabled": false,
"text-to-insert": "aliases: \ntags: "
},
"move-tags-to-yaml": {
"enabled": false,
"how-to-handle-existing-tags": "Nothing",
"tags-to-ignore": ""
},
"remove-yaml-keys": {
"enabled": false,
"yaml-keys-to-remove": ""
},
"sort-yaml-array-values": {
"enabled": false,
"sort-alias-key": true,
"sort-tag-key": true,
"sort-array-keys": true,
"ignore-keys": "",
"sort-order": "Ascending Alphabetical"
},
"yaml-key-sort": {
"enabled": false,
"yaml-key-priority-sort-order": "",
"priority-keys-at-start-of-yaml": true,
"yaml-sort-order-for-other-keys": "None"
},
"yaml-timestamp": {
"enabled": false,
"date-created": true,
"date-created-key": "date created",
"date-created-source-of-truth": "file system",
"date-modified": true,
"date-modified-key": "date modified",
"date-modified-source-of-truth": "file system",
"format": "dddd, MMMM Do YYYY, h:mm:ss a",
"convert-to-utc": false,
"update-on-file-contents-updated": "never"
},
"yaml-title": {
"enabled": false,
"title-key": "title",
"mode": "first-h1-or-filename-if-h1-missing"
},
"yaml-title-alias": {
"enabled": false,
"preserve-existing-alias-section-style": true,
"keep-alias-that-matches-the-filename": false,
"use-yaml-key-to-keep-track-of-old-filename-or-heading": true,
"alias-helper-key": "linter-yaml-title-alias"
},
"capitalize-headings": {
"enabled": false,
"style": "Title Case",
"ignore-case-words": true,
"ignore-words": "macOS, iOS, iPhone, iPad, JavaScript, TypeScript, AppleScript, I",
"lowercase-words": "a, an, the, aboard, about, abt., above, abreast, absent, across, after, against, along, aloft, alongside, amid, amidst, mid, midst, among, amongst, anti, apropos, around, round, as, aslant, astride, at, atop, ontop, bar, barring, before, B4, behind, below, beneath, neath, beside, besides, between, 'tween, beyond, but, by, chez, circa, c., ca., come, concerning, contra, counting, cum, despite, spite, down, during, effective, ere, except, excepting, excluding, failing, following, for, from, in, including, inside, into, less, like, minus, modulo, mod, near, nearer, nearest, next, notwithstanding, of, o', off, offshore, on, onto, opposite, out, outside, over, o'er, pace, past, pending, per, plus, post, pre, pro, qua, re, regarding, respecting, sans, save, saving, short, since, sub, than, through, thru, throughout, thruout, till, times, to, t', touching, toward, towards, under, underneath, unlike, until, unto, up, upon, versus, vs., v., via, vice, vis-à-vis, wanting, with, w/, w., c̄, within, w/i, without, 'thout, w/o, abroad, adrift, aft, afterward, afterwards, ahead, apart, ashore, aside, away, back, backward, backwards, beforehand, downhill, downstage, downstairs, downstream, downward, downwards, downwind, east, eastward, eastwards, forth, forward, forwards, heavenward, heavenwards, hence, henceforth, here, hereby, herein, hereof, hereto, herewith, home, homeward, homewards, indoors, inward, inwards, leftward, leftwards, north, northeast, northward, northwards, northwest, now, onward, onwards, outdoors, outward, outwards, overboard, overhead, overland, overseas, rightward, rightwards, seaward, seawards, skywards, skyward, south, southeast, southwards, southward, southwest, then, thence, thenceforth, there, thereby, therein, thereof, thereto, therewith, together, underfoot, underground, uphill, upstage, upstairs, upstream, upward, upwards, upwind, west, westward, westwards, when, whence, where, whereby, wherein, whereto, wherewith, although, because, considering, given, granted, if, lest, once, provided, providing, seeing, so, supposing, though, unless, whenever, whereas, wherever, while, whilst, ago, according to, as regards, counter to, instead of, owing to, pertaining to, at the behest of, at the expense of, at the hands of, at risk of, at the risk of, at variance with, by dint of, by means of, by virtue of, by way of, for the sake of, for sake of, for lack of, for want of, from want of, in accordance with, in addition to, in case of, in charge of, in compliance with, in conformity with, in contact with, in exchange for, in favor of, in front of, in lieu of, in light of, in the light of, in line with, in place of, in point of, in quest of, in relation to, in regard to, with regard to, in respect to, with respect to, in return for, in search of, in step with, in touch with, in terms of, in the name of, in view of, on account of, on behalf of, on grounds of, on the grounds of, on the part of, on top of, with a view to, with the exception of, à la, a la, as soon as, as well as, close to, due to, far from, in case, other than, prior to, pursuant to, regardless of, subsequent to, as long as, as much as, as far as, by the time, in as much as, inasmuch, in order to, in order that, even, provide that, if only, whether, whose, whoever, why, how, or not, whatever, what, both, and, or, not only, but also, either, neither, nor, just, rather, no sooner, such, that, yet, is, it"
},
"file-name-heading": {
"enabled": false
},
"header-increment": {
"enabled": false,
"start-at-h2": false
},
"headings-start-line": {
"enabled": true
},
"remove-trailing-punctuation-in-heading": {
"enabled": false,
"punctuation-to-remove": ".,;:!。,;:!"
},
"footnote-after-punctuation": {
"enabled": false
},
"move-footnotes-to-the-bottom": {
"enabled": false
},
"re-index-footnotes": {
"enabled": false
},
"auto-correct-common-misspellings": {
"enabled": false,
"ignore-words": "",
"skip-words-with-multiple-capitals": false,
"extra-auto-correct-files": []
},
"blockquote-style": {
"enabled": true,
"style": "space"
},
"convert-bullet-list-markers": {
"enabled": true
},
"default-language-for-code-fences": {
"enabled": true,
"default-language": ""
},
"emphasis-style": {
"enabled": true,
"style": "consistent"
},
"no-bare-urls": {
"enabled": true,
"no-bare-uris": false
},
"ordered-list-style": {
"enabled": false,
"number-style": "ascending",
"list-end-style": "."
},
"proper-ellipsis": {
"enabled": true
},
"quote-style": {
"enabled": false,
"single-quote-enabled": true,
"single-quote-style": "''",
"double-quote-enabled": true,
"double-quote-style": "\"\""
},
"remove-consecutive-list-markers": {
"enabled": true
},
"remove-empty-list-markers": {
"enabled": true
},
"remove-hyphenated-line-breaks": {
"enabled": true
},
"remove-multiple-spaces": {
"enabled": true
},
"strong-style": {
"enabled": false,
"style": "consistent"
},
"two-spaces-between-lines-with-content": {
"enabled": false,
"line-break-indicator": " "
},
"unordered-list-style": {
"enabled": false,
"list-style": "consistent"
},
"compact-yaml": {
"enabled": false,
"inner-new-lines": false
},
"consecutive-blank-lines": {
"enabled": true
},
"convert-spaces-to-tabs": {
"enabled": false,
"tabsize": 4
},
"empty-line-around-blockquotes": {
"enabled": false
},
"empty-line-around-code-fences": {
"enabled": false
},
"empty-line-around-horizontal-rules": {
"enabled": false
},
"empty-line-around-math-blocks": {
"enabled": false
},
"empty-line-around-tables": {
"enabled": true
},
"heading-blank-lines": {
"enabled": true,
"bottom": true,
"empty-line-after-yaml": true
},
"line-break-at-document-end": {
"enabled": true
},
"move-math-block-indicators-to-their-own-line": {
"enabled": false
},
"paragraph-blank-lines": {
"enabled": true
},
"remove-empty-lines-between-list-markers-and-checklists": {
"enabled": true
},
"remove-link-spacing": {
"enabled": true
},
"remove-space-around-characters": {
"enabled": false,
"include-fullwidth-forms": true,
"include-cjk-symbols-and-punctuation": true,
"include-dashes": true,
"other-symbols": ""
},
"remove-space-before-or-after-characters": {
"enabled": false,
"characters-to-remove-space-before": ",!?;:).’”]",
"characters-to-remove-space-after": "¿¡‘“(["
},
"space-after-list-markers": {
"enabled": false
},
"space-between-chinese-japanese-or-korean-and-english-or-numbers": {
"enabled": false,
"english-symbols-punctuation-before": "-+;:'\"°%$)]",
"english-symbols-punctuation-after": "-+'\"([¥$"
},
"trailing-spaces": {
"enabled": false,
"two-space-line-break": false
},
"add-blockquote-indentation-on-paste": {
"enabled": true
},
"prevent-double-checklist-indicator-on-paste": {
"enabled": true
},
"prevent-double-list-item-indicator-on-paste": {
"enabled": true
},
"proper-ellipsis-on-paste": {
"enabled": true
},
"remove-hyphens-on-paste": {
"enabled": true
},
"remove-leading-or-trailing-whitespace-on-paste": {
"enabled": true
},
"remove-leftover-footnotes-from-quote-on-paste": {
"enabled": true
},
"remove-multiple-blank-lines-on-paste": {
"enabled": true
}
},
"lintOnSave": true,
"recordLintOnSaveLogs": false,
"displayChanged": true,
"lintOnFileChange": true,
"displayLintOnFileChangeNotice": false,
"settingsConvertedToConfigKeyValues": true,
"foldersToIgnore": [],
"filesToIgnore": [],
"linterLocale": "system-default",
"logLevel": "ERROR",
"lintCommands": [],
"customRegexes": [],
"commonStyles": {
"aliasArrayStyle": "single-line",
"tagArrayStyle": "single-line",
"minimumNumberOfDollarSignsToBeAMathBlock": 2,
"escapeCharacter": "\"",
"removeUnnecessaryEscapeCharsForMultiLineArrays": false
}
}
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"id":"obsidian-linter","name":"Linter","version":"1.30.0","minAppVersion":"1.9.0","description":"Formats and styles your notes. It can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular markdown contents like list, italics, and bold styles; and more with the use of custom rule options as well.","author":"Victor Tao","authorUrl":"https://github.com/platers","helpUrl":"https://platers.github.io/obsidian-linter/","isDesktopOnly":false}
+1
View File
@@ -0,0 +1 @@
.linter-navigation-item{align-items:center;background-color:var(--background-primary-secondary-alt);border:1px solid var(--background-modifier-border);border-radius:100px;border-radius:8px 8px 2px 2px;cursor:pointer;display:flex;flex-direction:row;font-size:16px;font-weight:700;gap:4px;height:32px;overflow:hidden;padding:4px 6px;transition:color .25s ease-in-out,padding .25s ease-in-out,background-color .35s cubic-bezier(.45,.25,.83,.67),max-width .35s cubic-bezier(.57,.04,.58,1);white-space:nowrap}@media screen and (max-width:1325px){.linter-navigation-item.linter-desktop{max-width:32px}}@media screen and (max-width:800px){.linter-navigation-item.linter-mobile{max-width:32px}}.linter-navigation-item-icon,.linter-warning{padding-top:5px}.linter-navigation-item:hover{border-color:var(--interactive-accent-hover);border-bottom:0}.linter-navigation-item-selected{background-color:var(--interactive-accent)!important;border:1px solid var(--background-modifier-border);border-bottom:0;border-radius:8px 8px 2px 2px;color:var(--text-on-accent);max-width:100%!important;padding:4px 9px!important;transition:color .25s ease-in-out,padding .25s ease-in-out,background-color .35s cubic-bezier(.45,.25,.83,.67),max-width .45s cubic-bezier(.57,.04,.58,1) .2s}.linter{transition:transform .4s 0s}.linter-setting-title{align-items:baseline;display:flex;gap:30px;justify-content:space-between}.linter-setting-title.linter-mobile{justify-content:space-around}.linter-setting-title h1{font-weight:900;margin-bottom:12px;margin-top:6px}.linter-setting-header{margin-bottom:24px;overflow-x:auto;overflow-y:hidden}.linter-setting-header .linter-setting-tab-group{align-items:flex-end;display:flex;flex-wrap:wrap;width:100%}.linter-setting-tab-group{border-bottom:2px solid var(--background-modifier-border);margin-top:6px;padding-left:2px;padding-right:2px}.linter-setting-header .linter-tab-settings{border-left:2px solid transparent;border-right:2px solid transparent;cursor:pointer;font-weight:600;padding:6px 12px;white-space:nowrap}.linter-setting-header .linter-tab-settings:first-child{margin-left:6px}.linter-setting-header .linter-tab-settings.linter-tab-settings-active{border:2px solid var(--background-modifier-border);border-bottom-color:var(--background-primary);border-radius:2px;transform:translateY(2px)}.linter-navigation-item:not(.linter-navigation-item-selected)>span:nth-child(2),.linter-visually-hidden{border:0;clip:rect(0 0 0 0);clip-path:rect(0 0 0 0);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}textarea.full-width{margin-bottom:.8em;margin-top:.8em;min-height:10em;width:100%}.full-width-textbox-input-wrapper{position:relative}.settings-copy-button{margin:0 0 0 auto;padding:4px;position:absolute;right:.8em;top:.8em}.settings-copy-button svg.linter-clipboard path{fill:var(--text-faint)}.settings-copy-button svg.linter-success path{fill:var(--interactive-success)}.settings-copy-button:active,.settings-copy-button:hover{cursor:pointer}.settings-copy-button:active svg path,.settings-copy-button:hover svg path{fill:var(--text-accent-hover);transition:all .3s ease}.settings-copy-button:focus{outline:0}.linter-custom-regex-replacement-container div:last-child{border:none}.linter-custom-regex-replacement{border:none;border-bottom:var(--hr-thickness) solid;border-color:var(--hr-color);margin-bottom:15px}.linter-custom-regex-replacement-row2{flex-wrap:wrap}.linter-custom-regex-replacement-normal-input{width:40%}.linter-custom-regex-replacement-flags{width:15%}.linter-custom-regex-replacement-label{flex-direction:row-reverse}.linter-custom-regex-replacement-label-input{width:50%}.linter-files-to-ignore-container div:last-child{border:none}.linter-files-to-ignore{border:none;border-bottom:var(--hr-thickness) solid;border-color:var(--hr-color);margin-bottom:15px}.linter-files-to-ignore-normal-input{width:40%}.linter-files-to-ignore-flags{width:15%}.linter-no-border{border:none}.linter-border-bottom{border-bottom:1px solid var(--background-modifier-border);border-top:0;margin-bottom:.75em}.linter-no-padding-top{padding-top:0}.custom-row-description{margin-top:0}.modal-warn,.search-zero-state{font-weight:700}.modal-heading,.search-zero-state{text-align:center}
+162
View File
@@ -0,0 +1,162 @@
{
"remoteType": "",
"useCustomRequestHandler": false,
"couchDB_URI": "",
"couchDB_USER": "",
"couchDB_PASSWORD": "",
"couchDB_DBNAME": "",
"liveSync": true,
"syncOnSave": false,
"syncOnStart": false,
"savingDelay": 200,
"lessInformationInLog": false,
"gcDelay": 0,
"versionUpFlash": "",
"minimumChunkSize": 20,
"longLineThreshold": 250,
"showVerboseLog": false,
"suspendFileWatching": false,
"trashInsteadDelete": true,
"periodicReplication": false,
"periodicReplicationInterval": 60,
"syncOnFileOpen": false,
"encrypt": false,
"passphrase": "",
"usePathObfuscation": false,
"doNotDeleteFolder": false,
"resolveConflictsByNewerFile": false,
"batchSave": false,
"batchSaveMinimumDelay": 5,
"batchSaveMaximumDelay": 60,
"deviceAndVaultName": "",
"usePluginSettings": false,
"showOwnPlugins": false,
"showStatusOnEditor": true,
"showStatusOnStatusbar": true,
"showOnlyIconsOnEditor": false,
"hideFileWarningNotice": false,
"networkWarningStyle": "",
"usePluginSync": false,
"autoSweepPlugins": false,
"autoSweepPluginsPeriodic": false,
"notifyPluginOrSettingUpdated": false,
"checkIntegrityOnSave": false,
"batch_size": 25,
"batches_limit": 25,
"useHistory": true,
"disableRequestURI": true,
"skipOlderFilesOnSync": true,
"checkConflictOnlyOnOpen": false,
"showMergeDialogOnlyOnActive": false,
"syncInternalFiles": false,
"syncInternalFilesBeforeReplication": false,
"syncInternalFilesIgnorePatterns": "\\/node_modules\\/, \\/\\.git\\/, \\/obsidian-livesync\\/",
"syncInternalFilesTargetPatterns": "",
"syncInternalFilesInterval": 60,
"additionalSuffixOfDatabaseName": "783de1dd432071b4",
"ignoreVersionCheck": false,
"lastReadUpdates": 25,
"deleteMetadataOfDeletedFiles": false,
"syncIgnoreRegEx": "",
"syncOnlyRegEx": "",
"customChunkSize": 60,
"readChunksOnline": true,
"watchInternalFileChanges": true,
"automaticallyDeleteMetadataOfDeletedFiles": 0,
"disableMarkdownAutoMerge": false,
"writeDocumentsIfConflicted": false,
"useDynamicIterationCount": false,
"syncAfterMerge": false,
"configPassphraseStore": "",
"encryptedPassphrase": "",
"encryptedCouchDBConnection": "%$iL+YhvU7GzoIkl3kMyFSMuH4uL4hzpx3n5BOxerEfC+6niKUUC864JX1OCqgTdcUSB7A6TnHEEAlzvt7GAAogijfr2bJxbdgbeCfpPjpF6PuTji2lz+nPgOe/YEs6aMLwDsXaIoZJSrIva3HCvPYmH6iU9cHR69wW6XOaqTqkVvKqaNteYTK5eQWCQ9HbBg+4bWvkwgjZ3Z7eMFp7cUcQSlQmP1niE+suZWhYzTF8O/i/1eSyL/vNscXRcDueD47DQdCs4ZjlCzUXKFT0wE1r1jbe4vtjFLd9qNQ+i0DIX4aCT5BgrXoQ50/PjiwR2AsS2+KN419hkYBh7Scf1aFUvquB6wFIRYjOpK6Q2/T9DCZh9iw5a2KtZJiiuHPgd71zBblcYisQLKSW13SVnyLLNv38Es8Q7/XmJJff5/Mmaiu08G3Dr1nHlaVG6xxhyy4w86s3koQeK5ja01Z2EZf+YwcXwEhIVHBYzliCcIerafrUqhhMprQOPJKDu4JgNZAK+ANPaQwG5J4HR8JH9woMkl5zuoaNRVYijdNfUC7B0xhNQDZTLlpRgZ3UCZ5rx6q4YPS98c9XWcQiuTWSb2U1840saroaLnjJLI9CvgB+PgpGo8u+fCenMBa925ogKga/WD1o2QN5eVxM3Yycy7NdMpZOUo8rMnmjXsF2yCguD1XiOI1Ci2E0LVDCyC0XS/Lx+jSYeI1feoCvLE=",
"permitEmptyPassphrase": false,
"useIndexedDBAdapter": false,
"useTimeouts": false,
"writeLogToTheFile": false,
"doNotPaceReplication": false,
"hashCacheMaxCount": 300,
"hashCacheMaxAmount": 50,
"concurrencyOfReadChunksOnline": 40,
"minimumIntervalOfReadChunksOnline": 50,
"hashAlg": "xxhash64",
"suspendParseReplicationResult": false,
"doNotSuspendOnFetching": false,
"useIgnoreFiles": false,
"ignoreFiles": ".gitignore",
"syncOnEditorSave": false,
"pluginSyncExtendedSetting": {},
"syncMaxSizeInMB": 50,
"settingSyncFile": "",
"writeCredentialsForSettingSync": false,
"notifyAllSettingSyncFile": false,
"isConfigured": true,
"settingVersion": 10,
"enableCompression": false,
"accessKey": "",
"bucket": "",
"endpoint": "",
"region": "",
"secretKey": "",
"useEden": false,
"maxChunksInEden": 10,
"maxTotalLengthInEden": 1024,
"maxAgeInEden": 10,
"disableCheckingConfigMismatch": false,
"displayLanguage": "zh",
"enableChunkSplitterV2": false,
"disableWorkerForGeneratingChunks": false,
"processSmallFilesInUIThread": false,
"notifyThresholdOfRemoteStorageSize": 2000,
"usePluginSyncV2": true,
"usePluginEtc": false,
"handleFilenameCaseSensitive": false,
"doNotUseFixedRevisionForChunks": true,
"showLongerLogInsideEditor": false,
"sendChunksBulk": false,
"sendChunksBulkMaxSize": 1,
"useSegmenter": false,
"useAdvancedMode": false,
"usePowerUserMode": false,
"useEdgeCaseMode": false,
"enableDebugTools": false,
"suppressNotifyHiddenFilesChange": false,
"syncMinimumInterval": 2000,
"P2P_Enabled": false,
"P2P_AutoAccepting": 0,
"P2P_AppID": "self-hosted-livesync",
"P2P_roomID": "",
"P2P_passphrase": "",
"P2P_relays": "wss://exp-relay.vrtmrz.net/",
"P2P_AutoBroadcast": false,
"P2P_AutoStart": false,
"P2P_AutoSyncPeers": "",
"P2P_AutoWatchPeers": "",
"P2P_SyncOnReplication": "",
"P2P_RebuildFrom": "",
"P2P_AutoAcceptingPeers": "",
"P2P_AutoDenyingPeers": "",
"P2P_IsHeadless": false,
"P2P_DevicePeerName": "",
"P2P_turnServers": "",
"P2P_turnUsername": "",
"P2P_turnCredential": "",
"doctorProcessedVersion": "",
"bucketCustomHeaders": "",
"couchDB_CustomHeaders": "",
"useJWT": false,
"jwtAlgorithm": "",
"jwtKey": "",
"jwtKid": "",
"jwtSub": "",
"jwtExpDuration": 5,
"useRequestAPI": false,
"bucketPrefix": "",
"chunkSplitterVersion": "v3-rabin-karp",
"E2EEAlgorithm": "v2",
"processSizeMismatchedFiles": false,
"forcePathStyle": true,
"syncInternalFileOverwritePatterns": "",
"useOnlyLocalChunk": false,
"maxMTimeForReflectEvents": 0
}
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"id":"obsidian-livesync","name":"Self-hosted LiveSync","version":"0.25.53","minAppVersion":"0.9.12","description":"Community implementation of self-hosted livesync. Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.","author":"vorotamoroz","authorUrl":"https://github.com/vrtmrz","isDesktopOnly":false}
+481
View File
@@ -0,0 +1,481 @@
.ls-dialog .added {
color: var(--text-on-accent);
background-color: var(--text-accent);
}
.ls-dialog .normal {
color: var(--text-normal);
}
.ls-dialog .deleted {
color: var(--text-on-accent);
background-color: var(--text-muted);
}
.conflict-dev-name {
display: inline-block;
min-width: 5em;
}
.op-scrollable {
overflow-y: scroll;
/* min-height: 280px; */
max-height: 280px;
user-select: text;
-webkit-user-select: text;
}
.op-pre {
white-space: pre-wrap;
}
.op-warn {
border: 1px solid salmon;
padding: 2px;
border-radius: 4px;
}
.op-warn::before {
content: "Warning";
font-weight: bold;
color: salmon;
position: relative;
display: block;
}
.op-warn-info {
border: 1px solid rgb(255, 209, 81);
padding: 2px;
border-radius: 4px;
}
.op-warn-info::before {
content: "Notice";
font-weight: bold;
color: rgb(255, 209, 81);
position: relative;
display: block;
}
.syncstatusbar {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
.tcenter {
text-align: center;
}
.sls-plugins-wrap {
display: flex;
flex-grow: 1;
max-height: 50vh;
overflow-y: scroll;
}
.sls-plugins-tbl {
border: 1px solid var(--background-modifier-border);
width: 100%;
max-height: 80%;
}
.divider th {
border-top: 1px solid var(--background-modifier-border);
}
.sls-header-button {
margin-left: 2em;
}
.sls-hidden {
display: none;
}
:root {
--sls-log-text: "";
}
.sls-troubleshoot-preview {
max-width: max-content;
}
.sls-troubleshoot-preview img {
max-width: 100%;
}
.sls-setting-tab {
display: none;
}
div.sls-setting-menu-btn {
color: var(--text-normal);
background-color: var(--background-secondary-alt);
border-radius: 8px;
padding: 6px 10px;
cursor: pointer;
margin-right: 2px;
font-family: "Inter", sans-serif;
outline: none;
user-select: none;
flex-grow: 1;
text-align: center;
flex-shrink: 1;
}
.sls-setting-label.selected {
/* order: 1; */
flex-grow: 1;
/* width: 100%; */
}
.sls-setting-tab:hover~div.sls-setting-menu-btn,
.sls-setting-label.selected .sls-setting-tab:checked~div.sls-setting-menu-btn {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.sls-setting-menu-wrapper {
display: flex;
flex-direction: column;
flex-grow: 1;
position: sticky;
top: 0;
backdrop-filter: blur(15px);
padding: 4px;
border-radius: 10px;
z-index: 10;
}
.sls-setting-menu {
display: flex;
flex-direction: row;
overflow-x: auto;
}
body {
--sls-col-transparent: transparent;
--sls-col-warn: rgba(var(--background-modifier-error-rgb), 0.1);
--sls-col-warn-stripe1: var(--sls-col-transparent);
--sls-col-warn-stripe2: var(--sls-col-warn);
}
.sls-setting-menu-buttons {
border: 1px solid var(--sls-col-warn);
padding: 2px;
margin: 1px;
border-radius: 4px;
background-image: linear-gradient(-45deg,
var(--sls-col-warn-stripe1) 25%, var(--sls-col-warn-stripe2) 25%, var(--sls-col-warn-stripe2) 50%,
var(--sls-col-warn-stripe1) 50%, var(--sls-col-warn-stripe1) 75%, var(--sls-col-warn-stripe2) 75%, var(--sls-col-warn-stripe2));
background-size: 30px 30px;
display: flex;
flex-direction: row;
justify-content: flex-end;
padding: 0.5em 0.25em;
justify-content: center;
align-items: center;
/* transition: background-position 1s; */
animation: sls-scroll-warn 1s linear 0s infinite;
}
@keyframes sls-scroll-warn {
0% {
background-position: 0 0;
}
100% {
background-position: 30px 0;
}
}
.sls-setting-menu-buttons label {
margin-right: auto;
flex-grow: 1;
color: var(--text-warning);
}
.sls-setting-label {
flex-grow: 1;
display: inline-flex;
justify-content: center;
}
.setting-collapsed {
display: none;
}
.sls-plugins-tbl-buttons {
text-align: right;
}
.sls-plugins-tbl-buttons button {
flex-grow: 0;
padding: 6px 10px;
}
.sls-plugins-tbl-device-head {
background-color: var(--background-secondary-alt);
color: var(--text-accent);
}
.op-flex {
display: flex;
}
.op-flex input {
display: inline-flex;
flex-grow: 1;
margin-bottom: 8px;
}
.op-info {
display: inline-flex;
flex-grow: 1;
border-bottom: 1px solid var(--background-modifier-border);
width: 100%;
margin-bottom: 4px;
padding-bottom: 4px;
}
.history-added {
color: var(--text-on-accent);
background-color: var(--text-accent);
}
.history-normal {
color: var(--text-normal);
}
.history-deleted {
color: var(--text-on-accent);
background-color: var(--text-muted);
text-decoration: line-through;
}
.ob-btn-config-fix label {
margin-right: 40px;
}
.ob-btn-config-info {
border: 1px solid salmon;
padding: 2px;
margin: 1px;
border-radius: 4px;
}
.ob-btn-config-head {
padding: 2px;
margin: 1px;
border-radius: 4px;
}
.isWizard .wizardHidden {
display: none;
}
.sls-setting:not(.isWizard) .wizardOnly {
display: none;
}
.sls-item-dirty::before {
content: "✏";
}
.sls-item-dirty-help::after {
content: " ❓";
}
.sls-item-invalid-value {
background-color: rgba(var(--background-modifier-error-rgb), 0.3) !important;
}
.sls-setting-disabled input[type=text],
.sls-setting-disabled input[type=number],
.sls-setting-disabled input[type=password] {
filter: brightness(80%);
color: var(--text-muted);
}
.sls-setting-hidden {
display: none;
}
.sls-setting-obsolete {
background-image: linear-gradient(-45deg,
var(--sls-col-warn-stripe1) 25%, var(--sls-col-warn-stripe2) 25%, var(--sls-col-warn-stripe2) 50%,
var(--sls-col-warn-stripe1) 50%, var(--sls-col-warn-stripe1) 75%, var(--sls-col-warn-stripe2) 75%, var(--sls-col-warn-stripe2));
background-image: linear-gradient(-45deg,
transparent 25%, rgba(var(--background-secondary), 0.1) 25%, rgba(var(--background-secondary), 0.1) 50%, transparent 50%, transparent 75%, rgba(var(--background-secondary), 0.1) 75%, rgba(var(--background-secondary), 0.1));
background-size: 60px 60px;
}
.password-input>.setting-item-control>input {
-webkit-text-security: disc;
}
span.ls-mark-cr::after {
user-select: none;
content: "↲";
color: var(--text-muted);
font-size: 0.8em;
}
.deleted span.ls-mark-cr::after {
color: var(--text-on-accent);
}
.ls-imgdiff-wrap {
display: flex;
justify-content: center;
align-items: center;
}
.ls-imgdiff-wrap .overlay {
position: relative;
}
.ls-imgdiff-wrap .overlay .img-base {
position: relative;
top: 0;
left: 0;
}
.ls-imgdiff-wrap .overlay .img-overlay {
-webkit-filter: invert(100%) opacity(50%);
filter: invert(100%) opacity(50%);
position: absolute;
top: 0;
left: 0;
animation: ls-blink-diff 0.5s cubic-bezier(0.4, 0, 1, 1) infinite alternate;
}
@keyframes ls-blink-diff {
0% {
opacity: 0;
}
50% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.livesync-status {
user-select: none;
pointer-events: none;
height: auto;
min-height: 1em;
position: absolute;
background-color: transparent;
width: 100%;
padding: 10px;
padding-right: 16px;
top: var(--header-height);
z-index: calc(var(--layer-cover) + 1);
font-variant-numeric: tabular-nums;
tab-size: 4;
text-align: right;
white-space: pre-wrap;
display: inline-block;
color: var(--text-normal);
font-size: 80%;
}
div.workspace-leaf-content[data-type=bases] .livesync-status {
top: calc(var(--bases-header-height) + var(--header-height));
padding: 5px;
padding-right: 18px;
}
.is-mobile div.workspace-leaf-content[data-type=bases] .livesync-status {
top: calc(var(--bases-header-height) + var(--view-header-height));
padding: 6px;
padding-right: 18px;
}
.livesync-status div {
opacity: 0.6;
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
.livesync-status .livesync-status-loghistory {
text-align: left;
opacity: 0.4;
}
.livesync-status div.livesync-status-messagearea:empty {
display: none;
}
.livesync-status div.livesync-status-messagearea:not(:empty) {
opacity: 0.6;
color: var(--text-on-accent);
border: 1px solid var(--background-modifier-error);
background-color: rgba(var(--background-modifier-error-rgb), 0.2);
-webkit-filter: unset;
filter: unset;
width: fit-content;
margin-left: auto;
}
.menu-setting-poweruser-disabled .sls-setting-poweruser {
display: none;
}
.menu-setting-advanced-disabled .sls-setting-advanced {
display: none;
}
.menu-setting-edgecase-disabled .sls-setting-edgecase {
display: none;
}
.sls-setting-panel-title {
position: sticky;
font-size: medium;
top: 2.5em;
background-color: var(--background-secondary-alt);
border-radius: 10px;
padding: 0.5em 1.0em;
}
.active-pane .sls-setting-panel-title {
border: 1px solid var(--interactive-accent);
}
.sls-dialogue-note-wrapper {
display: flex;
justify-content: flex-end;
align-items: center;
}
.sls-dialogue-note-countdown {
font-size: 0.8em;
}
.sls-qr {
display: flex;
justify-content: center;
align-items: center;
max-width: max-content;
}
.sls-keypair pre {
max-width: 100%;
overflow-x: auto;
white-space: pre-wrap;
word-break: break-all;
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"id":"obsidian-local-images-plus","name":"Local Images Plus","version":"0.16.4","minAppVersion":"1.0.3","description":"Local Images Plus plugin searches for all external media links in your notes, downloads and saves them locally and adjusts the links in your notes to point to the saved files.","author":"catalysm, aleksey-rezvov, Sergei Korneev","authorUrl":"https://github.com/Sergei-Korneev/obsidian-local-images-plus","fundingUrl":"https://www.buymeacoffee.com/sergeikorneev","isDesktopOnly":true}
+14
View File
@@ -0,0 +1,14 @@
/* This file was created to satisfy requirements for Obsidian's plugins */
.title_txt{
color:white;
align:center;
}
.donheader_txt{
text-shadow: 1px 1px 2px black, 0 0 25px blue, 0 0 5px darkblue;
font-weight: 600;
color:red;
align:center;
}
+137
View File
@@ -0,0 +1,137 @@
{
"FirstLoaded": false,
"StartDate": "Sunday",
"InsertAfter": "",
"UserName": "河之东",
"ProcessEntriesBelow": "",
"Language": "en",
"SaveMemoButtonLabel": "NOTE",
"SaveMemoButtonIcon": "✍️",
"ShareFooterStart": "{ThinoNum} Thino {UsedDay} Day",
"ShareFooterEnd": "✍️ by {UserName}",
"DefaultPrefix": "List",
"DefaultTimePrefix": "HH:mm",
"UseDailyOrPeriodic": "Daily",
"InsertDateFormat": "Tasks",
"DefaultEditorLocation": "Top",
"UseButtonToShowEditor": false,
"FocusOnEditor": true,
"OpenDailyMemosWithMemos": true,
"HideDoneTasks": false,
"ShowTaskLabel": true,
"AppendDateWhenTaskDone": true,
"MobileAndDesktop": "All",
"OpenMemosAutomatically": true,
"ShowScrollbar": false,
"ShowTime": true,
"ShowDate": true,
"AddBlankLineWhenDate": false,
"AutoSaveWhenOnMobile": false,
"DeleteFileName": "delete",
"QueryFileName": "query",
"UseVaultTags": false,
"SetCustomBackgroundImage": false,
"SetCustomMemoFooter": false,
"DefaultLightBackgroundImage": "",
"DefaultDarkBackgroundImage": "",
"DefaultLightBackgroundImageForClean": "",
"DefaultDarkBackgroundImageForClean": "",
"DefaultMemoComposition": "{TIME} {CONTENT}",
"CommentOnMemos": false,
"CommentsInOriginalNotes": false,
"FetchMemosMark": "#memo",
"FetchMemosFromNote": false,
"ShowCommentOnMemos": false,
"ShowLeftSideBar": false,
"MemoListView": "list",
"MemoSaveLocation": "DAILY",
"MemoOtherSaveLocation": {
"MemoDefaultCanvasPath": "basic.thino.canvas",
"MemoDefaultMultiFilePath": "Thino",
"MemoDefaultSingleFilePath": "basic.thino.md"
},
"MemoDailyTarget": 12,
"HeatmapColorScheme": "default",
"EnabledHttpApi": false,
"HttpApiIpType": "localhost",
"HttpApiPort": "43999",
"AutoDownloadImage": false,
"EditorType": "obsidian",
"EnabledLocationList": [
{
"value": "DAILY",
"target": "ProcessEntriesBelow",
"insert": "InsertAfter"
}
],
"DeleteThinoDirectly": false,
"CaptureKey": {
"EnableCaptureKey": true,
"OpenThinoGlobally": "CommandOrControl+Shift+T",
"ShowNearMouse": true
},
"startSync": true,
"tokenForVerify": {
"26f98a7d4e8d9c29390b4b2686de98e487633556ff67d14317446fc0f04c03ba": "eyJhbGciOiJSUzI1NiJ9.eyJ0eXBlIjoidGhpbm8iLCJpc3MiOiJwa21lciIsInVzZXJJZCI6IjJiNDVlZjVkLTIwMmQtNGI2Mi1iNTE3LTg2NmE5MDFmYjViNSIsImkiOjYyNSwiYXBwSWQiOiIyNmY5OGE3ZDRlOGQ5YzI5MzkwYjRiMjY4NmRlOThlNDg3NjMzNTU2ZmY2N2QxNDMxNzQ0NmZjMGYwNGMwM2JhIn0.gh_I0SJuzdeN9wfD9upX13IeG_C9Z34qefzuY8bcAFuwXu5Z5ozeOIwi3gItcRmtb2dT9Nkg4dgsk5kaHuM1LViYkjmGrJTIkencKe4XaW_Tt2DBn9jMOF6xmL28az5NRz0EVBcrxNuOW8GtvRYkFMLdFs7YmAvCPBz6smQguWYAGBcUOWyVwT3UPvZA0S5S9VdXqPQz_bJSGDT0T9nWziNtg0qo1wYfYsuKi6CSg6aiWDxH4tjrFSPzewOncwUTBU1kTxR1zJ4MznlTitNF_G53Cr-B-GkTxLfEz24MEw4HMBazvoa95THaRptDM8p0WRJwTbkFBaGo5b9ce8-RFw",
"8f9e97621fb994020e5a73bf056dccc157e63a6e70e2d00a2acccafc27ddcfdd": "eyJhbGciOiJSUzI1NiJ9.eyJ0eXBlIjoidGhpbm8iLCJpc3MiOiJwa21lciIsInVzZXJJZCI6IjJiNDVlZjVkLTIwMmQtNGI2Mi1iNTE3LTg2NmE5MDFmYjViNSIsImkiOjQ3OCwiYXBwSWQiOiI4ZjllOTc2MjFmYjk5NDAyMGU1YTczYmYwNTZkY2NjMTU3ZTYzYTZlNzBlMmQwMGEyYWNjY2FmYzI3ZGRjZmRkIn0.XYMG8mD7nTjtpWaY6JN1U0LZo4ogmISH4jJd2akKD1lNaqwfanvr68LVduNZ9N0sL7v6ryhV86TqsCb3LZ6RNOgQFCFtktZVvlbdKS_KiKwBX4LBB-T3fTLoPXrhObdFOQwG_34FvCnU4jUOSDD6Tb3D-CmklCVFcqcm5MPv6t0ikPAe1sylaFMKka1QIIxhYvZRubaHzKl86PWhrBBzA9BVahhlKkH8D21IF3WBaujdkm_iWXLjC-em3vWmNdkwtWXOYGVs_5myj5FCEWckgR6dowEYT33oCEZ010Pp1bfdugDqgbRC0_fYv8ZDwys1bgpoP3xmXcfg22fwj5ER_g"
},
"saveThinoType": "FILE",
"showDayMark": true,
"dayMarkRange": "day",
"navigation": false,
"password": "",
"needVerify": false,
"addTagAutomatically": true,
"addTagPosition": "End",
"addTagWithNewline": false,
"chatViewStyle": "default",
"MomentsBackgroundImage": "https://images.pexels.com/photos/531767/pexels-photo-531767.jpeg",
"MomentsIcon": "https://images.pexels.com/photos/256514/pexels-photo-256514.jpeg",
"MomentsQuote": "应无所住,而生其心",
"DefaultThemeForThino": "modern",
"LastUpdatedVersion": "2.8.14",
"ShareToThinoWithText": false,
"ShareToThinoWithTextAppend": "",
"ShareToThinoWithTextPrepend": "",
"ShareToThinoWithTextNewline": "none",
"hidePinnedGroup": false,
"DifferentInsertTarget": false,
"InsertAfterForTask": "",
"ProcessContentTarget": "custom",
"InsertType": "custom",
"ShareAppendType": "preset",
"SharePrependType": "preset",
"SetFileNameAfterCreate": false,
"TagForFileTypeFiles": "thino/file",
"TagForMultiTypeFiles": "thino/multi",
"MinHeightForShare": "200px",
"ThinoMaxHeight": 0,
"ThinoCollapsedHeight": 100,
"OptimizeForCallout": true,
"AppendOrPrependTextViaServer": false,
"AppendViaServer": "",
"PrependViaServer": "",
"WithNewLineViaServer": "none",
"SupportSelectOtherView": false,
"WaitTemplaterToFinishParse": false,
"NavbarButton": false,
"AlwaysShowStatusText": true,
"FilterByMetadata": false,
"ShowSourcePath": true,
"ShowUpdateMessage": true,
"SyncManually": false,
"MemoFixedPrefix": "",
"MemoFixedSuffix": "",
"UseMemoFixedStrings": false,
"enableWordCount": true,
"maxWordCount": 0,
"enableReferenceLinksGroup": false,
"doubleClickBehavior": "edit-thino",
"useMobileViewDefaultHeader": false,
"IgnoreFolderForMultiType": [],
"UseBlockLinkWhenDragging": false,
"ShowScrollToTopButton": true,
"ZoomImageWhenViewing": false,
"ViewArchiveInRandomReview": true,
"DraggingBehavior": "block-link"
}
File diff suppressed because one or more lines are too long

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