Webová prezentace Archeologické mapy České republiky (AMČR). Projekt je vytvořen pomocí SvelteKit 2 a Svelte 5.
| Technologie | Verze | Popis |
|---|---|---|
| SvelteKit | 2.x | Full-stack framework |
| Svelte | 5.x | UI framework s runes API |
| Tailwind CSS | 4.x | Utility-first CSS |
| Paraglide | 2.x | i18n lokalizace |
| MDsveX | 0.12 | Markdown pro Svelte |
| Lucide | - | Ikony |
| TypeScript | 5.x | Typová kontrola |
| Vite | 7.x | Nástorj pro buildování |
- Node.js 18+ (doporučeno 20+)
- pnpm (doporučeno) nebo npm
# Klonování repozitáře
git clone https://github.com/ARUP-CAS/aiscr-amcr-home.git
cd aiscr-amcr-home
# Instalace závislostí
pnpm install
# Spuštění vývojového serveru
pnpm devAplikace poběží na http://localhost:5173
| Příkaz | Popis |
|---|---|
pnpm dev |
Spustí vývojový server |
pnpm dev --open |
Spustí server a otevře prohlížeč |
pnpm build |
Vytvoří produkční build |
pnpm preview |
Náhled produkčního buildu |
pnpm check |
Kontrola TypeScript typů |
pnpm lint |
Spustí ESLint a Prettier |
pnpm format |
Formátování kódu |
aiscr-amcr-home/
├── messages/ # Lokalizační soubory
│ ├── cs.json # Čeština
│ └── en.json # Angličtina
├── src/
│ ├── content/ # Markdown obsah
│ │ ├── news/ # Novinky (hlavní stránka)
│ │ └── blog/ # Blog články (AMČR-PAS)
│ ├── lib/
│ │ ├── components/ # Svelte komponenty
│ │ │ ├── amcr-pas/ # Komponenty pro AMČR-PAS
│ │ │ └── *.svelte # Sdílené komponenty
│ │ └── paraglide/ # Generované i18n soubory
│ └── routes/ # SvelteKit routes
│ ├── +page.svelte # Hlavní stránka
│ ├── amcr-pas/ # AMČR-PAS sekce
│ ├── aktuality/ # Detail novinek
│ ├── blog/ # Blog sekce
│ └── downloads/ # Ke stažení
├── static/ # Statické soubory
│ ├── images/ # Obrázky
│ └── files/ # Soubory ke stažení (PDF, ...)
├── svelte.config.js # Konfigurace SvelteKit
├── vite.config.ts # Konfigurace Vite
└── tailwind.config.js # Konfigurace Tailwind
Projekt používá Paraglide pro vícejazyčnou podporu (čeština, angličtina).
messages/cs.json– české textymessages/en.json– anglické texty
-
Přidej klíč do
messages/cs.json:{ "mojeKomponenta.nadpis": "Můj nadpis", "mojeKomponenta.popis": "Popis s {promenna}" } -
Přidej anglický překlad do
messages/en.json:{ "mojeKomponenta.nadpis": "My Title", "mojeKomponenta.popis": "Description with {promenna}" } -
Použij v komponentě:
<script> import { m } from '$lib/paraglide/messages.js'; </script> <h1>{m['mojeKomponenta.nadpis']()}</h1> <p>{m['mojeKomponenta.popis']({ promenna: 'hodnota' })}</p>
- Čeština:
/(výchozí) - Angličtina:
/en/
Vytvoř nový soubor v src/content/news/:
---
slug: nazev-novinky
title: Název novinky
excerpt: Krátký popis pro náhled (1-2 věty).
date: 2024-12-10
time: "10:00"
badge: Událost
published: true
locale: cs
image: /images/blog/placeholder.webp
---
# Obsah novinky
Text v markdown formátu...| Pole | Popis |
|---|---|
slug |
URL adresa (bez diakritiky, pomlčky místo mezer) |
title |
Název novinky |
excerpt |
Krátký popis pro náhled |
date |
Datum ve formátu YYYY-MM-DD |
time |
Čas publikace (volitelné) |
badge |
Štítek: "Událost", "Novinka", "Aktualizace" |
published |
true = zobrazit, false = skrýt |
locale |
cs pro češtinu, en pro angličtinu |
image |
Cesta k obrázku |
Stejná struktura jako novinky, ale soubor vytvoř v src/content/blog/.
- Vlož soubor do
static/files/, např.static/files/dokument.pdf - Soubor bude dostupný na URL:
/files/dokument.pdf - V komponentě odkazuj pomocí
{base}:<a href="{base}/files/dokument.pdf" download>Stáhnout</a>
- Vlož obrázek do
static/images/ - Pro optimalizaci použij WebP formát
- Doporučené rozměry:
- Hero obrázky: max 2400px šířka
- Blog náhledy: 800x450px
- Ikony/loga: SVG nebo PNG
pnpm buildVýstup je ve složce build/.
pnpm previewProjekt používá @sveltejs/adapter-static pro generování statických HTML souborů.
| URL | Popis |
|---|---|
/ |
Hlavní stránka AIS ČR |
/amcr-pas |
AMČR-PAS – Portál amatérských spolupracovníků |
/downloads |
Ke stažení |
/aktuality/[slug] |
Detail novinky |
/blog |
Blog AMČR-PAS |
/blog/[slug] |
Detail blog článku |
- Vytvoř fork repozitáře
- Vytvoř feature branch:
git checkout -b feature/nova-funkce - Commitni změny:
git commit -m 'Přidána nová funkce' - Pushni branch:
git push origin feature/nova-funkce - Vytvoř Pull Request
Viz LICENSE soubor.
- Web: https://www.aiscr.cz