16 Commits

Author SHA1 Message Date
fundor333
6c829a3534 Merge branch 'main' into feature/theme
* main: (28 commits)
  Add new syndication JSON files for recent posts
  👾Fetch webmentions skip-checks: true
  Enhance formatting of fiber installation description for clarity
  Change post date for home automation experiment
  Reorganize character image assets
  Update dependencies and remove unused image assets
  Refactor code structure for improved readability and maintainability
  Add images for home automation experiment
  Star of the post
  👾Generate Weekly skip-checks: true
  Update character assets and add matplotlib dependency
  Add some change of fonts
  Start the project
  Minor update
  👾Generate Weekly skip-checks: true
  👾Fetch webmentions skip-checks: true
  👾Fetch webmentions skip-checks: true
  👾Fetch webmentions skip-checks: true
  Update generated logo images
  Bump actions/cache from 5.0.3 to 5.0.4
  ...
2026-03-31 11:31:54 +02:00
Fundor333
566a323fda Add new syndication JSON files for recent posts
Some checks failed
Cron Github issue / webmentions (push) Successful in 28s
Cron Replay / webmentions (push) Successful in 36s
Build and deploy / Install dependencies (push) Failing after 13s
Build and deploy / Deploy Hugo into GitHub Pages (push) Has been cancelled
Cron Webmentions / webmentions (push) Has been cancelled
Cron Anilist / Anilist (push) Has been cancelled
Cron Appletune / Appletune (push) Has been cancelled
2026-03-30 15:29:47 +02:00
fundor333
655c815934 👾Fetch webmentions
skip-checks: true
2026-03-30 13:24:38 +00:00
Fundor333
aff5d0e55e Enhance formatting of fiber installation description for clarity 2026-03-30 15:23:44 +02:00
Fundor333
cb5ce59d66 Change post date for home automation experiment
Updated the date of the home automation experiment post.
2026-03-30 15:09:34 +02:00
fundor333
f79c0b15f6 Reorganize character image assets
Reorder and rename the character images within `static/Characters/` to update the numerical sequence of the assets.
2026-03-30 14:56:21 +02:00
Fundor333
073eaa8018 Update dependencies and remove unused image assets 2026-03-30 14:56:21 +02:00
Fundor333
b778275e86 Refactor code structure for improved readability and maintainability 2026-03-30 14:56:21 +02:00
Fundor333
f1e4301531 Add images for home automation experiment
- Added 'nope.gif' to illustrate a concept in the home automation project.
- Added 'raspberry.jpg' as a visual reference for the Raspberry Pi setup.
2026-03-30 14:56:21 +02:00
fundor333
e3a3356ef3 Star of the post 2026-03-30 14:56:20 +02:00
fundor333
0d1c1a79e6 👾Generate Weekly
skip-checks: true
2026-03-30 00:02:08 +00:00
Fundor333
0067273831 Merge pull request #120 from fundor333/dependabot/github_actions/actions/cache-5.0.4
Bump actions/cache from 5.0.3 to 5.0.4
2026-03-29 23:36:28 +02:00
Fundor333
2cfe219898 Merge branch 'release/new_fonts' into main 2026-03-29 23:35:36 +02:00
fundor333
38bb41a52a Update character assets and add matplotlib dependency
Re-indexes character image files in the static directory and adds matplotlib to the project dependencies to support font and image processing.
2026-03-29 23:35:17 +02:00
fundor333
79dc5d8860 Update author metadata references in feed templates
Adjusts Atom and RSS layouts to use `.Site.Params.author` for name and email fields. Also removes several generated logo resources.
2026-03-25 12:13:04 +01:00
dependabot[bot]
68a6ee1e39 Bump actions/cache from 5.0.3 to 5.0.4
Bumps [actions/cache](https://github.com/actions/cache) from 5.0.3 to 5.0.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v5.0.3...v5.0.4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 5.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-23 13:53:02 +00:00
63 changed files with 271 additions and 69 deletions

View File

@@ -49,7 +49,7 @@ jobs:
submodules: recursive
- name: Cache node modules
uses: actions/cache@v5.0.3
uses: actions/cache@v5.0.4
env:
cache-name: cache-node-modules-v1
with:
@@ -81,7 +81,7 @@ jobs:
timezoneMacos: Europe/Rome
- name: Cache built website
uses: actions/cache@v5.0.3
uses: actions/cache@v5.0.4
env:
cache-name: cache-website-v1
with:

View File

@@ -48,3 +48,9 @@ strong {
font-weight: 400;
font-size: 14px;
}
.footnotes {
p {
margin: 0;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

View File

@@ -1,37 +0,0 @@
---
title: "And Now I Start Tinkering With Hardware"
date: 2025-06-02T00:21:52+02:00
draft: true
feature_link: "https://www.midjourney.com/home/"
feature_text: "by IA Midjourney"
description: Some idea to start some software-hardware software
isStarred: false
tags:
- hacking
- coding
- micropython
categories:
- tinkering
images:
keywords:
series:
reply:
repost:
like:
rsvp:
bookmark:
comments:
host: mastodon.social
username: fundor333
id:
---
[Programming hardware displays the easy way - using MicroPython and LVGL](https://2025.pycon.it/en/event/programming-hardware-displays-the-easy-way-using-micropython-and-lvgl)
[Buying a Seven Year Old Refurbished Kobo eReader](https://eclecticpassions.net/blog/refurbished-ereader-kobo-aura-one/)
[SSH into KOreader (Kobo eReader) from macOS](https://www.burgeonlab.com/2024/ssh-into-koreader-kobo-ereader-from-macos/)
[Booting DietPi from SSD on a Raspberry Pi 4B 8GB](https://www.burgeonlab.com/2023/booting-dietpi-from-ssd-on-a-raspberry-pi-4b-8gb/)
nh

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

View File

@@ -1,23 +1,182 @@
---
title: "Starting My Home Automation Experiment"
date: 2026-03-29T20:46:01+02:00
draft: true
feature_link: "https://www.midjourney.com/home/"
feature_text: "by IA Midjourney"
description: "I am starting a Home Automation in my home and this is how I start it"
title: Starting My Home Automation Experiment
date: 2026-03-30 08:46:01+02:00
feature_link: https://www.midjourney.com/home/
feature_text: by IA Midjourney
description: I am starting a Home Automation in my home and this is how I start it
tags:
- home-automation
- hacking
- self-hosting
- raspberry-pi
- home-assistant
categories:
- tinkering
series:
- My Home Automation Lab
syndication:
- https://mastodon.social/@fundor333/116318298830055707
comments:
host: mastodon.social
username: fundor333
id: '116318298830055707'
---
And some time ago I installed the Fiber[^1] in my home and I want to use in the best way, so I start to rework all my local network and I think about adding some home automation.
And some time ago I installed the __*FIBER*__[^1] in my home and I want to use in the best way, so I start to rework all my local network and I think about adding some home automation.
[^1]: I pay a company to install it and clean after.
[^1]: I pay a company to install it and I clean after.
{{< xkcd 1966 >}}
{{< xkcd 1931 >}}
## What do I need?
First I search for understand what I need to have for build my personal home automation. So serching on the web I found I need:
- A brain/core/server for coordinate all the stuffs
- A software for the brain, for the automation and other stuff
- A router for adding the brain to the network for update and other stuff
- Dongle/sensor/tech for connectivity with the sensors and smart stuff (one for protocol)
- The smart stuff (light bulb, sensor, timer, endpoint api...)
So I need to choose which protocol I want in my home... And I don't know...
So I change the point of view:
- I want to use good smart stuff but I don't want to pay too much
- I want something Open Source so I am not bind to a company
- I want something offline or/and on MY HOME SERVER
### The protocols
Searching for the protocols I choose Thread[^thread-standard] and Zigbee[^zigbee].
One reason is because they are the most used protocol for communication and more easy to find online (Amazon) and offline (Ikea and othe local shop).
For starting I will implement only Thread because the more easy tech for me are all Matter over Thread so I start with Thread.
From the infographic I found, I need to implement Matter[^matter-standard] also because Matter is the top stuff for an Home Assistant.
![Matter Thread Infographic ](matter_thread_infographic.png)
[^matter-standard]: [Matter Standard](https://csa-iot.org/all-solutions/matter/)
[^thread-standard]: [Thread Standard](https://threadgroup.org/)
[^zigbee]: [Zigbee Standard](https://csa-iot.org/all-solutions/zigbee/)
### The software
Now I want a software, Open Source, which I can support Thread and Matter (and also Zigbee) and I found a software (Open Source) wich support all I need: Home Assistant[^home-assistant].
It support Matter[^matter-home-assistant], Thread[^thread-home-assistant] and Zigbee[^zigbee-home-automation] and I can put it in a RaspberryPi or other server.
[^home-assistant]: [Home Assistant](https://www.home-assistant.io/)
[^matter-home-assistant]: [Home Assistant Matter](https://www.home-assistant.io/integrations/matter/)
[^thread-home-assistant]: [Home Assistant Thread](https://www.home-assistant.io/integrations/thread/)
[^zigbee-home-automation]: [Zigbee Home Automation](https://www.home-assistant.io/integrations/zha/)
## Hardware
So I start to make a list of what I have and what I need.
Some things I buy online, some things come from some tech market and some come form the shoes box of my old stuff...
I only write about the real things but if I use cable or other "standard stuff" I don't write about it.
So yes I bought some usb extention and some network cable but they aren't important for this post.
### Core/Brain Stuff
First I need the Brain for the project
![Brain](ABnormal_GIF.gif)
From what I read in the Home Assistant[^home-assistant] documentation I need some type of server with some gadget connected to them.
So I search and got a RaspberryPi 4B[^raspberry].
![Raspberry](raspberry.jpg)
[^raspberry]: [RaspberryPi 4B](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/)
I also bought a microSD with 64GB of memory (I am on a budget for this project) as an Hard Disk for the "server".
Searching in my closet and in some shoes boxes I found a case[^case] for RaspberryPi with active cooling system (and LGB light)
[^case]: [Raspberry Pi 4B Case from Owootecc](https://www.amazon.it/dp/B07YJGWPQL)
So I flash the microSD with the Home Assistant software. Thanks to the Raspberry Pi Software[^iso] choosing the right iso and flash it in the SD was a walk in the park.
[^iso]: [Raspberry Pi software](https://www.raspberrypi.com/software/)
After the flashing I set it up and add to my local network and check for update.
So the brain is ready!
### Sensor form Ikea
I went to Ikea for some stuff and some Swedish meatballs and I came back with an Ikea Alpstuga[^ikea].
![Ikea Alpstuga](ikea.jpg)
It is a timer, air sensor with CO2 and PM2.5 sensor and output all of them and an Air Quality value.
[^ikea]: [Ikea Alpstuga](https://www.ikea.com/it/it/p/alpstuga-sensore-della-qualita-dellaria-smart-50604187/)
The only bad thing about it is the color but for the price I don't complain.
So after coming home I found it didn't work.
![Nope](nope.gif)
As is the RaspberryPi 4B do not support Thread or Zigbee without some type of specialized antenna...
I was understanding that the software use the wifi module of the RaspberryPi as a Zigbee/Thread emitter/reciver but no so I search on Amazon for the dongle for Thread.
### Antenna
I bought a Usb dongle[^antenna] for connecting the RaspberryPi and the other gadget in the house (for now only the Ikea one)
[^antenna]: [SONOFF Zigbee 3.0 USB Dongle Plus MG24](https://www.amazon.it/dp/B0FMJD288B)
![Antenna](antenna.jpg)[^antenna]
This antenna is a little special: you can flash it for changing it form Zigbee to Thread and vice versa so I start to config it.
#### Setup the Antenna
First I flash the antenna. I need to port from Zigbee to Thread[^flash_firmware] and with the online tool it was so easy I thought I did something wrong.
[^flash_firmware]: [Sonoff dongle flasher/](https://dongle.sonoff.tech/sonoff-dongle-flasher/)
After this I connect the dongle and start to config the Home Assistant.
First I need to have installed Thread from "Add Integration" and it showed an empty list of device. This is correct because I didn't have a Thread router installed.
So we add a OpenRouter. How? Installing from the officials app of mine Home Assistant.
![Open Thread on a menu](Thread.png)
After this I edit the config in this way (the device was auto-finded) and I set this for my device. [^note]
[^note]: This config work for me, it can not work for you
![Open Thread config](openThread.png)
For checking if all was ok I went and seach in the log for the OpenThread for a specific line.
![Log Antenna](log-antenna.png)
After this I went to check if the Thread integration showed the Ikea sensor and it didn't show... Why? Because I am STUPID.
#### Setup the last little things
Alpstuga (my air sensor) is not Thread, is Matter over Thread, so I need to add the thing with the Matter integration. And with this last integration the system worked!
![Its alive](its-alive.gif)
I am happy of this system? No. Why? I have the wrong time on the Alpstuga.
This thing I don't understand so I search online for understand how can I fix the time on the device.
I find this is a common problem with the Alpstuga device and someone made a Hacs[^hacs] plugin[^matter-time-synk] wich add a cron and a button for sync the Home Assistant's clock. I also add the plugin for integrate my Playstation Network in my Home Assistant[^psnetwork].
[^hacs]: [Home Assistant Hacs](https://www.hacs.xyz/)
[^matter-time-synk]: [Matter time synk](https://github.com/Loweack/Matter-Time-Sync/)
[^psnetwork]: [PlayStation Network Home Assistant](https://www.home-assistant.io/integrations/playstation_network/)
## Conclusion
For now this is what I had done but I want to have automation (for now I don't have any) and some stuff for lower the gas bill so there will be more post about my smart home.

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

View File

@@ -0,0 +1,33 @@
---
title: "Week Note Nº 14/2026"
date: "2026-03-30T09:00:00+01:00"
lastmod: "2026-03-30T09:00:00+01:00"
tags: ["weeknote"]
type : "weeknote"
summary: "Personal notes for week 14 of 2026"
description: "Personal notes for week 14 of 2026"
draft: False
---
## New post from my blog
- [Week Note Nº 13/2026](https://fundor333.com/weeknotes/2026/13/?utm_source=fundor333.com)
## My Links
- [My blog](https://www.fundor333.com)
- [My newsletter](https://newsletter.digitaltearoom.com)
- [Support me](https://ko-fi.com/fundor333)
## Anime and manga's stats
### **Anime**
- Total anime watched: **105**
- Total anime watched time: **706h 22m**
- Total anime watched episodes: **1708**
- Top 5 anime genres: 🏷️ Action, 🏷️ Adventure, 🏷️ Fantasy, 🏷️ Supernatural, 🏷️ Drama
### **Manga**
- Total manga read: **269**
- Total manga read chapters: **27385**
- Total manga read volumes: **612**
- Top 5 manga genres: 🏷️ Fantasy, 🏷️ Action, 🏷️ Adventure, 🏷️ Comedy, 🏷️ Drama

View File

@@ -0,0 +1,7 @@
{
"syndication": [
"https://bsky.app/profile/fundor333.bsky.social/post/3mdgrz4agzg23",
"https://mastodon.social/@fundor333/115969377077180224"
],
"source": "https://fundor333.com/micro/2026/01/making-htmx-stuffs/"
}

View File

@@ -0,0 +1,6 @@
{
"syndication": [
"https://mastodon.social/@fundor333/115963459189684445"
],
"source": "https://fundor333.com/post/2026/why-do-i-disinstall-poetry-and-use-only-uv-/"
}

View File

@@ -0,0 +1,7 @@
{
"syndication": [
"https://mastodon.social/@fundor333/116318298830055707",
"https://news.ycombinator.com/item?id=47573957"
],
"source": "https://fundor333.com/post/2026/starting-my-home-automation-experiment/"
}

9
package-lock.json generated
View File

@@ -147,7 +147,6 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759",
@@ -163,9 +162,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001781",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001781.tgz",
"integrity": "sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==",
"version": "1.0.30001782",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001782.tgz",
"integrity": "sha512-dZcaJLJeDMh4rELYFw1tvSn1bhZWYFOt468FcbHHxx/Z/dFidd1I6ciyFdi3iwfQCyOjqo9upF6lGQYtMiJWxw==",
"funding": [
{
"type": "opencollective",
@@ -514,7 +513,6 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"nanoid": "^3.3.11",
"picocolors": "^1.1.1",
@@ -753,7 +751,6 @@
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=12"
},

View File

@@ -16,26 +16,48 @@ click==8.3.1
# weeknotebot
colorama==0.4.6 ; sys_platform == 'win32'
# via click
contourpy==1.3.3
# via matplotlib
cycler==0.12.1
# via matplotlib
feedparser==6.0.12
# via
# fundor333-github-io
# weeknotebot
fonttools==4.62.1
# via matplotlib
idna==3.11
# via requests
kiwisolver==1.5.0
# via matplotlib
lxml==6.0.2
# via fundor333-github-io
markdown-it-py==4.0.0
# via rich
marshmallow==3.26.2
# via weeknotebot
matplotlib==3.10.8
# via fundor333-github-io
mdurl==0.1.2
# via markdown-it-py
numpy==2.4.4
# via
# contourpy
# matplotlib
packaging==26.0
# via marshmallow
# via
# marshmallow
# matplotlib
pillow==12.1.1
# via fundor333-github-io
# via
# fundor333-github-io
# matplotlib
pygments==2.20.0
# via rich
pyparsing==3.3.2
# via matplotlib
python-dateutil==2.9.0.post0
# via matplotlib
python-dotenv==1.2.2
# via fundor333-github-io
python-frontmatter==1.1.0
@@ -56,6 +78,8 @@ sgmllib3k==1.0.0
# via feedparser
shellingham==1.5.4
# via typer
six==1.17.0
# via python-dateutil
soupsieve==2.8.3
# via beautifulsoup4
typer==0.24.1

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"Target":"add.min.855eeee13cf87b04c5f2dc5d26fbb0ee43b90357d4d210186eebe753d1055101.css","MediaType":"text/css","Data":{"Integrity":"sha256-hV7u4Tz4ewTF8txdJvuw7kO5A1fU0hAYbuvnU9EFUQE="}}
{"Target":"add.min.ccd2b4b9ceb675fabadad53f60dfdfc15f8c9ac2e9f43bdadc77c75132bd005f.css","MediaType":"text/css","Data":{"Integrity":"sha256-zNK0uc62dfq62tU/YN/fwV+MmsLp9Dva3HfHUTK9AF8="}}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 KiB

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 KiB

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 471 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 301 KiB

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 490 KiB

After

Width:  |  Height:  |  Size: 386 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

After

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 204 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 370 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 KiB

After

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 386 KiB

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 317 KiB

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

After

Width:  |  Height:  |  Size: 500 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 161 KiB

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 298 KiB

After

Width:  |  Height:  |  Size: 301 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

After

Width:  |  Height:  |  Size: 530 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 322 KiB

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 471 KiB

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 500 KiB

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 530 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

After

Width:  |  Height:  |  Size: 298 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 470 KiB

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

After

Width:  |  Height:  |  Size: 490 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

After

Width:  |  Height:  |  Size: 470 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 KiB

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 338 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 KiB

After

Width:  |  Height:  |  Size: 110 KiB

22
uv.lock generated
View File

@@ -367,19 +367,19 @@ wheels = [
[[package]]
name = "fonttools"
version = "4.62.0"
version = "4.62.1"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/5a/96/686339e0fda8142b7ebed39af53f4a5694602a729662f42a6209e3be91d0/fonttools-4.62.0.tar.gz", hash = "sha256:0dc477c12b8076b4eb9af2e440421b0433ffa9e1dcb39e0640a6c94665ed1098", size = 3579521, upload-time = "2026-03-09T16:50:06.217Z" }
sdist = { url = "https://files.pythonhosted.org/packages/9a/08/7012b00a9a5874311b639c3920270c36ee0c445b69d9989a85e5c92ebcb0/fonttools-4.62.1.tar.gz", hash = "sha256:e54c75fd6041f1122476776880f7c3c3295ffa31962dc6ebe2543c00dca58b5d", size = 3580737, upload-time = "2026-03-13T13:54:25.52Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/ab/9d/7ad1ffc080619f67d0b1e0fa6a0578f0be077404f13fd8e448d1616a94a3/fonttools-4.62.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:22bde4dc12a9e09b5ced77f3b5053d96cf10c4976c6ac0dee293418ef289d221", size = 2870004, upload-time = "2026-03-09T16:48:50.837Z" },
{ url = "https://files.pythonhosted.org/packages/4d/8b/ba59069a490f61b737e064c3129453dbd28ee38e81d56af0d04d7e6b4de4/fonttools-4.62.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7199c73b326bad892f1cb53ffdd002128bfd58a89b8f662204fbf1daf8d62e85", size = 2414662, upload-time = "2026-03-09T16:48:53.295Z" },
{ url = "https://files.pythonhosted.org/packages/8c/8c/c52a4310de58deeac7e9ea800892aec09b00bb3eb0c53265b31ec02be115/fonttools-4.62.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d732938633681d6e2324e601b79e93f7f72395ec8681f9cdae5a8c08bc167e72", size = 5032975, upload-time = "2026-03-09T16:48:55.718Z" },
{ url = "https://files.pythonhosted.org/packages/0b/a1/d16318232964d786907b9b3613b8409f74cf0be2da400854509d3a864e43/fonttools-4.62.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:31a804c16d76038cc4e3826e07678efb0a02dc4f15396ea8e07088adbfb2578e", size = 4988544, upload-time = "2026-03-09T16:48:57.715Z" },
{ url = "https://files.pythonhosted.org/packages/b2/8d/7e745ca3e65852adc5e52a83dc213fe1b07d61cb5b394970fcd4b1199d1e/fonttools-4.62.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:090e74ac86e68c20150e665ef8e7e0c20cb9f8b395302c9419fa2e4d332c3b51", size = 4971296, upload-time = "2026-03-09T16:48:59.678Z" },
{ url = "https://files.pythonhosted.org/packages/e6/d4/b717a4874175146029ca1517e85474b1af80c9d9a306fc3161e71485eea5/fonttools-4.62.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8f086120e8be9e99ca1288aa5ce519833f93fe0ec6ebad2380c1dee18781f0b5", size = 5122503, upload-time = "2026-03-09T16:49:02.464Z" },
{ url = "https://files.pythonhosted.org/packages/cb/4b/92cfcba4bf8373f51c49c5ae4b512ead6fbda7d61a0e8c35a369d0db40a0/fonttools-4.62.0-cp312-cp312-win32.whl", hash = "sha256:37a73e5e38fd05c637daede6ffed5f3496096be7df6e4a3198d32af038f87527", size = 2281060, upload-time = "2026-03-09T16:49:04.385Z" },
{ url = "https://files.pythonhosted.org/packages/cd/06/cc96468781a4dc8ae2f14f16f32b32f69bde18cb9384aad27ccc7adf76f7/fonttools-4.62.0-cp312-cp312-win_amd64.whl", hash = "sha256:658ab837c878c4d2a652fcbb319547ea41693890e6434cf619e66f79387af3b8", size = 2331193, upload-time = "2026-03-09T16:49:06.598Z" },
{ url = "https://files.pythonhosted.org/packages/9c/57/c2487c281dde03abb2dec244fd67059b8d118bd30a653cbf69e94084cb23/fonttools-4.62.0-py3-none-any.whl", hash = "sha256:75064f19a10c50c74b336aa5ebe7b1f89fd0fb5255807bfd4b0c6317098f4af3", size = 1152427, upload-time = "2026-03-09T16:50:04.074Z" },
{ url = "https://files.pythonhosted.org/packages/47/d4/dbacced3953544b9a93088cc10ef2b596d348c983d5c67a404fa41ec51ba/fonttools-4.62.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:90365821debbd7db678809c7491ca4acd1e0779b9624cdc6ddaf1f31992bf974", size = 2870219, upload-time = "2026-03-13T13:52:53.664Z" },
{ url = "https://files.pythonhosted.org/packages/66/9e/a769c8e99b81e5a87ab7e5e7236684de4e96246aae17274e5347d11ebd78/fonttools-4.62.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12859ff0b47dd20f110804c3e0d0970f7b832f561630cd879969011541a464a9", size = 2414891, upload-time = "2026-03-13T13:52:56.493Z" },
{ url = "https://files.pythonhosted.org/packages/69/64/f19a9e3911968c37e1e620e14dfc5778299e1474f72f4e57c5ec771d9489/fonttools-4.62.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c125ffa00c3d9003cdaaf7f2c79e6e535628093e14b5de1dccb08859b680936", size = 5033197, upload-time = "2026-03-13T13:52:59.179Z" },
{ url = "https://files.pythonhosted.org/packages/9b/8a/99c8b3c3888c5c474c08dbfd7c8899786de9604b727fcefb055b42c84bba/fonttools-4.62.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:149f7d84afca659d1a97e39a4778794a2f83bf344c5ee5134e09995086cc2392", size = 4988768, upload-time = "2026-03-13T13:53:02.761Z" },
{ url = "https://files.pythonhosted.org/packages/d1/c6/0f904540d3e6ab463c1243a0d803504826a11604c72dd58c2949796a1762/fonttools-4.62.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0aa72c43a601cfa9273bb1ae0518f1acadc01ee181a6fc60cd758d7fdadffc04", size = 4971512, upload-time = "2026-03-13T13:53:05.678Z" },
{ url = "https://files.pythonhosted.org/packages/29/0b/5cbef6588dc9bd6b5c9ad6a4d5a8ca384d0cea089da31711bbeb4f9654a6/fonttools-4.62.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:19177c8d96c7c36359266e571c5173bcee9157b59cfc8cb0153c5673dc5a3a7d", size = 5122723, upload-time = "2026-03-13T13:53:08.662Z" },
{ url = "https://files.pythonhosted.org/packages/4a/47/b3a5342d381595ef439adec67848bed561ab7fdb1019fa522e82101b7d9c/fonttools-4.62.1-cp312-cp312-win32.whl", hash = "sha256:a24decd24d60744ee8b4679d38e88b8303d86772053afc29b19d23bb8207803c", size = 2281278, upload-time = "2026-03-13T13:53:10.998Z" },
{ url = "https://files.pythonhosted.org/packages/28/b1/0c2ab56a16f409c6c8a68816e6af707827ad5d629634691ff60a52879792/fonttools-4.62.1-cp312-cp312-win_amd64.whl", hash = "sha256:9e7863e10b3de72376280b515d35b14f5eeed639d1aa7824f4cf06779ec65e42", size = 2331414, upload-time = "2026-03-13T13:53:13.992Z" },
{ url = "https://files.pythonhosted.org/packages/fd/ba/56147c165442cc5ba7e82ecf301c9a68353cede498185869e6e02b4c264f/fonttools-4.62.1-py3-none-any.whl", hash = "sha256:7487782e2113861f4ddcc07c3436450659e3caa5e470b27dc2177cade2d8e7fd", size = 1152647, upload-time = "2026-03-13T13:54:22.735Z" },
]
[[package]]