PHPackages                             amoschou/grapho - 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. amoschou/grapho

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

amoschou/grapho
===============

Create book as a Laravel app from a folder of Markdown files.

0171PHP

Since Dec 7Pushed 2y ago1 watchersCompare

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

READMEChangelogDependenciesVersions (1)Used By (0)

Grapho
======

[](#grapho)

Create book as a Laravel app from a folder of Markdown files.

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

[](#installation)

Require the package with:

```
composer require amoschou/grapho

```

Then publish the vendor files, if desired:

```
php artisan vendor:publish --tag=grapho-config
php artisan vendor:publish --tag=grapho-views

```

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

[](#configuration)

Create a new folder at `resources/src/grapho` (or where you configured the path) and place the Markdown files here.

The route prefix is inserted in the URLs for each page.

The GitHub repo is where the Markdown files are sourced from. This is information is used for 'Edit this page' buttons.

Browse to `example.com/docs` to see the rendered Markdown files.

Structure of the Markdown folder
--------------------------------

[](#structure-of-the-markdown-folder)

By default, the Markdown folder is located at `resources/src/grapho`. Place all Markdown files in folders, in a tree structure. All markdown files must have a `.md` suffix in the filename. The `.md` suffix is not allowed on a folder.

Markdown files can contain YAML front matter, with two key-value pairs `title` and `ord`:

```
---
title: The title of the page
ord: 3
---

# Continue writing markdown in this file.

```

The title is used in the table of contents and in breadcrumb navigation. The ord is a number that is used to order the files and folders. Without this information, the default title is taken to be the filename (without `.md` suffix) and the default ord is taken to be `0`. If more than one folder or file has the same ord, they are listed in no particular order (which is probably alphabetical order).

Folders can also have titles and orders defined with a `_index.yaml` file inside the folder.

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity20

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/aa4be615bac15468dde73285a67f8afe8d64941aa73a5e093653b840ad90e643?d=identicon)[amoschou](/maintainers/amoschou)

---

Top Contributors

[![amoschou](https://avatars.githubusercontent.com/u/4948673?v=4)](https://github.com/amoschou "amoschou (213 commits)")

### Embed Badge

![Health badge](/badges/amoschou-grapho/health.svg)

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

###  Alternatives

[lizardmedia/module-product-attachments

Products attachment by LizardMedia

4125.3k1](/packages/lizardmedia-module-product-attachments)

PHPackages © 2026

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