Sıfırdan Tema Geliştirmek
Bu sayfa, kendi temanızı en baştan geliştirme akışını anlatır: bir geliştirme mağazası açar, tema iskelesini oluşturur (veya mevcut bir temayı fork'lar), canlı yenilemeyle geliştirir ve sunucuya yayınlarsınız.
tsoft login) tamamlamış olmalısınız. Komutların hangi dizinden çalıştırıldığı önemlidir — bkz. Çalışma Dizini.Geliştirme mağazası açın
Partner panelindeki Mağazalar sekmesinden Mağaza Oluştur ile organizasyonunuza ait bir demo mağaza açın. Bu mağaza gerçek satış için değil, geliştirme ve test için izole bir ortamdır. tsoft login sırasında bu mağazayı seçerek çalışırsınız.
Tema oluşturun
İki yol vardır: boş bir iskeleyle başlamak ya da mevcut bir temayı temel almak.
Yeni tema iskelesi
tsoft theme create
# 🎨 Yeni tema oluşturuluyor...
# ? Tema Adı: My Theme
# ? Açıklama: Modern e-ticaret teması
# ? Starter tema ile başlansın mı? (Y/n)
# 🎉 Tema başarıyla oluşturuldu!
# Konum: ./example-tsoft-biz/my-theme/
Tema adını argüman olarak da verebilirsiniz — bu durumda ad sorulmaz:
tsoft theme create my-theme
Tema oluştuktan sonra dizine girin; geliştirme komutlarını buradan çalıştıracaksınız:
cd example-tsoft-biz/my-theme
Mevcut bir temayı fork'lamak
Bir başlangıç temasını temel alarak yeni bir tema oluşturur. Komut argümansız çalıştırıldığında fork'lanacak temayı listeden seçersiniz:
tsoft theme fork
# ? Hangi temayi fork etmek istiyorsunuz:
# ❯ Starter Theme
# Modern Starter
# ? Starter Theme v1.4.0 fork edilecek. (Y/n)
# Tema fork ediliyor...
# Tema basariyla fork edildi!
# Tema: my-starter-fork
# Kaynak: Starter Theme v1.4.0
# Konum: ./example-tsoft-biz/my-starter-fork/
Kaynak temayı listeden seçmek yerine doğrudan adıyla da verebilirsiniz:
tsoft theme fork --from starter-theme
--json modunda interaktif seçim yapılamadığı için kaynak temayı --from ile belirtmek zorunludur: tsoft --json theme fork --from starter-theme.Temaları listeleme ve aktif tema
# Mağazadaki temaları listele
tsoft theme list
# Üzerinde çalışılacak aktif temayı seç
tsoft theme use
Tema listesinde iki farklı işaret görürsünüz:
| İşaret | Anlamı |
|---|---|
| (Seçili) | Üzerinde çalıştığınız tema — theme use, theme pull veya bulunduğunuz dizin belirler. |
| (Yayında) | Mağazada aktif olarak yayında olan, müşterilerin gördüğü tema. |
Bu ikisi aynı tema olmak zorunda değildir; taslak bir tema üzerinde çalışırken yayındaki tema değişmeden kalır.
Geliştirme komutları tema dizininden çalıştırıldığında mağaza ve tema bulunduğunuz dizinden çözülür — bkz. Çalışma Dizini. Tema dizininin dışındaysanız theme use ile seçilmiş aktif tema kullanılır.
Geliştirme modu
tsoft theme dev, dosya değişikliklerini izler ve her kayıtta değişikliği anında mağazaya gönderir. Komutu tema dizininden çalıştırın:
cd example-tsoft-biz/my-theme
tsoft theme dev
# 🚀 Geliştirme ortamı başlatılıyor...
# 📍 Aktif Site: example.tsoft.biz
# 📍 Aktif Tema: my-theme
# ✓ Çalışma dizini: ./example-tsoft-biz/my-theme
# 🔒 Lock durumu kontrol ediliyor...
# ✓ Kilit başarıyla alındı
#
# 👀 İzleniyor · P önizleme · S section · Ctrl+C çıkış
#
# ✓ section/header/default.twig → Kaydedildi (420ms)
# 🧩 section güncellendi: header
Dev modunun bilmeniz gereken davranışları:
| Davranış | Açıklama |
|---|---|
| Anlık güncelleme | Dosya kaydedildiğinde anında sunucuya gönderilir. |
| Silme de yansır | Yerelde sildiğiniz dosya mağazadan da kaldırılır. |
| Özel kilit | Dev modu tema üzerinde kilit alır; aynı anda tek geliştirici çalışır. Siz çalışırken kilidi başkası alırsa CLI kilidin kimde olduğunu söyler ve dev modunu durdurur — diğer geliştiricinin çalışmasının üzerine yazılmaz. |
| Keep-alive | Bağlantı 30 saniye aralıklarla korunur. Ctrl+C ile çıktığınızda kilit sonraki oturum için saklanır. |
| Otomatik kurtarma | Senkronizasyon hatalarında yeniden dener. |
Klavye kısayolları
İzleme sürerken durum satırındaki tuşları kullanabilirsiniz:
| Tuş | Ne yapar |
|---|---|
P | Mağazanın önizleme adresini tarayıcıda açar. Yalnızca tema için bir önizleme adresi varsa durum satırında görünür. |
S | Section menüsünü açar. Menü açıkken dosya izleme duraklar, menüden çıkınca tema yeniden senkronize edilip izleme kaldığı yerden devam eder. |
Ctrl+C | Çıkış. Kilit sonraki oturum için saklanır. |
section/ altındaki bir dosyayı kaydettiğinizde, normal kaydetme satırının yanında ayrıca 🧩 section güncellendi satırı yazılır — böylece section değişikliklerinin sunucuya ulaştığını görürsünüz.
İzlenen dosya türleri: .twig, .theme, .css, .js, .json, .md, .svg, .png, .jpg, .jpeg, .gif, .webp.
. ile başlayanlar) izleme dışıdır — otomatik olarak yok sayılır.Yayınlama
Geliştirme bittiğinde temayı sunucuya gönderin. Push, temanın taslak (draft) sürümünü günceller:
tsoft theme push
# Sunucuya bağlanılıyor...
# Mevcut durum kontrol ediliyor...
# ✔ Push tamamlandı
#
# 1.0.0 -> 1.1.0 (minor)
# Mevcut draft güncellendi
#
# Sections: +2 yeni, ~1 kaldırıldı
# Templates: +1 yeni
#
# https://partners.tsoft360.com/r/.../themes/my-theme
# Temanı partner panelinde görüntüle.
Sürüm numarasını ve artış türünü (patch / minor / major) sunucu belirler — push sırasında size sorulmaz. Değişikliklerinizin kapsamına göre hesaplanan yeni sürüm çıktıda 1.0.0 -> 1.1.0 (minor) biçiminde gösterilir.
Değişiklik özeti dosya bazlı değil, kategori bazlıdır:
| Kategori | Kapsam |
|---|---|
| Sections | Eklenen / kaldırılan section'lar |
| Templates | Eklenen / kaldırılan şablonlar |
| Meta | Meta nesne ve alan değişiklikleri |
Yerel dosyalarınız sunucudaki taslakla aynıysa push bir şey göndermez:
tsoft theme push
# ℹ Değişiklik yok — mevcut draft güncel.
(ilk push) etiketi ve Admin onayından sonra 1.0.0 olarak yayınlanacak satırı görünür. Tema incelemedeyken yeni push yapılamaz (PUSH-PENDING-REVIEW); inceleme tamamlanana kadar bekleyin veya partner panelinden işlem yapın.CI/CD entegrasyonu için --json bayrağı makine tarafından okunabilir çıktı üretir; --verbose hata durumunda sunucu yanıtının ayrıntısını gösterir:
tsoft theme push --json
# { "status": "success", "command": "theme push",
# "data": { "version": "1.1.0", "bump_type": "minor",
# "action": "updated", "changes": [ ... ],
# "partner_panel_url": "https://partners.tsoft360.com/..." } }
Belirli bir mağazaya, aktif mağazayı değiştirmeden push yapmak için --store kullanabilirsiniz:
tsoft --store musteri.tsoft.biz theme push
Partner panelinde temalarınız
Temalar sekmesi geliştirdiğiniz tüm temaları listeler:
| Filtre | İçerik |
|---|---|
| Tümü | Bütün temalar — taslak, yayında ve markette dahil |
| Yayında | Bir mağazada aktif olarak kullanılan temalar |
| Markette | T-SOFT Tema Mağazası'nda yayınladığınız temalar |
Her tema kartında sürüm, indirme sayısı, mağaza sayısı ve durum etiketini (Taslak / Yayında) görürsünüz.