From b49042a626f5f03407218dab3e3b0762b81f7c9f Mon Sep 17 00:00:00 2001 From: Jorijn van der Graaf Date: Wed, 5 Aug 2026 23:52:40 +0200 Subject: [PATCH] new logo --- favicon.svg | 28 +++-- images/catcrafts-logo.png | Bin 46626 -> 68599 bytes server/implementations/main.cpp | 6 + .../interfaces/Catcrafts.Shared-Content.cppm | 1 + shared/interfaces/Catcrafts.Shared-Model.cppm | 7 ++ shared/interfaces/Catcrafts.Shared-Money.cppm | 8 +- shared/interfaces/Catcrafts.Shared-Views.cppm | 109 +++++++++++++++--- tools/e2e.sh | 12 ++ 8 files changed, 143 insertions(+), 28 deletions(-) diff --git a/favicon.svg b/favicon.svg index 541d643..f96351c 100644 --- a/favicon.svg +++ b/favicon.svg @@ -5,6 +5,14 @@ prompts are left-aligned. Replaces the bare ">_" tile, which was honest about the terminal but silent about the name. + Head geometry is the "flare" revision: the first cut had a flat crown + between wide ear tufts and a square jaw, which read horned-owl. Now the + ears stand tall over a domed skull, the cheeks taper to a rounded chin + (owl faces stay wide all the way down), and the whiskers spring OUTWARD + from the cheek line into the corners the taper frees up — outside the + face so they never crowd the prompt. Whiskers are drawn at 3.5 against + the face's 5 so they read as hair, not bone. + Drawn as paths, not . A text favicon depends on a font being available at 16px in whatever context the browser rasterises it — including contexts with no font stack at all — and falls back to a blank tile when it is not. @@ -15,17 +23,23 @@ the tab icon drift apart. --> - - + - - + + + - - + - diff --git a/images/catcrafts-logo.png b/images/catcrafts-logo.png index 9d71f1212905f1d58812058691dea9f168e8c21d..e7f3b0b3be29bbbf5a75a3647417757655896429 100644 GIT binary patch literal 68599 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%0A3^Q<}k(^iQZiQ5&&V77T+YfZou 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 V-pOkF8On+v4HfOX#kZ}W{U1jVTyX#Z literal 46626 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 z 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 z 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 && ld->Str("@type") == "Product" && offersOk, "schema: product JSON-LD parses, one offer per variant"); + // Merchant-grade fields: shipping, returns, brand, sku — what + // Merchant Center's website-crawl feed reads at launch. + Check(pp.meta.jsonLd.find("OfferShippingDetails") != std::string::npos + && pp.meta.jsonLd.find("MerchantReturnPolicy") != std::string::npos + && pp.meta.jsonLd.find("\"sku\"") != std::string::npos, + "schema: offers carry shipping, returns and sku"); } } Check(!Content::Projects().empty(), "content: projects present"); diff --git a/shared/interfaces/Catcrafts.Shared-Content.cppm b/shared/interfaces/Catcrafts.Shared-Content.cppm index 1f05271..3783262 100644 --- a/shared/interfaces/Catcrafts.Shared-Content.cppm +++ b/shared/interfaces/Catcrafts.Shared-Content.cppm @@ -41,6 +41,7 @@ export const std::vector& Products() { Product p; p.slug = "fp6-pmos"; p.name = "Fairphone 6 with postmarketOS"; + p.brand = "Fairphone"; p.tagline = "A repairable Android phone, reflashed to run mainline Linux with a working IMS/VoLTE stack."; // Launch day is this one line: "coming-soon" -> "available". The page // shows launch prices either way; only the order form is held back. diff --git a/shared/interfaces/Catcrafts.Shared-Model.cppm b/shared/interfaces/Catcrafts.Shared-Model.cppm index 32b031a..0adb8a7 100644 --- a/shared/interfaces/Catcrafts.Shared-Model.cppm +++ b/shared/interfaces/Catcrafts.Shared-Model.cppm @@ -136,6 +136,13 @@ export struct Product { std::string slug; std::string name; std::string tagline; + // The hardware manufacturer, for the Product schema's brand field. + // Deliberately NOT accompanied by a GTIN: the device is materially + // modified (different OS), and Google's product-data rules say a + // customized product must not carry the original manufacturer's GTIN — + // which also matches the legal framing that this is a Fairphone with + // different software, not a Catcrafts-manufactured phone. Empty = omit. + std::string brand; // "available" — buyable now. "coming-soon" — listed with launch prices, // orders not open yet. "unavailable" — listed but not sellable (sourcing // gap, price swing). In both closed states the page stays up, the buy diff --git a/shared/interfaces/Catcrafts.Shared-Money.cppm b/shared/interfaces/Catcrafts.Shared-Money.cppm index aef5581..b2e1efb 100644 --- a/shared/interfaces/Catcrafts.Shared-Money.cppm +++ b/shared/interfaces/Catcrafts.Shared-Money.cppm @@ -69,13 +69,17 @@ export std::string FormatEuro(std::int64_t minor) { // Note NIR/GB: the UK left; Northern Ireland's special goods status is not // modelled — GB is simply non-EU here, which is the correct default for a // consumer parcel. -export bool IsEuCountry(std::string_view cc) { +export std::span EuCountries() { static constexpr std::array eu{ "AT", "BE", "BG", "HR", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GR", "HU", "IE", "IT", "LT", "LU", "LV", "MT", "NL", "PL", "PT", "RO", "SE", "SI", "SK", }; - return std::ranges::find(eu, cc) != eu.end(); + return eu; +} + +export bool IsEuCountry(std::string_view cc) { + return std::ranges::find(EuCountries(), cc) != EuCountries().end(); } // Shipping zones. Three tiers is deliberate — real carrier pricing has more diff --git a/shared/interfaces/Catcrafts.Shared-Views.cppm b/shared/interfaces/Catcrafts.Shared-Views.cppm index 69f0e51..5dc6270 100644 --- a/shared/interfaces/Catcrafts.Shared-Views.cppm +++ b/shared/interfaces/Catcrafts.Shared-Views.cppm @@ -86,12 +86,13 @@ export SafeHtml RenderNav(RouteKind current) { R"()" @@ -223,10 +224,14 @@ export RenderedPage RenderHome(std::span projects, RenderedPage page; page.meta.title = "Catcrafts — open-source software and hardware"; + // Deliberately the hero text, word for word: the mission sentence is the + // site's best self-description, and the search snippet, the og: link + // card and the page itself should all say the same thing. If the hero + // below changes, change this with it. page.meta.description = - "Catcrafts makes accessible, open-source software and hardware: an " - "alternative to big tech. A C++ engine, build system and networking " - "stack from scratch, and Linux with IMS/VoLTE on the Fairphone 6."; + "Catcrafts makes accessible, open-source software and hardware for " + "the benefit of everyone. The goal: a real alternative to big tech " + "that anyone can use, not just Linux nerds."; page.meta.canonical = "/"; // The identity record: name, registered VAT identity and the Forgejo // profile separate this Catcrafts from the name-twins by type and by @@ -694,35 +699,101 @@ export RenderedPage RenderProduct(const Product& product, // integers the checkout charges — this markup can never advertise a // number the shop doesn't honour. Availability tracks the status field, // so launch day flips PreOrder to InStock with no edit here. + // + // Merchant-grade: each offer also carries shippingDetails and a return + // policy, which is what Google Merchant Center's website-crawl feed needs + // to list the product without a CSV in sight. Shipping uses the STATIC + // zone rates on purpose: the checkout charges live carrier rates, which + // run at or below the zone fallbacks — a listing may overstate shipping, + // never understate it. { const std::string productUrl = "https://catcrafts.net/shop/" + product.slug; std::string_view availability = product.Buyable() ? "https://schema.org/InStock" : product.ComingSoon() ? "https://schema.org/PreOrder" : "https://schema.org/OutOfStock"; + + // "NL", then the other 26 EU members, as JSON string lists. + std::string euList; + for (std::string_view cc : Money::EuCountries()) { + if (cc == "NL") continue; + if (!euList.empty()) euList += ','; + euList += JsonStr(cc); + } + // The world tier can't say "everywhere else" in schema.org, so it + // names the non-EU destinations the shop actually sees demand from. + static constexpr std::string_view kWorldSample[] = { + "US", "CA", "GB", "CH", "NO", "AU", "NZ", "JP", + }; + std::string worldList; + for (std::string_view cc : kWorldSample) { + if (!worldList.empty()) worldList += ','; + worldList += JsonStr(cc); + } + auto shipTier = [](std::string_view rate, const std::string& dests, + int transitMin, int transitMax) { + return std::format( + R"({{"@type":"OfferShippingDetails",)" + R"("shippingRate":{{"@type":"MonetaryAmount","value":{},"currency":"EUR"}},)" + R"("shippingDestination":{{"@type":"DefinedRegion","addressCountry":[{}]}},)" + R"("deliveryTime":{{"@type":"ShippingDeliveryTime",)" + R"("handlingTime":{{"@type":"QuantitativeValue","minValue":1,"maxValue":7,"unitCode":"DAY"}},)" + R"("transitTime":{{"@type":"QuantitativeValue","minValue":{},"maxValue":{},"unitCode":"DAY"}}}}}})", + JsonStr(rate), dests, transitMin, transitMax); + }; + const std::string shippingDetails = "[" + + shipTier(Money::FormatMinor(product.shipNlMinor), JsonStr("NL"), 1, 2) + "," + + shipTier(Money::FormatMinor(product.shipEuMinor), euList, 2, 5) + "," + + shipTier(Money::FormatMinor(product.shipWorldMinor), worldList, 5, 14) + "]"; + + // Returns, matching the terms page: EU consumers get the statutory + // 14-day withdrawal (return shipping theirs); outside the EU sales + // are final except defects, which are warranty, not returns. + std::string euAll; + for (std::string_view cc : Money::EuCountries()) { + if (!euAll.empty()) euAll += ','; + euAll += JsonStr(cc); + } + const std::string returnPolicy = std::format( + R"([{{"@type":"MerchantReturnPolicy","applicableCountry":[{}],)" + R"("returnPolicyCategory":"https://schema.org/MerchantReturnFiniteReturnWindow",)" + R"("merchantReturnDays":14,"returnMethod":"https://schema.org/ReturnByMail",)" + R"("returnFees":"https://schema.org/ReturnFeesCustomerResponsibility"}},)" + R"({{"@type":"MerchantReturnPolicy","applicableCountry":[{}],)" + R"("returnPolicyCategory":"https://schema.org/MerchantReturnNotPermitted"}}])", + euAll, worldList); + + const std::string offerTail = std::format( + R"("availability":"{}","itemCondition":"https://schema.org/NewCondition",)" + R"("url":{},"seller":{{"@type":"Organization","name":"Catcrafts"}},)" + R"("shippingDetails":{},"hasMerchantReturnPolicy":{}}})", + availability, JsonStr(productUrl), shippingDetails, returnPolicy); + std::string offers; for (const Variant& v : product.variants) { if (!offers.empty()) offers += ','; offers += std::format( - R"({{"@type":"Offer","name":{},"price":{},"priceCurrency":"EUR",)" - R"("availability":"{}","itemCondition":"https://schema.org/NewCondition",)" - R"("url":{},"seller":{{"@type":"Organization","name":"Catcrafts"}}}})", - JsonStr(v.label), JsonStr(Money::FormatMinor(v.priceInclMinor)), - availability, JsonStr(productUrl)); + R"({{"@type":"Offer","name":{},"sku":{},"price":{},"priceCurrency":"EUR",)", + JsonStr(v.label), JsonStr(product.slug + "-" + v.slug), + JsonStr(Money::FormatMinor(v.priceInclMinor))); + offers += offerTail; } // A variantless product still gets its one offer from the base price. if (offers.empty() && product.priceInclMinor > 0) { offers += std::format( - R"({{"@type":"Offer","price":{},"priceCurrency":"EUR",)" - R"("availability":"{}","itemCondition":"https://schema.org/NewCondition",)" - R"("url":{},"seller":{{"@type":"Organization","name":"Catcrafts"}}}})", - JsonStr(Money::FormatMinor(product.priceInclMinor)), - availability, JsonStr(productUrl)); + R"({{"@type":"Offer","sku":{},"price":{},"priceCurrency":"EUR",)", + JsonStr(product.slug), + JsonStr(Money::FormatMinor(product.priceInclMinor))); + offers += offerTail; } + const std::string brand = product.brand.empty() + ? std::string{} + : std::format(R"("brand":{{"@type":"Brand","name":{}}},)", + JsonStr(product.brand)); page.meta.jsonLd = std::format( R"({{"@context":"https://schema.org","@type":"Product",)" - R"("name":{},"description":{},"image":{},"url":{},"offers":[{}]}})", - JsonStr(product.name), JsonStr(product.tagline), + R"("name":{},{}"description":{},"image":{},"url":{},"offers":[{}]}})", + JsonStr(product.name), brand, JsonStr(product.tagline), JsonStr(product.image.empty() ? std::string{} : "https://catcrafts.net" + product.image), diff --git a/tools/e2e.sh b/tools/e2e.sh index 92dcea3..29ea754 100755 --- a/tools/e2e.sh +++ b/tools/e2e.sh @@ -212,6 +212,18 @@ else bad "Product schema" "missing, unparseable, or wrong offer count" fi body_has /shop/fp6-pmos '"price":"563.30"' "schema price is the checkout integer" +# Merchant-grade offer fields: what Merchant Center's website-crawl feed +# reads. Shipping uses the static zone rates (listing may overstate, never +# understate what checkout charges); returns mirror the terms page. +body_has /shop/fp6-pmos 'OfferShippingDetails' "offers carry shipping details" +body_has /shop/fp6-pmos 'MerchantReturnPolicy' "offers carry a return policy" +body_has /shop/fp6-pmos '"sku":"fp6-pmos-green"' "offers carry per-variant skus" +body_has /shop/fp6-pmos '"brand":{"@type":"Brand","name":"Fairphone"}' "product carries the hardware brand" +if extract_ld /shop/fp6-pmos | jq -e '.offers[0].shippingDetails | length == 3' >/dev/null 2>&1; then + ok "shipping details cover all three zones" +else + bad "shipping zones" "expected NL + EU + world tiers in the first offer" +fi if [ "$SHOP_OPEN" = 1 ]; then body_has /shop/fp6-pmos 'schema.org/InStock' "open shop maps to InStock availability" else