summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPranshu Sharma <pranshu@pebl>2024-12-13 01:02:38 +1000
committerPranshu Sharma <pranshu@pebl>2024-12-13 01:02:38 +1000
commit375204f6a5e76ea1629f61628a3f9537969e3774 (patch)
treed2b9b7bec13da3541cb57f39842feaaeb0bf0f12
Inital commit
-rw-r--r--blog/path-to-self-hosting.html34
-rw-r--r--blog/uses.html85
-rw-r--r--bq/index.html45
-rw-r--r--cork/.index.html.swobin0 -> 16384 bytes
-rw-r--r--cork/.index.html.swpbin0 -> 12288 bytes
-rw-r--r--cork/index.html103
-rw-r--r--img/._akbar.pngbin0 -> 4096 bytes
-rw-r--r--img/._bela.pngbin0 -> 4096 bytes
-rw-r--r--img/._christ.pngbin0 -> 4096 bytes
-rw-r--r--img/._footer.svgbin0 -> 4096 bytes
-rw-r--r--img/._ornament.svgbin0 -> 4096 bytes
-rw-r--r--img/._placeholder.pngbin0 -> 4096 bytes
-rw-r--r--img/._pranshu.pngbin0 -> 4096 bytes
-rw-r--r--img/akbar.pngbin0 -> 164489 bytes
-rw-r--r--img/akin.avifbin0 -> 2987 bytes
-rw-r--r--img/bela.pngbin0 -> 106922 bytes
-rw-r--r--img/christ.pngbin0 -> 117420 bytes
-rw-r--r--img/fav.svg31
-rw-r--r--img/footer.svg33
-rw-r--r--img/ornament.svg19
-rw-r--r--img/placeholder.pngbin0 -> 13758 bytes
-rw-r--r--img/pranshu.webpbin0 -> 42298 bytes
-rw-r--r--index.html121
-rw-r--r--smap/index.html43
-rw-r--r--style.css165
25 files changed, 679 insertions, 0 deletions
diff --git a/blog/path-to-self-hosting.html b/blog/path-to-self-hosting.html
new file mode 100644
index 0000000..87e5081
--- /dev/null
+++ b/blog/path-to-self-hosting.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <link rel="stylesheet" href="/style.css">
+ <title>bauherren</title>
+</head>
+<body>
+ <header>
+ <h1>bauherren</h1>
+ <blockquote>Path to self-hosting</blockquote>
+ <img src="/img/ornament.svg" type="svg" id="ornament"/>
+ </header>
+ <main>
+ <p>Author: <a href=//c.bauherren.ovh>Christos</a>, <a href=//p.bauherren.ovh>PRANSHU???</a>
+ <p><time>12 Dec 24</time>
+ <p>The biggest disservice I've committed unto my friends (those I successfully swayed over onto 'free software') is not preaching the good word of 'self-hosting' - earlier.
+ <p>'Self-hosting' and 'free-software' go hand in hand
+ <p>I'm sure Linux users can in a moments notice list all the evil things Microsoft and Apple have done unto mankind but are content with services provided by Google, GitHub etc.
+ <p>Now bauherren.ovh has it's own email server, matrix, searx instances
+ <p>Work is underway to set up a full git,
+ <h2>It's never been easier</h2>
+ <p>There are a dime-a-dozen quality guides and even dedicated guides like <a href=//landchad.net>landchad.net</a> that have everything you need to start self-hosting.
+ <p>I'll admit it for some nicher things, like setting up an IRC chat bot, goodluck finding an up-to-date guide
+ </main>
+
+ <footer>
+ <img src="/img/footer.svg" type="svg" width="25%;"/>
+ </footer>
+
+</body>
+</html>
diff --git a/blog/uses.html b/blog/uses.html
new file mode 100644
index 0000000..4c36e1c
--- /dev/null
+++ b/blog/uses.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta name="generator" content="HTML Tidy for HTML5 for Apple macOS version 5.8.0">
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <link rel="stylesheet" href="/style.css">
+ <title>bauherren | uses</title>
+</head>
+<body>
+ <header>
+ <h1>What do you use?</h1>
+ <blockquote>
+ bauherren
+ </blockquote><img src="/img/ornament.svg" type="svg" id="ornament">
+ <header>
+ <main>
+ <div class="uses-container">
+ <h2>Béla</h2>
+ <ul>
+ <li>Browser: <a href=//librewolf.net>Librewolf</a>
+ <li>Editor: <a href=//gnu.org/software/emacs/Emacs>Emacs</a>
+ <li>Terminal emulator: <a href=//st.suckless.org>st</a>
+ <li>Operating system: <a href=//artixlinux.org>Artix</a>
+ <li>Window manager: <a href=//dwm.suckless.org>dwm</a>
+ </ul>
+ <h3>Hardware?</h3>
+ <p>Desktop computer composed of RTX 4070 Super, Ryzen 7 5800X3D, and 32 gigabytes of RAM.
+ Owner of a Thinkpad X260.
+ Ordinary blue switch keyboard.
+ <h3>Software?</h3>
+ <p>I use Artix Linux with runit as daily driver.
+ Go-to window manager is dwm, and Emacs for most of my work.
+ <h3>Dream setup?</h3>
+ <p>A nice piece of computerised telescope with a quality monochromatic camera for astrophotography
+ </div>
+
+ <div class="uses-container">
+ <h2>Christos</h2>
+ <ul>
+ <li>Browser: <a href=//chromium.org>Chromium</a>
+ <li>Editor: <a href=http://acme.cat-v.org>acme</a>,<a href=//vim.org>vim</a>
+ <li>Terminal emulator: <a href=//st.suckless.org>st</a>
+ <li>Operating system: <a href=//artixlinux.org>Artix</a>
+ <li>Window manager: <a href=//github.com/dylanaraps/sowm>sowm</a>
+ </ul>
+ <h3>Hardware?</h3>
+ <p>Corebooted ThinkPad X230 mobo with a 2D Maltron keyboard and Esterline trackball.
+ Monitor is 4:3 aspect ratio.
+ <h3>Software?</h3>
+ <p>Artix on desktop, OpenBSD/Debian on servers.
+ I mount remote files with sshfs and do <em>everything</em> I need in acme.
+ I like to tell others I have the most ergonomic workflow.
+ <h3>Dream setup?</h3>
+ <p>No setup.
+ Just kidding.
+ I don't know something rugged?
+ One which I couldn't lose any sleep over.
+ </div>
+
+ <div class="uses-container">
+ <h2>Pranshu</h2>
+ <ul>
+ <li>Browser: <a href=//mozilla.org/en-GB/firefox/new/>Firefox</a>
+ <li>Editor: <a href=//gnu.org/software/emacs/Emacs>Emacs</a>
+ <li>Terminal emulator: <a href=//wiki.mate-desktop.org/mate-desktop/applications/mate-terminal/>mate-terminal</a>
+ <li>Operating system: <a href=//debian.org>Debian</a>
+ <li>Desktop enviorment: <a href=//mate-desktop.org/>Mate</a>
+ </ul>
+ <h3>Hardware?</h3>
+ <p> Thinkpad E560. Lepold keyword with mx red swithces.
+ <h3>Software?</h3>
+ <p> Pretty much use emacs for most things, eg music, file browsing, mail, etc...
+ <h3>Dream setup?</h3>
+ <p> Nuerlink. Joking. Probably one with nice stereo speakers.
+ </div>
+ </main>
+ <footer>
+ <img src="/img/footer.svg" type="svg" width="25%;">
+ </footer>
+ </header>
+ </header>
+</body>
+</html>
diff --git a/bq/index.html b/bq/index.html
new file mode 100644
index 0000000..464988b
--- /dev/null
+++ b/bq/index.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <link rel="stylesheet" href="/style.css">
+<style>
+main img {
+ border: 0.2em solid black;
+ padding: 0.2em;
+}
+</style>
+ <title>bq</title>
+</head>
+<body>
+ <header>
+ <h1>bq</h1>
+ <blockquote>Small, Fast, Performant</blockquote>
+ <img src="/img/ornament.svg" type="svg" id="ornament"/>
+ <header>
+
+ <main>
+ <section id="projects">
+ <div class="project">
+ <p><em>Author: <a href=//c.bauherren.ovh>Christos</a></em></p>
+ <br>
+ <h3>What is bq?</h3>
+ <p>bq is a line-oriented editor, born out of my frustration with the number of operations <pre>ed</pre> required for simple edits.
+ <h3>What isn't bq</h3>
+ <p>bq is not a replacement for vim/emacs. bq will never take part in the editor arms-race.
+<br>
+ <h3>Why bq?</h3>
+ <p>bq is for short and snappy editing, for occasions in which firing up an editor and filling your screens with content isn't practical.
+ <h4>Coming soon!</h4>
+ </div>
+ </section>
+ </main>
+
+ <footer>
+ <img src="/img/footer.svg" type="svg" width="25%;"/>
+ </footer>
+
+</body>
+</html>
diff --git a/cork/.index.html.swo b/cork/.index.html.swo
new file mode 100644
index 0000000..20d71b4
--- /dev/null
+++ b/cork/.index.html.swo
Binary files differ
diff --git a/cork/.index.html.swp b/cork/.index.html.swp
new file mode 100644
index 0000000..71713de
--- /dev/null
+++ b/cork/.index.html.swp
Binary files differ
diff --git a/cork/index.html b/cork/index.html
new file mode 100644
index 0000000..dc637d0
--- /dev/null
+++ b/cork/index.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <link rel="stylesheet" href="/style.css">
+<style>
+main img {
+ border: 0.2em solid black;
+ padding: 0.2em;
+}
+</style>
+ <title>Cork</title>
+</head>
+<body>
+ <header>
+ <h1>Cork</h1>
+ <blockquote>Small, Fast, Performant</blockquote>
+ <img src="/img/ornament.svg" type="svg" id="ornament"/>
+ <header>
+
+ <main>
+ <section id="projects">
+ <div class="project">
+ <p><em>Author: <a href=//c.bauherren.ovh>Christos</a></em></p>
+ <br>
+ <h3>What is Cork?</h3>
+ <p>Cork is a fast and performant static-site generator written in RC shell, leveraging Plan9's simple core-utils. Originally, just a fork of <a href="//werc.cat-v.org/"><i>werc</i></a>, Cork has become my software philosophy put into practice (more on that further down)
+ <br><br>
+ <h3>Why fork werc?</h3>
+ <p>I assume many people have never heard of werc. Werc power's sites such as <a href=http://cat-v.org>cat-v</a>, <a href=https://git.suckless.org/swerc/>suckless</a> and <a href=http://9front.org>9front</a> to name a few.
+ <p>I fell in love with werc because of it's design simplicity and how easy it was to deploy to manage multiple subdomains and sites
+ <p>However during the honeymoon period some creaks had started to show, due to werc's generous list of things it can support (<a href=https://werc.cat-v.org/apps/>apps</a>, caching etc.) it made changing fundemental scripting behaviour a lot more difficult. Moreover, said support meant a lot more system calls, system calls for features I would never have a need for.
+ <p>Werc rightfully so can boast of having a <b>core</b> that is only 150 sloc, whereas the <b>entirety</b> of cork is under 70 sloc and base cork is under 50.
+ <p>I respectfully believe werc provides features that 90 percent of users would never need
+ <br><br>
+ <h3>What isn't cork</h3>
+ <p>Cork is not a markdown to html converter.
+ <p>You can use any md2html program
+ <p>Some popular ones (that I know of are)
+ <ul><li>smu<li>discount</ul>md2html.awk
+<br>
+ <h3>Why Cork?</h3>
+ <p>Ability to use shell to script custom functions
+ <p>A scriptable static sidebar listing directory contents.
+ <br><br>
+ <center>
+<p><img src="//c.bauherren.ovh/pix/cork-demo1.png" style="width: 300px;">
+ <p><img src="//c.bauherren.ovh/pix/cork-demo2.png" style="width: 350px;">
+ <p><img src="//c.bauherren.ovh/pix/cork-demo3.png" style="width:350px;">
+ </center>
+ <br><br>
+ <h3>Installation</h3>
+ <p>Cork has only been tested with OpenBSD's webserver `httpd`,
+ <p>First you must install the Plan9 core-utils
+ <p>plan9port or 9base can be used (if you don't want a full-blown 9 install)
+ <p>For <a href=//0x19.org/posts/2021-11-28.php>plan9port</a> installation, Download <a href=//tools.suckless.org/9base/>9base</a>
+ <p>Now, <a href=https://c.bauherren.ovh/src/run/c.txt>download</a> and save the entire cork script one directory outside where you plan to keep your site
+ <p>Add the following to `/etc/httpd.conf`
+ <p>This is a 'sane' template, which I'll get to why it is later
+ <pre>
+
+server "c.bauherren.ovh" {
+ listen on * port 80
+ connection request timeout 4
+ location "/pix/*" {
+ root "/example.org"
+ }
+ location found "/*" {
+ root "/example.org/home"
+ }
+ location not found "/*" {
+ root "/"
+ fastcgi {
+ param PATH "/bin"
+ param PLAN9 "/usr/local/plan9"
+ param SCRIPT_FILENAME "/example.org/cork"
+ socket "/run/slowcgi.sock"
+ }
+ }
+}
+ </pre>
+ <p><pre>httpd</pre> searches in <pre>/var/www</pre> so create a directory with your site's name, cd into it and create two more directories.
+ <p>One called home (this is where you're .md content will go) and one called pix/
+ <p>Run `rcctl start httpd slowcgi</pre>
+ <h3>Post installation tips</h3>
+ <p>As stated earlier, cork strides to reduce system calls. This is very inline with it's author's software philosophy
+ <p>I do not like invoking <pre>sed or its UNIX buddies</pre> many times, so as to not oncur their wrath please practice a form of file hygiene
+ <p>The following are things I don't like you keeping public
+ <ul>
+ <li>dot files
+ <li>filenames with spaces
+ <li>executables
+ </ul>
+ <p>You can keep pictures public but they'll be indexed in the sidebar, if they're directory is visible. That might be something you want.
+ <br><br>
+ <h3>Issues</h3>
+ <p>I'm currently writing the script for a full Cork demo and setup walkthrough, so I hope that will cover any foreseeable issues.
+ <p>My <a href=mailto:christos@bauherren.ovh>email</a> is always open
+ </div>
+ </section>
+</main><footer><a href=/><img src="/img/footer.svg" type="svg" width="25%;"/></a></footer></body></html>
diff --git a/img/._akbar.png b/img/._akbar.png
new file mode 100644
index 0000000..90c583b
--- /dev/null
+++ b/img/._akbar.png
Binary files differ
diff --git a/img/._bela.png b/img/._bela.png
new file mode 100644
index 0000000..43e29a3
--- /dev/null
+++ b/img/._bela.png
Binary files differ
diff --git a/img/._christ.png b/img/._christ.png
new file mode 100644
index 0000000..fd11285
--- /dev/null
+++ b/img/._christ.png
Binary files differ
diff --git a/img/._footer.svg b/img/._footer.svg
new file mode 100644
index 0000000..7ab7095
--- /dev/null
+++ b/img/._footer.svg
Binary files differ
diff --git a/img/._ornament.svg b/img/._ornament.svg
new file mode 100644
index 0000000..7ab7095
--- /dev/null
+++ b/img/._ornament.svg
Binary files differ
diff --git a/img/._placeholder.png b/img/._placeholder.png
new file mode 100644
index 0000000..c4ab3b9
--- /dev/null
+++ b/img/._placeholder.png
Binary files differ
diff --git a/img/._pranshu.png b/img/._pranshu.png
new file mode 100644
index 0000000..5a7b63c
--- /dev/null
+++ b/img/._pranshu.png
Binary files differ
diff --git a/img/akbar.png b/img/akbar.png
new file mode 100644
index 0000000..0210fc9
--- /dev/null
+++ b/img/akbar.png
Binary files differ
diff --git a/img/akin.avif b/img/akin.avif
new file mode 100644
index 0000000..4667ea8
--- /dev/null
+++ b/img/akin.avif
Binary files differ
diff --git a/img/bela.png b/img/bela.png
new file mode 100644
index 0000000..6658952
--- /dev/null
+++ b/img/bela.png
Binary files differ
diff --git a/img/christ.png b/img/christ.png
new file mode 100644
index 0000000..00a84f0
--- /dev/null
+++ b/img/christ.png
Binary files differ
diff --git a/img/fav.svg b/img/fav.svg
new file mode 100644
index 0000000..4bad713
--- /dev/null
+++ b/img/fav.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1080" height="1080" viewBox="-1416 -1572.27 1080 1080" xml:space="preserve">
+<desc>Created with Fabric.js 5.2.4</desc>
+<defs>
+</defs>
+<g transform="matrix(1 0 0 1 540 540)" id="6b48d288-5433-44cf-bb4b-1e987a6e58c3" >
+<rect style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(255,255,255); fill-rule: nonzero; opacity: 1; visibility: hidden;" vector-effect="non-scaling-stroke" x="-540" y="-540" rx="0" ry="0" width="1080" height="1080" />
+</g>
+<g transform="matrix(1 0 0 1 540 540)" id="50ee81f9-5cce-4088-95b3-3aaa4301e97e" >
+</g>
+<g transform="matrix(16.67 0 0 16.67 -1180.79 -809.69)" >
+<rect style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: none; fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" x="-24" y="-24" rx="0" ry="0" width="48" height="48" />
+</g>
+<g transform="matrix(16.67 0 0 16.67 -676.53 -1081.06)" >
+<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-35, -21.25)" d="M 37 28.5 L 37 14 C 37 12.895430500338414 36.10456949966159 12 35 12 C 33.89543050033841 12 33 12.895430500338414 33 14 L 33 28.5 C 33 29.604569499661586 33.89543050033841 30.5 35 30.5 C 36.10456949966159 30.5 37 29.604569499661586 37 28.5 Z" stroke-linecap="round" />
+</g>
+<g transform="matrix(16.67 0 0 16.67 -906.77 -918.63)" >
+<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-21.18, -30.99)" d="M 30.1 39.2 C 28.648642876166324 40.35257088447561 26.853285577732137 40.98622640157003 25 41 L 23.2 41 C 18.7 41 14.5 37.6 14.2 33.7 L 13 18.8 C 12.949531996523367 18.268491531040695 12.688646149304795 17.779224955603464 12.275431027172997 17.44113985567745 C 11.862215905041198 17.103054755751433 11.33097721283667 16.944219435297036 10.799999999999999 17 C 10.268491531040697 17.050468003476634 9.779224955603466 17.311353850695205 9.441139855677449 17.724568972827 C 9.103054755751433 18.1377840949588 8.944219435297036 18.66902278716333 9 19.2 L 10.2 34 C 10.7 40 16.7 45 23.2 45 L 25 45 C 27.812699332113795 44.98220495328915 30.532851138813847 43.99305884176186 32.7 42.2 C 33.5204794802229 41.47807103929688 33.60954054692274 40.23121610549925 32.900000000000006 39.400000000000006 C 32.5690249651754 38.980791687441425 32.076887472883044 38.720253067125824 31.544128652452397 38.68219886566649 C 31.01136983202175 38.64414466420716 30.487197789555527 38.832089746325714 30.1 39.2 Z" stroke-linecap="round" />
+</g>
+<g transform="matrix(16.67 0 0 16.67 -776.53 -1185.22)" >
+<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-29, -15)" d="M 29 24 C 30.104569499661586 24 31 23.104569499661586 31 22 L 31 8 C 31 6.8954305003384135 30.104569499661586 6 29 6 C 27.895430500338414 6 27 6.895430500338413 27 8 L 27 22 C 27 23.104569499661586 27.895430500338414 24 29 24 Z" stroke-linecap="round" />
+</g>
+<g transform="matrix(16.67 0 0 16.67 -876.53 -1210.22)" >
+<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-23, -13.5)" d="M 23 24 C 24.104569499661586 24 25 23.104569499661586 25 22 L 25 5 C 25 3.895430500338413 24.104569499661586 3 23 3 C 21.895430500338414 3 21 3.8954305003384126 21 5 L 21 22 C 21 23.104569499661586 21.895430500338414 24 23 24 Z" stroke-linecap="round" />
+</g>
+<g transform="matrix(16.67 0 0 16.67 -976.53 -1185.22)" >
+<path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-17, -15)" d="M 17 24 C 18.104569499661586 24 19 23.104569499661586 19 22 L 19 8 C 19 6.8954305003384135 18.104569499661586 6 17 6 C 15.895430500338414 6 15 6.895430500338413 15 8 L 15 22 C 15 23.104569499661586 15.895430500338414 24 17 24 Z" stroke-linecap="round" />
+</g>
+</svg>
+
diff --git a/img/footer.svg b/img/footer.svg
new file mode 100644
index 0000000..9c492e8
--- /dev/null
+++ b/img/footer.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
+ width="158.000000pt" height="155.000000pt" viewBox="0 0 158.000000 155.000000"
+ preserveAspectRatio="xMidYMid meet">
+
+<g transform="translate(0.000000,155.000000) scale(0.100000,-0.100000)"
+fill="#000000" stroke="none">
+<path d="M770 1050 c-7 -14 -10 -40 -6 -65 l5 -43 -29 29 c-26 27 -60 39 -60
+22 0 -19 42 -74 63 -84 l24 -11 -31 -31 c-27 -27 -29 -32 -13 -35 22 -5 57 25
+57 48 0 9 15 21 36 29 28 10 40 23 56 58 11 24 17 47 14 51 -4 3 -22 -10 -41
+-28 l-35 -34 0 40 c0 22 -6 49 -14 59 -13 18 -14 18 -26 -5z"/>
+<path d="M797 883 c-4 -3 -7 -31 -8 -62 0 -31 -4 -74 -8 -96 l-8 -40 -8 30
+c-10 39 -53 85 -79 84 -12 0 -15 -3 -8 -6 7 -3 22 -24 33 -46 12 -23 31 -53
+44 -67 13 -14 26 -44 30 -67 l7 -43 -39 38 c-21 20 -37 40 -36 44 6 13 -9 38
+-23 38 -8 0 -14 8 -14 19 0 10 -6 24 -14 30 -24 20 -62 -31 -64 -85 -2 -38 1
+-44 17 -44 11 0 23 4 26 10 4 6 13 5 26 -3 16 -10 21 -9 29 3 9 12 17 8 48
+-25 20 -22 40 -39 44 -38 4 2 5 -4 2 -11 -7 -20 13 -56 32 -56 10 0 13 7 9 23
+-8 34 9 50 51 49 35 -1 74 19 74 38 0 4 -24 6 -52 4 -41 -2 -57 -8 -72 -26
+l-19 -23 7 35 c3 19 15 52 26 73 28 52 25 59 -5 15 -14 -21 -29 -52 -33 -70
+-6 -31 -7 -30 -12 21 -3 29 -2 87 2 130 4 42 5 87 2 101 l-5 25 16 -22 c15
+-22 55 -32 55 -15 0 25 -56 52 -73 35z m-142 -210 c-5 -32 -20 -49 -29 -34 -4
+6 -1 11 6 11 9 0 9 3 -2 10 -12 8 -12 10 -1 10 11 0 11 3 1 15 -11 13 -10 14
+5 9 14 -6 16 -4 10 6 -5 9 -4 11 4 6 6 -4 9 -19 6 -33z"/>
+<path d="M882 834 c-6 -20 -9 -42 -6 -50 15 -51 15 -50 29 -24 15 27 19 68 9
+94 -10 25 -20 19 -32 -20z"/>
+<path d="M982 823 c-38 -18 -72 -58 -72 -83 0 -9 -7 -17 -15 -17 -8 0 -15 7
+-15 14 0 10 -9 13 -27 11 -36 -4 -41 -26 -6 -30 23 -2 28 -8 28 -30 1 -40 14
+-46 27 -12 11 29 12 30 69 26 73 -5 79 12 12 31 -39 11 -44 15 -27 21 11 3 33
+20 49 36 36 38 24 56 -23 33z"/>
+</g>
+</svg>
diff --git a/img/ornament.svg b/img/ornament.svg
new file mode 100644
index 0000000..f03e191
--- /dev/null
+++ b/img/ornament.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="1200"
+ height="60"
+ id="svg2">
+ <defs
+ id="defs4" />
+ <path
+ d="m 585.1875,6.6875 c -0.87564,0.0035 -1.76646,0.5568965 -2.5625,1.53125 -1.1402,1.3955981 -1.37225,3.131128 -0.5,3.84375 0.87225,0.712622 2.51605,0.145598 3.65625,-1.25 0.393,-0.481027 0.64562,-0.9981326 0.8125,-1.5 0.57594,0.712332 0.75384,1.384822 0.71875,2.09375 -0.0543,1.09794 -0.71196,2.38874 -1.6875,3.5625 -1.01168,1.217237 -2.28161,2.272686 -3.28125,3.03125 L 10,18 A 2.0002,2.0002 0 0 0 9.8125,18 2.0021961,2.0021961 0 1 0 10,22 l 566.46875,0 c 3.78001,1.570184 14.75748,6.597756 22.59375,15.21875 -1.85939,2.08129 -3.71857,2.89738 -5.84375,3.125 -2.25875,0.24193 -4.85826,-0.13562 -7.90625,-0.21875 a 0.50005,0.50005 0 0 0 -0.46875,0.65625 c 1.78883,5.74612 5.84481,8.67421 11.34375,11.8125 a 0.50005,0.50005 0 0 0 0.75,-0.40625 c 0.12681,-3.57802 0.0588,-5.82403 0.53125,-7.625 0.43941,-1.67516 1.45758,-3.09237 3.5625,-5.03125 1.81364,1.86921 2.52779,3.59421 2.6875,5.6875 0.17158,2.24877 -0.222,4.93125 -0.25,8.46875 a 0.50005,0.50005 0 0 0 0.6875,0.46875 c 5.44166,-2.34795 9.87301,-5.84862 12.3125,-11.28125 a 0.50005,0.50005 0 0 0 -0.40625,-0.71875 c -4.89385,-0.57949 -7.0697,-0.38868 -8.4375,-0.75 -0.6839,-0.18066 -1.18037,-0.47162 -1.875,-1.125 -0.60431,-0.56842 -1.44279,-1.56467 -2.4375,-2.78125 1.46938,-1.33219 3.27106,-1.85823 5.34375,-1.96875 2.23642,-0.11925 4.70129,0.17221 6.96875,0.09375 a 0.50005,0.50005 0 0 0 0.46875,-0.53125 c -0.17703,-2.57638 -1.74714,-5.20313 -3.96875,-7.1875 -2.22161,-1.98437 -5.12887,-3.34098 -8.09375,-3.1875 a 0.50005,0.50005 0 0 0 -0.46875,0.5 c -0.026,2.30214 0.10047,4.20152 -0.15625,5.84375 -0.23396,1.49663 -0.85407,2.78053 -2.15625,4.0625 C 595.71497,29.021167 588.8201,24.693996 583.625,22 L 1190,22 a 2.0002,2.0002 0 1 0 0,-4 l -604.5,0 c 0.57069,-0.527781 1.13247,-1.119797 1.65625,-1.75 1.12516,-1.35377 2.13622,-2.935152 2.15625,-4.71875 0.0299,-2.663625 -2.12921,-4.158879 -3.25,-4.65625 -0.2802,-0.1243428 -0.58312,-0.1886671 -0.875,-0.1875 z"
+ id="path2996" />
+</svg>
diff --git a/img/placeholder.png b/img/placeholder.png
new file mode 100644
index 0000000..9083a17
--- /dev/null
+++ b/img/placeholder.png
Binary files differ
diff --git a/img/pranshu.webp b/img/pranshu.webp
new file mode 100644
index 0000000..2b107cf
--- /dev/null
+++ b/img/pranshu.webp
Binary files differ
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..3e1f697
--- /dev/null
+++ b/index.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <link rel="stylesheet" href="style.css">
+ <title>bauherren</title>
+</head>
+<body>
+ <header>
+ <h1>bauherren</h1>
+ <blockquote>I was hoping for a pyramid.</blockquote>
+ <img src="img/ornament.svg" type="svg" id="ornament"/>
+ </header>
+
+ <main>
+
+<details><summary>Members</summary>
+ <section id="people">
+ <div class="person">
+ <h2>Akin</h2>
+ <ul>
+ <li><a href="mailto:akin@bauherren.ovh">akin@bauherren.ovh</a></li>
+ </ul>
+ <img src="img/akin.avif" class="avatar" alt="placeholder"/>
+ <p>Computer scientist, aiming to be the best in the field
+ <br>
+ <blockquote>"Jesus is Lord, to the glory of God the Father"</blockquote>
+ </div>
+ <div class="person">
+ <h2>Béla</h2>
+ <ul>
+ <li><a href="//gyenes.xyz">gyenes.xyz</a></li>
+ <li><a href="mailto:contact@gyenes.xyz">contact@gyenes.xyz</a></li>
+ </ul>
+ <img src="img/bela.png" class="avatar" alt="placeholder"/>
+ <p>Mathematics, physics, astronomy
+ <br>
+ <blockquote>"There are no choices; nothing but a straight line"</blockquote>
+ </div>
+
+ <div class="person">
+ <h2>Christos</h2>
+ <ul>
+ <li><a href="//c.bauherren.ovh">c.bauherren.ovh</a></li>
+ <li><a href="mailto:christos@bauherren.ovh">christos@bauherren.ovh</a></li>
+ </ul>
+ <img src="img/christ.png" class="avatar" alt="placeholder"/>
+ <p>Wanderer, marking things down as I go. Childless. Low-scale computing and natural living.
+ <br>
+ <blockquote>"Sometimes I am king, and sometimes the begger.
+ Sometimes I am the wound and sometimes the blade, the torturer and the flayed.
+ Thus, play I many men"</blockquote>
+ </div>
+
+ <div class="person">
+ <h2>Pranshu</h2>
+ <ul>
+ <li><a href="//pranshu.codeberg.page">pranshu.codeberg.page</a></li>
+ <li><a href="mailto:pranshu@bauherren.ovh">pranshu@bauherren.ovh</a></li>
+ </ul>
+ <img src="img/pranshu.webp" class="avatar" alt="placeholder"/>
+ <p>Contrarion in exile. Emacs for life.
+ <br>
+ <blockquote>"In India there are no roads; only directions"</blockquote>
+ </div>
+
+ <div class="person">
+ <h2>Akbar</h2>
+ <ul>
+ <li><a href="//keyi.ng">keyi.ng</a></li>
+ <li><a href="mailto:akbar@keyi.ng">akbar@keyi.ng</a></li>
+ </ul>
+ <img src="img/akbar.png" class="avatar" alt="Akbar"/>
+ <p>Self-proclaimed free-thinker.
+ Studying computer science.
+ Interested in computing, finance, and philosophy.</p>
+ </div>
+ </section>
+</details>
+
+<details><summary>projects</summary>
+ <section id="projects">
+ <h2>Christos</h2>
+ <div class="project">
+ <h3>cork</h3>
+ <p>Cork, a fast performant static-site generator written in RC shell&hellip;<p><a href="cork/">[Read more]</a>
+ </div>
+ <div class="project">
+ <h3>smap</h3>
+ <p>smap, a set of scripts that generate a variety of HTML sitemaps<p><a href="smap/">[Read more]</a>
+ </div>
+ <div class="project">
+ <h3>bq</h3>
+ <p>bq, a line oriented editor that puts the customizability in user's hands&hellip;<p><a href="bq/">[Read more]</a>
+ </div>
+ <h2>Pranshu</h2>
+ <p>Coming soon...
+ </section>
+</details>
+
+ <details><summary>Blog</summary>
+ <div class="project">
+ <h3><a href=/blog/path-to-self-hosting>Path to self hosting</a></h3>
+ <blockquote>Reflections</blockquote>
+ </div>
+ <div class="project">
+ <h3><a href=/blog/uses>What do you use</a></h3>
+ <blockquote>What technologies have you gravitated towards after X years on this planet...</blockquote>
+ </div>
+ </details>
+ </main>
+
+ <footer>
+ <p>Designed by <a href=//keyi.ng>keyi.ng</a></p>
+ <img src="img/footer.svg" type="svg" width="25%;"/>
+ </footer>
+
+</body>
+</html>
diff --git a/smap/index.html b/smap/index.html
new file mode 100644
index 0000000..31763e3
--- /dev/null
+++ b/smap/index.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <link rel="stylesheet" href="/style.css">
+<style>
+main img {
+ border: 0.2em solid black;
+ padding: 0.2em;
+}
+</style>
+ <title>smap</title>
+</head>
+<body>
+ <header>
+ <h1>smap</h1>
+ <blockquote>Small, Fast, Performant</blockquote>
+ <img src="/img/ornament.svg" type="svg" id="ornament"/>
+ <header>
+
+ <main>
+ <section id="projects">
+ <div class="project">
+ <p>Authors: <a href=//pranshu.codeberg.page><em>Pranshu</em></a>, <a href=//c.bauherren.ovh><em>Christos</em></a>
+ <br>
+ <p>You can use GNU's <pre>tree</pre> to generate a HTML sitemap
+ <p><pre>tree -H ./ > sitemap.html</pre>
+ <h3>What is smap?</h3>
+ <h3>What isn't smap</h3>
+<br>
+ <h4>Coming soon!</h4>
+ </div>
+ </section>
+ </main>
+
+ <footer>
+ <img src="/img/footer.svg" type="svg" width="25%;"/>
+ </footer>
+
+</body>
+</html>
diff --git a/style.css b/style.css
new file mode 100644
index 0000000..d1de0a0
--- /dev/null
+++ b/style.css
@@ -0,0 +1,165 @@
+* {
+ margin: 0;
+ padding: 0;
+}
+
+body {
+ max-width: 40em;
+ margin: 5% auto;
+ font-family: 'Helvetica', sans-serif;
+ line-height: 1.5;
+ font-size: 0.9em;
+}
+
+main {
+ margin-top: 2.5em;
+}
+
+a {
+ color: red;
+ text-decoration: none;
+}
+
+h1 {
+ font-family: 'Baskerville', serif;
+ font-weight: normal;
+ text-align: center;
+ line-height: 1;
+}
+
+h1 + blockquote {
+ display: block;
+ font-family: 'Baskerville', serif;
+ font-size: 1.1em;
+ font-style: italic;
+ text-align: center;
+ quotes: none;
+}
+
+main blockquote {
+ border-left: 2px solid #ccc; /* Adds a vertical line */
+ color: #555; /* Optional: changes the text color */
+ font-size: 12px;
+font-style: italic; /* Optional: italicizes the text */
+padding-left: 1.5em;
+}
+
+h2:first-of-type {
+ margin-top: 0em;
+}
+
+h2 {
+ display: inline-block;
+ text-transform: uppercase;
+ font-size: 1.1em;
+ margin-top: 0.5em;
+}
+
+h3 {
+ font-size: 1em;
+ font-weight: bold;
+}
+
+li {
+ list-style-position: inside;
+}
+
+q {
+ font-style: italic;
+}
+
+#ornament {
+ display: block;
+ width: 75%;
+ margin: 0.5em auto;
+}
+
+.avatar {
+ width: 9em;
+ margin: 0 1em 1em 0;
+ float: left;
+}
+
+.person {
+ margin-bottom: 2em;
+ clear: both;
+ padding-bottom: 1em;
+ min-height: 10em;
+}
+
+.person > ul {
+ float: right;
+ list-style-type: none;
+ margin-left: 0;
+ padding-left: 0;
+}
+
+.person ul > li {
+ display: inline-block;
+ font-style: italic;
+}
+
+.person ul > li::after {
+ content: " ~ ";
+}
+
+.person ul > li:last-child::after {
+ content: "";
+}
+
+.person li {
+ list-style: none;
+}
+
+#projects {
+ margin-top: 1em;
+}
+
+.uses-container {
+ margin-bottom: 3em;
+}
+
+footer {
+ margin-top: 2em;
+ text-align: center;
+}
+
+@media screen and (max-width: 750px) {
+ body {
+ margin: 7% 10%;
+ }
+
+ .person {
+ margin-bottom: 1em;
+ }
+
+ .person h2, .person > ul, .person > p {
+ display: block;
+ float: none;
+ }
+
+ #ornament, .avatar {
+ display: none;
+ }
+}
+
+summary {
+ list-style-position: outside;
+ margin-left: 30px;
+ padding: 10px 10px 10px 20px;
+ border-radius: 5px;
+ font-weight: bold;
+ text-transform: uppercase;
+ font-size: 1.1em;
+ margin-top: 0.5em;
+}
+summary::marker {
+ color: red;
+ font-size: 1.2em;
+}
+
+time {
+ font-family: monospace ;
+ color: #888 ;
+ font-size: 10pt ;
+}