Weave Code
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

Filament Documentation Laravel Package

jeffersongoncalves/filament-documentation

View on GitHub
Deep Wiki
Context7

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.

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.
comsave/common
alecsammon/php-raml-parser
chrome-php/wrench
lendable/composer-license-checker
typhoon/reflection
mesilov/moneyphp-percentage
mike42/gfx-php
bookdown/themes
aura/view
aura/html
aura/cli
povils/phpmnd
nayjest/manipulator
omnipay/tests
psr-mock/http-message-implementation
psr-mock/http-factory-implementation
psr-mock/http-client-implementation
voku/email-check
voku/urlify
rtheunissen/guzzle-log-middleware