# Doom Emacs — testovací průvodce novými featurami
Author: Martin Sukaný

## Obsah

- 1. link-hint — rychlá navigace po odkazech
  - 1.1. Prerekvizity
  - 1.2. Jak otestovat
  - 1.3. Ověření
- 2. Avy keybindings — skoky na znaky a řádky
  - 2.1. Prerekvizity
  - 2.2. Jak otestovat
  - 2.3. Ověření
- 3. olivetti-mode — distraction-free psaní
  - 3.1. Prerekvizity
  - 3.2. Jak otestovat
  - 3.3. Ověření
- 4. org-modern — vizuální vylepšení org-mode
  - 4.1. Prerekvizity
  - 4.2. Jak otestovat
  - 4.3. Ověření
- 5. org-fragtog — automatický render LaTeX fragmentů
  - 5.1. Prerekvizity
  - 5.2. Jak otestovat
  - 5.3. Ověření
- 6. org-super-agenda — skupiny v agenda view
  - 6.1. Prerekvizity
  - 6.2. Jak otestovat
  - 6.3. Ověření
- 7. org-noter — PDF anotace
  - 7.1. Prerekvizity
  - 7.2. Jak otestovat
  - 7.3. Ověření
- 8. GPTel rewrite — vylepšení textu přes AI
  - 8.1. Prerekvizity
  - 8.2. Jak otestovat
  - 8.3. Ověření
- 9. git-link — kopírování URL na Gitea
  - 9.1. Prerekvizity
  - 9.2. Jak otestovat
  - 9.3. Ověření
- 10. Forge — Gitea integrace v Magitu
  - 10.1. Prerekvizity
  - 10.2. Jak otestovat
  - 10.3. Ověření

## 1. link-hint — rychlá navigace po odkazech

Umožňuje otevřít nebo zkopírovat jakýkoli odkaz v bufferu pomocí avy-style přeskakování.

### 1.1. Prerekvizity

- `doom sync` proběhl úspěšně
- Buffer obsahuje alespoň jeden odkaz (org link, URL, file path)

### 1.2. Jak otestovat

1. Otevři libovolný org soubor s odkazy (např. `inbox.org`)
2. Stiskni `SPC j k` — měly by se objevit avy hinty na všech odkazech
3. Vyber hint → odkaz se otevře v prohlížeči/Emacsu
4. Stiskni `SPC j K` → vyber odkaz → URL se zkopíruje do clipboard

### 1.3. Ověření

- `SPC j k` zobrazí hinty a odkaz se otevře
- `SPC j K` zkopíruje URL (ověř přes `C-y` / paste)

## 2. Avy keybindings — skoky na znaky a řádky

Rozšířené avy bindingy pod `SPC j` pro rychlou navigaci v bufferu.

### 2.1. Prerekvizity

- `doom sync` proběhl úspěšně

### 2.2. Jak otestovat

1. Otevři libovolný soubor s textem
2. `SPC j j` → zadej 2 znaky → avy zobrazí hinty na výskytech
3. Vyber hint → kurzor skočí na pozici
4. `SPC j l` → avy zobrazí hinty na řádcích → vyber řádek

### 2.3. Ověření

- Kurzor se přesune na vybranou pozici

## 3. olivetti-mode — distraction-free psaní

Centruje text na šířku 90 znaků pro pohodlné čtení a psaní.

### 3.1. Prerekvizity

- `doom sync` proběhl úspěšně

### 3.2. Jak otestovat

1. Otevři org soubor — olivetti se zapne automaticky (hook)
2. Ověř, že text je vycentrovaný s okraji po stranách
3. Otevři markdown soubor — stejné chování
4. V jiném režimu (např. elisp): `SPC t o` pro manuální toggle

### 3.3. Ověření

- Org/markdown buffery mají centrovaný text na ~90 znaků
- `SPC t o` zapíná/vypíná olivetti v libovolném bufferu

## 4. org-modern — vizuální vylepšení org-mode

Nahrazuje hvězdičky nadpisů symboly (◉○✸✿), vylepšuje tabulky a checkboxy.

### 4.1. Prerekvizity

- `doom sync` proběhl úspěšně

### 4.2. Jak otestovat

1. Otevři org soubor s nadpisy různých úrovní
2. Zkontroluj, že `*` jsou nahrazeny symboly ◉, ○, ✸, ✿
3. Vytvoř tabulku — měla by mít vylepšený vizuální styl
4. Vytvoř checkbox `[X]` / `[ ]` — měl by být stylizovaný

### 4.3. Ověření

- Nadpisy používají Unicode symboly místo hvězdiček
- Tabulky a checkboxy vypadají vizuálně lépe

## 5. org-fragtog — automatický render LaTeX fragmentů

Při přesunutí kurzoru na/z LaTeX fragmentu se automaticky zobrazí/skryje náhled.

### 5.1. Prerekvizity

- `doom sync` proběhl úspěšně
- LaTeX nainstalovaný (`latexmk` v PATH)

### 5.2. Jak otestovat

1. Otevři org soubor a vlož LaTeX fragment: `$E = mc^2$`
2. Přesuň kurzor pryč z fragmentu → měl by se vyrenderovat jako obrázek
3. Přesuň kurzor zpět na fragment → zobrazí se zdrojový kód

### 5.3. Ověření

- LaTeX fragmenty se automaticky renderují/skrývají při pohybu kurzoru

## 6. org-super-agenda — skupiny v agenda view

Rozděluje agenda view do pojmenovaných skupin: Dnes, Brzy, Čekám, Kyndryl, ZTJ, Ostatní.

### 6.1. Prerekvizity

- `doom sync` proběhl úspěšně
- Existují org soubory s TODO položkami (různé stavy, tagy, deadlines)

### 6.2. Jak otestovat

1. Přidej několik TODO s různými vlastnostmi:
   - `TODO` s deadline dnes
   - `TODO` s deadline za 2 dny
   - `WAIT` položka
   - `TODO` s tagem `:kyndryl:`
   - `TODO` s tagem `:ztj:`
2. Otevři agenda: `SPC o A a` (nebo `M-x org-agenda`, volba `a`)
3. Zkontroluj, že položky jsou rozděleny do skupin

### 6.3. Ověření

- Agenda zobrazuje sekce: Dnes, Brzy, Čekám, Projekt Kyndryl, ZTJ, Ostatní

## 7. org-noter — PDF anotace

Umožňuje vytvářet org poznámky synchronizované s pozicí v PDF dokumentu.

### 7.1. Prerekvizity

- `doom sync` proběhl úspěšně
- Existuje PDF soubor k anotování

### 7.2. Jak otestovat

1. Otevři PDF soubor v Emacsu (`pdf-view-mode`)
2. `SPC o n` → spustí org-noter session (vytvoří/otevře org soubor)
3. Naviguj na stránku v PDF
4. `SPC o N` → vloží poznámku na aktuální pozici

### 7.3. Ověření

- Emacs se rozdělí horizontálně (PDF vlevo, org vpravo)
- Poznámky jsou provázané s pozicí v PDF

## 8. GPTel rewrite — vylepšení textu přes AI

Odešle vybraný region do GPTel s instrukcí "vylepši" a nahradí odpovědí.

### 8.1. Prerekvizity

- `doom sync` proběhl úspěšně
- Env proměnná `OPENWEBUI_API_KEY` je nastavena
- AI backend (ai.apps.sukany.cz) je dostupný

### 8.2. Jak otestovat

1. Otevři soubor s textem
2. Označ region (`v` + pohyb v evil normal mode)
3. `SPC o g r` → region se odešle do GPTel → odpověď nahradí region
4. V org souboru: umísti kurzor na heading, `SPC o g p` → heading + obsah se odešle jako kontext do GPTel chatu

### 8.3. Ověření

- `SPC o g r` nahradí vybraný text vylepšenou verzí
- `SPC o g p` otevře GPTel chat s obsahem heading jako kontextem

## 9. git-link — kopírování URL na Gitea

Generuje webový odkaz na aktuální soubor/řádek v Gitea repozitáři.

### 9.1. Prerekvizity

- `doom sync` proběhl úspěšně
- Soubor je v git repozitáři s remote na `git.apps.sukany.cz`

### 9.2. Jak otestovat

1. Otevři soubor v git repozitáři (např. v emacs-doom)
2. `SPC g y` → zkopíruje URL na aktuální soubor/řádek do clipboard
3. `SPC g Y` → zkopíruje URL na aktuální commit

### 9.3. Ověření

- URL v clipboard ukazuje na `git.apps.sukany.cz/...` a je funkční v prohlížeči

## 10. Forge — Gitea integrace v Magitu

Přidává podporu pro Gitea issues, PRs a notifikace přímo v Magit.

### 10.1. Prerekvizity

- `doom sync` proběhl úspěšně

- Gitea API token vytvořen a uložen v `~/.authinfo`:

      machine git.apps.sukany.cz login daneel^forge password <TOKEN>

### 10.2. Jak otestovat

1. Otevři Magit v repozitáři hostovaném na Gitea: `SPC g g`
2. Stiskni `N` (forge notifications) nebo `'` (forge dispatch)
3. `@ l l` — list issues

### 10.3. Ověření

- Forge se připojí ke Gitea API a zobrazí issues/PRs
- Pokud token chybí, Forge zobrazí chybu s instrukcí

Datum: 2026-02-23

Autor: Martin Sukaný

Vytvořeno: 2026-02-23 Mon 18:49