Bu klasör dgdoc kullanımını gösteren örnek dosyalar içerir.
examples/
├── templates/ # Örnek şablon dosyaları (DOCX, XLSX, PPTX, ODT)
├── data/ # Örnek JSON veri dosyaları
├── cli_usage/ # CLI kullanım örnekleri
└── README.md # Bu dosya
Fatura oluşturma için örnek veri:
- Customer bilgileri
- Ürün listesi (loop örneği)
- Conditional rendering (premium müşteri)
- HTML içerik (notlar)
Rapor oluşturma için örnek veri:
- Bölge bazlı satış verileri (loop)
- Executive summary (HTML formatında)
- Conditional sections
cli_usage/examples.sh dosyası çeşitli kullanım senaryolarını gösterir:
- Basit kullanım - JSON dosyası ile
- Inline JSON - Hızlı test için
- Conditionals ve Loops - Gelişmiş özellikler
- Multi-format - Excel, PowerPoint desteği
- Batch processing - Toplu işlem
- Environment variables - Dinamik içerik
Word'de placeholder'lar ekleyin:
Sayın {customer_name},
{#if premium}
Premium müşterimiz olduğunuz için teşekkür ederiz!
{#else}
Müşterimiz olduğunuz için teşekkür ederiz!
{/if}
Siparişleriniz:
{#items}
- {description}: {quantity} x {unit_price} = {total}
{/items}
Toplam: {total}
Excel'de hücrelere placeholder'lar yerleştirin:
A1: {company_name}
A2: {revenue}
A3: {year}
Döngüler için:
A5: {#items}
B5: {product}
C5: {price}
A6: {/items}
PowerPoint'te text kutularına:
Slide 1: {title}
Slide 2: {presenter}
{date}
İçerik döngüsü:
{#slides}
{topic}: {amount}
{/slides}
-
Şablon hazırlayın (Word/Excel/PowerPoint)
- Placeholder'lar ekleyin:
{variable_name} - Conditionals:
{#if condition}...{/if} - Loops:
{#arrayName}...{/arrayName}
- Placeholder'lar ekleyin:
-
JSON verisi oluşturun
{ "variable_name": "value", "condition": true, "arrayName": [ {"item": "value1"}, {"item": "value2"} ] } -
CLI ile çalıştırın
dgdoc --template template.docx \ --output output.docx \ --data data.json
package main
import (
"github.com/dgmosdev/dgdoc/docx"
)
func main() {
template, _ := docx.Open("template.docx")
defer template.Close()
data := map[string]any{
"customer_name": "Acme Corp",
"premium": true,
"items": []any{
map[string]any{"description": "Product A", "price": "100"},
},
}
template.Apply(data)
template.Save("output.docx")
}- ✅ HTML içerik:
<h1>,<p>,<b>,<i>,<ul>,<table>vb. - ✅ Conditionals:
{#if},{#else},{/if} - ✅ Loops:
{#items}...{/items} - ✅ Images:
{%logo}→ URL, Base64, veya dosya yolu - ✅ Links:
{%website}→ "Text|https://url" - ✅ Multi-format: DOCX, XLSX, PPTX, ODT
- GitHub Repository
- Go Package Documentation
- README.md - Detaylı dokümantasyon