Metadata-Version: 2.4
Name: kamu-ppt
Version: 0.1.0
Summary: T.C. kamu kurumları için kurumsal HTML sunum üretici · İletişim Başkanlığı, Cumhurbaşkanlığı, bakanlıklar ve bağlı kuruluşlar için Swiss üslubu temel alan tek dosya HTML sunum şablonu, kayıtlı kurum temaları, doğrulama ve CLI.
Project-URL: Homepage, https://github.com/bugraayancom/kamu-ppt
Project-URL: Repository, https://github.com/bugraayancom/kamu-ppt
Project-URL: Issues, https://github.com/bugraayancom/kamu-ppt/issues
Project-URL: Documentation, https://github.com/bugraayancom/kamu-ppt/blob/main/README.md
Project-URL: Changelog, https://github.com/bugraayancom/kamu-ppt/blob/main/CHANGELOG.md
Project-URL: Upstream (orijinal), https://github.com/op7418/guizang-ppt-skill
Author: kamu-ppt fork katkıcıları
License: MIT License
        
        Copyright (c) 2026 op7418 (歸藏)
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OR OTHER DEALINGS IN
        THE SOFTWARE.
License-File: LICENSE
Keywords: ai-agent,html-deck,iletisim-baskanligi,kamu,ppt,presentation,skill,swiss-design,tc,turkce
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: Turkish
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Office/Business :: Office Suites
Classifier: Topic :: Text Processing :: Markup :: HTML
Requires-Python: >=3.9
Requires-Dist: jinja2>=3.1
Requires-Dist: rich>=13.7
Requires-Dist: typer>=0.12
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Requires-Dist: twine>=5.0; extra == 'dev'
Description-Content-Type: text/markdown

# kamu-ppt

> T.C. kamu kurumları için kurumsal HTML sunum üretici. İletişim Başkanlığı, Cumhurbaşkanlığı, bakanlıklar ve bağlı kuruluşlar için **İsviçre Uluslararası Üslubu** temelli, **tek dosya HTML** sunum şablonu, kayıtlı kurum temaları, doğrulayıcı ve Türkçe komut satırı arayüzü.

[![PyPI version](https://img.shields.io/pypi/v/kamu-ppt.svg)](https://pypi.org/project/kamu-ppt/)
[![Python](https://img.shields.io/pypi/pyversions/kamu-ppt.svg)](https://pypi.org/project/kamu-ppt/)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

---

## Kuruluş

```bash
pip install kamu-ppt
```

Kurulduktan sonra `kamuppt` komutu kullanılabilir hâle gelir:

```bash
kamuppt --help
```

---

## Hızlı başlangıç

### 1. Yeni sunum oluştur

```bash
kamuppt yeni ./benim-sunumum --baslik "2026 Faaliyet Özeti" --tema iletisim-kirmizi
```

Bu, `benim-sunumum/index.html` + `benim-sunumum/images/` yapısını üretir. Tarayıcıda doğrudan açılır:

```bash
open ./benim-sunumum/index.html
```

### 2. Kurum temalarını gör

```bash
kamuppt temalar
```

| Tema | ID | Kurum |
|------|----|---|
| 🔴 Türk Bayrağı Kırmızısı | `iletisim-kirmizi` | İletişim Başkanlığı |
| 🔵 Devlet Laciverti | `devlet-lacivert` | Cumhurbaşkanlığı, Strateji |
| 🟢 Kurum Yeşili | `kurum-yesil` | Tarım, Orman, Çevre |
| 🟣 Şifa Moru | `sifa-mor` | Sağlık |
| ⚖️ Adalet Bordosu | `adalet-bordo` | Adalet |
| ⚙️ Sanayi Çeliği | `sanayi-celik` | Sanayi, Teknoloji, Savunma |
| 🟠 Görev Turuncusu | `gorev-turuncu` | AFAD, Acil Durum |

Detaylı bilgi için `kamuppt temalar --detay`.

### 3. Hazır örnek sunumu inceleyin

```bash
kamuppt ornek ./demo
open ./demo/index.html
```

10 sayfalık tam bir **İletişim Başkanlığı Kurumsal Tanıtım** sunumu hazır geliyor.

### 4. Sunumu doğrulayın

```bash
kamuppt dogrula ./benim-sunumum/index.html
```

İsviçre üslubu kayıtlı 22 düzen kurallarına uyum (S01-S22), görsel yuvaları, SVG metin yasağı, başlık hizalama gibi 10+ kuralı kontrol eder.

---

## Python API

```python
from kamu_ppt import yeni_sunum, dogrula, temalar

# Yeni sunum üret
yol = yeni_sunum(
    "./demo/index.html",
    baslik="2026 Faaliyet Özeti",
    tema="iletisim-kirmizi",
)
print(f"Üretildi: {yol}")

# Doğrula
sonuc = dogrula(yol)
print(sonuc.ozet())  # ✓ Doğrulama geçti: 10 sayfa
for hata in sonuc.hatalar:
    print(hata)

# Tema bilgileri
for t in temalar.tum_temalar():
    print(t.emoji, t.id, "→", t.kurum)
```

### Daha düşük seviye

```python
from kamu_ppt import sablonlar, skill

# Şablon yolu (paketin içindeki HTML)
print(sablonlar.sablon_yolu())

# AI agent skill referans dizini
print(skill.skill_kok_dizini())
print(skill.referans("layouts-swiss"))  # belirli bir referans
```

---

## Kurum kimliği disiplini

Bu paket, **özel hex değerlerine izin vermez**. Tüm kurumsal renkler `temalar.py` içinde **kayıt altına alınmıştır**. Yeni bir kurum için:

1. `themes-kamu.md` referans dosyasına yeni bölüm eklenir.
2. `kamu_ppt/temalar.py` içine yeni `Tema(...)` kaydı yazılır.
3. PR / sürüm güncellemesi yapılır.

Bu disiplin, kurumsal kimliklerin yanlış renk tonu ya da gradient/gölge gibi standart dışı efektlerle **bozulmasını engeller**.

---

## AI agent desteği (skill)

Paket aynı zamanda bir **Cursor / Claude Code / Codex skill**'i içerir. AI agent'ları `kamuppt skill` komutuyla referans dosyalarına erişebilir:

```bash
# Referans dizini yolu (AI agent burada okuyacak)
kamuppt skill

# Tüm referans dosyalarını listele
kamuppt skill --liste

# Belirli bir referansı oku
kamuppt skill layouts-swiss --icerik
```

Bu sayede bir AI agent'a şunu söyleyebilirsiniz:

> "İletişim Başkanlığı için 8 sayfalık bir dezenformasyonla mücadele sunumu yap. Skill için `kamuppt skill` yolundaki referansları kullan."

---

## Klavye kısayolları (üretilen sunumlarda)

- `←` `→` — Sayfa geçişi
- Fare tekerleği — Sayfa geçişi
- `ESC` — Tüm sayfaların küçük resim ızgarası (genel bakış)
- `B` — Sade / hareketli mod arası geçiş (projeksiyonda düşük güç için)

---

## Özellikler

- **Tek dosya HTML** — sunucu/kurulum yok, e-postaya eklenebilir, USB'de gezebilir
- **7 kayıtlı T.C. kurum teması** — özel hex değeri kabul edilmez (kurumsal disiplin)
- **22 kayıtlı sayfa düzeni (S01–S22)** — kapak, KPI, karşılaştırma, zaman çizelgesi, sistem diyagramı, kapanış vb.
- **Doğrulayıcı** — Python tabanlı, Node.js bağımlılığı yok
- **ESC genel bakış** — tüm sayfaların küçük resim ızgarası
- **B tuşu düşük güç modu** — projeksiyonda WebGL kapanır
- **Türkçe optimize** — Inter + Source Sans 3 (Türkçe Latin Extended desteği)
- **AI agent skill** — Cursor / Claude Code / Codex referans dosyaları paket içinde

---

## Komutlar özeti

| Komut | Açıklama |
|-------|----------|
| `kamuppt yeni <isim>` | Yeni sunum projesi oluştur |
| `kamuppt temalar` | Mevcut kurum temalarını listele |
| `kamuppt dogrula <dosya>` | HTML sunumu kurallara göre doğrula |
| `kamuppt ornek <dizin>` | Demo sunumu kopyala |
| `kamuppt sablon` | Boş şablon dosya yolu / içerik |
| `kamuppt skill [ad]` | AI agent skill rehberi yolu / içerik |
| `kamuppt bilgi` | Paket sürüm ve kaynak yolları |
| `kamuppt --versiyon` | Sürüm bilgisi |

Detaylı yardım için her komutta `--help`:

```bash
kamuppt yeni --help
kamuppt dogrula --help
```

---

## Çalışma akışı (örnek)

```bash
# 1. Yeni proje
kamuppt yeni ./brifing-2026 --baslik "Dezenformasyonla Mücadele 2026" --tema iletisim-kirmizi

# 2. images/ klasörüne logoyu/görselleri ekle
cp ~/Downloads/cib-logo.png ./brifing-2026/images/00-logo.png

# 3. AI agent'a ver: skill rehberini kullanarak slide'ları doldursun
kamuppt skill  # bu yolu agent'a verirsin

# 4. Doğrula
kamuppt dogrula ./brifing-2026/index.html

# 5. Sun
open ./brifing-2026/index.html
```

---

## Geliştirme

```bash
git clone https://github.com/bugraayancom/kamu-ppt
cd kamu-ppt
pip install -e ".[dev]"
pytest
```

---

## Köken

Bu paket, [op7418/guizang-ppt-skill](https://github.com/op7418/guizang-ppt-skill) projesinin **T.C. kamu kurumları için yapılmış Türkçe fork'u**dur. Orijinal İsviçre Uluslararası Üslubu iskeleti korunur; tipografi, renkler ve rehber metinler Türk kamu sunum diline uyarlanmıştır.

İsviçre tipografisi mirası: Massimo Vignelli, Josef Müller-Brockmann, Helvetica Forever.

---

## Lisans

MIT — orijinal eser © op7418 / 歸藏. Türkçe fork uyarlaması bu projenin sahibine aittir.
