1ad615f37SSungbin Jeon<?php 2ad615f37SSungbin Jeon/** 3ad615f37SSungbin Jeon * Commonmark Plugin test 4ad615f37SSungbin Jeon */ 5*8ec9a8f2SSungbin Jeonerror_reporting(E_ALL); 6*8ec9a8f2SSungbin Jeonini_set("display_errors", 1); 7*8ec9a8f2SSungbin Jeon 8*8ec9a8f2SSungbin Jeon require_once __DIR__.'/src/bootstrap.php'; 9*8ec9a8f2SSungbin Jeon 10*8ec9a8f2SSungbin Jeon use Dokuwiki\Plugin\Commonmark\Commonmark; 11ad615f37SSungbin Jeon 12ad615f37SSungbin Jeon if(!defined('DOKU_INC')) die(); 13ad615f37SSungbin Jeon 14ad615f37SSungbin Jeon class action_plugin_commonmark extends DokuWiki_Action_Plugin { 15ad615f37SSungbin Jeon /** 16ad615f37SSungbin Jeon * pass text to Commonmark parser before DW parser 17ad615f37SSungbin Jeon */ 18ad615f37SSungbin Jeon public function register(Doku_Event_Handler $controller) { 19ad615f37SSungbin Jeon $controller->register_hook('PARSER_WIKITEXT_PREPROCESS', 'BEFORE', $this, 20ad615f37SSungbin Jeon '_commonmarkparse'); 21ad615f37SSungbin Jeon } 22ad615f37SSungbin Jeon 23ad615f37SSungbin Jeon /** 24ad615f37SSungbin Jeon * Parse commonmark text 25ad615f37SSungbin Jeon * TEST: <!DOCTYPE markdown> to "PASSED!!" 26ad615f37SSungbin Jeon */ 27ad615f37SSungbin Jeon public function _commonmarkparse(Doku_Event $event, $param) { 28ad615f37SSungbin Jeon if (preg_match('/\A<!DOCTYPE markdown>/',$event->data)) { 29*8ec9a8f2SSungbin Jeon $event->data = Commonmark::RendtoDW(preg_replace('/\A<!DOCTYPE markdown>/','',$event->data)); 30*8ec9a8f2SSungbin Jeon #$event->data = "PASSED"; 31ad615f37SSungbin Jeon } 32ad615f37SSungbin Jeon 33ad615f37SSungbin Jeon } 34ad615f37SSungbin Jeon 35ad615f37SSungbin Jeon}