0.0
No commit activity in last 3 years
No release in over 3 years
Liquid filters for shopify template engine. Designed to be used with jekyll.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 4.0
 Project Readme

Description

Gem Version Build Status

Liquid filters for shopify liquid template engine.
This ruby gem is a port of frozen-filters-js.

Installation

gem install frozen-filters

Usage

Usage outside jekyllrb:

require 'liquid'
require 'frozen-filters'

vars = {
  'url' => 'http://www.example.com/first/second/index.html?param1=value1&param2=value2'
}

@template = Liquid::Template.parse('{{ url | remove_ext }}')
@template.render(vars)  # http://www.example.com/first/second/index?param1=value1&param2=value2

Usage within jekyllrb:

  • Add to blog Gemfile:
gem "frozen-filters", "~> 0.3.0"
  • Add to plugins section of blog _config.yml:
  - frozen-filters
  • Use the filters on any liquid page. e.g.
{{ "/assets/main.css" | remove_ext }}

Filters

Url Filters

  • remove_ext - Removes the extension part of an url.
    e.g. http://www.example.com/first/second/index?param1=value1&param2=value2.

  • remove_qs - Removes the query string part of an url. e.g. http://www.example.com/first/second/index.html.

  • extract_basename - Returns the basename of an url. e.g. index.html.

  • extract_dirname - Returns the dirname of an url. e.g. /first/second.

  • extract_path - Returns the path of an url. e.g. /first/second/index.html.

  • extract_protocol - Returns the protocol. e.g. http.

  • extract_qs - Returns the query string. e.g. param1=value1&param2=value2.

Array Filters

  • array_head - Returns the first N elements of an array.
    e.g. {{ ["first","second","third"] | array_head: 2 }} =~ ["first","second"].
    If the number of parameters is negative it returns an empty array.
    The the input isn't an array it returns the untouched input.

  • array_tail - Returns the last N elements of an array.
    e.g. {{ ["first","second","third"] | array_tail: 2 }} =~ ["first","second"].
    If the number of parameters is negative it returns an empty array.
    The the input isn't an array it returns the untouched input.

  • array_to_taglist - Transforms an array into an enclosed html tag list separated by newline.
    e.g. {{ ["first","second" | array_to_taglist: "li" }} returns:

<li>first</li>
<li>second</li>

If the input isn't an array, it returns the untouched input.

Internationalization

The url filters support domains and paths with:

  • non-latin characters.
    e.g. http://吃.高雄/第一/第二/首頁.html?param1=value1&param2=value2.
  • punycodes:
    e.g. https://xn--jp-cd2fp15c.xn--fsq.jp/abc/index.html?param1=value1&param2=value2.

Copyrights

© 2018 Alexandre Bento Freire

License

MIT License+uuid License