【Apache】PHP markdownを使う

スポンサーリンク

apache2のWebサーバで、拡張子「.md」のMarkdownファイルを、HTMLに変換してWeb表示できるようにする。

【Ubuntu 18.04 LTS Server】Apache2とPHP7.2を動かす
以前の記事で「Ubuntu 18.04 LTS Server」をインストールした。 続いて、WordPressやDokuWikiを動かす準備として、Apache2とPHP7.2を動かすようにしたので備忘録を残す。 Apache2のインストー...

PHP markdownのPHPモジュールをダウンロード

GitHubから、PHP-markdownのファイル一式を、htmlドキュメントルートにクローン(取得)する。

# cd /var/www/homepage
# git clone https://github.com/michelf/php-markdown

ファイル一式が、php-markdown フォルダに作成される。

PHP作成

mdファイルを読み込んで、HTMLを生成するPHPを作成する。
ファイル名は md.php として、htmlドキュメントルートにおく。

# cd /var/www/homepage
# nano md.php

File: md.php

<?php
require_once("php-markdown/Michelf/MarkdownExtra.inc.php");
use Michelf\MarkdownExtra;

if ( isset($_SERVER['PATH_TRANSLATED']) ) {
    $file = realpath($_SERVER['PATH_TRANSLATED']);
    $ext = substr($file, strrpos($file, '.') + 1);
}

if ( $file and is_readable($file) and $ext

===

 'md') {
    $html = MarkdownExtra::defaultTransform(file_get_contents($file));
} else {
    $html = '<p>cannot read file</p>';
}

?>
<html>
  <head>
    <style type="text/css">
      blockquote {
        margin-left: 0.5em;
        padding-left: 0.5em;
        border-left: 1px solid #CCCCCC;
      }
      code{
        display: block;
        padding: 0.5em;
        width: 80%;
        background-color: #DDDDDD;
        border: 1px dotted #666666;
      }
    </style>
  </head>
  <body>
    <?php print $html; ?>
  </body>
</html>

markdown.confファイルを作成して、有効にする

# cd /etc/apache2/conf-available
# nano markdown.conf

File: markdown.conf

AddType text/markdown md
Action text/markdown /md.php

confファイルを有効にする

# a2enconf markdown
# service apache2 restart

ブラウザで表示確認

http://<サーバIP>/php-markdown/Readme.md

次は、CSS(スタイルシート)を使って、装飾を綺麗に表示できるようにしていきます。

参考

  1. php Markdown

コメント

タイトルとURLをコピーしました