website: the share card's wordmark is the brand's own, with the blue .eu
gates / gates (push) Successful in 6m15s

The old card's lettering was plain white and in some other face. The card now
takes assets/logo-wordmark.png - the same file the sidebar shows - scaled to the
old lettering's ink height and alpha-composited in its place, so felhom is white,
.eu is blue, and the drawn outline is there. The cloud mark beside it is still
the old card's pixels, which were always right. og:image ?v=3.
This commit is contained in:
2026-10-12 15:34:54 +02:00
parent 0fbba61030
commit c0a2953bea
24 changed files with 57 additions and 39 deletions
+13 -1
View File
@@ -55,6 +55,12 @@ CARDS = {
"en": ("og-image-en.png", (208, 382), (510, 572)),
}
LOGO_BAND = (76, 132)
# The old card's wordmark was plain white; the brand's is "felhom" white and ".eu" blue (operator,
# 2026-10-12). It is not a font we can set - it is drawn lettering with an outline - so the card
# takes assets/logo-wordmark.png, the same file the sidebar shows, instead of the old card's pixels.
MARK_X = (73, 153) # the cloud mark on the old card, which is unchanged
WORD_AT = (176, 89) # where the old card's lettering began, and where the real one goes
WORD_INK_H = 34 # its ink height there
def ink_bbox(im, y0, y1, thresh=300):
@@ -116,7 +122,13 @@ def build(lang, check):
region = card.crop((at[0], at[1], at[0] + part.size[0], at[1] + part.size[1]))
card.paste(ImageChops.lighter(region, part), at)
lay(logo, (LEFT, logo[1]))
lay((MARK_X[0], LOGO_BAND[0], MARK_X[1], LOGO_BAND[1]), (MARK_X[0], LOGO_BAND[0]))
word = Image.open(os.path.join(A, "logo-wordmark.png")).convert("RGBA")
wb = word.getbbox() # the lettering's own edges inside its canvas
word = word.crop(wb)
ws = WORD_INK_H / float(word.size[1])
word = word.resize((int(round(word.size[0] * ws)), WORD_INK_H), Image.LANCZOS)
card.paste(word, WORD_AT, word)
scale = HEAD_WIDTH / float(head[2] - head[0])
lay(head, (LEFT, HEAD_TOP), scale)
lay(pill, (LEFT - 1, pill[1]))
+6
View File
@@ -26,6 +26,12 @@ their metas describe documents whose own text is plural and frozen.
- The English card carries the same Hungarian-language Immich screen as the Hungarian one, because
it is the same recording the hero uses on both pages. Worth a retake if the English page ever
gets its own.
- **The wordmark is the brand's own now** (operator, 2026-10-12: *„the .eu is not blue”*). The old
card's lettering was plain white and set in some other face; the card takes
`assets/logo-wordmark.png` — the very file the sidebar shows — scaled to the old lettering's ink
height and alpha-composited in its place, so „felhom” is white, „.eu” is blue and the outline is
the drawn one. The cloud mark beside it is still the old card's pixels, which were always right.
`?v=3` on the og:image URLs.
## 2026-10-12 (review round) — the reviewer's findings, fixed
+1 -1
View File
@@ -15,7 +15,7 @@
<meta property="og:url" content="https://felhom.eu/adatkezeles">
<meta property="og:title" content="Adatkezelési tájékoztató — Felhom.eu">
<meta property="og:description" content="Mit kezelünk rólad, miért, meddig, és kik látják még. A Felhom.eu adatkezelési tájékoztatója, egyszerűen leírva.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=3">
<meta property="og:locale" content="hu_HU">
<meta property="og:site_name" content="Felhom.eu">
+2 -2
View File
@@ -18,14 +18,14 @@
<meta property="og:url" content="https://felhom.eu/alkalmazasok">
<meta property="og:title" content="58 alkalmazás otthoni szerverre">
<meta property="og:description" content="Nextcloud, Immich, Jellyfin, Vaultwarden és még sok más. Fájlkezelés, fotók, média, dokumentumok — mind a saját szerveredről.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=3">
<meta property="og:locale" content="hu_HU">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="58 alkalmazás otthoni szerverre">
<meta name="twitter:description" content="Nextcloud, Immich, Jellyfin és még sok más — a te szerveredről.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=3">
<script type="application/ld+json">
{
Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 KiB

After

Width:  |  Height:  |  Size: 283 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 KiB

After

Width:  |  Height:  |  Size: 283 KiB

+2 -2
View File
@@ -17,14 +17,14 @@
<meta property="og:url" content="https://felhom.eu/biztonsagimentes">
<meta property="og:title" content="3-2-1 biztonsági mentés otthoni szerverhez">
<meta property="og:description" content="Professzionális szintű adatbiztonság otthon. Automatikus backup, és egy titkosított másolat távol is.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=3">
<meta property="og:locale" content="hu_HU">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="3-2-1 biztonsági mentés otthoni szerverhez">
<meta name="twitter:description" content="Professzionális adatvédelem otthoni szerveredre. Automatikus backup, offsite mentés.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=3">
<script type="application/ld+json">
{
+2 -2
View File
@@ -18,14 +18,14 @@
<meta property="og:url" content="https://felhom.eu/en/apps">
<meta property="og:title" content="58 apps for a home server">
<meta property="og:description" content="Nextcloud, Immich, Jellyfin, Vaultwarden and many more. Files, photos, media, documents — all from your own server.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=3">
<meta property="og:locale" content="en_GB">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="58 apps for a home server">
<meta name="twitter:description" content="Nextcloud, Immich, Jellyfin and many more — from your own server.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=3">
<script type="application/ld+json">
{
+2 -2
View File
@@ -17,14 +17,14 @@
<meta property="og:url" content="https://felhom.eu/en/backups">
<meta property="og:title" content="3-2-1 backups for a home server">
<meta property="og:description" content="Professional-grade data safety at home. Automatic backups, and an encrypted copy far away too.">
<meta property="og:image" content="https://felhom.eu/assets/og-image-en.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image-en.png?v=3">
<meta property="og:locale" content="en_GB">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="3-2-1 backups for a home server">
<meta name="twitter:description" content="Professional data protection for your home server. Automatic backups, off-site copies.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image-en.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image-en.png?v=3">
<script type="application/ld+json">
{
+2 -2
View File
@@ -18,14 +18,14 @@
<meta property="og:url" content="https://felhom.eu/en/contact">
<meta property="og:title" content="Contact — Felhom.eu">
<meta property="og:description" content="Write to me and I will make a personal offer for your home server.">
<meta property="og:image" content="https://felhom.eu/assets/og-image-en.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image-en.png?v=3">
<meta property="og:locale" content="en_GB">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Contact — Felhom.eu">
<meta name="twitter:description" content="A question? Write to me: info@felhom.eu">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image-en.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image-en.png?v=3">
<link rel="preload" as="font" type="font/woff2" crossorigin href="/assets/fonts/pjs-latin.woff2">
<link rel="preload" as="font" type="font/woff2" crossorigin href="/assets/fonts/pjs-latin-ext.woff2">
<!-- shared assets: bump ?v= together on any site.css/icons.svg change -->
+2 -2
View File
@@ -16,14 +16,14 @@
<meta property="og:url" content="https://felhom.eu/en/download">
<meta property="og:title" content="Download the Felhom installer">
<meta property="og:description" content="Download, checksum, and what to check before you install.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=3">
<meta property="og:locale" content="en_GB">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Download the Felhom installer">
<meta name="twitter:description" content="Download, checksum, and what to check before you install.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=3">
<link rel="preload" as="font" type="font/woff2" crossorigin href="/assets/fonts/pjs-latin.woff2">
<link rel="preload" as="font" type="font/woff2" crossorigin href="/assets/fonts/pjs-latin-ext.woff2">
<!-- shared assets: bump ?v= together on any site.css/icons.svg change -->
+2 -2
View File
@@ -18,14 +18,14 @@
<meta property="og:url" content="https://felhom.eu/en/faq">
<meta property="og:title" content="FAQ — home server service questions and answers">
<meta property="og:description" content="Hardware, installation, apps, security, costs — everything worth knowing.">
<meta property="og:image" content="https://felhom.eu/assets/og-image-en.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image-en.png?v=3">
<meta property="og:locale" content="en_GB">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="FAQ — home server questions and answers">
<meta name="twitter:description" content="Everything worth knowing about the home server service.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image-en.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image-en.png?v=3">
<script type="application/ld+json">
{
+2 -2
View File
@@ -22,7 +22,7 @@
<meta property="og:url" content="https://felhom.eu/en/">
<meta property="og:title" content="Felhom.eu — Your own cloud, your own rules">
<meta property="og:description" content="A home server in your own home in Hungary: photos, documents, media — with automatic backups and a recovery code only you know. A closed test is starting now.">
<meta property="og:image" content="https://felhom.eu/assets/og-image-en.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image-en.png?v=3">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Felhom.eu — Your own cloud, your own rules. Closed test starting.">
@@ -33,7 +33,7 @@
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Felhom.eu — Your own cloud, your own rules">
<meta name="twitter:description" content="A home server in your own home in Hungary: photos, documents, media — with automatic backups and a recovery code only you know.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image-en.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image-en.png?v=3">
<!-- Structured Data (JSON-LD) -->
<script type="application/ld+json">
+2 -2
View File
@@ -17,14 +17,14 @@
<meta property="og:url" content="https://felhom.eu/en/services">
<meta property="og:title" content="What a Felhom box does today">
<meta property="og:description" content="Not a plan and not a promise: these are features working today on a live Felhom box.">
<meta property="og:image" content="https://felhom.eu/assets/og-image-en.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image-en.png?v=3">
<meta property="og:locale" content="en_GB">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="What a Felhom box does today">
<meta name="twitter:description" content="Not a plan and not a promise: these are features working today on a live Felhom box.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image-en.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image-en.png?v=3">
<script type="application/ld+json">
{
+2 -2
View File
@@ -18,14 +18,14 @@
<meta property="og:url" content="https://felhom.eu/en/technology">
<meta property="og:title" content="Professional technology for a home server">
<meta property="og:description" content="Docker, a Dashboard in English or Hungarian, Proxmox — industry-grade tools at home.">
<meta property="og:image" content="https://felhom.eu/assets/og-image-en.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image-en.png?v=3">
<meta property="og:locale" content="en_GB">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Professional technology for a home server">
<meta name="twitter:description" content="Docker, a Dashboard in English or Hungarian, Proxmox — industry tools, at home.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image-en.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image-en.png?v=3">
<script type="application/ld+json">
{
+2 -2
View File
@@ -17,14 +17,14 @@
<meta property="og:url" content="https://felhom.eu/en/testing">
<meta property="og:title" content="Looking for testers — your own cloud at home, free during the test">
<meta property="og:description" content="Your photos and documents on your own machine, at home. I do the setup and pay for the domain for two years. Up to 5 households.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=3">
<meta property="og:locale" content="en_GB">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Looking for testers — your own cloud at home">
<meta name="twitter:description" content="No fee during the test. I do the setup and pay for the domain for two years.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=3">
<script type="application/ld+json">
{
+1 -1
View File
@@ -15,7 +15,7 @@
<meta property="og:url" content="https://felhom.eu/feltetelek">
<meta property="og:title" content="A zárt teszt feltételei — Felhom.eu">
<meta property="og:description" content="Mit kapsz a Felhom.eu ingyenes zárt tesztjében, mit nem ígérünk, és hogyan tudsz bármikor kiszállni.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=3">
<meta property="og:locale" content="hu_HU">
<meta property="og:site_name" content="Felhom.eu">
+2 -2
View File
@@ -18,14 +18,14 @@
<meta property="og:url" content="https://felhom.eu/gyik">
<meta property="og:title" content="GYIK — Otthoni szerver szolgáltatás kérdések és válaszok">
<meta property="og:description" content="Hardver, telepítés, alkalmazások, biztonság, költségek — minden, amit tudni érdemes.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=3">
<meta property="og:locale" content="hu_HU">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="GYIK — Otthoni szerver kérdések és válaszok">
<meta name="twitter:description" content="Minden, amit az otthoni szerver szolgáltatásról tudni érdemes.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=3">
<script type="application/ld+json">
{
+2 -2
View File
@@ -22,7 +22,7 @@
<meta property="og:url" content="https://felhom.eu/">
<meta property="og:title" content="Felhom.eu — Saját felhőd, saját szabályaid">
<meta property="og:description" content="Otthoni szerver a te otthonodban: fényképek, dokumentumok, médiatár — automatikus mentéssel, és egy helyreállítási kóddal, amit csak te ismersz. Most zárt teszt indul.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=3">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Felhom.eu — Saját felhőd, saját szabályaid. Zárt teszt indul.">
@@ -33,7 +33,7 @@
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Felhom.eu — Saját felhőd, saját szabályaid">
<meta name="twitter:description" content="Otthoni szerver a te otthonodban: fényképek, dokumentumok, médiatár — automatikus mentéssel, és egy helyreállítási kóddal, amit csak te ismersz.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=3">
<!-- Structured Data (JSON-LD) -->
<script type="application/ld+json">
+2 -2
View File
@@ -18,14 +18,14 @@
<meta property="og:url" content="https://felhom.eu/kapcsolat">
<meta property="og:title" content="Kapcsolat — Felhom.eu">
<meta property="og:description" content="Írj nekem és személyre szabott ajánlatot készítek otthoni szerveredhez.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=3">
<meta property="og:locale" content="hu_HU">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Kapcsolat — Felhom.eu">
<meta name="twitter:description" content="Kérdésed van? Írj nekem: info@felhom.eu">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=3">
<link rel="preload" as="font" type="font/woff2" crossorigin href="/assets/fonts/pjs-latin.woff2">
<link rel="preload" as="font" type="font/woff2" crossorigin href="/assets/fonts/pjs-latin-ext.woff2">
<!-- shared assets: bump ?v= together on any site.css/icons.svg change -->
+2 -2
View File
@@ -16,14 +16,14 @@
<meta property="og:url" content="https://felhom.eu/letoltes">
<meta property="og:title" content="A Felhom telepítő letöltése">
<meta property="og:description" content="Letöltés, ellenőrző összeg, és mire figyelj a telepítés előtt.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=3">
<meta property="og:locale" content="hu_HU">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="A Felhom telepítő letöltése">
<meta name="twitter:description" content="Letöltés, ellenőrző összeg, és mire figyelj a telepítés előtt.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=3">
<link rel="preload" as="font" type="font/woff2" crossorigin href="/assets/fonts/pjs-latin.woff2">
<link rel="preload" as="font" type="font/woff2" crossorigin href="/assets/fonts/pjs-latin-ext.woff2">
<!-- shared assets: bump ?v= together on any site.css/icons.svg change -->
+2 -2
View File
@@ -17,14 +17,14 @@
<meta property="og:url" content="https://felhom.eu/szolgaltatasok">
<meta property="og:title" content="Mit tud ma a Felhom doboz">
<meta property="og:description" content="Nem terv és nem ígéret: ezek ma működő funkciók egy éles Felhom dobozon.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=3">
<meta property="og:locale" content="hu_HU">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Mit tud ma a Felhom doboz">
<meta name="twitter:description" content="Nem terv és nem ígéret: ezek ma működő funkciók egy éles Felhom dobozon.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=3">
<script type="application/ld+json">
{
+2 -2
View File
@@ -18,14 +18,14 @@
<meta property="og:url" content="https://felhom.eu/technologiak">
<meta property="og:title" content="Professzionális technológiák otthoni szerverhez">
<meta property="og:description" content="Docker, magyar vagy angol nyelvű vezérlőpult, Proxmox — ipari szintű megoldások otthoni környezetben.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=3">
<meta property="og:locale" content="hu_HU">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Professzionális technológiák otthoni szerverhez">
<meta name="twitter:description" content="Docker, magyar vagy angol nyelvű vezérlőpult, Proxmox — ipari megoldások, otthoni környezetben.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=3">
<script type="application/ld+json">
{
+2 -2
View File
@@ -17,14 +17,14 @@
<meta property="og:url" content="https://felhom.eu/teszteles">
<meta property="og:title" content="Tesztelőket keresek — saját felhő otthon, a teszt alatt ingyen">
<meta property="og:description" content="A fotóid és a dokumentumaid a saját gépeden, nálad. A beállítást én végzem, a domaint két évre én fizetem. Legfeljebb 5 háztartás.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png?v=3">
<meta property="og:locale" content="hu_HU">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Tesztelőket keresek — saját felhő otthon">
<meta name="twitter:description" content="A teszt alatt nincs díj. A beállítást én végzem, a domaint két évre én fizetem.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=2">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png?v=3">
<script type="application/ld+json">
{