#+TITLE: Nove featury Doom Emacs -- testovaci pruvodce #+DATE: 2026-02-23 #+AUTHOR: Daneel Tento dokument popisuje vsechny nove featury pridane do konfigurace. Po kazde zmene je nutny =doom sync= + restart Emacsu. * Prerekvizity Nez testuje cokoli: #+begin_src sh cd ~/.doom.d doom sync #+end_src Pak restartuj Emacs. Bez toho nove balicky nejsou dostupne. * 1. link-hint -- otevirani odkazu bez mysi Co dela: zvyrazni vsechny viditelne org-format odkazy v bufferu a prirad jim jednopismenne zkratky. Stisknutim pismene odkaz otevres nebo zkopirujes URL. Prerekvizita: =doom sync= dokoncen, soubor musi obsahovat =[[...]]= odkazy. Jak testovat: 1. Otevri org soubor ktery ma =[[https://example.com]]= nebo =[[file:inbox.org]]= odkazy 2. Stiskni =SPC j k= -- link-hint zvyrazni viditelne odkazy 3. Stiskni pismeno vedle odkazu -- odkaz se otevri 4. Pro kopiovani URL: =SPC j K= *Dulezite:* "No links" je spravna hlaska kdyz buffer nema zadny =[[...]]= odkaz viditelny na obrazovce. Index.org bez explicitu odkazu = zadne linky. Funguje spravne -- neni to chyba. Priklady odkazu ktere link-hint najde: - =[[https://example.com][Odkaz]]= -- HTTP odkaz - =[[file:inbox.org]]= -- soubor - =[[*Nadpis]]= -- interni odkaz v dokumentu * 2. Avy -- skok na libovolne misto v bufferu Co dela: zvyrazni kazdy vyskyt dvou zadanych znaku a skoci na vybrane misto bez pohybu mysi. Prerekvizita: Doom ma avy automaticky -- dostupny bez doom sync. Jak testovat: 1. Otevri soubor s textem 2. Stiskni =SPC j j= -- zadej dva znaky (napr. =th=) -- Avy zvyrazni shody 3. Stiskni pismeno u ciloveho vyskytu -- kurzor skoci tam 4. Pro skok na radek: =SPC j l= -- zadej pismeno u radku Overeni: kurzor preskoci na vybranou pozici bez scrollovani. * 3. olivetti-mode -- klidny distraction-free mod Co dela: horizontalne centruje text na sirku 90 znaku. Zapina se *rucne* -- automaticke zapinani by rozbilo corfu completion popup. Prerekvizita: =doom sync=, balik =olivetti= nainstalovan. Jak testovat: 1. Otevri org nebo Markdown soubor 2. Stiskni =SPC t o= -- text se vycentruje na stred okna 3. Stiskni =SPC t o= znovu -- vrati se do normalniho layoutu *Upozorneni:* Pokud zapnes olivetti a corfu popup zmizi nebo se zobrazi mimo obrazovku, vypni olivetti. Olivetti meni vizualni marginy a corfu pak pocita spatne souradnice popupu. * 4. org-modern -- vylepseny vizual org-mode Co dela: nahradi hvezdicky u nadpisu Unicode symboly (okrouhlymi tvary), zvyrazni checkboxy. Aktivuje se automaticky po loadu org-modern balicku. Prerekvizita: =doom sync=, balik =org-modern= nainstalovan. Jak testovat: 1. Otevri libovolny =.org= soubor (napr. inbox.org) 2. Nadpisy by mely mit jinak vyzerajici hvezdicky 3. Checkboxy =[ ]= a =[X]= vypadaji jinak Pokud org-modern nefunguje na uz otevreny soubor: spust =M-x org-modern-mode= rucne nebo zavre a znovu otevri soubor. Konfigu zajistuje aktivaci i pro uz otevrene buffery pri loadu balicku. Overeni org exportu (klicove): 1. Otevri org soubor s tabulkou a nadpisy 2. =SPC m e l o= nebo =C-c C-e l o= -- PDF export 3. Export musi probehnou bez chyby 4. =org-modern-table= je vypnuto -- tabulkove overlaye by mohly interferovat * 5. org-fragtog -- automaticky nahled LaTeX fragmentu Co dela: kdyz kurzor vstoupi do LaTeX fragmentu (=$E=mc^2$=), zobrazi ho jako obrazek; kdyz kurzor odejde, fragment zustane jako obrazek. Prerekvizita: =doom sync=, =org-fragtog= nainstalovan, funkci =dvipng= nebo =imagemagick=: =brew install imagemagick=. Jak testovat: 1. Otevri org soubor 2. Napis =$E = mc^2$= 3. Pohni kurzorem ven z fragmentu -- mel by se zobrazit jako obrazek 4. Pohni kurzorem dovnitr -- obrazek zmizi, zobrazi se zdrojovy kod Pokud dvipng neni dostupny, org-fragtog selze tise. Zkontroluj: =M-x org-toggle-latex-fragment= * 6. org-super-agenda -- skupiny v agenda view Co dela: rozdeli org agenda view do skupin: Dnes, Cekam, Kyndryl, ZTJ, Ostatni. Prerekvizita: =doom sync=, =org-super-agenda= nainstalovan. Skupiny: - *Dnes*: polozky se SCHEDULED nebo DEADLINE dnes - *Cekam*: polozky s TODO stavem WAIT - *Kyndryl*: tag =:kyndryl:= nebo =:work:= - *ZTJ*: tag =:ztj:= - *Ostatni*: vsechno co nezapadne do predchozich skupin Jak testovat: 1. Otevri org agenda: =SPC o A= nebo =C-c a a= 2. Agenda by mela zobrazovat skupiny s nazvy 3. Polozky s TODO =WAIT= ve skupine "Cekam" *Pokud agenda zobrazuje prazdnou stranku:* Spust =M-x org-super-agenda-mode= pro aktivaci, nebo zkontroluj ze =doom sync= byl dokoncen. * 7. org-noter -- anotace PDF v org-mode Co dela: propojuje PDF soubor s org souborem poznamek. Strankovani je synchronizovano. Prerekvizita: =doom sync=, =org-noter= nainstalovan, PDF otvira se v pdf-view. Jak testovat: 1. Otevri PDF soubor -- mel by se otevrit v pdf-view, ne v Preview 2. Stiskni =SPC o n= -- spusti org-noter session 3. Posouvej PDF -- org soubor se synchronizuje s aktualni strankou 4. Pridej poznamku: =SPC o N= -- vlozi org heading s pozici v PDF Overeni: org heading obsahuje =:NOTER_PAGE:= property. * 8. GPTel -- rewrite regionu a org heading Co dela: - =SPC o g r= -- posle oznaceny region do GPTel s instrukci "vyleps text" a nahradi ho odpovedi - =SPC o g p= -- posle obsah aktualu org headingu jako kontext do GPTel chatu Prerekvizita: gptel funkci (=SPC o g g= otevira chat). Jak testovat (rewrite): 1. Otevri soubor s textem 2. Oznac region (visual mode: =v=) 3. =SPC o g r= -- pockat -- region se nahradi vylepsenim 4. Zprava: =GPTel: text vylepsen= v minibufferu Jak testovat (org heading): 1. Otevri org soubor 2. Postav kurzor do headingu 3. =SPC o g p= -- obsah headingu odeslan do GPTel chatu * 9. git-link -- kopiovani URL na Gitea Co dela: zkopiruje URL aktualniho souboru/radku na Gitea do clipboardu. Prerekvizita: =doom sync=, soubor musi byt v git repo s remote na Gitea. Jak testovat: 1. Otevri soubor v emacs-doom nebo jinem Gitea repo 2. Postav kurzor na konkretni radek 3. =SPC g y= -- URL zkopirovna do clipboardu 4. Zkontroluj: =pbpaste= v terminalu Overeni: URL odpovida aktualnimu souboru a radku na git.apps.sukany.cz. * 10. Forge -- Gitea integrace v Magit Co dela: pridava pull request a issue management do Magit. Prerekvizita: =doom sync=, API token v =~/.authinfo=. Nastaveni tokenu: 1. Prihlasit se na =https://git.apps.sukany.cz= 2. Settings -> Applications -> Generate new token (scope: =repo=) 3. Pridat do =~/.authinfo=: : machine git.apps.sukany.cz login daneel^forge password 4. =chmod 600 ~/.authinfo= Jak testovat: 1. Otevri Magit: =SPC g g= 2. Stiskni =@= -- Forge menu 3. =@ f= -- fetch forge data (PRy, issues) *Poznamka:* Bez tokenu Forge selze s chybou autentizace (ocekavane chovani). * Prehled klaves | Klavesa | Funkce | |-----------+-------------------------------| | SPC j k | link-hint -- otevri odkaz | | SPC j K | link-hint -- kopiruj URL | | SPC j j | avy-goto-char-2 | | SPC j l | avy-goto-line | | SPC t o | olivetti-mode toggle | | SPC o n | org-noter | | SPC o N | org-noter-insert-note | | SPC o g r | GPTel rewrite region | | SPC o g p | GPTel org heading -> kontext | | SPC g y | git-link (kopiruj URL) | | SPC g Y | git-link-commit | * Reseni problemu ** link-hint rika "No links" Normalni chovani kdyz buffer nema zadny =[[...]]= odkaz viditelny na obrazovce. Testuj na org souboru ktery obsahuje =[[https://...]]= nebo =[[file:...]]= linky. ** corfu nefunguje po olivetti Vypni olivetti (=SPC t o=). Olivetti meni vizualni marginy, corfu popup pak ma spatne souradnice. ** org-modern nefunguje Spust =doom sync= + restartuj Emacs. Pokud stale ne: =M-x org-modern-mode= nebo zavre a otevri soubor znovu. ** org export selze s Unicode varovanim Zkontroluj svuj .org soubor na Unicode znaky mimo Latin-1: #+begin_src sh python3 -c " with open('tvuj-soubor.org') as f: for i, line in enumerate(f, 1): for ch in line: if ord(ch) > 255: print(f'radek {i}: U+{ord(ch):04X} {repr(ch)}') break " #+end_src Smazani nebo nahrazeni techto znaku vyresi problem. ** org-super-agenda zobrazuje prazdnou agendu Spust =M-x org-super-agenda-mode= pro rucni aktivaci. Zkontroluj ze org soubory maji polozky se SCHEDULED nebo DEADLINE. ** Forge: "Invalid token" Zkontroluj format =~/.authinfo= -- zadne uvozovky, zadne mezery navic: : machine git.apps.sukany.cz login daneel^forge password TOKEN