Skip to content

Commit 64549b2

Browse files
committed
add web gui landing and pages deploy
1 parent 2dd067f commit 64549b2

3 files changed

Lines changed: 163 additions & 0 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Deploy web GUI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- "web-gui/public/**"
9+
- ".github/workflows/web-gui-pages.yml"
10+
workflow_dispatch:
11+
12+
permissions:
13+
contents: read
14+
pages: write
15+
id-token: write
16+
17+
concurrency:
18+
group: "pages"
19+
cancel-in-progress: true
20+
21+
jobs:
22+
deploy:
23+
runs-on: ubuntu-latest
24+
environment:
25+
name: github-pages
26+
url: ${{ steps.deployment.outputs.page_url }}
27+
steps:
28+
- uses: actions/checkout@v4
29+
- uses: actions/configure-pages@v5
30+
- uses: actions/upload-pages-artifact@v3
31+
with:
32+
path: "web-gui/public"
33+
- id: deployment
34+
uses: actions/deploy-pages@v4

LOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
## 2026-01-10
44

5+
### Web GUI landing + Pages deploy
6+
- **Web GUI**: Added static landing page in `web-gui/public`
7+
- **CI**: Added GitHub Pages workflow for auto deploy on HTML changes
8+
9+
## 2026-01-10
10+
511
### Version 0.4.7 - Portal search parser override
612
- **Config**: Added per-portal search parser config
713
- **Tool**: Added query parser override for package search and relevance

web-gui/public/index.html

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
<!doctype html>
2+
<html lang="it">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1" />
6+
<title>CKAN Open Data Explorer</title>
7+
<style>
8+
:root {
9+
color-scheme: light;
10+
--bg: #f7f7f9;
11+
--card: #ffffff;
12+
--text: #1f2937;
13+
--muted: #6b7280;
14+
--accent: #2563eb;
15+
}
16+
* {
17+
box-sizing: border-box;
18+
margin: 0;
19+
padding: 0;
20+
}
21+
body {
22+
font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
23+
background: var(--bg);
24+
color: var(--text);
25+
line-height: 1.6;
26+
}
27+
main {
28+
max-width: 980px;
29+
margin: 0 auto;
30+
padding: 48px 20px 80px;
31+
}
32+
header {
33+
text-align: center;
34+
margin-bottom: 48px;
35+
}
36+
h1 {
37+
font-size: clamp(2.2rem, 5vw, 3.1rem);
38+
margin-bottom: 12px;
39+
}
40+
p.lead {
41+
font-size: 1.1rem;
42+
color: var(--muted);
43+
}
44+
.grid {
45+
display: grid;
46+
gap: 20px;
47+
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
48+
margin-top: 32px;
49+
}
50+
.card {
51+
background: var(--card);
52+
border-radius: 14px;
53+
padding: 24px;
54+
box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
55+
}
56+
.card h2 {
57+
font-size: 1.15rem;
58+
margin-bottom: 8px;
59+
}
60+
.card p {
61+
color: var(--muted);
62+
}
63+
.cta {
64+
margin-top: 48px;
65+
display: flex;
66+
flex-direction: column;
67+
gap: 16px;
68+
align-items: center;
69+
text-align: center;
70+
}
71+
.cta a {
72+
display: inline-block;
73+
padding: 12px 22px;
74+
border-radius: 999px;
75+
background: var(--accent);
76+
color: white;
77+
text-decoration: none;
78+
font-weight: 600;
79+
}
80+
.meta {
81+
margin-top: 32px;
82+
font-size: 0.95rem;
83+
color: var(--muted);
84+
}
85+
</style>
86+
</head>
87+
<body>
88+
<main>
89+
<header>
90+
<h1>CKAN Open Data Explorer</h1>
91+
<p class="lead">
92+
Interfaccia conversazionale per esplorare portali CKAN con linguaggio naturale e tool MCP.
93+
</p>
94+
</header>
95+
96+
<section class="grid">
97+
<article class="card">
98+
<h2>Ricerca semplice</h2>
99+
<p>Trova dataset e risorse senza conoscere le API CKAN o la sintassi dei portali.</p>
100+
</article>
101+
<article class="card">
102+
<h2>Esperienza guidata</h2>
103+
<p>Chat fluida con suggerimenti, rendering markdown e feedback sugli errori.</p>
104+
</article>
105+
<article class="card">
106+
<h2>Tool MCP</h2>
107+
<p>Il frontend orchestration chiama il server MCP per ottenere dati aggiornati.</p>
108+
</article>
109+
<article class="card">
110+
<h2>Configurabile</h2>
111+
<p>Endpoint MCP e chiave Gemini impostabili dall’utente per ogni ambiente.</p>
112+
</article>
113+
</section>
114+
115+
<section class="cta">
116+
<a href="https://ckan-mcp-server.andy-pr.workers.dev/mcp" target="_blank" rel="noreferrer">
117+
Endpoint MCP di riferimento
118+
</a>
119+
<p class="meta">Pagina statica di presentazione per il futuro web GUI.</p>
120+
</section>
121+
</main>
122+
</body>
123+
</html>

0 commit comments

Comments
 (0)