Skip to content

Commit 4ca9914

Browse files
committed
upgrade glyph-miO to v2.7 service-based runtime
Extract metadata and summary services, add summary lifecycle modes with cached analysis, and refresh plugin docs/landing plus release packaging for modular runtime files.
1 parent 34fb3fa commit 4ca9914

13 files changed

Lines changed: 1131 additions & 430 deletions

File tree

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
node glyph-s/scripts/bundle-cjs.mjs 2>/dev/null || true
1515
- name: Pack plugin
1616
run: |
17-
zip -r glyph-mio.zip manifest.json main.js styles.css versions.json vendor LICENSE README.md
17+
zip -r glyph-mio.zip manifest.json main.js styles.css versions.json vendor services LICENSE README.md
1818
- uses: softprops/action-gh-release@v2
1919
with:
2020
files: glyph-mio.zip

README.md

Lines changed: 37 additions & 190 deletions
Original file line numberDiff line numberDiff line change
@@ -2,214 +2,61 @@
22
<a href="https://obsidian.md/"><img src="https://obsidian.md/images/obsidian-logo-gradient.svg" width="72" alt="Obsidian" /></a>
33
</p>
44

5-
<h1 align="center">glyph-miO 2.3</h1>
5+
<h1 align="center">glyph-miO 2.7</h1>
66

77
<p align="center">
8-
<img src="https://img.shields.io/badge/Obsidian-Plugin-7c3aed" alt="Obsidian plugin" />
9-
<img src="https://img.shields.io/badge/Glyph--MI-2.3-green" alt="Glyph-MI 2.3" />
10-
<img src="https://img.shields.io/badge/version-2.3.0-blue" alt="version 2.3.0" />
11-
<img src="https://img.shields.io/badge/offline--first-brightgreen" alt="offline first" />
12-
<img src="https://img.shields.io/badge/Ollama-optional-orange" alt="Ollama optional" />
13-
<img src="https://img.shields.io/badge/license-GPL--3.0-lightgrey" alt="GPL-3.0" />
8+
<a href="https://flokestudio.github.io/glyph-miO/">Site</a> ·
9+
<a href="README.ru.md">README.ru</a> ·
10+
<a href="https://github.com/FlokeStudio/glyph-sO">glyph-sO</a>
1411
</p>
1512

16-
<p align="center">
17-
<strong>Metadata Intelligence for Obsidian</strong> — analyze notes, suggest tags, insert a <em>short retelling</em> at the end of the note.<br/>
18-
Works offline; local LLM via <a href="https://ollama.com/">Ollama</a> is optional.
19-
</p>
20-
21-
<p align="center">
22-
<a href="README.ru.md">🇷🇺 Русская документация</a>
23-
·
24-
<a href="https://flokestudio.github.io/glyph-miO/">Site</a>
25-
·
26-
<a href="https://github.com/FlokeStudio/glyph-sO">glyph-sO</a> (vault search)
27-
·
28-
<a href="https://github.com/FlokeStudio/glyph-mi">glyph-mi</a> (Senza)
29-
</p>
30-
31-
---
32-
33-
## What is glyph-miO?
34-
35-
**glyph-miO** is a free **community plugin for [Obsidian](https://obsidian.md/)**. It looks at the **currently open note** and helps you:
36-
37-
- understand it at a glance (**word count**, links, headings),
38-
- get **suggested `#tags`** (click to insert at the cursor),
39-
- add a **short summary (retelling)** — not just keywords, but sentences that describe what the note is about,
40-
- place that summary **clearly at the end of the note** in a callout block you can jump back to later.
41-
42-
It is the Obsidian face of **Glyph Metadata Intelligence (MI) 2.3**. No cloud account, no npm build step.
43-
44-
If you only need “find a word in my vault”, install **[glyph-sO](https://github.com/FlokeStudio/glyph-sO)** first. Many people use **both**: sO finds the note, miO summarizes it.
45-
46-
---
47-
48-
## What you get (vs “just tags”)
49-
50-
| Feature | What it does |
51-
|---------|----------------|
52-
| **Analyze** | Stats + **draft summary preview** in the panel before you insert anything |
53-
| **Tag chips** | Suggested tags from headings and word frequency — click to insert `#tag` |
54-
| **Insert summary** | Adds a **retelling** (3–5 sentences with Ollama, or extractive offline) at the **bottom** of the active note |
55-
| **Go to summary / Jump command** | Scroll to the last Glyph summary block |
56-
| **Copy #tags** | Copy suggested tags to the clipboard |
57-
58-
**Offline summary** picks the most informative sentences from your note (extractive method).
59-
**Ollama summary** writes a smoother paraphrase in the note’s language — only if Ollama is running and the model responds.
60-
61-
---
62-
63-
## Install (first time)
64-
65-
### Step 1 — Enable community plugins in Obsidian
66-
67-
1. **Settings → Community plugins**
68-
2. Disable **Restricted mode** if needed
69-
3. **Turn on community plugins**
70-
71-
### Step 2 — Install glyph-miO
72-
73-
#### A) Manual install
74-
75-
1. Download or clone [this repository](https://github.com/FlokeStudio/glyph-miO).
76-
2. In your vault: `.obsidian/plugins/glyph-mi-o/` (create folders if missing).
77-
3. Copy into that folder:
78-
- `manifest.json`
79-
- `main.js`
80-
- `styles.css`
81-
82-
```
83-
YourVault/
84-
.obsidian/
85-
plugins/
86-
glyph-mi-o/
87-
manifest.json
88-
main.js
89-
styles.css
90-
```
91-
92-
4. Enable **glyph-miO 2.3** under community plugins.
93-
5. **Ctrl+R** to reload Obsidian.
94-
95-
#### B) BRAT
96-
97-
**BRAT****Add Beta plugin**`FlokeStudio/glyph-miO` → enable → reload.
98-
99-
#### C) Git
100-
101-
```bash
102-
cd /path/to/YourVault/.obsidian/plugins
103-
git clone https://github.com/FlokeStudio/glyph-miO.git glyph-mi-o
104-
```
105-
106-
---
107-
108-
## First steps after install
109-
110-
1. Open **any markdown note** (daily note, journal, project doc).
111-
2. Click the **sparkles ✨** icon on the left ribbon **or** run **`Glyph: open MI panel`** from the command palette (`Ctrl+P`).
112-
3. Click **Analyze** — you should see title, word count, headings, tag chips, and a **draft summary** box.
113-
4. Click **Insert summary** — Obsidian scrolls to the **end of the note** and adds:
114-
115-
```markdown
116-
---
117-
<!-- glyph-miO-summary -->
118-
> [!summary] Glyph MI-O
119-
> Your retelling here…
120-
121-
#suggested #tags
122-
```
123-
124-
5. If you do not see it, use **Go to summary** in the panel or **`Glyph: jump to MI summary`** — or press **Ctrl+End** in the editor.
125-
126-
> The summary is always appended to the **active note** — the one you had open when you clicked Insert.
127-
128-
---
129-
130-
## Commands
131-
132-
| Command | When to use |
133-
|---------|-------------|
134-
| **Glyph: open MI panel** | Main window (Analyze, tags, summary) |
135-
| **Glyph: summarize note** | Insert summary without opening the panel |
136-
| **Glyph: jump to MI summary** | Go to the last Glyph summary block |
137-
| **Glyph: analyze active note** | Quick popup with tag/link/word stats |
138-
| **Glyph: suggest tags** | Show suggested tags in a notice |
139-
140-
---
141-
142-
## Ollama (optional, local only)
143-
144-
For richer summaries you can run **[Ollama](https://ollama.com/)** on your computer:
145-
146-
```bash
147-
ollama pull llama3.2
148-
ollama serve
149-
```
150-
151-
In Obsidian: **Settings → glyph-miO 2.3****Enable Ollama** → URL `http://127.0.0.1:11434` → model name (e.g. `llama3.2`).
152-
153-
| Situation | What happens |
154-
|-----------|----------------|
155-
| Ollama off | **Offline extractive** summary — always works |
156-
| Ollama on, model OK | JSON summary + tags from the LLM |
157-
| HTTP **500** or timeout | Notice in Obsidian, **fallback to offline** summary — you still get text |
158-
159-
**500 errors** usually mean: Ollama not running, wrong model name, or model not pulled. Fix Ollama or disable it in settings — the plugin remains useful offline.
160-
161-
---
162-
163-
## Recommended workflow with glyph-sO
164-
165-
1. **[glyph-sO](https://github.com/FlokeStudio/glyph-sO)** — search `шаурма` / `shawarma` / wrong layout → open the note.
166-
2. **glyph-miO****Analyze** → check draft → **Insert summary**.
167-
3. Later — **Jump to MI summary** to re-read the recap.
168-
169-
Install sO into `.obsidian/plugins/glyph-s-o/` the same way as miO.
170-
171-
---
172-
173-
## Settings
174-
175-
| Setting | Meaning |
176-
|---------|---------|
177-
| **Enable Ollama** | Use local LLM for summaries when available |
178-
| **Ollama URL** | Usually `http://127.0.0.1:11434` |
179-
| **Model** | Must match `ollama list` (e.g. `llama3.2`) |
180-
181-
---
13+
## User section
18214

183-
## Troubleshooting
15+
`glyph-miO` analyzes the active note and creates a compact summary block with suggested tags.
18416

185-
### “Where did my summary go?”
17+
### New in 2.7
18618

187-
At the **bottom of the same note** you had open. Use **Go to summary** or search inside the note for `Glyph MI-O` or `glyph-miO-summary`.
19+
- Service-based architecture:
20+
- `services/metadata.js`
21+
- `services/summary.js`
22+
- Weighted metadata scoring with cache by note mtime/size.
23+
- Summary lifecycle mode:
24+
- `append`
25+
- `replace-latest`
26+
- Cleaner minimalist panel spacing.
18827

189-
### Summary is only statistics / tags
28+
### Install
19029

191-
Ollama failed or is disabled — you get **extractive** text (real sentences from the note, compressed). Enable Ollama for a more “written” paraphrase.
30+
Copy to `.obsidian/plugins/glyph-mi-o/`:
19231

193-
### Panel says “Open a markdown note first”
32+
- `manifest.json`
33+
- `main.js`
34+
- `styles.css`
35+
- `services/`
36+
- `vendor/`
19437

195-
Click inside a note tab, not empty pane or graph view.
38+
Enable plugin in **Settings → Community plugins**.
19639

197-
### Plugin error on load
40+
## GitHub / Dev section
19841

199-
Folder must be **`glyph-mi-o`**. Do not put a `vendor/` folder — this release is a single `main.js`.
42+
### Commands
20043

201-
---
44+
- `Glyph: open MI panel`
45+
- `Glyph: summarize note`
46+
- `Glyph: jump to MI summary`
47+
- `Glyph: analyze active note`
48+
- `Glyph: suggest tags`
20249

203-
## Technical
50+
### Runtime behavior
20451

205-
- **Offline:** strip markdown → score sentences → pick top sentences → join as summary.
206-
- **Ollama:** prompt returns JSON `{"summary":"…","tags":["…"]}`.
207-
- **Senza sibling:** [glyph-mi](https://github.com/FlokeStudio/glyph-mi) (music metadata, not Obsidian).
52+
- Offline extractive summary is always available.
53+
- If Ollama is enabled and available, plugin attempts JSON summary generation first.
54+
- If Ollama fails, plugin safely falls back to offline summary.
20855

209-
Obsidian ≥ 1.5.0.
56+
### Packaging
21057

211-
---
58+
Release workflow now includes `services/` and `vendor/` in plugin zip.
21259

21360
## License
21461

215-
GPL-3.0 · [Floke Studio](https://github.com/FlokeStudio)
62+
GPL-3.0 · Floke Studio

REPO.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# glyph-miO Repository Note
22

3-
`glyph-miO` is the Obsidian metadata intelligence plugin in the Glyph 2.3 family.
3+
`glyph-miO` is the Obsidian metadata intelligence plugin in the Glyph 2.7 family.
44

55
- Main docs: `README.md`
66
- Site: https://flokestudio.github.io/glyph-miO/
7+
- Runtime services: `services/metadata.js`, `services/summary.js`
78
- Shared search engine: [`glyph-s`](https://github.com/FlokeStudio/glyph-s)
89
- Companion plugin: [`glyph-sO`](https://github.com/FlokeStudio/glyph-sO)

docs/index.html

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,40 @@
33
<head>
44
<meta charset="utf-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1">
6-
<title>glyph-miO | Floke Glyph</title>
6+
<title>glyph-miO 2.7</title>
77
<style>
88
:root { color-scheme: dark; }
9-
body { margin: 0; font-family: Inter, Segoe UI, Arial, sans-serif; background: #0a0b0f; color: #edf0ff; }
10-
.wrap { max-width: 900px; margin: 0 auto; padding: 48px 20px; }
11-
.card { border: 1px solid #20263b; border-radius: 18px; padding: 28px; background: #121624; }
9+
body { margin: 0; font-family: Inter, Segoe UI, Arial, sans-serif; background: radial-gradient(circle at 24% 16%, #211738 0, #13111f 46%, #0e0d18 100%); color: #ebe9ff; }
10+
.wrap { max-width: 920px; margin: 0 auto; padding: 52px 20px; }
11+
.card { border: 1px solid #2f2a4e; border-radius: 18px; padding: 30px; background: rgba(18, 17, 31, 0.86); backdrop-filter: blur(3px); }
12+
.brand { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
13+
.brand img { width: 46px; height: 46px; }
1214
h1 { margin: 0 0 8px; font-size: 34px; }
13-
p { color: #c0c7de; line-height: 1.55; }
15+
p { color: #c6c4e2; line-height: 1.58; margin: 0 0 10px; }
16+
.caps { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 4px; }
17+
.cap { border: 1px solid #3a355d; border-radius: 999px; padding: 6px 10px; font-size: 12px; color: #d7d4ff; }
1418
.links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
15-
a { color: #cdd7ff; text-decoration: none; border: 1px solid #2f3956; padding: 10px 14px; border-radius: 10px; }
19+
a { color: #d9d6ff; text-decoration: none; border: 1px solid #3f3a64; padding: 10px 14px; border-radius: 10px; }
1620
</style>
1721
</head>
1822
<body>
1923
<main class="wrap">
2024
<section class="card">
21-
<h1>glyph-miO 2.3</h1>
22-
<p>Obsidian metadata intelligence plugin: note stats, tag suggestions, offline summaries, and optional Ollama enhancement.</p>
25+
<div class="brand">
26+
<img src="https://obsidian.md/images/obsidian-logo-gradient.svg" alt="Obsidian">
27+
<strong>Obsidian Plugin</strong>
28+
</div>
29+
<h1>glyph-miO 2.7</h1>
30+
<p>Metadata Intelligence for Obsidian with weighted tags, cached analysis, summary lifecycle modes, and optional Ollama enhancement.</p>
31+
<div class="caps">
32+
<span class="cap">weighted metadata ranking</span>
33+
<span class="cap">cached analysis by mtime</span>
34+
<span class="cap">append / replace-latest summary modes</span>
35+
</div>
2336
<div class="links">
2437
<a href="https://github.com/FlokeStudio/glyph-miO">Repository</a>
2538
<a href="https://github.com/FlokeStudio/glyph-sO">glyph-sO</a>
2639
<a href="https://github.com/FlokeStudio/glyph-s">glyph-s engine</a>
27-
<a href="https://github.com/FlokeStudio/Floke">Floke Studio</a>
2840
</div>
2941
</section>
3042
</main>

0 commit comments

Comments
 (0)