The landing page for a local Korean meetup hosted by .NET Dev. The first event is coming soon. Dates, venue, registration, and the call for talks have not been announced.
Website: dotnetdev.kr/skill-jam
Skill Jam welcomes every technology stack, including projects that do not use .NET. Its scope extends beyond Agent Skills to MCP servers, CLIs, tools, connectors, agents, workflows, and agent infrastructure.
Speakers share something they built and explain its technical principles, implementation process, failed attempts, and design choices. A product introduction alone is not the intended talk format. Speakers can choose roughly 10 to 30 minutes. Work in progress and small experiments are welcome.
The site uses Korean as its primary language, with English headings and technical terms. The event is intended for the Korean local developer community. No city, date, speaker lineup, ticket price, or registration process is implied by the site.
An original typography-led design with a vivid red-orange jam accent and an editorial layout. No third-party landing-page template was copied.
- Semantic HTML and responsive CSS
- Locally hosted HTMX 2.0.10 for the topic explorer
- Python 3.10+ standard-library build, with no package installation or network access
- No application server, database, framework runtime, analytics, cookies, or signup form
- Self-hosted Space Grotesk for Latin characters and system fonts for Korean
Each topic link has a real destination containing a complete HTML document. HTMX fetches that document and selects #topic-explorer, replacing only the explorer. Without JavaScript, the same link opens the full page. The enhanced view retains keyboard focus, announces changes, handles rapid selections, and offers a full-page fallback on request failure. See the HTMX hx-select documentation.
Build and validate the static output, then serve it over HTTP:
python3 scripts/build.py
python3 scripts/check.py
python3 -m http.server 8000 --bind 127.0.0.1 --directory distOpen http://127.0.0.1:8000/. HTTP is required for HTMX requests; opening an HTML file directly with file:// does not reproduce deployment behavior. Rebuild and refresh after source edits.
| Path | Purpose |
|---|---|
templates/layout.html |
Shared head, navigation, footer, SEO and Open Graph metadata |
templates/home.html |
Korean event copy and home-page sections |
scripts/build.py |
Topic content and static page generation |
scripts/check.py |
Local asset, anchor, metadata, sitemap and vendor-integrity checks |
site/assets/ |
CSS, interaction enhancement, favicon, local font and HTMX |
.github/workflows/pages.yml |
Build validation and GitHub Pages deployment |
dist/ |
Generated public files; ignored by Git |
This project inherits the organization’s existing dotnetdev.kr domain and is available at https://dotnetdev.kr/skill-jam/ with HTTPS enforced. The default github.io address redirects to this URL.
The workflow validates pull requests and publishes pushes to main. It uploads only dist/. The deployment job alone receives pages: write and id-token: write; pull requests do not deploy. Repository settings must select GitHub Actions as the Pages source. Follow the GitHub Pages custom-workflow documentation.
Relative asset and topic URLs support a project-site path such as /skill-jam/. The workflow uses the Pages base URL for canonical links and the sitemap. For another static host or custom domain, set its public base URL at build time:
python3 scripts/build.py --base-url https://example.org/skill-jam/All eight HTML documents contain page-specific titles, descriptions, Korean locale metadata, and canonical URLs. Open Graph and Twitter metadata include the title and description. No social-preview image is included. The sitemap omits the noindex 404 page. Event structured data is intentionally absent until a real date and venue are confirmed. A project-level robots.txt is omitted because crawlers look for it at the origin root.
The site includes a skip link, semantic landmarks, visible keyboard focus, labeled navigation, native disclosure widgets, reduced-motion support, and responsive layouts. No essential information depends on animation, color alone, or JavaScript. scripts/check.py verifies structural checks; browser checks still cover keyboard interaction, mobile layout, request failure, and JavaScript-disabled navigation.
When the first event is confirmed, update the date, venue, registration link, talk proposal process, and coming-soon copy together. Add only confirmed event details. The current topic examples illustrate the scope and are not a speaker lineup.
Original code and copy use the MIT License. The license does not grant rights to the .NET Dev name or third-party trademarks.
- HTMX 2.0.10: Zero-Clause BSD (0BSD); license in
site/assets/vendor/HTMX-LICENSE. The script includes an integrity hash pinned to the official release. - Space Grotesk: SIL Open Font License 1.1; license in
site/assets/fonts/OFL.txt.