generate images
This commit is contained in:
parent
8e8e4601d3
commit
279640f995
|
@ -2,5 +2,5 @@
|
|||
title: "{{ replace .Name "-" " " | title }}"
|
||||
date: {{ .Date }}
|
||||
draft: true
|
||||
cover: ./cover.png
|
||||
---
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
title: Welcome!
|
||||
layout: home
|
||||
cover: ./cover.png
|
||||
---
|
||||
|
||||
## Welcome!
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
layout: post
|
||||
title: Email & privacy/security concerns
|
||||
cover: ./cover.png
|
||||
date: 2020-03-21 01:46 -0400
|
||||
draft: true
|
||||
---
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
title: "A perfect email setup (for me)"
|
||||
author: ["Amolith"]
|
||||
cover: ./cover.png
|
||||
lastmod: 2023-01-27T13:00:36-05:00
|
||||
tags: ["Email", "Workflow"]
|
||||
categories: ["Technology"]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
title: "(Ab)using mesh networks for easy remote support"
|
||||
author: ["Amolith"]
|
||||
cover: ./cover.png
|
||||
date: 2021-11-01T02:51:00-04:00
|
||||
lastmod: 2023-01-18T09:33:39-05:00
|
||||
tags: ["Mesh networking", "Open source", "Remote support"]
|
||||
|
@ -27,7 +28,6 @@ networking tool created by Slack, [X11vnc,](https://libvnc.github.io/) a very mi
|
|||
distribution, to set up a scalable, secure, and simple setup reminiscent
|
||||
of products like RealVNC.
|
||||
|
||||
|
||||
## Nebula {#nebula}
|
||||
|
||||
The first part of our stack is Nebula, the tool that creates a network
|
||||
|
@ -63,7 +63,6 @@ It allows any node to connect with any other node on any network from
|
|||
anywhere in the world, as long as one lighthouse is accessible that
|
||||
knows the connection details for both peers.
|
||||
|
||||
|
||||
### Getting started {#getting-started}
|
||||
|
||||
The _best_ resource is [the official documentation,](https://github.com/slackhq/nebula) but I'll describe the
|
||||
|
@ -77,7 +76,6 @@ purchase. [Hetzner](https://www.hetzner.com/cloud) (referral: `ckGrk4J45WdN`) or
|
|||
`36nc15758387844`) would also be very good options; I've used them all and
|
||||
am very comfortable recommending them.
|
||||
|
||||
|
||||
### Creating a Certificate Authority {#creating-a-certificate-authority}
|
||||
|
||||
After picking a device with a static IP address, it needs to be set up
|
||||
|
@ -97,7 +95,6 @@ CA's name in a later section. If you have your own domain, feel free to
|
|||
use that instead; it doesn't really matter what domain is used as long
|
||||
as the format is valid.
|
||||
|
||||
|
||||
### Generating lighthouse credentials {#generating-lighthouse-credentials}
|
||||
|
||||
Now that we have the CA's `.crt` and `.key` files, we can create and sign
|
||||
|
@ -114,12 +111,11 @@ of the following private IP ranges, I just happened to use `192.168.100.X`
|
|||
for my network.
|
||||
|
||||
| IP Range | Number of addresses |
|
||||
|-------------------------------|---------------------|
|
||||
| ----------------------------- | ------------------- |
|
||||
| 10.0.0.0 – 10.255.255.255 | 16 777 216 |
|
||||
| 172.16.0.0 – 172.31.255.255 | 10 48 576 |
|
||||
| 192.168.0.0 – 192.168.255.255 | 65 536 |
|
||||
|
||||
|
||||
### Creating a config file {#creating-a-config-file}
|
||||
|
||||
The next step is creating our lighthouse's config file. The reference
|
||||
|
@ -214,7 +210,6 @@ Again, I _remove_ the following bit from the config.
|
|||
- home
|
||||
```
|
||||
|
||||
|
||||
### Setting the lighthouse up {#setting-the-lighthouse-up}
|
||||
|
||||
We've got the config, the certificates, and the keys. Now we're ready to
|
||||
|
@ -305,7 +300,6 @@ options.
|
|||
|
||||
We're almost done!
|
||||
|
||||
|
||||
### Setting individual nodes up {#setting-individual-nodes-up}
|
||||
|
||||
This process is almost exactly the same as setting lighthouses up. All
|
||||
|
@ -378,7 +372,6 @@ other nodes.
|
|||
The certs, key, config, binary, and systemd service should all be copied
|
||||
to the same places on all of these nodes as on the lighthouse.
|
||||
|
||||
|
||||
## X11vnc {#x11vnc}
|
||||
|
||||
_Alright._ The hardest part is finished. Now on to setting `x11vnc` up on
|
||||
|
@ -410,7 +403,6 @@ distribution's documentation, or ask someone else that might know.
|
|||
After adding it to the startup application, log out and back in to make
|
||||
sure it's running in the background.
|
||||
|
||||
|
||||
## Remmina {#remmina}
|
||||
|
||||
Now that our network is functioning properly and the VNC server is set
|
||||
|
@ -434,7 +426,6 @@ Save and test the connection!
|
|||
If all goes well and you see the other device's desktop, you're done
|
||||
with the VNC section! Now on to SSH.
|
||||
|
||||
|
||||
## SSH {#ssh}
|
||||
|
||||
First off, make sure `openssh-server` is installed on the remote node;
|
||||
|
@ -520,7 +511,6 @@ Now you can just run `ssh USER` to get in. If you duplicate the above
|
|||
block for all of the remote nodes you need to support, you'll only have
|
||||
to remember the person's username to SSH into their machine.
|
||||
|
||||
|
||||
## Going further with Nebula {#going-further-with-nebula}
|
||||
|
||||
This section explains why we used FQDNs in the certs and why the DNS
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
title: "Audacity and the telemetry pull request"
|
||||
author: ["Amolith"]
|
||||
cover: ./cover.png
|
||||
lastmod: 2023-01-27T13:00:37-05:00
|
||||
tags: ["Open source culture", "Audio editing", "Music", "Drama"]
|
||||
categories: ["Technology"]
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
title: "The case for dopamine dispensers"
|
||||
subtitles: "Likes and clicks and green badges and comments and analytics and ____ can be helpful, actually"
|
||||
author: ["Amolith"]
|
||||
cover: ./cover.png
|
||||
published: 2023-02-26T23:09:00-05:00
|
||||
categories: ["Technology"]
|
||||
tags: ["TODO"]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
title: "Email can be pleasant, but like all good things, it takes work"
|
||||
author: ["Amolith"]
|
||||
cover: ./cover.png
|
||||
lastmod: 2023-01-27T13:00:36-05:00
|
||||
categories: ["Meta"]
|
||||
draft: true
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
title: "Focus intentionally"
|
||||
author: Amolith
|
||||
cover: ./cover.png
|
||||
lastmod: 2022-04-23T21:12:29-04:00
|
||||
categories: ["Meta"]
|
||||
draft: true
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
title: "FreeBSD quirks on the Framework laptop"
|
||||
author: ["Amolith"]
|
||||
cover: ./cover.png
|
||||
lastmod: 2022-04-23T21:14:54-04:00
|
||||
tags: ["FreeBSD", "Framework"]
|
||||
categories: ["Technology"]
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
---
|
||||
draft: true
|
||||
cover: ./cover.png
|
||||
---
|
||||
|
||||
\*\* TODO Making yourself overly available
|
||||
|
||||
\*\*\* References
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
title: "Privacy-respecting analytics"
|
||||
date: 2023-03-06T12:23:00-05:00
|
||||
cover: ./cover.png
|
||||
categories: ["Technology"]
|
||||
tags: ["Privacy", "Web"]
|
||||
draft: false
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
title: "Pull vs push: intentional feeds"
|
||||
date: 2023-03-18T00:43:55-04:00
|
||||
draft: true
|
||||
cover: ./cover.png
|
||||
---
|
||||
|
||||
When bored, my peers tend to open their preferred social media app and
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
title: "Pull vs push: intentional notifications"
|
||||
date: 2023-03-20T12:15:00-04:00
|
||||
cover: ./cover.png
|
||||
draft: false
|
||||
toc: true
|
||||
categories: ["Technology"]
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
title: "Stop using gmail"
|
||||
date: 2023-01-27T13:04:33-05:00
|
||||
cover: ./cover.png
|
||||
draft: true
|
||||
---
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
title: 'Catchy title about Supernote being "the new paper"'
|
||||
author: ["Amolith"]
|
||||
cover: ./cover.png
|
||||
lastmod: 2023-01-27T13:00:37-05:00
|
||||
tags: ["Supernote", "Writing", "Productivity", "Organisation"]
|
||||
categories: ["Technology"]
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
title: "Projects"
|
||||
description: "Projects I'm currently working or have (mostly) finished"
|
||||
date: 2023-01-17T13:42:01-05:00
|
||||
cover: ./cover.png
|
||||
type: generic
|
||||
---
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
title: "Uses"
|
||||
description: "Just a big page describing what I use that I think is notable"
|
||||
date: 2021-08-18T22:57:48-04:00
|
||||
cover: ./cover.png
|
||||
type: generic
|
||||
---
|
||||
|
||||
|
|
33
justfile
33
justfile
|
@ -66,9 +66,36 @@ images:
|
|||
|
||||
echo -e '\033[1m# Checking whether there are cover images to generate ...\033[0m'
|
||||
|
||||
echo -e '\033[1m# \033[4mTODO\033[0m\033[1m: Generate covers for posts that have changed or that have no cover\033[0m'
|
||||
# wkhtmltoimage -f png --width 1200 --height 630 /tmp/file.html /tmp/file.png
|
||||
# optipng -o4 file.png
|
||||
published=$(grep -ilr --include \*.md "draft: false" content/posts)
|
||||
|
||||
todo=""
|
||||
|
||||
# Iterate through all non-drafts
|
||||
for path in $published
|
||||
do
|
||||
filename=$(basename "$path")
|
||||
name=$(echo "${filename%.*}")
|
||||
# Check whether target doc is newer than Markdown file
|
||||
if [ "$path" -nt "public/$name/cover.png" ]
|
||||
then
|
||||
todo+="$path "
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -z "$todo" ]
|
||||
then
|
||||
echo "No covers to generate"
|
||||
exit 0
|
||||
else
|
||||
for path in $todo
|
||||
do
|
||||
filename=$(basename "$path")
|
||||
name=$(echo "${filename%.*}")
|
||||
echo "Generating cover for $name"
|
||||
|
||||
p2c -i $path -o public/$name/cover.png
|
||||
done
|
||||
fi
|
||||
|
||||
# Run development server
|
||||
serve:
|
||||
|
|
Loading…
Reference in New Issue