diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json
index ca3efa2..b1731de 100644
--- a/.obsidian/community-plugins.json
+++ b/.obsidian/community-plugins.json
@@ -3,5 +3,6 @@
"obsidian-git",
"obsidian-style-settings",
"obsidian-projects",
- "obsidian-kanban"
+ "obsidian-kanban",
+ "editor-width-slider"
]
\ No newline at end of file
diff --git a/.obsidian/plugins/editor-width-slider/data.json b/.obsidian/plugins/editor-width-slider/data.json
new file mode 100644
index 0000000..8c62ebf
--- /dev/null
+++ b/.obsidian/plugins/editor-width-slider/data.json
@@ -0,0 +1,4 @@
+{
+ "sliderPercentage": "100",
+ "sliderWidth": "150"
+}
\ No newline at end of file
diff --git a/.obsidian/plugins/editor-width-slider/main.js b/.obsidian/plugins/editor-width-slider/main.js
new file mode 100644
index 0000000..d9da574
--- /dev/null
+++ b/.obsidian/plugins/editor-width-slider/main.js
@@ -0,0 +1,142 @@
+/*
+THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
+if you want to view the source, please visit the github repository of this plugin
+*/
+
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+// main.ts
+var main_exports = {};
+__export(main_exports, {
+ default: () => EditorWidthSlider
+});
+module.exports = __toCommonJS(main_exports);
+var import_obsidian = require("obsidian");
+var DEFAULT_SETTINGS = {
+ sliderPercentage: "20",
+ sliderWidth: "150"
+};
+var EditorWidthSlider = class extends import_obsidian.Plugin {
+ // most important function, this gets executed everytime the plugin is first
+ // loaded, e.g. when obsidian starts, or when the user just installed the
+ // plugin
+ async onload() {
+ await this.loadSettings();
+ this.addStyle();
+ this.createSlider();
+ this.addSettingTab(new EditorWidthSliderSettingTab(this.app, this));
+ }
+ onunload() {
+ this.cleanUpResources();
+ }
+ // ---------------------------- SLIDER -------------------------------------
+ createSlider() {
+ const slider = document.createElement("input");
+ slider.classList.add("editor-width-slider");
+ slider.type = "range";
+ slider.min = "0";
+ slider.max = "100";
+ slider.value = this.settings.sliderPercentage;
+ slider.style.width = this.settings.sliderWidth + "px";
+ slider.addEventListener("input", (event) => {
+ const value = parseInt(slider.value);
+ this.settings.sliderPercentage = value.toString();
+ this.saveSettings();
+ this.updateEditorStyle();
+ sliderValueText.textContent = value.toString();
+ console.log("Slider value:", value);
+ });
+ const sliderValueText = document.createElement("span");
+ sliderValueText.textContent = slider.value;
+ sliderValueText.classList.add("editor-width-slider-value");
+ sliderValueText.style.marginLeft = "5px";
+ const statusBarItemEl = this.addStatusBarItem();
+ statusBarItemEl.appendChild(slider);
+ statusBarItemEl.appendChild(sliderValueText);
+ }
+ // ---------------------------- SLIDER -------------------------------------
+ cleanUpResources() {
+ this.resetEditorWidth();
+ }
+ resetEditorWidth() {
+ const value = 0;
+ this.settings.sliderPercentage = value.toString();
+ this.saveSettings();
+ this.updateEditorStyle();
+ }
+ // add the styling elements we need
+ addStyle() {
+ const css = document.createElement("style");
+ css.id = "additional-editor-css";
+ document.getElementsByTagName("head")[0].appendChild(css);
+ document.body.classList.add("additional-editor-css");
+ this.updateEditorStyle();
+ }
+ // update the styles (at the start, or as the result of a settings change)
+ updateEditorStyle() {
+ const styleElement = document.getElementById("additional-editor-css");
+ if (!styleElement)
+ throw "additional-editor-css element not found!";
+ else {
+ styleElement.innerText = `
+ body {
+ --file-line-width: calc(700px + 10 * ${this.settings.sliderPercentage}px);
+ }
+ `;
+ }
+ }
+ // update the styles (at the start, or as the result of a settings change)
+ updateSliderStyle() {
+ const styleElements = document.getElementsByClassName("editor-width-slider");
+ if (styleElements.length === 0) {
+ throw new Error("editor-width-slider-value element not found!");
+ } else {
+ const styleElement = styleElements[0];
+ styleElement.style.width = this.settings.sliderWidth + "px";
+ }
+ }
+ // Method to load settings
+ async loadSettings() {
+ this.settings = Object.assign(
+ {},
+ DEFAULT_SETTINGS,
+ await this.loadData()
+ );
+ }
+ // Method to store settings
+ async saveSettings() {
+ await this.saveData(this.settings);
+ }
+};
+var EditorWidthSliderSettingTab = class extends import_obsidian.PluginSettingTab {
+ constructor(app, plugin) {
+ super(app, plugin);
+ this.plugin = plugin;
+ }
+ // this.settings.sliderWidth
+ display() {
+ const { containerEl } = this;
+ containerEl.empty();
+ new import_obsidian.Setting(containerEl).setName("Slider Width").setDesc("How wide do you want your slider to be?").addText((text) => text.setPlaceholder("Enter your secret").setValue(this.plugin.settings.sliderWidth).onChange(async (value) => {
+ this.plugin.settings.sliderWidth = value;
+ this.plugin.updateSliderStyle();
+ await this.plugin.saveSettings();
+ }));
+ }
+};
diff --git a/.obsidian/plugins/editor-width-slider/manifest.json b/.obsidian/plugins/editor-width-slider/manifest.json
new file mode 100644
index 0000000..ca897bc
--- /dev/null
+++ b/.obsidian/plugins/editor-width-slider/manifest.json
@@ -0,0 +1,11 @@
+{
+ "id": "editor-width-slider",
+ "name": "Editor Width Slider",
+ "version": "1.0.3",
+ "minAppVersion": "0.15.0",
+ "description": "Customize Obsidian's editor width with a slider for a tailored editing experience.",
+ "author": "@MugishoMp",
+ "authorUrl": "https://github.com/MugishoMp",
+ "fundingUrl": "https://www.paypal.com/donate/?hosted_button_id=E4APAMMHVJE4N",
+ "isDesktopOnly": true
+}
diff --git a/.obsidian/plugins/editor-width-slider/styles.css b/.obsidian/plugins/editor-width-slider/styles.css
new file mode 100644
index 0000000..71cc60f
--- /dev/null
+++ b/.obsidian/plugins/editor-width-slider/styles.css
@@ -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.
+
+*/
diff --git a/.obsidian/plugins/obsidian-kanban/data.json b/.obsidian/plugins/obsidian-kanban/data.json
index 9528e09..918a70c 100644
--- a/.obsidian/plugins/obsidian-kanban/data.json
+++ b/.obsidian/plugins/obsidian-kanban/data.json
@@ -7,5 +7,6 @@
"archive-with-date": true,
"append-archive-date": true,
"date-picker-week-start": 1,
- "new-note-folder": "projects"
+ "new-note-folder": "projects",
+ "lane-width": 350
}
\ No newline at end of file
diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json
index a266b62..15fd0b3 100644
--- a/.obsidian/workspace.json
+++ b/.obsidian/workspace.json
@@ -8,12 +8,24 @@
"type": "tabs",
"children": [
{
- "id": "4329c114501dfabc",
+ "id": "1528e2a394386e35",
"type": "leaf",
"state": {
"type": "kanban",
"state": {
- "file": "projects/todos.md"
+ "file": "projects/personal-page.md"
+ }
+ }
+ },
+ {
+ "id": "cf53b9feaa2c17f6",
+ "type": "leaf",
+ "state": {
+ "type": "markdown",
+ "state": {
+ "file": "projects/personal-page.md",
+ "mode": "source",
+ "source": false
}
}
}
@@ -46,7 +58,7 @@
"state": {
"type": "search",
"state": {
- "query": "tag:#homelab",
+ "query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
@@ -84,7 +96,7 @@
"state": {
"type": "backlink",
"state": {
- "file": "projects/todos.md",
+ "file": "projects/personal-page.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
@@ -101,7 +113,7 @@
"state": {
"type": "outgoing-link",
"state": {
- "file": "projects/todos.md",
+ "file": "projects/personal-page.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
@@ -124,7 +136,7 @@
"state": {
"type": "outline",
"state": {
- "file": "projects/todos.md"
+ "file": "projects/personal-page.md"
}
}
},
@@ -156,15 +168,21 @@
"obsidian-projects:Open projects": false
}
},
- "active": "4329c114501dfabc",
+ "active": "8d7dca2686874e38",
"lastOpenFiles": [
- "projects/todos-notes/Rewrite neovim config.md",
"projects/todos.md",
"projects/todos-notes/Update tmux config.md",
"projects/todos-notes/Update keyboard config.md",
- "projects/todos-notes/Update dots.md",
- "projects/todos-notes/Improve dev tools.md",
+ "projects/radio.md",
+ "projects/personal-page-notes/Dev Stack.md",
+ "projects/radio-notes",
"projects/personal-page.md",
+ "projects/todos-notes/Update dots.md",
+ "projects/project-deas.md",
+ "projects/todos-notes/Improve dev tools.md",
+ "projects/todos-notes/Improve VPN setup.md",
+ "projects/todos-notes/Setup notification services.md",
+ "projects/todos-notes/Rewrite neovim config.md",
"templates/todo.md",
"projects/homelab-notes/Untitled",
"blog/Pokerus Project.md",
@@ -172,7 +190,6 @@
"projects/todos-notes",
"projects/personal-page-notes/Landing Page.md",
"notes/utils/React.md",
- "projects/personal-page-notes/Dev Stack.md",
"notes/thoughts/Misc.md",
"notes/utils/Email.md",
"notes/thoughts/Work.md",
@@ -183,17 +200,11 @@
"notes/thoughts/Self Steam.md",
"notes/thoughts/Design.md",
"blog",
- "projects/personal-page-notes/Landing_Page.excalidraw.md",
- "notes/daily/2023-08-11.md",
- "notes/daily/2023-08-10.md",
"projects/personal-page-notes/Landing_Page.excalidraw",
- "Dev Stack.md",
"projects/notes/Untitled",
"projects/personal-page-notes",
- "projects/Cool Websites.md",
"projects/personal-page",
"boards",
- "projects",
"Untitled.canvas"
]
}
\ No newline at end of file
diff --git a/projects/personal-page-notes/Dev Stack.md b/projects/personal-page-notes/Dev Stack.md
index 777b4c1..385d667 100644
--- a/projects/personal-page-notes/Dev Stack.md
+++ b/projects/personal-page-notes/Dev Stack.md
@@ -1,3 +1,2 @@
| Type | Tech |
| -------- | -------- |
-| Framework | [Astro](https://docs.astro.build/en/getting-started/) |
diff --git a/projects/personal-page.md b/projects/personal-page.md
index ec82c3c..ae26db8 100644
--- a/projects/personal-page.md
+++ b/projects/personal-page.md
@@ -8,6 +8,7 @@ kanban-plugin: basic
- [ ] [Cool Websites](Cool%20Websites.md)
- [ ] [Dev Stack](Dev%20Stack.md)
+- [ ] CI/CD
- content -> send build to page
- page -> update submodule and build
## Backlog
diff --git a/projects/project-deas.md b/projects/project-deas.md
new file mode 100644
index 0000000..457564e
--- /dev/null
+++ b/projects/project-deas.md
@@ -0,0 +1,29 @@
+---
+
+kanban-plugin: basic
+
+---
+
+## Backlog
+
+- [ ] Game recomendations for non gamers
+- [ ] TUI Database Admin
+
+
+## Discarted
+
+**Complete**
+
+
+## Move to own project
+
+**Complete**
+
+
+
+
+%% kanban:settings
+```
+{"kanban-plugin":"basic","show-checkboxes":false}
+```
+%%
\ No newline at end of file
diff --git a/projects/radio.md b/projects/radio.md
new file mode 100644
index 0000000..9ae96b7
--- /dev/null
+++ b/projects/radio.md
@@ -0,0 +1,45 @@
+---
+
+kanban-plugin: basic
+
+---
+
+## Reference
+
+- [ ] [Dev Stack](Dev%20Stack.md)
+- [ ] Features
* Docker Service
* REST API
* Web UI
* HTTP Audio Stream
* File Scan to get the path to audio files
* Playlists
* Schedule Playlists
* Repeat Schedule
* upload files?
+- [ ] Similar projects
* [Navidrome](https://www.navidrome.org)
* [Azuracast](https://www.azuracast.com/)
* [Cadence](https://github.com/kenellorando/cadence) (Use Icecast and Liquidsoap)
* [forte](https://github.com/kaangiray26/forte)
+
+
+## Backlog
+
+
+
+## Need Research
+
+
+
+## Design
+
+
+
+## Ready to Work
+
+
+
+## Doign
+
+
+
+## Done
+
+**Complete**
+
+
+
+
+%% kanban:settings
+```
+{"kanban-plugin":"basic","new-note-folder":"projects/radio-notes"}
+```
+%%
\ No newline at end of file
diff --git a/projects/todos-notes/Improve VPN setup.md b/projects/todos-notes/Improve VPN setup.md
new file mode 100644
index 0000000..9efb852
--- /dev/null
+++ b/projects/todos-notes/Improve VPN setup.md
@@ -0,0 +1,8 @@
+- How to wireguard works??
+- How to properly setup wireguard
+ - maybe use cli from router instead of gui?
+
+---
+
+## References
+- [link](...)
\ No newline at end of file
diff --git a/projects/todos-notes/Setup notification services.md b/projects/todos-notes/Setup notification services.md
new file mode 100644
index 0000000..8579e3f
--- /dev/null
+++ b/projects/todos-notes/Setup notification services.md
@@ -0,0 +1,10 @@
+- [x] Apprise -> Centralize notification sender to a lot of message platforms
+- [ ] [Mailrise](https://github.com/YoRyan/mailrise) -> companion service to transform SMTP into apprise notifications
+- [x] Signal notification
+- [ ] Email notifications
+- [ ] [ntfy.sh](https://docs.ntfy.sh/install/)
+
+---
+
+## References
+- [link](...)
\ No newline at end of file
diff --git a/projects/todos-notes/Update keyboard config.md b/projects/todos-notes/Update keyboard config.md
index b00d1ae..8a0b9a6 100644
--- a/projects/todos-notes/Update keyboard config.md
+++ b/projects/todos-notes/Update keyboard config.md
@@ -8,7 +8,8 @@
* [ ] Close pair symbol with double tap?
* [ ] Macropad, accesible without looking, add it to GAME layer left bottom row
* [ ] Swap CTRL - GUI for Mac - Linux
-
+- [ ] Macro that create aliases in terminal (usefull for remote servers)
+
---
## References
diff --git a/projects/todos-notes/Update tmux config.md b/projects/todos-notes/Update tmux config.md
index ad1ea61..dad6b45 100644
--- a/projects/todos-notes/Update tmux config.md
+++ b/projects/todos-notes/Update tmux config.md
@@ -1,6 +1,7 @@
- [ ] Join split panes
- https://unix.stackexchange.com/questions/14300/moving-tmux-pane-to-window/14301#14301
- https://stackoverflow.com/questions/9592969/tmux-how-to-join-two-tmux-windows-into-one-as-panes
+- [ ] toggle floating window with terminal (ala zellij)
---
diff --git a/projects/todos.md b/projects/todos.md
index 052dd58..36ef422 100644
--- a/projects/todos.md
+++ b/projects/todos.md
@@ -9,6 +9,8 @@ kanban-plugin: basic
- [ ] [Update keyboard config](Update%20keyboard%20config.md)
- [ ] [Update tmux config](Update%20tmux%20config.md)
- [ ] Try out Wezterm
+- [ ] [Setup notification services](Setup%20notification%20services.md)
+- [ ] Create tmux shortcut for obsidian repo in tablet
## Need Research
@@ -16,15 +18,21 @@ kanban-plugin: basic
- [ ] [Improve Remote Access Setup](Improve%20Remote%20Access%20Setup.md)
- [ ] [Improve dev tools](Improve%20dev%20tools.md)
- [ ] Write guide to clean linux system
+- [ ] [Improve VPN setup](Improve%20VPN%20setup.md)
+- [ ] Shinto
+- [ ] Write better commit messages
+- [ ] Look into grandia 2
-## Ready to Work
+## Ready to Work (5)
- [ ] Move repos out of github
- [ ] Try out [githui](https://github.com/extrawurst/gitui)
+- [ ] Problem solving process #blog #wiki
+- [ ] Neovim cheatsheet #wiki #blog
-## Doign
+## Doign (3)
- [ ] [Rewrite neovim config](Rewrite%20neovim%20config.md)
- [ ] [Update dots](Update%20dots.md)
@@ -39,6 +47,6 @@ kanban-plugin: basic
%% kanban:settings
```
-{"kanban-plugin":"basic","new-note-folder":"projects/todos-notes","new-note-template":"templates/todo.md"}
+{"kanban-plugin":"basic","new-note-folder":"projects/todos-notes","new-note-template":"templates/todo.md","hide-tags-in-title":true,"tag-colors":[{"tagKey":"","color":"","backgroundColor":""}],"metadata-keys":[{"metadataKey":"test","label":"TEST","shouldHideLabel":false,"containsMarkdown":false}]}
```
%%
\ No newline at end of file