Comments (4)
I actually wrote the solution myself; maybe this can be useful for someone else ..
This is a simple import node, the rendered output is discarded as well so the macro file can have space and comments between macros blocks 💃
I use it at the top of my template files
{% import "Macros.swift" %}
import Foundation
class ImportNode : NodeType {
let templateName: Variable
class func parse(_ parser: TokenParser, token: Token) throws -> NodeType {
let bits = token.components()
guard bits.count == 2 else {
throw TemplateSyntaxError("'import' tag requires one argument, the template file to be imported.")
}
return ImportNode(templateName: Variable(bits[1]))
}
init(templateName: Variable) {
self.templateName = templateName
}
func render(_ context: Context) throws -> String {
guard let templateName = try self.templateName.resolve(context) as? String else {
throw TemplateSyntaxError("'\(self.templateName)' could not be resolved as a string")
}
let template = try context.environment.loadTemplate(name: templateName)
_ = try template.render(context)
return ""
}
}
from stencilswiftkit.
@nferruzzi this will be a nice thing to have, but I couldn't find any PR for that.
from stencilswiftkit.
cool I'll prepare one in the next days
from stencilswiftkit.
Hi @nferruzzi this is exactly what I am looking for.
When is "in the next days"? 😝
It would be really cool to see this in Sourcery.
from stencilswiftkit.
Related Issues (20)
- Change our filters to accept a `mode` parameter instead of a boolean.
- SwiftIdentifier filter: add modes for more flexibility
- Replace filter: unescape backslashes HOT 7
- Map only works with strings HOT 14
- Make `Filter`s public HOT 2
- Test Swift 4.2 (or drop support for it) HOT 4
- swiftIdentifier converts all caps to title case HOT 3
- new release
- HEX Data for Colors.xcassets HOT 1
- question: is map supported for dictionaries? HOT 1
- Adding spm dependency on StencilSwiftKit causes warning in project, soon to be error HOT 2
- question: how to combine keys of multiple dictionaries in a single list and remove duplicates
- How can I keep {{ }} in stencil?
- Update to latest Stencil
- Add new increment filter to Numbers
- Create enum from multiple JSONs removing duplicated HOT 1
- Is it possible to use it with Sourcery? HOT 1
- Build failure using Swift 4.2 from Xcode 10 Beta HOT 4
- Release 2.6.0 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stencilswiftkit.