Using Leaf¶
This section outlines how to import the Leaf package both with or without a Vapor project.
Example Folder Structure¶
Hello ├── Config │ ├── app.json │ ├── crypto.json │ ├── droplet.json │ ├── fluent.json │ └── server.json ├── Package.pins ├── Package.swift ├── Public ├── README.md ├── Resources │ ├── Views │ │ │ └── hello.leaf ├── Public │ ├── images (images resources) │ ├── styles (css resources) ├── Sources │ ├── App │ │ ├── Config+Setup.swift │ │ ├── Controllers │ │ │ └── PostController.swift │ │ ├── Droplet+Setup.swift │ │ ├── Models │ │ │ └── Post.swift │ │ └── Routes.swift │ └── Run │ └── main.swift ├── Tests │ ├── AppTests │ │ ├── PostControllerTests.swift │ │ ├── RouteTests.swift │ │ └── Utilities.swift │ └── LinuxMain.swift ├── circle.yml └── license
With Vapor¶
The easiest way to use Leaf with Vapor is to include the Leaf provider.
import PackageDescription let package = Package( name: "Project", dependencies: [ .Package(url: "https://github.com/vapor/vapor.git", majorVersion: 2), .Package(url: "https://github.com/vapor/leaf-provider.git", majorVersion: 1) ], exclude: [ ... ] )
The Leaf provider package adds Leaf to your project and adds some additional, Vapor-specific conveniences like drop.stem()
.
Use import LeafProvider
.
Just Leaf¶
At the core of the Leaf provider is a fast, pure Swift templating engine. You can use it with any of your Swift packages or server-side Swift applications.
import PackageDescription let package = Package( name: "Project", dependencies: [ ... .Package(url: "https://github.com/vapor/leaf.git", majorVersion: 2) ], exclude: [ ... ] )
Use import Leaf
to access the Leaf.Stem
class.