mirror of
https://github.com/SqrtMinusOne/sqrtminusone.github.io.git
synced 2025-12-11 00:03:02 +03:00
deploy: e4e8d31acd
This commit is contained in:
parent
aea10438f7
commit
27bd842c36
5 changed files with 78 additions and 2 deletions
|
|
@ -3910,6 +3910,11 @@
|
|||
<td>wireshark</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>dev</td>
|
||||
<td>python-chess</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="manifests">Manifests</h3>
|
||||
|
|
|
|||
|
|
@ -905,7 +905,7 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
|
|||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">setq</span> <span style="color:#19177c">default-input-method</span> <span style="color:#ba2121">"russian-computer"</span>)
|
||||
</span></span></code></pre></div><p><code>M-x delete-horizontal-space</code> doesn’t feel that useful to me.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#19177c">general-define-key</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">'global-map</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">'global</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"M-\\"</span> <span style="color:#00f">#'</span><span style="color:#19177c">toggle-input-method</span>)
|
||||
</span></span></code></pre></div><h4 id="other-small-packages">Other small packages</h4>
|
||||
<h5 id="managing-parentheses--smartparens">Managing parentheses (smartparens)</h5>
|
||||
|
|
@ -6121,7 +6121,7 @@ Some other optimization settings:</p>
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">with-current-buffer</span> <span style="color:#19177c">telega-buffer</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">dolist</span> (<span style="color:#19177c">file</span> <span style="color:#19177c">files</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">telega-chatbuf-attach-file</span> <span style="color:#19177c">file</span>))))
|
||||
</span></span></code></pre></div><p>Save a file to a dired buffer.</p>
|
||||
</span></span></code></pre></div><p>Save a telega file to a dired buffer.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/telega-save-to-dired</span> (<span style="color:#19177c">msg</span> <span style="color:#19177c">arg</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">list</span> (<span style="color:#19177c">telega-msg-for-interactive</span>)
|
||||
|
|
@ -6150,6 +6150,16 @@ Some other optimization settings:</p>
|
|||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">type</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">mml-minibuffer-read-description</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">mml-minibuffer-read-disposition</span> <span style="color:#19177c">type</span> <span style="color:#800">nil</span> <span style="color:#19177c">file</span>))))))
|
||||
</span></span></code></pre></div><p>Save a notmuch file to a dired buffer.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/notmuch-save-to-dired</span> (<span style="color:#19177c">arg</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">list</span> (<span style="color:#00f">prefix-numeric-value</span> <span style="color:#19177c">current-prefix-arg</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> (<span style="color:#00f">eq</span> <span style="color:#19177c">arg</span> <span style="color:#666">4</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">default-directory</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">with-current-buffer</span> (<span style="color:#19177c">my/get-good-buffer</span> <span style="color:#19177c">'dired-mode</span> <span style="color:#ba2121">"Dired buffer: "</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">dired-current-directory</span>))))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">notmuch-show-save-part</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">notmuch-show-save-part</span>)))
|
||||
</span></span></code></pre></div><p>Attach files to ement.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/dired-attach-to-ement</span> (<span style="color:#19177c">files</span> <span style="color:#19177c">ement-buffer</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>
|
||||
|
|
@ -6194,6 +6204,11 @@ Some other optimization settings:</p>
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">'telega-msg-button-map</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"S"</span> <span style="color:#00f">#'</span><span style="color:#19177c">my/telega-save-to-dired</span>))
|
||||
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">with-eval-after-load</span> <span style="color:#19177c">'notmuch</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">'notmuch-show-mode-map</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#19177c">'normal</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">". s"</span> <span style="color:#00f">#'</span><span style="color:#19177c">my/notmuch-save-to-dired</span>))
|
||||
</span></span></code></pre></div><h3 id="shells-terminals">Shells / Terminals</h3>
|
||||
<h4 id="vterm">vterm</h4>
|
||||
<p>My terminal emulator of choice.</p>
|
||||
|
|
@ -9352,6 +9367,16 @@ Some other optimization settings:</p>
|
|||
</span></span></code></pre></div><p>Finally, something that I can bind to a key.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#19177c">my-leader-def</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"i"</span> <span style="color:#00f">#'</span><span style="color:#19177c">my/index-nav</span>)
|
||||
</span></span></code></pre></div><h4 id="export-tree">Export tree</h4>
|
||||
<p>I also need the tree to use in my <code>sqrt-data</code>, so let’s export this to JSON.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/index-export</span> (<span style="color:#19177c">file</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span> (<span style="color:#00f">list</span> (<span style="color:#19177c">read-file-name</span> <span style="color:#ba2121">"File: "</span> <span style="color:#ba2121">"~/logs-sync/data/index.json"</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">full-tree</span> (<span style="color:#19177c">my/index--tree-retrive</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">unless</span> (<span style="color:#00f">file-exists-p</span> (<span style="color:#00f">file-name-directory</span> <span style="color:#19177c">file</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">make-directory</span> (<span style="color:#00f">file-name-directory</span> <span style="color:#19177c">file</span>) <span style="color:#800">t</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">with-temp-file</span> <span style="color:#19177c">file</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">insert</span> (<span style="color:#19177c">json-encode</span> <span style="color:#19177c">full-tree</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">json-pretty-print-buffer</span>))))
|
||||
</span></span></code></pre></div><h3 id="utilities">Utilities</h3>
|
||||
<h4 id="pass">pass</h4>
|
||||
<p>I use <a href="https://www.passwordstore.org/">pass</a> as my password manager. Expectedly, there is Emacs frontend for it.</p>
|
||||
|
|
@ -9499,6 +9524,45 @@ Some other optimization settings:</p>
|
|||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#008000">setq</span> <span style="color:#19177c">calendar-latitude</span> <span style="color:#666">59.9375</span>)
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#008000">setq</span> <span style="color:#19177c">calendar-longitude</span> <span style="color:#666">30.308611</span>)
|
||||
</span></span></code></pre></div><h3 id="chess">Chess</h3>
|
||||
<h4 id="chess-dot-el">chess.el</h4>
|
||||
<p>chess.el is a package by John Wiegley.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">chess</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>)
|
||||
</span></span></code></pre></div><h4 id="render-pgn">Render PGN</h4>
|
||||
<p>A Python script to convert a PGN string to SVG:</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">import</span> <span style="color:#00f;font-weight:bold">chess</span>
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">import</span> <span style="color:#00f;font-weight:bold">chess.svg</span>
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">import</span> <span style="color:#00f;font-weight:bold">chess.pgn</span>
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">import</span> <span style="color:#00f;font-weight:bold">io</span>
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">import</span> <span style="color:#00f;font-weight:bold">sys</span>
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span>pgn <span style="color:#666">=</span> sys<span style="color:#666">.</span>argv[<span style="color:#666">1</span>]
|
||||
</span></span><span style="display:flex;"><span>out_file <span style="color:#666">=</span> sys<span style="color:#666">.</span>argv[<span style="color:#666">2</span>]
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span>game <span style="color:#666">=</span> chess<span style="color:#666">.</span>pgn<span style="color:#666">.</span>read_game(io<span style="color:#666">.</span>StringIO(pgn))
|
||||
</span></span><span style="display:flex;"><span>game <span style="color:#666">=</span> game<span style="color:#666">.</span>end()
|
||||
</span></span><span style="display:flex;"><span>board <span style="color:#666">=</span> game<span style="color:#666">.</span>board()
|
||||
</span></span><span style="display:flex;"><span>svg <span style="color:#666">=</span> chess<span style="color:#666">.</span>svg<span style="color:#666">.</span>board(board<span style="color:#666">=</span>board)
|
||||
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">with</span> <span style="color:#008000">open</span>(out_file, <span style="color:#ba2121">'w'</span>) <span style="color:#008000;font-weight:bold">as</span> f:
|
||||
</span></span><span style="display:flex;"><span> f<span style="color:#666">.</span>write(svg)
|
||||
</span></span></code></pre></div><p><code>python-chess</code> is installed in the <code>dev</code> profile because <code>python3</code> is also there.</p>
|
||||
<p>An <code>org-babel</code> block:</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">setq</span> <span style="color:#19177c">my/chess-python</span> <span style="color:#ba2121">"/home/pavel/.guix-extra-profiles/dev/dev/bin/python3"</span>)
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">org-babel-execute:pgn</span> (<span style="color:#19177c">body</span> <span style="color:#19177c">params</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">out-file</span> (<span style="color:#008000">or</span> (<span style="color:#19177c">alist-get</span> <span style="color:#008000">:file</span> <span style="color:#19177c">params</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-babel-temp-file</span> <span style="color:#ba2121">"pgn-"</span> <span style="color:#ba2121">".svg"</span>))))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-babel-eval</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">"%s %s '%s' '%s'"</span> <span style="color:#19177c">my/chess-python</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"~/bin/python-scripts/render_pgn.py"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">body</span> <span style="color:#19177c">out-file</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">""</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#800">nil</span>))
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defvar</span> <span style="color:#19177c">org-babel-default-header-args:pgn</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">'</span>((<span style="color:#008000">:results</span> <span style="color:#666">.</span> <span style="color:#ba2121">"file"</span>) (<span style="color:#008000">:exports</span> <span style="color:#666">.</span> <span style="color:#ba2121">"results"</span>))
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"Default arguments for evaluating a pgn source block."</span>)
|
||||
</span></span></code></pre></div><h3 id="fun">Fun</h3>
|
||||
<h4 id="discord-integration">Discord integration</h4>
|
||||
<p>Integration with Discord. Shows which file is being edited in Emacs.</p>
|
||||
|
|
@ -10248,6 +10312,7 @@ I’ve seen a couple of cases where people would swap their username and ema
|
|||
<li><a href="#org-tree">Org tree</a></li>
|
||||
<li><a href="#commands">Commands</a></li>
|
||||
<li><a href="#navigation">Navigation</a></li>
|
||||
<li><a href="#export-tree">Export tree</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#utilities">Utilities</a>
|
||||
|
|
@ -10268,6 +10333,12 @@ I’ve seen a couple of cases where people would swap their username and ema
|
|||
<li><a href="#calendar">Calendar</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#chess">Chess</a>
|
||||
<ul>
|
||||
<li><a href="#chess-dot-el">chess.el</a></li>
|
||||
<li><a href="#render-pgn">Render PGN</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#fun">Fun</a>
|
||||
<ul>
|
||||
<li><a href="#discord-integration">Discord integration</a></li>
|
||||
|
|
|
|||
BIN
stats/all.png
BIN
stats/all.png
Binary file not shown.
|
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 60 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 67 KiB |
Loading…
Add table
Reference in a new issue