This commit is contained in:
fido-node 2024-11-09 20:10:41 +00:00
parent af4b5d779a
commit 01a71bfc59
20 changed files with 493 additions and 381 deletions

View File

@ -1,11 +1,11 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta author="Alex Mikhailov"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="color-scheme" content="light dark"/><meta http-equiv="content-language" content="en-us"/><meta name="description" content="Personal page with a blog about my adventures in a world of tech things"/><meta property="og:description" content="Personal page with a blog about my adventures in a world of tech things"/><meta property="og:image" content="https://fidonode.me/resources/images/preview/index.org.png"/><meta property="og:title" content="Alex Mikhailov"/><meta name="twitter:description" content="Personal page with a blog about my adventures in a world of tech things"/><meta name="twitter:title" content="Alex Mikhailov"/><meta name="twitter:image" content="https://fidonode.me/resources/images/preview/index.org.png"/><meta name="twitter:card" content="summary_large_image"/><link rel="icon" type="image/x-icon" href="/resources/favicon.ico"/><link rel="stylesheet" type="text/css" href="/resources/css/pico.sand.min.css"/><script defer="true" src="https://umami.dokutsu.xyz/script.js" data-website-id="d52d9af1-0c7d-4531-84c6-0b9c2850011f"></script><title>Alex Mikhailov</title></head><body><header class="header"><div class="container"><nav><ul><li><strong>Alex Mikhailov</strong></li></ul><ul><li><a href="/index.html">About</a></li><li><a href="/posts.html">Blog</a></li><li><a href="/rss.xml">RSS</a></li></ul></nav></div></header><main class="container">
<div id="org6f5d8bd" class="figure">
<div id="orgaff836d" class="figure">
<p><img src="./resources/images/index/avatar.jpg" alt="avatar.jpg" />
</p>
</div>
<div id="outline-container-org6305acf" class="outline-2">
<h2 id="org6305acf">&nbsp;</h2>
<div class="outline-text-2" id="text-org6305acf">
<div id="outline-container-org4a993e9" class="outline-2">
<h2 id="org4a993e9">&nbsp;</h2>
<div class="outline-text-2" id="text-org4a993e9">
<p>
Full stack engineer
FP-curious | λ-affected
@ -13,9 +13,9 @@ Wanna be rustacean 🦀 and/or secops guy 🔒
</p>
</div>
</div>
<div id="outline-container-org505e4b3" class="outline-2">
<h2 id="org505e4b3">Experience</h2>
<div class="outline-text-2" id="text-org505e4b3">
<div id="outline-container-orgc3a3ccc" class="outline-2">
<h2 id="orgc3a3ccc">Experience</h2>
<div class="outline-text-2" id="text-orgc3a3ccc">
<ul class="org-ul">
<li>Current position <a href="https://www.samsungfood.com/">@SamsungFood</a>.
Internal tools engineer for data platform ➡ Internal tools engineer for developers.</li>
@ -24,9 +24,9 @@ Fullstack engineer.</li>
</ul>
</div>
</div>
<div id="outline-container-orga9508a5" class="outline-2">
<h2 id="orga9508a5">Technologies</h2>
<div class="outline-text-2" id="text-orga9508a5">
<div id="outline-container-orgee51143" class="outline-2">
<h2 id="orgee51143">Technologies</h2>
<div class="outline-text-2" id="text-orgee51143">
<p>
Work with:
</p>
@ -43,9 +43,9 @@ Work with:
</ul>
</div>
</div>
<div id="outline-container-org56da0cb" class="outline-2">
<h2 id="org56da0cb">Contacts</h2>
<div class="outline-text-2" id="text-org56da0cb">
<div id="outline-container-orgbfe2569" class="outline-2">
<h2 id="orgbfe2569">Contacts</h2>
<div class="outline-text-2" id="text-orgbfe2569">
<p>
Contact me via:
</p>

View File

@ -1,11 +1,11 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta author="Alex Mikhailov"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="color-scheme" content="light dark"/><meta http-equiv="content-language" content="en-us"/><meta name="description" content="Index page for my blog"/><meta property="og:description" content="Index page for my blog"/><meta property="og:image" content="https://fidonode.me/resources/images/preview/posts.org.png"/><meta property="og:title" content="Alex Mikhailov - Blog"/><meta name="twitter:description" content="Index page for my blog"/><meta name="twitter:title" content="Alex Mikhailov - Blog"/><meta name="twitter:image" content="https://fidonode.me/resources/images/preview/posts.org.png"/><meta name="twitter:card" content="summary_large_image"/><link rel="icon" type="image/x-icon" href="/resources/favicon.ico"/><link rel="stylesheet" type="text/css" href="/resources/css/pico.sand.min.css"/><script defer="true" src="https://umami.dokutsu.xyz/script.js" data-website-id="d52d9af1-0c7d-4531-84c6-0b9c2850011f"></script><title>Alex Mikhailov - Blog</title></head><body><header class="header"><div class="container"><nav><ul><li><strong>Alex Mikhailov</strong></li></ul><ul><li><a href="/index.html">About</a></li><li><a href="/posts.html">Blog</a></li><li><a href="/rss.xml">RSS</a></li></ul></nav></div></header><main class="container">
<div id="outline-container-orgd1d7df1" class="outline-2">
<h2 id="orgd1d7df1">Posts</h2>
<div class="outline-text-2" id="text-orgd1d7df1">
<div id="outline-container-org9999932" class="outline-2">
<h2 id="org9999932">Posts</h2>
<div class="outline-text-2" id="text-org9999932">
</div>
<div id="outline-container-org8d968de" class="outline-3">
<h3 id="org8d968de"><a href="./posts/blog_index_and_tags_automation.html">Blog index and tags automation</a></h3>
<div class="outline-text-3" id="text-org8d968de">
<div id="outline-container-org011b92d" class="outline-3">
<h3 id="org011b92d"><a href="./posts/blog_index_and_tags_automation.html">Blog index and tags automation</a></h3>
<div class="outline-text-3" id="text-org011b92d">
<p>
Let's add tags to blog posts
</p>
@ -20,9 +20,9 @@ drafted on 2024-07-05
</p>
</div>
</div>
<div id="outline-container-org4ca5250" class="outline-3">
<h3 id="org4ca5250"><a href="./posts/posts_preview.html">Posts preview</a></h3>
<div class="outline-text-3" id="text-org4ca5250">
<div id="outline-container-org7b62b1d" class="outline-3">
<h3 id="org7b62b1d"><a href="./posts/posts_preview.html">Posts preview</a></h3>
<div class="outline-text-3" id="text-org7b62b1d">
<p>
Add post preview for OpenGraph cards
</p>
@ -37,9 +37,9 @@ drafted on 2024-06-28
</p>
</div>
</div>
<div id="outline-container-org2ad5040" class="outline-3">
<h3 id="org2ad5040"><a href="./posts/improve_code_blocks.html">Improve code blocks</a></h3>
<div class="outline-text-3" id="text-org2ad5040">
<div id="outline-container-org8bbdb03" class="outline-3">
<h3 id="org8bbdb03"><a href="./posts/improve_code_blocks.html">Improve code blocks</a></h3>
<div class="outline-text-3" id="text-org8bbdb03">
<p>
Use highlight.js for code syntax highlighting
</p>
@ -54,9 +54,9 @@ drafted on 2024-06-25
</p>
</div>
</div>
<div id="outline-container-org02f7178" class="outline-3">
<h3 id="org02f7178"><a href="./posts/add_rss_to_blog.html">Org blog with RSS</a></h3>
<div class="outline-text-3" id="text-org02f7178">
<div id="outline-container-org65884e8" class="outline-3">
<h3 id="org65884e8"><a href="./posts/add_rss_to_blog.html">Org blog with RSS</a></h3>
<div class="outline-text-3" id="text-org65884e8">
<p>
Let's add RSS feed to blog
</p>
@ -71,9 +71,9 @@ drafted on 2024-06-23
</p>
</div>
</div>
<div id="outline-container-org78a75fb" class="outline-3">
<h3 id="org78a75fb"><a href="./posts/about_blog.html">Org to HTML and back</a></h3>
<div class="outline-text-3" id="text-org78a75fb">
<div id="outline-container-org682166e" class="outline-3">
<h3 id="org682166e"><a href="./posts/about_blog.html">Org to HTML and back</a></h3>
<div class="outline-text-3" id="text-org682166e">
<p>
Blog post about publishing my blog with Org Mode
</p>
@ -88,9 +88,9 @@ drafted on 2024-06-22
</p>
</div>
</div>
<div id="outline-container-org2be2739" class="outline-3">
<h3 id="org2be2739"><a href="./posts/keeb.html">My keyboard journey</a></h3>
<div class="outline-text-3" id="text-org2be2739">
<div id="outline-container-orga695d27" class="outline-3">
<h3 id="orga695d27"><a href="./posts/keeb.html">My keyboard journey</a></h3>
<div class="outline-text-3" id="text-orga695d27">
<p>
Blog post about my keyboards
</p>
@ -106,33 +106,33 @@ drafted on 2024-06-05
</div>
</div>
</div>
<div id="outline-container-org527207e" class="outline-2">
<h2 id="org527207e">Tags</h2>
<div class="outline-text-2" id="text-org527207e">
<div id="outline-container-orgdf66c67" class="outline-2">
<h2 id="orgdf66c67">Tags</h2>
<div class="outline-text-2" id="text-orgdf66c67">
</div>
<div id="outline-container-orgb6fe330" class="outline-3">
<h3 id="orgb6fe330"><a href="./tags/@org-mode.html">@org-mode</a> (5)</h3>
<div id="outline-container-orga0203c3" class="outline-3">
<h3 id="orga0203c3"><a href="./tags/@org-mode.html">@org-mode</a> (5)</h3>
</div>
<div id="outline-container-orge8f7fdc" class="outline-3">
<h3 id="orge8f7fdc"><a href="./tags/@elisp.html">@elisp</a> (4)</h3>
<div id="outline-container-org7bfdf0f" class="outline-3">
<h3 id="org7bfdf0f"><a href="./tags/@elisp.html">@elisp</a> (4)</h3>
</div>
<div id="outline-container-org55d5fe5" class="outline-3">
<h3 id="org55d5fe5"><a href="./tags/@rss.html">@rss</a> (1)</h3>
<div id="outline-container-orgd49f2ba" class="outline-3">
<h3 id="orgd49f2ba"><a href="./tags/@rss.html">@rss</a> (1)</h3>
</div>
<div id="outline-container-orgd806bd3" class="outline-3">
<h3 id="orgd806bd3"><a href="./tags/@tags.html">@tags</a> (1)</h3>
<div id="outline-container-org491f4c4" class="outline-3">
<h3 id="org491f4c4"><a href="./tags/@tags.html">@tags</a> (1)</h3>
</div>
<div id="outline-container-org505a707" class="outline-3">
<h3 id="org505a707"><a href="./tags/@highlightjs.html">@highlightjs</a> (1)</h3>
<div id="outline-container-org91dbd90" class="outline-3">
<h3 id="org91dbd90"><a href="./tags/@highlightjs.html">@highlightjs</a> (1)</h3>
</div>
<div id="outline-container-org119da93" class="outline-3">
<h3 id="org119da93"><a href="./tags/@keeb.html">@keeb</a> (1)</h3>
<div id="outline-container-org1a58bb6" class="outline-3">
<h3 id="org1a58bb6"><a href="./tags/@keeb.html">@keeb</a> (1)</h3>
</div>
<div id="outline-container-org870cdcc" class="outline-3">
<h3 id="org870cdcc"><a href="./tags/@diy.html">@diy</a> (1)</h3>
<div id="outline-container-org08fda85" class="outline-3">
<h3 id="org08fda85"><a href="./tags/@diy.html">@diy</a> (1)</h3>
</div>
<div id="outline-container-org588dbc1" class="outline-3">
<h3 id="org588dbc1"><a href="./tags/@imagemagick.html">@imagemagick</a> (1)</h3>
<div id="outline-container-org46ccc80" class="outline-3">
<h3 id="org46ccc80"><a href="./tags/@imagemagick.html">@imagemagick</a> (1)</h3>
</div>
</div>
</main><footer class="footer"><div class="container"><hr/><small><p>Alex Mikhailov</p><p>Built with: <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a> <a href="https://orgmode.org/">Org Mode</a> <a href="https://picocss.com/">picocss</a></p></small></div></footer></body></html>

View File

@ -2,44 +2,44 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#orgedb364a">Disclaimer</a></li>
<li><a href="#orga42dce8">What is Org?</a></li>
<li><a href="#org6825490">Why Org Mode?</a></li>
<li><a href="#org541310a">Render Org to blog or whatever</a>
<li><a href="#org98c997d">Disclaimer</a></li>
<li><a href="#org52886b0">What is Org?</a></li>
<li><a href="#org96925dc">Why Org Mode?</a></li>
<li><a href="#org58ca260">Render Org to blog or whatever</a>
<ul>
<li><a href="#orgd4d22c9">Render HTML</a></li>
<li><a href="#org9f614ac">Static files</a></li>
<li><a href="#org6179794">Whole build script</a></li>
<li><a href="#org7a403ab">Render HTML</a></li>
<li><a href="#org3f73524">Static files</a></li>
<li><a href="#orge802c30">Whole build script</a></li>
</ul>
</li>
<li><a href="#org1d7e7ce">Publish through GitHub Action</a>
<li><a href="#org721f45d">Publish through GitHub Action</a>
<ul>
<li><a href="#org4a4507d">Install Emacs</a></li>
<li><a href="#orgc52938a">Just bring everything</a></li>
<li><a href="#org39efcee">BTW I use GNU Emacs</a></li>
<li><a href="#org3e853cb">Install Emacs</a></li>
<li><a href="#org9e433e6">Just bring everything</a></li>
<li><a href="#org6b1febc">BTW I use GNU Emacs</a></li>
</ul>
</li>
<li><a href="#org7bc0fc6">What is next</a>
<li><a href="#orgffb06c3">What is next</a>
<ul>
<li><a href="#org370974f">RSS Feed</a></li>
<li><a href="#org71f3ad7">Open Graph image preview</a></li>
<li><a href="#org1be39ca">Code highlighting</a></li>
<li><a href="#orgfe230fa">RSS Feed</a></li>
<li><a href="#org75be7c5">Open Graph image preview</a></li>
<li><a href="#org8e08eeb">Code highlighting</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-orgedb364a" class="outline-2">
<h2 id="orgedb364a">Disclaimer</h2>
<div class="outline-text-2" id="text-orgedb364a">
<div id="outline-container-org98c997d" class="outline-2">
<h2 id="org98c997d">Disclaimer</h2>
<div class="outline-text-2" id="text-org98c997d">
<p>
I'm neither proficient in Org Mode (further on "Org"), nor a good front-end engineer. I think that a simple solution is better than no solution. If you see a mistake, you can contact me via <a href="mailto:iam@fidonode.me">iam@fidonode.me</a>.
</p>
</div>
</div>
<div id="outline-container-orga42dce8" class="outline-2">
<h2 id="orga42dce8">What is Org?</h2>
<div class="outline-text-2" id="text-orga42dce8">
<div id="outline-container-org52886b0" class="outline-2">
<h2 id="org52886b0">What is Org?</h2>
<div class="outline-text-2" id="text-org52886b0">
<blockquote>
<p>
Your life in plain text
@ -55,9 +55,9 @@ Everything you can do in Org is to write a text. With a special markup, of cours
</div>
</div>
<div id="outline-container-org6825490" class="outline-2">
<h2 id="org6825490">Why Org Mode?</h2>
<div class="outline-text-2" id="text-org6825490">
<div id="outline-container-org96925dc" class="outline-2">
<h2 id="org96925dc">Why Org Mode?</h2>
<div class="outline-text-2" id="text-org96925dc">
<ol class="org-ol">
<li>Plain text.
Plain text as a data source offers significant versatility. You can read and understand what happens in org files without needing Emacs.</li>
@ -69,16 +69,16 @@ I do not have a habit of collecting and keeping information. I believe that disc
</div>
</div>
<div id="outline-container-org541310a" class="outline-2">
<h2 id="org541310a">Render Org to blog or whatever</h2>
<div class="outline-text-2" id="text-org541310a">
<div id="outline-container-org58ca260" class="outline-2">
<h2 id="org58ca260">Render Org to blog or whatever</h2>
<div class="outline-text-2" id="text-org58ca260">
<p>
Org already has a way to render files into HTML, allowing you to create simple HTML files with minimal styling. I'm not interesting in styling from org, so I decide to use <a href="https://picocss.com">picocss</a> framework.
</p>
</div>
<div id="outline-container-orgd4d22c9" class="outline-3">
<h3 id="orgd4d22c9">Render HTML</h3>
<div class="outline-text-3" id="text-orgd4d22c9">
<div id="outline-container-org7a403ab" class="outline-3">
<h3 id="org7a403ab">Render HTML</h3>
<div class="outline-text-3" id="text-org7a403ab">
<p>
I want to change some templates here and there. I've found <code>esxml</code> package. It is a decent DSL for writing XML/HTML.
Here is how page header and footer look in this DSL.
@ -183,9 +183,9 @@ So everything is almost done. Time to use our custom publishing function in proj
</code></pre>
</div>
</div>
<div id="outline-container-org9f614ac" class="outline-3">
<h3 id="org9f614ac">Static files</h3>
<div class="outline-text-3" id="text-org9f614ac">
<div id="outline-container-org3f73524" class="outline-3">
<h3 id="org3f73524">Static files</h3>
<div class="outline-text-3" id="text-org3f73524">
<p>
Yep, you may want to publish some photos with your blog or any other static files.
</p>
@ -205,9 +205,9 @@ Looks self explanatory.
</p>
</div>
</div>
<div id="outline-container-org6179794" class="outline-3">
<h3 id="org6179794">Whole build script</h3>
<div class="outline-text-3" id="text-org6179794">
<div id="outline-container-orge802c30" class="outline-3">
<h3 id="orge802c30">Whole build script</h3>
<div class="outline-text-3" id="text-orge802c30">
<p>
Here is the whole elisp script which I use to publish my blog. It have some additional quirks to work with <code class="src src-sh">doomscript ./build-site.el</code>.
</p>
@ -365,9 +365,9 @@ Here is the whole elisp script which I use to publish my blog. It have some addi
</div>
</div>
<div id="outline-container-org1d7e7ce" class="outline-2">
<h2 id="org1d7e7ce">Publish through GitHub Action</h2>
<div class="outline-text-2" id="text-org1d7e7ce">
<div id="outline-container-org721f45d" class="outline-2">
<h2 id="org721f45d">Publish through GitHub Action</h2>
<div class="outline-text-2" id="text-org721f45d">
<p>
With all previous preparations, this step sounds simple like: <code class="src src-sh">emacs -Q --script ./build-site.el</code>
I've chosen a pretty standard way to publish static sites through GitHub Pages. Since I keep my Org files in a private repo, I need some additional steps to address it. I use the <code>peaceiris/actions-gh-pages@v3</code> action to publish from my Org repo to the Pages repo.
@ -375,9 +375,9 @@ However, since I use <code>Doom Emacs</code> as my configuration framework, we n
</p>
</div>
<div id="outline-container-org4a4507d" class="outline-3">
<h3 id="org4a4507d">Install Emacs</h3>
<div class="outline-text-3" id="text-org4a4507d">
<div id="outline-container-org3e853cb" class="outline-3">
<h3 id="org3e853cb">Install Emacs</h3>
<div class="outline-text-3" id="text-org3e853cb">
<p>
If you want to run <code>Emacs Lisp</code>, you need the whole Emacs, at least without GUI. In a GitHub Action, you can simply run:
</p>
@ -388,9 +388,9 @@ This way has a downside - you will install Emacs on each action run since the sy
</p>
</div>
</div>
<div id="outline-container-orgc52938a" class="outline-3">
<h3 id="orgc52938a">Just bring everything</h3>
<div class="outline-text-3" id="text-orgc52938a">
<div id="outline-container-org9e433e6" class="outline-3">
<h3 id="org9e433e6">Just bring everything</h3>
<div class="outline-text-3" id="text-org9e433e6">
<p>
I need to take extra steps since I use Doom Emacs and have my configs in Org. You may also need to install dependencies for your configuration.
</p>
@ -426,9 +426,9 @@ Of course, I use a caching step to make the whole process faster:
</div>
</div>
<div id="outline-container-org39efcee" class="outline-3">
<h3 id="org39efcee">BTW I use GNU Emacs</h3>
<div class="outline-text-3" id="text-org39efcee">
<div id="outline-container-org6b1febc" class="outline-3">
<h3 id="org6b1febc">BTW I use GNU Emacs</h3>
<div class="outline-text-3" id="text-org6b1febc">
<p>
Here's the whole publishing workflow.
</p>
@ -507,21 +507,21 @@ jobs:
</div>
</div>
</div>
<div id="outline-container-org7bc0fc6" class="outline-2">
<h2 id="org7bc0fc6">What is next</h2>
<div class="outline-text-2" id="text-org7bc0fc6">
<div id="outline-container-orgffb06c3" class="outline-2">
<h2 id="orgffb06c3">What is next</h2>
<div class="outline-text-2" id="text-orgffb06c3">
<p>
I have a plans to make posts about next features:
</p>
</div>
<div id="outline-container-org370974f" class="outline-3">
<h3 id="org370974f"><a href="./add_rss_to_blog.html">RSS Feed</a></h3>
<div id="outline-container-orgfe230fa" class="outline-3">
<h3 id="orgfe230fa"><a href="./add_rss_to_blog.html">RSS Feed</a></h3>
</div>
<div id="outline-container-org71f3ad7" class="outline-3">
<h3 id="org71f3ad7"><a href="./posts_preview.html">Open Graph image preview</a></h3>
<div id="outline-container-org75be7c5" class="outline-3">
<h3 id="org75be7c5"><a href="./posts_preview.html">Open Graph image preview</a></h3>
</div>
<div id="outline-container-org1be39ca" class="outline-3">
<h3 id="org1be39ca"><a href="./improve_code_blocks.html">Code highlighting</a></h3>
<div id="outline-container-org8e08eeb" class="outline-3">
<h3 id="org8e08eeb"><a href="./improve_code_blocks.html">Code highlighting</a></h3>
</div>
</div>
</main><footer class="footer"><div class="container"><hr/><small><p>Alex Mikhailov</p><p>Built with: <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a> <a href="https://orgmode.org/">Org Mode</a> <a href="https://picocss.com/">picocss</a></p></small></div></footer></body></html>

View File

@ -2,34 +2,34 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org38b9267">Why do you even need RSS?</a></li>
<li><a href="#orge4dfb04">Add RSS feed</a>
<li><a href="#org1f81ef0">Why do you even need RSS?</a></li>
<li><a href="#orgd8cf0e3">Add RSS feed</a>
<ul>
<li><a href="#orgc5cac6e">Use sitemap backend in the build</a></li>
<li><a href="#orgb199de3">Publishing and formatting functions</a></li>
<li><a href="#orgf1fa9c5">Use sitemap backend in the build</a></li>
<li><a href="#org8913545">Publishing and formatting functions</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org38b9267" class="outline-2">
<h2 id="org38b9267">Why do you even need RSS?</h2>
<div class="outline-text-2" id="text-org38b9267">
<div id="outline-container-org1f81ef0" class="outline-2">
<h2 id="org1f81ef0">Why do you even need RSS?</h2>
<div class="outline-text-2" id="text-org1f81ef0">
<p>
RSS might seem like an outdated, marginal thing. But it still has at least one benefit—you can use an RSS feed as a sitemap for search engines. Plus, it's pretty geeky.
</p>
</div>
</div>
<div id="outline-container-orge4dfb04" class="outline-2">
<h2 id="orge4dfb04">Add RSS feed</h2>
<div class="outline-text-2" id="text-orge4dfb04">
<div id="outline-container-orgd8cf0e3" class="outline-2">
<h2 id="orgd8cf0e3">Add RSS feed</h2>
<div class="outline-text-2" id="text-orgd8cf0e3">
<p>
So, what's happening here? Let's start by integrating our templating functions into the build.
</p>
</div>
<div id="outline-container-orgc5cac6e" class="outline-3">
<h3 id="orgc5cac6e">Use sitemap backend in the build</h3>
<div class="outline-text-3" id="text-orgc5cac6e">
<div id="outline-container-orgf1fa9c5" class="outline-3">
<h3 id="orgf1fa9c5">Use sitemap backend in the build</h3>
<div class="outline-text-3" id="text-orgf1fa9c5">
<pre><code class="language-lisp">(setq org-publish-project-alist
(list
(list &quot;blog-rss&quot;
@ -59,9 +59,9 @@ How does it work? As you can see, we use the default sitemap generator from Org
</p>
</div>
</div>
<div id="outline-container-orgb199de3" class="outline-3">
<h3 id="orgb199de3">Publishing and formatting functions</h3>
<div class="outline-text-3" id="text-orgb199de3">
<div id="outline-container-org8913545" class="outline-3">
<h3 id="org8913545">Publishing and formatting functions</h3>
<div class="outline-text-3" id="text-org8913545">
<p>
We need a mandatory dependency because we don't want to mess with forming correct XML by ourselves.
</p>

View File

@ -2,31 +2,31 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org2a798ca">Tags.</a>
<li><a href="#org8ef31ad">Tags.</a>
<ul>
<li><a href="#orgc02e97d">Automate tags.</a></li>
<li><a href="#org0e4d989">Automate tags.</a></li>
</ul>
</li>
<li><a href="#org8382cf9">Posts index.</a>
<li><a href="#org86b7386">Posts index.</a>
<ul>
<li><a href="#org801d57c">Posts index automation.</a></li>
<li><a href="#org9426659">Posts index automation.</a></li>
</ul>
</li>
<li><a href="#org20cf180">Cons.</a></li>
<li><a href="#orgff85975">Whole config.</a></li>
<li><a href="#orgef824ff">Cons.</a></li>
<li><a href="#orgd567ba3">Whole config.</a></li>
</ul>
</div>
</div>
<div id="outline-container-org2a798ca" class="outline-2">
<h2 id="org2a798ca">Tags.</h2>
<div class="outline-text-2" id="text-org2a798ca">
<div id="outline-container-org8ef31ad" class="outline-2">
<h2 id="org8ef31ad">Tags.</h2>
<div class="outline-text-2" id="text-org8ef31ad">
<p>
Tags are a nice and easy way to organize posts without explicit search. In the simplest way, you have a list of tags in posts, and each tag links to a page with all posts having the corresponding tag. It is also helpful to have a page with all tags available in the blog. And, of course, I don't want to maintain the list of tags manually.
</p>
</div>
<div id="outline-container-orgc02e97d" class="outline-3">
<h3 id="orgc02e97d">Automate tags.</h3>
<div class="outline-text-3" id="text-orgc02e97d">
<div id="outline-container-org0e4d989" class="outline-3">
<h3 id="org0e4d989">Automate tags.</h3>
<div class="outline-text-3" id="text-org0e4d989">
<p>
Simple idea - go through all files, collect titles, dates and descriptions, render into org files. Easy peazy lemon squezy.
Let me show you parts of function body.
@ -113,16 +113,16 @@ Resulting page example: <a href="https://fidonode.me/tags/@org-mode">@org-mode</
</div>
</div>
</div>
<div id="outline-container-org8382cf9" class="outline-2">
<h2 id="org8382cf9">Posts index.</h2>
<div class="outline-text-2" id="text-org8382cf9">
<div id="outline-container-org86b7386" class="outline-2">
<h2 id="org86b7386">Posts index.</h2>
<div class="outline-text-2" id="text-org86b7386">
<p>
Previously, I maintained a list of posts manually. Now that I have more than 5 posts, I no longer want to do it by hand. So, after introducing tags, I've decided to automate the page with the list of posts. The same idea, almost the same data, will be integrated into the same file. Pagination has not yet been implemented and is not planned.
</p>
</div>
<div id="outline-container-org801d57c" class="outline-3">
<h3 id="org801d57c">Posts index automation.</h3>
<div class="outline-text-3" id="text-org801d57c">
<div id="outline-container-org9426659" class="outline-3">
<h3 id="org9426659">Posts index automation.</h3>
<div class="outline-text-3" id="text-org9426659">
<p>
Here is the part of function which renders list of posts and list of tags with number of posts in each tag category.
</p>
@ -170,17 +170,17 @@ Here is an example of resulting page: <a href="https://fidonode.me/posts">Posts<
</div>
</div>
</div>
<div id="outline-container-org20cf180" class="outline-2">
<h2 id="org20cf180">Cons.</h2>
<div class="outline-text-2" id="text-org20cf180">
<div id="outline-container-orgef824ff" class="outline-2">
<h2 id="orgef824ff">Cons.</h2>
<div class="outline-text-2" id="text-orgef824ff">
<p>
Now, with the way the rendering function is integrated into the process, it is called when going through each Org file found by Org-Export. This introduces O(n<sup>2</sup>) complexity. It's not ideal, but never mind, I will redo it before reaching the 100th post.
</p>
</div>
</div>
<div id="outline-container-orgff85975" class="outline-2">
<h2 id="orgff85975">Whole config.</h2>
<div class="outline-text-2" id="text-orgff85975">
<div id="outline-container-orgd567ba3" class="outline-2">
<h2 id="orgd567ba3">Whole config.</h2>
<div class="outline-text-2" id="text-orgd567ba3">
<p>
As usual, between posts, I decided to tackle a whole bunch of small tasks, so here is the entire config. I'm thinking about splitting the exporter into modules and maybe open-sourcing it properly.
A neat thing I've implemented is a way to filter out unpublished posts using a <code>PUBLISHED</code> property. This allows me to work on drafts without affecting the blog's current state.

View File

@ -2,33 +2,33 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org521a820">What is the problem with default highlighting?</a></li>
<li><a href="#org9f171d1">Highlight.js</a>
<li><a href="#orgd0a425a">What is the problem with default highlighting?</a></li>
<li><a href="#org712f60e">Highlight.js</a>
<ul>
<li><a href="#org0528b94">Change code block template</a></li>
<li><a href="#orgfaa24df">Plug Highlight.js</a></li>
<li><a href="#orged96e63">Respect prefers-color-scheme</a></li>
<li><a href="#orgcd43fbb">Change code block template</a></li>
<li><a href="#orgb412f22">Plug Highlight.js</a></li>
<li><a href="#org5179bb6">Respect prefers-color-scheme</a></li>
</ul>
</li>
<li><a href="#org6d3725a">Whole config</a></li>
<li><a href="#orgedc7142">Whole config</a></li>
</ul>
</div>
</div>
<div id="outline-container-org521a820" class="outline-2">
<h2 id="org521a820">What is the problem with default highlighting?</h2>
<div class="outline-text-2" id="text-org521a820">
<div id="outline-container-orgd0a425a" class="outline-2">
<h2 id="orgd0a425a">What is the problem with default highlighting?</h2>
<div class="outline-text-2" id="text-orgd0a425a">
<p>
Htmlize works poorly with headless publishing. It lacks extensibility, including features like line numbers, a copy button, and the ability to highlight predefined parts of the code.
</p>
</div>
</div>
<div id="outline-container-org9f171d1" class="outline-2">
<h2 id="org9f171d1">Highlight.js</h2>
<div class="outline-text-2" id="text-org9f171d1">
<div id="outline-container-org712f60e" class="outline-2">
<h2 id="org712f60e">Highlight.js</h2>
<div class="outline-text-2" id="text-org712f60e">
</div>
<div id="outline-container-org0528b94" class="outline-3">
<h3 id="org0528b94">Change code block template</h3>
<div class="outline-text-3" id="text-org0528b94">
<div id="outline-container-orgcd43fbb" class="outline-3">
<h3 id="orgcd43fbb">Change code block template</h3>
<div class="outline-text-3" id="text-orgcd43fbb">
<p>
We need to make small changes in how code blocks are rendered. By default, Org Export exports code blocks as <code>&lt;pre&gt;&lt;/pre&gt;</code>. For Highlight.js, we need <code>&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;</code>. Additionally, we need to set the correct language name in the class attribute. Since Highlight.js does not support <code>elisp</code>, I rewrite it to regular <code>lisp</code> using the <code>my/replace-substring</code> function.
</p>
@ -69,9 +69,9 @@ CONTENTS is nil. INFO is a plist holding contextual information.&quot;
</code></pre>
</div>
</div>
<div id="outline-container-orgfaa24df" class="outline-3">
<h3 id="orgfaa24df">Plug Highlight.js</h3>
<div class="outline-text-3" id="text-orgfaa24df">
<div id="outline-container-orgb412f22" class="outline-3">
<h3 id="orgb412f22">Plug Highlight.js</h3>
<div class="outline-text-3" id="text-orgb412f22">
<p>
I do not want to load Highlight.js on every page, so I need to check if the initial Org file contains code blocks. Depending on this, we will render the part of the tree with JavaScript or not.
</p>
@ -105,9 +105,9 @@ I do not want to load Highlight.js on every page, so I need to check if the init
</code></pre>
</div>
</div>
<div id="outline-container-orged96e63" class="outline-3">
<h3 id="orged96e63">Respect prefers-color-scheme</h3>
<div class="outline-text-3" id="text-orged96e63">
<div id="outline-container-org5179bb6" class="outline-3">
<h3 id="org5179bb6">Respect prefers-color-scheme</h3>
<div class="outline-text-3" id="text-org5179bb6">
<p>
Additionally, I think it's a good idea to respect the <code>prefers-color-scheme</code> property of the user's browser. We can switch CSS files based on this property. We should also subscribe to changes in this property to handle the edge case when it switches while reading the page.
</p>
@ -142,9 +142,9 @@ window
</div>
</div>
<div id="outline-container-org6d3725a" class="outline-2">
<h2 id="org6d3725a">Whole config</h2>
<div class="outline-text-2" id="text-org6d3725a">
<div id="outline-container-orgedc7142" class="outline-2">
<h2 id="orgedc7142">Whole config</h2>
<div class="outline-text-2" id="text-orgedc7142">
<p>
In between posts I've switched from <code>sxml</code> to <code>esxml</code> so here is the current config.
</p>

View File

@ -2,58 +2,58 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org3744524">My end-game (at least I hope) keyboard</a>
<li><a href="#orgd1b339a">My end-game (at least I hope) keyboard</a>
<ul>
<li><a href="#orgafd3682">Keebs path</a>
<li><a href="#org0f1c9a4">Keebs path</a>
<ul>
<li><a href="#orgbf313b8">Dactyl manuform</a></li>
<li><a href="#org7f1099e">Moonlander</a></li>
<li><a href="#org00adac4">Custom Corne</a></li>
<li><a href="#orgbd0b9c0">Dactyl manuform again</a></li>
<li><a href="#org58a45af">Dactyl manuform</a></li>
<li><a href="#orgc9ea359">Moonlander</a></li>
<li><a href="#orgc3a4d11">Custom Corne</a></li>
<li><a href="#orge9766b6">Dactyl manuform again</a></li>
</ul>
</li>
<li><a href="#orgfa1511b">Hardware</a>
<li><a href="#orgacf43a4">Hardware</a>
<ul>
<li><a href="#org8d3fbdb">Body</a></li>
<li><a href="#org77fdaaa">Switches and caps</a></li>
<li><a href="#org3deff81">Controllers</a></li>
<li><a href="#org97162a6">Amoeba things</a></li>
<li><a href="#orgaf1804c">Body</a></li>
<li><a href="#orgab66ef9">Switches and caps</a></li>
<li><a href="#org899a8dc">Controllers</a></li>
<li><a href="#org2d5d764">Amoeba things</a></li>
</ul>
</li>
<li><a href="#orgba0603e">Software</a>
<li><a href="#org672a9af">Software</a>
<ul>
<li><a href="#orgedb2147">Plain default - QMK</a></li>
<li><a href="#orgbcee16e">Make own layout</a></li>
<li><a href="#org85c5d9e">Plain default - QMK</a></li>
<li><a href="#org045bce3">Make own layout</a></li>
</ul>
</li>
<li><a href="#orga34f3c5">Whats next?</a></li>
<li><a href="#org2536fe9">Whats next?</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org3744524" class="outline-2">
<h2 id="org3744524">My end-game (at least I hope) keyboard</h2>
<div class="outline-text-2" id="text-org3744524">
<div id="outline-container-orgd1b339a" class="outline-2">
<h2 id="orgd1b339a">My end-game (at least I hope) keyboard</h2>
<div class="outline-text-2" id="text-orgd1b339a">
</div>
<div id="outline-container-orgafd3682" class="outline-3">
<h3 id="orgafd3682">Keebs path</h3>
<div class="outline-text-3" id="text-orgafd3682">
<div id="outline-container-org0f1c9a4" class="outline-3">
<h3 id="org0f1c9a4">Keebs path</h3>
<div class="outline-text-3" id="text-org0f1c9a4">
<p>
Sometimes I think about the long journey I've made with keebs. In childhood, I had decent membrane keyboards, most of which had an ergonomic profile like the MS. Not sure if it somehow affected my taste because I started my career with the simplest, cheapest board and typed countless lines of code on such keebs. Then I heard about clickity-clack mechanical keyboards and decided to try one. It was a simple Chinese keeb with a thick metal body, double-shot caps, and Cherry Brown switches. A decent thing to annoy everyone around you. I think this purchase marked my dive into mech keebs
I'm not a geeky aficionado who thinks you can fix everything with a new keyboard, but I built a couple of them. I hope I've finally built the last one for quite some time.
</p>
</div>
<div id="outline-container-orgbf313b8" class="outline-4">
<h4 id="orgbf313b8">Dactyl manuform</h4>
<div class="outline-text-4" id="text-orgbf313b8">
<div id="outline-container-org58a45af" class="outline-4">
<h4 id="org58a45af">Dactyl manuform</h4>
<div class="outline-text-4" id="text-org58a45af">
<p>
Almost all of the time, I struggle with my maximalism. So I decided to build the ultimate mechanical ergonomic split keyboard and chose the Dactyl Manuform. Sounds like a crazy idea. Zero experience with QMK, zero experience with hand-wired keyboards, and zero experience in 3D printing.
The last problem was the easiest one; I just asked my friend to print the bodies from PETG polymer, and Bob's your uncle. I got two pieces of rough-layered plastic with all the support structures. God, it was a nightmare to clean these prints from supports and small artifacts, but I was happy.
</p>
<div id="org6ca53ce" class="figure">
<div id="org3280b78" class="figure">
<p><img src="../resources/images/keeb/dactyl-manuform-6.jpg" alt="dactyl-manuform-6.jpg" />
</p>
</div>
@ -63,25 +63,25 @@ I ordered a set of Kailh Brown switches, cheap no-name DSA caps, two controllers
</p>
<div id="org3a0824c" class="figure">
<div id="orga786ff3" class="figure">
<p><img src="../resources/images/keeb/dactyl-manuform-5.jpg" alt="dactyl-manuform-5.jpg" />
</p>
</div>
<div id="org4c16fac" class="figure">
<div id="orge264f9a" class="figure">
<p><img src="../resources/images/keeb/dactyl-manuform-4.jpg" alt="dactyl-manuform-4.jpg" />
</p>
</div>
<div id="org0462863" class="figure">
<div id="orgddc8983" class="figure">
<p><img src="../resources/images/keeb/dactyl-manuform-3.jpg" alt="dactyl-manuform-3.jpg" />
</p>
</div>
<div id="orgc333b73" class="figure">
<div id="org31b3381" class="figure">
<p><img src="../resources/images/keeb/dactyl-manuform-2.jpg" alt="dactyl-manuform-2.jpg" />
</p>
</div>
@ -92,37 +92,37 @@ To be honest, this keeb was ugly, and I decided that I wanted a beautiful factor
</p>
</div>
</div>
<div id="outline-container-org7f1099e" class="outline-4">
<h4 id="org7f1099e">Moonlander</h4>
<div class="outline-text-4" id="text-org7f1099e">
<div id="outline-container-orgc9ea359" class="outline-4">
<h4 id="orgc9ea359">Moonlander</h4>
<div class="outline-text-4" id="text-orgc9ea359">
<p>
Nothing special. Ordered, paid, got it, tried it. Everything worked. Looked good. Happy year of typing. Bored. Annoyed. Too big and chunky. No concave. Quality not the best. Started planning the next one.
</p>
<div id="orge67520e" class="figure">
<div id="orgf94af4a" class="figure">
<p><img src="../resources/images/keeb/moonlander.jpg" alt="moonlander.jpg" />
</p>
</div>
</div>
</div>
<div id="outline-container-org00adac4" class="outline-4">
<h4 id="org00adac4">Custom Corne</h4>
<div class="outline-text-4" id="text-org00adac4">
<div id="outline-container-orgc3a4d11" class="outline-4">
<h4 id="orgc3a4d11">Custom Corne</h4>
<div class="outline-text-4" id="text-orgc3a4d11">
<p>
This journey started with discovering the Jian keyboard. It is a niche keeb from the Ru community focused on full support of the whole Russian layout. It was originally created by KGOH. I missed the group buy and decided that I could easily patch a Corne board with two additional keys to mimic the Jian.
Interesting journey. I learned how to use KiCad, and how to export gerbers.
</p>
<div id="org2cac54e" class="figure">
<div id="orgf4bcba2" class="figure">
<p><img src="../resources/images/keeb/jirne-5.png" alt="jirne-5.png" />
</p>
</div>
<div id="org6508292" class="figure">
<div id="org927b796" class="figure">
<p><img src="../resources/images/keeb/jirne-6.png" alt="jirne-6.png" />
</p>
</div>
@ -132,13 +132,13 @@ I've ordered PCBs at JLCPCB.
</p>
<div id="orgc3af85a" class="figure">
<div id="orgf8db5c2" class="figure">
<p><img src="../resources/images/keeb/jirne-8.jpeg" alt="jirne-8.jpeg" />
</p>
</div>
<div id="org6eecdad" class="figure">
<div id="org02e4a5d" class="figure">
<p><img src="../resources/images/keeb/jirne-9.jpeg" alt="jirne-9.jpeg" />
</p>
</div>
@ -148,7 +148,7 @@ The build came out pretty decent. I was happy. RGB underglow. Low-profile switch
</p>
<div id="org12f122f" class="figure">
<div id="org2db8ae6" class="figure">
<p><img src="../resources/images/keeb/jirne-7.jpeg" alt="jirne-7.jpeg" />
</p>
</div>
@ -158,15 +158,15 @@ Daily driver for ~6 months. Then the world changed, and I decided to leave my ho
</p>
</div>
</div>
<div id="outline-container-orgbd0b9c0" class="outline-4">
<h4 id="orgbd0b9c0">Dactyl manuform again</h4>
<div class="outline-text-4" id="text-orgbd0b9c0">
<div id="outline-container-orge9766b6" class="outline-4">
<h4 id="orge9766b6">Dactyl manuform again</h4>
<div class="outline-text-4" id="text-orge9766b6">
<p>
Two years late I've settled down in new country and decide that I want to bring back my dactyl manuform experience.
</p>
<div id="orgda98bba" class="figure">
<div id="org8776ecb" class="figure">
<p><img src="../resources/images/keeb/dactyl-pitch.jpeg" alt="dactyl-pitch.jpeg" />
</p>
</div>
@ -174,26 +174,26 @@ Two years late I've settled down in new country and decide that I want to bring
</div>
</div>
<div id="outline-container-orgfa1511b" class="outline-3">
<h3 id="orgfa1511b">Hardware</h3>
<div class="outline-text-3" id="text-orgfa1511b">
<div id="outline-container-orgacf43a4" class="outline-3">
<h3 id="orgacf43a4">Hardware</h3>
<div class="outline-text-3" id="text-orgacf43a4">
</div>
<div id="outline-container-org8d3fbdb" class="outline-4">
<h4 id="org8d3fbdb">Body</h4>
<div class="outline-text-4" id="text-org8d3fbdb">
<div id="outline-container-orgaf1804c" class="outline-4">
<h4 id="orgaf1804c">Body</h4>
<div class="outline-text-4" id="text-orgaf1804c">
<p>
I've choose to use a <a href="https://ryanis.cool/dactyl/#manuform">Ryan's generator</a> and generate body on top of Corne preset with all keys in last row and disabled stagger for the last two columns. <a href="https://ryanis.cool/dactyl/#manuform:CiUIBhAEGgp0aHJlZS1taW5pIgRmdWxsKgNib3gyBm5vcm1pZTgAGgoIARIEbm9uZRgAIhdVAACAQBgAIABdAADgQGUAAEBAQABIADL5AZUDAAAgQJ0DAACAP4ADAIgDAA0AAAAAFQAAAAAdMzMzQCUAANDALQAAUME1AADAQD0AAAAARQAAAABNAADAQFUAAEDAXQAA4EBlMzNhwm0zMy3CdQAAvMF45wKAAc0YiAHIJJUBMzMXwp0BMzNdwqUBZmbKwagBnwuwAZkXuAH8JcUBAABQws0BAADQwdUBAABAwdgBnATgAfMX6AGQHPUBAADowf0BAAAkwoUCAABQwYgCmwSQAvMXmALgIaUCAAAMwq0CAABwwbUCAAAAwLgChAfAApUQyAKEB9UCAABAwd0CAACAweUCAABAQOgChAfwApUQ+AKEBw==">Generator preset</a>
The body was printed by JLC3DP (JLCPCB printing department). I've choose <a href="https://jlc3dp.com/help/article/502-Precimid-1172-Pro">SLS from nylon</a>. Print has minor artifacts; I expected better quality.
</p>
<div id="orgb42c8f0" class="figure">
<div id="org211be24" class="figure">
<p><img src="../resources/images/keeb/dactyl-body-2.jpeg" alt="dactyl-body-2.jpeg" />
</p>
</div>
<div id="org5566b16" class="figure">
<div id="org8aeb36d" class="figure">
<p><img src="../resources/images/keeb/dactyl-body-1.jpeg" alt="dactyl-body-1.jpeg" />
</p>
</div>
@ -203,28 +203,28 @@ Overall, I'm happy with results. I also printed bottom plates and <a href="https
</p>
<div id="org5debc02" class="figure">
<div id="orgf43e0fa" class="figure">
<p><img src="../resources/images/keeb/dactyl-body-3.jpeg" alt="dactyl-body-3.jpeg" />
</p>
</div>
<div id="orgbeffd1c" class="figure">
<div id="org1c75614" class="figure">
<p><img src="../resources/images/keeb/dactyl-body-4.jpeg" alt="dactyl-body-4.jpeg" />
</p>
</div>
</div>
</div>
<div id="outline-container-org77fdaaa" class="outline-4">
<h4 id="org77fdaaa">Switches and caps</h4>
<div class="outline-text-4" id="text-org77fdaaa">
<div id="outline-container-orgab66ef9" class="outline-4">
<h4 id="orgab66ef9">Switches and caps</h4>
<div class="outline-text-4" id="text-orgab66ef9">
<p>
I've chosen Kailh BOX Navy switches. I really like the clickity-clack sound. They have a dedicated clickbar to produce this sound, and the box profile helps with moving down perpendicularly.
</p>
<div id="orge4f9ae7" class="figure">
<div id="orgcd45d61" class="figure">
<p><img src="../resources/images/keeb/kailh-box.jpg" alt="kailh-box.jpg" />
</p>
</div>
@ -234,30 +234,30 @@ The caps are inherited from the Moonlander. They are thick, double-shot caps wit
</p>
</div>
</div>
<div id="outline-container-org3deff81" class="outline-4">
<h4 id="org3deff81">Controllers</h4>
<div class="outline-text-4" id="text-org3deff81">
<div id="outline-container-org899a8dc" class="outline-4">
<h4 id="org899a8dc">Controllers</h4>
<div class="outline-text-4" id="text-org899a8dc">
<p>
I used a bootleg Pro Micro called Tenstar Robot, based on the ATmega32u4. It's perfectly supported by QMK, pin-to-pin and size-compatible with the Pro Micro.
</p>
<div id="org04d1c4b" class="figure">
<div id="org63f94f2" class="figure">
<p><img src="../resources/images/keeb/dactyl-all-3.jpg" alt="dactyl-all-3.jpg" />
</p>
</div>
</div>
</div>
<div id="outline-container-org97162a6" class="outline-4">
<h4 id="org97162a6">Amoeba things</h4>
<div class="outline-text-4" id="text-org97162a6">
<div id="outline-container-org2d5d764" class="outline-4">
<h4 id="org2d5d764">Amoeba things</h4>
<div class="outline-text-4" id="text-org2d5d764">
<p>
During this build, I decided that I did not want to make a big mess of wires and chose Amoeba single-switch PCBs.
</p>
<div id="org5a6c01c" class="figure">
<div id="orgb29cfa1" class="figure">
<p><img src="../resources/images/keeb/amoeba.jpg" alt="amoeba.jpg" />
</p>
</div>
@ -267,13 +267,13 @@ They are nice, have diodes on board, and simplify wiring. However, they have the
</p>
<div id="org59d9214" class="figure">
<div id="orgb61ab19" class="figure">
<p><img src="../resources/images/keeb/dactyl-all-1.jpg" alt="dactyl-all-1.jpg" />
</p>
</div>
<div id="org9b5204b" class="figure">
<div id="org0d8ec3d" class="figure">
<p><img src="../resources/images/keeb/dactyl-all-5.jpg" alt="dactyl-all-5.jpg" />
</p>
</div>
@ -281,13 +281,13 @@ They are nice, have diodes on board, and simplify wiring. However, they have the
</div>
</div>
<div id="outline-container-orgba0603e" class="outline-3">
<h3 id="orgba0603e">Software</h3>
<div class="outline-text-3" id="text-orgba0603e">
<div id="outline-container-org672a9af" class="outline-3">
<h3 id="org672a9af">Software</h3>
<div class="outline-text-3" id="text-org672a9af">
</div>
<div id="outline-container-orgedb2147" class="outline-4">
<h4 id="orgedb2147">Plain default - QMK</h4>
<div class="outline-text-4" id="text-orgedb2147">
<div id="outline-container-org85c5d9e" class="outline-4">
<h4 id="org85c5d9e">Plain default - QMK</h4>
<div class="outline-text-4" id="text-org85c5d9e">
<p>
Prerequiremets:
<a href="https://docs.qmk.fm/cli">QMK CLI</a>
@ -309,9 +309,9 @@ You may want to create a separate keyboard entry in QMK.
</div>
</div>
<div id="outline-container-orgbcee16e" class="outline-4">
<h4 id="orgbcee16e">Make own layout</h4>
<div class="outline-text-4" id="text-orgbcee16e">
<div id="outline-container-org045bce3" class="outline-4">
<h4 id="org045bce3">Make own layout</h4>
<div class="outline-text-4" id="text-org045bce3">
<p>
I'll try to go through setting of my personal layout. It is based on <a href="http://www.keyboard-layout-editor.com/#/gists/4b6c2af67148f58ddd6c6b2976c4370f">Jian layout</a>.
</p>
@ -468,8 +468,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
</div>
</div>
</div>
<div id="outline-container-orga34f3c5" class="outline-3">
<h3 id="orga34f3c5">Whats next?</h3>
<div id="outline-container-org2536fe9" class="outline-3">
<h3 id="org2536fe9">Whats next?</h3>
</div>
</div>
</main><footer class="footer"><div class="container"><hr/><small><p>Alex Mikhailov</p><p>Built with: <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a> <a href="https://orgmode.org/">Org Mode</a> <a href="https://picocss.com/">picocss</a></p></small></div></footer></body></html>

View File

@ -2,31 +2,31 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#orgde3a334">What is imagemagick</a></li>
<li><a href="#orgb7652ba">Basic idea of this process</a></li>
<li><a href="#org4f0cd95">Integrate into build</a></li>
<li><a href="#orgac2ec85">Whats next?</a>
<li><a href="#org746ed86">What is imagemagick</a></li>
<li><a href="#org844ff86">Basic idea of this process</a></li>
<li><a href="#org1f6582b">Integrate into build</a></li>
<li><a href="#orgfa0e61f">Whats next?</a>
<ul>
<li><a href="#org81a309f">Tags</a></li>
<li><a href="#org9b72cf1">Post series</a></li>
<li><a href="#org073abed">Adopt/fix htmlize.el</a></li>
<li><a href="#org2d53f4a">Show more meta on posts index page.</a></li>
<li><a href="#orgea7d693">Tags</a></li>
<li><a href="#org649cc65">Post series</a></li>
<li><a href="#org75908b7">Adopt/fix htmlize.el</a></li>
<li><a href="#orgaf1ec94">Show more meta on posts index page.</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-orgde3a334" class="outline-2">
<h2 id="orgde3a334">What is imagemagick</h2>
<div class="outline-text-2" id="text-orgde3a334">
<div id="outline-container-org746ed86" class="outline-2">
<h2 id="org746ed86">What is imagemagick</h2>
<div class="outline-text-2" id="text-org746ed86">
<p>
<a href="https://imagemagick.org">Imagemagick</a> is a ffmpeg of the image world. You can do a lot of fun things with it. For example you can take a picture, cut corners on it, place it on top of another image, add some text and get final result. So it is looks like a good tool for making previews from code.
</p>
</div>
</div>
<div id="outline-container-orgb7652ba" class="outline-2">
<h2 id="orgb7652ba">Basic idea of this process</h2>
<div class="outline-text-2" id="text-orgb7652ba">
<div id="outline-container-org844ff86" class="outline-2">
<h2 id="org844ff86">Basic idea of this process</h2>
<div class="outline-text-2" id="text-org844ff86">
<p>
I want to hook a process of rendering post. Since this function called on each run of publishing and for each post it is a good idea to cache resulting images. I gonna simply check presence of preview image and use it as guard for running image generation. After that I gonna extract <code>#+TITLE</code> and <code>#+DESCRIPTION</code> properties from Org file. Each Org file I have, has next header:
</p>
@ -48,9 +48,9 @@ So I with all these data I can generate my previews with simple script:
</div>
</div>
<div id="outline-container-org4f0cd95" class="outline-2">
<h2 id="org4f0cd95">Integrate into build</h2>
<div class="outline-text-2" id="text-org4f0cd95">
<div id="outline-container-org1f6582b" class="outline-2">
<h2 id="org1f6582b">Integrate into build</h2>
<div class="outline-text-2" id="text-org1f6582b">
<p>
As I already mention I gonna skip file generation when file already here. Here is the whole function. Pretty simple. Just prepare pathes, check some dependencies, create pathes and execute script which calls imagemagick.
</p>
@ -113,38 +113,38 @@ You can check whole function in previous post <a href="./improve_code_blocks.htm
</p>
</div>
</div>
<div id="outline-container-orgac2ec85" class="outline-2">
<h2 id="orgac2ec85">Whats next?</h2>
<div class="outline-text-2" id="text-orgac2ec85">
<div id="outline-container-orgfa0e61f" class="outline-2">
<h2 id="orgfa0e61f">Whats next?</h2>
<div class="outline-text-2" id="text-orgfa0e61f">
</div>
<div id="outline-container-org81a309f" class="outline-3">
<h3 id="org81a309f">Tags</h3>
<div class="outline-text-3" id="text-org81a309f">
<div id="outline-container-orgea7d693" class="outline-3">
<h3 id="orgea7d693">Tags</h3>
<div class="outline-text-3" id="text-orgea7d693">
<p>
Show tags, show posts by tag.
<a href="./blog_index_and_tags_automation.html">Blog index and tags automation</a>
</p>
</div>
</div>
<div id="outline-container-org9b72cf1" class="outline-3">
<h3 id="org9b72cf1">Post series</h3>
<div class="outline-text-3" id="text-org9b72cf1">
<div id="outline-container-org649cc65" class="outline-3">
<h3 id="org649cc65">Post series</h3>
<div class="outline-text-3" id="text-org649cc65">
<p>
Dunno how, but I'll figure out something.
</p>
</div>
</div>
<div id="outline-container-org073abed" class="outline-3">
<h3 id="org073abed">Adopt/fix htmlize.el</h3>
<div class="outline-text-3" id="text-org073abed">
<div id="outline-container-org75908b7" class="outline-3">
<h3 id="org75908b7">Adopt/fix htmlize.el</h3>
<div class="outline-text-3" id="text-org75908b7">
<p>
I want to highlight code during publishing step.
</p>
</div>
</div>
<div id="outline-container-org2d53f4a" class="outline-3">
<h3 id="org2d53f4a">Show more meta on posts index page.</h3>
<div class="outline-text-3" id="text-org2d53f4a">
<div id="outline-container-orgaf1ec94" class="outline-3">
<h3 id="orgaf1ec94">Show more meta on posts index page.</h3>
<div class="outline-text-3" id="text-orgaf1ec94">
<p>
Creation date, preview, tags, whatever.
<a href="./blog_index_and_tags_automation.html">Blog index and tags automation</a>

View File

@ -0,0 +1,3 @@
-----BEGIN PGP PRIVATE KEY BLOCK-----
JK. FUCK OFF.

109
resources/keys/public.asc Normal file
View File

@ -0,0 +1,109 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=p6YK
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -2,19 +2,19 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org80a5e19">Blog index and tags automation</a></li>
<li><a href="#org7fc9a0a">Posts preview</a></li>
<li><a href="#org1cd3b8e">Improve code blocks</a></li>
<li><a href="#org1fd1aef">Org blog with RSS</a></li>
<li><a href="#orgb4d4e91">Org to HTML and back</a></li>
<li><a href="#org7661c54">My keyboard journey</a></li>
<li><a href="#org4d05ae9">Blog index and tags automation</a></li>
<li><a href="#org5e9f6a4">Posts preview</a></li>
<li><a href="#org5c4e2dc">Improve code blocks</a></li>
<li><a href="#org7ab1aeb">Org blog with RSS</a></li>
<li><a href="#orgd9eb483">Org to HTML and back</a></li>
<li><a href="#orgae25f7c">My keyboard journey</a></li>
</ul>
</div>
</div>
<div id="outline-container-org80a5e19" class="outline-2">
<h2 id="org80a5e19"><a href="file:///home/fido-node/org/home/05 Blog/posts/blog_index_and_tags_automation.html">Blog index and tags automation</a></h2>
<div class="outline-text-2" id="text-org80a5e19">
<div id="outline-container-org4d05ae9" class="outline-2">
<h2 id="org4d05ae9"><a href="file:///home/fido-node/org/home/05 Blog/posts/blog_index_and_tags_automation.html">Blog index and tags automation</a></h2>
<div class="outline-text-2" id="text-org4d05ae9">
<p>
Let's add tags to blog posts
</p>
@ -26,9 +26,9 @@ Simple idea - go through all files, collect titles, dates and descriptions, rend
</p>
</div>
</div>
<div id="outline-container-org7fc9a0a" class="outline-2">
<h2 id="org7fc9a0a"><a href="file:///home/fido-node/org/home/05 Blog/posts/posts_preview.html">Posts preview</a></h2>
<div class="outline-text-2" id="text-org7fc9a0a">
<div id="outline-container-org5e9f6a4" class="outline-2">
<h2 id="org5e9f6a4"><a href="file:///home/fido-node/org/home/05 Blog/posts/posts_preview.html">Posts preview</a></h2>
<div class="outline-text-2" id="text-org5e9f6a4">
<p>
Add post preview for OpenGraph cards
</p>
@ -40,9 +40,9 @@ I want to hook a process of rendering post. Since this function called on each r
</p>
</div>
</div>
<div id="outline-container-org1cd3b8e" class="outline-2">
<h2 id="org1cd3b8e"><a href="file:///home/fido-node/org/home/05 Blog/posts/improve_code_blocks.html">Improve code blocks</a></h2>
<div class="outline-text-2" id="text-org1cd3b8e">
<div id="outline-container-org5c4e2dc" class="outline-2">
<h2 id="org5c4e2dc"><a href="file:///home/fido-node/org/home/05 Blog/posts/improve_code_blocks.html">Improve code blocks</a></h2>
<div class="outline-text-2" id="text-org5c4e2dc">
<p>
Use highlight.js for code syntax highlighting
</p>
@ -54,9 +54,9 @@ Change code block template&#x2026;
</p>
</div>
</div>
<div id="outline-container-org1fd1aef" class="outline-2">
<h2 id="org1fd1aef"><a href="file:///home/fido-node/org/home/05 Blog/posts/add_rss_to_blog.html">Org blog with RSS</a></h2>
<div class="outline-text-2" id="text-org1fd1aef">
<div id="outline-container-org7ab1aeb" class="outline-2">
<h2 id="org7ab1aeb"><a href="file:///home/fido-node/org/home/05 Blog/posts/add_rss_to_blog.html">Org blog with RSS</a></h2>
<div class="outline-text-2" id="text-org7ab1aeb">
<p>
Let's add RSS feed to blog
</p>
@ -68,9 +68,9 @@ So, what's happening here? Let's start by integrating our templating functions i
</p>
</div>
</div>
<div id="outline-container-orgb4d4e91" class="outline-2">
<h2 id="orgb4d4e91"><a href="file:///home/fido-node/org/home/05 Blog/posts/about_blog.html">Org to HTML and back</a></h2>
<div class="outline-text-2" id="text-orgb4d4e91">
<div id="outline-container-orgd9eb483" class="outline-2">
<h2 id="orgd9eb483"><a href="file:///home/fido-node/org/home/05 Blog/posts/about_blog.html">Org to HTML and back</a></h2>
<div class="outline-text-2" id="text-orgd9eb483">
<p>
Blog post about publishing my blog with Org Mode
</p>
@ -82,9 +82,9 @@ What is Org?
</p>
</div>
</div>
<div id="outline-container-org7661c54" class="outline-2">
<h2 id="org7661c54"><a href="file:///home/fido-node/org/home/05 Blog/posts/keeb.html">My keyboard journey</a></h2>
<div class="outline-text-2" id="text-org7661c54">
<div id="outline-container-orgae25f7c" class="outline-2">
<h2 id="orgae25f7c"><a href="file:///home/fido-node/org/home/05 Blog/posts/keeb.html">My keyboard journey</a></h2>
<div class="outline-text-2" id="text-orgae25f7c">
<p>
Blog post about my keyboards
</p>

View File

@ -14,8 +14,8 @@
<link>https://fidonode.me</link>
<description><![CDATA[Slice of my technical life]]></description>
<language>en</language>
<pubDate>Sat, 09 Nov 2024 20:03:26 +0000</pubDate>
<lastBuildDate>Sat, 09 Nov 2024 20:03:26 +0000</lastBuildDate>
<pubDate>Sat, 09 Nov 2024 20:10:37 +0000</pubDate>
<lastBuildDate>Sat, 09 Nov 2024 20:10:37 +0000</lastBuildDate>
<generator>Emacs 29.3 Org-mode 9.6.15</generator>
<webMaster>iam@fidonode.me (Alex M)</webMaster>
<image>

View File

@ -1,11 +1,11 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta author="Alex Mikhailov"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="color-scheme" content="light dark"/><meta http-equiv="content-language" content="en-us"/><meta name="description" content=""/><meta property="og:description" content=""/><meta property="og:image" content="https://fidonode.me/resources/images/preview/tags/@diy.org.png"/><meta property="og:title" content="Tag: @diy"/><meta name="twitter:description" content=""/><meta name="twitter:title" content="Tag: @diy"/><meta name="twitter:image" content="https://fidonode.me/resources/images/preview/tags/@diy.org.png"/><meta name="twitter:card" content="summary_large_image"/><link rel="icon" type="image/x-icon" href="/resources/favicon.ico"/><link rel="stylesheet" type="text/css" href="/resources/css/pico.sand.min.css"/><script defer="true" src="https://umami.dokutsu.xyz/script.js" data-website-id="d52d9af1-0c7d-4531-84c6-0b9c2850011f"></script><title>Tag: @diy</title></head><body><header class="header"><div class="container"><nav><ul><li><strong>Alex Mikhailov</strong></li></ul><ul><li><a href="/index.html">About</a></li><li><a href="/posts.html">Blog</a></li><li><a href="/rss.xml">RSS</a></li></ul></nav></div></header><main class="container">
<div id="outline-container-org9cac5be" class="outline-2">
<h2 id="org9cac5be">@diy</h2>
<div class="outline-text-2" id="text-org9cac5be">
<div id="outline-container-org34f30e9" class="outline-2">
<h2 id="org34f30e9">@diy</h2>
<div class="outline-text-2" id="text-org34f30e9">
</div>
<div id="outline-container-org982daf1" class="outline-3">
<h3 id="org982daf1"><a href="../posts/keeb.html">My keyboard journey</a></h3>
<div class="outline-text-3" id="text-org982daf1">
<div id="outline-container-org9797ec9" class="outline-3">
<h3 id="org9797ec9"><a href="../posts/keeb.html">My keyboard journey</a></h3>
<div class="outline-text-3" id="text-org9797ec9">
<p>
Blog post about my keyboards
</p>

View File

@ -1,11 +1,11 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta author="Alex Mikhailov"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="color-scheme" content="light dark"/><meta http-equiv="content-language" content="en-us"/><meta name="description" content=""/><meta property="og:description" content=""/><meta property="og:image" content="https://fidonode.me/resources/images/preview/tags/@elisp.org.png"/><meta property="og:title" content="Tag: @elisp"/><meta name="twitter:description" content=""/><meta name="twitter:title" content="Tag: @elisp"/><meta name="twitter:image" content="https://fidonode.me/resources/images/preview/tags/@elisp.org.png"/><meta name="twitter:card" content="summary_large_image"/><link rel="icon" type="image/x-icon" href="/resources/favicon.ico"/><link rel="stylesheet" type="text/css" href="/resources/css/pico.sand.min.css"/><script defer="true" src="https://umami.dokutsu.xyz/script.js" data-website-id="d52d9af1-0c7d-4531-84c6-0b9c2850011f"></script><title>Tag: @elisp</title></head><body><header class="header"><div class="container"><nav><ul><li><strong>Alex Mikhailov</strong></li></ul><ul><li><a href="/index.html">About</a></li><li><a href="/posts.html">Blog</a></li><li><a href="/rss.xml">RSS</a></li></ul></nav></div></header><main class="container">
<div id="outline-container-org73272bc" class="outline-2">
<h2 id="org73272bc">@elisp</h2>
<div class="outline-text-2" id="text-org73272bc">
<div id="outline-container-orgec273a0" class="outline-2">
<h2 id="orgec273a0">@elisp</h2>
<div class="outline-text-2" id="text-orgec273a0">
</div>
<div id="outline-container-orgc145ccc" class="outline-3">
<h3 id="orgc145ccc"><a href="../posts/posts_preview.html">Posts preview</a></h3>
<div class="outline-text-3" id="text-orgc145ccc">
<div id="outline-container-org123656b" class="outline-3">
<h3 id="org123656b"><a href="../posts/posts_preview.html">Posts preview</a></h3>
<div class="outline-text-3" id="text-org123656b">
<p>
Add post preview for OpenGraph cards
</p>
@ -20,9 +20,9 @@ drafted on 2024-06-28
</p>
</div>
</div>
<div id="outline-container-org889de0d" class="outline-3">
<h3 id="org889de0d"><a href="../posts/improve_code_blocks.html">Improve code blocks</a></h3>
<div class="outline-text-3" id="text-org889de0d">
<div id="outline-container-org9550acd" class="outline-3">
<h3 id="org9550acd"><a href="../posts/improve_code_blocks.html">Improve code blocks</a></h3>
<div class="outline-text-3" id="text-org9550acd">
<p>
Use highlight.js for code syntax highlighting
</p>
@ -37,9 +37,9 @@ drafted on 2024-06-25
</p>
</div>
</div>
<div id="outline-container-org962e3ba" class="outline-3">
<h3 id="org962e3ba"><a href="../posts/blog_index_and_tags_automation.html">Blog index and tags automation</a></h3>
<div class="outline-text-3" id="text-org962e3ba">
<div id="outline-container-org7f8708d" class="outline-3">
<h3 id="org7f8708d"><a href="../posts/blog_index_and_tags_automation.html">Blog index and tags automation</a></h3>
<div class="outline-text-3" id="text-org7f8708d">
<p>
Let's add tags to blog posts
</p>
@ -54,9 +54,9 @@ drafted on 2024-07-05
</p>
</div>
</div>
<div id="outline-container-org157ae02" class="outline-3">
<h3 id="org157ae02"><a href="../posts/add_rss_to_blog.html">Org blog with RSS</a></h3>
<div class="outline-text-3" id="text-org157ae02">
<div id="outline-container-org78afdeb" class="outline-3">
<h3 id="org78afdeb"><a href="../posts/add_rss_to_blog.html">Org blog with RSS</a></h3>
<div class="outline-text-3" id="text-org78afdeb">
<p>
Let's add RSS feed to blog
</p>

View File

@ -1,11 +1,11 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta author="Alex Mikhailov"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="color-scheme" content="light dark"/><meta http-equiv="content-language" content="en-us"/><meta name="description" content=""/><meta property="og:description" content=""/><meta property="og:image" content="https://fidonode.me/resources/images/preview/tags/@highlightjs.org.png"/><meta property="og:title" content="Tag: @highlightjs"/><meta name="twitter:description" content=""/><meta name="twitter:title" content="Tag: @highlightjs"/><meta name="twitter:image" content="https://fidonode.me/resources/images/preview/tags/@highlightjs.org.png"/><meta name="twitter:card" content="summary_large_image"/><link rel="icon" type="image/x-icon" href="/resources/favicon.ico"/><link rel="stylesheet" type="text/css" href="/resources/css/pico.sand.min.css"/><script defer="true" src="https://umami.dokutsu.xyz/script.js" data-website-id="d52d9af1-0c7d-4531-84c6-0b9c2850011f"></script><title>Tag: @highlightjs</title></head><body><header class="header"><div class="container"><nav><ul><li><strong>Alex Mikhailov</strong></li></ul><ul><li><a href="/index.html">About</a></li><li><a href="/posts.html">Blog</a></li><li><a href="/rss.xml">RSS</a></li></ul></nav></div></header><main class="container">
<div id="outline-container-orgd437670" class="outline-2">
<h2 id="orgd437670">@highlightjs</h2>
<div class="outline-text-2" id="text-orgd437670">
<div id="outline-container-org9c256a7" class="outline-2">
<h2 id="org9c256a7">@highlightjs</h2>
<div class="outline-text-2" id="text-org9c256a7">
</div>
<div id="outline-container-org37de8ea" class="outline-3">
<h3 id="org37de8ea"><a href="../posts/improve_code_blocks.html">Improve code blocks</a></h3>
<div class="outline-text-3" id="text-org37de8ea">
<div id="outline-container-org51facfb" class="outline-3">
<h3 id="org51facfb"><a href="../posts/improve_code_blocks.html">Improve code blocks</a></h3>
<div class="outline-text-3" id="text-org51facfb">
<p>
Use highlight.js for code syntax highlighting
</p>

View File

@ -1,11 +1,11 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta author="Alex Mikhailov"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="color-scheme" content="light dark"/><meta http-equiv="content-language" content="en-us"/><meta name="description" content=""/><meta property="og:description" content=""/><meta property="og:image" content="https://fidonode.me/resources/images/preview/tags/@imagemagick.org.png"/><meta property="og:title" content="Tag: @imagemagick"/><meta name="twitter:description" content=""/><meta name="twitter:title" content="Tag: @imagemagick"/><meta name="twitter:image" content="https://fidonode.me/resources/images/preview/tags/@imagemagick.org.png"/><meta name="twitter:card" content="summary_large_image"/><link rel="icon" type="image/x-icon" href="/resources/favicon.ico"/><link rel="stylesheet" type="text/css" href="/resources/css/pico.sand.min.css"/><script defer="true" src="https://umami.dokutsu.xyz/script.js" data-website-id="d52d9af1-0c7d-4531-84c6-0b9c2850011f"></script><title>Tag: @imagemagick</title></head><body><header class="header"><div class="container"><nav><ul><li><strong>Alex Mikhailov</strong></li></ul><ul><li><a href="/index.html">About</a></li><li><a href="/posts.html">Blog</a></li><li><a href="/rss.xml">RSS</a></li></ul></nav></div></header><main class="container">
<div id="outline-container-orge87cec9" class="outline-2">
<h2 id="orge87cec9">@imagemagick</h2>
<div class="outline-text-2" id="text-orge87cec9">
<div id="outline-container-org6a51962" class="outline-2">
<h2 id="org6a51962">@imagemagick</h2>
<div class="outline-text-2" id="text-org6a51962">
</div>
<div id="outline-container-org3f0ca7d" class="outline-3">
<h3 id="org3f0ca7d"><a href="../posts/posts_preview.html">Posts preview</a></h3>
<div class="outline-text-3" id="text-org3f0ca7d">
<div id="outline-container-orgff034fe" class="outline-3">
<h3 id="orgff034fe"><a href="../posts/posts_preview.html">Posts preview</a></h3>
<div class="outline-text-3" id="text-orgff034fe">
<p>
Add post preview for OpenGraph cards
</p>

View File

@ -1,11 +1,11 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta author="Alex Mikhailov"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="color-scheme" content="light dark"/><meta http-equiv="content-language" content="en-us"/><meta name="description" content=""/><meta property="og:description" content=""/><meta property="og:image" content="https://fidonode.me/resources/images/preview/tags/@keeb.org.png"/><meta property="og:title" content="Tag: @keeb"/><meta name="twitter:description" content=""/><meta name="twitter:title" content="Tag: @keeb"/><meta name="twitter:image" content="https://fidonode.me/resources/images/preview/tags/@keeb.org.png"/><meta name="twitter:card" content="summary_large_image"/><link rel="icon" type="image/x-icon" href="/resources/favicon.ico"/><link rel="stylesheet" type="text/css" href="/resources/css/pico.sand.min.css"/><script defer="true" src="https://umami.dokutsu.xyz/script.js" data-website-id="d52d9af1-0c7d-4531-84c6-0b9c2850011f"></script><title>Tag: @keeb</title></head><body><header class="header"><div class="container"><nav><ul><li><strong>Alex Mikhailov</strong></li></ul><ul><li><a href="/index.html">About</a></li><li><a href="/posts.html">Blog</a></li><li><a href="/rss.xml">RSS</a></li></ul></nav></div></header><main class="container">
<div id="outline-container-org0c7c5b7" class="outline-2">
<h2 id="org0c7c5b7">@keeb</h2>
<div class="outline-text-2" id="text-org0c7c5b7">
<div id="outline-container-org3607c7b" class="outline-2">
<h2 id="org3607c7b">@keeb</h2>
<div class="outline-text-2" id="text-org3607c7b">
</div>
<div id="outline-container-org97a3a1c" class="outline-3">
<h3 id="org97a3a1c"><a href="../posts/keeb.html">My keyboard journey</a></h3>
<div class="outline-text-3" id="text-org97a3a1c">
<div id="outline-container-org18b45b1" class="outline-3">
<h3 id="org18b45b1"><a href="../posts/keeb.html">My keyboard journey</a></h3>
<div class="outline-text-3" id="text-org18b45b1">
<p>
Blog post about my keyboards
</p>

View File

@ -1,11 +1,11 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta author="Alex Mikhailov"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="color-scheme" content="light dark"/><meta http-equiv="content-language" content="en-us"/><meta name="description" content=""/><meta property="og:description" content=""/><meta property="og:image" content="https://fidonode.me/resources/images/preview/tags/@org-mode.org.png"/><meta property="og:title" content="Tag: @org-mode"/><meta name="twitter:description" content=""/><meta name="twitter:title" content="Tag: @org-mode"/><meta name="twitter:image" content="https://fidonode.me/resources/images/preview/tags/@org-mode.org.png"/><meta name="twitter:card" content="summary_large_image"/><link rel="icon" type="image/x-icon" href="/resources/favicon.ico"/><link rel="stylesheet" type="text/css" href="/resources/css/pico.sand.min.css"/><script defer="true" src="https://umami.dokutsu.xyz/script.js" data-website-id="d52d9af1-0c7d-4531-84c6-0b9c2850011f"></script><title>Tag: @org-mode</title></head><body><header class="header"><div class="container"><nav><ul><li><strong>Alex Mikhailov</strong></li></ul><ul><li><a href="/index.html">About</a></li><li><a href="/posts.html">Blog</a></li><li><a href="/rss.xml">RSS</a></li></ul></nav></div></header><main class="container">
<div id="outline-container-org1fbebe5" class="outline-2">
<h2 id="org1fbebe5">@org-mode</h2>
<div class="outline-text-2" id="text-org1fbebe5">
<div id="outline-container-orgae63b9e" class="outline-2">
<h2 id="orgae63b9e">@org-mode</h2>
<div class="outline-text-2" id="text-orgae63b9e">
</div>
<div id="outline-container-orge12a3c1" class="outline-3">
<h3 id="orge12a3c1"><a href="../posts/posts_preview.html">Posts preview</a></h3>
<div class="outline-text-3" id="text-orge12a3c1">
<div id="outline-container-org1e01eee" class="outline-3">
<h3 id="org1e01eee"><a href="../posts/posts_preview.html">Posts preview</a></h3>
<div class="outline-text-3" id="text-org1e01eee">
<p>
Add post preview for OpenGraph cards
</p>
@ -20,9 +20,9 @@ drafted on 2024-06-28
</p>
</div>
</div>
<div id="outline-container-org3f465a8" class="outline-3">
<h3 id="org3f465a8"><a href="../posts/improve_code_blocks.html">Improve code blocks</a></h3>
<div class="outline-text-3" id="text-org3f465a8">
<div id="outline-container-org0ad7438" class="outline-3">
<h3 id="org0ad7438"><a href="../posts/improve_code_blocks.html">Improve code blocks</a></h3>
<div class="outline-text-3" id="text-org0ad7438">
<p>
Use highlight.js for code syntax highlighting
</p>
@ -37,9 +37,9 @@ drafted on 2024-06-25
</p>
</div>
</div>
<div id="outline-container-orgfcc13bd" class="outline-3">
<h3 id="orgfcc13bd"><a href="../posts/blog_index_and_tags_automation.html">Blog index and tags automation</a></h3>
<div class="outline-text-3" id="text-orgfcc13bd">
<div id="outline-container-org5b1607b" class="outline-3">
<h3 id="org5b1607b"><a href="../posts/blog_index_and_tags_automation.html">Blog index and tags automation</a></h3>
<div class="outline-text-3" id="text-org5b1607b">
<p>
Let's add tags to blog posts
</p>
@ -54,9 +54,9 @@ drafted on 2024-07-05
</p>
</div>
</div>
<div id="outline-container-orgfd3c7a1" class="outline-3">
<h3 id="orgfd3c7a1"><a href="../posts/add_rss_to_blog.html">Org blog with RSS</a></h3>
<div class="outline-text-3" id="text-orgfd3c7a1">
<div id="outline-container-org3352f7f" class="outline-3">
<h3 id="org3352f7f"><a href="../posts/add_rss_to_blog.html">Org blog with RSS</a></h3>
<div class="outline-text-3" id="text-org3352f7f">
<p>
Let's add RSS feed to blog
</p>
@ -71,9 +71,9 @@ drafted on 2024-06-23
</p>
</div>
</div>
<div id="outline-container-orgb3daecb" class="outline-3">
<h3 id="orgb3daecb"><a href="../posts/about_blog.html">Org to HTML and back</a></h3>
<div class="outline-text-3" id="text-orgb3daecb">
<div id="outline-container-org1632085" class="outline-3">
<h3 id="org1632085"><a href="../posts/about_blog.html">Org to HTML and back</a></h3>
<div class="outline-text-3" id="text-org1632085">
<p>
Blog post about publishing my blog with Org Mode
</p>

View File

@ -1,11 +1,11 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta author="Alex Mikhailov"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="color-scheme" content="light dark"/><meta http-equiv="content-language" content="en-us"/><meta name="description" content=""/><meta property="og:description" content=""/><meta property="og:image" content="https://fidonode.me/resources/images/preview/tags/@rss.org.png"/><meta property="og:title" content="Tag: @rss"/><meta name="twitter:description" content=""/><meta name="twitter:title" content="Tag: @rss"/><meta name="twitter:image" content="https://fidonode.me/resources/images/preview/tags/@rss.org.png"/><meta name="twitter:card" content="summary_large_image"/><link rel="icon" type="image/x-icon" href="/resources/favicon.ico"/><link rel="stylesheet" type="text/css" href="/resources/css/pico.sand.min.css"/><script defer="true" src="https://umami.dokutsu.xyz/script.js" data-website-id="d52d9af1-0c7d-4531-84c6-0b9c2850011f"></script><title>Tag: @rss</title></head><body><header class="header"><div class="container"><nav><ul><li><strong>Alex Mikhailov</strong></li></ul><ul><li><a href="/index.html">About</a></li><li><a href="/posts.html">Blog</a></li><li><a href="/rss.xml">RSS</a></li></ul></nav></div></header><main class="container">
<div id="outline-container-org0458c44" class="outline-2">
<h2 id="org0458c44">@rss</h2>
<div class="outline-text-2" id="text-org0458c44">
<div id="outline-container-org0c21151" class="outline-2">
<h2 id="org0c21151">@rss</h2>
<div class="outline-text-2" id="text-org0c21151">
</div>
<div id="outline-container-org707ada4" class="outline-3">
<h3 id="org707ada4"><a href="../posts/add_rss_to_blog.html">Org blog with RSS</a></h3>
<div class="outline-text-3" id="text-org707ada4">
<div id="outline-container-org1de8cf4" class="outline-3">
<h3 id="org1de8cf4"><a href="../posts/add_rss_to_blog.html">Org blog with RSS</a></h3>
<div class="outline-text-3" id="text-org1de8cf4">
<p>
Let's add RSS feed to blog
</p>

View File

@ -1,11 +1,11 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta author="Alex Mikhailov"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="color-scheme" content="light dark"/><meta http-equiv="content-language" content="en-us"/><meta name="description" content=""/><meta property="og:description" content=""/><meta property="og:image" content="https://fidonode.me/resources/images/preview/tags/@tags.org.png"/><meta property="og:title" content="Tag: @tags"/><meta name="twitter:description" content=""/><meta name="twitter:title" content="Tag: @tags"/><meta name="twitter:image" content="https://fidonode.me/resources/images/preview/tags/@tags.org.png"/><meta name="twitter:card" content="summary_large_image"/><link rel="icon" type="image/x-icon" href="/resources/favicon.ico"/><link rel="stylesheet" type="text/css" href="/resources/css/pico.sand.min.css"/><script defer="true" src="https://umami.dokutsu.xyz/script.js" data-website-id="d52d9af1-0c7d-4531-84c6-0b9c2850011f"></script><title>Tag: @tags</title></head><body><header class="header"><div class="container"><nav><ul><li><strong>Alex Mikhailov</strong></li></ul><ul><li><a href="/index.html">About</a></li><li><a href="/posts.html">Blog</a></li><li><a href="/rss.xml">RSS</a></li></ul></nav></div></header><main class="container">
<div id="outline-container-org62d4d68" class="outline-2">
<h2 id="org62d4d68">@tags</h2>
<div class="outline-text-2" id="text-org62d4d68">
<div id="outline-container-orgdcb28c2" class="outline-2">
<h2 id="orgdcb28c2">@tags</h2>
<div class="outline-text-2" id="text-orgdcb28c2">
</div>
<div id="outline-container-orgecd6369" class="outline-3">
<h3 id="orgecd6369"><a href="../posts/blog_index_and_tags_automation.html">Blog index and tags automation</a></h3>
<div class="outline-text-3" id="text-orgecd6369">
<div id="outline-container-orgc6a8694" class="outline-3">
<h3 id="orgc6a8694"><a href="../posts/blog_index_and_tags_automation.html">Blog index and tags automation</a></h3>
<div class="outline-text-3" id="text-orgc6a8694">
<p>
Let's add tags to blog posts
</p>