You can install this plugin into your CakePHP application using composer.
The recommended way to install composer packages is:
composer require ivanamat/cakephp3-markdown
git submodule add git@github.com:ivanamat/cakephp3-markdown.git plugins/Markdown
git submodule init
git submodule update
Load component in the initialize()
function
class MyController extends AppController {
public function initialize() {
parent::initialize();
$this->loadComponent('Markdown.Markdown');
}
}
...or load the component in the array of components
.
class MyController extends AppController {
public $components = [
'Markdown' => [
'className' => 'Markdown.Markdown'
]
];
}
Load helper in the initialize()
function from your View
class AppView extends View {
public function initialize() {
parent::initialize();
$this->loadHelper('Markdown.Markdown');
}
}
Example: Read .md file on the controller, parse and pass html code to view.
# MyController
$md = file_get_contents('../README.md', true);
$html = $this->Markdown->parse($md);
$this->set(compact('html'));
Example: Parse Markdown data on the view.
# MyController
$md = '`This` string `is an example` of **Markdown** code';
$this->set(compact('md'));
<!-- My view.ctp -->
<?php echo $this->Markdown->parse($md); ?>
CakePHP 3.x - Markdown uses the Parsedown third-party library.
You can download Parsedown from official website: http://parsedown.org/.
Iván Amat on GitHub
www.ivanamat.es