This commit is contained in:
ArgentumCation 2024-09-05 22:31:04 -04:00
parent a0cd390178
commit f69dff2f14
37 changed files with 77324 additions and 19 deletions

11
eslint.config.js Normal file
View file

@ -0,0 +1,11 @@
import globals from "globals";
import pluginJs from "@eslint/js";
import tseslint from "typescript-eslint";
export default [
{files: ["**/*.{js,mjs,cjs,ts}"]},
{languageOptions: { globals: globals.browser }},
pluginJs.configs.recommended,
...tseslint.configs.recommended,
];

0
eslint.config.mjs Normal file
View file

36
src/content/blog/.obsidian/app.json vendored Normal file
View file

@ -0,0 +1,36 @@
{
"useMarkdownLinks": true,
"attachmentFolderPath": "./images",
"vimMode": true,
"mobileToolbarCommands": [
"editor:insert-wikilink",
"editor:insert-embed",
"editor:insert-tag",
"editor:attach-file",
"editor:set-heading",
"editor:toggle-bold",
"editor:toggle-italics",
"editor:toggle-strikethrough",
"editor:toggle-highlight",
"editor:toggle-code",
"editor:toggle-blockquote",
"editor:insert-link",
"editor:toggle-bullet-list",
"editor:toggle-numbered-list",
"editor:toggle-checklist-status",
"editor:indent-list",
"editor:unindent-list",
"editor:undo",
"editor:redo",
"editor:configure-toolbar",
"editor:insert-callout",
"editor:insert-table"
],
"pdfExportSettings": {
"includeName": true,
"pageSize": "Letter",
"landscape": true,
"margin": "0",
"downscalePercent": 100
}
}

View file

@ -0,0 +1,10 @@
{
"accentColor": "#1a538d",
"interfaceFontFamily": "Atkinson Hyperlegible",
"textFontFamily": "Atkinson Hyperlegible",
"baseFontSize": 16,
"baseFontSizeAction": true,
"monospaceFontFamily": "Fairfax Hax HD",
"cssTheme": "Lunar Witch",
"theme": "obsidian"
}

View file

@ -0,0 +1,4 @@
[
"obsidian-git",
"templater-obsidian"
]

View file

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

View file

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

11
src/content/blog/.obsidian/hotkeys.json vendored Normal file
View file

@ -0,0 +1,11 @@
{
"editor:toggle-source": [
{
"modifiers": [
"Mod"
],
"key": "/"
}
],
"editor:toggle-comments": []
}

View file

@ -0,0 +1,58 @@
{
"commitMessage": "vault backup: {{date}}",
"commitDateFormat": "YYYY-MM-DD HH:mm:ss",
"autoSaveInterval": 0,
"autoPushInterval": 10,
"autoPullInterval": 10,
"autoPullOnBoot": true,
"disablePush": false,
"pullBeforePush": true,
"disablePopups": false,
"disablePopupsForNoChanges": true,
"listChangedFilesInMessageBody": false,
"showStatusBar": true,
"updateSubmodules": false,
"syncMethod": "rebase",
"customMessageOnAutoBackup": false,
"autoBackupAfterFileChange": false,
"treeStructure": false,
"refreshSourceControl": true,
"basePath": "",
"differentIntervalCommitAndPush": true,
"changedFilesInStatusBar": false,
"showedMobileNotice": true,
"refreshSourceControlTimer": 7000,
"showBranchStatusBar": true,
"setLastSaveToLastCommit": false,
"submoduleRecurseCheckout": false,
"gitDir": "",
"showFileMenu": true,
"authorInHistoryView": "hide",
"dateInHistoryView": false,
"lineAuthor": {
"show": false,
"followMovement": "inactive",
"authorDisplay": "initials",
"showCommitHash": false,
"dateTimeFormatOptions": "date",
"dateTimeFormatCustomString": "YYYY-MM-DD HH:mm",
"dateTimeTimezone": "viewer-local",
"coloringMaxAge": "1y",
"colorNew": {
"r": 255,
"g": 150,
"b": 150
},
"colorOld": {
"r": 120,
"g": 160,
"b": 255
},
"textColorCss": "var(--text-muted)",
"ignoreWhitespace": false,
"gutterSpacingFallbackLength": 5,
"lastShownAuthorDisplay": "initials",
"lastShownDateTimeFormatOptions": "date"
},
"autoCommitMessage": "vault backup: {{date}}"
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,9 @@
{
"id": "obsidian-git",
"name": "Git",
"description": "Backup your vault with Git.",
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/vinzent",
"js": "main.js",
"version": "2.24.2"
}

View file

@ -0,0 +1,558 @@
@keyframes loading {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.workspace-leaf-content[data-type="git-view"] .button-border {
border: 2px solid var(--interactive-accent);
border-radius: var(--radius-s);
}
.workspace-leaf-content[data-type="git-view"] .view-content {
padding: 0;
}
.workspace-leaf-content[data-type="git-history-view"] .view-content {
padding: 0;
}
.loading > svg {
animation: 2s linear infinite loading;
transform-origin: 50% 50%;
display: inline-block;
}
.obsidian-git-center {
margin: auto;
text-align: center;
width: 50%;
}
.obsidian-git-textarea {
display: block;
margin-left: auto;
margin-right: auto;
}
.obsidian-git-center-button {
display: block;
margin: 20px auto;
}
.tooltip.mod-left {
overflow-wrap: break-word;
}
.tooltip.mod-right {
overflow-wrap: break-word;
}
.git-tools {
display: flex;
margin-left: auto;
}
.git-tools .type {
padding-left: var(--size-2-1);
display: flex;
align-items: center;
justify-content: center;
width: 11px;
}
.git-tools .type[data-type="M"] {
color: orange;
}
.git-tools .type[data-type="D"] {
color: red;
}
.git-tools .buttons {
display: flex;
}
.git-tools .buttons > * {
padding: 0 0;
height: auto;
}
.git-author {
color: var(--text-accent);
}
.git-date {
color: var(--text-accent);
}
.git-ref {
color: var(--text-accent);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-d-none {
display: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-wrapper {
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header {
background-color: var(--background-primary);
border-bottom: 1px solid var(--interactive-accent);
font-family: var(--font-monospace);
height: 35px;
padding: 5px 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header,
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats {
font-size: 14px;
margin-left: auto;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-added {
border: 1px solid #b4e2b4;
border-radius: 5px 0 0 5px;
color: #399839;
padding: 2px;
text-align: right;
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-deleted {
border: 1px solid #e9aeae;
border-radius: 0 5px 5px 0;
color: #c33;
margin-left: 1px;
padding: 2px;
text-align: left;
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name-wrapper {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 15px;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name {
overflow-x: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-wrapper {
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
margin-bottom: 1em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse {
-webkit-box-pack: end;
-ms-flex-pack: end;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
cursor: pointer;
display: none;
font-size: 12px;
justify-content: flex-end;
padding: 4px 8px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse.d2h-selected {
background-color: #c8e1ff;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse-input {
margin: 0 4px 0 0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-table {
border-collapse: collapse;
font-family: Menlo, Consolas, monospace;
font-size: 13px;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-files-diff {
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-diff {
overflow-y: hidden;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-side-diff {
display: inline-block;
margin-bottom: -8px;
margin-right: -4px;
overflow-x: scroll;
overflow-y: hidden;
width: 50%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line {
padding: 0 8em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line {
display: inline-block;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
white-space: nowrap;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line {
padding: 0 4.5em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-ctn {
word-wrap: normal;
background: none;
display: inline-block;
padding: 0;
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
vertical-align: middle;
white-space: pre;
width: 100%;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
del {
background-color: #ffb6ba;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
del {
background-color: #8d232881;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line del,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line ins {
border-radius: 0.2em;
display: inline-block;
margin-top: -1px;
text-decoration: none;
vertical-align: middle;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
ins {
background-color: #97f295;
text-align: left;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
ins {
background-color: #1d921996;
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix {
word-wrap: normal;
background: none;
display: inline;
padding: 0;
white-space: pre;
}
.workspace-leaf-content[data-type="diff-view"] .line-num1 {
float: left;
}
.workspace-leaf-content[data-type="diff-view"] .line-num1,
.workspace-leaf-content[data-type="diff-view"] .line-num2 {
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
padding: 0 0.5em;
text-overflow: ellipsis;
width: 3.5em;
}
.workspace-leaf-content[data-type="diff-view"] .line-num2 {
float: right;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-muted);
cursor: pointer;
display: inline-block;
position: absolute;
text-align: right;
width: 7.5em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber:after {
content: "\200b";
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-muted);
cursor: pointer;
display: inline-block;
overflow: hidden;
padding: 0 0.5em;
position: absolute;
text-align: right;
text-overflow: ellipsis;
width: 4em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-tbody tr {
position: relative;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber:after {
content: "\200b";
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-emptyplaceholder,
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber {
direction: rtl;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-del {
background-color: #fee8e9;
border-color: #e9aeae;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-ins {
background-color: #dfd;
border-color: #b4e2b4;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-del {
background-color: #521b1d83;
border-color: #691d1d73;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-ins {
background-color: rgba(30, 71, 30, 0.5);
border-color: #13501381;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-info {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
color: var(--text-normal);
}
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-del.d2h-change {
background-color: #fdf2d0;
}
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-del.d2h-change {
background-color: #55492480;
}
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-ins.d2h-change {
background-color: #ded;
}
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-ins.d2h-change {
background-color: rgba(37, 78, 37, 0.418);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper {
margin-bottom: 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper a {
color: #3572b0;
text-decoration: none;
}
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-list-wrapper
a:visited {
color: #3572b0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-header {
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-title {
font-weight: 700;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-line {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list {
display: block;
list-style: none;
margin: 0;
padding: 0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li {
border-bottom: 1px solid var(--background-modifier-border);
margin: 0;
padding: 5px 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li:last-child {
border-bottom: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-switch {
cursor: pointer;
display: none;
font-size: 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-icon {
fill: currentColor;
margin-right: 10px;
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted {
color: #c33;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-added {
color: #399839;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-changed {
color: #d0b44c;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-moved {
color: #3572b0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-tag {
background-color: var(--background-primary);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 10px;
margin-left: 5px;
padding: 0 2px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted-tag {
border: 2px solid #c33;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-added-tag {
border: 1px solid #399839;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-changed-tag {
border: 1px solid #d0b44c;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-moved-tag {
border: 1px solid #3572b0;
}
/* ====================== Line Authoring Information ====================== */
.cm-gutterElement.obs-git-blame-gutter {
/* Add background color to spacing inbetween and around the gutter for better aesthetics */
border-width: 0px 2px 0.2px 2px;
border-style: solid;
border-color: var(--background-secondary);
background-color: var(--background-secondary);
}
.cm-gutterElement.obs-git-blame-gutter > div,
.line-author-settings-preview {
/* delegate text color to settings */
color: var(--obs-git-gutter-text);
font-family: monospace;
height: 100%; /* ensure, that age-based background color occupies entire parent */
text-align: right;
padding: 0px 6px 0px 6px;
white-space: pre; /* Keep spaces and do not collapse them. */
}
@media(max-width:800px){
/* hide git blame gutter not to superpose text */
.cm-gutterElement.obs-git-blame-gutter {
display: none;
}
}

View file

@ -0,0 +1,70 @@
{
"couchDB_URI": "",
"couchDB_USER": "",
"couchDB_PASSWORD": "",
"couchDB_DBNAME": "",
"liveSync": true,
"syncOnSave": false,
"syncOnStart": false,
"savingDelay": 200,
"lessInformationInLog": false,
"gcDelay": 0,
"versionUpFlash": "",
"minimumChunkSize": 20,
"longLineThreshold": 250,
"showVerboseLog": false,
"suspendFileWatching": false,
"trashInsteadDelete": true,
"periodicReplication": false,
"periodicReplicationInterval": 60,
"syncOnFileOpen": false,
"encrypt": false,
"passphrase": "",
"doNotDeleteFolder": false,
"resolveConflictsByNewerFile": false,
"batchSave": false,
"deviceAndVaultName": "",
"usePluginSettings": false,
"showOwnPlugins": false,
"showStatusOnEditor": false,
"usePluginSync": false,
"autoSweepPlugins": false,
"autoSweepPluginsPeriodic": false,
"notifyPluginOrSettingUpdated": false,
"checkIntegrityOnSave": false,
"batch_size": 50,
"batches_limit": 40,
"useHistory": true,
"disableRequestURI": true,
"skipOlderFilesOnSync": true,
"checkConflictOnlyOnOpen": false,
"syncInternalFiles": false,
"syncInternalFilesBeforeReplication": false,
"syncInternalFilesIgnorePatterns": "\\/node_modules\\/, \\/\\.git\\/, \\/obsidian-livesync\\/",
"syncInternalFilesInterval": 60,
"additionalSuffixOfDatabaseName": "",
"ignoreVersionCheck": false,
"lastReadUpdates": 0,
"deleteMetadataOfDeletedFiles": false,
"syncIgnoreRegEx": "",
"syncOnlyRegEx": "",
"customChunkSize": 100,
"readChunksOnline": true,
"watchInternalFileChanges": true,
"automaticallyDeleteMetadataOfDeletedFiles": 0,
"disableMarkdownAutoMerge": false,
"writeDocumentsIfConflicted": false,
"useDynamicIterationCount": false,
"syncAfterMerge": false,
"configPassphraseStore": "",
"encryptedPassphrase": "",
"encryptedCouchDBConnection": "[\"WxsQs2gfmXFZCqA8MYSo/ZGeKOHSq6hYKM77yVJdih4mKrTXFIRZVtrGbF7q80eivURsqjAoSzWCWdL8nrEOzSZoWULLtYGb5t/JpQqfP6o+ubYimw63IGCQPxpOLlyGLYm/RITk0sLXDTMCIkKUzeiMB0kQ6bnmQyfnRsD105xIZVnGjbgdVtQTFk0b/PTs0R6FgcG2DSjSbKGgyZw=\",\"49337be5455b0d06216a912b20000000\",\"7aa93e29c36d6c9ce6a9126b1dbb8ee5\"]",
"permitEmptyPassphrase": false,
"useIndexedDBAdapter": false,
"useTimeouts": false,
"writeLogToTheFile": false,
"hashCacheMaxCount": 300,
"hashCacheMaxAmount": 50,
"concurrencyOfReadChunksOnline": 100,
"minimumIntervalOfReadChunksOnline": 333
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,10 @@
{
"id": "obsidian-livesync",
"name": "Self-hosted LiveSync",
"version": "0.17.34",
"minAppVersion": "0.9.12",
"description": "Community implementation of self-hosted livesync. Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.",
"author": "vorotamoroz",
"authorUrl": "https://github.com/vrtmrz",
"isDesktopOnly": false
}

View file

@ -0,0 +1,254 @@
.added {
color: var(--text-on-accent);
background-color: var(--text-accent);
}
.normal {
color: var(--text-normal);
}
.deleted {
color: var(--text-on-accent);
background-color: var(--text-muted);
}
.op-scrollable {
overflow-y: scroll;
/* min-height: 280px; */
max-height: 280px;
user-select: text;
}
.op-pre {
white-space: pre-wrap;
}
.op-warn {
border: 1px solid salmon;
padding: 2px;
border-radius: 4px;
}
.op-warn::before {
content: "Warning";
font-weight: bold;
color: salmon;
position: relative;
display: block;
}
.op-warn-info {
border: 1px solid rgb(255, 209, 81);
padding: 2px;
border-radius: 4px;
}
.op-warn-info::before {
content: "Notice";
font-weight: bold;
color: rgb(255, 209, 81);
position: relative;
display: block;
}
.syncstatusbar {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
.tcenter {
text-align: center;
}
.sls-plugins-wrap {
display: flex;
flex-grow: 1;
max-height: 50vh;
overflow-y: scroll;
}
.sls-plugins-tbl {
border: 1px solid var(--background-modifier-border);
width: 100%;
max-height: 80%;
}
.divider th {
border-top: 1px solid var(--background-modifier-border);
}
/* .sls-table-head{
width:50%;
}
.sls-table-tail{
width:50%;
} */
.sls-header-button {
margin-left: 2em;
}
.sls-hidden {
display: none;
}
:root {
--slsmessage: "";
}
.CodeMirror-wrap::before,
.cm-s-obsidian>.cm-editor::before,
.canvas-wrapper::before {
content: attr(data-log);
text-align: right;
white-space: pre-wrap;
position: absolute;
border-radius: 4px;
/* border:1px solid --background-modifier-border; */
display: inline-block;
top: 8px;
color: --text-normal;
opacity: 0.5;
font-size: 80%;
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
.canvas-wrapper::before {
right: 48px;
}
.CodeMirror-wrap::before {
right: 0px;
}
.cm-s-obsidian>.cm-editor::before {
right: 16px;
}
.sls-setting-tab {
display: none;
}
div.sls-setting-menu-btn {
color: var(--text-normal);
background-color: var(--background-secondary-alt);
border-radius: 4px 4px 0 0;
padding: 6px 10px;
cursor: pointer;
margin-right: 12px;
font-family: "Inter", sans-serif;
outline: none;
user-select: none;
flex-grow: 1;
text-align: center;
flex-shrink: 1;
}
.sls-setting-label.selected {
/* order: 1; */
flex-grow: 1;
/* width: 100%; */
}
.sls-setting-tab:hover~div.sls-setting-menu-btn,
.sls-setting-label.selected .sls-setting-tab:checked~div.sls-setting-menu-btn {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.sls-setting-menu {
display: flex;
flex-direction: row;
/* flex-wrap: wrap; */
overflow-x: auto;
}
.sls-setting-label {
flex-grow: 1;
display: inline-flex;
justify-content: center;
}
.setting-collapsed {
display: none;
}
.sls-plugins-tbl-buttons {
text-align: right;
}
.sls-plugins-tbl-buttons button {
flex-grow: 0;
padding: 6px 10px;
}
.sls-plugins-tbl-device-head {
background-color: var(--background-secondary-alt);
color: var(--text-accent);
}
.op-flex {
display: flex;
}
.op-flex input {
display: inline-flex;
flex-grow: 1;
margin-bottom: 8px;
}
.op-info {
display: inline-flex;
flex-grow: 1;
border-bottom: 1px solid var(--background-modifier-border);
width: 100%;
margin-bottom: 4px;
padding-bottom: 4px;
}
.history-added {
color: var(--text-on-accent);
background-color: var(--text-accent);
}
.history-normal {
color: var(--text-normal);
}
.history-deleted {
color: var(--text-on-accent);
background-color: var(--text-muted);
text-decoration: line-through;
}
.ob-btn-config-fix label {
margin-right: 40px;
}
.ob-btn-config-info {
border: 1px solid salmon;
padding: 2px;
margin: 1px;
border-radius: 4px;
}
.ob-btn-config-head {
padding: 2px;
margin: 1px;
border-radius: 4px;
}
.isWizard .wizardHidden {
display: none;
}
.sls-setting:not(.isWizard) .wizardOnly {
display: none;
}
.sls-item-dirty::before {
content: "✏";
}

View file

@ -0,0 +1,61 @@
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __reflectGet = Reflect.get;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
// main.ts
var main_exports = {};
__export(main_exports, {
default: () => MarkdownSuffixPlugin
});
module.exports = __toCommonJS(main_exports);
var import_obsidian = require("obsidian");
var MarkdownSuffixPlugin = class extends import_obsidian.Plugin {
onload() {
return __async(this, null, function* () {
__superGet(MarkdownSuffixPlugin.prototype, this, "onload").call(this);
this.registerExtensions(["mdx", "svx"], "markdown");
});
}
};

View file

@ -0,0 +1,10 @@
{
"id": "obsidian-markdown-file-suffix",
"name": "Addional Markdown suffix (.mdx/.svx).",
"version": "1.0.0",
"minAppVersion": "0.10.12",
"description": "Use additional files like .mdx / .svx as if they were markdown.",
"author": "swissmation",
"authorUrl": "https://github.com/swissmation",
"isDesktopOnly": false
}

View file

@ -0,0 +1,8 @@
/*
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.
*/

View file

@ -0,0 +1,30 @@
{
"command_timeout": 5,
"templates_folder": "_templates",
"templates_pairs": [
[
"",
""
]
],
"trigger_on_file_creation": true,
"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": [
""
]
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,11 @@
{
"id": "templater-obsidian",
"name": "Templater",
"version": "2.4.1",
"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;
}

View file

@ -0,0 +1,3 @@
{
"folder": "_templates"
}

@ -0,0 +1 @@
Subproject commit be9db886ee504a5b261304a072efed8dd95477d9

View file

@ -0,0 +1,189 @@
{
"main": {
"id": "7663cfdec50a2e60",
"type": "split",
"children": [
{
"id": "88b63dcf6741e6f9",
"type": "tabs",
"children": [
{
"id": "4e7fb0fa8a91a644",
"type": "leaf",
"state": {
"type": "empty",
"state": {}
}
},
{
"id": "9906b890c36b6299",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "disorganized-notes.md",
"mode": "source",
"source": false
}
}
},
{
"id": "d09a5378edd6a804",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Cluster(fuck).md",
"mode": "source",
"source": false
}
}
}
],
"currentTab": 2
}
],
"direction": "vertical"
},
"left": {
"id": "f4b976b97e7fd228",
"type": "mobile-drawer",
"children": [
{
"id": "9a9092e5af389cad",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical"
}
}
},
{
"id": "2d68e3a0b9422237",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
}
}
},
{
"id": "5f7d922fec445f5f",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true
}
}
},
{
"id": "d6ada5d7cc6d1556",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
}
}
},
{
"id": "4a8876ca2b9a89ff",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {}
}
}
],
"currentTab": 0
},
"right": {
"id": "218c19081cc9759e",
"type": "mobile-drawer",
"children": [
{
"id": "960abadb2f6d83be",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "Cluster(fuck).md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
}
}
},
{
"id": "f1269aab005c7711",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "Cluster(fuck).md",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
}
},
{
"id": "e52f324db672aadb",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "Cluster(fuck).md"
}
}
}
],
"currentTab": 0
},
"left-ribbon": {
"hiddenItems": {
"templater-obsidian:Templater": 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": "d09a5378edd6a804",
"lastOpenFiles": [
"images/image-7.png",
"disorganized-notes.md",
"Cluster(fuck).md",
"gpg.md",
"_drafts/hypercomplex-interest.md",
"_drafts/olc-codes.md",
"hypercomplex-interest.md",
"_drafts/numbers.md",
"traefik-setup.mdx",
"traefik-setup.md",
"self-hosting.md",
"post-1.md",
"olc-codes.md",
"modern-unix.md",
"numbers.md",
"btrfs.md",
"Numbers.md",
"post-1.mdx"
]
}

View file

@ -0,0 +1,195 @@
{
"main": {
"id": "ab75e1a8295cbca5",
"type": "split",
"children": [
{
"id": "a4abf8e6b36b57d5",
"type": "tabs",
"children": [
{
"id": "a519de38d2e49486",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Cluster(fuck).md",
"mode": "source",
"source": false
}
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "bded18fe7fea77f1",
"type": "split",
"children": [
{
"id": "2aae19a12ff084d4",
"type": "tabs",
"children": [
{
"id": "e720579404769582",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical"
}
}
},
{
"id": "6ebf02f3e8539b39",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
}
}
},
{
"id": "8ebfcda9ac2bec1f",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {}
}
}
]
}
],
"direction": "horizontal",
"width": 200
},
"right": {
"id": "8305c95260129b96",
"type": "split",
"children": [
{
"id": "2fe64cfa3b21eac0",
"type": "tabs",
"children": [
{
"id": "96089a301fb95140",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "Cluster(fuck).md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
}
}
},
{
"id": "07b1190b9f080756",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "Cluster(fuck).md",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
}
},
{
"id": "7039859502237cad",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true
}
}
},
{
"id": "a83852de6ab674f8",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "Cluster(fuck).md"
}
}
},
{
"id": "b1ea4546b2c351a8",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
}
}
}
]
}
],
"direction": "horizontal",
"width": 300,
"collapsed": true
},
"left-ribbon": {
"hiddenItems": {
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
"canvas:Create new canvas": false,
"daily-notes:Open today's daily note": false,
"templates:Insert template": false,
"command-palette:Open command palette": false,
"templater-obsidian:Templater": false
}
},
"active": "a519de38d2e49486",
"lastOpenFiles": [
"traefik-setup.md",
"images/minecraft-srv-01.png",
"_drafts/olc-codes.md",
"_drafts/numbers.md",
"images/btrfs.md",
"_drafts/eigencode.md",
"_drafts/hypercomplex-interest.md",
"_drafts/luka_pona.md",
"_drafts/modern-unix.md",
"_drafts/monogatari.md",
"_drafts/nonfree.md",
"_drafts/self-hosting.md",
"_drafts/Wolfgrads bot.md",
"disorganized-notes.md",
"Cluster(fuck).md",
"gpg.md",
"modern-unix.md",
"post-1.md",
"self-hosting.md",
"_templates/post-template.md",
"test post.md",
"_templates",
"btrfs.sync-conflict-20240624-164405-EI6QHE3.md",
"btrfs.sync-conflict-20240624-164402-EI6QHE3.md",
"post-1.mdx",
"traefik-setup.mdx",
"drafts/self-hosting.md",
"drafts/modern-unix.md",
"drafts/Wolfgrads bot.md",
"drafts"
]
}

View file

@ -0,0 +1,41 @@
---
title: "Generating an SSH Resident Key"
author: "ArgentumCation"
layout: ../../layouts/Layout.astro
pubDate: "19 Mar, 2023"
slug: "post-1"
---
import { Accordion, AccordionItem } from "accessible-astro-components";
## Here's how to create a resident SSH Key using a security key
```bash
ssh-keygen -t ed25519-sk -Oresident
```
## If that one doesn't work,
```bash
ssh-keygen -t ed25519-sk -Oresident -Oapplication=ssh:key
```
{
// ```js
// import { defineConfig } from "astro/config";
// import mdx from "@astrojs/mdx";
// export default defineConfig({
// markdown: {
// syntaxHighlight: "prism",
// },
// integrations: [
// mdx({
// // Markdown config now ignored
// extendMarkdownConfig: true,
// // No `remarkPlugins` applied
// }),
// ],
// });
// ```
}

View file

@ -0,0 +1,143 @@
---
title: "Getting up and running with Traefik"
author: "ArgentumCation"
layout: ../../layouts/Layout.astro
pubDate: "03 Apr, 2023"
slug: "traefik-setup"
---
- Okay so you've got a server now and need a reverse proxy
- Traefik is pretty decent at that, it'll set up your HTTPS certs and auto generate routes from your docker images
- only problem is its an absolute bitch to set up
- Here's a stripped down `docker-compose.yml` to give you an idea of how I have it set up
- The end result should be a lighttpd server running on `blog.argentumcation.com`
```yaml
# Just setting some default values for my containers
x-service_defaults:
&service_defaults
env_file: .env
restart: unless-stopped
extra_hosts:
- host.docker.internal:host-gateway
services:
traefik:
<<: *service_defaults
container_name: traefik
env_file:
- .env
# Cloudflare API token to add new paths
- $ENV_DIR/traefik.secrets.env
hostname: traefik
image: traefik:latest
labels:
- traefik.http.services.traefik-docker.loadbalancer.server.port=8080
# For the management interface
- '8080:8080'
# To let traefik receive incoming HTTP traffic
- '80:80'
# To let traefik receive incoming HTTPS traffic
- '443:443'
volumes:
# This lets traefik see your docker services
- $DOCKER_SOCK:/var/run/docker.sock:ro
# Traefik Configs
- $CONF_DIR/traefik/traefik.yml:/traefik.yml
- $CONF_DIR/traefik/traefik_dynamic.yml:/etc/traefik/traefik_dynamic.yml
# Let's Encrypt folder (for storing HTTPS cert related stuff)
- $CONF_DIR/letsencrypt:/letsencrypt
# Example container we're proxying with traefik
lighttpd:
<<: *service_defaults
container_name: public_lighttpd
image: sebp/lighttpd
labels:
# This is the hostname that traefik will proxy to this container
- traefik.http.routers.lighttpd-docker.rule=Host(`blog.$PUBLIC`)
# This is the port the container is listening on, often traefik can detect this
# automatically, but we'll just be explicit here
- traefik.http.services.lighttpd-docker.loadbalancer.server.port=80
```
- `traefik.secrets.env` contains my cloudflare API key so that Traefik can automatically add DNS routes
- For reference, here's my `.env` file
```sh
# GENERAL
PUBLIC=argentumcation.com
TZ=America/New_York
#for container specific env vars
ENV_DIR=./env
CONF_DIR=./config
DOCKER_DIR=/home/mira/docker
DOCKER_SOCK=/var/run/docker.sock
# So my containers run as a non-root user
UID=1000
GID=1000
PUID=1000
PGID=1000
USER_UID=1000
USER_GID=1000
```
- And of course, the actual traefik configuration files:
- `traefik.yml`:
```yaml
accessLog:
filePath: ./traefik-access.log
api:
dashboard: true
debug: true
insecure: true
certificatesResolvers:
letsencrypt:
acme:
dnschallenge:
provider: cloudflare #look, I know, don't judge me
email: [redacted]
storage: /letsencrypt/acme.json
entryPoints:
web:
address: ":80"
forwardedHeaders:
insecure: true
http:
middlewares:
- https_redirect@file
websecure:
address: ":443"
forwardedHeaders:
insecure: true
http:
tls:
certresolver: letsencrypt
domains:
- main: argentumcation.com
sans:
- "*.argentumcation.com"
log:
level: INFO
providers:
docker:
# Routes will be set to [container-name].argentumcation.com by default
defaultRule: Host(`{{ index .Labels "com.docker.compose.service" }}.argentumcation.com`)
endpoint: unix:///var/run/docker.sock
exposedByDefault: true # exposes auto-discovered containers by default, not secure but I'm lazy
network: docker_default
watch: true
file:
directory: /etc/traefik/
watch: true
```
- `traefik-dynamic.yml`
```yaml
http:
middlewares: #This should redirect incoming http connections to https
https_redirect:
redirectscheme:
scheme: https
permanent: true
```

View file

@ -0,0 +1,37 @@
---
author: ArgentumCation
title: Cluster(fuck)
pubDate: 01 Jan, 1970
slug: cluster
---
| Hostname | IPv4 | Hardware | Function | OS | Arch | Cores | Ram | USB power? | Power |
| -------------- | ---- | -------------- | --------------- | -------------- | ------------------------ | ----- | ---- | ---------- | ------- |
| | -- | Meraki MR44 | | | | | | | 15/30W? |
| | 248 | Meraki MX68W | | | | | | | 19-87W |
| | | TODO | Switch | | | | | | |
| | | TODO | Switch | | | | | | |
| Amylin | 65 | Nest Pro | WAP | | | | | | |
| Auxin | 153 | | NAS | Nix | x86_64 | 8 | 48 | | |
| Cortisol | 119 | Framework 13 | Personal laptop | Arch | x86_64 | 16 | 32 | X | |
| Epinephrine | | | Desktop | Arch + Windows | x86_64 | TODO | TODO | | |
| Ethylene | 213 | Pi Zero W | | Raspi | arm | 1 | 0.5 | X | 1W |
| Florigen | 108 | Pixel 9 Pro XL | Phone | Android | aarch64 | | | X | |
| Galanin | 129 | Thinkpad x270 | | Nix | x86_64 | 4 | 16 | X | 45/65W |
| Gastrin | 187 | HP x360 G3 EE | Kitchen tablet | Nix | x86_64 | 2 | 4 | X | 45W |
| Histamine | 27 | iPad Air 2 | Tablet | iOS | aarch64 | | | \* | |
| Kinetin | | Milk V Duo | | Buildroot? | RV64<br>(or aarch64)<br> | TODO | 0.25 | X | 5W |
| Leptin | 117 | iMac | Darwin builds | mac | aarch64 | 8 | 8 | | |
| Melatonin | | Erista | Switch | Horizon | aarch64 | | | X | |
| Mellinoë | 226 | | Work laptop | | x86_64 | | | X | |
| Norepinephrine | 179 | | Phone | Android | aarch64 | | | X | |
| Orexin | 224 | Inspiron 7577 | | Nix | x86_64 | 8 | 16 | \* | 130W |
| Pectin | 79 | Ender 3 V3 | 3D printer | Klipper | | | | | |
| Relaxin | 182 | Pi B+ | | Raspi | arm | 1 | 0.5 | X | 2W |
| Rhodopsin | | | TV | | | | | | |
| Ribosome/mRNA | 64 | -- | | -- | -- | -- | -- | -- | -- |
| Strigolactone | 214 | Pi Pico W | power button | ESP32Home | | | | | |
| Vasopressin | 1 | Pi 4 | Router | OpenWRT | aarch64 | 4 | 8 | X | 6W |
| Zeatin | | Milk V Duo S | | Buildroot? | aarch64<br>(or RV64) | TODO | 0.5 | X | 5W |

View file

@ -0,0 +1 @@
- Okay so like the existence of Unicode is fucking based, and we have the Private Use Area (PUA) for things that the

View file

@ -0,0 +1,22 @@
- wan: 1
- tu: 2
- tawa: L
- kiwen: fist with extended thumb
- supa: flat, fingers together
- nena: fingers together, bent at knuckle
- sike: 0
- telo: fingers spread
- lili: ok
| english | toki pona | handshape | location | orientation | movement |
| ---------------- | --------- | --------- | ----------- | ----------- | ---------- |
| no/none | ala | supa | at shoulder | face down | |
| at/in/exist/true | lon | wan | | | flick down |
| which/what | seme | | | | |
| side/next to | poka | | | | |
| bump/hill/nose | nena | | | | |
| down | anpa | | | | |
| face/front | sinpin | | | | |
| hand/arm/five | luka | | | | |
| body/torso | sijelo | | | | |
| eyes | oko | | | | |

View file

@ -1,3 +1,36 @@
- 87G8P632+H8X2Q262
- 87000000+
- P632+
- P632+
> [!NOTE] foo
> bar
> [!TLDR] foo
> bar
> [!tip] foo
> bar
> [!done] foo
> bar
> [!faq] foo
> bar
> [!WARNING] foo
> bar
> [!fail] foo
> bar
> [!bug] foo
> bar
> [!example] foo
> bar
> [!quote] foo
> bar
> blockquote
>

View file

@ -0,0 +1,8 @@
---
title: <% tp.file.title %>
pubDate: <%tp.file.creation_date("YYYY-MM-DDTHH:mm:ssZ")%>
layout: ../../layouts/Layout.astro
slug: <% encodeURI(tp.file.title.toLowerCase().replaceAll(/[ -]/g,'_')) %>
author: ArgentumCation
---
# <% tp.file.title %>

View file

@ -7,38 +7,46 @@ slug: disorganized-notes
---
# NixOS/Nix
- Show channels: `sudo nix-channel --list`
- add unstable channel: `sudo nix-channel --add https://nixos.org/channels/nixpkgs-unstable unstable`
- update repos: `sudo nix-channel --update; sudo nix search -u`
---
# Vim
- Sort selected lines: `:sort`
- Open man page: `:man [command]` or `\K`
- Open URL: `gx`
- Move between splits: `ctrl+w [direction]`
- [vim-commentary](https://github.com/tpope/vim-commentary): `gc [motion]` to comment out
- Case switching:
- `gU` to uppercase
- `gu` to lowercase
-`g~` to toggle
- [vim-commentary](https://github.com/tpope/vim-commentary): `gc [motion]` to comment out
- Case switching:
- `gU` to uppercase
- `gu` to lowercase -`g~` to toggle
- Substitute:
- `/g` **global** - sub all in line
- `:%s/` - substitute in all lines
- `:5,12s/` substitute from lines 5 to 12
- `:.,+2s/` substitute this line (`.`) and the next 2
- `:g/^foo/s/bar/baz/g` substitute all instances of bar with baz on lines beginning with foo
- `/c` - ask for confirmation
- `/g` **global** - sub all in line
- `:%s/` - substitute in all lines
- `:5,12s/` substitute from lines 5 to 12
- `:.,+2s/` substitute this line (`.`) and the next 2
- `:g/^foo/s/bar/baz/g` substitute all instances of bar with baz on lines beginning with foo
- `/c` - ask for confirmation
- Windows
- `:sp [filename]` horizontal split, optionally open file
- `vsp` vertical split
- `ctrl+w w` move between windows
- `ctrl+w =` resize windows to be equal
- `ctrl+w q` close window
- `ctrl+w <direction>` move window
- `:sp [filename]` horizontal split, optionally open file
- `vsp` vertical split
- `ctrl+w w` move between windows
- `ctrl+w =` resize windows to be equal
- `ctrl+w q` close window
- `ctrl+w <direction>` move window
# McFly
---
# SSH
- Set up port forwarding in existing connection:
```sh
$ ~C
ssh> -D [port number]
@ -47,8 +55,59 @@ ssh> -D [port number]
$
```
---
# Shell
- `!!:s/foo/bar/`, replace first instance of `foo` with `bar` in the previous command
- `^foo^bar` same thing but shorter and less flexible
- `!foo` rerun last command containing `foo`
-
---
# K8s
- **Pod**: Group of containers
- Seems like this is what gets distributed across nodes
- Seems like this is the same as an **application**
- **Service**: handles networking for applications
- **Helm**: the package manager
- k3s is a lighter weight version
- kind runs k8s in docker
- minikube is another option, maintained by k8s, supports more arches
- in this case, armv6
- still looking for rv32/rv64
- `kubectl get nodes`
- `kubectl expose`
- `--type=NodePort` picks an ephermal ingress port
- allows external access?
- seems to create the service?
- `kubectl get`: basic info
- `kubectl describe`: more info
- `kubectl create deployment ribosome --image 'pihole/pihole'`
- does idek
- seems to pull and run the image
- deployment
- `spec.repilicas`: how many instances of the container?
- `minikube docker-env` does fuckery to let you use docker with k8s
- `kube-vip` is used for failover?
- Helm is package manager for k8s
- `helm repo add` for adding repos
- `helm repo update`
---
# Keepalived
- don't ever use use_vmac, it's fucky
---
# Seaweedfs
- mount: `weed mount -filer=localhost:8888 -dir=/weed -filer.path=/`
- master: `weed server -master.port=9333 -volume.port=8081 -dir="/mnt" -filer=true`

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB