added screenshot

This commit is contained in:
tcsenpai 2025-04-20 18:39:22 +02:00
commit bb59142d2f
5 changed files with 190 additions and 0 deletions

83
README.md Normal file
View File

@ -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.
Its a memory temple for the parts of you that once burned brightly.
---
## ⚙️ Prerequisites & Setup
To make The Ember Index fully functional, youll 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 dont 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 dont 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 repositorys `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.

View File

@ -0,0 +1,33 @@
> **Status**:
> **Location**:
> **Last Interaction**:
> **Sigils**:
> **Tag**:
---
### 📝 Notes
Write here your notes…
---
<div style="text-align:center; font-size: 0.9em; opacity: 0.6;">
⟡ 𓂀 Part of The Ember Index ⟡
</div>
<hr>
<%*
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);
%>

View File

@ -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);
}
%>

View File

@ -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.
<hr>
<div style="text-align:center; font-size: 0.85em; opacity: 0.6;">
⟡ Curated by your obsessions ⟡
</div>
<hr>

View File