Skip to content

Commit dc90f7a

Browse files
committed
Stage the remaining marketing landing pages
Eight more pages, each one file referencing the root chrome and logo rather than carrying a duplicate. The staging script refuses a repo whose vendored assets differ from this repo's copies, or whose .site holds anything beyond the page and those assets, so nothing is silently dropped. These have no effect yet: each repo's own Pages site still owns its /<repo>/ path and keeps serving. They take over only when that project site is retired, so the paths are covered before the switchover rather than after. lvgl-python is deliberately absent. Its .site also publishes wheels/, which the guard caught -- see the plan.
1 parent f930611 commit dc90f7a

8 files changed

Lines changed: 800 additions & 0 deletions

File tree

lvgl-bindings/index.html

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<!-- PYDEVICES-HEAD-TAGS: START -->
5+
<title>PyDevices - lvgl-bindings</title>
6+
<meta name="description" content="Automated binding generator parsing LVGL C headers into native CPython extensions, MicroPython usermods, and CircuitPython modules.">
7+
<link rel="icon" type="image/svg+xml" href="/img/logo.svg">
8+
<!-- PYDEVICES-HEAD-TAGS: END -->
9+
<meta charset="utf-8">
10+
<script>try{if(localStorage.getItem('pydevices-theme')==='light'){document.documentElement.setAttribute('data-theme','light');}}catch(e){}</script>
11+
<meta name="viewport" content="width=device-width, initial-scale=1">
12+
13+
14+
<link rel="icon" type="image/svg+xml" href="/img/logo.svg">
15+
<link rel="preconnect" href="https://fonts.googleapis.com">
16+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
17+
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&display=swap">
18+
<link rel="stylesheet" href="/vendor/pydevices-chrome/site.css">
19+
</head>
20+
<body>
21+
<!-- PYDEVICES-ABOVE-THE-FOLD: START -->
22+
<div id="pydevices-site-header"></div>
23+
24+
<!-- Hero Banner -->
25+
<section class="hero wrap">
26+
<div class="hero-lead">
27+
<div class="hero-brand">
28+
<div class="logo-badge product-mark" style="background: linear-gradient(135deg, var(--tier-3-blue), #2563eb);"><img src="/img/logo.svg" alt="lvgl-bindings" width="112" height="112"></div>
29+
<span class="eyebrow" style="color: var(--tier-3-blue);">lvgl-bindings</span>
30+
</div>
31+
<h1>lvgl-bindings — Automated C header parser & binding generator.</h1>
32+
</div>
33+
<p><code>lvgl-bindings</code> Automated binding generator parsing LVGL C headers into native CPython extensions, MicroPython usermods, and CircuitPython modules.</p>
34+
<div class="cta">
35+
<a class="btn primary" style="background: #24292e; color: #fff; border-color: #24292e;" href="https://github.com/PyDevices/lvgl-bindings">
36+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.9a3.4 3.4 0 0 0-1-2.6c3-.3 6-1.5 6-6.5a5 5 0 0 0-1.4-3.5 4.6 4.6 0 0 0-.1-3.5s-1.1-.3-3.5 1.3a12 12 0 0 0-6 0C6.6 1.7 5.5 2 5.5 2a4.6 4.6 0 0 0-.1 3.5A5 5 0 0 0 4 9c0 5 3 6.2 6 6.5a3.4 3.4 0 0 0-1 2.6V22"/></svg>
37+
GitHub Repo
38+
</a>
39+
<a class="btn" style="border-color: var(--tier-3-blue); color: var(--tier-3-blue);" href="https://pydevices.github.io/lvgl-micropython/">MicroPython Module</a>
40+
<a class="btn" style="border-color: var(--tier-3-blue); color: var(--tier-3-blue);" href="https://pydevices.github.io/lvgl-python/">CPython Wheel</a>
41+
<a class="btn" style="border-color: var(--tier-3-blue); color: var(--tier-3-blue);" href="https://pydevices.github.io/lvgl-circuitpython/">CircuitPython Module</a>
42+
</div>
43+
</section>
44+
<!-- PYDEVICES-ABOVE-THE-FOLD: END -->
45+
<div id="pydevices-site-header"></div>
46+
47+
48+
49+
<main class="wrap" style="padding-bottom: 60px;">
50+
<!-- Generator Pipeline Flowchart Component -->
51+
<div class="section-head">
52+
<h2>Single Pipeline, Three Target Runtimes</h2>
53+
<span class="hint">Automated C header parser ensuring 100% API parity.</span>
54+
</div>
55+
56+
<div class="workbench-panel">
57+
<div class="workbench-bar">
58+
<span class="workbench-dot blue" style="background:var(--tier-3-blue)"></span>
59+
<span>Generator Pipeline Architecture — single source of truth</span>
60+
</div>
61+
<div class="workbench-body">
62+
<div class="workbench-pane">
63+
<h4>📥 Input Source</h4>
64+
<pre><code>LVGL C Headers (lvgl.h, lv_conf.h)
65+
66+
67+
[ gen_mpy.py C-Header Parser ]</code></pre>
68+
</div>
69+
70+
<div class="workbench-pane">
71+
<h4>📤 Output Binding Trees</h4>
72+
<pre><code>├── generated/lvgl_micropython.c
73+
├── generated/lvgl_circuitpython.{c,h}
74+
└── generated/lvgl_python.c (CPython/Pyodide)</code></pre>
75+
</div>
76+
</div>
77+
</div>
78+
79+
<!-- Target Repos Grid -->
80+
<div class="section-head" style="margin-top: 36px;">
81+
<h2>Downstream Binding Consumers</h2>
82+
</div>
83+
84+
<div class="spec-block">
85+
<div class="spec-grid">
86+
<div class="spec-item tier-3">
87+
<h4><a href="https://pydevices.github.io/lvgl-micropython/">lvgl-micropython</a></h4>
88+
<p>Consumes <code>generated/lvgl_micropython.c</code> for MicroPython MCU firmware builds.</p>
89+
</div>
90+
91+
<div class="spec-item tier-3">
92+
<h4><a href="https://pydevices.github.io/lvgl-circuitpython/">lvgl-circuitpython</a></h4>
93+
<p>Consumes <code>generated/lvgl_circuitpython.{c,h}</code> for CircuitPython out-of-tree native extensions.</p>
94+
</div>
95+
96+
<div class="spec-item tier-3">
97+
<h4><a href="https://pydevices.github.io/lvgl-python/">lvgl-python</a></h4>
98+
<p>Consumes <code>generated/lvgl_python.c</code> for CPython binary wheels and Pyodide WebAssembly packages.</p>
99+
</div>
100+
</div>
101+
</div>
102+
</main>
103+
104+
<div id="pydevices-site-footer"></div>
105+
<script src="/vendor/pydevices-chrome/site-chrome.js"></script>
106+
<script src="/vendor/pydevices-chrome/theme-toggle.js"></script>
107+
<script src="/vendor/pydevices-chrome/tree-nav.js"></script>
108+
</body>
109+
</html>

lvgl-circuitpython/index.html

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<!-- PYDEVICES-HEAD-TAGS: START -->
5+
<title>PyDevices - lvgl-circuitpython</title>
6+
<meta name="description" content="CircuitPython native C module providing LVGL v9 bindings and displayif integration for Adafruit Feather and SAMD51 / RP2040 boards.">
7+
<link rel="icon" type="image/svg+xml" href="/img/logo.svg">
8+
<!-- PYDEVICES-HEAD-TAGS: END -->
9+
<meta charset="utf-8">
10+
<script>try{if(localStorage.getItem('pydevices-theme')==='light'){document.documentElement.setAttribute('data-theme','light');}}catch(e){}</script>
11+
<meta name="viewport" content="width=device-width, initial-scale=1">
12+
13+
14+
<link rel="icon" type="image/svg+xml" href="/img/logo.svg">
15+
<link rel="preconnect" href="https://fonts.googleapis.com">
16+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
17+
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&display=swap">
18+
<link rel="stylesheet" href="/vendor/pydevices-chrome/site.css">
19+
</head>
20+
<body>
21+
<!-- PYDEVICES-ABOVE-THE-FOLD: START -->
22+
<div id="pydevices-site-header"></div>
23+
24+
<!-- Hero Banner -->
25+
<section class="hero wrap">
26+
<div class="hero-lead">
27+
<div class="hero-brand">
28+
<div class="logo-badge product-mark" style="background: linear-gradient(135deg, var(--tier-3-blue), #2563eb);"><img src="/img/logo.svg" alt="lvgl-circuitpython" width="112" height="112"></div>
29+
<span class="eyebrow" style="color: var(--tier-3-blue);">lvgl-circuitpython</span>
30+
</div>
31+
<h1>lvgl-circuitpython — CircuitPython native LVGL C module.</h1>
32+
</div>
33+
<p><code>lvgl-circuitpython</code> CircuitPython native C module providing LVGL v9 bindings and displayif integration for Adafruit Feather and SAMD51 / RP2040 boards.</p>
34+
<div class="cta">
35+
<a class="btn primary" style="background: #24292e; color: #fff; border-color: #24292e;" href="https://github.com/PyDevices/lvgl-circuitpython">
36+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.9a3.4 3.4 0 0 0-1-2.6c3-.3 6-1.5 6-6.5a5 5 0 0 0-1.4-3.5 4.6 4.6 0 0 0-.1-3.5s-1.1-.3-3.5 1.3a12 12 0 0 0-6 0C6.6 1.7 5.5 2 5.5 2a4.6 4.6 0 0 0-.1 3.5A5 5 0 0 0 4 9c0 5 3 6.2 6 6.5a3.4 3.4 0 0 0-1 2.6V22"/></svg>
37+
GitHub Repo
38+
</a>
39+
<a class="btn" style="border-color: var(--tier-3-blue); color: var(--tier-3-blue);" href="https://pydevices.github.io/cmods/">cmods Workspace</a>
40+
<a class="btn" style="border-color: var(--tier-3-blue); color: var(--tier-3-blue);" href="https://pydevices.github.io/lvgl-bindings/">lvgl-bindings</a>
41+
<a class="btn" style="border-color: var(--tier-3-blue); color: var(--tier-3-blue);" href="https://pydevices.github.io/pydevices/">pydevices Core</a>
42+
</div>
43+
</section>
44+
<!-- PYDEVICES-ABOVE-THE-FOLD: END -->
45+
<div id="pydevices-site-header"></div>
46+
47+
48+
49+
<main class="wrap" style="padding-bottom: 60px;">
50+
<div class="section-head">
51+
<h2>Build Firmware Instructions</h2>
52+
</div>
53+
54+
<div class="spec-block">
55+
<pre><code># Apply LVGL patches to CircuitPython tree:
56+
cd circuitpython
57+
../lvgl-circuitpython/scripts/patch-circuitpython.sh
58+
59+
# Build CircuitPython with LVGL bindings:
60+
make BOARD=adafruit_feather_rp2040 USER_C_MODULES=../lvgl-circuitpython/circuitpython.mk</code></pre>
61+
</div>
62+
</main>
63+
64+
<div id="pydevices-site-footer"></div>
65+
<script src="/vendor/pydevices-chrome/site-chrome.js"></script>
66+
<script src="/vendor/pydevices-chrome/theme-toggle.js"></script>
67+
<script src="/vendor/pydevices-chrome/tree-nav.js"></script>
68+
</body>
69+
</html>

lvgl-micropython/index.html

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<!-- PYDEVICES-HEAD-TAGS: START -->
5+
<title>PyDevices - lvgl-micropython</title>
6+
<meta name="description" content="Native MicroPython C module integrating LVGL v9 graphics engine with displayif bus drivers across ESP32, RP2040, and i.MX RT targets.">
7+
<link rel="icon" type="image/svg+xml" href="/img/logo.svg">
8+
<!-- PYDEVICES-HEAD-TAGS: END -->
9+
<meta charset="utf-8">
10+
<script>try{if(localStorage.getItem('pydevices-theme')==='light'){document.documentElement.setAttribute('data-theme','light');}}catch(e){}</script>
11+
<meta name="viewport" content="width=device-width, initial-scale=1">
12+
13+
14+
<link rel="icon" type="image/svg+xml" href="/img/logo.svg">
15+
<link rel="preconnect" href="https://fonts.googleapis.com">
16+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
17+
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&display=swap">
18+
<link rel="stylesheet" href="/vendor/pydevices-chrome/site.css">
19+
</head>
20+
<body>
21+
<!-- PYDEVICES-ABOVE-THE-FOLD: START -->
22+
<div id="pydevices-site-header"></div>
23+
24+
<!-- Hero Banner -->
25+
<section class="hero wrap">
26+
<div class="hero-lead">
27+
<div class="hero-brand">
28+
<div class="logo-badge product-mark" style="background: linear-gradient(135deg, var(--tier-3-blue), #2563eb);"><img src="/img/logo.svg" alt="lvgl-micropython" width="112" height="112"></div>
29+
<span class="eyebrow" style="color: var(--tier-3-blue);">lvgl-micropython</span>
30+
</div>
31+
<h1>lvgl-micropython — MicroPython C usermod for LVGL v9.</h1>
32+
</div>
33+
<p><code>lvgl-micropython</code> Native MicroPython C module integrating LVGL v9 graphics engine with displayif bus drivers across ESP32, RP2040, and i.MX RT targets.</p>
34+
<div class="cta">
35+
<a class="btn primary" style="background: #24292e; color: #fff; border-color: #24292e;" href="https://github.com/PyDevices/lvgl-micropython">
36+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.9a3.4 3.4 0 0 0-1-2.6c3-.3 6-1.5 6-6.5a5 5 0 0 0-1.4-3.5 4.6 4.6 0 0 0-.1-3.5s-1.1-.3-3.5 1.3a12 12 0 0 0-6 0C6.6 1.7 5.5 2 5.5 2a4.6 4.6 0 0 0-.1 3.5A5 5 0 0 0 4 9c0 5 3 6.2 6 6.5a3.4 3.4 0 0 0-1 2.6V22"/></svg>
37+
GitHub Repo
38+
</a>
39+
<a class="btn" style="border-color: var(--tier-3-blue); color: var(--tier-3-blue);" href="https://pydevices.github.io/cmods/">cmods Workspace</a>
40+
<a class="btn" style="border-color: var(--tier-3-blue); color: var(--tier-3-blue);" href="https://pydevices.github.io/lvgl-bindings/">lvgl-bindings</a>
41+
<a class="btn" style="border-color: var(--tier-3-blue); color: var(--tier-3-blue);" href="https://pydevices.github.io/pydevices/">pydevices Core</a>
42+
</div>
43+
</section>
44+
<!-- PYDEVICES-ABOVE-THE-FOLD: END -->
45+
<div id="pydevices-site-header"></div>
46+
47+
48+
49+
<main class="wrap" style="padding-bottom: 60px;">
50+
<div class="section-head">
51+
<h2>Build Firmware Instructions</h2>
52+
<span class="hint">Compile as a MicroPython User C Module</span>
53+
</div>
54+
55+
<div class="spec-block">
56+
<pre><code># Clone lvgl-micropython:
57+
git clone https://github.com/PyDevices/lvgl-micropython.git
58+
59+
# Build MicroPython firmware with LVGL enabled:
60+
cd micropython/ports/esp32
61+
make USER_C_MODULES=../../../../lvgl-micropython/micropython.cmake BOARD=ESP32_GENERIC_S3</code></pre>
62+
</div>
63+
</main>
64+
65+
<div id="pydevices-site-footer"></div>
66+
<script src="/vendor/pydevices-chrome/site-chrome.js"></script>
67+
<script src="/vendor/pydevices-chrome/theme-toggle.js"></script>
68+
<script src="/vendor/pydevices-chrome/tree-nav.js"></script>
69+
</body>
70+
</html>

0 commit comments

Comments
 (0)