Giter Club home page Giter Club logo

v-tmpl's Introduction

v-tmpl

An implementation of the compile time template system for generic use. Striving to be compatible with and to extend the existing V $tmpl() system.

This is highly experimental, most features are not properly implemented and there are some edge cases. Be warned.

PRs welcome!

Basic Usage

import tmpl

fn main() {
	mut context := map[string]tmpl.Any
	
	context = {
		'name' : 'Peter'
		'age' : 25
		'numbers' : [tmpl.Any(1), 2, 3]
	}

	a := 
"name: @name

age: @age

numbers: @numbers

@for number in numbers
  @number
@end

@include README.md"

	b := tmpl.template_string(a, context) or {
		panic(err)
	}

	assert b.split_into_lines()[0] == "name: Peter"
	assert b.split_into_lines()[2] == "age: 25"
	assert b.split_into_lines()[4] == "numbers: [1, 2, 3]"
}
(template error) file.tmpl:9:1: value not found in template context
(template error) file.tmpl:7:1: unhandled template statement
(template error) file.tmpl:11:1: file to include could not be opened

v-tmpl's People

Contributors

l1mey112 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.