commit bb59142d2f5c07999f07cdc91f6a813cbcb71c46 Author: tcsenpai Date: Sun Apr 20 18:39:22 2025 +0200 added screenshot diff --git a/README.md b/README.md new file mode 100644 index 0000000..931ef9d --- /dev/null +++ b/README.md @@ -0,0 +1,83 @@ +The Ember Index is a gentle system for tracking and revisiting your suspended fixations — creative projects, intellectual obsessions, half-finished builds, forgotten puzzles, abandoned sparks. + +## Structure + +Each fixation lives in its own note. + +Once added to the system, it can be “evoked” randomly through a ritual command or a click of a button. + +Creating a fixation can be done by clicking a button too. + +When you summon a fragment: + +- A random fixation is selected + +- Its link appears inside your Ember Index note + +- A timestamp is added to mark the moment of return + +- The event is logged in a ritual register for future reflection + + +You can revisit the ember, reignite it, or gently return it to sleep — without guilt, without pressure. + +It's not a todo list. +It’s a memory temple for the parts of you that once burned brightly. + + +--- + +## ⚙️ Prerequisites & Setup + +To make The Ember Index fully functional, you’ll need two community plugins: + +### 1. [Templater](https://github.com/SilentVoid13/Templater) + +Used to execute the logic behind each ritual (random selection, timestamping, logging, file editing). + +- Install **Templater** from the Community Plugins section + +- Go to `Settings → Templater → Template folder location` + → Set your desired folder (e.g. `Templates/`; this is the suggested default for plug-and-play with this repository) + + **NOTE**: If you chose another folder, please change the `Templates` references in the step below with your configured folder + +- Make sure “Trigger Templater on file creation” is **off** (optional but recommended) + +- Go to `Settings → Templater → Template Hotkeys` and add a reference to `Templates/invokefixation.md` + (you don’t need to assign a hotkey — just register the path; adjust it if you use a custom template folder) + +- Do the same for `Templates/Fixation_base.md` + (you don’t need to assign a hotkey — just register the path; adjust it if you use a custom template folder) + +**IMPORTANT**: Make sure to copy `invokefixation.md` and `Fixation_base.md` from this repository’s `Templates` folder into your configured Templater folder. + +--- + +### 2. [Buttons](https://github.com/shabegom/obsidian-buttons) + +Used to add clickable buttons for summoning fragments inside your notes. + +- Install **Buttons** from Community Plugins + +- No setup required — just make sure your notes are in **Reading Mode** to see and use buttons properly + + +--- + +### 🧪 First-time Setup Steps + +1. **Copy the folder `The Ember Index` from this repository into your Obsidian vault** + +2. Inside it, populate the `fixations/` folder with your personal suspended projects (see format below) + +3. Each fixation should be a single `.md` file (e.g. `escape-box.md`) inside the `fixations/` folder + + +**IMPORTANT**: If you are not using the default `Templates/` folder for Templater, be sure to update the `Invoke Scroll` buttons code accordingly to match your custom path. + +--- + +## Usage + +Once configured, just open the `Invokation Scroll` as any other note and use the buttons to interact with the system. \ No newline at end of file diff --git a/Templates/Fixation_base.md b/Templates/Fixation_base.md new file mode 100644 index 0000000..26534a7 --- /dev/null +++ b/Templates/Fixation_base.md @@ -0,0 +1,33 @@ + +> **Status**: +> **Location**: +> **Last Interaction**: +> **Sigils**: +> **Tag**: + +--- + +### 📝 Notes + +Write here your notes… + +--- + +
+ ⟡ 𓂀 Part of The Ember Index ⟡ +
+ +
+ + +<%* + const folder = "The Ember Index/fixations"; + const title = await tp.system.prompt("What is the title?"); + const filename = `${title}`; + await tp.file.rename(filename); + await tp.file.move(`${folder}/${filename}`); + // Replacing title + +// const updatedContent = tp.file.content.replace("# Name", `# ${title}`); +// await this.app.vault.modify(tp.file, updatedContent); +%> \ No newline at end of file diff --git a/Templates/invokefixation.md b/Templates/invokefixation.md new file mode 100644 index 0000000..8e7d74e --- /dev/null +++ b/Templates/invokefixation.md @@ -0,0 +1,44 @@ +<%* +const folder = "The Ember Index/fixations"; +const files = app.vault.getMarkdownFiles().filter(f => f.path.startsWith(folder)); +const random = files[Math.floor(Math.random() * files.length)]; +const timestamp = tp.date.now("YYYY-MM-DD HH:mm"); + +const invokation = [ + "%% SCROLL-OF-INVOKATION-BEGINS %%", + "## 🔥 Invoked Shard", + "", + `✨ [[${random.basename}]]`, + `🕒 ${timestamp}`, + "%% SCROLL-OF-INVOKATION-ENDS %%" +].join("\n"); + +const currentFile = tp.file.find_tfile(tp.file.title); +const content = await app.vault.read(currentFile); + +const regex = /%% SCROLL-OF-INVOKATION-BEGINS %%[\s\S]*?%% SCROLL-OF-INVOKATION-ENDS %%/g; + +let newContent = ""; + +if (regex.test(content)) { + newContent = content.replace(regex, invokation.trim()); +} else { + newContent = content.trimEnd() + "\n\n" + invokation; +} + +await app.vault.modify(currentFile, newContent); + +// Registering in the register + +const date = tp.date.now("YYYY-MM-DD HH:mm"); +const logPath = "The Ember Index/register.md"; + +// Trova il file reale nel vault +const logFile = app.vault.getAbstractFileByPath(logPath); + +if (logFile) { + const logEntry = `### 📅 ${date}\Invoked: [[${random.basename}]]\n\n`; + await app.vault.append(logFile, logEntry); +} + +%> diff --git a/The Ember Index/Invokation Scroll.md b/The Ember Index/Invokation Scroll.md new file mode 100644 index 0000000..8b4aec8 --- /dev/null +++ b/The Ember Index/Invokation Scroll.md @@ -0,0 +1,30 @@ +# 𓂀 The Ember Index + +**Welcome to your sanctuary of suspended passions.** + +> Every dormant fragment is a small ember waiting to be rekindled. + +Press the button to invoke a Shard of Passion + +```button +name 🔥 Invoke a Shard of Passion +type command +action Templater: Insert Templates/invokefixation.md +``` + +```button +name 🔥 Create a New Fixation +type command +action Templater: Create Templates/Fixation_base.md +``` + +--- +…or open the 🕯️ [[Registry]] 🕯️ and reflect. + +
+ +
+ ⟡ Curated by your obsessions ⟡ +
+ +
diff --git a/The Ember Index/Registry.md b/The Ember Index/Registry.md new file mode 100644 index 0000000..e69de29