hollodotme / treemdown
A PHP class for browsing markdown files with HTML rendering, syntax highlighting and search
Installs: 34 642
Dependents: 4
Suggesters: 0
Security: 0
Stars: 14
Watchers: 2
Forks: 2
Open Issues: 4
pkg:composer/hollodotme/treemdown
Requires
- php: >=7.1
 - ext-iconv: *
 - erusev/parsedown-extra: ^0.7.0
 
Requires (Dev)
- tm/tooly-composer-script: ^1.0
 
- dev-master
 - v2.0.0-rc1
 - v2.0.0-beta
 - v2.0.0-alpha
 - v1.1.3
 - v1.1.2
 - v1.1.1
 - v1.1.0
 - 1.0.9
 - v1.0.8
 - v1.0.7
 - v1.0.6
 - v1.0.5
 - v1.0.4
 - v1.0.3
 - v1.0.2
 - v1.0.1
 - v1.0.0
 - dev-dependabot/add-v2-config-file
 - dev-dependabot/composer/erusev/parsedown-extra-0.8.1
 - dev-dependabot/composer/erusev/parsedown-1.7.4
 - dev-dependabot/composer/tm/tooly-composer-script-1.4.1
 - dev-development
 
This package is auto-updated.
Last update: 2025-10-28 17:00:44 UTC
README
TreeMDown [triː <'em> daʊn]
... is a single page PHP application for browsing markdown documents in a file structure and translating them to HTML.
News
You like TreeMDown and you are interested in browsing multiple trees of markdown files?
Check out TreeMDown-Multi! Live demo is available here.
Latest updates
- Updated highlightjs to version 8.3
 - Fixed syntax highlighting of markdown code
 - Handling internal links between markdown files in the same tree (see the documentation)
 
Requirements / Dependencies
- PHP >= 5.3
 - Parsedown-Extra via composer
 - Webserver (Apache, nginx, etc.)
 
Note: This application is currently tested on linux systems only.
Installation
Via composer
To get the latest stable release, check the versions at Packagist and add to your composer.json:
{
	"require": {
		"hollodotme/treemdown": "~1.0"
	}
}
To get the bleeding edge version add this to your composer.json:
{
	"repositories": [
		{
			"type": "vcs",
			"url": "git@github.com:hollodotme/TreeMDown.git"
		}
	],
	"require": {
		"hollodotme/treemdown": "dev-master"
	}
}
Now include the vendor/autoload.php and get started.
Usage
Basic
<?php use hollodotme\TreeMDown\TreeMDown; $treemdown = new TreeMDown('/path/to/your/markdown/files'); $treemdown->display();
With personalization and options
<?php use hollodotme\TreeMDown\TreeMDown; // Create instance $treemdown = new TreeMDown( '/path/to/your/markdown/files' ); # [Page meta data] # # Set a projectname $treemdown->setProjectName('Your project name'); # Set a short description $treemdown->setShortDescription('Your short description'); # Set a company name $treemdown->setCompanyName('Your company name'); # [Output options] # # Show or hide empty folders in tree # # Default: Empty folders will be displayed # #$treemdown->showEmptyFolders(); $treemdown->hideEmptyFolders(); # Set the default file that is shown if no file or path is selected (initial state) # The file path must be __relative__ to the root directory above: '/path/to/your/markdown/files' # # Default: index.md # $treemdown->setDefaultFile('README.md'); # Show/Hide filename suffix # # Default: Suffix is shown # #$tmd->showFilenameSuffix(); $tmd->hideFilenameSuffix(); # Prettify directory and file names # This removes all "-" and "_" from the names displayed in the tree # # Default: Pretty names are disabled # #$tmd->disablePrettyNames(); $tmd->enablePrettyNames(); # [File system options] # # Set the patterns for files you want to include # # Default: array( '*.md', '*.markdown') # $treemdown->setIncludePatterns( array( '*.md', '*.markdown') ); # Set the patterns for files/path you want to exclude # # Default: array( '.*' ) # $treemdown->setExcludePatterns( array( '.*' ) ); $treemdown->display();
Contributions
This application uses the following libraries:
