initial upload

This commit is contained in:
flo
2025-07-01 12:01:28 +02:00
commit 27c8fd9561
260 changed files with 99376 additions and 0 deletions

1
.obsidian/app.json vendored Normal file
View File

@ -0,0 +1 @@
{}

1
.obsidian/appearance.json vendored Normal file
View File

@ -0,0 +1 @@
{}

16
.obsidian/community-plugins.json vendored Normal file
View File

@ -0,0 +1,16 @@
[
"dataview",
"obsidian-git",
"table-editor-obsidian",
"obsidian-icon-folder",
"obsidian-admonition",
"make-md",
"obsidian-outliner",
"obsidian-annotator",
"obsidian-relative-line-numbers",
"table-extended",
"sheets",
"update-time-on-edit",
"update-relative-links",
"obsidian-table-generator"
]

30
.obsidian/core-plugins-migration.json vendored Normal file
View File

@ -0,0 +1,30 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"properties": false,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": false
}

31
.obsidian/core-plugins.json vendored Normal file
View File

@ -0,0 +1,31 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"properties": false,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": false,
"webviewer": false
}

20876
.obsidian/plugins/dataview/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,11 @@
{
"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
.obsidian/plugins/dataview/styles.css vendored Normal file
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: ")";
}

BIN
.obsidian/plugins/make-md/Spaces.mdb vendored Normal file

Binary file not shown.

93
.obsidian/plugins/make-md/data.json vendored Normal file
View File

@ -0,0 +1,93 @@
{
"newNotePlaceholder": "Untitled",
"defaultInitialization": false,
"navigatorEnabled": true,
"filePreviewOnHover": false,
"blinkEnabled": true,
"datePickerTime": false,
"imageThumbnails": false,
"noteThumbnails": false,
"spacesMDBInHidden": true,
"cacheIndex": true,
"spacesRightSplit": false,
"contextEnabled": true,
"spaceViewEnabled": true,
"saveAllContextToFrontmatter": true,
"autoOpenFileContext": false,
"activeView": "/",
"hideFrontmatter": true,
"activeSpace": "",
"defaultDateFormat": "MMM dd yyyy",
"defaultTimeFormat": "h:mm a",
"spacesEnabled": true,
"syncFormulaToFrontmatter": true,
"spacesPerformance": false,
"currentWaypoint": 0,
"enableFolderNote": true,
"folderIndentationLines": true,
"revealActiveFile": false,
"spacesStickers": true,
"spaceRowHeight": 29,
"mobileSpaceRowHeight": 40,
"bannerHeight": 200,
"spacesDisablePatch": false,
"folderNoteInsideFolder": true,
"folderNoteName": "",
"sidebarTabs": true,
"showRibbon": true,
"vaultSelector": true,
"deleteFileOption": "trash",
"expandedSpaces": [
"/",
"//Other",
"//Tags",
"//attachments",
"//attachments/attachments/paint_damage"
],
"expandFolderOnClick": true,
"spacesFolder": "Tags",
"suppressedWarnings": [],
"spaceSubFolder": ".space",
"hiddenFiles": [],
"hiddenExtensions": [
".mdb",
"_assets",
"_blocks"
],
"inlineBacklinks": false,
"inlineContext": true,
"inlineBacklinksExpanded": false,
"inlineContextExpanded": false,
"inlineContextProperties": true,
"inlineContextSectionsExpanded": true,
"banners": true,
"inlineContextNameLayout": "vertical",
"spacesUseAlias": false,
"fmKeyAlias": "aliases",
"fmKeyBanner": "banner",
"fmKeyColor": "color",
"fmKeyBannerOffset": "banner_y",
"fmKeySticker": "sticker",
"openSpacesOnLaunch": true,
"indexSVG": false,
"readableLineWidth": true,
"autoAddContextsToSubtags": true,
"releaseNotesPrompt": 0.999,
"enableDefaultSpaces": true,
"showSpacePinIcon": true,
"experimental": false,
"systemName": "obsidian",
"defaultSpaceTemplate": "",
"selectedKit": "default",
"actionMaxSteps": 100,
"contextPagination": 25,
"skipFolderNames": [],
"skipFolders": [],
"enhancedLogs": false,
"basics": true,
"basicsSettings": null,
"firstLaunch": true,
"notesPreview": false,
"editStickerInSidebar": true,
"overrideNativeMenu": false
}

1177
.obsidian/plugins/make-md/main.js vendored Normal file

File diff suppressed because one or more lines are too long

10
.obsidian/plugins/make-md/manifest.json vendored Normal file
View File

@ -0,0 +1,10 @@
{
"id": "make-md",
"name": "make.md",
"version": "1.1.7",
"minAppVersion": "0.16.0",
"description": "make.md gives you everything you need to organize and personalize your notes.",
"author": "make.md",
"authorUrl": "https://www.make.md",
"isDesktopOnly": false
}

1
.obsidian/plugins/make-md/styles.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,24 @@
{
"userAdmonitions": {},
"syntaxHighlight": false,
"copyButton": false,
"version": "10.3.2",
"autoCollapse": false,
"defaultCollapseType": "open",
"injectColor": true,
"parseTitles": true,
"dropShadow": true,
"hideEmpty": false,
"open": {
"admonitions": true,
"icons": true,
"other": true,
"advanced": false
},
"icons": [],
"useFontAwesome": true,
"rpgDownloadedOnce": false,
"msDocConverted": false,
"useSnippet": false,
"snippetPath": "custom-admonitions.3a0c9e"
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
{
"id": "obsidian-admonition",
"name": "Admonition",
"version": "10.3.2",
"minAppVersion": "1.1.0",
"description": "Enhanced callouts for Obsidian.md",
"author": "Jeremy Valentine",
"authorUrl": "",
"isDesktopOnly": false
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
{
"id": "obsidian-annotator",
"name": "Annotator",
"version": "0.2.11",
"minAppVersion": "1.0.3",
"description": "This is a sample plugin for Obsidian. It allows you to open and annotate PDF and EPUB files.",
"author": "Obsidian",
"authorUrl": "https://obsidian.md/about",
"isDesktopOnly": false
}

418
.obsidian/plugins/obsidian-git/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
{
"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.34.0"
}

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"

View File

@ -0,0 +1,605 @@
@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: 0;
}
.workspace-leaf-content[data-type="git-history-view"] .view-content {
padding: 0;
}
.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;
}
.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;
}
.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;
}
/* Limits the scrollbar to the view body */
.git-view {
display: flex;
flex-direction: column;
position: relative;
height: 100%;
}
.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);
}

View File

@ -0,0 +1,31 @@
{
"settings": {
"migrated": 6,
"iconPacksPath": ".obsidian/icons",
"fontSize": 16,
"emojiStyle": "native",
"iconColor": null,
"recentlyUsedIcons": [],
"recentlyUsedIconsSize": 5,
"rules": [],
"extraMargin": {
"top": 0,
"right": 4,
"bottom": 0,
"left": 0
},
"iconInTabsEnabled": false,
"iconInTitleEnabled": false,
"iconInTitlePosition": "above",
"iconInFrontmatterEnabled": false,
"iconInFrontmatterFieldName": "icon",
"iconColorInFrontmatterFieldName": "iconColor",
"iconsBackgroundCheckEnabled": false,
"iconsInNotesEnabled": true,
"iconsInLinksEnabled": true,
"iconIdentifier": ":",
"lucideIconPackType": "native",
"debugMode": false,
"useInternalPlugins": false
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
{
"id": "obsidian-icon-folder",
"name": "Iconize",
"version": "2.14.7",
"minAppVersion": "0.9.12",
"description": "Add icons to anything you desire in Obsidian, including files, folders, and text.",
"author": "Florian Woelki",
"authorUrl": "https://florianwoelki.com/",
"isDesktopOnly": false
}

View File

@ -0,0 +1,120 @@
.iconize-inline-title-wrapper {
width: var(--line-width);
max-width: var(--max-width);
margin-inline: var(--content-margin);
}
.iconize-title-icon {
max-width: var(--max-width);
margin-right: var(--size-4-2);
}
.iconize-icon-in-link {
transform: translateY(20%);
margin-right: var(--size-2-2);
display: inline-flex;
}
.iconize-icon {
border: 1px solid transparent;
margin: 0px 4px 0px 0px;
display: flex;
align-self: center;
margin: auto 0;
}
.nav-folder-title,
.nav-file-title {
align-items: center;
}
.iconize-setting input[type='color'] {
margin: 0 6px;
}
.iconize-modal.prompt-results {
margin: 0;
overflow-y: auto;
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.prompt .iconize-subheadline {
margin-top: 12px;
font-size: 12px;
color: gray;
grid-column-start: 1;
grid-column-end: 6;
}
@media (max-width: 640px) {
.iconize-modal.prompt-results {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.prompt .iconize-subheadline {
grid-column-end: 4;
}
}
.iconize-modal.prompt-results .suggestion-item {
cursor: pointer;
white-space: pre-wrap;
display: flex;
justify-content: flex-end;
align-items: center;
flex-direction: column-reverse;
text-align: center;
font-size: 13px;
color: var(--text-muted);
padding: 16px 8px;
line-break: auto;
word-break: break-word;
line-height: 1.3;
}
.iconize-modal.prompt-results .suggestion-item.suggestion-item__center {
justify-content: center;
}
.iconize-icon-preview {
font-size: 22px;
}
.iconize-icon-preview img {
width: 16px;
height: 16px;
}
.iconize-icon-preview svg {
width: 24px;
height: 24px;
color: currentColor;
margin-bottom: 4px;
}
.iconize-dragover {
position: relative;
}
.iconize-dragover-el {
position: absolute;
width: 100%;
height: 100%;
color: var(--text-normal);
background-color: var(--background-secondary-alt);
display: flex;
align-items: center;
justify-content: center;
}
/* Custom rule modal. */
.iconize-custom-modal .modal-content {
display: flex;
align-items: center;
justify-content: center;
}
.iconize-custom-modal .modal-content input {
width: 100%;
margin-right: 0.5rem;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
{
"id": "obsidian-outliner",
"name": "Outliner",
"version": "4.9.0",
"minAppVersion": "1.8.7",
"description": "Work with your lists like in Workflowy or RoamResearch.",
"author": "Viacheslav Slinko",
"authorUrl": "https://github.com/vslinko",
"isDesktopOnly": false
}

View File

@ -0,0 +1,105 @@
/* lists and bullets */
.outliner-plugin-better-lists .cm-s-obsidian .HyperMD-list-line {
/* padding-top: 0.4em; */
}
.outliner-plugin-better-lists .cm-formatting-list-ul {
margin-right: 0.3em;
}
.outliner-plugin-better-lists .list-bullet::after {
width: 0.4em;
height: 0.4em;
background-color: var(--text-muted);
}
/* lines */
.outliner-plugin-list-lines-scroller {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
padding: var(--file-margins);
padding-left: 0;
pointer-events: none;
overflow: hidden;
}
.outliner-plugin-list-lines-content-container {
position: relative;
}
.outliner-plugin-list-line {
pointer-events: auto;
position: absolute;
width: 5px;
margin-left: 0.5ch;
margin-top: 1em;
z-index: 1;
cursor: pointer;
background: transparent;
background-image: linear-gradient(
to right,
var(--text-faint) 1px,
transparent 1px
);
background-position-x: 2px;
background-repeat: no-repeat;
}
.outliner-plugin-better-bullets .outliner-plugin-list-line {
margin-top: 1.4em;
}
.markdown-source-view.mod-cm6.is-readable-line-width
.outliner-plugin-list-lines-content-container {
max-width: 700px;
margin: auto;
}
.outliner-plugin-list-line:hover {
background: var(--text-faint);
}
.outliner-plugin-vertical-lines
.markdown-source-view.mod-cm6
.cm-hmd-list-indent
.cm-indent::before {
content: none;
}
/* drag-n-drop */
.outliner-plugin-dropping-line {
background-color: hsla(var(--interactive-accent-hsl), 0.4);
}
.outliner-plugin-dragging-line {
opacity: 0.5;
background-color: hsla(var(--interactive-accent-hsl), 0.2);
}
.outliner-plugin-drop-zone {
width: 300px;
height: 4px;
background: var(--color-accent);
z-index: 999;
position: absolute;
pointer-events: none;
}
.outliner-plugin-drop-zone-padding {
position: absolute;
height: 4px;
}
body.outliner-plugin-dnd:not(.outliner-plugin-dragging) .cm-formatting-list,
body.outliner-plugin-dnd:not(.outliner-plugin-dragging)
.cm-fold-indicator
.collapse-indicator {
cursor: grab !important;
}
html body.outliner-plugin-dnd.outliner-plugin-dragging {
cursor: grabbing !important;
}

View File

@ -0,0 +1,194 @@
/*
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());
});
};
// main.ts
__export(exports, {
default: () => RelativeLineNumbers
});
var import_obsidian = __toModule(require("obsidian"));
// extension.ts
var import_view = __toModule(require("@codemirror/view"));
var import_state = __toModule(require("@codemirror/state"));
var import_language = __toModule(require("@codemirror/language"));
var relativeLineNumberGutter = new import_state.Compartment();
var Marker = class extends import_view.GutterMarker {
constructor(text) {
super();
this.text = text;
this.elementClass = "relative-line-numbers-mono";
}
toDOM() {
return document.createTextNode(this.text);
}
};
function linesCharLength(state) {
return state.doc.lines.toString().length;
}
var absoluteLineNumberGutter = (0, import_view.gutter)({
lineMarker: (view, line) => {
const lineNo = view.state.doc.lineAt(line.from).number;
const charLength = linesCharLength(view.state);
const absoluteLineNo = new Marker(lineNo.toString().padStart(charLength, " "));
const cursorLine = view.state.doc.lineAt(view.state.selection.asSingle().ranges[0].to).number;
if (lineNo === cursorLine) {
return absoluteLineNo;
}
return null;
},
initialSpacer: (view) => {
const spacer = new Marker("0".repeat(linesCharLength(view.state)));
return spacer;
}
});
function relativeLineNumbers(lineNo, state) {
const charLength = linesCharLength(state);
const blank = " ".padStart(charLength, " ");
if (lineNo > state.doc.lines) {
return blank;
}
const cursorLine = state.doc.lineAt(state.selection.asSingle().ranges[0].to).number;
const start = Math.min(state.doc.line(lineNo).from, state.selection.asSingle().ranges[0].to);
const stop = Math.max(state.doc.line(lineNo).from, state.selection.asSingle().ranges[0].to);
const folds = (0, import_language.foldedRanges)(state);
let foldedCount = 0;
folds.between(start, stop, (from, to) => {
let rangeStart = state.doc.lineAt(from).number;
let rangeStop = state.doc.lineAt(to).number;
foldedCount += rangeStop - rangeStart;
});
if (lineNo === cursorLine) {
return blank;
} else {
return (Math.abs(cursorLine - lineNo) - foldedCount).toString().padStart(charLength, " ");
}
}
var showLineNumbers = relativeLineNumberGutter.of((0, import_view.lineNumbers)({ formatNumber: relativeLineNumbers }));
var lineNumbersUpdateListener = import_view.EditorView.updateListener.of((viewUpdate) => {
if (viewUpdate.selectionSet) {
viewUpdate.view.dispatch({
effects: relativeLineNumberGutter.reconfigure((0, import_view.lineNumbers)({ formatNumber: relativeLineNumbers }))
});
}
});
function lineNumbersRelative() {
return [absoluteLineNumberGutter, showLineNumbers, lineNumbersUpdateListener];
}
// main.ts
var RelativeLineNumbers = class extends import_obsidian.Plugin {
isLegacy() {
var _a;
return (_a = this.app.vault.config) == null ? void 0 : _a.legacyEditor;
}
onload() {
return __async(this, null, function* () {
const showLineNumber = this.app.vault.getConfig("showLineNumber");
if (showLineNumber) {
this.enable();
}
this.setupConfigChangeListener();
});
}
onunload() {
this.disable();
}
enable() {
this.enabled = true;
if (this.isLegacy()) {
this.legacyEnable();
} else {
this.registerEditorExtension(lineNumbersRelative());
}
}
disable() {
this.enabled = false;
if (this.isLegacy) {
this.legacyDisable();
}
}
legacyEnable() {
this.registerCodeMirror((cm) => {
cm.on("cursorActivity", this.legacyRelativeLineNumbers);
});
}
legacyDisable() {
this.app.workspace.iterateCodeMirrors((cm) => {
cm.off("cursorActivity", this.legacyRelativeLineNumbers);
cm.setOption("lineNumberFormatter", CodeMirror.defaults["lineNumberFormatter"]);
});
}
setupConfigChangeListener() {
const configChangedEvent = this.app.vault.on("config-changed", () => {
const showLineNumber = this.app.vault.getConfig("showLineNumber");
if (showLineNumber && !this.enabled) {
this.enable();
} else if (!showLineNumber && this.enabled) {
this.disable();
}
});
configChangedEvent.ctx = this;
this.registerEvent(configChangedEvent);
}
legacyRelativeLineNumbers(cm) {
const current = cm.getCursor().line + 1;
if (cm.state.curLineNum === current) {
return;
}
cm.state.curLineNum = current;
cm.setOption("lineNumberFormatter", (line) => {
if (line === current) {
return String(current);
}
return String(Math.abs(current - line));
});
}
};
/* nosourcemap */

View File

@ -0,0 +1,10 @@
{
"id": "obsidian-relative-line-numbers",
"name": "Relative Line Numbers",
"version": "3.0.0",
"minAppVersion": "1.4.16",
"description": "Enables relative line numbers in editor mode",
"author": "Nadav Spiegelman",
"authorUrl": "https://nadav.is",
"isDesktopOnly": false
}

View File

@ -0,0 +1,10 @@
.relative-line-numbers-mono {
font-family: monospace;
white-space: pre;
}
.cm-lineNumbers {
font-family: monospace;
white-space: pre;
min-width: 25px; /* prevent relative line numbers from shifting on files with ~10-20 lines */
}

View File

@ -0,0 +1,7 @@
{
"rowCount": 8,
"columnCount": 8,
"defaultAlignment": "left",
"defaultCardWidth": 160,
"defaultCardHeight": 160
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,15 @@
{
"id": "obsidian-table-generator",
"name": "Table Generator",
"version": "1.4.1",
"minAppVersion": "1.1.0",
"description": "A plugin for generate markdown table quickly like Typora /card table in canvas .",
"author": "Boninall",
"authorUrl": "https://github.com/Quorafind",
"fundingUrl": {
"Buy Me a Coffee": "https://www.buymeacoffee.com/boninall",
"爱发电": "https://afdian.net/a/boninall",
"支付宝": "https://cdn.jsdelivr.net/gh/Quorafind/.github@main/IMAGE/%E6%94%AF%E4%BB%98%E5%AE%9D%E4%BB%98%E6%AC%BE%E7%A0%81.jpg"
},
"isDesktopOnly": false
}

View File

@ -0,0 +1,44 @@
.table-container.s-VU35bhriycJk.s-VU35bhriycJk{display:grid;border-bottom:2px dotted var(--color-base-40);border-top:2px dotted var(--color-base-40);padding-top:var(--size-2-1);padding-bottom:var(--size-2-1);width:100%;height:150px;grid-gap:1px}.table-container.s-VU35bhriycJk div.s-VU35bhriycJk{background:var(--color-base-00);border-radius:var(--radius-s);border:1px solid var(--color-base-40)}.table-container.s-VU35bhriycJk .table-generator-cell.s-VU35bhriycJk{height:var(--size-4-4);width:var(--size-4-4)}div.active.s-VU35bhriycJk.s-VU35bhriycJk{background-color:var(--active-color)}.s-VU35bhriycJk.s-VU35bhriycJk{}.table-generator.s-YxLKubgSvLDy{padding-left:5px;padding-right:5px;width:220px}.table-generator-header.s-YxLKubgSvLDy{display:flex;justify-content:space-between;align-items:center;margin-top:var(--size-4-1);margin-bottom:var(--size-4-1)}.input-table-generator.s-YxLKubgSvLDy{margin-left:var(--size-2-2);margin-right:var(--size-2-2);margin-top:var(--size-4-2);margin-bottom:var(--size-4-2);display:flex;justify-content:space-around;align-items:center}.input-table-generator-row.s-YxLKubgSvLDy,.input-table-generator-col.s-YxLKubgSvLDy{display:flex;justify-content:space-around;align-items:center}button.s-YxLKubgSvLDy{width:80px;height:20px;margin:var(--size-4-1) auto var(--size-4-2);padding:0px 10px;text-align:center;text-decoration:none;display:flex;align-items:center}input.s-YxLKubgSvLDy{width:40px;height:18px;border:1px solid var(--color-base-50);margin-left:var(--size-2-2);border-radius:var(--radius-m);text-align:center}.H1.s-YxLKubgSvLDy{margin-left:auto;margin-right:auto;text-align:center}.s-YxLKubgSvLDy{}.table-generator-align-group.s-XNB-qso0yOHJ{display:flex;align-items:center;flex-direction:row;gap:var(--size-2-2)}.table-generator-align-icon.s-XNB-qso0yOHJ{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-s);padding:var(--size-2-1)}.table-generator-align-icon.s-XNB-qso0yOHJ:not(.active):hover{background-color:var(--background-modifier-hover)}.table-generator-align-icon.active.s-XNB-qso0yOHJ{background-color:var(--background-modifier-border-hover)}.s-XNB-qso0yOHJ{}.table-generator-view {
position: absolute;
border: 1px solid var(--color-base-50);
border-radius: 5px;
background-color: var(--color-base-20);
}
.table-generator-setting-text {
min-width: 2.3em;
text-align: right;
}
.theme-light .table-generator-view {
--color-base-00: #ffffff;
--color-base-05: #fcfcfc;
--color-base-10: #fafafa;
--color-base-20: #f6f6f6;
--color-base-25: #e3e3e3;
--color-base-30: #e0e0e0;
--color-base-35: #d4d4d4;
--color-base-40: #bdbdbd;
--color-base-50: #ababab;
--color-base-60: #707070;
--color-base-70: #5a5a5a;
--color-base-100: #222222;
--active-color: rgb(224 242 254);
}
.theme-dark .table-generator-view {
--color-base-00: #1e1e1e;
--color-base-10: #242424;
--color-base-20: #262626;
--color-base-25: #2a2a2a;
--color-base-30: #363636;
--color-base-35: #3F3F3F;
--color-base-40: #555;
--color-base-50: #666;
--color-base-60: #999;
--color-base-70: #bababa;
--color-base-100: #dadada;
--active-color: rgb(3 105 161);
}
.input-table-generator.s-b7dfVi8Mj3e3{margin-left:var(--size-2-2);margin-right:var(--size-2-2);margin-top:var(--size-4-2);margin-bottom:var(--size-4-2);display:flex;justify-content:space-around;align-items:center}.input-table-generator-width.s-b7dfVi8Mj3e3,.input-table-generator-height.s-b7dfVi8Mj3e3{display:flex;justify-content:space-around;align-items:center}input.s-b7dfVi8Mj3e3{width:70px;height:18px;border:1px solid var(--color-base-50);margin-left:var(--size-2-2);border-radius:var(--radius-m);text-align:center}.s-b7dfVi8Mj3e3{}

1847
.obsidian/plugins/sheets/main.js vendored Normal file

File diff suppressed because one or more lines are too long

11
.obsidian/plugins/sheets/manifest.json vendored Normal file
View File

@ -0,0 +1,11 @@
{
"id": "sheets",
"name": "Sheets Extended",
"version": "1.2.10",
"minAppVersion": "1.5.0",
"description": "Vertical headers, merged cells, and custom css tables with advanced table compatibility",
"author": "NicoNekoru",
"authorUrl": "https://github.com/NicoNekoru",
"fundingUrl": "https://www.buymeacoffee.com/niconekoru",
"isDesktopOnly": false
}

35
.obsidian/plugins/sheets/styles.css vendored Normal file
View File

@ -0,0 +1,35 @@
/*
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.
*/
.obs-sheets_error {
color: rgb(255, 100, 100);
background-color: rgba(240, 128, 128, 20%);
text-rendering: optimizeLegibility;
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
color-scheme: dark;
-webkit-user-select: text;
white-space: break-spaces;
word-break: break-word;
overflow-wrap: anywhere;
-webkit-user-modify: read-write-plaintext-only;
tab-size: 4;
box-sizing: border-box;
font-size: var(--code-size);
font-family: var(--font-monospace);
clear: left;
left: 0;
right: 0;
margin: 0 !important;
display: block;
position: relative;
padding: 0;
max-width: var(--file-line-width);
padding-left: var(--size-4-4);
text-align: center;
}

View File

@ -0,0 +1,6 @@
{
"formatType": "normal",
"showRibbonIcon": true,
"bindEnter": true,
"bindTab": true
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,17 @@
{
"id": "table-editor-obsidian",
"name": "Advanced Tables",
"author": "Tony Grosinger",
"authorUrl": "https://grosinger.net",
"description": "Improved table navigation, formatting, manipulation, and formulas",
"isDesktopOnly": false,
"minAppVersion": "1.0.0",
"version": "0.22.1",
"js": "main.js",
"fundingUrl": {
"Github Sponsor": "https://github.com/sponsors/tgrosinger",
"Buy me a Coffee": "https://buymeacoffee.com/tgrosinger",
"Paypal": "https://paypal.me/tgrosinger"
},
"donation": "https://buymeacoffee.com/tgrosinger"
}

View File

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

12882
.obsidian/plugins/table-extended/main.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
{
"id": "table-extended",
"name": "Table Extended",
"version": "1.6.1",
"minAppVersion": "0.12.0",
"description": "Enable extended table support with MultiMarkdown 6 syntax",
"author": "AidenLx",
"authorUrl": "https://github.com/AidenLx/",
"isDesktopOnly": false
}

View File

@ -0,0 +1,174 @@
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// main.ts
var main_exports = {};
__export(main_exports, {
default: () => UpdateRelativeLinksPlugin
});
module.exports = __toCommonJS(main_exports);
var import_obsidian = require("obsidian");
// lib/path.ts
var SEP = "/";
function dirname(path) {
return stackToPath(pathToStack(path).slice(0, -1));
}
function relative(from, to) {
if (!from) {
return to;
}
const fromStack = pathToStack(from);
const toStack = pathToStack(to);
const firstDiffIdx = fromStack.findIndex((value, idx) => value != toStack[idx]);
const resultStack = [];
for (let i = firstDiffIdx; i < fromStack.length - 1; i++) {
resultStack.push("..");
}
for (let i = firstDiffIdx; i < toStack.length; i++) {
resultStack.push(toStack[i]);
}
return stackToPath(resultStack);
}
function pathToStack(path) {
return path.split(SEP);
}
function stackToPath(stack) {
return stack.join(SEP);
}
// main.ts
var ConfirmModal = class extends import_obsidian.Modal {
constructor(app, content, onConfirm) {
super(app);
this.content = content;
this.onConfirm = onConfirm;
}
onOpen() {
const { contentEl } = this;
contentEl.createEl("h1", { text: "Update Releate Links Plugin" });
contentEl.createEl("p", { text: this.content });
new import_obsidian.Setting(contentEl).addButton((btn) => btn.setButtonText("Yes").setCta().onClick(() => {
this.close();
this.onConfirm();
})).addButton((btn) => btn.setButtonText("No").onClick(() => {
this.close();
}));
}
onClose() {
this.contentEl.empty();
}
};
var UpdateRelativeLinksPlugin = class extends import_obsidian.Plugin {
async onload() {
const { app } = this;
const { metadataCache, vault } = app;
const message = "This command will modify all links in the entire vault (not just the current file) to relative paths, and this action cannot be undone. It is recommended that you back up the vault in advance. Please confirm whether you want to execute the command.";
this.addCommand({
id: "update-all-relative-links",
name: "Update all relative links",
callback() {
new ConfirmModal(app, message, () => {
const promises = vault.getMarkdownFiles().map((file) => replace(file, false));
Promise.all(promises).then((linkCounts) => {
const updatedLinkCounts = linkCounts.filter((count) => count > 0);
const linkCount = updatedLinkCounts.reduce((sum, count) => sum + count, 0);
const fileCount = updatedLinkCounts.length;
new import_obsidian.Notice(`Update ${linkCount} links in ${fileCount} file${fileCount > 1 ? "s" : ""}.`);
}).catch((err) => {
new import_obsidian.Notice("Update links error, see console.");
console.error(err);
});
}).open();
}
});
this.registerEvent(vault.on("rename", (file, oldPath) => {
var _a;
if (!oldPath || !file.path.toLocaleLowerCase().endsWith(".md") || ((_a = file.parent) == null ? void 0 : _a.path) === dirname(oldPath)) {
return;
}
if (file instanceof import_obsidian.TFile) {
setTimeout(() => replace(file, true), 100);
}
}));
async function replace(file, notice) {
var _a, _b;
const metadata = metadataCache.getFileCache(file);
const links = [...(_a = metadata == null ? void 0 : metadata.links) != null ? _a : [], ...(_b = metadata == null ? void 0 : metadata.embeds) != null ? _b : []];
const replacePairs = links.map(({ link, original }) => {
var _a2;
const linkPath = link.replace(/#.*$/, "");
if (!linkPath) {
return null;
}
const linkFile = metadataCache.getFirstLinkpathDest(linkPath, file.path);
if (!linkFile) {
return null;
}
const newLinkPath = ((_a2 = file.parent) == null ? void 0 : _a2.path) === "/" ? linkFile.path : relative(file.path, linkFile.path);
if (linkPath === newLinkPath) {
return null;
}
const newOriginal = replaceOriginal(original, linkPath, newLinkPath);
return [original, newOriginal];
}).filter((pair) => pair);
if (!(replacePairs == null ? void 0 : replacePairs.length)) {
return 0;
}
try {
const content = await vault.read(file);
const replacedContent = replacePairs.reduce((tmpContent, pair) => {
return (pair == null ? void 0 : pair.length) === 2 ? tmpContent.replace(pair[0], pair[1]) : tmpContent;
}, content);
await vault.modify(file, replacedContent);
const msg = `Update ${replacePairs.length} links in ${file.path}.`;
console.log(msg);
if (notice) {
new import_obsidian.Notice(msg);
}
return replacePairs.length;
} catch (e) {
console.error(e);
if (notice) {
new import_obsidian.Notice("Update links error, see console.");
}
throw e;
}
}
function replaceOriginal(original, link, newLink) {
let newOriginal = replaceWithFormat(original, link, newLink, (s) => s.replace(/ /g, "%20"));
if (original === newOriginal) {
newOriginal = replaceWithFormat(original, link, newLink, encodeURI);
}
if (original === newOriginal) {
newOriginal = original.replace(/^(!?\[.*?\]).*$/, `$1(${encodeURI(newLink)})`);
}
return newOriginal;
}
function replaceWithFormat(str, from, to, format) {
return str.replace(format(from), format(to));
}
}
};
/* nosourcemap */

View File

@ -0,0 +1,10 @@
{
"id": "update-relative-links",
"name": "Update Relative Links",
"version": "2.1.3",
"minAppVersion": "0.15.0",
"description": "Update relative links.",
"author": "val",
"authorUrl": "https://github.com/val3344/obsidian-update-relative-links",
"isDesktopOnly": false
}

View File

@ -0,0 +1,13 @@
{
"dateFormat": "yyyy-MM-dd'T'HH:mm",
"enableCreateTime": true,
"headerUpdated": "updated",
"headerCreated": "created",
"minMinutesBetweenSaves": 1,
"ignoreGlobalFolder": [],
"ignoreCreatedFolder": [],
"enableExperimentalHash": false,
"fileHashMap": {
"Other/Drucker.md": "159f8439135fc1bad460d2b78aac8bceca119edd5561ac238a91abc6181d5ff3"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
{
"id": "update-time-on-edit",
"name": "Update time on edit",
"version": "2.4.0",
"minAppVersion": "1.4.4",
"description": "Keep front matter in sync with the last edit time",
"author": "@beaussan",
"authorUrl": "https://github.com/beaussan",
"isDesktopOnly": false
}

View File

@ -0,0 +1,17 @@
.time_search {
width: calc(100% - 20px);
}
.update-time-on-edit--settings--warn {
color: #ff5a5a;
}
.update-time-on-edit--bulk-modal .progress-section {
align-items: center;
gap: 1rem;
display: flex;
}
.update-time-on-edit--bulk-modal .progress-section progress {
flex: 1;
}

216
.obsidian/workspace.json vendored Normal file
View File

@ -0,0 +1,216 @@
{
"main": {
"id": "acab7faa68fb9f9a",
"type": "split",
"children": [
{
"id": "ac8c1c9af2cfba1e",
"type": "tabs",
"children": [
{
"id": "4ca649a134288e28",
"type": "leaf",
"state": {
"type": "image",
"state": {
"file": "attachments/screenshot 7.png"
},
"icon": "lucide-image",
"title": "screenshot 7"
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "f1a4b1252b38f0d0",
"type": "split",
"children": [
{
"id": "e95a05b05f6890ec",
"type": "tabs",
"children": [
{
"id": "09ebeef7532efe95",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": false
},
"icon": "lucide-folder-closed",
"title": "Files"
}
},
{
"id": "9a53babe8f7e89c3",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "Search"
}
},
{
"id": "1947581603cee6f4",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "Bookmarks"
}
},
{
"id": "f703b32ba083d0dc",
"type": "leaf",
"state": {
"type": "mk-path-view",
"state": {},
"icon": "layout-grid",
"title": "Navigator"
}
}
],
"currentTab": 3
}
],
"direction": "horizontal",
"width": 300
},
"right": {
"id": "e55ac8a7c4c101a2",
"type": "split",
"children": [
{
"id": "a08058adf6596f23",
"type": "tabs",
"children": [
{
"id": "ef48e2cea6fb361c",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "attachments/screenshot 7.png",
"collapseAll": true,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "Backlinks for screenshot 7"
}
},
{
"id": "903eb47e1cb603b3",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "Journal/2024/2024-11.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "Outgoing links from 2024-11"
}
},
{
"id": "a03f294fb31506e5",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true
},
"icon": "lucide-tags",
"title": "Tags"
}
},
{
"id": "6729662b44fde71c",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "attachments/screenshot 7.png",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "Outline of screenshot 7"
}
}
],
"currentTab": 3
}
],
"direction": "horizontal",
"width": 300
},
"left-ribbon": {
"hiddenItems": {
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
"canvas:Create new canvas": false,
"daily-notes:Open today's daily note": false,
"templates:Insert template": false,
"command-palette:Open command palette": false,
"obsidian-git:Open Git source control": false,
"table-editor-obsidian:Advanced Tables Toolbar": false
}
},
"active": "4ca649a134288e28",
"lastOpenFiles": [
"attachments/screenshot 5.png",
"attachments/paint_damage/screenshot 14.png",
"attachments/paint_damage/screenshot 13.png",
"attachments/paint_damage/screenshot 12.png",
"attachments/paint_damage/paintdamage_02.png",
"attachments/paint_damage/paintdamage_01.png",
"attachments/screenshot 13.png",
"attachments/screenshot 12.png",
"attachments/screenshot 10.png",
"attachments/screenshot 1.png",
"attachments/IPAF-Ausweis_02.png",
"attachments/73-13-42_Functional Test of the Fuel Recirculation Cooling System with AIDS.pdf",
"attachments/DeSoto 825-009 High Temp Primer.pdf",
"ipaf.md",
"Alpha Call-Up List.md",
"Aviatar.md",
"IT-Service.md",
"Journal/2025/2025-05.md",
"Journal/2025/2025-06.md",
"Other/TAQ.md",
"Other/Drucker.md",
"FINs.md",
"EOs.md",
"EO/EO 340636.md",
"EO/EO 342978.md",
"EO/EO 343265.md",
"attachments/eo/eo343265.pdf",
"EO/EO 367283.md",
"Tags",
"Journal/2025/2025-02.md",
"Journal/2024/2024-11.md",
"Journal/2024/2025-02.md",
"Journal/2024/2024-09.md"
]
}