jeffersongoncalves/filament-documentation

A Filament plugin to add markdown-based documentation to your admin panel.

Maintainers

Package info

github.com/jeffersongoncalves/filament-documentation

pkg:composer/jeffersongoncalves/filament-documentation

Fund package maintenance!

jeffersongoncalves

Statistics

Installs: 128

Dependents: 0

Suggesters: 0

Stars: 9

Open Issues: 1

v3.0.6 2026-03-04 02:24 UTC

README

Filament Documentation

Filament Documentation Plugin

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status

A Filament plugin to add markdown-based documentation directly inside your admin panel. Inspired by nova-documentation.

Features

  • Read .md files from a configurable directory (resources/docs/)
  • Parse YAML frontmatter for title, order, and custom path
  • Render Markdown with GitHub Flavored Markdown support
  • Syntax highlighting via highlight.js with copy-to-clipboard
  • Dynamic sidebar with nested directory support (collapsible groups)
  • Heading permalinks for deep linking
  • Relative .md links auto-converted to panel routes
  • Light and dark mode support
  • Authorization control via policies
  • Configurable cache for parsed content
  • Artisan install command (php artisan docs:install)

Version Compatibility

Branch Filament Laravel PHP Livewire
1.x 3.x 10+ 8.1+ 3.x
2.x 4.x 11+ 8.2+ 3.x
3.x 5.x 12+ 8.2+ 4.x

Screenshots

Screenshot Light Dark
Docs home docs-home docs-home
Docs installation docs-installation docs-installation
Docs configuration docs-configuration docs-configuration
Docs advanced docs-advanced docs-advanced

Installation

You can install the package via composer:

composer require jeffersongoncalves/filament-documentation

Optionally, publish the config and example docs:

php artisan docs:install

Or publish individually:

php artisan vendor:publish --tag=filament-documentation-config
php artisan vendor:publish --tag=filament-documentation-docs

Setup

Register the plugin in your PanelProvider:

use JeffersonGoncalves\FilamentDocumentation\FilamentDocumentationPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentDocumentationPlugin::make()
                ->slug('docs')
                ->navigationLabel('Documentation')
                ->navigationIcon('heroicon-o-book-open')
                ->navigationGroup('Help')
                ->navigationSort(99)
                ->withAuthorization(false),
        ]);
}

Writing Documentation

Place your .md files in resources/docs/ (configurable via config/filament-documentation.php).

Frontmatter

Each file supports optional YAML frontmatter:

---
title: "Getting Started"
path: home
order: 1
---
Key Description
title Page title (overrides first H1)
path Custom URL slug
order Sort order in sidebar

Nested Directories

Subdirectories become collapsible groups in the sidebar:

resources/docs/
├── home.md
├── installation.md
├── configuration.md
└── advanced/
    ├── overview.md
    ├── authorization.md
    └── customization.md

Relative Links

Link between docs using relative .md paths — they are automatically converted to panel routes:

- [Installation](installation.md)
- [Advanced](advanced/overview.md)

Configuration

// config/filament-documentation.php

return [
    'title'         => env('DOCS_TITLE', 'Documentation'),
    'docs_path'     => resource_path('docs'),
    'home'          => 'home.md',
    'cache_minutes' => env('DOCS_CACHE', 10),  // 0 to disable
    'login_route'   => null,
];

Plugin Options

Method Default Description
slug() 'docs' URL path: /admin/docs
navigationLabel() 'Documentation' Sidebar label
navigationIcon() heroicon-o-book-open Sidebar icon
navigationGroup() null Sidebar group
navigationSort() 99 Sort order
withAuthorization() false Require viewDocumentation gate

Authorization

Enable authorization to restrict access:

FilamentDocumentationPlugin::make()
    ->withAuthorization(true)

Then define a gate:

Gate::define('viewDocumentation', function ($user) {
    return $user->hasRole('admin');
});

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please see SECURITY for details.

License

The MIT License (MIT). Please see License File for more information.