initial upload
This commit is contained in:
Vendored
+20876
File diff suppressed because one or more lines are too long
+11
@@ -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
@@ -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: ")";
|
||||
}
|
||||
Vendored
BIN
Binary file not shown.
Vendored
+93
@@ -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
|
||||
}
|
||||
Vendored
+1177
File diff suppressed because one or more lines are too long
+10
@@ -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
|
||||
}
|
||||
Vendored
+1
File diff suppressed because one or more lines are too long
+24
@@ -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"
|
||||
}
|
||||
+513
File diff suppressed because one or more lines are too long
@@ -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
+36360
File diff suppressed because one or more lines are too long
@@ -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
File diff suppressed because one or more lines are too long
+10
@@ -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"
|
||||
}
|
||||
+23
@@ -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"
|
||||
+605
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
+7158
File diff suppressed because one or more lines are too long
@@ -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
|
||||
}
|
||||
+120
@@ -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;
|
||||
}
|
||||
+3418
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
}
|
||||
+105
@@ -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;
|
||||
}
|
||||
@@ -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 */
|
||||
@@ -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
|
||||
}
|
||||
@@ -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 */
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"rowCount": 8,
|
||||
"columnCount": 8,
|
||||
"defaultAlignment": "left",
|
||||
"defaultCardWidth": 160,
|
||||
"defaultCardHeight": 160
|
||||
}
|
||||
+2463
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
}
|
||||
@@ -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{}
|
||||
Vendored
+1847
File diff suppressed because one or more lines are too long
+11
@@ -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
|
||||
}
|
||||
Vendored
+35
@@ -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;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"formatType": "normal",
|
||||
"showRibbonIcon": true,
|
||||
"bindEnter": true,
|
||||
"bindTab": true
|
||||
}
|
||||
+236
File diff suppressed because one or more lines are too long
@@ -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"
|
||||
}
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
+10
@@ -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
|
||||
}
|
||||
+174
@@ -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 */
|
||||
@@ -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
|
||||
}
|
||||
+13
@@ -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"
|
||||
}
|
||||
}
|
||||
+6095
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user