Commit Graph

12 Commits

Author SHA1 Message Date
suphicakir a32c0d0911 docs: record first deployment in project memory
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 09:15:37 +03:00
suphicakir 486e34baf3 fix: track src/data JSON files (gitignore matched every data/ dir)
The view-counter ignore rule 'data/' also matched src/data/, so the site's
JSON content was never committed and clean builds (Dokploy) failed.
Anchor it to the repository root: '/data/'.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 08:45:30 +03:00
suphicakir 91cb337c03 feat: add Docker image, production server and health check
- Multi-stage Dockerfile on node:24-slim, non-root, healthcheck, /app/data volume
- server.mjs wraps the Astro handler with brotli/gzip compression,
  security headers and graceful SIGTERM shutdown (npm start)
- GET /api/health/ reports server and view-counter DB status
- Move build-only packages to devDependencies (smaller runtime image)
- docker-compose.yml as an alternative for Dokploy Compose

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 02:58:50 +03:00
suphicakir 7d8fcce2e1 feat: add OG images, favicon set, manifest and performance tuning
- Build-time Open Graph cards per post and a default card (Satori + Sharp)
- Favicon/ICO/apple-touch/manifest icons generated from one SVG (npm run icons)
- robots.txt and web manifest generated from site.json
- Subset self-hosted fonts to Latin + Turkish (188 KB -> 66 KB) with preload
- Inline the stylesheet to remove the render-blocking request
- Post-build site audit (npm run check:site): h1, alt, SEO tags, links
- Omit canonical on noindex pages

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 02:36:56 +03:00
suphicakir df9c40847d feat: add about, contact with map, legal pages and 404
- About page with identity cards and equipment lists (about.json)
- Contact page: station info, obfuscated e-mail, lazy Leaflet/OSM map
  with antenna tower marker and dark-mode tiles
- Privacy, license and disclaimer pages from a legal collection
- QRT-themed 404 page
- LICENSE (MIT) and LICENSE-CONTENT (CC BY-SA 4.0 legal code)
- Shared PageHeader and CodeCopy components

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 01:59:45 +03:00
suphicakir c1c57c4f85 feat: add anonymous view counter with most-read sidebar
- node:sqlite storage in $DATA_DIR/views.db (no native deps)
- POST /api/views/<slug>/ counts once per visitor per 24h via
  daily-salted hash; IPs are never stored, bots are skipped
- GET /api/views/top/ feeds the sidebar's featured list, falling back
  to frontmatter-featured and latest posts when unavailable

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 01:15:12 +03:00
suphicakir 809f89af08 feat: add blog with archives, pagination, search, sharing and RSS
- Content collection (one folder per post) with zod schema
- /blog, category and tag archives with /sayfa/<n>/ pagination
- Post page: breadcrumbs, date badges, share bar, TOC, DIY notice,
  code copy, license line, prev/next, BlogPosting + BreadcrumbList JSON-LD
- Sidebar: Pagefind search, categories, featured fallback, tag cloud
- Sätteri HAST plugins for figure/figcaption and external links
- Dual-theme Shiki, themed prose, RSS feed, latest posts on home
- Three sample posts marked as examples

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 01:06:07 +03:00
suphicakir f2d943c31b feat: build home page from home.json sections
- Hero with callsign/locator tags and CTAs on khaki grid
- Feature sections for ARD (YM1KTC), DMR Türkiye, QRV73!, QRZ73!
- Telegram groups and resource site card grids
- Latest posts block with empty state (wired to blog in stage 4)
- Section wrapper, decorative numerals, external Button variant

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 00:55:33 +03:00
suphicakir d8a79ccbe3 feat: add design system, theme toggle, SEO head and base layout
- Huemint Magazine tokens for light/dark themes with AA-safe accent variants
- FOUC-free theme init + toggle (localStorage, follows OS until chosen)
- Seo component (canonical, OG, Twitter, WebSite/Person JSON-LD)
- Header with popover mobile menu, 4-column footer with social links
- Container, GridLines, SectionHeading, Button, Badge, Card, ExternalLink
- site.json / social.json validated with zod
- dev-only /styleguide preview

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 00:47:50 +03:00
suphicakir c5e0b009ca feat: scaffold Astro 7 with Tailwind 4, MDX, sitemap, node adapter and tooling
- Tailwind v4 via @tailwindcss/vite + typography plugin
- astro-icon (Tabler), self-hosted Rubik/Inter, RSS, Pagefind postbuild
- Prettier (astro + tailwind plugins), editorconfig
- new:post script with Turkish-aware slugify

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 00:25:29 +03:00
suphicakir 0caf91fc0e docs: add project memory, Claude instructions and design references
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 00:23:05 +03:00
houston[bot] d417dad8e4 "Initial commit from Astro" 2026-10-16 00:06:53 +03:00