PHPackages                             oliverthiele/ot-markdown - 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. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. oliverthiele/ot-markdown

ActiveTypo3-cms-extension[Parsing &amp; Serialization](/categories/parsing)

oliverthiele/ot-markdown
========================

Content Element and ViewHelper for Markdown with optional syntax highlighting.

v1.0.8(2mo ago)1277↓33.3%GPL-2.0-or-laterPHPPHP ^8.2

Since Oct 16Pushed 2mo agoCompare

[ Source](https://github.com/oliverthiele/ot-markdown)[ Packagist](https://packagist.org/packages/oliverthiele/ot-markdown)[ RSS](/packages/oliverthiele-ot-markdown/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (10)Versions (11)Used By (0)

ot\_markdown — Markdown Content Element for TYPO3
=================================================

[](#ot_markdown--markdown-content-element-for-typo3)

Adds a Markdown content element and a Fluid ViewHelper to TYPO3 v13+. Supports inline Markdown and `.md` files from Fileadmin, rendered via [league/commonmark](https://commonmark.thephpleague.com/) with optional Prism.js syntax highlighting.

[![TYPO3](https://camo.githubusercontent.com/ff624ed071afbc7085dcd4f99f2358379f8284ba14ae6891eab075f69c55929f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5459504f332d31332e342d6f72616e67652e737667)](https://typo3.org/)[![Packagist Version](https://camo.githubusercontent.com/de2751ef459052849d660b828f0b9bcf252c005f69dfec81ceb1a6dbc0018920/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6f6c69766572746869656c652f6f742d6d61726b646f776e2e737667)](https://packagist.org/packages/oliverthiele/ot-markdown)[![PHP](https://camo.githubusercontent.com/6c3847a73b257497c2c29790738c3f3f5a40ded0e6128d8b4e3ba10796b7ebc3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f6f6c69766572746869656c652f6f742d6d61726b646f776e2f7068702e737667)](https://php.net/)[![License](https://camo.githubusercontent.com/aaebdc409eaecd461e696f68d918b6c3f20d4f06b55f0b460be59da5b4d8595b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6f6c69766572746869656c652f6f742d6d61726b646f776e2e737667)](LICENSE)[![Changelog](https://camo.githubusercontent.com/6bc02a7bc61afc1cb3faaa53420df6d904b9940d7f3e2e11a463e1fdbb3cd52d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4368616e67656c6f672d4348414e47454c4f472e6d642d626c75652e737667)](CHANGELOG.md)

Features
--------

[](#features)

- TYPO3 v13+ compatible (Site Set ready)
- Inline or file-based Markdown rendering (`.md`, `.markdown`, `.txt`)
- Optional syntax highlighting via Prism.js (CDN toggle)
- Frontmatter metadata support (`title`, `author`, …)
- Accessible output using semantic `` and `` elements
- Reusable `MarkdownViewHelper` for custom Fluid templates
- Configurable via Site Set settings and TypoScript

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

[](#requirements)

RequirementVersionTYPO3^13.4PHP^8.2league/commonmark^2.7Installation
------------

[](#installation)

```
composer require oliverthiele/ot-markdown
```

After installation, activate the **Site Set "OtMarkdown"** for your site in the TYPO3 backend.

Configuration
-------------

[](#configuration)

### Site Set Settings

[](#site-set-settings)

KeyTypeDefaultDescription`OtMarkdown.useCdnForPrism`bool`true`Load Prism.js from CDN### TypoScript

[](#typoscript)

The TypoScript is auto-included via the Site Set. For manual integration without Site Set:

```
@import 'EXT:ot_markdown/Configuration/TypoScript/constants.typoscript'
@import 'EXT:ot_markdown/Configuration/TypoScript/setup.typoscript'

```

Default content element configuration:

```
tt_content.ot_markdown =< lib.contentElement
tt_content.ot_markdown {
    templateName = Markdown
    dataProcessing {
        10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
        10.references.fieldName = assets
        10.as = markdownFiles
    }
}

```

Usage
-----

[](#usage)

### Content Element

[](#content-element)

Select **"Markdown"** as content type (`CType = ot_markdown`) in the TYPO3 backend. Choose between:

- **Inline** — enter Markdown directly in the text field
- **File** — select a `.md`, `.markdown`, or `.txt` file from Fileadmin

### ViewHelper

[](#viewhelper)

```
{namespace ot=OliverThiele\OtMarkdown\ViewHelpers}

    {output.html}

```

Access frontmatter metadata via `{output.frontmatter.title}`, `{output.frontmatter.author}`, etc.

### PHP API

[](#php-api)

```
use OliverThiele\OtMarkdown\Service\MarkdownService;
use TYPO3\CMS\Core\Utility\GeneralUtility;

$service = GeneralUtility::makeInstance(MarkdownService::class);
$html = $service->render('# Hello World');
```

License
-------

[](#license)

GPL-2.0-or-later — © 2025 Oliver Thiele

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance87

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

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

Recently: every ~34 days

Total

9

Last Release

63d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/444a8485d8bda9eb7fbee92b418d929e1eeee50334a3cbb392a38f2eda95f951?d=identicon)[oliverthiele](/maintainers/oliverthiele)

---

Top Contributors

[![oliverthiele](https://avatars.githubusercontent.com/u/5030298?v=4)](https://github.com/oliverthiele "oliverthiele (32 commits)")

---

Tags

documentationmarkdowncommonmarktypo3viewhelperCode highlightingcontent element

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/oliverthiele-ot-markdown/health.svg)

```
[![Health](https://phpackages.com/badges/oliverthiele-ot-markdown/health.svg)](https://phpackages.com/packages/oliverthiele-ot-markdown)
```

###  Alternatives

[daux/daux.io

Documentation generator that uses a simple folder structure and Markdown files to create custom documentation on the fly

825191.0k1](/packages/daux-dauxio)[torchlight/torchlight-commonmark

A Commonmark extension for Torchlight, the syntax highlighting API.

29256.6k6](/packages/torchlight-torchlight-commonmark)[georgringer/doc

Render documentation based on markdown files directly in the backend

2232.7k](/packages/georgringer-doc)[bookdown/bookdown

Provides DocBook-like rendering of Markdown files.

8257.6k16](/packages/bookdown-bookdown)[zoon/commonmark-ext-youtube-iframe

Extension for league/commonmark to replace youtube link with iframe

12275.9k1](/packages/zoon-commonmark-ext-youtube-iframe)

PHPackages © 2026

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