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>
This commit is contained in:
+31
-21
@@ -1,47 +1,57 @@
|
||||
# PROJECT_MEMORY — ta1sph.info
|
||||
|
||||
> Claude'un bu proje için kalıcı hafızası. Her görev sonunda güncellenir. Kısa ve güncel tutulur.
|
||||
> Son güncelleme: 2026-10-15 · Güncelleyen: kurulum kiti
|
||||
> Son güncelleme: 2026-10-16 · Güncelleyen: Claude (Siteyi Kur — Aşama 1)
|
||||
|
||||
## 1. Durum
|
||||
|
||||
- **Aşama:** 0 — Proje henüz kurulmadı. Sıradaki komut: `Siteyi Kur`.
|
||||
- **Tamamlanan:** Skill + hafıza dosyaları eklendi.
|
||||
- **Açık işler:** Aşama 0–8 (`references/build-plan.md`).
|
||||
- **Aşama:** 1 tamamlandı (iskelet). Sıradaki: **Aşama 2 — Tasarım sistemi ve layout**.
|
||||
- **Tamamlanan:** Aşama 0 (ön kontrol), Aşama 1 (entegrasyonlar, script'ler, Prettier, hafıza dosyaları repoda).
|
||||
- **Açık işler:** Aşama 2–8 (`references/build-plan.md`). `LICENSE` / `LICENSE-CONTENT` Aşama 6'da (README şimdiden bağlantı veriyor).
|
||||
- **Bilinen sorunlar:** —
|
||||
|
||||
## 2. Ortam
|
||||
|
||||
- Astro sürümü: _(Aşama 0'da doldurulacak)_
|
||||
- TailwindCSS sürümü: _(Aşama 0'da doldurulacak)_
|
||||
- Node sürümü: _(Aşama 0'da doldurulacak)_
|
||||
- Repo: _(doldurulacak)_ · Branch: `main`
|
||||
- Astro 7.4.0 · TailwindCSS 4.3.3 (`@tailwindcss/vite`) · TypeScript 6 strict · zod = `astro/zod` (ayrı paket yok)
|
||||
- @astrojs/node 11.1.8 · mdx 8.1.0 · sitemap 3.7.4 · rss 4.0.19 · astro-icon 1.2.0 · pagefind 1.5.2
|
||||
- Yerel: Node v26.11.1, npm 12.2.0, Docker 29.8.1 · `package.json` engines: node >=22.22
|
||||
- Repo: yerel git (Gitea remote henüz yok; push yalnızca kullanıcı onayıyla) · Branch: `main`
|
||||
- Canlı: https://ta1sph.info (Dokploy, HomeServer Atlas) — _henüz yayında değil_
|
||||
|
||||
## 3. Dosya Haritası
|
||||
|
||||
_(Kurulumdan sonra önemli dosya/klasörler tek satır açıklamayla buraya yazılır.)_
|
||||
- `astro.config.mjs` — site/trailingSlash/static + node adapter, mdx, sitemap (`/_styleguide/` hariç), astro-icon (tabler), Tailwind vite plugin
|
||||
- `src/styles/global.css` — Tailwind girişi + typography plugin (token'lar Aşama 2'de)
|
||||
- `src/lib/slug.ts` — Türkçe karakter dönüştürücü `slugify`
|
||||
- `scripts/new-post.mjs` — `npm run new:post -- "Başlık"` → `src/content/blog/<slug>/index.md` (draft: true); `slug.ts`'yi Node type-stripping ile import eder
|
||||
- `src/pages/index.astro` — geçici yer tutucu (Aşama 3'te değişecek)
|
||||
- `docs/design-reference/` — Huemint Magazine ekran görüntüleri · `CLAUDE.md` → `AGENTS.md` + bu dosya
|
||||
- Build: `astro build && pagefind --site dist/client` · statik çıktı `dist/client`, sunucu `dist/server/entry.mjs`
|
||||
|
||||
## 4. Kararlar (ADR)
|
||||
|
||||
| Tarih | Karar | Gerekçe |
|
||||
|---|---|---|
|
||||
| Tarih | Karar | Gerekçe |
|
||||
| ---------- | -------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
||||
| 2026-10-15 | Statik çıktı + `@astrojs/node` ile sadece `/api/views` dinamik | "Öne çıkan = en çok okunan" için sayaç gerekli; site geri kalanı statik ve hızlı |
|
||||
| 2026-10-15 | Sayaç: SQLite (`better-sqlite3`), volume `/app/data` | Harici servis yok, ev sunucusunda basit ve kalıcı |
|
||||
| 2026-10-15 | Arama: Pagefind | Statik, sunucusuz, Türkçe destekli |
|
||||
| 2026-10-15 | Harita: Leaflet + OpenStreetMap | API anahtarı / ücret yok, KVKK dostu |
|
||||
| 2026-10-15 | İkonlar: astro-icon + Tabler | Tutarlı çizgi seti, anten kulesi ve marka ikonları mevcut |
|
||||
| 2026-10-15 | Lisans: Kod MIT, içerik CC BY-SA 4.0 | Kaynak gösterilerek serbest kullanım talebi |
|
||||
| 2026-10-15 | Kanonik alan: apex `ta1sph.info`, www → 301 | SEO tekilleştirme |
|
||||
| 2026-10-15 | Fontlar self-host (Fontsource: Rubik + Inter) | Performans + gizlilik |
|
||||
| 2026-10-15 | Locator KN41KB99HW → 41.08307 N, 28.91094 E | Harita merkezi |
|
||||
| 2026-10-15 | Sayaç: SQLite (`better-sqlite3`), volume `/app/data` | Harici servis yok, ev sunucusunda basit ve kalıcı |
|
||||
| 2026-10-15 | Arama: Pagefind | Statik, sunucusuz, Türkçe destekli |
|
||||
| 2026-10-15 | Harita: Leaflet + OpenStreetMap | API anahtarı / ücret yok, KVKK dostu |
|
||||
| 2026-10-15 | İkonlar: astro-icon + Tabler | Tutarlı çizgi seti, anten kulesi ve marka ikonları mevcut |
|
||||
| 2026-10-15 | Lisans: Kod MIT, içerik CC BY-SA 4.0 | Kaynak gösterilerek serbest kullanım talebi |
|
||||
| 2026-10-15 | Kanonik alan: apex `ta1sph.info`, www → 301 | SEO tekilleştirme |
|
||||
| 2026-10-15 | Fontlar self-host (Fontsource: Rubik + Inter) | Performans + gizlilik |
|
||||
| 2026-10-16 | Pagefind CLI postbuild (`astro-pagefind` yok) | Daha az bağımlılık; node adapter çıktısı `dist/client` |
|
||||
| 2026-10-16 | Skill repoya kopyalanmadı, kullanıcı düzeyinde | Çift kopya senkron riski |
|
||||
| 2026-10-15 | Locator KN41KB99HW → 41.08307 N, 28.91094 E | Harita merkezi |
|
||||
|
||||
## 5. İçerik Envanteri
|
||||
|
||||
| Slug | Başlık | Kategori | Oluşturma | Güncelleme | Durum |
|
||||
|---|---|---|---|---|---|
|
||||
| — | — | — | — | — | — |
|
||||
| ---- | ------ | -------- | --------- | ---------- | ----- |
|
||||
| — | — | — | — | — | — |
|
||||
|
||||
## 6. Değişiklik Günlüğü (en yeni üstte)
|
||||
|
||||
- 2026-10-16 | Siteyi Kur A1 | İskelet: Tailwind 4, mdx, sitemap, node, icon, rss, fontlar, pagefind, prettier, new:post | `astro.config.mjs`, `package.json`, `scripts/`, `src/lib/slug.ts`, `src/styles/`, `README.md`
|
||||
- 2026-10-16 | Siteyi Kur A0 | Ortam kontrolü; hafıza + docs kitten projeye kopyalandı | `CLAUDE.md`, `PROJECT_MEMORY.md`, `docs/`
|
||||
- 2026-10-15 | Kurulum | Skill, CLAUDE.md ve PROJECT_MEMORY.md eklendi | `.claude/`, `CLAUDE.md`, `PROJECT_MEMORY.md`
|
||||
|
||||
Reference in New Issue
Block a user