PHPackages                             jmsfwk/adf-builder - 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. [PDF &amp; Document Generation](/categories/documents)
4. /
5. jmsfwk/adf-builder

AbandonedArchivedLibrary[PDF &amp; Document Generation](/categories/documents)

jmsfwk/adf-builder
==================

A library that simplifies building documents that follow the Atlassian Document Format structure.

1.0.1(3y ago)317.1k↓41.7%2MITPHPPHP ^7.0|^8.0

Since Mar 23Pushed 3y ago1 watchersCompare

[ Source](https://github.com/jmsfwk/php-adf-builder)[ Packagist](https://packagist.org/packages/jmsfwk/adf-builder)[ RSS](/packages/jmsfwk-adf-builder/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

Atlassian Document Format Builder (PHP)
=======================================

[](#atlassian-document-format-builder-php)

A library that simplifies building documents that follow the Atlassian Document Format structure.

This is based on [pyadf (Python)](https://bitbucket.org/mdoms/pyadf/src/cda38c99d110) and [adf-builder (JavaScript)](https://bitbucket.org/atlassian/adf-builder-javascript).

Installation
------------

[](#installation)

Install the package using

```
composer require jmsfwk/adf-builder

```

Usage
-----

[](#usage)

```
use Jmsfwk\Adf\Document;

$doc = new Document();
$doc->paragraph()
    ->text('See the ')
    ->link('documention', 'https://example.com')
    ->text(' ')
    ->emoji('smile');
```

### Serialization

[](#serialization)

A document can be serialized in different ways:

```
$doc = new Document();
$doc->toJson();      // Returns a compact JSON string
json_encode($doc); // Equivalent to '$doc->toString()'
```

### Examples

[](#examples)

#### Simple paragraphs

[](#simple-paragraphs)

In order to get an output like:

> Hello @joe, please *carefully* read [this contract](https://www.example.com/contract)

You would use:

```
use Jmsfwk\Adf\Document;

$doc = new Document();
$doc->paragraph()
    ->text('Hello ')
    ->mention($id, 'joe')
    ->text(', please ')
    ->em('carefully')
    ->text(' read ')
    ->link('this contract', 'https://www.example.com/contract');
```

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 83.3% 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 ~1531 days

Total

2

Last Release

1447d ago

PHP version history (2 changes)1.0.0PHP ^7.0

1.0.1PHP ^7.0|^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/9892048?v=4)[James Fenwick](/maintainers/jmsfwk)[@jmsfwk](https://github.com/jmsfwk)

---

Top Contributors

[![jmsfwk](https://avatars.githubusercontent.com/u/9892048?v=4)](https://github.com/jmsfwk "jmsfwk (5 commits)")[![MelvinSnijders](https://avatars.githubusercontent.com/u/25155102?v=4)](https://github.com/MelvinSnijders "MelvinSnijders (1 commits)")

---

Tags

adfatlassianatlassian-stridehipchatstride

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/jmsfwk-adf-builder/health.svg)

```
[![Health](https://phpackages.com/badges/jmsfwk-adf-builder/health.svg)](https://phpackages.com/packages/jmsfwk-adf-builder)
```

###  Alternatives

[spatie/browsershot

Convert a webpage to an image or pdf using headless Chrome

5.2k32.1M102](/packages/spatie-browsershot)[barryvdh/laravel-snappy

Snappy PDF/Image for Laravel

2.8k24.8M48](/packages/barryvdh-laravel-snappy)[openspout/openspout

PHP Library to read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way

1.2k57.6M131](/packages/openspout-openspout)[keboola/csv

Keboola CSV reader and writer

1451.8M21](/packages/keboola-csv)[setasign/tfpdf

This class is a modified version of FPDF that adds UTF-8 support. The latest version is based on FPDF 1.85.

426.1M30](/packages/setasign-tfpdf)[aspera/xlsx-reader

Spreadsheet reader library for XLSX files

52742.2k5](/packages/aspera-xlsx-reader)

PHPackages © 2026

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