Browse Source

many small fixes

Signed by: yogsototh GPG Key ID: 7B19A4C650D59646
  1. 2
  2. 86
  3. 10
  4. 4
  5. 14
  6. 10


@ -47,8 +47,8 @@ for xfic in $indexdir/**/*.xml; do
printf ": %-55s" "$title ($keywords)"
taglist=$(mktaglist $keywords)
{ printf "\\n<li>"
printf "\\n<a href=\"%s\">%s</a>" "${blogfile}" "$title"
printf "\\n<span class=\"pubDate\">%s</span>%s" "$d"
printf "\\n<a href=\"%s\">%s</a>" "${blogfile}" "$title"
printf "<span class=\"tags\">%s</span>" "$taglist"
printf "\\n</li>\\n\\n"
} >> "$tmpdir/${d}-$(basename $xfic).index"


@ -1,7 +1,7 @@
html {
font-family: serif;
font-family: Georgia,serif;
font-size: 18px;
line-height: calc(1ex/0.37); }
line-height: calc(1ex/0.32); }
#TOC {text-align: left;}
html,body { margin: 0; padding: 0; border: 0; }
.main { min-height: calc(100vh - 1em); }
@ -10,13 +10,15 @@ h1,h2,h3,h4,h5,h6 {
margin: calc(1ex/0.42) 0; }
#preamble h1 { margin: 0; }
p { text-align: justify; hyphens: auto; }
pre { overflow-x: scroll; border: solid 1px; padding: 1em; }
pre { overflow-x: scroll; padding-left: 1em; border-left: dotted 1px; }
pre > code { background: none; font-size: 0.875em; padding: 0; }
code,pre { font-family: Menlo, Monaco, monospace; font-size: 0.825em; }
code { padding: 1px 3px; }
figure { margin: 1rem 0; padding: 0; }
.meta { font-size: small;}
.abstract { margin: 1rem 10% 0; font-size: 0.875em; font-style: italic; }
.abstract,.notes { margin: 1rem 10% 0; font-size: 0.875em; }
.notes { border: dotted 1px; padding: 1em 2em;}
.abstract { font-style: italic; }
#logo { display: block;
vertical-align: middle;
text-align: center;
@ -52,23 +54,23 @@ footer { margin: 3em 0;
table { margin: 1rem 0; line-height: 1em; max-width: 100%; overflow: scroll;
display: block;
border: solid;}
border: solid 1px;}
table th { padding: .1em 1em; }
table td { padding: .1em 1em; }
nav { text-align: center; padding: 1em 0; }
pre { line-height: 1em; }
figcaption { text-align: right; font-style: italic; font-size: 0.875em; }
#table-of-contents { text-align: left; }
#toc { font-size: 0.875em; padding: 1rem; }
#toc ul { padding-left: 2em; }
#toc, blockquote { margin: 0 1rem; padding-left: 1rem; }
.pubDate { font-size: .825em; opacity: 0.4; margin-right: 1em; }
.tags { margin-left: 1em; opacity: 0.4; }
.tag { font-size: .7em; padding: 0 3px; font-style: italic; }
/* COLORS */
/* colortheme switch */
:root {
--b03: #2E3440;
--b02: #3B4252;
/* not used because light mode is has more contrast
--b01: #656b74;
--y: #c18600;
--o: #d84100;
--r: #e62729;
@ -77,28 +79,14 @@ figcaption { text-align: right; font-style: italic; font-size: 0.875em; }
--b: #0095ff;
--c: #00b0a3;
--g: #879a00;
--b00: #727781;
--b0: #989ea8;
--b1: #b0bac7;
--b2: #ECEFF4;
--b3: rgb(248,249,251);
/* default light */
--bg: var(--b3);
--rbg: var(--b2);
--fg0: var(--b0);
--fg: #4c566a; /* var(--b02); */
--rfg: var(--b03);
--hl: var(--rfg);
--lgbg: var(--fg);
--lgbd: var(--rfg);
--brd: var(--b1);
--bg: #fff;
--fg: #000;
img { filter: brightness(0.8) sepia(100%) hue-rotate(185deg) saturate(0.5); }
img:hover { filter: none; }
/* dark preferred */
@media (prefers-color-scheme: dark)
@ -112,60 +100,24 @@ img:hover { filter: none; }
--c: #15a198;
--g: #939452;
--bg: hsl(218,20%,16%);
--rbg: var(--b03);
--fg: var(--b0);
--fg0: var(--b00);
--rfg: var(--b1);
--hl: var(--b1);
--lgbg: hsl(218,20%,10%);
--lgbd: var(--b03);
--brd: hsl(218,15%,23%);
--fg: hsl(218,20%,70%);
img { filter: brightness(0.6) sepia(100%) hue-rotate(185deg) saturate(0.5); }
img:hover { filter: brightness(0.7); }
pre {
background: hsl(218,20%,18%);
em,strong,b,i,h1,h2,h3,h4,h5,h6 { color: var(--rfg); }
/* ---- */
::selection {
background: var(--rbg);
color: var(--fg);
text-decoration: var(--fg);
body, body > div {
background: var(--bg);
color: var(--fg);
a,a:visited { color: var(--hl);}
code { background: var(--rbg); }
table th { background: var(--rbg); }
#toc, blockquote { margin: 0 1rem;
padding-left: 1rem;
border-left: solid var(--rbg); }
#toc { font-size: 0.875em;
background: var(--rbg);
padding: 1rem;
border: solid 1px var(--fg0);
#toc ul { padding-left: 2em; }
a,a:visited { color: var(--fg); }
#table-of-contents { text-align: left; }
#logo { background: var(--lgbg);
border-bottom: solid 5px var(--lgbd); }
.ex { color:var(--v); }
.op, .fu, .ot {color:var(--b);}
.bu { color:var(--m); }
.dt { color:var(--o); }
.kw { color:var(--y); }
.st { color:var(--g); }
.co { color:var(--fg0); }
.pubDate { font-size: .7em; color: var(--fg); }
.tag { font-size: .7em; background-color: var(--rbg); }
pre { border-color: var(--brd); background: var(--rbg); }
.co { opacity: 0.4; }
.todo,.done { background: var(--r); color: #FFF; font-weight: bold; font-size: .66em; padding: .2em;}
.done { background: var(--g); }


@ -405,25 +405,25 @@
Now you should be able to reach
You should see something like
#+NAME: ZNC Login Page
#+CAPTION: ZNC Login Page
Login with your admin user (set during the configuration or znc).
Then go to your Global settings
#+NAME: ZNC Global Settings
#+CAPTION: ZNC Global Settings
And if you scroll down you should see a list of modules. Select the
playback and palaver modules and save your preferences.
#+NAME: ZNC Modules
#+CAPTION: ZNC Modules
Then under the global settings, go to your User settings and scroll down to
see the Flags:
#+NAME: ZNC User Settings Flags
#+CAPTION: ZNC User Settings Flags
Take care to unselect the "Auto Clear Chan Buffer", "Auto Clear Query
@ -432,7 +432,7 @@ If you forget to do that, the playback plugin will not work as expected.
Finally add your IRC server to via the Network block (in your User Settings):
#+NAME: ZNC Add Network
#+CAPTION: ZNC Add Network
From now on, you should always appear as a connected user to your IRC server.


@ -6,9 +6,7 @@
#+DESCRIPTION: Change the profile of iTerm in sync with macOS preferences.
#+OPTIONS: auto-id:t toc:nil
How to have dark/light profile selected when opening a new iTerm.
* The script
@ -24,7 +22,7 @@ I use =fish= but you can easily adapt that in your =.bashrc=,
Here is what I have in my =~/.config/fish/
#+begin_src fish
#+begin_src sh
function setItermProfile
echo -ne "\033]50;SetProfile=$argv\a"


@ -14,7 +14,7 @@ Building its own static building system is a rite of passage for many developers
It has a lot of nice features.
It gives a goal with a feeling of accomplishment.
It is simple enough so most developers could build their own system.
But it could also become very complex when you go down the rabbit hole.
It could also become complex when you go down the rabbit hole.
Along the years I used different tools and used and wrote of few static
website systems:
@ -25,7 +25,7 @@ website systems:
- [[][shake]] (haskell again)
So if you look at the progression, I first used nanoc because I used ruby
and it was a very new solution, the website looked really great.
and it was a new solution, the website looked really great.
Also the main developer [[][Denis Defreyne]] was really helpful.
Ruby was really great at dealing with regular expressions for hacking my
@ -53,10 +53,10 @@ So org-mode comes with an export system.
Thus I switched to org-publish.
Again [[][I wrote a bit about it]].
It was nice, but very slow.
It was nice but slow.
I improved a few things like writing a short script to
[[][Generate RSS from a tree of html files.]]
But I still had the feeling it was too slow.
I still had the feeling it was too slow.
Static site building is a specific usage of a build system.
And as I knew I could use =pandoc= to build HTML out of org-mode files
@ -70,7 +70,7 @@ It worked like a charm and it was *very fast* as compared to other
solutions I tried.
So really let me tell you shake is a great build system.
But it was not perfect.
Unfortunately it was not perfect.
While it was very fast, and I was able to use pandoc API directly.
It made me dependent on Haskell.
The best way I found to have Haskell reproducible build environment is to
@ -208,7 +208,7 @@ Limitation: =make= is old.
So it really does not support spaces in filenames.
Take care of that.
But let me tell you.
Let me tell you.
While this is quite a minimalist approach (<100 lines) it is nevertheless *very fast*.
It will only generate the minimal amount of work to generate your website.
I have a nice watcher script that update the website every time I save a
@ -219,7 +219,7 @@ The only risky dependencies for my website now is =pandoc=.
Perhaps, they will change how they generate an HTML from the same org file
in the future.
I still use =nix= to pin my pandoc version.
But the static site builder itself is very simple, very stable and still
The static site builder itself is very simple, very stable and still
very efficient.
As a conclusion, if you want to write your own static site builder that's great.


@ -17,10 +17,10 @@
<div id="logo">
<a href="/">
<svg width="5em" viewBox="0 0 64 64">
<circle cx="32" cy="32" r="30" stroke="var(--b2)" stroke-width="2" fill="var(--b03)"/>
<circle cx="32" cy="32" r="12" stroke="var(--r)" stroke-width="2" fill="var(--o)"/>
<circle cx="32" cy="32" r="6" stroke-width="0" fill="var(--y)"/>
<ellipse cx="32" cy="14" rx="14" ry="8" stroke-width="0" fill="var(--b3)"/>
<circle cx="32" cy="32" r="30" stroke="#a3aec2" stroke-width="2" fill="#2E3440"/>
<circle cx="32" cy="32" r="12" stroke="#e62729" stroke-width="2" fill="#d84100"/>
<circle cx="32" cy="32" r="6" stroke-width="0" fill="#c18600"/>
<ellipse cx="32" cy="14" rx="14" ry="8" stroke-width="0" fill="#FFF"/>
@ -50,7 +50,7 @@ $body$
<span class="details"> (<a href="">code</a>
<a href="">bookmarks</a>
<a href="">notes</a>)</span> |
<a href="#preamble">↑ Top ↑</a>
<a href="#logo">↑ Top ↑</a>