diff --git a/_includes/default_head_tags.html b/_includes/default_head_tags.html
index 7e86403..dbdb0b9 100644
--- a/_includes/default_head_tags.html
+++ b/_includes/default_head_tags.html
@@ -46,6 +46,7 @@ See: https://developers.google.com/search/docs/advanced/mobile/google-discover?h
+{% if page.mathjax %}
+{% endif %}
{% feed_meta %}
diff --git a/_posts/2021-05-01-custom_ts100_logo.md b/_posts/2021-05-01-custom_ts100_logo.md
index ecc09f1..af38264 100644
--- a/_posts/2021-05-01-custom_ts100_logo.md
+++ b/_posts/2021-05-01-custom_ts100_logo.md
@@ -1,12 +1,12 @@
---
title: Making a custom bootscreen for your TS100 Soldering Iron
layout: post
+excerpt: |
+ It's a right of passage to add a custom bootscreen to your TS100 soldering iron but it took me a while to figure out how to generate a 1bit per pixel bitmap image.
image: /assets/blog/TS100/real.jpeg
alt: An image of a TS100 soldering iron showing a custom bootscreen that says 'solder boy'.
---
-
-
There are a bunch of [posts](https://blog.dbrgn.ch/2017/9/5/creating-custom-ts100-logo-with-gimp/) online about how to add a custom bootscreen to a TS100 soldering iron. These things are great, if you get a little USB-C to jack adapter you can run them off a powerbank and they're tiny so you can keep them with you wherever you go. Which of course you should.
I did have some trouble getting the image into the write format though, after messing around a little I settled on this command using ImageMagick:
diff --git a/_posts/2022-05-15-overleaf.md b/_posts/2022-05-15-overleaf.md
index c148bd7..9fe33d5 100644
--- a/_posts/2022-05-15-overleaf.md
+++ b/_posts/2022-05-15-overleaf.md
@@ -1,6 +1,7 @@
---
title: Building Overleaf projects locally
excerpt: I wanted to work on an overleaf project while on the train without reliable internet.
+thumbnail: /assets/blog/overleaf/logo.svg
date: 2022-02-02
layout: post
image:
diff --git a/_posts/2022-05-20-conda_setup.md b/_posts/2022-05-20-conda_setup.md
index 00b4e5d..c144975 100644
--- a/_posts/2022-05-20-conda_setup.md
+++ b/_posts/2022-05-20-conda_setup.md
@@ -1,5 +1,6 @@
---
-title: My Jupyter and Conda setup
+title: My Jupyter and Conda Mamba setup
+thumbnail: /assets/blog/mamba/logos.png
date: 2022-02-02
layout: post
---
diff --git a/_posts/2022-06-22-Learning-Paths.html b/_posts/2022-06-22-Learning-Paths.html
index 6bc5fbf..d123d89 100644
--- a/_posts/2022-06-22-Learning-Paths.html
+++ b/_posts/2022-06-22-Learning-Paths.html
@@ -3,6 +3,7 @@ title: Learning Paths
excerpt: A small tool to visualise dependencies of courses.
layout: post
image: /assets/images/learning_paths.png
+image_class: invertable
alt: A screenshot of a web app that visualises dependencies between courses by linking them with lines.
---
diff --git a/_posts/2022-11-10-adding_interactivity_to_svg.md b/_posts/2022-11-10-adding_interactivity_to_svg.md
index 23a5cc0..c116959 100644
--- a/_posts/2022-11-10-adding_interactivity_to_svg.md
+++ b/_posts/2022-11-10-adding_interactivity_to_svg.md
@@ -3,8 +3,11 @@ title: How to Animate Inkscape SVGs with d3
excerpt: In which a simple thing turns out to be surprisingly in-depth!
layout: post
image: /assets/thesis/intro_chapter/fk_schematic.svg
-social_image: /assets/social/fk_diagram.png
+thumbnail: /assets/blog/interactive_svgs/thumbnail.png
+social_image: /assets/blog/interactive_svgs/fk_diagram.png
+image_class: invertable
alt: A diagram showing showing circles with arrows in them linked by lines that represents a simple physical model of electron spins interacting.
+mathjax: true
---
I wanted my thesis to have a nice HTML version in addition to the mandatory-in-my-field latex/PDF version. Having a HTML version also means I can experiment with a bit of interactivity. I've done some of the diagrams in SVG using Inkscape which is a nice tool for this kind of thing. I wanted to add some interactivity as an easter egg to the SVGs in the HTML version.
diff --git a/_posts/2022-11-22-sensor_watch.md b/_posts/2022-11-22-sensor_watch.md
index eb08e61..bc09e33 100644
--- a/_posts/2022-11-22-sensor_watch.md
+++ b/_posts/2022-11-22-sensor_watch.md
@@ -1,6 +1,9 @@
---
title: Sensor Watch
layout: post
+excerpt: |
+ I finally got my [Sensor Watch](https://www.oddlyspecificobjects.com/products/sensorwatch/)! It's a replacement logic board for those classic Casio watches you see everywhere.
+
image: /assets/blog/SensorWatch/watch.svg
social_image: /assets/social/sensor_watch.svg
alt: A simple vector image of a classic casio watch.
diff --git a/_posts/2022-11-23-emscripten_arduino.md b/_posts/2022-11-23-emscripten_arduino.md
index 38e35d7..8abd9ac 100644
--- a/_posts/2022-11-23-emscripten_arduino.md
+++ b/_posts/2022-11-23-emscripten_arduino.md
@@ -1,6 +1,8 @@
---
title: Using emscripten to simulate an arduino project
layout: post
+excerpt: |
+ The [Sensor Watch](https://www.oddlyspecificobjects.com/products/sensorwatch/) project has this nifty JS simulation for testing the firmware. Here I'll go through a toy example of how it glues together the C firmware code and the JS visualisation.
image: /assets/blog/emscripten_arduino/arduino.svg
social_image: /assets/social/arduino.png
alt: A rendered image of a breadboard with an LED and resistor wired up in series to an arduino.
diff --git a/_posts/2022-11-25-rendering_general_relativity.md b/_posts/2022-11-25-rendering_general_relativity.md
index 674da5d..362bc63 100644
--- a/_posts/2022-11-25-rendering_general_relativity.md
+++ b/_posts/2022-11-25-rendering_general_relativity.md
@@ -1,7 +1,8 @@
---
title: Rendering General Relativity
layout: post
-image: /assets/images/spinning_earth.gif
+image: /assets/blog/rendering_general_relativity/spinning_earth.gif
+thumbnail: /assets/blog/rendering_general_relativity/thumbnail.gif
alt: A spinning image of the earth but distorted as if it were a black hole.
permalink: /blog/rendering_general_relativity
---
diff --git a/_posts/2023-02-10-shelves.md b/_posts/2023-02-10-shelves.md
index 9af3b70..d0dae7d 100644
--- a/_posts/2023-02-10-shelves.md
+++ b/_posts/2023-02-10-shelves.md
@@ -4,6 +4,8 @@ excerpt: We needed some shelves to fit an odd space under a ladder...
layout: post
image: /assets/blog/shelves/thumb.svg
social_image: /assets/social/shelves.png
+thumbnail: /assets/blog/shelves/thumb.svg
+image_class: invertable
alt: A 3D render of some shelves fitting into a triangular space under a ladder.
assets: /assets/blog/shelves
head:
diff --git a/_posts/2023-06-20-conda_setup.md b/_posts/2023-06-20-conda_setup.md
index bd7f485..4381337 100644
--- a/_posts/2023-06-20-conda_setup.md
+++ b/_posts/2023-06-20-conda_setup.md
@@ -2,7 +2,7 @@
title: Jupyter and Conda setup
date: 2023-06-20
layout: post
-image: /assets/blog/mamba/logos.svg
+image: /assets/blog/mamba/logos.png
social_image: /assets/social/jupyter.png
alt: The orange, abstract, Jupyter logo and the Mamba logo which is a cute black snake.
---
diff --git a/_posts/2023-06-21-my_first_PCB.md b/_posts/2023-06-21-my_first_PCB.md
index b220749..3437ac7 100644
--- a/_posts/2023-06-21-my_first_PCB.md
+++ b/_posts/2023-06-21-my_first_PCB.md
@@ -1,7 +1,7 @@
---
title: My first PCB!
excerpt: |
- I've had a longstanding ambition to get a PCB manufactured but I've always put it off. Lately I had a need for a little adapter board to break out these 1.27mm spaced pins to 2.54mm pins that would fit into a breadboard. Feeling like it was a simple enough board I finally decided to fire up KiCad and give it a go.
+ I've always wanted to get a PCB manufactured but only recently found a something that I actually needed and was simple enough for a first attempt.
layout: post
commentid: 110810437631337327
image: /assets/blog/PCB/render.png
diff --git a/_posts/2023-06-22-tqdm_and_printing_in_notebooks.md b/_posts/2023-06-22-tqdm_and_printing_in_notebooks.md
index 9500bca..86bd5be 100644
--- a/_posts/2023-06-22-tqdm_and_printing_in_notebooks.md
+++ b/_posts/2023-06-22-tqdm_and_printing_in_notebooks.md
@@ -1,12 +1,14 @@
---
title: Progress bars and log output in Jupyter notebooks
-excerpt:
+excerpt: |
+ How to get an updatable message printing a tqdm progress bar.
layout: post
image: /assets/blog/progress_bars/bar.png
thumbnail: /assets/blog/progress_bars/thumbnail.png
+image_class: invertable
alt: An image of a nice animated progress bar in a jupyter notebook output cell.
---
-I wanted to have just one updateable line of output that would play nicely with a tqdm progress bar. After playing around with `print(s, end="\r")` I settled on using `Ipython.display` with a handle. The problem with the print approach is that it doesn't work when the output is shorter than the previous line.
+I wanted to have just one updatable line of output that would play nicely with a tqdm progress bar. After playing around with `print(s, end="\r")` I settled on using `Ipython.display` with a handle. The problem with the print approach is that it doesn't work when the output is shorter than the previous line.
```python
import time
diff --git a/_posts/2023-07-20-writing_grammars_is_fun.md b/_posts/2023-07-20-writing_grammars_is_fun.md
index cea5813..7ffd6f6 100644
--- a/_posts/2023-07-20-writing_grammars_is_fun.md
+++ b/_posts/2023-07-20-writing_grammars_is_fun.md
@@ -1,13 +1,14 @@
---
title: Parsing is fun!
+layout: post
excerpt: |
I came across something I wanted to quickly parse that was too niche to find a ready made parser for. Join me on a quick whip tour of writing a grammar for a PEG parser.
social_image: /assets/social/parsing.png
image: /assets/social/parsing.png
thumbnail: /assets/blog/parsing/thumbnail.png
+image_class: invertable
alt: A screenshot of some python code showing a PEG grammar definition.
-layout: post
commentid: 110746239432993930
---
diff --git a/_posts/2023-07-25-interactive-code-snippets.md b/_posts/2023-07-25-interactive-code-snippets.md
index d5ceb34..2e8e51d 100644
--- a/_posts/2023-07-25-interactive-code-snippets.md
+++ b/_posts/2023-07-25-interactive-code-snippets.md
@@ -1,13 +1,16 @@
---
title: A little REPL in every blog post
layout: post
+excerpt: |
+ A JS library to run python snippets in the browser.
image: /assets/blog/REPL/repl.png
thumbnail: /assets/blog/REPL/thumbnail.png
+image_class: invertable
alt: A screenshot of a small javascript widget that lets you evaluate python code. It's showing some numpy code and its evaluated output.
klipse: True
---
-On someone else's [excellent personal](http://lambdafunk.com/) site I saw [Klipse](https://github.com/viebel/klipse), a little js library that lets you modify and execute code snippets in blogs. How cute!
+On this excellent [personal site](http://lambdafunk.com/) I saw [Klipse](https://github.com/viebel/klipse), a little js library that lets you modify and execute code snippets in blogs. How cute!
```klipse-python
print("Hello, world!")
diff --git a/_posts/2023-07-31-toothbrush-holder.md b/_posts/2023-07-31-toothbrush-holder.md
index ee77e00..cdbc57c 100644
--- a/_posts/2023-07-31-toothbrush-holder.md
+++ b/_posts/2023-07-31-toothbrush-holder.md
@@ -5,6 +5,7 @@ excerpt: |
layout: post
hide_image: false # Only use this image for static previews
image: /assets/blog/toothbrush_shelf/spin.gif
+thumbnail: /assets/blog/toothbrush_shelf/thumbnail.gif
alt: A render of a 3D printed shelf sitting above a shaver outlet, it spins slowly.
head:
media: |
diff --git a/_posts/2023-08-10-miniflux-and-rsshub.md b/_posts/2023-08-10-miniflux-and-rsshub.md
index c2f781c..efc3def 100644
--- a/_posts/2023-08-10-miniflux-and-rsshub.md
+++ b/_posts/2023-08-10-miniflux-and-rsshub.md
@@ -1,7 +1,9 @@
---
title: "Selfhosting: Miniflux and RSSHub"
layout: post
-excerpt: Some notes on selfhosting an RSS reader.
+excerpt: Notes to self on selfhosting an RSS reader.
+thumbnail: /assets/blog/miniflux/thumbnail.png
+image_class: invertable
---
Like many nerdy, computery types, I like to subscribe to blogs and other content through RSS. RSS is crazy simple, you host a url on a website with a list of posts with titles/URLs/content encoded in XML (I know I know but it only have like 5 tags and is only nested one level deep.) An RSS reader just checks a big list of those URLs every now and then and presents you the latest thing to show up.
diff --git a/_posts/2023-08-13-half-marathon.md b/_posts/2023-08-13-half-marathon.md
index b43606f..0735c16 100644
--- a/_posts/2023-08-13-half-marathon.md
+++ b/_posts/2023-08-13-half-marathon.md
@@ -1,8 +1,12 @@
---
title: My First Half Marathon!
layout: post
+excerpt: |
+ I ran my first half marathon! Let's look at the data.
image: /assets/blog/running/time_vs_distance.svg
social_image: /assets/blog/running/time_vs_distance.png
+thumbnail: /assets/blog/running/time_vs_distance.svg
+image_class: invertable
alt: A scatter graph of run time vs run distance for all my runs on strava. It shows that I mainly run between 5 and 6 min per kilometer, regardless of distance
---
diff --git a/_posts/2023-08-23-weekend_builds-1.md b/_posts/2023-08-23-weekend_builds-1.md
index 10f46e9..24dc74a 100644
--- a/_posts/2023-08-23-weekend_builds-1.md
+++ b/_posts/2023-08-23-weekend_builds-1.md
@@ -2,7 +2,7 @@
title: "Weekend builds: Lasercut stool"
layout: post
excerpt: |
- It's nice when a project can be done in just a few days. This is gonna be a little plant pot stand.
+ This little plant pot stand was a nice weekend project.
image: /assets/blog/weekend_builds_1/stool.jpeg
thumbnail: /assets/blog/weekend_builds_1/stool_thumbnail.jpeg
diff --git a/_posts/2023-09-13-maps-2.md b/_posts/2023-09-13-maps-2.md
index a248ea2..7923e5a 100644
--- a/_posts/2023-09-13-maps-2.md
+++ b/_posts/2023-09-13-maps-2.md
@@ -2,7 +2,7 @@
title: "Maps Maps Maps: Part 2"
layout: post
excerpt: |
- I finish my first laser etched map.
+ In which I make my first laser etched map!
image: /assets/blog/maps/after_sanding.jpeg
thumbnail: /assets/blog/maps/after_sanding_thumbnail.jpeg
diff --git a/_sass/blogroll.scss b/_sass/blogroll.scss
index 494c935..4253309 100644
--- a/_sass/blogroll.scss
+++ b/_sass/blogroll.scss
@@ -1,5 +1,5 @@
-$image_size: 8em;
-$left_pad: 9em;
+$image_size: clamp(5em, 25vw, 8em);
+$left_pad: calc(clamp(5em, 25vw, 8em) + 1em);
h2.blogroll-title {
a {
@@ -7,25 +7,37 @@ h2.blogroll-title {
}
}
-figure.blogroll {
- img, svg {
- margin-bottom: 0;
- }
+
+hr.blogroll {
+ border: 0px solid rgba(128, 128, 128, 0.2);
+ width: 66%;
+ margin-top: 1em;
+ margin-bottom: 1em;
}
article.blogroll {
+ padding-bottom: 0px;
+ display: flex;
- h2 {margin-top: 0;}
-
- section.title {
- padding-left: $left_pad;
+ h2 {margin-top: 0;
+ font-size: 1.3em;
+ }
+ time {
+ display: block;
+ margin-bottom: 0.2em;
+ font-size: 14px;
}
- summary {padding-left: $left_pad;}
-
- img {
- float:left;
+ figure {
margin-right: 1em;
+ width: $image_size;
+ height: 100%;
+ flex-shrink: 0;
+ margin: 0 1em 0 0;
+ padding: 0;
+ }
+ img {
+ margin: 0;
max-width: $image_size;
max-height: $image_size;
border-radius: 0.5em;
@@ -33,12 +45,11 @@ article.blogroll {
}
@media
- only screen and (max-width: 500px)
+ only screen and (max-width: $horizontal_breakpoint),
+ only screen and (max-height: $vertical_breakpoint)
{
+ hr.blogroll {border-width: 1px}
article.blogroll {
- summary {
- padding-left: 0;
- }
h2 {
font-size: 1.2em;
}
diff --git a/_sass/main.scss b/_sass/main.scss
index e806aaa..51fbd25 100644
--- a/_sass/main.scss
+++ b/_sass/main.scss
@@ -154,7 +154,8 @@ model-viewer {
opacity: .75;
transition: opacity .5s ease-in-out;
}
- img.icon {
+ img.icon, img.invertable{
+ opacity: 1;
filter: invert(1);
}
}
\ No newline at end of file
diff --git a/assets/social/fk_diagram.png b/assets/blog/interactive_svgs/fk_diagram.png
similarity index 100%
rename from assets/social/fk_diagram.png
rename to assets/blog/interactive_svgs/fk_diagram.png
diff --git a/assets/blog/interactive_svgs/thumbnail.png b/assets/blog/interactive_svgs/thumbnail.png
new file mode 100644
index 0000000..ac96210
Binary files /dev/null and b/assets/blog/interactive_svgs/thumbnail.png differ
diff --git a/assets/blog/mamba/logos.png b/assets/blog/mamba/logos.png
new file mode 100644
index 0000000..cdf4aaa
Binary files /dev/null and b/assets/blog/mamba/logos.png differ
diff --git a/assets/blog/mamba/logos.svg b/assets/blog/mamba/logos.svg
index 913c62a..4d80363 100644
--- a/assets/blog/mamba/logos.svg
+++ b/assets/blog/mamba/logos.svg
@@ -2,14 +2,17 @@
+ x="24.786839"
+ y="17.980272" />
diff --git a/assets/blog/miniflux/thumbnail.png b/assets/blog/miniflux/thumbnail.png
new file mode 100644
index 0000000..68bc205
Binary files /dev/null and b/assets/blog/miniflux/thumbnail.png differ
diff --git a/assets/blog/overleaf/logo.svg b/assets/blog/overleaf/logo.svg
new file mode 100644
index 0000000..4f2058b
--- /dev/null
+++ b/assets/blog/overleaf/logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/blog/rendering_general_relativity/spinning_earth.gif b/assets/blog/rendering_general_relativity/spinning_earth.gif
new file mode 100644
index 0000000..dea603a
Binary files /dev/null and b/assets/blog/rendering_general_relativity/spinning_earth.gif differ
diff --git a/assets/blog/rendering_general_relativity/thumbnail.gif b/assets/blog/rendering_general_relativity/thumbnail.gif
new file mode 100644
index 0000000..67e45eb
Binary files /dev/null and b/assets/blog/rendering_general_relativity/thumbnail.gif differ
diff --git a/assets/blog/running/thumbnail.png b/assets/blog/running/thumbnail.png
new file mode 100644
index 0000000..a74be73
Binary files /dev/null and b/assets/blog/running/thumbnail.png differ
diff --git a/assets/blog/shelves/thumbnail.png b/assets/blog/shelves/thumbnail.png
new file mode 100644
index 0000000..6244070
Binary files /dev/null and b/assets/blog/shelves/thumbnail.png differ
diff --git a/assets/blog/toothbrush_shelf/thumbnail.gif b/assets/blog/toothbrush_shelf/thumbnail.gif
new file mode 100644
index 0000000..1ef9625
Binary files /dev/null and b/assets/blog/toothbrush_shelf/thumbnail.gif differ
diff --git a/blog-alt.md b/blog-alt.md
index 5444519..e73e136 100644
--- a/blog-alt.md
+++ b/blog-alt.md
@@ -2,21 +2,26 @@
title: Blog
layout: default
permalink: /blog-alt/
-head:
+mathjax: false
---
{% for post in site.posts %}
+
+ class = "{{ post.image_class }}"
+ alt="{{post.alt}}">
+
-
+