Osobní web a online CV postavený na míru v ASP.NET Core (.NET 10) jako náhrada za dosavadní Joomlu – s kompletně převzatým obsahem, novým designem, vlastní administrací na míru a rozhraním pro správu obsahu i přes AI (MCP).
Původní web běžel od roku 2013 na Joomle 3. Když ho v říjnu 2026 ohrozila chyba PHP a ukázalo se, že přechod na novou verzi Joomly by byl skoro složitější než postavit web nový, padlo rozhodnutí: nový web na míru v .NET, bez kompromisů v soukromí návštěvníků a se správou, která sedí přesně tomu, co na webu je.
![]()
Projekt začal 23. 10. 2026 v jednu ráno konzultací s AI - rozborem starého webu, volbou technologií a plánem migrace. Samotný vývoj pak probíhal s Claude Code po menších krocích: každý bod roadmapy = build, testy a kontrola změn před commitem. Web běží na vlastním serveru (Windows Server, IIS) a další vývoj pokračuje dle potřeby.
Co web umí
Převzatý obsah
Všechny články, projekty, série videí a 87 publikací z Joomly včetně obrázků, štítků a počtů zobrazení, které se počítají dál.
Staré odkazy fungují
284 přesměrování a pravidla podle Joomla ID - staré adresy vedou přes 301 na nové, každá 404 se zaloguje.
Nový design
Směr „Inženýrský zápisník“ vybraný z několika návrhů, světlý i tmavý režim, responzivní a přístupný.
Bez cookie lišty
Návštěvník nedostane žádnou cookie. Videa, tweety i mapy se zobrazují jako lokální náhled a cizí obsah se načte až po kliknutí.
Administrace všeho
Obsah, kategorie, štítky, vazby, menu, soubory s úpravou obrázků, přesměrování, 404 i zálohy.
Správa přes AI
MCP rozhraní, přes které AI asistent může číst a upravovat obsah. S právy klíče, auditem a historií verzí.
Migrace obsahu
Obsah se z databáze Joomly vyexportoval jednorázovým skriptem do JSON a pak opakovatelně (idempotentně) importoval do nové databáze. Přešlo 22 článků blogu, 11 projektů, 12 sérií videí, 87 publikací a samostatné stránky: celkem 134 položek a 671 452 zobrazení. Dlouhé články se dělí na části stejně jako dřív, 243 souborů se přesunulo do nového úložiště (i se starými adresami obrázků) a u publikací zůstalo ručně nastavené datum vydání i původní citace.
Aby nic nezmizelo z vyhledávačů, každá stará adresa - články, kategorie, index.php?…&id=N, stránkování i obrázky - vede trvalým přesměrováním na nové místo. Změna adresy v adminu založí další přesměrování automaticky.
Design a soukromí
Vzhled vznikl z několika návrhů, vybrán a roladěn (ručně i prompty) byl čistý technický směr s monospace popisky ve stylu komentářů v kódu. Světlý a tmavý režim se řídí nastavením systému a jde přepnout ručně, písma se hostují lokálně, kód má vlastní zvýraznění syntaxe a bloky obsahu (sloupce, karty, zvýrazněné boxy, galerie) nahrazují Bootstrap.
Web nepotřebuje cookie lištu: žádná analytika třetích stran, YouTube jako lokální náhled s přehráním až po kliknutí, příspěvky z X jako lokální kopie, mapy OrgPadu jako snímek. Zobrazení se počítají bez cookies, bez ukládání IP adres a s filtrováním robotů.
Administrace
Administrace vznikala postupně podle toho, co bylo právě potřeba. Dnes zvládá:
- obsah – články, stránky s podstránkami, projekty, série videí a publikace; vizuální editor i editor kódu, vlastní CSS u článku, naplánované zveřejnění, archiv (410 nebo 301) a trvalé smazání s přehledem dopadů,
- kategorie a štítky – řazení přetažením, přejmenování a slučování s přesměrováním,
- propojení – vazby mezi projekty, články, videi a publikacemi a odkazy na obsah podle ID, které přežijí změnu adresy,
- soubory – úložiště s deduplikací, evidencí použití, košem, nahráním z adresy, ořezem, otočením a zmenšením obrázků do WebP,
- menu, přesměrování a log 404,
- zálohy – týdenní plné a denní přírůstkové komprimované zálohy, snímky databáze a návod k obnově vygenerovaný pro konkrétní zálohu,
- bezpečnost – jediný účet bez registrace, dvoufázové ověření, omezení pokusů o přihlášení, CSP.
Přihlášený správce navíc vidí přímo na webu lištu s odkazem na úpravu právě zobrazeného obsahu.
Správa obsahu přes AI (MCP)
Posledním kusem je rozhraní MCP (Model Context Protocol), přes které může AI asistent obsah webu číst, vytvářet koncepty, upravovat a nahrávat obrázky. Každý klíč má přesně nastavená práva i platnost, každé volání se zapisuje do auditu a před každou úpravou se uloží předchozí verze, kterou jde jedním kliknutím vrátit. AI přitom prochází stejnými kontrolami jako administrace.
Hned první den v provozu se přes MCP doplnily ikony článků bez obrázku, štítky u zhruba stovky článků, projektů, videí a publikací (včetně nových témat) a vazby mezi souvisejícím obsahem – a jako koncept vznikl i základ této stránky.
Technologie
- .NET 10 (LTS), ASP.NET Core Razor Pages, C#
- EF Core 10 + SQLite (poskytovatele jde konfigurací vyměnit za SQL Server či PostgreSQL)
- ASP.NET Core Identity s 2FA, Serilog, HtmlSanitizer
- TinyMCE, CodeMirror, Prism, Tabler Icons – vše hostované lokálně
- MCP server (
ModelContextProtocol.AspNetCore) - IIS 10 na Windows Serveru, přes 240 automatických testů (xUnit)
Co dál
Další fáze se věnuje webu jako vizitce: nová úvodní stránka, životopis, časová osa aktivit, fulltextové hledání, strukturovaná data pro vyhledávače a později i anglická verze.