「Qtの基礎 - Markdown」の版間の差分

171行目: 171行目:
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>
== cmarkライブラリ ==
==== cmarkライブラリとは ====
cmarkライブラリは、CommonMarkのC言語リファレンス実装で、Markdown構文の合理化バージョンである。<br>
<br>
CommonMarkドキュメントを抽象構文木 (AST) にパースして、<br>
ASTを操作、ドキュメントをHTML、groff man、LaTeX、CommonMark、ASTのXML表現にレンダリングする関数を備えたライブラリである。<br>
<br>
また、CommonMark文書の解析とレンダリングのためのコマンドラインプログラム (cmark) も提供する。<br>
<br>
ライブラリの機能と特徴を以下に示す。
下記の機能により、cmarkライブラリはMarkdownの解析や変換だけでなく、複雑なドキュメント処理システムの構築にも使用できる。<br>
<br>
* マークダウンの解析
*: cmarkは、Markdownテキストを構文解析し、抽象構文木 (AST) を生成する。
*: CommonMark標準に準拠しており、仕様に基づいた確実な解析が可能である。
*: <br>
* MarkdownからHTMLへの変換
*: 解析されたMarkdownをHTMLに変換する。
*: 変換時に様々なオプションを指定することで出力をカスタマイズできる。
*: <br>
* AST (抽象構文木) の操作
*: 解析されたMarkdownのASTを直接操作できる。
*: これにより、Markdownの構造を動的に変更したり、カスタム処理を行ったりすることが可能である。
*: <br>
* カスタム出力
*: 特定のニーズに合わせた出力フォーマットのカスタマイズが可能である。
*: 出力内容を制御するためのオプションやAPIが提供されている。
*: <br>
* マルチスレッドセーフ
*: 並行処理を行うアプリケーションでも安全に使用できる。
*: <br>
* 様々な出力形式
*: HTML以外にも、LaTeX、XML、Manページ形式等、複数の出力形式をサポートしている。
*: <br>
* UTF-8サポート
*: Unicode文字を適切に処理する。
*: <br>
* サニタイズ機能
*: XSS攻撃を防ぐため、HTMLの安全な出力オプションを提供している。
*: <br>
* コマンドラインツール
*: ライブラリと共にコマンドラインツールも提供されており、ファイルの変換やデバッグに使用できる。
<br>
==== cmarkライブラリのライセンス ====
cmarkライブラリは、2条項BSDライセンスに準拠している。<br>
<br>
==== cmarkライブラリのインストール ====
===== パッケージ管理システムからインストール =====
# RHEL
sudo dnf install cmark
# SUSE
sudo zypper install cmark
<br>
===== ソースコードからインストール =====
[https://github.com/commonmark/cmark cmarkライブラリのGithub]にアクセスして、ソースコードをダウンロードする。<br>
ダウンロードしたファイルを解凍する。<br>
tar xf cmark-<バージョン>.tar.gz
cd cmark-<バージョン>
<br>
cmarkライブラリをビルドおよびインストールする。<br>
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_INSTALL_PREFIX=<cmakeライブラリのインストールディレクトリ> \
      ..
make -j $(nproc)
make install
<br><br>


== cmark-gfmライブラリ ==
== cmark-gfmライブラリ ==