Skip to content

stepci/liquidless

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

liquidless

Shopify's Liquid template engine, but less powerful. Perfect for configuration files

Get Started

Install the dependency from npm:

npm i liquidless

Import the renderString function

import { renderString } from 'liquidless'

Usage

Example: Rendering a string

renderString('Hello, {{ world }}', { world: 'world!' })

Outputs:

Hello, world!

Example: Using filters

renderString('Hello, {{ world | upcase }}', { world: 'world!' })

Outputs:

Hello, WORLD!

Example: Supplying custom filters

renderString('Hello, {{ world | something: 1, 2, 3 }}', { world: 'world!' }, {
  filters: {
    something: (value, args, variable) => `${value} ${args.join(', ')} (${variable})`
  }
})

Outputs:

Hello, world! 1, 2, 3 (world)

Example: Rending values in an object

import { renderObject } from 'liquidless'
renderObject([{hello: {world: '{{ world }}'}}], { world: 'world!' })

Outputs

[{hello: {world: 'world!'}}]

Filters

  • upcase - converts each character of a string to uppercase
  • downcase - each character of a string to lowercase
  • toInt - converts a value to Int
  • toFloat - converts a value to Float
  • toString - converts a value to String