update
This commit is contained in:
656
notes/emacs-new-features.html
Normal file
656
notes/emacs-new-features.html
Normal file
@@ -0,0 +1,656 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="cs" xml:lang="cs">
|
||||
<head>
|
||||
<!-- 2026-02-23 Mon 18:49 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Doom Emacs — testovací průvodce novými featurami</title>
|
||||
<meta name="author" content="Martin Sukaný" />
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #e6e6e6;
|
||||
border-radius: 3px;
|
||||
background-color: #f2f2f2;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: -8px;
|
||||
right: 12px;
|
||||
padding: 3px;
|
||||
color: #555;
|
||||
background-color: #f2f2f299;
|
||||
}
|
||||
pre.src:hover:before { display: inline; margin-top: 14px;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-authinfo::before { content: 'Authinfo'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Doom Emacs — testovací průvodce novými featurami</h1>
|
||||
<div id="table-of-contents" role="doc-toc">
|
||||
<h2>Obsah</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org1e4fc36">1. link-hint — rychlá navigace po odkazech</a>
|
||||
<ul>
|
||||
<li><a href="#org598eaab">1.1. Prerekvizity</a></li>
|
||||
<li><a href="#org45e20c6">1.2. Jak otestovat</a></li>
|
||||
<li><a href="#org9f1e26d">1.3. Ověření</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf0be6c2">2. Avy keybindings — skoky na znaky a řádky</a>
|
||||
<ul>
|
||||
<li><a href="#org298fa2a">2.1. Prerekvizity</a></li>
|
||||
<li><a href="#orge61d79e">2.2. Jak otestovat</a></li>
|
||||
<li><a href="#org1497b96">2.3. Ověření</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org92f92b6">3. olivetti-mode — distraction-free psaní</a>
|
||||
<ul>
|
||||
<li><a href="#orgce6b854">3.1. Prerekvizity</a></li>
|
||||
<li><a href="#orgda5a494">3.2. Jak otestovat</a></li>
|
||||
<li><a href="#org95f42da">3.3. Ověření</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfa62f9f">4. org-modern — vizuální vylepšení org-mode</a>
|
||||
<ul>
|
||||
<li><a href="#org9a2032a">4.1. Prerekvizity</a></li>
|
||||
<li><a href="#org28a90ea">4.2. Jak otestovat</a></li>
|
||||
<li><a href="#org425f0fe">4.3. Ověření</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9f7d7e9">5. org-fragtog — automatický render LaTeX fragmentů</a>
|
||||
<ul>
|
||||
<li><a href="#org2ef9aae">5.1. Prerekvizity</a></li>
|
||||
<li><a href="#org6ff2f9b">5.2. Jak otestovat</a></li>
|
||||
<li><a href="#orga9639b4">5.3. Ověření</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfc3d726">6. org-super-agenda — skupiny v agenda view</a>
|
||||
<ul>
|
||||
<li><a href="#org30a54a1">6.1. Prerekvizity</a></li>
|
||||
<li><a href="#orgb9c04f0">6.2. Jak otestovat</a></li>
|
||||
<li><a href="#org913f575">6.3. Ověření</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org89e972f">7. org-noter — PDF anotace</a>
|
||||
<ul>
|
||||
<li><a href="#orgd6f4516">7.1. Prerekvizity</a></li>
|
||||
<li><a href="#org4a38223">7.2. Jak otestovat</a></li>
|
||||
<li><a href="#orgcf701cd">7.3. Ověření</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org71d0292">8. GPTel rewrite — vylepšení textu přes AI</a>
|
||||
<ul>
|
||||
<li><a href="#org6cbc8b4">8.1. Prerekvizity</a></li>
|
||||
<li><a href="#orgd492e12">8.2. Jak otestovat</a></li>
|
||||
<li><a href="#orga28a164">8.3. Ověření</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org43dc02f">9. git-link — kopírování URL na Gitea</a>
|
||||
<ul>
|
||||
<li><a href="#org1491be8">9.1. Prerekvizity</a></li>
|
||||
<li><a href="#orge01f176">9.2. Jak otestovat</a></li>
|
||||
<li><a href="#orgee1919f">9.3. Ověření</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8762b1b">10. Forge — Gitea integrace v Magitu</a>
|
||||
<ul>
|
||||
<li><a href="#orgd17798d">10.1. Prerekvizity</a></li>
|
||||
<li><a href="#org9164346">10.2. Jak otestovat</a></li>
|
||||
<li><a href="#orgc25edd7">10.3. Ověření</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org1e4fc36" class="outline-2">
|
||||
<h2 id="org1e4fc36"><span class="section-number-2">1.</span> link-hint — rychlá navigace po odkazech</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
Umožňuje otevřít nebo zkopírovat jakýkoli odkaz v bufferu pomocí avy-style přeskakování.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org598eaab" class="outline-3">
|
||||
<h3 id="org598eaab"><span class="section-number-3">1.1.</span> Prerekvizity</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>doom sync</code> proběhl úspěšně</li>
|
||||
<li>Buffer obsahuje alespoň jeden odkaz (org link, URL, file path)</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org45e20c6" class="outline-3">
|
||||
<h3 id="org45e20c6"><span class="section-number-3">1.2.</span> Jak otestovat</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<ol class="org-ol">
|
||||
<li>Otevři libovolný org soubor s odkazy (např. <code>inbox.org</code>)</li>
|
||||
<li>Stiskni <code>SPC j k</code> — měly by se objevit avy hinty na všech odkazech</li>
|
||||
<li>Vyber hint → odkaz se otevře v prohlížeči/Emacsu</li>
|
||||
<li>Stiskni <code>SPC j K</code> → vyber odkaz → URL se zkopíruje do clipboard</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org9f1e26d" class="outline-3">
|
||||
<h3 id="org9f1e26d"><span class="section-number-3">1.3.</span> Ověření</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<ul class="org-ul">
|
||||
<li><code>SPC j k</code> zobrazí hinty a odkaz se otevře</li>
|
||||
<li><code>SPC j K</code> zkopíruje URL (ověř přes <code>C-y</code> / paste)</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgf0be6c2" class="outline-2">
|
||||
<h2 id="orgf0be6c2"><span class="section-number-2">2.</span> Avy keybindings — skoky na znaky a řádky</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
Rozšířené avy bindingy pod <code>SPC j</code> pro rychlou navigaci v bufferu.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org298fa2a" class="outline-3">
|
||||
<h3 id="org298fa2a"><span class="section-number-3">2.1.</span> Prerekvizity</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>doom sync</code> proběhl úspěšně</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orge61d79e" class="outline-3">
|
||||
<h3 id="orge61d79e"><span class="section-number-3">2.2.</span> Jak otestovat</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<ol class="org-ol">
|
||||
<li>Otevři libovolný soubor s textem</li>
|
||||
<li><code>SPC j j</code> → zadej 2 znaky → avy zobrazí hinty na výskytech</li>
|
||||
<li>Vyber hint → kurzor skočí na pozici</li>
|
||||
<li><code>SPC j l</code> → avy zobrazí hinty na řádcích → vyber řádek</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org1497b96" class="outline-3">
|
||||
<h3 id="org1497b96"><span class="section-number-3">2.3.</span> Ověření</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<ul class="org-ul">
|
||||
<li>Kurzor se přesune na vybranou pozici</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org92f92b6" class="outline-2">
|
||||
<h2 id="org92f92b6"><span class="section-number-2">3.</span> olivetti-mode — distraction-free psaní</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Centruje text na šířku 90 znaků pro pohodlné čtení a psaní.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-orgce6b854" class="outline-3">
|
||||
<h3 id="orgce6b854"><span class="section-number-3">3.1.</span> Prerekvizity</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>doom sync</code> proběhl úspěšně</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgda5a494" class="outline-3">
|
||||
<h3 id="orgda5a494"><span class="section-number-3">3.2.</span> Jak otestovat</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<ol class="org-ol">
|
||||
<li>Otevři org soubor — olivetti se zapne automaticky (hook)</li>
|
||||
<li>Ověř, že text je vycentrovaný s okraji po stranách</li>
|
||||
<li>Otevři markdown soubor — stejné chování</li>
|
||||
<li>V jiném režimu (např. elisp): <code>SPC t o</code> pro manuální toggle</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org95f42da" class="outline-3">
|
||||
<h3 id="org95f42da"><span class="section-number-3">3.3.</span> Ověření</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<ul class="org-ul">
|
||||
<li>Org/markdown buffery mají centrovaný text na ~90 znaků</li>
|
||||
<li><code>SPC t o</code> zapíná/vypíná olivetti v libovolném bufferu</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgfa62f9f" class="outline-2">
|
||||
<h2 id="orgfa62f9f"><span class="section-number-2">4.</span> org-modern — vizuální vylepšení org-mode</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
Nahrazuje hvězdičky nadpisů symboly (◉○✸✿), vylepšuje tabulky a checkboxy.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org9a2032a" class="outline-3">
|
||||
<h3 id="org9a2032a"><span class="section-number-3">4.1.</span> Prerekvizity</h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>doom sync</code> proběhl úspěšně</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org28a90ea" class="outline-3">
|
||||
<h3 id="org28a90ea"><span class="section-number-3">4.2.</span> Jak otestovat</h3>
|
||||
<div class="outline-text-3" id="text-4-2">
|
||||
<ol class="org-ol">
|
||||
<li>Otevři org soubor s nadpisy různých úrovní</li>
|
||||
<li>Zkontroluj, že <code>*</code> jsou nahrazeny symboly ◉, ○, ✸, ✿</li>
|
||||
<li>Vytvoř tabulku — měla by mít vylepšený vizuální styl</li>
|
||||
<li>Vytvoř checkbox <code>[X]</code> / <code>[ ]</code> — měl by být stylizovaný</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org425f0fe" class="outline-3">
|
||||
<h3 id="org425f0fe"><span class="section-number-3">4.3.</span> Ověření</h3>
|
||||
<div class="outline-text-3" id="text-4-3">
|
||||
<ul class="org-ul">
|
||||
<li>Nadpisy používají Unicode symboly místo hvězdiček</li>
|
||||
<li>Tabulky a checkboxy vypadají vizuálně lépe</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org9f7d7e9" class="outline-2">
|
||||
<h2 id="org9f7d7e9"><span class="section-number-2">5.</span> org-fragtog — automatický render LaTeX fragmentů</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<p>
|
||||
Při přesunutí kurzoru na/z LaTeX fragmentu se automaticky zobrazí/skryje náhled.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org2ef9aae" class="outline-3">
|
||||
<h3 id="org2ef9aae"><span class="section-number-3">5.1.</span> Prerekvizity</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>doom sync</code> proběhl úspěšně</li>
|
||||
<li>LaTeX nainstalovaný (<code>latexmk</code> v PATH)</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org6ff2f9b" class="outline-3">
|
||||
<h3 id="org6ff2f9b"><span class="section-number-3">5.2.</span> Jak otestovat</h3>
|
||||
<div class="outline-text-3" id="text-5-2">
|
||||
<ol class="org-ol">
|
||||
<li>Otevři org soubor a vlož LaTeX fragment: <code>$E = mc^2$</code></li>
|
||||
<li>Přesuň kurzor pryč z fragmentu → měl by se vyrenderovat jako obrázek</li>
|
||||
<li>Přesuň kurzor zpět na fragment → zobrazí se zdrojový kód</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga9639b4" class="outline-3">
|
||||
<h3 id="orga9639b4"><span class="section-number-3">5.3.</span> Ověření</h3>
|
||||
<div class="outline-text-3" id="text-5-3">
|
||||
<ul class="org-ul">
|
||||
<li>LaTeX fragmenty se automaticky renderují/skrývají při pohybu kurzoru</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgfc3d726" class="outline-2">
|
||||
<h2 id="orgfc3d726"><span class="section-number-2">6.</span> org-super-agenda — skupiny v agenda view</h2>
|
||||
<div class="outline-text-2" id="text-6">
|
||||
<p>
|
||||
Rozděluje agenda view do pojmenovaných skupin: Dnes, Brzy, Čekám, Kyndryl, ZTJ, Ostatní.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org30a54a1" class="outline-3">
|
||||
<h3 id="org30a54a1"><span class="section-number-3">6.1.</span> Prerekvizity</h3>
|
||||
<div class="outline-text-3" id="text-6-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>doom sync</code> proběhl úspěšně</li>
|
||||
<li>Existují org soubory s TODO položkami (různé stavy, tagy, deadlines)</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb9c04f0" class="outline-3">
|
||||
<h3 id="orgb9c04f0"><span class="section-number-3">6.2.</span> Jak otestovat</h3>
|
||||
<div class="outline-text-3" id="text-6-2">
|
||||
<ol class="org-ol">
|
||||
<li>Přidej několik TODO s různými vlastnostmi:
|
||||
<ul class="org-ul">
|
||||
<li><code>TODO</code> s deadline dnes</li>
|
||||
<li><code>TODO</code> s deadline za 2 dny</li>
|
||||
<li><code>WAIT</code> položka</li>
|
||||
<li><code>TODO</code> s tagem <code>:kyndryl:</code></li>
|
||||
<li><code>TODO</code> s tagem <code>:ztj:</code></li>
|
||||
</ul></li>
|
||||
<li>Otevři agenda: <code>SPC o A a</code> (nebo <code>M-x org-agenda</code>, volba <code>a</code>)</li>
|
||||
<li>Zkontroluj, že položky jsou rozděleny do skupin</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org913f575" class="outline-3">
|
||||
<h3 id="org913f575"><span class="section-number-3">6.3.</span> Ověření</h3>
|
||||
<div class="outline-text-3" id="text-6-3">
|
||||
<ul class="org-ul">
|
||||
<li>Agenda zobrazuje sekce: Dnes, Brzy, Čekám, Projekt Kyndryl, ZTJ, Ostatní</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org89e972f" class="outline-2">
|
||||
<h2 id="org89e972f"><span class="section-number-2">7.</span> org-noter — PDF anotace</h2>
|
||||
<div class="outline-text-2" id="text-7">
|
||||
<p>
|
||||
Umožňuje vytvářet org poznámky synchronizované s pozicí v PDF dokumentu.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-orgd6f4516" class="outline-3">
|
||||
<h3 id="orgd6f4516"><span class="section-number-3">7.1.</span> Prerekvizity</h3>
|
||||
<div class="outline-text-3" id="text-7-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>doom sync</code> proběhl úspěšně</li>
|
||||
<li>Existuje PDF soubor k anotování</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org4a38223" class="outline-3">
|
||||
<h3 id="org4a38223"><span class="section-number-3">7.2.</span> Jak otestovat</h3>
|
||||
<div class="outline-text-3" id="text-7-2">
|
||||
<ol class="org-ol">
|
||||
<li>Otevři PDF soubor v Emacsu (<code>pdf-view-mode</code>)</li>
|
||||
<li><code>SPC o n</code> → spustí org-noter session (vytvoří/otevře org soubor)</li>
|
||||
<li>Naviguj na stránku v PDF</li>
|
||||
<li><code>SPC o N</code> → vloží poznámku na aktuální pozici</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgcf701cd" class="outline-3">
|
||||
<h3 id="orgcf701cd"><span class="section-number-3">7.3.</span> Ověření</h3>
|
||||
<div class="outline-text-3" id="text-7-3">
|
||||
<ul class="org-ul">
|
||||
<li>Emacs se rozdělí horizontálně (PDF vlevo, org vpravo)</li>
|
||||
<li>Poznámky jsou provázané s pozicí v PDF</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org71d0292" class="outline-2">
|
||||
<h2 id="org71d0292"><span class="section-number-2">8.</span> GPTel rewrite — vylepšení textu přes AI</h2>
|
||||
<div class="outline-text-2" id="text-8">
|
||||
<p>
|
||||
Odešle vybraný region do GPTel s instrukcí "vylepši" a nahradí odpovědí.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org6cbc8b4" class="outline-3">
|
||||
<h3 id="org6cbc8b4"><span class="section-number-3">8.1.</span> Prerekvizity</h3>
|
||||
<div class="outline-text-3" id="text-8-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>doom sync</code> proběhl úspěšně</li>
|
||||
<li>Env proměnná <code>OPENWEBUI_API_KEY</code> je nastavena</li>
|
||||
<li>AI backend (ai.apps.sukany.cz) je dostupný</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgd492e12" class="outline-3">
|
||||
<h3 id="orgd492e12"><span class="section-number-3">8.2.</span> Jak otestovat</h3>
|
||||
<div class="outline-text-3" id="text-8-2">
|
||||
<ol class="org-ol">
|
||||
<li>Otevři soubor s textem</li>
|
||||
<li>Označ region (<code>v</code> + pohyb v evil normal mode)</li>
|
||||
<li><code>SPC o g r</code> → region se odešle do GPTel → odpověď nahradí region</li>
|
||||
<li>V org souboru: umísti kurzor na heading, <code>SPC o g p</code> → heading + obsah se odešle jako kontext do GPTel chatu</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga28a164" class="outline-3">
|
||||
<h3 id="orga28a164"><span class="section-number-3">8.3.</span> Ověření</h3>
|
||||
<div class="outline-text-3" id="text-8-3">
|
||||
<ul class="org-ul">
|
||||
<li><code>SPC o g r</code> nahradí vybraný text vylepšenou verzí</li>
|
||||
<li><code>SPC o g p</code> otevře GPTel chat s obsahem heading jako kontextem</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org43dc02f" class="outline-2">
|
||||
<h2 id="org43dc02f"><span class="section-number-2">9.</span> git-link — kopírování URL na Gitea</h2>
|
||||
<div class="outline-text-2" id="text-9">
|
||||
<p>
|
||||
Generuje webový odkaz na aktuální soubor/řádek v Gitea repozitáři.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org1491be8" class="outline-3">
|
||||
<h3 id="org1491be8"><span class="section-number-3">9.1.</span> Prerekvizity</h3>
|
||||
<div class="outline-text-3" id="text-9-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>doom sync</code> proběhl úspěšně</li>
|
||||
<li>Soubor je v git repozitáři s remote na <code>git.apps.sukany.cz</code></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orge01f176" class="outline-3">
|
||||
<h3 id="orge01f176"><span class="section-number-3">9.2.</span> Jak otestovat</h3>
|
||||
<div class="outline-text-3" id="text-9-2">
|
||||
<ol class="org-ol">
|
||||
<li>Otevři soubor v git repozitáři (např. v emacs-doom)</li>
|
||||
<li><code>SPC g y</code> → zkopíruje URL na aktuální soubor/řádek do clipboard</li>
|
||||
<li><code>SPC g Y</code> → zkopíruje URL na aktuální commit</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgee1919f" class="outline-3">
|
||||
<h3 id="orgee1919f"><span class="section-number-3">9.3.</span> Ověření</h3>
|
||||
<div class="outline-text-3" id="text-9-3">
|
||||
<ul class="org-ul">
|
||||
<li>URL v clipboard ukazuje na <code>git.apps.sukany.cz/...</code> a je funkční v prohlížeči</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org8762b1b" class="outline-2">
|
||||
<h2 id="org8762b1b"><span class="section-number-2">10.</span> Forge — Gitea integrace v Magitu</h2>
|
||||
<div class="outline-text-2" id="text-10">
|
||||
<p>
|
||||
Přidává podporu pro Gitea issues, PRs a notifikace přímo v Magit.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-orgd17798d" class="outline-3">
|
||||
<h3 id="orgd17798d"><span class="section-number-3">10.1.</span> Prerekvizity</h3>
|
||||
<div class="outline-text-3" id="text-10-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>doom sync</code> proběhl úspěšně</li>
|
||||
<li><p>
|
||||
Gitea API token vytvořen a uložen v <code>~/.authinfo</code>:
|
||||
</p>
|
||||
<pre class="example">
|
||||
machine git.apps.sukany.cz login daneel^forge password <TOKEN>
|
||||
</pre></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org9164346" class="outline-3">
|
||||
<h3 id="org9164346"><span class="section-number-3">10.2.</span> Jak otestovat</h3>
|
||||
<div class="outline-text-3" id="text-10-2">
|
||||
<ol class="org-ol">
|
||||
<li>Otevři Magit v repozitáři hostovaném na Gitea: <code>SPC g g</code></li>
|
||||
<li>Stiskni <code>N</code> (forge notifications) nebo <code>'</code> (forge dispatch)</li>
|
||||
<li><code>@ l l</code> — list issues</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgc25edd7" class="outline-3">
|
||||
<h3 id="orgc25edd7"><span class="section-number-3">10.3.</span> Ověření</h3>
|
||||
<div class="outline-text-3" id="text-10-3">
|
||||
<ul class="org-ul">
|
||||
<li>Forge se připojí ke Gitea API a zobrazí issues/PRs</li>
|
||||
<li>Pokud token chybí, Forge zobrazí chybu s instrukcí</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Datum: 2026-02-23</p>
|
||||
<p class="author">Autor: Martin Sukaný</p>
|
||||
<p class="date">Vytvořeno: 2026-02-23 Mon 18:49</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user