PHPackages                             chattervast/liquid-letters - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. chattervast/liquid-letters

ActiveCraft-plugin[Utility &amp; Helpers](/categories/utility)

chattervast/liquid-letters
==========================

Count words, get reading times, and convert text to list items.

00PHP

Since Oct 21Pushed 4y ago1 watchersCompare

[ Source](https://github.com/chattervast/Liquid-Letters)[ Packagist](https://packagist.org/packages/chattervast/liquid-letters)[ RSS](/packages/chattervast-liquid-letters/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Liquid Letters plugin for Craft CMS 3.x
=======================================

[](#liquid-letters-plugin-for-craft-cms-3x)

Count words, get reading times, and convert text to list items.

[![Screenshot](resources/img/plugin-logo.png)](resources/img/plugin-logo.png)

Requirements
------------

[](#requirements)

This plugin requires Craft CMS 3.0.0-beta.23 or later.

Installation
------------

[](#installation)

To install the plugin, search for Liquid Letters in the plugin store or follow these instructions.

1. Open your terminal and go to your Craft project:

    ```
     cd /path/to/project

    ```
2. Then tell Composer to load the plugin:

    ```
     composer require chattervast/liquid-letters

    ```
3. In the Control Panel, go to Settings → Plugins and click the “Install” button for Liquid Letters.

Liquid Letters Overview
-----------------------

[](#liquid-letters-overview)

Liquid Letters adds Twig filters to count words, give reading times, and convert text to list items.

Using Word Count
----------------

[](#using-word-count)

`{{ entry.field | wordCount }}`

Will output

`100`

Using Read Time
---------------

[](#using-read-time)

The `readTime` filter requires a timing parameter of seconds(`sec`), minutes(`min`), hours(`hr`), or days(`day`, just for fun!).

###### Seconds

[](#seconds)

`{{ entry.field | readTime('sec')`

###### Minuts

[](#minuts)

`{{ entry.field | readTime('min')`

###### Hours

[](#hours)

`{{ entry.field | readTime('hr')`

###### Days

[](#days)

`{{ entry.field | readTime('day')`

The output will be the number of the duration to read. If no timing or an invalid timing is submitted, the filter will return the text `timing invalid`.

Using To List
-------------

[](#using-to-list)

`| toList` will convert a multiline text field (rich text) into an unordered list.

If `{{ entry.field }}` is: `

The quick brown fox...

...an oft repeated sententce.

Much ado about this.` `{{ entry.field | toList }}` will return: `The quick brown fox......an oft repeated sentence.Much ado about this.`

|toList accepts 1 parameter to change its output. Passing 'ol' will output a numbered list. `{{ entry.field | toList('ol') }}` will return: `The quick brown fox......an oft repeated sentence.Much ado about this.`

Passing 'li' will only return the list items. `{{ entry.field | toList('li') }}` will return: `The quick brown fox......an oft repeated sentence.Much ado about this.`

Brought to you by [Chattervast](https://github.com/chattervast)

###  Health Score

14

—

LowBetter than 1% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity28

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/c7124d795c74d5abc96161c7cf0d4d13613aae294823a39842846d8aed7e97ac?d=identicon)[chattervast](/maintainers/chattervast)

---

Top Contributors

[![chattervast](https://avatars.githubusercontent.com/u/72415207?v=4)](https://github.com/chattervast "chattervast (2 commits)")

### Embed Badge

![Health badge](/badges/chattervast-liquid-letters/health.svg)

```
[![Health](https://phpackages.com/badges/chattervast-liquid-letters/health.svg)](https://phpackages.com/packages/chattervast-liquid-letters)
```

###  Alternatives

[webdevstudios/cmb2-attached-posts

Custom field for CMB2 for creating post relationships.

13465.7k](/packages/webdevstudios-cmb2-attached-posts)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
