first commit

This commit is contained in:
J 2024-04-30 13:47:58 +02:00
commit eb6c1f4554
85 changed files with 203671 additions and 0 deletions

12
.obsidian/app.json vendored Normal file
View file

@ -0,0 +1,12 @@
{
"showInlineTitle": false,
"pdfExportSettings": {
"includeName": true,
"pageSize": "Letter",
"landscape": false,
"margin": "0",
"downscalePercent": 100
},
"alwaysUpdateLinks": true,
"promptDelete": false
}

13
.obsidian/appearance.json vendored Normal file
View file

@ -0,0 +1,13 @@
{
"accentColor": "#ff7070",
"cssTheme": "Border",
"theme": "system",
"interfaceFontFamily": "Inter",
"textFontFamily": "Inter",
"baseFontSize": 20,
"enabledCssSnippets": [
"Lio's Edits",
"01 - My Edits"
],
"baseFontSizeAction": true
}

5
.obsidian/command-palette.json vendored Normal file
View file

@ -0,0 +1,5 @@
{
"pinned": [
"app:reload"
]
}

20
.obsidian/community-plugins.json vendored Normal file
View file

@ -0,0 +1,20 @@
[
"table-editor-obsidian",
"dataview",
"highlightr-plugin",
"ollama",
"obsidian-style-settings",
"obsidian-hider",
"cmenu-plugin",
"novel-word-count",
"obsidian-kanban",
"folder-note-plugin",
"waypoint",
"tag-wrangler",
"quickadd",
"templater-obsidian",
"obsidian-icon-folder",
"modalforms",
"settings-search",
"yet-another-obsidian-synchronizer"
]

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,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": true,
"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,
"properties": true
}

22
.obsidian/core-plugins.json vendored Normal file
View file

@ -0,0 +1,22 @@
[
"file-explorer",
"global-search",
"switcher",
"graph",
"backlink",
"canvas",
"outgoing-link",
"tag-pane",
"properties",
"page-preview",
"daily-notes",
"templates",
"note-composer",
"command-palette",
"editor-status",
"bookmarks",
"markdown-importer",
"outline",
"word-count",
"file-recovery"
]

44
.obsidian/graph.json vendored Normal file
View file

@ -0,0 +1,44 @@
{
"collapse-filter": true,
"search": "",
"showTags": false,
"showAttachments": false,
"hideUnresolved": false,
"showOrphans": true,
"collapse-color-groups": false,
"colorGroups": [
{
"query": "path:\"02 - Areas/01 - TTRPG\" ",
"color": {
"a": 1,
"rgb": 14048348
}
},
{
"query": "path:\"03 - Reading\" ",
"color": {
"a": 1,
"rgb": 14069084
}
},
{
"query": "path:\"02 - Areas/02 - Writing\" ",
"color": {
"a": 1,
"rgb": 11392604
}
}
],
"collapse-display": true,
"showArrow": false,
"textFadeMultiplier": -2.1,
"nodeSizeMultiplier": 1,
"lineSizeMultiplier": 1,
"collapse-forces": true,
"centerStrength": 0.518713248970312,
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 0.3940927941872685,
"close": true
}

1
.obsidian/hotkeys.json vendored Normal file
View file

@ -0,0 +1 @@
{}

BIN
.obsidian/icons/lucide-icons.zip vendored Normal file

Binary file not shown.

20694
.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.66",
"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
}

146
.obsidian/plugins/dataview/styles.css vendored Normal file
View file

@ -0,0 +1,146 @@
/** Live Preview padding fixes, specifically for DataviewJS custom HTML elements. */
.is-live-preview .block-language-dataviewjs > p, .is-live-preview .block-language-dataviewjs > span {
line-height: 1.0;
}
.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(--text-nav-selected);
}
.dataview.inline-field-value {
padding-left: 8px;
padding-right: 8px;
font-family: var(--font-monospace);
background-color: var(--background-secondary-alt);
color: var(--text-nav-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(--text-nav-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: ")";
}

673
.obsidian/plugins/dbfolder/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,12 @@
{
"id": "dbfolder",
"name": "DB Folder",
"version": "3.5.1",
"minAppVersion": "1.1.1",
"description": "Folder with the capability to store and retrieve data from a folder like database",
"author": "RafaelGB",
"authorUrl": "https://github.com/RafaelGB/obsidian-bd-folder",
"isDesktopOnly": false,
"fundingUrl": "https://www.buymeacoffee.com/5tsytn22v9Z",
"helpUrl": "https://rafaelgb.github.io/obsidian-db-folder/"
}

1865
.obsidian/plugins/dbfolder/styles.css vendored Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,9 @@
{
"folderNoteHide": true,
"folderNoteType": "inside",
"folderNoteName": "_about_",
"folderNoteKey": "ctrl",
"folderNoteAutoRename": true,
"folderDelete2Note": false,
"folderNoteStrInit": "# {{FOLDER_NAME}} Overview\n"
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,10 @@
{
"id": "folder-note-plugin",
"name": "Folder Note",
"version": "0.7.3",
"minAppVersion": "0.9.12",
"description": "Click a folder node to show a note describing the folder.",
"author": "xpgo",
"authorUrl": "https://github.com/xpgo/obsidian-folder-note",
"isDesktopOnly": false
}

View file

@ -0,0 +1,229 @@
/* hide the folder note file node */
div.is-folder-note {
display: none;
}
/* indicate the folder has note */
div.has-folder-note {
color: var(--text-nav-selected);
}
/*---------------------------------------------
Cute card view
-----------------------------------------------*/
.cute-card-band {
width: 100%;
max-width: 900px;
margin: 0 auto;
margin-top: 15px;
margin-bottom: 5px;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
grid-gap: 20px;
}
@media (min-width: 30em) {
.cute-card-band {
grid-template-columns: 1fr 1fr;
}
}
@media (min-width: 60em) {
.cute-card-band {
grid-template-columns: repeat(3, 1fr);
}
}
.cute-card-view {
background: var(--background-accent);
text-decoration: none !important;
color: var(--text-normal);
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
display: flex;
flex-direction: column;
min-height: 100%;
position: relative;
top: 0;
transition: all 0.1s ease-in;
border-radius: 10px;
}
.cute-card-view:hover {
top: -2px;
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.2);
}
.cute-card-view article {
padding: 15px;
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.cute-card-view h1 {
font-size: 1.2rem;
margin: 0;
color: var(--text-accent);
}
.cute-card-view a {
text-decoration: none !important;
}
.cute-card-view p {
flex: 1;
line-height: 1.0;
}
.cute-card-view span {
font-size: 0.8rem;
font-weight: bold;
color: var(--text-faint);
letter-spacing: 0.05em;
}
.cute-card-view .thumb {
padding-bottom: 60%;
background-size: cover;
background-position: center center;
border-radius: 10px 10px 0px 0px;
}
.cute-card-view .thumb-color {
padding-bottom: 10%;
background-size: cover;
background-position: center center;
border-radius: 10px 10px 0px 0px;
text-transform: uppercase;
font-size: 1.2rem;
font-weight: bold;
text-align: center;
color: #FFFFFF;
padding: 10px;
}
.cute-card-view .thumb-color-folder {
background-color: slateblue;
}
.cute-card-view .thumb-color-note {
background-color: salmon;
}
/*---------------------------------------------
strip card view
-----------------------------------------------*/
.strip-card-band {
width: 100%;
}
.strip-card-view {
width: 100%;
max-width: 100%;
margin-top: 1.0rem;
margin-bottom: 1.0rem;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: stretch;
-webkit-align-items: stretch;
-ms-flex-align: stretch;
align-items: stretch;
min-height: 8rem;
-webkit-border-radius: 10px;
border-radius: 10px;
overflow: hidden;
-webkit-transition: all .3s ease;
-o-transition: all .3s ease;
transition: all .3s ease;
-webkit-box-shadow: 0 1px 1px 0 rgba(31, 35, 46, 0.15);
box-shadow: 0 1px 1px 0 rgba(31, 35, 46, 0.15);
/* add by xpgo */
background: var(--background-accent);
text-decoration: none !important;
color: var(--text-normal);
}
.strip-card-view:hover {
-webkit-transform: translate(0px, -2px);
-ms-transform: translate(0px, -2px);
transform: translate(0px, -2px);
-webkit-box-shadow: 0 15px 45px -10px rgba(10, 16, 34, 0.2);
box-shadow: 0 15px 45px -10px rgba(10, 16, 34, 0.2);
}
.strip-card-view .thumb {
width: 20%;
max-width: 100%;
min-height: 9rem;
-webkit-background-size: cover;
background-size: cover;
background-position: 50% 50%;
}
.strip-card-view .thumb-color {
width: 20%;
max-width: 100%;
min-height: 9rem;
-webkit-background-size: cover;
background-size: cover;
background-position: center center;
/* add by xpgo */
display: flex;
justify-content: center;
align-items: center;
padding: 10px;
text-transform: uppercase;
font-size: 1.2rem;
font-weight: bold;
text-align: center;
color: #FFFFFF;
}
.strip-card-view .thumb-color-folder {
background-color: slateblue;
}
.strip-card-view .thumb-color-note {
background-color: salmon;
}
.strip-card-view article {
padding: 1rem;
width: 80%;
}
.strip-card-view h1 {
font-size: 1.5rem;
margin: 0 0 10px;
color: var(--text-accent);
}
.strip-card-view a {
text-decoration: none !important;
}
.strip-card-view p {
margin-top: 0;
flex: 1;
line-height: 1.0;
}
.strip-card-view span {
font-size: 0.8rem;
font-weight: bold;
color: var(--text-faint);
letter-spacing: 0.05em;
}

View file

@ -0,0 +1,26 @@
{
"highlighterStyle": "lowlight",
"highlighterMethods": "inline-styles",
"highlighters": {
"Pink": "#FFB8EBA6",
"Red": "#FF5582A6",
"Orange": "#FFB86CA6",
"Yellow": "#FFF3A3A6",
"Green": "#BBFABBA6",
"Cyan": "#ABF7F7A6",
"Blue": "#ADCCFFA6",
"Purple": "#D2B3FFA6",
"Grey": "#CACFD9A6"
},
"highlighterOrder": [
"Pink",
"Red",
"Orange",
"Yellow",
"Green",
"Cyan",
"Blue",
"Purple",
"Grey"
]
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,10 @@
{
"id": "highlightr-plugin",
"name": "Highlightr",
"version": "1.2.2",
"minAppVersion": "0.12.8",
"description": "A minimal and aesthetically pleasing highlighting menu that makes color-coded highlighting much easier with a configurable assortment of highlight colors 🎨.",
"author": "chetachi",
"authorUrl": "https://github.com/chetachiezikeuzor",
"isDesktopOnly": false
}

View file

@ -0,0 +1,774 @@
/*highlighter style*/
/*lowlight*/
.highlightr-lowlight mark,
.highlightr-lowlight span.cm-highlight,
.highlightr-lowlight .markdown-preview-view mark {
--lowlight-background: var(--background-primary);
border-radius: 0;
background-image: linear-gradient(
360deg,
rgba(255, 255, 255, 0) 40%,
var(--lowlight-background) 40%
) !important;
}
.highlightr-lowlight .workspace-split.mod-left-split mark,
.highlightr-lowlight .workspace-split.mod-left-split span.cm-highlight,
.highlightr-lowlight
.workspace-split.mod-left-split
.markdown-preview-view
mark,
.highlightr-lowlight .workspace-split.mod-right-split mark,
.highlightr-lowlight .workspace-split.mod-right-split span.cm-highlight,
.highlightr-lowlight
.workspace-split.mod-right-split
.markdown-preview-view
mark {
--lowlight-background: var(--background-secondary);
}
.highlightr-lowlight .admonition-content mark,
.highlightr-lowlight .admonition-content span.cm-highlight,
.highlightr-lowlight .admonition-content > .markdown-preview-view mark {
--lowlight-background: var(--background-primary-alt);
}
/*floating*/
.highlightr-floating mark,
.highlightr-floating span.cm-highlight,
.highlightr-floating .markdown-preview-view mark {
--floating-background: var(--background-primary);
border-radius: 0;
padding-bottom: 5px;
background-image: linear-gradient(
360deg,
rgba(255, 255, 255, 0) 28%,
var(--floating-background) 28%
) !important;
}
.highlightr-floating .workspace-split.mod-left-split mark,
.highlightr-floating .workspace-split.mod-left-split span.cm-highlight,
.highlightr-floating
.workspace-split.mod-left-split
.markdown-preview-view
mark,
.highlightr-floating .workspace-split.mod-right-split mark,
.highlightr-floating .workspace-split.mod-right-split span.cm-highlight,
.highlightr-floating
.workspace-split.mod-right-split
.markdown-preview-view
mark {
--floating-background: var(--background-secondary);
}
.highlightr-floating .admonition-content mark,
.highlightr-floating .admonition-content span.cm-highlight,
.highlightr-floating .admonition-content > .markdown-preview-view mark {
--floating-background: var(--background-primary-alt);
}
/*rounded*/
.highlightr-rounded mark,
.highlightr-rounded .markdown-preview-view mark {
margin: 0 -0.05em;
padding: 0.125em 0.15em;
border-radius: 0.2em;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
}
.highlightr-rounded span.cm-highlight {
border-radius: 0.2em;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
}
.highlightr-rounded .cm-s-obsidian span.cm-highlight {
font-weight: inherit;
}
.highlightr-rounded .cm-highlight + span.cm-formatting-highlight {
padding-left: 0em;
padding-right: 0.15em;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
}
/*realistic*/
.highlightr-realistic mark,
.highlightr-realistic .markdown-preview-view mark {
margin: 0 -0.05em;
padding: 0.1em 0.4em;
border-radius: 0.8em 0.3em;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
text-shadow: 0 0 0.75em var(--background-primary-alt);
}
.highlightr-realistic.hide-tokens .cm-s-obsidian span.cm-highlight,
.hide-tokens.highlightr-realistic .cm-s-obsidian span.cm-highlight {
border-radius: 0.8em 0.3em;
}
.highlightr-realistic .cm-s-obsidian span.cm-highlight {
padding: 0.15em 0.25em;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
text-shadow: 0 0 0.75em var(--background-primary-alt);
}
.highlightr-realistic .cm-s-obsidian span.cm-formatting-highlight {
margin: 0 0 0 -0.05em;
padding: 0.15em 0.25em;
border-radius: 0.8em 0 0 0.3em;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
}
.highlightr-realistic
.cm-s-obsidian
.cm-highlight
+ span.cm-formatting-highlight {
margin: 0 -0.05em 0 0;
padding: 0.15em 0.25em;
border-radius: 0 0.3em 0.8em 0;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
}
/**/
button.copy-highlights {
padding: 4px 14px;
border-radius: 5px;
background-color: var(--interactive-accent);
}
.copy-highlights svg {
width: 1.3em;
height: 1.3em;
display: flex;
}
details summary.highlight-summary:before {
width: 2em;
height: 2em;
content: "☐";
font-size: 9px;
cursor: pointer;
margin-right: 5px;
display: inline-block;
vertical-align: 0.05em;
background-color: currentColor;
-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="black" d="M10.707 17.707L16.414 12l-5.707-5.707l-1.414 1.414L13.586 12l-4.293 4.293z"></path></svg>');
}
details[open] summary.highlight-summary::before {
transform: rotate(90deg);
}
/*highlightr component*/
@keyframes fade {
0% {
opacity: 0;
}
20% {
opacity: 0.9;
}
40% {
opacity: 0.95;
}
100% {
opacity: 1;
}
}
.menu.highlighterContainer {
min-width: 140px;
max-width: 225px;
max-height: 180px;
padding-left: 0em;
padding: 0;
margin: 0 auto;
border-radius: 6px;
font-size: 14px;
overflow-y: auto;
overflow-x: hidden;
position: fixed;
animation: fade 300ms ease-in-out;
background-color: var(--background-primary);
box-shadow: 0px 3px 25px rgba(31, 38, 135, 0.1);
border: 1px solid var(--background-modifier-border);
}
.menu.highlighterContainer .menu-item .menu-item-icon {
display: inline-block;
width: 25px;
position: relative;
top: 2px;
}
.menu.highlighterContainer .menu-item {
display: flex;
padding: 2px 14px 3px 14px;
align-items: unset;
margin: auto;
cursor: pointer;
font-size: 14px;
height: 32px;
line-height: 31px;
white-space: nowrap;
border-radius: 0;
border-bottom: 1px solid var(--background-modifier-border);
}
.menu.highlighterContainer .menu-item:last-of-type {
border-bottom: none;
}
/*----------------------------------------------------------------
SETTINGS TAB
----------------------------------------------------------------*/
button.HighlightrSettingsButton {
padding: 4px 14px;
border-radius: 6px;
height: fit-content;
}
button.HighlightrSettingsButton svg {
width: 1.3em;
height: 1.3em;
display: flex;
}
.highlighter-settings-color,
.highlighter-settings-value {
width: 42%;
color: var(--text-normal);
}
.highlighterplugin-setting-item {
display: block;
}
.highlighterplugin-setting-item .setting-item-control {
justify-content: space-between;
margin-top: 12px;
align-content: center;
align-items: flex-end;
grid-gap: 6px;
}
.modal.mod-settings
button:not(.mod-cta):not(.mod-warning).HighlightrSettingsButton.HighlightrSettingsButtonAdd,
button:not(.mod-cta):not(.mod-warning).HighlightrSettingsButton.HighlightrSettingsButtonAdd {
background-color: var(--interactive-accent);
}
.modal.mod-settings
button:not(.mod-cta):not(.mod-warning).HighlightrSettingsButton.HighlightrSettingsButtonDelete,
button:not(.mod-cta):not(.mod-warning).HighlightrSettingsButton.HighlightrSettingsButtonDelete {
background-color: #989cab;
}
/**/
.highlighter-setting-icon {
display: flex;
height: 24px;
width: 24px;
}
.highlighter-item-draggable {
cursor: grab;
display: grid;
grid-gap: 8px;
grid-template-columns: 0.5fr 7fr;
align-items: center;
border-top: 1px solid var(--background-modifier-border);
}
.HighlightrSettingsTabsContainer {
border-bottom: 1px solid var(--background-modifier-border);
}
.setting-item.highlighter-setting-item:first-child {
padding-top: 18px;
}
.highlighter-setting-item {
padding: 18px 0 18px 0;
border-top: none;
}
.highlighter-sortable-fallback {
cursor: grabbing;
box-shadow: 0px 3px 32px rgb(31 38 135 / 15%);
}
.highlighter-sortable-grab {
cursor: grabbing !important;
}
.highlighter-sortable-ghost {
opacity: 0.4;
cursor: grabbing;
}
.highlighter-sortable-chosen {
cursor: grabbing;
padding: 0 0 0 18px;
background-color: var(--background-primary);
}
.highlighter-sortable-drag {
cursor: grabbing;
box-shadow: 0px 3px 32px rgb(31 38 135 / 15%);
}
/*----------------------------------------------------------------
HIGHLIGHTR SUPPORT
----------------------------------------------------------------*/
.hltrDonationSection {
width: 65%;
height: 50vh;
margin: 0 auto;
text-align: center;
color: var(--text-normal);
}
.pcr-app .pcr-swatches > button {
padding: 0;
}
.pickr .pcr-button {
margin-right: 0;
}
.themed-color-wrapper > div {
background: var(--background-primary);
padding: 10px;
display: flex;
align-items: center;
border-radius: 4px;
}
.themed-color-wrapper > div + div {
margin-top: 6px;
}
.themed-color-wrapper button {
display: block;
}
.themed-color-wrapper .pickr-reset > button {
margin: 0 0 0 10px;
padding: 9px;
line-height: 1;
}
.themed-color-wrapper .pickr-reset > button > svg {
display: block;
}
/*----------------------------------------------------------------
PICKR 1.8.2 MIT | https://github.com/Simonwep/pickr
----------------------------------------------------------------*/
.pickr {
position: relative;
overflow: visible;
transform: translateY(0);
}
.pickr * {
box-sizing: border-box;
outline: none;
border: none;
-webkit-appearance: none;
}
.pickr .pcr-button {
position: relative;
height: 2em;
width: 2em;
padding: 0.5em;
cursor: pointer;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto",
"Helvetica Neue", Arial, sans-serif;
border-radius: 0.15em;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" stroke="%2342445A" stroke-width="5px" stroke-linecap="round"><path d="M45,45L5,5"></path><path d="M45,5L5,45"></path></svg>')
no-repeat center;
background-size: 0;
transition: all 0.3s;
}
.pickr .pcr-button::before {
position: absolute;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: 0.5em;
border-radius: 0.15em;
z-index: -1;
}
.pickr .pcr-button::before {
z-index: initial;
}
.pickr .pcr-button::after {
position: absolute;
content: "";
top: 0;
left: 0;
height: 100%;
width: 100%;
transition: background 0.3s;
background: var(--pcr-color);
border-radius: 0.15em;
}
.pickr .pcr-button.clear {
background-size: 70%;
}
.pickr .pcr-button.clear::before {
opacity: 0;
}
.pickr .pcr-button.clear:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px var(--pcr-color);
}
.pickr .pcr-button.disabled {
cursor: not-allowed;
}
.pickr *,
.pcr-app * {
box-sizing: border-box;
outline: none;
border: none;
-webkit-appearance: none;
}
.pickr input:focus,
.pickr input.pcr-active,
.pickr button:focus,
.pickr button.pcr-active,
.pcr-app input:focus,
.pcr-app input.pcr-active,
.pcr-app button:focus,
.pcr-app button.pcr-active {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px var(--pcr-color);
}
.pickr .pcr-palette,
.pickr .pcr-slider,
.pcr-app .pcr-palette,
.pcr-app .pcr-slider {
transition: box-shadow 0.3s;
}
.pickr .pcr-palette:focus,
.pickr .pcr-slider:focus,
.pcr-app .pcr-palette:focus,
.pcr-app .pcr-slider:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(0, 0, 0, 0.25);
}
.pcr-app {
position: fixed;
display: flex;
flex-direction: column;
z-index: 10000;
border-radius: 0.1em;
background: #fff;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s, visibility 0s 0.3s;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto",
"Helvetica Neue", Arial, sans-serif;
box-shadow: 0 0.15em 1.5em 0 rgba(0, 0, 0, 0.1), 0 0 1em 0 rgba(0, 0, 0, 0.03);
left: 0;
top: 0;
}
.pcr-app.visible {
transition: opacity 0.3s;
visibility: visible;
opacity: 1;
}
.pcr-app .pcr-swatches {
display: flex;
flex-wrap: wrap;
margin-top: 0.75em;
}
.pcr-app .pcr-swatches.pcr-last {
margin: 0;
}
@supports (display: grid) {
.pcr-app .pcr-swatches {
display: grid;
align-items: center;
grid-template-columns: repeat(auto-fit, 1.75em);
}
}
.pcr-app .pcr-swatches > button {
font-size: 1em;
position: relative;
width: calc(1.75em - 5px);
height: calc(1.75em - 5px);
border-radius: 0.15em;
cursor: pointer;
margin: 2.5px;
flex-shrink: 0;
justify-self: center;
transition: all 0.15s;
overflow: hidden;
background: transparent;
z-index: 1;
}
.pcr-app .pcr-swatches > button::before {
position: absolute;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: 6px;
border-radius: 0.15em;
z-index: -1;
}
.pcr-app .pcr-swatches > button::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--pcr-color);
border: 1px solid rgba(0, 0, 0, 0.05);
border-radius: 0.15em;
box-sizing: border-box;
}
.pcr-app .pcr-swatches > button:hover {
filter: brightness(1.05);
}
.pcr-app .pcr-swatches > button:not(.pcr-active) {
box-shadow: none;
}
.pcr-app .pcr-interaction {
display: flex;
flex-wrap: wrap;
align-items: center;
margin: 0 -0.2em 0 -0.2em;
}
.pcr-app .pcr-interaction > * {
margin: 0 0.2em;
}
.pcr-app .pcr-interaction input {
letter-spacing: 0.07em;
font-size: 0.75em;
text-align: center;
cursor: pointer;
color: #75797e;
background: #f1f3f4;
border-radius: 0.15em;
transition: all 0.15s;
padding: 0.45em 0.5em;
margin-top: 0.75em;
}
.pcr-app .pcr-interaction input:hover {
filter: brightness(0.975);
}
.pcr-app .pcr-interaction input:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85),
0 0 0 3px rgba(66, 133, 244, 0.75);
}
.pcr-app .pcr-interaction .pcr-result {
color: #75797e;
text-align: left;
flex: 1 1 8em;
min-width: 8em;
transition: all 0.2s;
border-radius: 0.15em;
background: #f1f3f4;
cursor: text;
}
.pcr-app .pcr-interaction .pcr-result::-moz-selection {
background: #4285f4;
color: #fff;
}
.pcr-app .pcr-interaction .pcr-result::selection {
background: #4285f4;
color: #fff;
}
.pcr-app .pcr-interaction .pcr-type.active {
color: #fff;
background: #4285f4;
}
.pcr-app .pcr-interaction .pcr-save,
.pcr-app .pcr-interaction .pcr-cancel,
.pcr-app .pcr-interaction .pcr-clear {
color: #fff;
width: auto;
}
.pcr-app .pcr-interaction .pcr-save,
.pcr-app .pcr-interaction .pcr-cancel,
.pcr-app .pcr-interaction .pcr-clear {
color: #fff;
}
.pcr-app .pcr-interaction .pcr-save:hover,
.pcr-app .pcr-interaction .pcr-cancel:hover,
.pcr-app .pcr-interaction .pcr-clear:hover {
filter: brightness(0.925);
}
.pcr-app .pcr-interaction .pcr-save {
background: #4285f4;
}
.pcr-app .pcr-interaction .pcr-clear,
.pcr-app .pcr-interaction .pcr-cancel {
background: #f44250;
}
.pcr-app .pcr-interaction .pcr-clear:focus,
.pcr-app .pcr-interaction .pcr-cancel:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85),
0 0 0 3px rgba(244, 66, 80, 0.75);
}
.pcr-app .pcr-selection .pcr-picker {
position: absolute;
height: 18px;
width: 18px;
border: 2px solid #fff;
border-radius: 100%;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.pcr-app .pcr-selection .pcr-color-palette,
.pcr-app .pcr-selection .pcr-color-chooser,
.pcr-app .pcr-selection .pcr-color-opacity {
position: relative;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
display: flex;
flex-direction: column;
cursor: grab;
cursor: -webkit-grab;
}
.pcr-app .pcr-selection .pcr-color-palette:active,
.pcr-app .pcr-selection .pcr-color-chooser:active,
.pcr-app .pcr-selection .pcr-color-opacity:active {
cursor: grabbing;
cursor: -webkit-grabbing;
}
.pcr-app[data-theme="nano"] {
width: 14.25em;
max-width: 95vw;
}
.pcr-app[data-theme="nano"] .pcr-swatches {
margin-top: 0.6em;
padding: 0 0.6em;
}
.pcr-app[data-theme="nano"] .pcr-interaction {
padding: 0 0.6em 0.6em 0.6em;
}
.pcr-app[data-theme="nano"] .pcr-selection {
display: grid;
grid-gap: 0.6em;
grid-template-columns: 1fr 4fr;
grid-template-rows: 5fr auto auto;
align-items: center;
height: 10.5em;
width: 100%;
align-self: flex-start;
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-preview {
grid-area: 2 / 1 / 4 / 1;
height: 100%;
width: 100%;
display: flex;
flex-direction: row;
justify-content: center;
margin-left: 0.6em;
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-preview .pcr-last-color {
display: none;
}
.pcr-app[data-theme="nano"]
.pcr-selection
.pcr-color-preview
.pcr-current-color {
position: relative;
background: var(--pcr-color);
width: 2em;
height: 2em;
border-radius: 50em;
overflow: hidden;
}
.pcr-app[data-theme="nano"]
.pcr-selection
.pcr-color-preview
.pcr-current-color::before {
position: absolute;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: 0.5em;
border-radius: 0.15em;
z-index: -1;
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-palette {
grid-area: 1 / 1 / 2 / 3;
width: 100%;
height: 100%;
z-index: 1;
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-palette .pcr-palette {
border-radius: 0.15em;
width: 100%;
height: 100%;
}
.pcr-app[data-theme="nano"]
.pcr-selection
.pcr-color-palette
.pcr-palette::before {
position: absolute;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: 0.5em;
border-radius: 0.15em;
z-index: -1;
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-chooser {
grid-area: 2 / 2 / 2 / 2;
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-opacity {
grid-area: 3 / 2 / 3 / 2;
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-chooser,
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-opacity {
height: 0.5em;
margin: 0 0.6em;
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-chooser .pcr-picker,
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-opacity .pcr-picker {
top: 50%;
transform: translateY(-50%);
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-chooser .pcr-slider,
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-opacity .pcr-slider {
flex-grow: 1;
border-radius: 50em;
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-chooser .pcr-slider {
background: linear-gradient(to right, red, #ff0, lime, cyan, blue, #f0f, red);
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-opacity .pcr-slider {
background: linear-gradient(to right, transparent, black),
url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: 100%, 0.25em;
}

119
.obsidian/plugins/modalforms/data.json vendored Normal file
View file

@ -0,0 +1,119 @@
{
"editorPosition": "mainView",
"attachShortcutToGlobalWindow": false,
"globalNamespace": "MF",
"formDefinitions": [
{
"title": "Add a Fic",
"name": "add-fic",
"fields": [
{
"name": "author",
"label": "Author",
"description": "Who wrote this Fic?",
"isRequired": true,
"input": {
"type": "text"
}
},
{
"name": "link",
"label": "Link",
"description": "What's the (ao3) Link?",
"isRequired": true,
"input": {
"type": "text"
}
},
{
"name": "words",
"label": "Words",
"description": "How many words does it have?",
"isRequired": true,
"input": {
"type": "number"
}
},
{
"name": "fandom",
"label": "Fandom",
"description": "Which Fandom is it a part of?",
"isRequired": true,
"input": {
"type": "multiselect",
"source": "fixed",
"multi_select_options": [
"cod",
"overwatch",
"no-fandom"
],
"allowUnknownValues": false
}
},
{
"name": "ship",
"label": "Ship",
"description": "Which Ship?",
"isRequired": true,
"input": {
"type": "multiselect",
"source": "fixed",
"multi_select_options": [
"ghoap",
"yeehan"
],
"allowUnknownValues": true
}
},
{
"name": "reading status",
"label": "Reading Status",
"description": "Did you read it already? Your Fav? Or did you not finish it yet?",
"isRequired": true,
"input": {
"type": "multiselect",
"source": "fixed",
"multi_select_options": [
"read",
"reading",
"next",
"favorites",
"dnf",
"on the list"
],
"allowUnknownValues": false
}
},
{
"name": "spicyness",
"label": "Spicyness",
"description": "How horny is it?",
"isRequired": true,
"input": {
"type": "select",
"source": "fixed",
"options": [
{
"value": "explicit",
"label": "Explicit"
},
{
"value": "mature",
"label": "Mature"
},
{
"value": "general",
"label": "General Audiences"
},
{
"value": "teens",
"label": "Teens and Up"
}
]
}
}
],
"version": "1"
}
]
}

14991
.obsidian/plugins/modalforms/main.js vendored Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
{
"id": "modalforms",
"name": "Modal forms",
"minAppVersion": "0.15.0",
"description": "Define forms for filling data that you will be able to open from anywhere you can run JS",
"author": "Danielo Rodriguez",
"authorUrl": "https://danielo.es",
"fundingUrl": "https://www.buymeacoffee.com/danielo515",
"isDesktopOnly": false,
"version": "1.40.4"
}

98
.obsidian/plugins/modalforms/styles.css vendored Normal file
View file

@ -0,0 +1,98 @@
/*
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.
*/
:root {
--mf-spacing: 0.75rem;
--mf-spacing2: 1.5rem;
--mf-tablet: 768px;
}
/* Utilities to remove styles from native obsidian elements when wrapped like this
<div class='utility'>
<div>...</div>
</div>
*/
.remove-border div:first-of-type {
border: none;
}
.remove-padding div:first-of-type {
padding: 0;
}
.fix-suggest .setting-item-info {
display: none;
}
.modal-form-danger {
color: var(--text-error);
}
.modal-form-primary {
color: var(--text-accent);
}
.modal-form-hint {
color: var(--text-muted);
}
.modal-form {
--shadow-bottom: 0 0.8rem 0.8rem -0.8rem;
}
/* .modal-form-hint code {
color: var(--text-normal);
background-color: var(--background-secondary);
} */
.modal-form-textarea {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: var(--mf-spacing);
}
.modal-form-textarea .setting-item-control {
flex: 1;
width: 100%;
}
.modal-form-textarea .setting-item-control textarea {
width: 100%;
}
.modal-form.flex {
display: flex;
}
.modal-form.column {
flex-direction: column;
}
.modal-form.gap1 {
gap: 0.5rem;
}
.modal-form.gap2 {
gap: 1rem;
}
.modal-form input:invalid,
.modal-form .invalid {
border-color: var(--text-error);
color: var(--text-error);
}
.notice-warning {
color: var(--text-warning);
}
.notice-error {
color: var(--text-error);
}
.modal-form-error-message {
color: var(--text-error);
font-weight: bold;
}
.modal-form-suggestion {
display: flex;
gap: 8px;
padding: 4px 0;
align-items: center;
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,14 @@
{
"hideRibbon": false,
"hideStatus": false,
"hideTabs": false,
"hideScroll": true,
"hideSidebarButtons": false,
"hideTooltips": false,
"hideFileNavButtons": false,
"hideSearchSuggestions": false,
"hideSearchCounts": false,
"hideInstructions": false,
"hidePropertiesReading": false,
"hideVault": true
}

239
.obsidian/plugins/obsidian-hider/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,11 @@
{
"id": "obsidian-hider",
"name": "Hider",
"version": "1.3.1",
"minAppVersion": "1.4.0",
"description": "Hide UI elements such as tooltips, status, titlebar and more",
"author": "@kepano",
"authorUrl": "https://www.twitter.com/kepano",
"fundingUrl": "https://www.buymeacoffee.com/kepano",
"isDesktopOnly": false
}

View file

@ -0,0 +1,77 @@
/* Hides vault name */
.hider-vault .nav-folder.mod-root > .nav-folder-title .nav-folder-title-content {
display:none;
}
/* Hide tabs */
.hider-tabs .mod-root .workspace-tabs .workspace-tab-header-container {
display: none;
}
/* Hide sidebar buttons */
.hider-sidebar-buttons .sidebar-toggle-button.mod-right,
.hider-sidebar-buttons .sidebar-toggle-button.mod-left {
display: none;
}
.hider-sidebar-buttons.mod-macos.is-hidden-frameless:not(.is-popout-window) .workspace .workspace-tabs.mod-top-right-space .workspace-tab-header-container {
padding-right: 4px;
}
/* Hide ribbon */
.hider-ribbon.mod-macos.is-hidden-frameless:not(.is-fullscreen):not(.is-popout-window) .workspace-tabs.mod-top-left-space .workspace-tab-header-container {
padding-left: calc(var(--frame-left-space) + var(--ribbon-width));
}
.hider-ribbon .workspace-ribbon.mod-left {
display:none;
}
.hider-ribbon .workspace-ribbon.mod-right {
visibility:hidden;
position:absolute;
}
.hider-ribbon .workspace-split.mod-right-split {
margin-right:0;
}
.hider-ribbon .workspace-split.mod-left-split {
margin-left:0;
}
/* Hide meta */
.hider-meta .markdown-reading-view .metadata-container {
display:none;
}
/* Hide scrollbars */
.hider-scroll ::-webkit-scrollbar {
display:none;
}
/* Hide status */
.hider-status .status-bar {
display:none;
}
/* Hide tooltips */
.hider-tooltips .tooltip {
display:none;
}
/* Hide search suggestions */
.hider-search-suggestions .suggestion-container.mod-search-suggestion {
display: none;
}
/* Hide search count flair */
.hider-search-counts .tree-item-flair:not(.tag-pane-tag-count) {
display:none;
}
/* Hide instructions */
.hider-instructions .prompt-instructions {
display:none;
}
/* Hide file nav header */
.hider-file-nav-header .workspace-leaf-content[data-type=file-explorer] .nav-header {
display: none;
}

View file

@ -0,0 +1,33 @@
{
"settings": {
"migrated": 4,
"iconPacksPath": ".obsidian/icons",
"fontSize": 16,
"emojiStyle": "twemoji",
"iconColor": null,
"recentlyUsedIcons": [
"LiNotebookPen",
"LiCircle",
"LiHospital",
"LiUser"
],
"recentlyUsedIconsSize": 5,
"rules": [],
"extraMargin": {
"top": 0,
"right": 4,
"bottom": 0,
"left": 0
},
"iconInTabsEnabled": false,
"iconInTitleEnabled": false,
"iconInFrontmatterEnabled": false,
"iconsBackgroundCheckEnabled": false,
"iconsInNotesEnabled": true,
"iconsInLinksEnabled": true,
"iconIdentifier": ":",
"iconInFrontmatterFieldName": "icon",
"iconColorInFrontmatterFieldName": "iconColor",
"debugMode": 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.11.14",
"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,115 @@
.iconize-title-icon {
max-width: var(--max-width);
width: var(--line-width);
margin-inline: var(--content-margin) !important;
}
.iconize-icon-in-link {
margin-right: var(--size-2-2);
display: inline-flex;
transform: translateY(13%);
}
.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 one or more lines are too long

View file

@ -0,0 +1,10 @@
{
"id": "obsidian-kanban",
"name": "Kanban",
"version": "1.5.3",
"minAppVersion": "1.0.0",
"description": "Create markdown-backed Kanban boards in Obsidian.",
"author": "mgmeyers",
"authorUrl": "https://github.com/mgmeyers/obsidian-kanban",
"isDesktopOnly": false
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,54 @@
{
"sanctum@@dark-mode-contrast-mode": "sanctum-black",
"sanctum@@color-accent-rgb-d": "236, 90, 118",
"sanctum@@font-editor-theme": "Inter",
"sanctum@@nav-folder-indicators": false,
"sanctum@@colorful-active-nav": false,
"Components@@tab-autohide": true,
"Components@@status-bar-autohide": true,
"Components@@Ribbon-autohide": true,
"Components@@nav-header-autohide": true,
"Components@@tab-title-bar-autohide": false,
"Components@@CTA-BTN-enable": false,
"Components@@vault-name-display-select": "vault-name-hide",
"Components@@file-names-untrim": true,
"Components@@folder-font-bold": false,
"Components@@colorful-folder": false,
"Components@@file-icon-remove": false,
"Editor@@border-focus-mode": false,
"Appearance-dark@@theme-dark-style-select": "theme-dark-background-default",
"Appearance-dark@@accent-color-override-dark": true,
"Components@@outline-enhanced": false,
"Appearance-dark@@card-layout-open-dark": true,
"Appearance-dark@@accent-dark": "#8B6CEF",
"Appearance-dark@@color-red-rgb@@dark": "#FB464C",
"Appearance-dark@@color-orange-rgb@@dark": "#E9973F",
"Appearance-dark@@color-yellow-rgb@@dark": "#E0DE71",
"Appearance-dark@@color-green-rgb@@dark": "#44CF6E",
"Appearance-dark@@color-cyan-rgb@@dark": "#53DFDD",
"Appearance-dark@@color-blue-rgb@@dark": "#027AFF",
"Appearance-dark@@color-purple-rgb@@dark": "#A882FF",
"Appearance-dark@@color-pink-rgb@@dark": "#FA99CD",
"Appearance-dark@@mod-left-split-background-select-dark": "mod-left-split-background-transparent-dark",
"Appearance-dark@@mod-right-split-background-select-dark": "mod-right-split-background-transparent-dark",
"Appearance-dark@@background-underlying-select-dark": "background-underlying-secondary-dark",
"Appearance-dark@@on-border-dark": "#BABABA",
"Appearance-dark@@background-primary@@dark": "#1E1E1E",
"Appearance-dark@@background-primary-alt@@dark": "#111111",
"Appearance-dark@@background-secondary@@dark": "#262626",
"Appearance-dark@@background-secondary-alt@@dark": "#363636",
"Appearance-dark@@background-tertiary@@dark": "#262626",
"Appearance-dark@@workspace-background-translucent@@dark": "#00000099",
"Appearance-dark@@background-modifier-hover@@dark": "#FFFFFF13",
"Appearance-dark@@background-modifier-border-hover@@dark": "#3f3f3f",
"Appearance-dark@@background-modifier-border-focus@@dark": "#555555",
"Appearance-dark@@text-normal@@dark": "#DADADA",
"Appearance-dark@@text-muted@@dark": "#BABABA",
"Appearance-dark@@text-faint@@dark": "#BABABA",
"Appearance-dark@@interactive-normal@@dark": "#363636",
"Appearance-dark@@interactive-hover@@dark": "#3F3F3F",
"Appearance-dark@@background-activated-tab-header-dark": "#FFFFFF13",
"Appearance-dark@@shadow-activated-tab-header-dark": "none",
"Appearance-light@@card-layout-open-light": true,
"Appearance-light@@theme-light-style-select": "theme-light-background-adapt"
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,10 @@
{
"id": "obsidian-style-settings",
"name": "Style Settings",
"version": "1.0.8",
"minAppVersion": "0.11.5",
"description": "Offers controls for adjusting theme, plugin, and snippet CSS variables.",
"author": "mgmeyers",
"authorUrl": "https://github.com/mgmeyers/obsidian-style-settings",
"isDesktopOnly": false
}

File diff suppressed because one or more lines are too long

122
.obsidian/plugins/quickadd/data.json vendored Normal file
View file

@ -0,0 +1,122 @@
{
"choices": [
{
"id": "111fc5bf-ad1c-4ba5-af5e-449e94dd3598",
"name": "Add new Fic",
"type": "Template",
"command": true,
"templatePath": "99 - Meta/Templates/Fic.md",
"fileNameFormat": {
"enabled": true,
"format": "{{value}}"
},
"folder": {
"enabled": true,
"folders": [
"03 - Reading/Fics"
],
"chooseWhenCreatingNote": false,
"createInSameFolderAsActiveFile": false,
"chooseFromSubfolders": false
},
"appendLink": false,
"openFileInNewTab": {
"enabled": true,
"direction": "vertical",
"focus": true
},
"openFile": true,
"openFileInMode": "default",
"fileExistsMode": "Increment the file name",
"setFileExistsBehavior": false
},
{
"id": "063b9927-4709-4139-a6f8-fa6efb5ce32b",
"name": "New AIE Session",
"type": "Template",
"command": true,
"templatePath": "99 - Meta/Templates/Sessions.md",
"fileNameFormat": {
"enabled": true,
"format": "Session {{value}}"
},
"folder": {
"enabled": true,
"folders": [
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/01 - Session Notes"
],
"chooseWhenCreatingNote": false,
"createInSameFolderAsActiveFile": false,
"chooseFromSubfolders": false
},
"appendLink": false,
"openFileInNewTab": {
"enabled": false,
"direction": "vertical",
"focus": true
},
"openFile": true,
"openFileInMode": "default",
"fileExistsMode": "Increment the file name",
"setFileExistsBehavior": false
}
],
"macros": [],
"inputPrompt": "single-line",
"devMode": false,
"templateFolderPath": "99 - Meta/Templates",
"announceUpdates": true,
"version": "1.8.1",
"disableOnlineFeatures": true,
"ai": {
"defaultModel": "Ask me",
"defaultSystemPrompt": "As an AI assistant within Obsidian, your primary goal is to help users manage their ideas and knowledge more effectively. Format your responses using Markdown syntax. Please use the [[Obsidian]] link format. You can write aliases for the links by writing [[Obsidian|the alias after the pipe symbol]]. To use mathematical notation, use LaTeX syntax. LaTeX syntax for larger equations should be on separate lines, surrounded with double dollar signs ($$). You can also inline math expressions by wrapping it in $ symbols. For example, use $$w_{ij}^{\text{new}}:=w_{ij}^{\text{current}}+etacdotdelta_jcdot x_{ij}$$ on a separate line, but you can write \"($eta$ = learning rate, $delta_j$ = error term, $x_{ij}$ = input)\" inline.",
"promptTemplatesFolderPath": "",
"showAssistant": true,
"providers": [
{
"name": "OpenAI",
"endpoint": "https://api.openai.com/v1",
"apiKey": "",
"models": [
{
"name": "gpt-3.5-turbo",
"maxTokens": 4096
},
{
"name": "gpt-3.5-turbo-16k",
"maxTokens": 16384
},
{
"name": "gpt-3.5-turbo-1106",
"maxTokens": 16385
},
{
"name": "gpt-4",
"maxTokens": 8192
},
{
"name": "gpt-4-32k",
"maxTokens": 32768
},
{
"name": "gpt-4-1106-preview",
"maxTokens": 128000
},
{
"name": "text-davinci-003",
"maxTokens": 4096
}
]
}
]
},
"migrations": {
"migrateToMacroIDFromEmbeddedMacro": true,
"useQuickAddTemplateFolder": true,
"incrementFileNameSettingMoveToDefaultBehavior": true,
"mutualExclusionInsertAfterAndWriteToBottomOfFile": true,
"setVersionAfterUpdateModalRelease": true,
"addDefaultAIProviders": true
}
}

20023
.obsidian/plugins/quickadd/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,12 @@
{
"id": "quickadd",
"name": "QuickAdd",
"version": "1.8.1",
"minAppVersion": "0.13.19",
"description": "Quickly add new pages or content to your vault.",
"author": "Christian B. B. Houmann",
"authorUrl": "https://bagerbach.com",
"fundingUrl": "https://www.buymeacoffee.com/chhoumann",
"helpUrl": "https://quickadd.obsidian.guide/docs/",
"isDesktopOnly": false
}

238
.obsidian/plugins/quickadd/styles.css vendored Normal file
View file

@ -0,0 +1,238 @@
/* src/styles.css */
.configureMacroDiv {
display: grid;
grid-template-rows: 1fr;
min-width: 12rem;
}
.configureMacroDivItem {
display: flex;
align-content: center;
justify-content: space-between;
margin-bottom: 10px;
}
.configureMacroDivItemButton {
display: flex;
align-content: center;
justify-content: center;
margin-bottom: 10px;
}
.macroContainer {
display: grid;
grid-template-rows: repeat(auto-fill, 120px);
grid-gap: 40px;
overflow-y: auto;
max-height: 30em;
padding: 2em;
}
@media screen and (max-width: 540px) {
.macroContainer1 {
grid-template-columns: repeat(1, 1fr);
}
.macroContainer2 {
grid-template-columns: repeat(1, 1fr);
}
.macroContainer3 {
grid-template-columns: repeat(1, 1fr);
}
.wideInputPromptInputEl {
width: 20rem;
max-width: 100%;
height: 3rem;
}
}
@media screen and (max-width: 540px) and (max-width: 780px) {
.macroContainer1 {
grid-template-columns: repeat(1, 1fr);
}
.macroContainer2 {
grid-template-columns: repeat(2, 1fr);
}
.macroContainer3 {
grid-template-columns: repeat(2, 1fr);
}
.wideInputPromptInputEl {
width: 30rem;
max-width: 100%;
height: 20rem;
}
}
@media screen and (min-width: 781px) {
.macroContainer1 {
grid-template-columns: repeat(1, 1fr);
}
.macroContainer2 {
grid-template-columns: repeat(2, 1fr);
}
.macroContainer3 {
grid-template-columns: repeat(2, 1fr);
}
.wideInputPromptInputEl {
width: 40rem;
max-width: 100%;
height: 20rem;
}
}
.addMacroBarContainer {
display: flex;
align-content: center;
justify-content: space-around;
margin-top: 20px;
}
.captureToActiveFileContainer {
display: flex;
align-content: center;
justify-content: space-between;
margin-bottom: 10px;
}
.choiceNameHeader {
text-align: center;
}
.choiceNameHeader:hover {
cursor: pointer;
}
.folderInputContainer {
display: flex;
align-content: center;
justify-content: space-between;
margin-bottom: 8px;
gap: 4px;
}
.selectMacroDropdownContainer {
display: flex;
align-content: center;
justify-content: center;
}
.quickAddModal .modal {
min-width: 35%;
overflow-y: auto;
max-height: 70%;
}
.checkboxRowContainer {
margin: 30px 0px;
display: grid;
grid-template-rows: auto;
align-content: center;
gap: 5px;
}
.checkboxRow {
display: flex;
justify-content: space-between;
align-content: center;
}
.checkboxRow .checkbox-container {
flex-shrink: 0;
}
.checkboxRow span {
font-size: 16px;
word-break: break-all;
}
.submitButtonContainer {
display: flex;
align-content: center;
justify-content: center;
}
.chooseFolderWhenCreatingNoteContainer {
display: flex;
align-content: center;
justify-content: space-between;
margin-bottom: 10px;
}
.chooseFolderFromSubfolderContainer {
margin: 20px 0 0 0;
}
.clickable:hover {
cursor: pointer;
}
.quickAddCommandListItem {
display: flex;
flex: 1 1 auto;
align-items: center;
justify-content: space-between;
}
.quickCommandContainer {
display: flex;
justify-content: flex-end;
align-content: center;
margin-bottom: 1em;
gap: 4px;
}
.yesNoPromptButtonContainer {
display: flex;
align-items: center;
justify-content: space-around;
margin-top: 2rem;
}
.yesNoPromptParagraph {
text-align: center;
}
.qaFileSuggestionItem {
display: flex;
flex-direction: column;
width: 100%;
}
.qaFileSuggestionItem .suggestion-main-text {
font-weight: bold;
}
.qaFileSuggestionItem .suggestion-sub-text {
font-style: italic;
}
.choiceListItem {
display: flex;
font-size: 16px;
align-items: center;
margin: 12px 0 0 0;
transition: 1000ms ease-in-out;
}
.choiceListItemName {
flex: 1 0 0;
}
.choiceListItemName p {
margin: 0;
display: inline;
}
.quickadd-choice-suggestion p {
margin: 0;
}
.macroDropdownContainer {
display: flex;
align-content: center;
justify-content: center;
margin-bottom: 10px;
gap: 10px;
}
.macro-choice-buttonsContainer {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
gap: 10px;
}
@media only screen and (max-width: 600px) {
.macroDropdownContainer {
flex-direction: column;
align-items: center;
}
.macroDropdownContainer .macro-choice-buttonsContainer {
gap: 20px;
}
}
.quickadd-update-modal-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.quickadd-update-modal {
min-width: 35%;
max-height: 70%;
}
.quickadd-update-modal img {
width: 100%;
height: auto;
margin: 5px;
}
.quickadd-bmac-container {
display: flex;
justify-content: center;
align-items: center;
}

View file

@ -0,0 +1,510 @@
/*
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 __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
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 __publicField = (obj, key, value) => {
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
return value;
};
// src/main.ts
__export(exports, {
default: () => SettingsSearch
});
var import_obsidian = __toModule(require("obsidian"));
// node_modules/monkey-around/mjs/index.js
function around(obj, factories) {
const removers = Object.keys(factories).map((key) => around1(obj, key, factories[key]));
return removers.length === 1 ? removers[0] : function() {
removers.forEach((r) => r());
};
}
function around1(obj, method, createWrapper) {
const original = obj[method], hadOwn = obj.hasOwnProperty(method);
let current = createWrapper(original);
if (original)
Object.setPrototypeOf(current, original);
Object.setPrototypeOf(wrapper, current);
obj[method] = wrapper;
return remove;
function wrapper(...args) {
if (current === original && obj[method] === wrapper)
remove();
return current.apply(this, args);
}
function remove() {
if (obj[method] === wrapper) {
if (hadOwn)
obj[method] = original;
else
delete obj[method];
}
if (current === original)
return;
current = original;
Object.setPrototypeOf(wrapper, original || Function);
}
}
// src/main.ts
var SettingsSearch = class extends import_obsidian.Plugin {
constructor() {
super(...arguments);
__publicField(this, "settingsSearchEl", createDiv("settings-search-container vertical-tab-header-group"));
__publicField(this, "settingsResultsContainerEl", createDiv("settings-search-results-container vertical-tab-content"));
__publicField(this, "settingsNavItemContainer", this.settingsSearchEl.createDiv("vertical-tab-header-group-items").createDiv("vertical-tab-nav-item settings-search-input"));
__publicField(this, "settingsResultsEl");
__publicField(this, "search");
__publicField(this, "locale");
__publicField(this, "resources", []);
__publicField(this, "results", []);
__publicField(this, "loaded", false);
__publicField(this, "tabIndex", 0);
__publicField(this, "pluginTabIndex", 0);
__publicField(this, "seen", []);
__publicField(this, "settingCache", new Map());
__publicField(this, "searchAppended", false);
__publicField(this, "activeIndex", -1);
__publicField(this, "activeSetting");
__publicField(this, "scope", new import_obsidian.Scope(this.app.scope));
__publicField(this, "mobileContainers", []);
}
async onload() {
(window["SettingsSearch"] = {
addResources: this.addResources.bind(this),
removeResources: this.removeResources.bind(this),
removeTabResources: this.removeTabResources.bind(this)
}) && this.register(() => delete window["SettingsSearch"]);
this.app.workspace.onLayoutReady(async () => {
this.settingsResultsContainerEl.createEl("h3", {
text: "Settings Search Results"
});
this.settingsResultsEl = this.settingsResultsContainerEl.createDiv("settings-search-results");
this.buildScope();
this.buildSearch();
this.buildResources();
this.buildPluginResources();
this.patchSettings();
this.loaded = true;
this.app.workspace.trigger("settings-search-loaded");
});
}
buildResources() {
const tab = this.app.setting.settingTabs[this.tabIndex];
if (tab && tab.id !== void 0 && !this.seen.includes(tab.id)) {
this.getTabResources(tab);
this.tabIndex++;
setTimeout(() => this.buildResources());
}
}
buildPluginResources() {
const tab = this.app.setting.pluginTabs[this.pluginTabIndex];
if (tab) {
this.getTabResources(tab);
this.pluginTabIndex++;
setTimeout(() => this.buildPluginResources());
}
}
get manifests() {
return Object.values(this.app.plugins.manifests);
}
addResourceToCache(resource) {
if (!resource || !resource.text || !resource.name || !resource.tab) {
return new Error("A valid resource must be provided.");
}
let name;
if (resource.external) {
name = createFragment((el) => {
(0, import_obsidian.setIcon)(el.createSpan({
attr: {
"aria-label": "This setting was added by another plugin."
}
}), "info");
el.createSpan({ text: resource.text });
});
} else {
name = resource.text;
}
const setting = new import_obsidian.Setting(createDiv()).setName(name).setDesc(createFragment((e) => e.createDiv().innerHTML = resource.desc ?? ""));
if (resource.external) {
setting.settingEl.addClass("set-externally");
}
if (resource.tab == "community-plugins") {
let plugin = this.manifests.find((p) => p.name == resource.text);
if (plugin && this.app.plugins.getPlugin(plugin.id)?._loaded && this.app.setting.pluginTabs.find((t) => t.id == plugin.id)) {
setting.addExtraButton((b) => {
b.setTooltip(`Open ${resource.text} Settings`).onClick(() => {
this.app.setting.openTabById(plugin.id);
});
});
}
}
if (resource.tab == "plugins") {
const plugins = Object.values(this.app.internalPlugins.plugins);
const plugin = plugins.find((p) => p._loaded && p.instance.name == resource.text);
if (plugin && this.app.setting.pluginTabs.find((t) => t.id == plugin.instance.id)) {
setting.addExtraButton((b) => {
b.setTooltip(`Open ${resource.text} Settings`).onClick(() => {
this.app.setting.openTabById(plugin.instance.id);
});
});
}
}
setting.addExtraButton((b) => {
b.setIcon("forward-arrow").onClick(() => {
this.showResult(resource);
});
});
this.settingCache.set(resource, setting);
}
getResourceFromCache(resource) {
if (!this.settingCache.has(resource)) {
this.addResourceToCache(resource);
}
return this.settingCache.get(resource);
}
removeResourcesFromCache(resources) {
for (const resource of resources) {
this.settingCache.delete(resource);
}
}
addResources(...resources) {
for (const resource of resources) {
resource.external = true;
if (this.resources.find((k) => this.equivalent(resource, k)))
continue;
this.resources.push(resource);
this.addResourceToCache(resource);
}
return () => this.removeResources(...resources);
}
equivalent(resource1, resource2) {
return resource1.name == resource2.name && resource1.tab == resource2.tab && resource1.text == resource2.text && resource1.desc == resource2.desc && resource1.external == resource2.external;
}
removeResources(...resources) {
const removing = [];
const keys = [...this.settingCache.keys()];
for (const resource of resources) {
if (!resource || !resource.text || !resource.name || !resource.tab) {
continue;
}
resource.external = true;
this.resources = this.resources.filter((r) => !this.equivalent(resource, r));
removing.push(...keys.filter((k) => k == resource || this.equivalent(resource, k)));
}
this.removeResourcesFromCache(removing);
}
removeTabResources(tab) {
const removing = this.resources.filter((t) => t.tab == tab);
this.resources = this.resources.filter((t) => t.tab != tab);
this.removeResourcesFromCache(removing);
}
async getTabResources(tab) {
await tab.display();
const settings = tab.containerEl.querySelectorAll(".setting-item:not(.setting-item-header)");
for (const el of Array.from(settings)) {
const text = el.querySelector(".setting-item-name")?.textContent;
if (!text)
continue;
const desc = el.querySelector(".setting-item-description")?.innerHTML ?? "";
const resource = {
tab: tab.id,
name: tab.name,
text,
desc
};
this.resources.push(resource);
this.addResourceToCache(resource);
}
if (this.app.setting.activeTab?.id == tab.id)
return;
this.seen.push(tab.id);
tab.containerEl.detach();
tab.hide();
}
patchSettings() {
const self = this;
this.register(around(this.app.setting, {
onOpen: function(next) {
return function() {
next.apply(this);
if (!import_obsidian.Platform.isMobile)
self.search.inputEl.focus();
return next;
};
}
}));
this.register(around(this.app.setting, {
addSettingTab: function(next) {
return function(tab) {
if (tab && tab.id !== void 0 && !self.seen.includes(tab.id)) {
self.getTabResources(tab);
}
return next.call(this, tab);
};
}
}));
this.register(around(this.app.setting, {
removeSettingTab: function(next) {
return function(tab) {
if (this.isPluginSettingTab(tab)) {
self.removeTabResources(tab.id);
}
return next.call(this, tab);
};
}
}));
this.register(around(this.app.setting, {
openTab: function(next) {
return function(tab) {
self.searchAppended = false;
self.app.keymap.popScope(self.scope);
return next.call(this, tab);
};
},
openTabById: function(next) {
return function(tab) {
self.searchAppended = false;
self.app.keymap.popScope(self.scope);
return next.call(this, tab);
};
},
onClose: function(next) {
return function() {
if (import_obsidian.Platform.isMobile) {
self.detach();
}
return next.call(this);
};
}
}));
}
buildSearch() {
const tempSetting = new import_obsidian.Setting(createDiv()).addSearch((s) => {
this.search = s;
});
this.settingsNavItemContainer.append(tempSetting.controlEl);
tempSetting.settingEl.detach();
this.search.onChange((v) => {
this.onChange(v);
});
this.search.setPlaceholder("Search settings...");
this.app.setting.tabHeadersEl.prepend(this.settingsSearchEl);
}
buildScope() {
this.scope.register(["Ctrl"], "N", () => {
if (this.activeSetting) {
this.activeSetting.settingEl.removeClass("active");
}
this.activeIndex = ((this.activeIndex + 1) % this.results.length + this.results.length) % this.results.length;
this.centerActiveSetting();
});
this.scope.register([], "ArrowDown", () => {
if (this.activeSetting) {
this.activeSetting.settingEl.removeClass("active");
}
this.activeIndex = ((this.activeIndex + 1) % this.results.length + this.results.length) % this.results.length;
this.centerActiveSetting();
});
this.scope.register(["Ctrl"], "P", () => {
if (this.activeSetting) {
this.activeSetting.settingEl.removeClass("active");
}
this.activeIndex = ((this.activeIndex - 1) % this.results.length + this.results.length) % this.results.length;
this.centerActiveSetting();
});
this.scope.register([], "ArrowUp", () => {
if (this.activeSetting) {
this.activeSetting.settingEl.removeClass("active");
}
this.activeIndex = ((this.activeIndex - 1) % this.results.length + this.results.length) % this.results.length;
this.centerActiveSetting();
});
this.scope.register([], "Enter", () => {
if (this.activeSetting) {
this.showResult(this.results[this.activeIndex]);
}
});
}
centerActiveSetting() {
const result = this.results[this.activeIndex];
this.activeSetting = this.getResourceFromCache(result);
this.activeSetting.settingEl.addClass("active");
this.activeSetting.settingEl.scrollIntoView({
behavior: "auto",
block: "nearest"
});
}
detachFromMobile() {
if (import_obsidian.Platform.isMobile) {
this.settingsResultsContainerEl.detach();
for (const header of this.mobileContainers) {
this.app.setting.tabHeadersEl.append(header);
}
this.search.setValue("");
}
}
detachFromDesktop() {
if (import_obsidian.Platform.isDesktop) {
this.app.setting.openTabById(this.app.setting.lastTabId);
}
}
detach() {
this.detachFromDesktop();
this.detachFromMobile();
this.searchAppended = false;
}
onChange(v) {
if (!v) {
this.detach();
this.app.keymap.popScope(this.scope);
return;
}
if (!this.searchAppended) {
this.activeIndex = -1;
this.app.keymap.popScope(this.scope);
this.app.keymap.pushScope(this.scope);
if (this.activeSetting) {
this.activeSetting.settingEl.removeClass("active");
this.activeSetting = null;
}
if (!import_obsidian.Platform.isMobile) {
this.app.setting.activeTab.navEl.removeClass("is-active");
this.app.setting.tabContentContainer.empty();
this.app.setting.tabContentContainer.append(this.settingsResultsContainerEl);
} else {
const headers = this.app.setting.tabHeadersEl.querySelectorAll(".vertical-tab-header-group:not(.settings-search-container)");
for (const header of Array.from(headers)) {
this.mobileContainers.push(header);
header.detach();
}
this.app.setting.tabHeadersEl.append(this.settingsResultsContainerEl);
}
this.searchAppended = true;
}
this.appendResults(this.performFuzzySearch(v));
}
getMatchText(text, result) {
const matchElements = {};
return createFragment((content) => {
for (let i = 0; i < text.length; i++) {
let match = result.matches.find((m) => m[0] === i);
if (match) {
const index = result.matches.indexOf(match);
if (!matchElements[index]) {
matchElements[index] = createSpan("suggestion-highlight");
}
let element = matchElements[index];
content.appendChild(element);
element.appendText(text.substring(match[0], match[1]));
i += match[1] - match[0] - 1;
continue;
}
content.appendText(text[i]);
}
});
}
appendResults(results) {
this.settingsResultsEl.empty();
if (results.length) {
const headers = {};
for (const resource of results) {
if (!(resource.tab in headers)) {
headers[resource.tab] = this.settingsResultsEl.createDiv();
new import_obsidian.Setting(headers[resource.tab]).setHeading().setName(resource.name);
}
const setting = this.getResourceFromCache(resource);
headers[resource.tab].append(setting.settingEl);
}
} else {
this.settingsResultsEl.setText("No results found :(");
}
}
showResult(result) {
this.search.setValue("");
const tab = this.app.setting.settingTabs.find((t) => t.id == result.tab) ?? this.app.setting.pluginTabs.find((t) => t.id == result.tab);
if (!tab) {
new import_obsidian.Notice("There was an issue opening the setting tab.");
return;
}
this.app.setting.openTabById(tab.id);
this.app.keymap.popScope(this.scope);
this.detach();
try {
const names = tab.containerEl.querySelectorAll(".setting-item-name");
const el = Array.from(names).find((n) => n.textContent == result.text);
if (!el)
return;
const setting = el.closest(".setting-item");
if (!setting)
return;
if (tab.id == "obsidian-style-settings") {
let collapsed = setting.closest(".style-settings-container");
let previous = collapsed?.previousElementSibling;
while (previous != null && previous.hasClass("is-collapsed") && previous.hasClass("style-settings-heading")) {
previous.removeClass("is-collapsed");
collapsed = collapsed.parentElement?.closest(".style-settings-container");
previous = collapsed?.previousElementSibling;
}
}
let details = setting.closest("details");
while (details) {
details.setAttr("open", "open");
details = details.parentElement?.closest("details");
}
setting.scrollIntoView(true);
setting.addClass("is-flashing");
window.setTimeout(() => setting.removeClass("is-flashing"), 3e3);
} catch (e) {
console.error(e);
}
}
performFuzzySearch(input) {
const results = [], hotkeys = [];
for (const resource of this.resources) {
let result = (0, import_obsidian.prepareSimpleSearch)(input)(resource.text) ?? (0, import_obsidian.prepareSimpleSearch)(input)(resource.desc);
if (result) {
if (resource.tab == "hotkeys") {
hotkeys.push(resource);
} else {
results.push(resource);
}
}
}
this.results = [...results, ...hotkeys];
return this.results;
}
onunload() {
this.settingsSearchEl.detach();
this.settingsResultsEl.detach();
this.detach();
if (this.searchAppended && import_obsidian.Platform.isDesktop)
this.app.setting.openTabById(this.app.setting.lastTabId);
}
};

View file

@ -0,0 +1,10 @@
{
"id": "settings-search",
"name": "Settings Search",
"version": "1.3.10",
"minAppVersion": "0.12.17",
"author": "Jeremy Valentine",
"description": "Globally search settings in Obsidian.md",
"authorUrl": "https://github.com/valentine195",
"isDesktopOnly": false
}

View file

@ -0,0 +1,25 @@
/* src/assets/main.css */
.settings-search-container.vertical-tab-header-group {
padding-bottom: 0;
}
.settings-search-input {
padding-left: 6px;
}
.vertical-tab-nav-item.settings-search-input {
background-color: inherit !important;
}
.settings-search-input .setting-item-control {
display: block;
}
.settings-search-input .search-input-container {
margin: 0;
}
.settings-search-results .setting-item.active {
background-color: var(--background-secondary);
}
.settings-search-results .set-externally .setting-item-name {
display: flex;
gap: 0.5rem;
}
/* src/styles.css */

View file

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

135
.obsidian/plugins/tag-wrangler/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,11 @@
{
"id": "tag-wrangler",
"name": "Tag Wrangler",
"author": "PJ Eby",
"authorUrl": "https://github.com/pjeby",
"version": "0.6.1",
"minAppVersion": "1.2.8",
"description": "Rename, merge, toggle, and search tags from the tag pane",
"fundingUrl": "https://dirtsimple.org/tips/tag-wrangler",
"isDesktopOnly": false
}

View file

@ -0,0 +1 @@
.ophidian-dialog .dialog-text{margin-bottom:.75em}.ophidian-dialog.mod-confirmation input[type=text]:invalid,.ophidian-dialog.mod-confirmation input[type=text]:invalid:enabled:focus,.ophidian-dialog.mod-confirmation input[type=text][aria-invalid=true],.ophidian-dialog.mod-confirmation input[type=text][aria-invalid=true]:enabled:focus{border-color:var(--text-error);background-color:var(--background-modifier-error)}

View file

@ -0,0 +1,31 @@
{
"command_timeout": 5,
"templates_folder": "99 - Meta/Templates",
"templates_pairs": [
[
"",
""
]
],
"trigger_on_file_creation": false,
"auto_jump_to_cursor": false,
"enable_system_commands": false,
"shell_path": "",
"user_scripts_folder": "",
"enable_folder_templates": true,
"folder_templates": [
{
"folder": "",
"template": ""
}
],
"syntax_highlighting": true,
"syntax_highlighting_mobile": true,
"enabled_templates_hotkeys": [
""
],
"startup_templates": [
""
],
"enable_ribbon_icon": true
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,11 @@
{
"id": "templater-obsidian",
"name": "Templater",
"version": "2.2.3",
"description": "Create and use templates",
"minAppVersion": "1.5.0",
"author": "SilentVoid",
"authorUrl": "https://github.com/SilentVoid13",
"helpUrl": "https://silentvoid13.github.io/Templater/",
"isDesktopOnly": false
}

View file

@ -0,0 +1,220 @@
.templater_search {
width: calc(100% - 20px);
}
.templater_div {
border-top: 1px solid var(--background-modifier-border);
}
.templater_div > .setting-item {
border-top: none !important;
align-self: center;
}
.templater_div > .setting-item > .setting-item-control {
justify-content: space-around;
padding: 0;
width: 100%;
}
.templater_div
> .setting-item
> .setting-item-control
> .setting-editor-extra-setting-button {
align-self: center;
}
.templater_donating {
margin: 10px;
}
.templater_title {
margin: 0;
padding: 0;
margin-top: 5px;
text-align: center;
}
.templater_template {
align-self: center;
margin-left: 5px;
margin-right: 5px;
width: 70%;
}
.templater_cmd {
margin-left: 5px;
margin-right: 5px;
font-size: 14px;
width: 100%;
}
.templater_div2 > .setting-item {
align-content: center;
justify-content: center;
}
.templater-prompt-div {
display: flex;
}
.templater-prompt-form {
display: flex;
flex-grow: 1;
}
.templater-prompt-input {
flex-grow: 1;
}
.templater-button-div {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 1rem;
}
textarea.templater-prompt-input {
height: 10rem;
}
textarea.templater-prompt-input:focus {
border-color: var(--interactive-accent);
}
.cm-s-obsidian .templater-command-bg {
left: 0px;
right: 0px;
background-color: var(--background-primary-alt);
}
.cm-s-obsidian .cm-templater-command {
font-size: 0.85em;
font-family: var(--font-monospace);
line-height: 1.3;
}
.cm-s-obsidian .templater-inline .cm-templater-command {
background-color: var(--background-primary-alt);
}
.cm-s-obsidian .cm-templater-command.cm-templater-opening-tag {
font-weight: bold;
}
.cm-s-obsidian .cm-templater-command.cm-templater-closing-tag {
font-weight: bold;
}
.cm-s-obsidian .cm-templater-command.cm-templater-interpolation-tag {
color: var(--code-property, #008bff);
}
.cm-s-obsidian .cm-templater-command.cm-templater-execution-tag {
color: var(--code-function, #c0d700);
}
.cm-s-obsidian .cm-templater-command.cm-keyword {
color: var(--code-keyword, #00a7aa);
font-weight: normal;
}
.cm-s-obsidian .cm-templater-command.cm-atom {
color: var(--code-normal, #f39b35);
}
.cm-s-obsidian .cm-templater-command.cm-value,
.cm-s-obsidian .cm-templater-command.cm-number,
.cm-s-obsidian .cm-templater-command.cm-type {
color: var(--code-value, #a06fca);
}
.cm-s-obsidian .cm-templater-command.cm-def,
.cm-s-obsidian .cm-templater-command.cm-type.cm-def {
color: var(--code-normal, var(--text-normal));
}
.cm-s-obsidian .cm-templater-command.cm-property,
.cm-s-obsidian .cm-templater-command.cm-property.cm-def,
.cm-s-obsidian .cm-templater-command.cm-attribute {
color: var(--code-function, #98e342);
}
.cm-s-obsidian .cm-templater-command.cm-variable,
.cm-s-obsidian .cm-templater-command.cm-variable-2,
.cm-s-obsidian .cm-templater-command.cm-variable-3,
.cm-s-obsidian .cm-templater-command.cm-meta {
color: var(--code-property, #d4d4d4);
}
.cm-s-obsidian .cm-templater-command.cm-callee,
.cm-s-obsidian .cm-templater-command.cm-operator,
.cm-s-obsidian .cm-templater-command.cm-qualifier,
.cm-s-obsidian .cm-templater-command.cm-builtin {
color: var(--code-operator, #fc4384);
}
.cm-s-obsidian .cm-templater-command.cm-tag {
color: var(--code-tag, #fc4384);
}
.cm-s-obsidian .cm-templater-command.cm-comment,
.cm-s-obsidian .cm-templater-command.cm-comment.cm-tag,
.cm-s-obsidian .cm-templater-command.cm-comment.cm-attribute {
color: var(--code-comment, #696d70);
}
.cm-s-obsidian .cm-templater-command.cm-string,
.cm-s-obsidian .cm-templater-command.cm-string-2 {
color: var(--code-string, #e6db74);
}
.cm-s-obsidian .cm-templater-command.cm-header,
.cm-s-obsidian .cm-templater-command.cm-hr {
color: var(--code-keyword, #da7dae);
}
.cm-s-obsidian .cm-templater-command.cm-link {
color: var(--code-normal, #696d70);
}
.cm-s-obsidian .cm-templater-command.cm-error {
border-bottom: 1px solid #c42412;
}
.CodeMirror-hints {
position: absolute;
z-index: 10;
overflow: hidden;
list-style: none;
margin: 0;
padding: 2px;
-webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
border-radius: 3px;
border: 1px solid silver;
background: white;
font-size: 90%;
font-family: monospace;
max-height: 20em;
overflow-y: auto;
}
.CodeMirror-hint {
margin: 0;
padding: 0 4px;
border-radius: 2px;
white-space: pre;
color: black;
cursor: pointer;
}
li.CodeMirror-hint-active {
background: #08f;
color: white;
}

23
.obsidian/plugins/waypoint/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,10 @@
{
"id": "waypoint",
"name": "Waypoint",
"version": "2.1.0",
"minAppVersion": "0.12.0",
"description": "Easily generate dynamic content maps in your folder notes using waypoints. Enables folders to show up in the graph view and removes the need for messy tags!",
"author": "Idrees Hassan",
"authorUrl": "https://idreesinc.com",
"isDesktopOnly": false
}

View file

@ -0,0 +1,14 @@
{
"deviceName": "work",
"syncImages": false,
"syncAudio": false,
"syncVideos": false,
"syncPdfs": false,
"syncOtherFiles": false,
"syncMainSettings": false,
"syncAppearanceSettings": false,
"syncThemesAndSnippets": false,
"syncHotkeys": false,
"syncCorePluginSettings": false,
"syncCommunityPluginSettings": false
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,10 @@
{
"id": "yet-another-obsidian-synchronizer",
"name": "Yet Another Obsidian Synchronizer",
"description": "This is yet another obsidian synchronizer that uses Git to synchronize your vault contents across devices.",
"version": "0.7.0",
"minAppVersion": "0.15.0",
"author": "Mahyar Mirrashed",
"authorUrl": "https://github.com/mahyarmirrashed",
"isDesktopOnly": true
}

View file

@ -0,0 +1,7 @@
.yaos-title {
margin-top: 0;
}
.yaos-conflicting-files {
margin-top: 0;
}

3
.obsidian/snippets/01 - My Edits.css vendored Normal file
View file

@ -0,0 +1,3 @@
.EF-Width {
--file-line-width: 80% !important
}

View file

@ -0,0 +1,502 @@
/*------------------------------------------------------------------------------
Obsidian Colored Sidebar Items by CyanVoxel v1.0.0
A colored sidebar CSS snippet inspired by
the "Coloured Folders" snippet by Lithou.
This snippet targets folders beginning with numbered prefixes, and applies full
color formatting based on the root colors listed below. The prefixes are both
customizable and extensible; feel free to change, add, and remove them based on
your own titles and vault structure! By default I have a range of 8+1 colors,
however I've provided some other common colors as a starting point for your own
customization. Just swap out the color variable names in the prefix groups.
------------------------------------------------------------------------------*/
:root {
/* ================================ Colors ================================ */
--red: #e22c3c; /* Default Prefix: None */
--red-orange: #e9404b; /* Default Prefix: None */
--orange: #ee6748; /* Default Prefix: None */
--amber: #fa9f50; /* Default Prefix: None */
--yellow: #fbb02e; /* Default Prefix: None */
--lime: #97e768; /* Default Prefix: None */
--mint: #52eea3; /* Default Prefix: 01 */
--cyan: #51e1e9; /* Default Prefix: 00 */
--cool-cyan: #43cfea; /* Default Prefix: None */
--light-blue: #54b6f8; /* Default Prefix: 02 */
--blue: #437cf3; /* Default Prefix: 03 */
--blue-violet: #6f51f4; /* Default Prefix: None */
--violet: #9446f8; /* Default Prefix: 04 */
--purple: #c952ed; /* Default Prefix: 05 */
--magenta: #e54f9b; /* Default Prefix: 06 */
--hot-red: #e3365e; /* Default Prefix: 07 */
--cool-gray: #515768; /* Default Prefix: 99 */
--default-text-color: #d0d0d0; /* Your Default Sidebar Text Color */
--nav-item-weight-hover: 500;
}
/* All Folder Titles */
.nav-folder-title {
font-weight: 500;
}
/* Narrower Padding on Desktop*/
@media only screen and (min-width: 768px) {
.nav-file-title,
.nav-folder-title {
/* padding: 3px 5px 2px 4px !important; */
padding-top: 3px !important;
padding-right: 5px !important;
padding-bottom: 2px !important;
padding-left: 15px;
}
}
/*
============================ Folder Title Prefixes =============================
The following groups of prefixes are divided by the numbering prefix that they
target. For example, prefix '01' targets any folder titles beginning with '01',
such as '01 - Maps of Content'. The only other piece of information that changes
between the prefix groups are the color variables. Change or expand on any of
these to suit your own folder structure and vault theme!
*/
/* ------------------------------- 00 Prefix -------------------------------- */
.nav-folder-title[data-path^="00"] {
color: var(--cyan);
--nav-item-color-hover: color-mix(in srgb, var(--cyan) 40%, white);
--nav-item-background-hover: color-mix(in srgb, var(--cyan) 15%, transparent);
--background-modifier-border-focus: color-mix(
in srgb,
var(--cyan) 40%,
transparent
);
--nav-collapse-icon-color: color-mix(in srgb, var(--cyan) 60%, transparent);
border-radius: 5px;
}
.nav-folder-title[data-path^="00"]:hover {
--nav-collapse-icon-color: color-mix(in srgb, var(--cyan) 60%, white);
}
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="00"]) {
--nav-indentation-guide-color: color-mix(
in srgb,
var(--cyan) 20%,
transparent
);
}
.tree-item-children
.nav-folder:has(.nav-folder-title[data-path^="00"])
.nav-file-title {
color: color-mix(in srgb, var(--cyan) 20%, var(--default-text-color));
--nav-item-background-hover: color-mix(
in srgb,
color-mix(in srgb, var(--cyan) 50%, var(--default-text-color)) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--cyan) 40%,
transparent
);
--nav-item-background-active: color-mix(
in srgb,
var(--cyan) 10%,
transparent
);
}
/* ------------------------------- 01 Prefix -------------------------------- */
.nav-folder-title[data-path^="01"] {
color: var(--mint);
--nav-item-color-hover: color-mix(in srgb, var(--mint) 40%, white);
--nav-item-background-hover: color-mix(in srgb, var(--mint) 15%, transparent);
--background-modifier-border-focus: color-mix(
in srgb,
var(--mint) 40%,
transparent
);
--nav-collapse-icon-color: color-mix(in srgb, var(--mint) 60%, transparent);
border-radius: 5px;
}
.nav-folder-title[data-path^="01"]:hover {
--nav-collapse-icon-color: color-mix(in srgb, var(--mint) 60%, white);
}
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="01"]) {
--nav-indentation-guide-color: color-mix(
in srgb,
var(--mint) 20%,
transparent
);
}
.tree-item-children
.nav-folder:has(.nav-folder-title[data-path^="01"])
.nav-file-title {
color: color-mix(in srgb, var(--mint) 20%, var(--default-text-color));
--nav-item-background-hover: color-mix(
in srgb,
color-mix(in srgb, var(--mint) 50%, var(--default-text-color)) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--mint) 40%,
transparent
);
--nav-item-background-active: color-mix(
in srgb,
var(--mint) 10%,
transparent
);
}
/* ------------------------------- 02 Prefix -------------------------------- */
.nav-folder-title[data-path^="02"] {
color: var(--yellow);
--nav-item-color-hover: color-mix(in srgb, var(--yellow) 40%, white);
--nav-item-background-hover: color-mix(
in srgb,
var(--yellow) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--yellow) 40%,
transparent
);
--nav-collapse-icon-color: color-mix(
in srgb,
var(--yellow) 60%,
transparent
);
border-radius: 5px;
}
.nav-folder-title[data-path^="02"]:hover {
--nav-collapse-icon-color: color-mix(in srgb, var(--yellow) 60%, white);
}
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="02"]) {
--nav-indentation-guide-color: color-mix(
in srgb,
var(--yellow) 20%,
transparent
);
}
.tree-item-children
.nav-folder:has(.nav-folder-title[data-path^="02"])
.nav-file-title {
color: color-mix(in srgb, var(--yellow) 20%, var(--default-text-color));
--nav-item-background-hover: color-mix(
in srgb,
color-mix(in srgb, var(--yellow) 50%, var(--default-text-color)) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--yellow) 40%,
transparent
);
--nav-item-background-active: color-mix(
in srgb,
var(--yellow) 10%,
transparent
);
}
/* ------------------------------- 03 Prefix -------------------------------- */
.nav-folder-title[data-path^="03"] {
color: var(--blue);
--nav-item-color-hover: color-mix(in srgb, var(--blue) 40%, white);
--nav-item-background-hover: color-mix(in srgb, var(--blue) 15%, transparent);
--background-modifier-border-focus: color-mix(
in srgb,
var(--blue) 40%,
transparent
);
--nav-collapse-icon-color: color-mix(in srgb, var(--blue) 60%, transparent);
border-radius: 5px;
}
.nav-folder-title[data-path^="03"]:hover {
--nav-collapse-icon-color: color-mix(in srgb, var(--blue) 60%, white);
}
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="03"]) {
--nav-indentation-guide-color: color-mix(
in srgb,
var(--blue) 20%,
transparent
);
}
.tree-item-children
.nav-folder:has(.nav-folder-title[data-path^="03"])
.nav-file-title {
color: color-mix(in srgb, var(--blue) 20%, var(--default-text-color));
--nav-item-background-hover: color-mix(
in srgb,
color-mix(in srgb, var(--blue) 50%, var(--default-text-color)) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--blue) 40%,
transparent
);
--nav-item-background-active: color-mix(
in srgb,
var(--blue) 10%,
transparent
);
}
/* ------------------------------- 04 Prefix -------------------------------- */
.nav-folder-title[data-path^="04"] {
color: var(--violet);
--nav-item-color-hover: color-mix(in srgb, var(--violet) 40%, white);
--nav-item-background-hover: color-mix(
in srgb,
var(--violet) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--violet) 40%,
transparent
);
--nav-collapse-icon-color: color-mix(in srgb, var(--violet) 60%, transparent);
border-radius: 5px;
}
.nav-folder-title[data-path^="04"]:hover {
--nav-collapse-icon-color: color-mix(in srgb, var(--violet) 60%, white);
}
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="04"]) {
--nav-indentation-guide-color: color-mix(
in srgb,
var(--violet) 20%,
transparent
);
}
.tree-item-children
.nav-folder:has(.nav-folder-title[data-path^="04"])
.nav-file-title {
color: color-mix(in srgb, var(--violet) 20%, var(--default-text-color));
--nav-item-background-hover: color-mix(
in srgb,
color-mix(in srgb, var(--violet) 50%, var(--default-text-color)) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--violet) 40%,
transparent
);
--nav-item-background-active: color-mix(
in srgb,
var(--violet) 10%,
transparent
);
}
/* ------------------------------- 05 Prefix -------------------------------- */
.nav-folder-title[data-path^="05"] {
color: var(--purple);
--nav-item-color-hover: color-mix(in srgb, var(--purple) 40%, white);
--nav-item-background-hover: color-mix(
in srgb,
var(--purple) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--purple) 40%,
transparent
);
--nav-collapse-icon-color: color-mix(in srgb, var(--purple) 60%, transparent);
border-radius: 5px;
}
.nav-folder-title[data-path^="05"]:hover {
--nav-collapse-icon-color: color-mix(in srgb, var(--purple) 60%, white);
}
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="05"]) {
--nav-indentation-guide-color: color-mix(
in srgb,
var(--purple) 20%,
transparent
);
}
.tree-item-children
.nav-folder:has(.nav-folder-title[data-path^="05"])
.nav-file-title {
color: color-mix(in srgb, var(--purple) 20%, var(--default-text-color));
--nav-item-background-hover: color-mix(
in srgb,
color-mix(in srgb, var(--purple) 50%, var(--default-text-color)) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--purple) 40%,
transparent
);
--nav-item-background-active: color-mix(
in srgb,
var(--purple) 10%,
transparent
);
}
/* ------------------------------- 06 Prefix -------------------------------- */
.nav-folder-title[data-path^="06"] {
color: var(--magenta);
--nav-item-color-hover: color-mix(in srgb, var(--magenta) 40%, white);
--nav-item-background-hover: color-mix(
in srgb,
var(--magenta) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--magenta) 40%,
transparent
);
--nav-collapse-icon-color: color-mix(
in srgb,
var(--magenta) 60%,
transparent
);
border-radius: 5px;
}
.nav-folder-title[data-path^="06"]:hover {
--nav-collapse-icon-color: color-mix(in srgb, var(--magenta) 60%, white);
}
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="06"]) {
--nav-indentation-guide-color: color-mix(
in srgb,
var(--magenta) 20%,
transparent
);
}
.tree-item-children
.nav-folder:has(.nav-folder-title[data-path^="06"])
.nav-file-title {
color: color-mix(in srgb, var(--magenta) 20%, var(--default-text-color));
--nav-item-background-hover: color-mix(
in srgb,
color-mix(in srgb, var(--magenta) 50%, var(--default-text-color)) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--magenta) 40%,
transparent
);
--nav-item-background-active: color-mix(
in srgb,
var(--magenta) 10%,
transparent
);
}
/* ------------------------------- 07 Prefix -------------------------------- */
.nav-folder-title[data-path^="07"] {
color: var(--light-blue);
--nav-item-color-hover: color-mix(in srgb, var(--light-blue) 40%, white);
--nav-item-background-hover: color-mix(
in srgb,
var(--light-blue) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--light-blue) 40%,
transparent
);
--nav-collapse-icon-color: color-mix(
in srgb,
var(--light-blue) 60%,
transparent
);
border-radius: 5px;
}
.nav-folder-title[data-path^="07"]:hover {
--nav-collapse-icon-color: color-mix(in srgb, var(--light-blue) 60%, white);
}
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="07"]) {
--nav-indentation-guide-color: color-mix(
in srgb,
var(--light-blue) 20%,
transparent
);
}
.tree-item-children
.nav-folder:has(.nav-folder-title[data-path^="07"])
.nav-file-title {
color: color-mix(in srgb, var(--light-blue) 20%, var(--default-text-color));
--nav-item-background-hover: color-mix(
in srgb,
color-mix(in srgb, var(--light-blue) 50%, var(--default-text-color)) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--light-blue) 40%,
transparent
);
--nav-item-background-active: color-mix(
in srgb,
var(--light-blue) 10%,
transparent
);
}
/* ------------------------------- 99 Prefix -------------------------------- */
.nav-folder-title[data-path^="99"] {
color: var(--cool-gray);
--nav-item-color-hover: color-mix(in srgb, var(--cool-gray) 40%, white);
--nav-item-background-hover: color-mix(
in srgb,
var(--cool-gray) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--cool-gray) 40%,
transparent
);
--nav-collapse-icon-color: color-mix(
in srgb,
var(--cool-gray) 60%,
transparent
);
border-radius: 5px;
}
.nav-folder-title[data-path^="99"]:hover {
--nav-collapse-icon-color: color-mix(in srgb, var(--cool-gray) 60%, white);
}
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="99"]) {
--nav-indentation-guide-color: color-mix(
in srgb,
var(--cool-gray) 20%,
transparent
);
}
.tree-item-children
.nav-folder:has(.nav-folder-title[data-path^="99"])
.nav-file-title {
color: color-mix(in srgb, var(--cool-gray) 20%, var(--default-text-color));
--nav-item-background-hover: color-mix(
in srgb,
color-mix(in srgb, var(--cool-gray) 50%, var(--default-text-color)) 15%,
transparent
);
--background-modifier-border-focus: color-mix(
in srgb,
var(--cool-gray) 40%,
transparent
);
--nav-item-background-active: color-mix(
in srgb,
var(--cool-gray) 10%,
transparent
);
}

280
.obsidian/snippets/Notebook Themes.css vendored Normal file
View file

@ -0,0 +1,280 @@
/*------------------------------------------------------------------------------
Notebook Background Color Schemes by CyanVoxel v2.1.1
These a few CSS classes that mimic a few of my real-world pages and pen colors.
Go ahead and try it out! You can change or add new color variables or entire new
classes and combinations. Inside Obsidian, apply a page class with an optional
pen color class to see the effects. Add the recolor-images class to recolor
the images in your notes, too!
Website used to generate Color Filters:
https://angel-rs.github.io/css-color-filter-generator
------------------------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&display=swap");
/* Global Variables */
:root {
/* Base Pen Colors */
--pen-white: #edf1fc;
--pen-gray: #5f5d58;
--pen-black: #26241f;
--pen-red: #e14a49;
--pen-green: #15b64f;
--pen-blue: #3f76ed;
--pen-light-blue: #54b6f8;
--pen-purple: #9b4ff0;
--neutral-pen-black: #272727;
--neutral-pen-black-trans: #27272722;
/* Page Colors */
--page-white: #ffffff;
--page-manila: #f3deaf;
--page-lacuna: #006b68;
--page-blue: #3f76ed;
/* Default Variables */
--page-color: var(--page-manila);
--accent-color: var(--pen-black);
--accent-color-trans: color-mix(in srgb, var(--pen-black) 15%, transparent);
--grid-size: 32px;
}
/* Recolors images on the page with the current accent color. */
.recolor-images img {
filter: var(--image-effect);
}
/* ---------------------------- Page Backgrounds ---------------------------- */
/* All Pages */
.page-manila,
.page-white,
.page-blueprint,
.page-lacuna {
--text-normal: var(--accent-color);
--text-muted: var(--accent-color);
--text-faint: var(--accent-color-trans);
--h1-color: var(--accent-color);
--h2-color: var(--accent-color);
--h3-color: var(--accent-color);
--h4-color: var(--accent-color);
--h5-color: var(--accent-color);
--h6-color: var(--accent-color);
--link-color: var(--pen-blue);
--link-color-hover: var(--pen-light-blue);
--link-unresolved-color: var(--pen-red);
--hr-color: var(--accent-color);
--blockquote-border-color: var(--accent-color);
--embed-border-left: 2px solid var(--accent-color);
--collapse-icon-color-collapsed: var(--accent-color);
--checkbox-color: var(--accent-color);
--checkbox-marker-color: var(--page-color);
--checkbox-color-hover: var(--accent-color-trans);
--checkbox-border-color: var(--accent-color);
--checklist-done-color: var(--accent-color);
--list-marker-color: var(--accent-color);
--interactive-accent: var(--accent-color);
--metadata-label-text-color: var(--accent-color);
--metadata-input-text-color: var(--accent-color);
--tag-color: var(--accent-color);
--tag-background: var(--accent-color-trans);
--pill-cover-hover: color-mix(in srgb, var(--accent-color) 60%, transparent);
--background-modifier-border-focus: var(--accent-color);
--background-modifier-border: var(--accent-color-trans);
--background-modifier-hover: color-mix(
in srgb,
var(--accent-color) 60%,
transparent
);
color: var(--accent-color);
background-color: var(--page-color);
font-family: "Caveat", cursive;
font-optical-sizing: auto;
font-style: normal;
font-weight: bold;
/* font-size: 25px; */
}
/* ----------------------- Manila/Tan Page Background ----------------------- */
/* Defaults to Black Pen */
.page-manila {
--page-color: var(--page-manila);
--accent-color: var(--pen-black);
--accent-color-trans: color-mix(
in srgb,
var(--accent-color) 15%,
transparent
);
--image-effect: brightness(0) saturate(100%) invert(14%) sepia(19%)
saturate(296%) hue-rotate(5deg) brightness(90%) contrast(96%);
color-scheme: light;
}
.embed-manila img {
background-color: var(--page-manila);
}
/* ----------------------- Lacuna Page Background ----------------------- */
/* Defaults to Black Pen */
.page-lacuna {
--page-color: var(--page-lacuna);
--accent-color: var(--pen-white);
--link-color: var(--pen-red);
--link-color-hover: var(--pen-blue);
--link-unresolved-color: var(--pen-purple);
--accent-color-trans: color-mix(
in srgb,
var(--accent-color) 15%,
transparent
);
--image-effect: brightness(0) saturate(100%) invert(14%) sepia(19%)
saturate(296%) hue-rotate(5deg) brightness(90%) contrast(96%);
color-scheme: light;
}
.embed-lacuna img {
background-color: var(--page-lacuna);
}
/* --------------------------- White Page Background ------------------------ */
/* Defaults to Black Pen */
.page-white {
--page-color: var(--page-white);
--accent-color: var(--neutral-pen-black);
--accent-color-trans: color-mix(
in srgb,
var(--accent-color) 15%,
transparent
);
--image-effect: brightness(0) saturate(100%) invert(14%) sepia(19%)
saturate(296%) hue-rotate(5deg) brightness(90%) contrast(96%);
color-scheme: light;
}
.embed-white img {
background-color: var(--page-white);
}
/* -------------------------- Blueprint Styled Page ------------------------- */
/* Defaults to White Pen */
.page-blueprint {
--page-color: var(--page-blue);
--accent-color: var(--pen-white);
--accent-color-trans: color-mix(
in srgb,
var(--accent-color) 15%,
transparent
);
--image-effect: brightness(0) saturate(100%) invert(89%) sepia(1%)
saturate(2714%) hue-rotate(196deg) brightness(107%) contrast(98%);
color-scheme: dark;
--link-color: color-mix(in srgb, var(--pen-light-blue) 60%, var(--pen-white));
--link-color-hover: color-mix(
in srgb,
var(--pen-light-blue) 20%,
var(--pen-white)
);
}
.embed-blueprint img {
background-color: var(--page-blue);
}
/* Adds a grid layout on page background */
.page-grid {
background-image: linear-gradient(
0deg,
transparent 0px,
var(--accent-color-trans) 1px,
var(--accent-color-trans) 2px,
transparent 3px
),
linear-gradient(
90deg,
transparent calc(var(--grid-size) - 3px),
var(--accent-color-trans) calc(var(--grid-size) - 2px),
var(--accent-color-trans) calc(var(--grid-size) - 1px),
transparent var(--grid-size)
);
background-size: var(--grid-size) var(--grid-size);
}
/* ------------------------------- Pen Colors ------------------------------- */
/* Image Effects generated with:
https://angel-rs.github.io/css-color-filter-generator */
/* All Colors */
:is(
.page-white,
.page-manila,
.page-blueprint,
.pen-white,
.pen-blue,
.pen-red,
.pen-green,
.pen-black,
.pen-gray,
.pen-purple
)
svg {
color: color-mix(in srgb, var(--accent-color) 60%, transparent);
}
.pen-white {
--accent-color: var(--pen-white);
--accent-color-trans: color-mix(in srgb, var(--pen-white) 15%, transparent);
color: var(--accent-color);
--hr-color: var(--accent-color);
--image-effect: brightness(0) saturate(100%) invert(89%) sepia(1%)
saturate(2714%) hue-rotate(196deg) brightness(107%) contrast(98%);
}
.pen-blue {
--accent-color: var(--pen-blue);
--accent-color-trans: color-mix(in srgb, var(--pen-blue) 15%, transparent);
color: var(--accent-color);
--hr-color: var(--accent-color);
--image-effect: brightness(0) saturate(100%) invert(36%) sepia(95%)
saturate(945%) hue-rotate(199deg) brightness(95%) contrast(95%);
}
.pen-red {
--accent-color: var(--pen-red);
--accent-color-trans: color-mix(in srgb, var(--pen-red) 15%, transparent);
color: var(--accent-color);
--hr-color: var(--accent-color);
--image-effect: brightness(0) saturate(100%) invert(40%) sepia(41%)
saturate(1024%) hue-rotate(316deg) brightness(99%) contrast(94%);
}
.pen-green {
--accent-color: var(--pen-green);
--accent-color-trans: color-mix(in srgb, var(--pen-green) 15%, transparent);
color: var(--accent-color);
--hr-color: var(--accent-color);
--image-effect: brightness(0) saturate(100%) invert(52%) sepia(60%)
saturate(2521%) hue-rotate(105deg) brightness(96%) contrast(84%);
}
.pen-black {
--accent-color: var(--pen-black);
--accent-color-trans: color-mix(in srgb, var(--pen-black) 15%, transparent);
color: var(--accent-color);
--hr-color: var(--accent-color);
--image-effect: brightness(0) saturate(100%) invert(14%) sepia(19%)
saturate(296%) hue-rotate(5deg) brightness(90%) contrast(96%);
}
.pen-gray {
--accent-color: var(--pen-gray);
--accent-color-trans: color-mix(in srgb, var(--pen-gray) 15%, transparent);
color: var(--accent-color);
--hr-color: var(--accent-color);
--image-effect: brightness(0) saturate(100%) invert(35%) sepia(13%)
saturate(189%) hue-rotate(5deg) brightness(96%) contrast(86%);
}
.pen-purple {
--accent-color: var(--pen-purple);
--accent-color-trans: color-mix(in srgb, var(--pen-purple) 15%, transparent);
color: var(--accent-color);
--hr-color: var(--accent-color);
--image-effect: brightness(0) saturate(100%) invert(33%) sepia(59%)
saturate(2620%) hue-rotate(249deg) brightness(98%) contrast(93%);
}

3
.obsidian/templates.json vendored Normal file
View file

@ -0,0 +1,3 @@
{
"folder": "99 - Meta/Templates"
}

7
.obsidian/themes/Border/manifest.json vendored Normal file
View file

@ -0,0 +1,7 @@
{
"name": "Border",
"version": "1.8.2",
"minAppVersion": "0.16.0",
"author": "Akifyss",
"authorUrl": "https://github.com/Akifyss"
}

8808
.obsidian/themes/Border/theme.css vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,8 @@
{
"name": "Minimal",
"version": "7.5.4",
"minAppVersion": "1.5.4",
"author": "@kepano",
"authorUrl": "https://twitter.com/kepano",
"fundingUrl": "https://www.buymeacoffee.com/kepano"
}

2150
.obsidian/themes/Minimal/theme.css vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,7 @@
{
"name": "Sanctum",
"version": "1.2.0",
"minAppVersion": "1.1.9",
"author": "@jdanielmourao",
"authorUrl": "https://github.com/jdanielmourao/"
}

8579
.obsidian/themes/Sanctum/theme.css vendored Normal file

File diff suppressed because it is too large Load diff

9
.obsidian/types.json vendored Normal file
View file

@ -0,0 +1,9 @@
{
"types": {
"aliases": "aliases",
"cssclasses": "multitext",
"tags": "tags",
"finished": "datetime",
"words": "number"
}
}

197
.obsidian/workspace-mobile.json vendored Normal file
View file

@ -0,0 +1,197 @@
{
"main": {
"id": "22dc470d58e6b3b8",
"type": "split",
"children": [
{
"id": "cf9c8951c17da651",
"type": "tabs",
"children": [
{
"id": "4f932a571c15804f",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "03 - Reading/Fics/Fics.md",
"mode": "source",
"source": false
}
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "f1f26246be948e61",
"type": "mobile-drawer",
"children": [
{
"id": "28cba1b084b368b4",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical"
}
}
},
{
"id": "18a6392ab066e3de",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
}
}
},
{
"id": "6c5129ed3822341a",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true
}
}
},
{
"id": "f727ac523bd40539",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {}
}
},
{
"id": "582bf94aaf044de3",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
}
}
},
{
"id": "eeacf3e2ae439178",
"type": "leaf",
"state": {
"type": "VIEW_TYPE_LONGFORM_EXPLORER",
"state": {}
}
}
],
"currentTab": 0
},
"right": {
"id": "9db90f7d2cc5e0fa",
"type": "mobile-drawer",
"children": [
{
"id": "a650a375b17a6c9d",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "03 - Reading/Fics/Fics.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
}
}
},
{
"id": "b372f7992350c949",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "03 - Reading/Fics/Fics.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
}
},
{
"id": "25e01c5a8ab37654",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "03 - Reading/Fics/Fics.md"
}
}
}
],
"currentTab": 0
},
"left-ribbon": {
"hiddenItems": {
"templater-obsidian:Templater": false,
"modalforms:Edit forms": false,
"remotely-save:Remotely Save": false,
"markdown-importer:Open format converter": false,
"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
}
},
"active": "4f932a571c15804f",
"lastOpenFiles": [
"99 - Meta/Templates/Templates.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/Adventures in Ebbersee.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/03 Spells/Spells/Soothing Words.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/03 Spells/Reversed Spells.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/02 Notes/Things/Subtitles.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/02 Notes/Places/Theater.md",
"02 - Areas/01 - TTRPG/TTRPG.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/02 Notes/Characters/01 - The Party/01 - The Party.md",
"02 - Areas/04 - School/04 - School.md",
"02 - Areas/02 - Writing/big kanban of everything.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/01 Session Notes/Session 15.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/02 Notes/Characters/02 - Side Characters/Eyes and Ears.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/02 Notes/Characters/02 - Side Characters/Boss Ransun.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/02 Notes/Characters/01 - The Party/Twilight.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/02 Notes/Places/Equinox Ball.md",
"01 - Projects/Interlink/Interlink.md",
"01 - Projects/Interlink/Story.md",
"D&D/Adventures in Ebbersee/Session 11.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/01 Session Notes/Session 9.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/01 Session Notes/Session 11.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/01 Session Notes/Session 14.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/02 Notes/Characters/01 - The Party/Juke.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/02 Notes/Characters/02 - Side Characters/Buri Battlehammer.md",
"01 - Projects/Interlink/Companies/Arbyte.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/02 Notes/Characters/02 - Side Characters/Clacks.md",
"02 - Areas/01 - TTRPG/Adventures in Ebbersee/01 Session Notes/Session 12.md",
"02 - Areas/03 - Tech/Datashard - Website Inspirations.pur",
"01 - Projects/Interlink/References.pur",
"99 - Meta/Templates",
"99 - Meta",
"02 - Areas/04 - School/EuR/Ich und Meine Bedürfnisse",
"02 - Areas/04 - School/SuK",
"02 - Areas/04 - School/Prüfungsvorbereitung",
"02 - Areas/04 - School/FE",
"02 - Areas/04 - School/EuR",
"02 - Areas/04 - School"
]
}

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

@ -0,0 +1,216 @@
{
"main": {
"id": "27bbde3eea1cebf6",
"type": "split",
"children": [
{
"id": "7d24685d4a1329e1",
"type": "tabs",
"children": [
{
"id": "d3ab9c71a2b57f57",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Custom Emojis in Quartz.md",
"mode": "source",
"source": false
}
}
},
{
"id": "a4c5e742f73ab8ea",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Customizing Quartz.md",
"mode": "source",
"source": false
}
}
}
],
"currentTab": 1
}
],
"direction": "vertical"
},
"left": {
"id": "94190327bbea13a5",
"type": "split",
"children": [
{
"id": "62ec7df3a99ed002",
"type": "tabs",
"children": [
{
"id": "f468df52bfd3b066",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical"
}
}
},
{
"id": "7f89c501a4427083",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
}
}
},
{
"id": "216ad590aae51545",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {}
}
}
]
}
],
"direction": "horizontal",
"width": 308.5133476257324
},
"right": {
"id": "a4c2864f8a3898c4",
"type": "split",
"children": [
{
"id": "993a7473cea65c70",
"type": "tabs",
"children": [
{
"id": "c1a410130bc0a0fe",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "Customizing Quartz.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": false
}
}
},
{
"id": "97268e351e0b85ff",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "Customizing Quartz.md",
"linksCollapsed": false,
"unlinkedCollapsed": false
}
}
},
{
"id": "04b878c81caca07b",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": false
}
}
},
{
"id": "3edbb8df36d68bbe",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "Customizing Quartz.md"
}
}
},
{
"id": "60d98370d246e8ab",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
}
}
}
],
"currentTab": 4
}
],
"direction": "horizontal",
"width": 271.5,
"collapsed": true
},
"left-ribbon": {
"hiddenItems": {
"daily-notes:Open today's daily note": false,
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
"canvas:Create new canvas": false,
"templates:Insert template": false,
"command-palette:Open command palette": false,
"markdown-importer:Open format converter": false
}
},
"active": "a4c5e742f73ab8ea",
"lastOpenFiles": [
"index.md",
"Customizing Quartz.md",
"Custom Emojis in Quartz.md",
"Device Names.md",
"Codenames.md",
"Pixel.md",
"Markdown.md",
"999 - Meta/Templates/Templates.md",
"~syncthing~Device Names.md.tmp",
"Emojis.md",
"999 - Meta/Data/mutant.md",
"999 - Meta/Data/mutant.json",
"999 - Meta/Data",
"Markdown Fuckery.md",
"~syncthing~Markdown.md.tmp",
"~syncthing~Markdown Fuckery.md.tmp",
"999 - Meta/Templates/Sessions.md",
"999 - Meta/Templates/Fic.md",
"03 - Reading/Fics/Fics.md",
"03 - Reading/Fics/eat dog.md",
"all_thats_said_in_the.epub",
"To_Drive_a_Man_to.epub",
"solemn_prayer_poppy_in.epub",
"03 - Reading/Fics/Telomeres.md",
"03 - Reading/Fics/Ink Heart.md",
"03 - Reading/Fics/Honey Pot.md",
"03 - Reading/Fics/anklebiter.md",
"03 - Reading/Fics/Get A Room.md",
"03 - Reading/Fics/Soap & Scent.md",
"01 - Projects/Interlink/Story.md",
"03 - Reading/Fics/Poison Apple.md",
"03 - Reading/Fics/Play Pretend.md",
"03 - Reading/Fics/Never Enough.md",
"03 - Reading/Fics/after midnight.md",
"01 - Projects/Interlink/References.pur",
"02 - Areas/03 - Tech/Datashard - Website Inspirations.pur",
"Pasted image 20240331031726.png"
]
}

78213
999 - Meta/Data/mutant.json Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,6 @@
# Templates Overview
%% Begin Waypoint %%
%% End Waypoint %%

86
Codenames.md Normal file
View file

@ -0,0 +1,86 @@
---
title: Names
---
This list is basically what I go off of when internally naming my Projects or Devices, so it's not really that interesting. Unless you think it's interesting that my Phone is called [[Device Names|Pixel]] and my Laptop is called [[Device Names|Blade]]. Tbf though, both of them already have an amazing name for their Line so I didn't feel like changing much.
Considering I took these names from [a Synthwave Mix making Youtube Channel](https://www.youtube.com/@AstralThrob), there is not that much thought behind my naming system lol
- [x] aether
- [x] cosmos
- [x] source
- [x] killswitch
- [x] lacuna
- [x] lotus
- [x] implant
- [x] simulation
- [x] twilight
- [x] void
- [x] wireframe
- [x] blade
- [x] interlink
- [x] knot
- [x] pixel
- [ ] apeiron
- [ ] axiom
- [ ] blackout
- [ ] cadaver
- [ ] carbon
- [ ] chronos
- [ ] chrysalis
- [ ] cipher
- [ ] cloak
- [ ] creation
- [ ] cult
- [ ] delorean
- [ ] dimension
- [ ] distort
- [ ] doctor
- [ ] dream
- [ ] dreamland
- [ ] dusk
- [ ] energy
- [ ] entropy
- [ ] ephemeral
- [ ] exile
- [ ] firewall
- [ ] form
- [ ] fragment
- [ ] future
- [ ] gaia
- [ ] galactic
- [ ] gravity
- [ ] hyperion
- [ ] iago
- [ ] insomnia
- [ ] lion
- [ ] lost
- [ ] neon
- [ ] nerve
- [ ] nightmare
- [ ] omega
- [ ] omen
- [ ] origami
- [ ] orion
- [ ] paradigm
- [ ] parallax
- [ ] plasma
- [ ] primary
- [ ] prism
- [ ] pulsar mesmer
- [ ] quasar
- [ ] recall
- [ ] rupture
- [ ] solstice
- [ ] spectre
- [ ] spectrum
- [ ] stereo
- [ ] temporal
- [ ] titan
- [ ] uncloak
- [ ] unkown
- [ ] unwind
- [ ] variant
- [ ] vengeance
- [ ] viridian
- [ ] wrath
- [ ] xennon

View file

@ -0,0 +1,56 @@
---
tags:
- quartz
---
The Emojis I use here are from [Mutant Standart](https://mutant.tech), as seen in the Footer.
I host them in my own Minio Bucket though.
Surprisingly, [Quartz] doesn't actually have it's own Parser for the double colon (`:laptop:`) way of inserting Emojis, [Obsidian](https://obsidian.md) does but because I'm embedding Images and not a Font, that doesn't do much for me while writing.
Once you've read through the Plugin Docs for [Quartz], it gets easier to actually write Plugins for it, so I just wrote my own Text Transformer to hack Mutant Emojis in :expressions+smileys+halo:
```ts
import { findAndReplace } from "mdast-util-find-and-replace";
import { QuartzTransformerPlugin } from "../types";
export const MutantEmojis: QuartzTransformerPlugin = () => {
return {
name: "MutantEmojis",
markdownPlugins() {
return [() => {
return (tree, file) => {
findAndReplace(
tree,
[/:(.+):/, (_value: string, ...capture: string[]) => {
const [inner] = capture;
return {
type: "html",
value: `<img src="https://{s3Host}/{bucket}/${inner}.svg" class="markdown-emoji">`,
};
}],
);
};
}];
},
};
};
```
I then just added `markdown-emoji` to my custom CSS and it works like a charm
```css
.markdown-emoji {
height: 1.3em;
display: inline;
margin: 0;
padding: 0;
vertical-align: middle;
}
```
The way you then write your Emojis depends on your File Structure, all my Emojis live in a Single Dir, so I have to write them like `:expressions+smileys+halo:`. Since all this does is add whatever you put between the `:` to the URL, this is rather simple.
Though I do have an Internal [[mutant]].md file that lists all possible emojis, though that is taken straight from the Files provided by them
[Quartz]: https://quartz.jzhao.xyz

6
Customizing Quartz.md Normal file
View file

@ -0,0 +1,6 @@
---
tags:
- quartz
---
I've made a good few changes in [my Fork of Quartz](https://git.cyberwa.re/j/cyberware), like [[Custom Emojis in Quartz]] or the Emoji Attribution in the Footer. I definitly want to customize it a lot further.
Who knows, maybe this will look a lot different in a year.

24
Device Names.md Normal file
View file

@ -0,0 +1,24 @@
I like explaining my thought process when naming my things, because there's honestly not that much thought expect for 'Is this in my [[Codenames]]? Yes? Cool.' If not but I think it fits? I'll just add it in.
Though I try to have most of them fit a Cyberpunky theme.
Regardless, I'll use this to list my currently active Devices.
`Pixel` - Pixel 8
`Blade` - Razer Blade 14 (2021)
`Pearl` - Kindle 11th Gen
`Implant` - Hetzner Server (this is where you are)
`Source` - Dell Tower under my Desk
`Simulation` - TV
`Oasis` - Nintendo Switch
`Dionysus` - Raspberry Pi 4
My Husband's Tower is simply called `Omen`, because that is yet again just a nice and simple name.
Generally, If the Device already has a Name that is nice and simple, that fits, I'll just use that. Otherwise I'll choose one of the list.
When I was trying the [Flip 4](https://datashard.work/flip-4/)for a while, I just called it `Flip`.
When choosing, I try to name it after how it works or what it's supposed to do.
`Pearl` was chosen because it's an E-Ink Device, `Source` was a 3rd attempt at spinning up a Nextcloud Instance, though now it just runs things I want to use every once in a while. `Oasis` was like a tongue-in-cheek "Gaming Oasis" Joke. `Dionysus` is the only one out of Place, kinda. Though I've had enough Issues with that Thing and it's sass that I feel like the name kinda fits.

275
Markdown.md Normal file
View file

@ -0,0 +1,275 @@
---
title: Markdown Testing
draft: true
---
# h1 Heading
## h2 Heading
### h3 Heading
#### h4 Heading
##### h5 Heading
###### h6 Heading
## Horizontal Rules
___
---
***
## Typographic replacements
~~(c) (C) (r) (R) (tm) (TM) (p) (P) +-~~
(should add these actually)
test.. test... test..... test?..... test!....
!!!!!! ???? ,, -- ---
"double quotes" and 'single quotes'
## Emphasis
**This is bold text**
__This is bold text__
*This is italic text*
_This is italic text_
~~Strikethrough~~
## Blockquotes
> Blockquotes can also be nested...
>> ...by using additional greater-than signs right next to each other...
> > > ...or with spaces between arrows.
## Lists
### Unordered
+ Create a list by starting a line with `+`, `-`, or `*`
+ Sub-lists are made by indenting 2 spaces:
- Marker character change forces new list start:
* Ac tristique libero volutpat at
+ Facilisis in pretium nisl aliquet
- Nulla volutpat aliquam velit
+ Very easy!
### Ordered
1. Lorem ipsum dolor sit amet
2. Consectetur adipiscing elit
3. Integer molestie lorem at massa
1. You can use sequential numbers...
1. ...or keep all the numbers as `1.`
Start numbering with offset:
57. foo
1. bar
## Code
Inline `code`
Indented code
// Some comments
line 1 of code
line 2 of code
line 3 of code
Block code "fences"
```
Sample text here...
```
Syntax highlighting
``` js
var foo = function (bar) {
return bar++;
};
console.log(foo(5));
```
## Tables
| Option | Description |
| ------ | ----------- |
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
Right aligned columns
| Option | Description |
| ------:| -----------:|
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
## Links
[link text](http://dev.nodeca.com)
[link with title](https://shard.wtf "title text!")
Autoconverted link https://git.cyberwa.re
## Images
![Cyberware Logo](https://s3.lio.systems/cyberware/cyberware_logo.png)
![Art for me by Ramses](https://s3.lio.systems/cyberware/anime.png "Art for me by Ramses")
Like links, Images also have a footnote style syntax
![Alt text][id]
With a reference later in the document defining the URL location:
[id]: https://s3.lio.systems/cyberware/anime.png "Art for me by Ramses"
### Emojis
> Classic markup: :wink: :cry: :laughing: :yum:
### Subscript/Superscript
- 19^th^
- H~2~O
<!-- ### \<ins>
++Inserted text++ -->
### \<mark>
==This is a very long highlighted text==
### Footnotes
Footnote 1 link[^first].
Footnote 2 link[^second].
Inline footnote^[Text of inline footnote] definition.
Duplicated footnote reference[^second].
[^first]: Footnote **can have markup**
and multiple paragraphs.
[^second]: Footnote text.
<!-- ### Definition lists
Term 1
: Definition 1
with lazy continuation.
Term 2 with *inline markup*
: Definition 2
{ some code, part of Definition 2 }
Third paragraph of definition 2.
_Compact style:_
Term 1
~ Definition 1
Term 2
~ Definition 2a
~ Definition 2b
### [Abbreviations](https://github.com/markdown-it/markdown-it-abbr)
This is HTML abbreviation example.
It converts "HTML", but keep intact partial entries like "xxxHTMLyyy" and so on.
*[HTML]: Hyper Text Markup Language
### [Custom containers](https://github.com/markdown-it/markdown-it-container)
::: warning
*here be dragons*
::: -->
# Callout Tests
> [!info]
> Default title
> [!question]+ Can callouts be _nested_?
>
> > [!todo]- Yes!, they can. And collapsed!
> >
> > > [!example] You can even use multiple layers of nesting.
> [!note]
> Aliases: "note"
> [!abstract]
> Aliases: "abstract", "summary", "tldr"
> [!info]
> Aliases: "info"
> [!todo]
> Aliases: "todo"
> [!tip]
> Aliases: "tip", "hint", "important"
> [!success]
> Aliases: "success", "check", "done"
> [!question]
> Aliases: "question", "help", "faq"
> [!warning]
> Aliases: "warning", "attention", "caution"
> [!failure]
> Aliases: "failure", "missing", "fail"
> [!danger]
> Aliases: "danger", "error"
> [!bug]
> Aliases: "bug"
> [!example]
> Aliases: "example"
> [!quote]
> Aliases: "quote", "cite"

16
index.md Normal file
View file

@ -0,0 +1,16 @@
---
title: Sup
draft: false
tags:
- meta
---
Name's `datashard`, Welcome to my [Datafort](https://jzhao.xyz/posts/networked-thought) :nature_effects+plants+sunflower: of sorts.
Navigating this Fort is primarily done through the Links and Tags connecting the Pages together, however there's also a Graph and Search if you feel like it.
Currently, there is not a lot of Content, so make sure to visit again in the Future.
Have fun!
I figured I'd primarily use this Fort for things I want to share publicly. :expressions+smileys+halo:
A Proper "About me" Section is on my [Website](https://datashard.work/about) <3