Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Typograph Bundle Laravel Package

it-blaster/typograph-bundle

Typograph Bundle integrates the Typograf typography engine into PHP projects, automatically correcting quotes, dashes, spacing, and punctuation in Russian and other texts. It cleans HTML output and delivers polished, professional-looking content with minimal setup.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Editorial quality as a feature, not a chore. Typographic polishing—curly quotes, em/en dashes, non-breaking spaces, no orphaned prepositions—measurably raises perceived product quality in CMS content, marketing pages, email, and PDF exports without asking authors to change behavior.
  • Localization roadmap for Cyrillic markets. Muravjev's Typograph is built around Russian typographic rules; if RU/UK/BE is on the roadmap, this is domain logic we would otherwise have to hand-roll and maintain as regex tables.
  • Build vs. buy for text normalization. The reusable asset is the rules engine, not the framework wrapper. This package bundles the engine for Symfony; the underlying library is what we'd actually depend on.
  • Where to apply it (surface-level decision). Best candidates: article bodies at render time, transactional email templates, PDF/invoice exports, product descriptions from supplier imports, SEO/OG descriptions. Worst candidate: anywhere text is contractually verbatim.
  • Raw vs. polished storage. A decision worth making explicitly: store raw text, transform on display. This makes the feature reversible and A/B-testable.

When to Consider This Package

Adopt (or rather, mine it) when:

  • You are genuinely on Symfony, where the bundle's DI wiring and config give real value out of the box.
  • You need Russian-language typography rules and want to avoid writing and maintaining that ruleset.
  • The blast radius is small and reversible—display-time text transformation that can be disabled per surface.
  • You are willing to vendor or fork it.

Look elsewhere when:

  • You are on Laravel. This is a Symfony Bundle—it will not install or boot in Laravel. Use the underlying typographer behind a Laravel service provider, a Blade directive, or response middleware. That's roughly 50 lines of glue.
  • Maintenance matters. Last release 2015-08-25, 1 star, 0 dependents, effectively single-maintainer and abandoned. There is no assurance of PHP 8.x or modern Symfony compatibility, and no security/support posture. Do not take this as a live runtime dependency un-vetted.
  • A maintained alternative exists for your case: client-side typography in the editor (Tiptap/TinyMCE plugins), a hosted Typograf service, or a maintained community fork of the Muravjev engine.
  • The content is legally or financially significant and must remain byte-for-byte verbatim.

How to Pitch It (Stakeholders)

Executive summary. This is a small, MIT-licensed typography rules engine (E. Muravjev's Typograph) packaged as a Symfony bundle. It upgrades existing text to typeset quality—correct quotes, dashes, spacing, and Russian-language rules—at essentially zero authoring cost. The catch is packaging, not concept: the wrapper is Symfony-only, has seen no release since 2015, and has no ecosystem (1 star, 0 dependents). Recommendation: do not adopt the package; adopt the capability. Implement the underlying typographer as a thin Laravel service plus a Blade directive and optional response middleware, pinned and vendored. Effort is days, not weeks; risk is contained because the transformation is display-time, toggleable, and never mutates stored content. The upside is a visible editorial-quality lift, and a real differentiator if we localize to Russian.

Engineering note. Treat it as a presentation-layer transform with a feature flag per surface. Pin the dependency, vendor the rules, and keep the integration boundary small enough that swapping engines later is a one-file change.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource