Markdown記法 PHPでMarkdownのWebページ制作

Markdown記法でドキュメントをWebで公開したい!PHPにする必要はないが、PHPでやっておけばさらにいろいろできる!?

composer を 使って cube/markdown をインストール

[root@aq3 ~]# mkdir /var/www/html/md
[root@aq3 ~]# cd /var/www/html/md

[root@aq3 md]# curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading...

Composer (version 2.7.2) successfully installed to: /var/www/aquila.jp/html/md/composer.phar
Use it: php composer.phar

[root@aq3 md]# composer --version
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
Composer version 2.7.2 2024-03-11 17:12:18
PHP version 8.2.16 (/usr/bin/php)
Run the "diagnose" command to get more detailed diagnostics output.

[root@aq3 md]# composer require michelf/php-markdown
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
./composer.json has been created
Running composer update michelf/php-markdown
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
  - Locking michelf/php-markdown (2.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing michelf/php-markdown (2.0.0): Extracting archive
Generating autoload files
No security vulnerability advisories found.
Using version ^2.0 for michelf/php-markdown

[root@aq3 md]# composer require cube/markdown
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
Could not find package cube/markdown.
Pick one of these or leave empty to abort:
  [0] cebe/markdown
  [1] ntzwbr/markdown
  [2] cebe/markdown-latex
  [3] paveld/markdown-wiki
  [4] czukowski/markdown-toc
 > 0
./composer.json has been updated
Running composer update cebe/markdown
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
  - Locking cebe/markdown (1.2.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing cebe/markdown (1.2.1): Extracting archive
Generating autoload files
No security vulnerability advisories found.
Using version ^1.2 for cebe/markdown

Markdown記法を扱うPHPファイルを作成

# vi index.php
<?php

require_once __DIR__ .'/vendor/autoload.php';
$parser = new \cebe\markdown\GithubMarkdown();
$parser->html5 = true;
$parser->enableNewlines = true;

$md_str = <<<EOT
# MDtest

- markdown1
- markdown2
EOT;

echo $parser->parse($md_str);

Markdown記法のメリット

マークダウン(Markdown)とは、「#」などの記号を用いて文章を構造化する文章の書き方(記法)です。エディターなどで使えば、入力時に記号だった文字は、投稿時に見出しや強調として変換され、文章構造が視覚的にわかりやすく表示されます。記法に則った文章なので、だれが書いてもドキュメントの再構成が容易です。例えば、Aさんの作ったエクセルとBさんの作ったエクセルをあなたが「合算しレイアウトを整える」となるとこう思いませんか?同じレイアウトやテンプレートで作っておけよ!と。

  • Markdownはメリットがデメリットを大きく上回っている
  • Markdownによって情報を構造化しやくすなる
  • Markdownを複数人で分業し結合しやすい
  • gitと合わせて利用すると幸せになれる

タイパ重視の令和時代、綺麗で誰もが素晴らしいと認め、客の上司が喜ぶドキュメントを作っている人はIT業界にはもはやいない。

関連記事:
Composerのインストール

Markdown記法

Markdown(マークダウン)は、文書を記述するための軽量マークアップ言語のひとつである。本来はプレーンテキスト形式で手軽に書いた文書からHTMLを生成するために開発されたものである。しかし、現在ではHTMLのほかパワーポイント形式やLATEX形式のファイルへ変換するソフトウェア(コンバータ)も開発されている。各コンバータの開発者によって多様な拡張が施されるため、各種の方言が存在する。

Wikipedia Markdown