mirror of https://github.com/vapor/docs.git
2.2 KiB
2.2 KiB
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.