1.0.11 • Published 1 year ago

@istree/11ty v1.0.11

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Usage

Apply Filters

function eleventy(config) {
    const filters = require('@istree/11ty');
    filters.init(config);
}

same as

function eleventy(config) {
    const filters = require('@istree/11ty');
    for(let key in filters) {
        config.addFilter(key, filters[key]);
    }
}
module.exports = eleventy;

slice

latest 10 posts

{% assign latest10Posts = collections['blog'] | reverse | slice : '0', '10' %}

keys

{% assign tagList = collections | keys | sort %}

concat

{% for tag in tagList %}
    {% assign aHref = '/tags/' | concat : tag, '/' %}
    <a href="{{ aHref }}" rel="permalink">{{ tag }}</a></br>
{% endfor %}

filter

Apply condition to collections

{% assign pageList = collections['11ty']
| filter: 'data.type', '==', 'docs'
| filter: 'fileSlug', '!=', '11ty'
| sortByProp : 'data.title'
%}

normalize

{
  "permalink": "/posts/{{ page.fileSlug | normalize }}/"
}

removeHyphen

{{ page.fileSlug | removeHyphen}}

dateTime

{{ page.date | dateTime: '/y/M/d/' }}

sort

{% assign tagList = collections | keys | sort %}

sortByProp

{% assign postList = collections[tag] | sortByProp : 'data.title' %}

groupBy

post by year

{% assign postsByYearList = collections['blog'] | groupBy: 'date', 'dateTime', 'y' | reverse %}

nested loop

{% for postsByYear in postsByYearList %}
    <h1>{{postsByYear.name}}</h1>
    {% assign postsByMonth = postsByYear.values | groupBy: 'date', 'dateTime', 'M' | reverse %}
    {% for postsEachMonth in postsByMonth %}
        <h2>{{ postsEachMonth.name }}</h2>
        {% for post in postsEachMonth.values %}
            <a href="{{ post.url }}" rel="permalink">{{ post.fileSlug }}</a><br/>
        {% endfor %}
    {% endfor %}
{% endfor %}

groupByExt

post by year

{% assign postsByYearGroup = collections['blog']
| groupByExt: "['date', 'dateTime', 'y' ]", "['reverse']" | eachName: "['concat', ' Year']"
| groupByExt: "['date', 'dateTime', 'M' ]", "['reverse']" | eachName: "['concat', ' Month']"
| eachValues: "['reverse']"
%}

nested loop

{% for postsByYear in postsByYearGroup %}
    <h1>{{ postsByYear.name }}</h1>
    {% for postsByMonth in postsByYear.values %}
        <h2>{{ postsByMonth.name }}</h2>
        {% for post in postsByMonth.values %}
            <a href="{{ post.url }}" rel="permalink">{{ post.fileSlug }}</a><br/>
        {% endfor %}
    {% endfor %}
{% endfor %}

defaultTitle

{
    "eleventyComputed": {
        "title": "{{ title | defaultTitle : page.fileSlug }}"
    }
}

defaultPageTitle

{{ post | defaultPageTitle }}

print

equal to console.log

{% assign posts = 'any string' | print: 'apple', 'car' %}
1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.5

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago