1
0
mirror of https://github.com/danog/liquid.git synced 2025-01-22 23:11:25 +01:00
2017-06-27 11:12:58 -04:00
2017-06-27 10:45:22 -04:00
2017-06-25 16:21:31 -04:00
2017-06-26 10:16:02 -04:00
2017-06-27 07:43:42 -04:00
2017-06-26 15:36:29 -04:00
2017-06-26 10:36:53 -04:00
2017-06-26 15:36:05 -04:00
2017-06-27 07:43:42 -04:00

Go Liquid Template Parser

goliquid is a very early-stage Go implementation of the Shopify Liquid template language, for use in Gojekyll.

Status

Build Status Go Report Card

  • Basics
    • Literals
      • String Escapes
    • Variables
    • Operators
    • Arrays
    • Whitespace Control
  • Tags
    • Comment
    • Control Flow
      • if/else/elsif
      • unless
      • case/when
    • Iteration - [ ] for - [ ] limit, offset, range, reversed - [ ] break, continue - [ ] loop variables - [ ] tablerow - [ ] cycle
    • Raw
    • Variable
      • Assign
      • Capture
  • Filters

Install

go get -u github.com/osteele/goliquid

Contribute

Setup

go get golang.org/x/tools/cmd/stringer
go install golang.org/x/tools/cmd/goyacc

Install Ragel. On macOS: brew install ragel.

Workflow

go generate ./...
go test ./...

Test just the scanner:

cd expressions
ragel -Z scanner.rl && go test

Attribution

Michael Hamrah's Lexing with Ragel and Parsing with Yacc using Go was essential to understanding go yacc.

License

MIT License

Description
No description provided
Readme 3.2 MiB
Languages
Go 95.6%
Yacc 2.3%
Ragel 1.2%
Makefile 0.6%
Shell 0.2%
Other 0.1%