Skip to content

Getting Started

semihalev edited this page Mar 11, 2025 · 1 revision

Getting Started with Twig

Installation

go get github.com/semihalev/twig

Basic Usage

package main

import (
    "fmt"
    "github.com/semihalev/twig"
    "os"
)

func main() {
    // Create a new Twig engine
    engine := twig.New()
    
    // Add a template loader
    loader := twig.NewFileSystemLoader([]string{"./templates"})
    engine.RegisterLoader(loader)
    
    // Render a template
    context := map[string]interface{}{
        "name": "World",
        "items": []string{"apple", "banana", "orange"},
    }
    
    // Render to a string
    result, err := engine.Render("index.twig", context)
    if err \!= nil {
        fmt.Println("Error:", err)
        return
    }
    
    fmt.Println(result)
    
    // Or render directly to a writer
    err = engine.RenderTo(os.Stdout, "index.twig", context)
    if err \!= nil {
        fmt.Println("Error:", err)
        return
    }
}

Installation Requirements

  • Go 1.18 or higher
  • No external dependencies required (all dependencies are included in Go's standard library)

Running Tests

To run the test suite:

go test ./...

For tests with coverage report:

go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out

Next Steps

Clone this wiki locally