https://github.com/christianblos/markdown2html
Converts markdown files to static html pages
https://github.com/christianblos/markdown2html
hacktoberfest markdown2html
Last synced: 5 months ago
JSON representation
Converts markdown files to static html pages
- Host: GitHub
- URL: https://github.com/christianblos/markdown2html
- Owner: christianblos
- License: mit
- Created: 2017-01-08T20:44:05.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2020-10-13T16:51:56.000Z (over 5 years ago)
- Last Synced: 2025-09-23T13:57:23.069Z (6 months ago)
- Topics: hacktoberfest, markdown2html
- Language: PHP
- Homepage:
- Size: 718 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# markdown2html
Converts markdown files to static html pages.
[See demo](http://christianblos.github.io/codedocs) (I used it to document another project of mine).
## Installation
Use composer to install the latest version: `composer require --dev christianblos/markdown2html`
## Create html via command line
First, you must configure markdown2html by adding a **markdown2html.config.php** file to the root folder
of your repository:
```php
title = 'My Project';
$config = new \Markdown2Html\Config();
$config->src = '/path/to/markdown-files';
$config->dest = '/path/to/destination-folder';
$config->theme = $theme;
return $config;
```
Now you can execute `vendor/bin/markdown2html` to create the html files in your destination folder
> Note: If your config file is not in the root folder of your project, you can pass it as first argument:
> `vendor/bin/markdown2html /path/to/config.php`
## Create html via code
Maybe you have your own command line tool and you want to use PHP code directly to generate the html files.
This is no problem:
```php
title = 'My Project';
$builder = new Markdown2Html\Builder();
$builder->build($src, $dest, $theme);
```
## Structure of Markdown files
The navigation in the generated html is based on your folder structure.
Let's assume you have the following file structure:
```txt
markdown
|- 00.Installation.md
|- 01.Configuration.md
|- 02.Usage.md
|- 02.Usage
| |- 00.Via-command--line.md
| |- 01.Via-PHP.md
|
|- index.md
```
The **number prefix** (like "01.") indicates the order of navigation items. You can omit it if the order doesn't matter.
All dashes are replaced with spaces ("Via-PHP" → "Via PHP").
If you want to have dashes in the navigation, use 2 or 3 dashes:
- "00.Via-command--line.md" → "Via command-line"
- "00.Via-command---line.md" → "Via command - line"
If there is a file **having the same name** as a folder (like 02.Usage and 02.Usage.md), it will be the index page
of this folder. If you don't have the file, the index will be created automatically and contain a sub navigation.
The content of **index.md** contains the text of the html index page.
In the example above the generated navigation will look like this:
```txt
Installation
Configuration
Usage
Via command-line
Via PHP
```
## Default Theme
The DefaultTheme has some additional configurations you can use:
```php
naviLinks = [
'Github' => 'https://github.com/christianblos'
];
// overwrite styles
$theme->additionalCss = 'a#header {background-color:red}';
```