~humaid/huma.id

0238b5cd96220c42e9670874f3f169fdc7210e7d — Humaid AlQassimi 1 year, 9 months ago 99abc20 + 61e4fd3
Merge remote-tracking branch 'refs/remotes/origin/master'
M assets/main.css => assets/main.css +19 -20
@@ 5,11 5,11 @@ html {
}

body {
  font-family: "Inter", "San Fransisco", -apple-system, "BlinkMacSystemFont", "Source Sans Pro", "Roboto", sans-serif;
  font-size: 14pt;
  line-height: 1.4;
  font-family: "Inter", -apple-system, "BlinkMacSystemFont", "Source Sans Pro", "Roboto", sans-serif;
  font-size: 1.15em;
  line-height: 1.4em;
  background: url("/bg.webp") repeat scroll 0% 0%, #edeee6 none repeat scroll 0% 0%;
  max-width: 980px;
  max-width: 55em;
  margin: 0 auto;
}



@@ 24,12 24,12 @@ a {
.nav {
  background-color: #134dae;
  margin: 0;
  padding: 8px 0;
  padding: 0.5em 0;
}

.nav a {
  margin: 0;
  padding: 8px 0;
  padding: 0.5em 0;
  text-decoration: none;
}



@@ 70,15 70,15 @@ section {
/* Typography */
h1, h2, h3, h4, h5, h6 {
  color: #333;
  margin: 10px 0;
  margin: 0.5em 0;
  line-height: 1;
}

.title {
  font-size: 2.5rem;
  font-size: 2.5em;
  text-align: center;
  margin: 15px 0;
  padding: 0 30px;
  margin: 0.6em 0;
  padding: 0 2em;
}

.c {


@@ 104,11 104,11 @@ h1, h2, h3, h4, h5, h6 {
}

.meta p {
  margin: 5px 0 0 25px;
  margin: 0.3em 0 0 1.4em;
}

main {
  padding: 20px 30px;
  padding: 1.1em 2em;
}

footer {


@@ 123,11 123,11 @@ footer a {
}

footer p {
  margin: 0 0 0 2px;
  margin: 0 0 0 0.2em;
}

a:focus {
  outline: 2.5pt solid #ffbf47;
  outline: 0.2rem solid #ffbf47;
}

/* Images */


@@ 138,13 138,11 @@ img {

/* Code blocks */
pre {
  font-family: "SFMono-Regular","Menlo","Consolas","Liberation Mono","Courier New",monospace;
  font-family: "SFMono-Regular","Source Code Pro","Consolas","Liberation Mono",monospace;
  background-color: #130e24;
  color: #e5e5e5;
  padding: 0.25rem 1rem;
  margin: 0 -1rem;
  overflow-x: auto;
  font-size: 11pt;
  border-radius: 3px;
}



@@ 152,11 150,12 @@ code {
  background-color: #130e24;
  color: #e5e5e5;
  border-radius: 3px;
  font-size: 12pt;
  font-size: 1rem;
  padding: 0.2em;
}

/* Responsiveness */
@media only screen and (max-width: 780px) {
@media only screen and (max-width: 48rem) {
  body {
    font-size: 1.1em;
  }


@@ 175,7 174,7 @@ code {
  }
}

@media only screen and (min-width: 960px) {
@media only screen and (min-width: 60rem) {
  article {
    padding: 0 10%;
  }

D assets/webring.css => assets/webring.css +0 -31
@@ 1,31 0,0 @@
.webring {
 margin-top:3rem
}
.webring .articles {
 display:flex;
 flex-wrap:wrap;
 margin:-.5rem
}
.webring .title {
 font-size: 1.5rem;
 margin:0
}
.webring .article {
 flex:1 1 0;
 display:flex;
 flex-direction:column;
 margin:.5rem;
 padding:.5rem;
 background:#eee;
 min-width:10rem;
 border-radius:6px
}
.webring .summary {
 font-size:.8rem;
 flex:1 1 0
}
.webring .attribution {
 text-align:right;
 font-size:.8rem;
 color:#555
}

M config.toml => config.toml +2 -1
@@ 9,7 9,8 @@ disableHugoGeneratorInject = true
enableGitInfo = true
[Params]
	name = "Humaid AlQassimi"
	images = ["img/me-2020.jpg"]
	image = "avatar.webp"
	imagealt = "A picture of Humaid smiling, not while looking at the camera. Possibly in a discussion with people off-screen."
[minify]
	minifyOutput = true


M content/blog/barista-express.md => content/blog/barista-express.md +3 -1
@@ 1,12 1,14 @@
---
title: "Breville the Barista Express: After four years"
date: 2020-07-24
image: /blog/barista-express/machine.jpeg
imagealt: "A picture of the Barista Express, with a knock box on the right"
aliases:
  - /blog/barista-express/
url: "/barista"
---

![A picture of the Barista Express, with a knock box on the right](/blog/barista-express/machine.jpeg)
{{< image >}}

The Barista Express by Breville is my first (and current) espresso machine. It
is wonderful as it has a built-in grinder, and includes most of the tools and

M content/blog/gopher.md => content/blog/gopher.md +5 -4
@@ 1,18 1,19 @@
---
title: "My Gopher Site"
date: 2019-11-06
image: /blog/gopher/gopher.png
imagealt: "A screenshot of my Gopher page, showing the same description of my main HTTPS website, loaded on the lynx browser"
url: /gopher
aliases:
  - "/blog/gopher"
---

A Gopher version of my website is available! You can access it by visiting
<gopher://humaidq.ae> with a browser that supports it, such as [lynx]. Or 
alternatively, view the site with [Floodgap](https://gopher.floodgap.com/gopher/gw?humaidq.ae)
<gopher://huma.id> with a browser that supports it, such as [lynx]. Or 
alternatively, view the site with [Floodgap](https://gopher.floodgap.com/gopher/gw?huma.id)
on a modern browser. This is how it looks with lynx:

![A screenshot of my Gopher page, showing the same description of my main
HTTPS website, loaded on the lynx browser](/blog/gopher/gopher.png)
{{< image >}}

In the future, I may extend it to be a closer copy of my current website, and
to include the blog, projects, among other things.

M content/blog/kudu-two-year.md => content/blog/kudu-two-year.md +4 -3
@@ 2,6 2,8 @@
title: "System76 Kudu4: After two years"
date: 2019-11-16
url: /kudu
image: /blog/kudu-two-year/artifacts.jpg
imagealt: "A picture of my laptop screen, showing random horizontal artifacts across different sections of the screen, with different colours"
aliases:
  - "/blog/kudu-two-year"
---


@@ 27,8 29,7 @@ close the lid and open it again. At first I thought it was an issue with my
system, but it soon started to get worse. Random artifacts started to appear on
the screen as I used it, and it started to occur more often over time.

![A picture of my laptop screen, showing random horizontal artifacts across
different sections of the screen, with different colours](artifacts.jpg)
{{< image >}}

This would get worse as I use my laptop often as I go to my different lectures,
opening and closing my laptop lid while I take my laptop out of my backpack.


@@ 45,7 46,7 @@ up. The cable eventually arrived, and I got it replaced. But getting the cable
to go through the hinges was one of the most difficult thing I have done (maybe
I'm doing it wrong?). Here's a picture of the old cable:

![A picture of the old LCD cable, which looks slightly crooked](old-cable.jpg)  
![A picture of the old LCD cable, which looks slightly crooked](/blog/kudu-two-year/old-cable.jpg)  

----


M content/blog/own-distro-p1.md => content/blog/own-distro-p1.md +6 -2
@@ 2,6 2,8 @@
title: "Creating an Ubuntu-based distribution"
date: 2020-05-01
url: /own-distro
image: /blog/own-distro-p1/desktop.png
imagealt: "Screenshot of our custom distribution desktop with the hello.txt file open"
aliases:
  - "/blog/own-distro-p1"
  - "/own-distro-p1"


@@ 203,9 205,11 @@ We can now try to build again, and try to boot it using `qemu`.
# sh ./build.sh
...
$ qemu-system-x86_64 -m 2G -cdrom pinguOS-<date>.iso
```
```  

<br>

![Screenshot of the desktop with the hello.txt file open](/blog/own-distro-p1/desktop.png)
{{< image >}}

Violà!


M content/blog/public-feed.md => content/blog/public-feed.md +6 -4
@@ 2,6 2,8 @@
title: "My Public News Feed"
date: 2020-07-12
url: /public-feed
image: /blog/public-feed/sfeed.png
imagealt: "A screenshot of the sfeed page, showing a list of blog posts from different blogs that I follow"
aliases:
  - "/blog/public-feed"
---


@@ 17,10 19,10 @@ Club](https://lists.sr.ht/~sircmpwn/free-writers-club/%3C20191215210525.GA40863%
but I lost my configuration (or had misplaced it).

Now sfeed is configured on this website's project and it is hosted on
[/sfeed.html](/sfeed.html), so not only I could view my feed on any device, but
I could share it with friends.
[/sfeed.html](/sfeed.html), so not only I could view my feed on any device,
but I could share it with friends.

![A screenshot of the sfeed page](/blog/public-feed/sfeed.png)
{{< image >}}

With [Tridactyl], I could use vim-like shortcuts on Firefox when loading the
page, so that is convenient.


@@ 33,4 35,4 @@ challenge.*
[openring]: https://git.sr.ht/~sircmpwn/openring
[Tridactyl]: https://github.com/tridactyl/tridactyl
[sfeed]: https://codemadness.org/git/sfeed/file/README.html
[sfeedrc]: https://git.sr.ht/~humaid/humaidq.ae/tree/master/sfeedrc
[sfeedrc]: https://git.sr.ht/~humaid/humaidq.ae/tree/94bb33b8bbdcc52e156b9e995516e95aedc138b7/sfeedrc

M content/blog/qnap.md => content/blog/qnap.md +4 -1
@@ 2,11 2,14 @@
title: "Installing FreeNAS on my QNAP TS-459"
date: 2020-06-15
url: /qnap
image: /blog/qnap/qnap.jpg
imagealt: "A picture of a white desk-top NAS (QNAP TS-459) on top of a wooden desk"
imagewidth: 480
aliases:
  - "/blog/qnap"
---

<img src="/blog/qnap/qnap.jpg" alt="A picture of the QNAP on a wooden desk" width="480" />
{{< image >}}

About four years ago I got the QNAP TS-459 as a network-attached storage (NAS)
so I can store family pictures and backups of our devices. It came with QNAP

M content/projects/4DG.md => content/projects/4DG.md +4 -2
@@ 8,8 8,9 @@ Language: Go
date: 2018-05-16
GoDoc: true
HasBuilds: true
Screenshot: "4DG.webp"
Description: "A 4D movie scripting program which runs on a Raspberry Pi using GPIO."
Image: /projects/screenshots/4DG.webp
ImageAlt: "A screenshot of 4DG control panel"
Usability: 1
url: /4dg
aliases:


@@ 17,7 18,8 @@ aliases:
---

### 1. Purpose
![A picture of 4DG control panel](/projects/screenshots/4DG.webp)

{{< image >}}

**Note:** Some work is needed to be done before this project is usable.


D content/projects/JukeboxHopperMod.md => content/projects/JukeboxHopperMod.md +0 -51
@@ 1,51 0,0 @@
---
title: 'Jukebox Hopper Mod'
GitURL: jukeboxhopper
MailingList: general
section: "Games"
License: BSD-2-Clause
Language: Java
date: 2022-05-15
Screenshot: "JukeboxHopperMod.webp"
Description: "A simple Minecraft mod which allows you to use hoppers to insert records into jukeboxes."
Usability: 4
LatestVersion: "v2.0.0"
site: https://modrinth.com/mod/jukeboxhopper
url: "/jb"
aliases:
  - "/projects/jukeboxhoppermod"
---

### 1. Description
<img src="/projects/screenshots/JukeboxHopperMod.webp" alt="Picture of a hopper on top of a jukebox in Minecraft" width="600" height="400" />

This is a simple Minecraft mod which allows players to use
a hopper to insert a record into a Jukebox.  

### 2. Download and usage

Place the mod jar file into the `mods` folder.
You can download the mod from [Modrinth](https://modrinth.com/mod/jukeboxhopper).


### 3. Building

To build you need Java JDK installed. Then you are able to build using
`./gradlew build`. The output JAR can be found in `build/libs`.

For testing, you may run `./gradlew runClient`. This would immediately
run Minecraft with the mod pre-loaded.

### 4. Changelog

- v2 (May 15, 2022)
  - Switched to using Fabric Mod Loader and Mixins.
  - Supports Minecraft 1.18.2.
  - Logic fixes.
- v1 (Dec 17, 2018)
  - Initial release. Works with Minecraft 1.12, requires MCP and
    manually creating the mod.

### 5. To-Do

- Allow extracting music discs from jukeboxes.

A content/projects/JukeboxHopperMod.org => content/projects/JukeboxHopperMod.org +50 -0
@@ 0,0 1,50 @@
#+title: Jukebox Hopper Mod
#+date: 2022-05-15
#+description: A simple Minecraft mod which allows you to use hoppers to insert records into jukeboxes.
#+giturl: jukeboxhopper
#+MailingList: general
#+section: Games
#+license: BSD-2-Clause
#+language: Java
#+usability: 4
#+latestversion: v2.0.0
#+image: /projects/screenshots/JukeboxHopperMod.webp
#+imagealt: Picture of a hopper on top of a jukebox in Minecraft
#+site: https://modrinth.com/mod/jukeboxhopper
#+url: /jb
#+aliases[]: /projects/jukeboxhoppermod

*** 1. Description

{{< image >}}

This is a simple Minecraft mod which allows players to use
a hopper to insert a record into a Jukebox.  

*** 2. Download and usage

Place the mod jar file into the =mods= folder.
You can download the mod from [[https://modrinth.com/mod/jukeboxhopper][Modrinth]].


*** 3. Building

To build you need Java JDK installed. Then you are able to build using
=./gradlew build=. The output JAR can be found in =build/libs=.

For testing, you may run =./gradlew runClient=. This would immediately
run Minecraft with the mod pre-loaded.

*** 4. Changelog

- v2 (May 15, 2022)
  - Switched to using Fabric Mod Loader and Mixins.
  - Supports Minecraft 1.18.2.
  - Logic fixes.
- v1 (Dec 17, 2018)
  - Initial release. Works with Minecraft 1.12, requires MCP and
    manually creating the mod.

*** 5. To-Do

- Allow extracting music discs from jukeboxes.

M content/projects/WhatsMorse.md => content/projects/WhatsMorse.md +4 -2
@@ 9,8 9,9 @@ date: 2018-01-06
site: https://morse.hmksq.ae
GoDoc: true
HasBuilds: true
Screenshot: "WhatsMorse.webp"
Description: "A morse code web messaging application written in a two-hour hackaton."
Image: /projects/screenshots/WhatsMorse.webp
ImageAlt: "A screenshot of WhatsMorse page, showing a telegraph line ID and part of the transmittor form"
Usability: 4
url: /morse
aliases:


@@ 18,7 19,8 @@ aliases:
  - /projects/whatsmorse
---
### 1. Description
![Screenshot of WhatsMorse page](/projects/screenshots/WhatsMorse.webp)

{{< image >}}

WhatsMorse is a web messaging application which translates all your messages to morse code written in a two hour ["Stupid" Hackathon by Transcend](https://www.meetup.com/transcenddubai/events/245505285/) in January of 2018.
The goal of the hackathon was to create something useless (can be anything, not limited to computer software).  

M content/projects/collabdown.md => content/projects/collabdown.md +4 -0
@@ 8,6 8,8 @@ language: JavaScript
license: BSD-2-Clause
LatestVersion: "v1.2.2"
Description: "Browser extension which allows downloading and speeding up Bb Collaborate recordings."
Image: /projects/screenshots/collabdown.png
ImageAlt: "A screenshot of the side panel opened on Bb Collaborate's website, with the download recording list shown as added by CollabDown addon."
Usability: 4
url: /collabdown
aliases:


@@ 16,6 18,8 @@ aliases:

### 1. Description

{{< image >}}

CollabDown allows users to download recordings from Bb Collaborate (Ultra) by
adding a Download Recording item on the side menu.


M content/projects/hplayer.md => content/projects/hplayer.md +4 -7
@@ 6,18 6,15 @@ License: BSD-2-Clause
Language: bash
date: 2020-11-29
Description: "Humaid's Mod Player (FFplay backend) written in Bash"
Image: "/projects/screenshots/hplayer.webp"
ImageAlt: "Screenshot of a terminal running with the hplayer script running. The first line output from the program is the name of the program in green text, which is Humaid's Mod Player, the second line says Press h for help in grey text. The third line shows the music that is started to play in yellow text, stating Playing ./droid.mod. Then there is a help menu listing. Final line shows a PAUSED text."
Usability: 4
Screenshot: "hplayer.webp"
url: "/hplayer"
---

### 1. Description
![Screenshot of a terminal running with the hplayer script running. The first
line output from the program is the name of the program in green text, which is
"Humaid's Mod Player", the second line says "Press 'h' for help" in grey
text. The third line shows the music that is started to play in yellow
text, stating "Playing ./droid.mod". Then there is a help menu listing. Final
line shows a "PAUSED" text.](/projects/screenshots/hplayer.webp)

{{< image >}}

This is a simple mod player manager, which uses FFplay in the backend. It simply
shuffles the mod music files in the directory and plays them.

M content/projects/iglu.md => content/projects/iglu.md +3 -4
@@ 4,6 4,8 @@ section: "Others"
date: 2020-04-23
site: https://nacdlow.com
Description: "A smart home system of the future (group project)."
Image: /projects/iglu/eink.jpg
Imagealt: "a photograph of the iglü device, which is a 3D printed rounded box with an e-ink display, showing the URL of the system at local.nacdlow.com, the power generation as 40 kilowatts, the power consumption at 120 kilowatts, and the battery level at 57%"
Usability: 4
url: /iglü
aliases:


@@ 301,10 303,7 @@ may try `4242 4242 4242 4242` with any expiry/CVV number.

#### 2.8. E-Ink Display

![a photograph of the iglü device, which is a 3D printed rounded box with an
e-ink display, showing the URL of the system at local.nacdlow.com, the power
generation as 40 kilowatts, the power consumption at 120 kilowatts, and the
battery level at 57%](/projects/iglu/eink.jpg)
{{< image >}}

We wrote a program in Python which pulls in data from the smart home
system and displays it on the e-ink display. We used FontAwesome icons and

M content/projects/ns2-trace-go.md => content/projects/ns2-trace-go.md +4 -3
@@ 10,7 10,8 @@ GoDoc: true
HasBuilds: true
LatestVersion: v0.1
IssueTracker: true
Screenshot: "ns2-analysis.webp"
Image: /projects/screenshots/ns2-analysis.webp
ImageAlt: "Screenshot of the analysis page showing statistics of the trace file and a table of connections with buttons to view jitter"
Description: "A trace analysis web app for Network Simulator 2 (ns2) trace files"
Usability: 3
url: /ns2


@@ 18,8 19,8 @@ aliases:
  - /projects/ns2-trace-go
---
### 1. Description
![Screenshot of the analysis page showing statistics of the trace file and
a table of connections with buttons to view jitter](/projects/screenshots/ns2-analysis.webp)

{{< image >}}

This web application allows you to analyse [trace files](http://nile.wpi.edu/NS/analysis.html)
generated by [ns2](https://www.isi.edu/nsnam/ns/) (Network Simulator 2). It

M content/projects/platform.md => content/projects/platform.md +3 -1
@@ 6,6 6,8 @@ language: Go
license: AGPL-3.0
site: https://github.com/hw-cs-reps/platform
Description: "A platform for posting announcements, tickets, and complaints for students"
Image: /projects/platform/platform-dark.png
ImageAlt: "A screenshot of the platform dashboard, showing announcements and tickets on the navigation bar, and the page contains links & resources, and also list of the class representatives."
Usability: 4
url: /platform
aliases:


@@ 35,7 37,7 @@ features of the platform.

#### 1.1. The dashboard

![a screenshot of the dashboard](/projects/platform/platform-dark.png)
{{< image >}}

The dashboard has a configurable alert, and links & resources section. It also
shows all the class representatives configured on the system.

A content/projects/screenshots/collabdown.png => content/projects/screenshots/collabdown.png +0 -0
M content/projects/yabfig.md => content/projects/yabfig.md +4 -2
@@ 9,8 9,9 @@ date: 2019-03-08
GoDoc: true
LatestVersion: v0.3
HasBuilds: true
Screenshot: "yabfig.jpg"
Description: "A simple BF interpreter, debugger and linter written in Go."
Image: /projects/screenshots/yabfig.webp
ImageAlt: "An example of yabfig running a rot13 program"
Usability: 4
url: /yabfig
aliases:


@@ 18,7 19,8 @@ aliases:
---

### 1. Description
![Screenshot](../screenshots/yabfig.jpg)

{{< image >}}

yabfig is a [BF](https://en.wikipedia.org/wiki/brainfuck) 
interpreter written in Go. It has also been extended to lint

M layouts/404.html => layouts/404.html +9 -1
@@ 1,1 1,9 @@
404
\ No newline at end of file
{{ partial "header.html" . }}
<section>
  <h2>404: Page not found</h2>
  <p>The page that you are visiting does not exist. Please contact me if you
    feel like this is an error, or a (broken) link on this site took you
    here.</p>
  <p><a href="/">Back to home</a></p>
</section>
{{ partial "footer.html" . }}

M layouts/_default/list.html => layouts/_default/list.html +2 -2
@@ 7,8 7,8 @@
</ul>{{ end }}
{{if .IsHome}}
<h2>Links</h2>
  <img src="/avatar.webp" class="me" width="100px" height="100px"
     alt="A picture of Humaid smiling, not while looking at the camera. Possibly in a discussion with people off-screen." />
  <a href="/avatar-fulldef.jpg"><img src="/{{$.Site.Params.Image}}" class="me" width="100px" height="100px"
     alt="{{$.Site.Params.ImageAlt}}" /></a>
  <dl>
    <dt>Email</dt>
    <dd><a rel="me" href="mailto:public@huma.id">public@huma.id</a></dd>

M layouts/partials/header.html => layouts/partials/header.html +17 -5
@@ 1,15 1,27 @@
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  {{ $style := resources.Get "main.css"}}{{ $syntax := resources.Get "syntax.css"}}
  {{ $css := slice $style $syntax | resources.Concat "bundle.css" | resources.Minify }}
  <link rel="stylesheet" href="{{ $css.Permalink }}">
  <link rel="stylesheet" href="{{ $css.Permalink }}" />
  <title>{{if .Title}}{{ .Title }} - {{end}}Humaid AlQassimi</title>
  <meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}">
  <meta property="og:image" content="{{.Site.BaseURL}}avatar.webp">
  <link rel="icon" type="image/xicon" href="/favicon.ico">
  {{ if .Params.Image }}
  <meta property="og:image" content="{{.Site.BaseURL}}{{.Params.Image}}" />
  <meta property="og:image:alt" content="{{.Params.ImageAlt}}" />
  {{else}}
  <meta property="og:image" content="{{.Site.BaseURL}}{{.Site.Params.Image}}" />
  <meta property="og:image:alt" content="{{.Site.Params.ImageAlt}}" />
  {{end}}
  <link rel="icon" type="image/webp" href="/favicon.webp" />
  <meta property="og:url" content="{{ .Permalink }}" />
  <meta property="og:site_name" content="Humaid AlQassimi's Personal Website" />
  <meta name="theme-color" media="(prefers-color-scheme: light)" content="#edeee6">
  <meta name="theme-color" media="(prefers-color-scheme: dark)" content="#252525">

  <meta name="theme-color" content="#134dae" />
</head>
<header>
  <h1 class="title">Humaid AlQassimi</h1>

M layouts/projects/single.html => layouts/projects/single.html +1 -1
@@ 23,7 23,7 @@
	  target="_blank">
  <img src="/pkg.go.dev-reference-blue.svg"
  alt="pkg.go.dev reference"/></a>{{end}}
  {{if .Params.HasBuilds}}<a href="https://builds.sr.ht/~humaid/{{.Params.GitURL}}?" rel="noreferrer" target="_blank"><img src="https://builds.sr.ht/~humaid/{{.Params.GitURL}}.svg" alt="builds.sr.ht status" /></a>{{end}}
  {{if .Params.HasBuilds}}<a href="https://builds.sr.ht/~humaid/{{.Params.GitURL}}?" rel="noreferrer" target="_blank"><img src="https://buildstatusproxy.huma.id/~humaid/{{.Params.GitURL}}.svg" alt="builds.sr.ht status" /></a>{{end}}
  </p>
</div>
{{.Content}}

A layouts/shortcodes/image.html => layouts/shortcodes/image.html +2 -0
@@ 0,0 1,2 @@
<image src="{{$.Page.Params.Image}}" alt="{{$.Page.Params.ImageAlt}}"
       {{ with $.Page.Params.ImageWidth}}width="{{.}}"{{end}} />

M sfeedrc => sfeedrc +8 -5
@@ 3,16 3,16 @@ sfeedpath="./feeds"
feeds() {
	feed "Drew DeVault's blog" "https://drewdevault.com/blog/index.xml"
	feed "research!rsc" "https://research.swtch.com/feed.atom"
	feed "paritybit.ca (Jake Bauer)" "https://www.paritybit.ca/feeds/sitewide-feed.xml"
	feed "paritybit.ca (Jake Bauer)" "https://www.paritybit.ca/feed.xml"
	feed "arp242 (Martin Tournoij)" "https://www.arp242.net/feed.xml"
	feed "Akilan Selvacoumar's blog" "https://akilan.io/posts/index.xml"
	feed "Akilan Selvacoumar's blog" "https://akilan.io/technicalposts/index.xml"
	feed "Omar Ali's blog" "https://omarali.me/?feed=rss2"
	feed "Kev Quirk's blog" "https://kevq.uk/"
	feed "Derek Sivers" "https://sive.rs/en.atom"
	feed "joshua stein" "https://jcs.org/rss"
	feed "The Go Programming Language Blog" "https://blog.golang.org/feed.atom"
	feed "The Go Programming Language Blog" "https://go.dev/blog/feed.atom"
	feed "Christine Dodrill's blog" "https://christine.website/blog.rss"
	feed "Caleb Doxsey's blog" "https://www.doxsey.net/blog/feed/index.xml"
	feed "Caleb Doxsey's blog" "https://www.doxsey.net/blog/feed.xml"
	feed "SourceHut blog" "https://sourcehut.org/blog/index.xml"
	feed "tonsky.me (Nikita)" "https://tonsky.me/blog/atom.xml"
	feed "tedu's flak" "https://flak.tedunangst.com/rss"


@@ 22,5 22,8 @@ feeds() {
	feed "Gokberk Yaltirakli's blog" "https://www.gkbrk.com/feed.xml"
	feed "Nora's blog" "https://nora.codes/index.xml"
	feed "Hillel Wayne's blog" "https://www.hillelwayne.com/post/index.xml"
	feed "EuAndreh's blog" "https://euandre.org/feed.blog.en.atom"
	feed "EuAndreh's blog" "https://euandre.org/feed.articles.en.atom"
	feed "Hutchie's blog" "https://hutchie.scot/blog/index.xml"
	feed "Andreas Kling's blog" "https://awesomekling.github.io/feed.xml"
	feed "rachelbythebay's writing"  "https://rachelbythebay.com/w/atom.xml"
}

M static/avatar.webp => static/avatar.webp +0 -0
D static/favicon.ico => static/favicon.ico +0 -0
A static/favicon.webp => static/favicon.webp +0 -0
M static/robots.txt => static/robots.txt +2 -2
@@ 1,3 1,3 @@
# robots.txt for https://humaidq.ae
Sitemap: https://humaidq.ae/sitemap.xml
# robots.txt for https://huma.id
Sitemap: https://huma.id/sitemap.xml


D static/style.css => static/style.css +0 -66
@@ 1,66 0,0 @@
body {
	color: #333;
	background-color: #fff;
	font-family: monospace;
	font-size: 9pt;
	margin: 0;
	overflow: hidden;
	padding: 0;
}
body.frame {
	overflow: hidden;
	overflow-y: auto;
}
h2 {
	font-size: 14pt;
	margin: 0.5em 0;
}
#sidebar ul, #sidebar ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}
#sidebar {
	background-color: inherit;
}
#sidebar a {
	padding: 5px 3px 5px 10px;
}
#sidebar a {
	display: block;
}
#sidebar a, #items h2 a {
	color: inherit;
}
div#items {
	padding: 0 15px;
}
body.noframe div#sidebar {
	height: 100%;
	left: 0;
	overflow: hidden;
	overflow-y: auto;
	position: fixed;
	top: 0;
	width: 175px;
	z-index: 999;
}
body.noframe div#items {
	height: 100%;
	left: 175px;
	overflow: auto;
	position: absolute;
	right: 0;
	top: 0;
}
body.noframe div#items.nosidebar {
	left: 0px;
}
body.frame #sidebar br {
	display: none;
}
body.frame .content {
	font-family: sans;
	font-size: medium;
	padding: 0 1em;
}

D webring-in.html => webring-in.html +0 -23
@@ 1,23 0,0 @@
<section class="webring">
  <h3>Articles from blogs I follow around the net</h3>
  <p><small>You can also read my <a href="/sfeed.html">newsfeed</a>.</small></p>
  <section class="articles">
    {{range .Articles}}
    <div class="article">
      <h4 class="title">
        <a href="{{.Link}}" target="_blank" rel="noopener noreferrer">{{.Title}}</a>
      </h4>
      <p class="summary">{{.Summary}}</p>
      <small class="source">
        via <a href="{{.SourceLink}}">{{.SourceTitle}}</a>
      </small>
      <small class="date">{{.Date | date}}</small>
    </div>
    {{end}}
  </section>
  <p class="attribution">
    Generated by
    <a href="https://git.sr.ht/~sircmpwn/openring" target="_blank"
      rel="noopener noreferrer">openring</a>
  </p>
</section>