<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Growing Thoughts - Articles</title><link href="https://ogrieb.de/" rel="alternate"></link><link href="https://ogrieb.de/feeds/articles.atom.xml" rel="self"></link><id>https://ogrieb.de/</id><updated>2025-07-19T00:00:00+02:00</updated><subtitle>...a digital garden by Oliver Grieb</subtitle><entry><title>This Site</title><link href="https://ogrieb.de/this_site/this_site.html" rel="alternate"></link><published>2025-05-07T00:00:00+02:00</published><updated>2025-07-19T00:00:00+02:00</updated><author><name>Oliver Grieb</name></author><id>tag:ogrieb.de,2025-05-07:/this_site/this_site.html</id><summary type="html">&lt;p&gt;From my fist steps with Pelican to generate this site, my integration of Bootstrap and theme customizations to what it is today.&lt;/p&gt;</summary><content type="html">&lt;p&gt;This site is generated as a static site with the Debian stable package of &lt;a href="https://docs.getpelican.com"&gt;Pelican&lt;/a&gt;. I created my own custom theme for it with &lt;a href="https://getbootstrap.com/"&gt;Bootstrap 5&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;My First Steps with Pelican&lt;/h3&gt;
&lt;p&gt;I started with the &lt;a href="https://docs.getpelican.com/en/latest/quickstart.html"&gt;Quickstart&lt;/a&gt; tutorial and played with the minimal site you generate there. Not having defined a theme, the pure &lt;code&gt;html&lt;/code&gt; output was pretty bare:&lt;/p&gt;
&lt;p&gt;&lt;img alt="site screenshot" src="https://ogrieb.de/this_site/250508_this_site_html_bare.jpg"&gt;&lt;/p&gt;
&lt;p&gt;The Quickstart tutorial shows the steps to generate and preview a site &lt;em&gt;once&lt;/em&gt;. If you start playing around with articles and Markdown and such you probably don't want to run the &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;pelican content
pelican --listen
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;commands every time. The &lt;code&gt;make devserver&lt;/code&gt; command is much handier. It will re-generate and re-serve the site on &lt;code&gt;http://127.0.0.1:8000&lt;/code&gt; with every file change.&lt;/p&gt;
&lt;p&gt;Next, I &lt;a href="https://pelicanthemes.com"&gt;looked&lt;/a&gt; through the Pelican included &lt;a href="https://github.com/getpelican/pelican-themes"&gt;themes&lt;/a&gt;, but nothing really jumped out at me... So I got curious about customizing my own theme.&lt;/p&gt;
&lt;h3&gt;Adding a Custom Theme&lt;/h3&gt;
&lt;p&gt;The Pelican &lt;a href="https://docs.getpelican.com/en/latest/themes.html"&gt;docs&lt;/a&gt; suggest to build your own theme with their &lt;a href="https://github.com/getpelican/pelican/tree/main/pelican/themes/simple/templates"&gt;simple&lt;/a&gt; theme. To add the theme to your site download the simple theme's folder from the GitHub repository into a subfolder, e.g., &lt;code&gt;your-site/theme/&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To enable the theme in your builds add the below setting to your &lt;code&gt;pelicanconf.py&lt;/code&gt;. It takes the relative path to the theme's subfolder.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;THEME&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;theme/&amp;#39;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The simple theme (folder) only contains a &lt;code&gt;templates/&lt;/code&gt; subfolder with &lt;code&gt;.html&lt;/code&gt; files. These define a blog structure. All Pelican themes do. Were you now to build your project site again, it would still look very bare. Similar to the screenshot above. As the simple theme &lt;em&gt;doesn't&lt;/em&gt; include any CSS.&lt;/p&gt;
&lt;p&gt;I didn't have any CSS experience, but have heard a lot about &lt;a href="https://getbootstrap.com/"&gt;Bootstrap&lt;/a&gt;. So, I tried to figure out how to add that to my new theme.&lt;/p&gt;
&lt;h3&gt;Adding Bootstrap&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.heise.de/ratgeber/Open-Source-Frontend-Framework-Bootstrap-Basteln-mit-HTML-4882148.html"&gt;heise article&lt;/a&gt; (german)&lt;/p&gt;
&lt;h3&gt;Theme Changes&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;bla&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;html&lt;/span&gt; &lt;span class="na"&gt;lang&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;{% block html_lang %}{{ DEFAULT_LANG }}{% endblock html_lang %}&amp;quot;&lt;/span&gt; 
      &lt;span class="na"&gt;data-bs-theme&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;dark&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Makefile Patch&lt;/h3&gt;
&lt;p&gt;I patched the &lt;code&gt;rsync&lt;/code&gt; command in the Pelican generated Makefile to &lt;code&gt;--exclude 'logs'&lt;/code&gt; to avoid warnings with &lt;code&gt;rsync&lt;/code&gt; and my webhost. My webhost keeps a &lt;code&gt;logs&lt;/code&gt; directory in its document root that &lt;code&gt;rsync&lt;/code&gt; tries to delete.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;rsync_upload&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;publish&lt;/span&gt;
&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="n"&gt;rsync&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;ssh -p $(SSH_PORT)&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;P&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;rvzc&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;include&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tags&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;cvs&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;exclude&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;delete&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;$(OUTPUTDIR)&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;$(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR)&amp;quot;&lt;/span&gt;
&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="n"&gt;rsync&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;ssh -p $(SSH_PORT)&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;P&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;rvzc&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;include&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tags&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;cvs&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;exclude&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;delete&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;$(OUTPUTDIR)&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;exclude&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;logs&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;$(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR)&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</content><category term="Articles"></category><category term="Pelican"></category><category term="Bootstrap"></category></entry><entry><title>My Visual Studio Code Extensions and Settings</title><link href="https://ogrieb.de/vscode_settings.html" rel="alternate"></link><published>2025-06-27T00:00:00+02:00</published><updated>2025-06-27T00:00:00+02:00</updated><author><name>Oliver Grieb</name></author><id>tag:ogrieb.de,2025-06-27:/vscode_settings.html</id><summary type="html">&lt;p&gt;My current vscode extensions and settings. Should I ever need them on a new system.&lt;/p&gt;</summary><content type="html">&lt;p&gt;My current vscode extensions and settings. Should I ever need them on a new system.&lt;/p&gt;
&lt;h2&gt;Extensions&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Continue set up with Mistral's Codestral&lt;/li&gt;
&lt;li&gt;Pylance&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Python Debugger&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Settings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Color Theme: &lt;code&gt;Solarized Dark&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Render Whitespace: &lt;code&gt;trailing&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Minimap: &lt;code&gt;disabled&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;</content><category term="Articles"></category><category term="vscode"></category></entry><entry><title>DotA 2 Alt Modifier Set to SPACE Hotkey Issue</title><link href="https://ogrieb.de/dota2_hotkey_fix.html" rel="alternate"></link><published>2025-05-24T00:00:00+02:00</published><updated>2025-05-24T00:00:00+02:00</updated><author><name>Oliver Grieb</name></author><id>tag:ogrieb.de,2025-05-24:/dota2_hotkey_fix.html</id><summary type="html">&lt;p&gt;DotA 2 7.39 gameplay update broke my &lt;code&gt;Alt Modifier&lt;/code&gt; hotkey which I bound to &lt;code&gt;SPACE&lt;/code&gt;. I fixed it.&lt;/p&gt;</summary><content type="html">&lt;p&gt;The just released DotA 2 7.39 gameplay update broke my &lt;code&gt;Alt Modifier&lt;/code&gt; hotkey which I bound to &lt;code&gt;SPACE&lt;/code&gt;. It kept its function, but opened the shop panel with every press, too. I like using it to see ranges etc., but the shop panel opening and taking a third of your view defeats the purpose.&lt;/p&gt;
&lt;p&gt;The problem remained after resetting the hotkeys to defaults. Vaguely remembering a similar issue years ago. I found the probable issue by trying the &lt;code&gt;console&lt;/code&gt; command &lt;code&gt;key_listboundkeys&lt;/code&gt;, which showed the line:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Player 0&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ss"&gt;&amp;quot;SPACE&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ss"&gt;&amp;quot;toggleshoppanel&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;It seems to keep that bind even if the shop is bound to another key. Above binding changes if you assign the &lt;code&gt;SPACE&lt;/code&gt; key to another function in the menu. But when trying to bind it as the &lt;code&gt;Alt Modifier&lt;/code&gt; it goes back to the shop panel. Unbinding it in the console fixes it, i.e., the command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;unbind SPACE
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Removes the binding and the &lt;code&gt;Alt Modifier&lt;/code&gt; can be set to &lt;code&gt;SPACE&lt;/code&gt; in the options menu.&lt;/p&gt;
&lt;p&gt;So yay, figured it all out by myself. Felt so proud about it that I reported it as an Issue on the &lt;a href="https://github.com/ValveSoftware/Dota2-Gameplay/issues/25845"&gt;Dota2-Gameplay&lt;/a&gt; Github tracker I found during my searches. Only to then find out others had similar issues. :) Some even came up with the same fix. It seems to have helped at least one other guy, though. I'll take that.&lt;/p&gt;</content><category term="Articles"></category></entry></feed>