Search by

dg / texy

david@grudl.com

This package is abandoned and no longer maintained. The author suggests using the texy/texy package instead.

📜 Texy: a text-to-HTML engine with its own easy-to-read markup, which you can change or extend, and real typography with proper quotes, dashes and non-breaking spaces. Always valid, sanitized HTML.

Package info

github.com/dg/texy

Homepage

Language:HTML

pkg:composer/dg/texy

Statistics

Installs: 135 373

Dependents: 10

Suggesters: 0

Stars: 159

v3.2.8 2026-02-23 02:30 UTC

README

Downloads this Month Tests Coverage Status Latest Stable Version License

Texy is a text-to-HTML engine for lightweight markup languages, written in PHP. It turns human-readable plain text into structurally valid HTML – complete with images, links, nested lists, and tables – no knowledge of HTML required.

Above all, Texy is an engine. It ships with its own rich, easy-to-read markup, but nothing about that syntax is set in stone: every rule can be switched on or off, redefined, or extended with your own. You can reshape Texy to speak a different dialect entirely – and one of them already exists, see Markdown below.

And Texy is a typographer at heart. It swaps straight quotes for typographically correct ones, hyphens for dashes, the letter x for the dimension sign, and applies many more refinements so your text reads like it was professionally typeset.

Install Texy via Composer:

composer require texy/texy

Texy requires PHP 8.2 or higher.

Usage

$texy = new Texy;
$html = $texy->process($text);

For untrusted input, always enable safe mode, which restricts the output to a safe subset of HTML:

Texy\Configurator::safeMode($texy);
$html = $texy->process($text);

Markdown

texy/markdown is a companion package that parses CommonMark and GitHub Flavored Markdown – the whole specification, all five extensions – into this same AST:

composer require texy/markdown

$markdown = Texy\Markdown\Markdown::gfm();
$html = $markdown->toHtml($text, $texy);

Because the tree is the same one, a Markdown document goes out through the renderer above and gets everything Texy does to a Texy one: typography, HTML sanitization, well-forming, Latte integration. The package renders a Texy AST back to Markdown as well, so converting between the two languages is a matter of picking a parser and a renderer.

Documentation and Examples

The full manual is on the homepage https://texy.deegee.dev. The docs/ directory holds the reference for using and extending Texy:

  • Syntax reference – complete reference of the Texy markup language, including syntaxes that are disabled by default
  • Configuration – all configuration options, the Configurator presets, and security (safe mode)
  • Custom handlers – changing the behavior of existing constructs via renderer handlers and AST passes
  • Custom syntax – adding brand-new markup constructs
  • Upgrading – migration guide from Texy 3

The examples/ directory contains ready-to-run demos.

Support Me

Do you like Texy? Are you looking forward to the new features?

Buy me a coffee

Thank you!