PHPackages                             psmb/term - 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. psmb/term

ActiveNeos-package[Utility &amp; Helpers](/categories/utility)

psmb/term
=========

Replace occurrences of terms with links to them

3.0.1(9y ago)11.2k↓100%MITPHP

Since Dec 19Pushed 9y ago1 watchersCompare

[ Source](https://github.com/psmb/Psmb.Term)[ Packagist](https://packagist.org/packages/psmb/term)[ RSS](/packages/psmb-term/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (1)Versions (8)Used By (0)

This package will help you to automatically link all occurrences of your terms within given text. Great for SEO and stuff.

Usage
-----

[](#usage)

### 1. Install the package

[](#1-install-the-package)

```
composer require psmb/term

```

### 2. Add `Psmb.Term:TermMixin` to the nodetypes that you want to use as terms

[](#2-add-psmbtermtermmixin-to-the-nodetypes-that-you-want-to-use-as-terms)

```
'Your.NodeTypes:Tag':
  superTypes:
    'Psmb.Term:TermMixin': true

```

### 3. Process any text you want with `Psmb.Term:ReplaceTerms` TS object

[](#3-process-any-text-you-want-with-psmbtermreplaceterms-ts-object)

E.g. if you want terms to be replaced in all Text nodes:

```
prototype(Neos.Neos.NodeTypes:Text) {
	text.@process.replaceTags = Psmb.Term:ReplaceTerms
}

```

Processor has option `absolute` which would force creation of absolute uris.

### 4. Create term nodes

[](#4-create-term-nodes)

You may also fill-in their `replaceVariants` property for alternative spelling variants, separated by comma, supporting regexp, "+" expands into "\\w\*?". E.g. `duck+` matches `duck`, `ducks`, `ducklings` etc.

###  Health Score

32

—

LowBetter than 71% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity68

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 ~15 days

Recently: every ~21 days

Total

7

Last Release

3336d ago

Major Versions

1.0.x-dev → 2.0.12016-12-27

2.0.3 → 3.0.02017-03-03

### Community

Maintainers

![](https://www.gravatar.com/avatar/6e7861363bc4d9a01d804fb1823366c3e59f339542e3a4ea89f7cea7b0ea91af?d=identicon)[dimaip](/maintainers/dimaip)

---

Top Contributors

[![dimaip](https://avatars.githubusercontent.com/u/837032?v=4)](https://github.com/dimaip "dimaip (77 commits)")

---

Tags

neoscms

### Embed Badge

![Health badge](/badges/psmb-term/health.svg)

```
[![Health](https://phpackages.com/badges/psmb-term/health.svg)](https://phpackages.com/packages/psmb-term)
```

###  Alternatives

[neos/eel

The Embedded Expression Language (Eel) is a building block for creating Domain Specific Languages

122.0M27](/packages/neos-eel)[neos/form

Extensible and flexible API for building web forms

18853.0k40](/packages/neos-form)[neos/fusion-form

Fusion Form

19724.3k31](/packages/neos-fusion-form)[ttree/scheduler

Simple task scheduler for Neos Flow Framework

21108.8k1](/packages/ttree-scheduler)[avency/neos-vardump

Neos VarDump Package

147.1k](/packages/avency-neos-vardump)[flowpack/task

A Task scheduler for Neos Flow

1136.3k1](/packages/flowpack-task)

PHPackages © 2026

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