PHPackages                             indigoviking/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. indigoviking/liquid-letters

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

indigoviking/liquid-letters
===========================

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

1.2(7y ago)2719MITPHP

Since Nov 5Pushed 7y agoCompare

[ Source](https://github.com/IndigoViking/Liquid-Letters)[ Packagist](https://packagist.org/packages/indigoviking/liquid-letters)[ RSS](/packages/indigoviking-liquid-letters/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (4)Dependencies (1)Versions (6)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 indigoviking/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 [The Indigo Viking](https://www.theindigoviking.com)

###  Health Score

30

—

LowBetter than 65% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity65

Established project with proven stability

 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.

###  Release Activity

Cadence

Every ~9 days

Total

5

Last Release

2705d ago

### Community

Maintainers

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

---

Top Contributors

[![IndigoViking](https://avatars.githubusercontent.com/u/37722046?v=4)](https://github.com/IndigoViking "IndigoViking (9 commits)")

---

Tags

cmsCraftcraftcmscraft-pluginliquid letters

### Embed Badge

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

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

###  Alternatives

[verbb/navigation

Create navigation menus for your site.

90683.7k17](/packages/verbb-navigation)[verbb/formie

The most user-friendly forms plugin for Craft.

101372.9k40](/packages/verbb-formie)[verbb/comments

Add comments to your site.

13753.1k](/packages/verbb-comments)[verbb/tablemaker

Create customizable and user-defined table fields.

40168.8k1](/packages/verbb-tablemaker)[supercool/tablemaker

Create customizable and user-defined table fields.

40141.7k](/packages/supercool-tablemaker)[pennebaker/craft-architect

CraftCMS plugin to generate content models from JSON/YAML data.

72148.5k5](/packages/pennebaker-craft-architect)

PHPackages © 2026

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