diff --git a/profile/README.md b/profile/README.md
index 5b0a353..8aaaf97 100644
--- a/profile/README.md
+++ b/profile/README.md
@@ -13,12 +13,12 @@ An ecosystem for building event-driven networked programs in C++ and running MQT
- **Install signed packages:** [Packages](https://github.com/SNodeC/Packages) · snode.c · mqttsuite
-
-
-
-
-
-
+
+
+
+
+
+
## Framework
diff --git a/profile/media/menu/applications-108.svg b/profile/media/menu/applications-108.svg
index 3d9326a..4401df2 100644
--- a/profile/media/menu/applications-108.svg
+++ b/profile/media/menu/applications-108.svg
@@ -1,5 +1,5 @@
-
+
Applications
-
- Applications
+
+ Applications
diff --git a/profile/media/menu/community-108.svg b/profile/media/menu/community-108.svg
index 0e81e8f..5948bd4 100644
--- a/profile/media/menu/community-108.svg
+++ b/profile/media/menu/community-108.svg
@@ -1,5 +1,5 @@
-
+
Community
-
- Community
+
+ Community
diff --git a/profile/media/menu/framework-108.svg b/profile/media/menu/framework-108.svg
index 63c5a31..9c4d20e 100644
--- a/profile/media/menu/framework-108.svg
+++ b/profile/media/menu/framework-108.svg
@@ -1,5 +1,5 @@
-
+
Framework
-
- Framework
+
+ Framework
diff --git a/profile/media/menu/infrastructure-108.svg b/profile/media/menu/infrastructure-108.svg
index bfe5e1a..8f63910 100644
--- a/profile/media/menu/infrastructure-108.svg
+++ b/profile/media/menu/infrastructure-108.svg
@@ -1,5 +1,5 @@
-
+
Infrastructure
-
- Infrastructure
+
+ Infrastructure
diff --git a/profile/media/menu/learn-108.svg b/profile/media/menu/learn-108.svg
index 3577b9a..3a3219a 100644
--- a/profile/media/menu/learn-108.svg
+++ b/profile/media/menu/learn-108.svg
@@ -1,5 +1,5 @@
-
+
Learn
-
- Learn
+
+ Learn
diff --git a/profile/media/menu/suites-108.svg b/profile/media/menu/suites-108.svg
index a9cd708..035850c 100644
--- a/profile/media/menu/suites-108.svg
+++ b/profile/media/menu/suites-108.svg
@@ -1,5 +1,5 @@
-
+
Suites
-
- Suites
+
+ Suites
diff --git a/tests/test_sync.py b/tests/test_sync.py
index a9d4e26..f4c476f 100644
--- a/tests/test_sync.py
+++ b/tests/test_sync.py
@@ -106,7 +106,7 @@ def test_area_order_and_navigation(self):
self.assertIn('alt="SNode.C mark"', self.profile)
import xml.etree.ElementTree as ET
menu = re.search(r"\n(.*?)\n
", self.profile, re.S).group(1)
- buttons = re.findall(r' ', menu)
+ buttons = re.findall(r' ', menu)
self.assertEqual(len(buttons), len(AREAS) - 1)
self.assertNotIn("", menu)
self.assertNotIn("[Framework](#framework)", self.profile)
@@ -118,14 +118,14 @@ def test_area_order_and_navigation(self):
self.assertEqual(alt, label)
self.assertEqual(asset, f"media/menu/{area}-108.svg")
svg = ET.parse(ROOT / "profile" / asset).getroot()
- self.assertEqual(svg.attrib["viewBox"], "0 0 108 24")
+ self.assertEqual(svg.attrib["viewBox"], "0 0 133 28")
self.assertEqual(svg.find("svg:title", ns).text, area.capitalize())
rect, text = svg.find("svg:rect", ns), svg.find("svg:text", ns)
self.assertEqual(text.text, area.capitalize())
self.assertEqual(rect.attrib["fill"], "#203440")
self.assertEqual(rect.attrib["stroke"], "#395260")
self.assertEqual(text.attrib["fill"], "#ffffff")
- self.assertEqual(text.attrib["font-size"], "13")
+ self.assertEqual(text.attrib["font-size"], "16")
self.assertEqual(text.attrib["font-weight"], "600")
self.assertGreaterEqual(contrast(text.attrib["fill"], rect.attrib["fill"]), 4.5)
self.assertNotRegex(self.profile, r"\b\d+ (?:projects|repositories)\b")
diff --git a/tools/snodec_sync/__main__.py b/tools/snodec_sync/__main__.py
index a739be1..8a4ce23 100644
--- a/tools/snodec_sync/__main__.py
+++ b/tools/snodec_sync/__main__.py
@@ -108,7 +108,7 @@ def render_profile(catalog, metadata):
f"- **Run MQTT infrastructure:** [MQTTSuite]({repo_url('mqttsuite', metadata.get('mqttsuite', {}).get('readme_anchor', ''))})",
f"- **Learn:** [Book companion]({repo_url('SNode.C-Book-Companion')}) and [examples](#learn)",
"- **Install signed packages:** " + " · ".join([f"[Packages]({repo_url('Packages')})", *(text(entry["name"]) for entry in catalog if entry.get("packaged") and entry["status"] == "active")]),
- "\n\n" + "\n".join(f' ' for area, title in AREAS.items() if area != "forks") + "\n
\n",
+ "\n\n" + "\n".join(f' ' for area, title in AREAS.items() if area != "forks") + "\n
\n",
]
def table(entries, forks=False):