{"repo":"abap34/almo","free":true,"listed":false,"github":"https://github.com/abap34/almo","clone":"git clone https://github.com/abap34/almo.git","description":"ALMOは拡張Markdownパーサ・静的サイトジェネレータです。WebAssemblyを使ってブラウザ上で完結する実行環境を提供し、サーバを必要としないサンプルコードの実行環境やジャッジシステムを提供するページの構築を可能にします。","language":"C++","stars":16,"topics":["cpp","html","markdown","webassembly","static-site-generator"],"license":"MIT","category":"docs-static-sites","readme_excerpt":"ALMO ALMOは、C++製の拡張Markdownパーサ・静的サイトジェネレータです。 WebAssemblyを使って実行・ジャッジ環境同梱のHTMLファイルを作ることができます。 [!warning] ALMO は開発フェーズのソフトウェアです。致命的なバグが含まれている可能性があり、また頻繁に破壊的な仕様変更が行われます。 機能 ALMOは、Markdown記法によって執筆された記事をHTMLファイルに変換することができます。 加えて、ALMOの拡張構文は、 - 競技プログラミング - データ分析 - 科学技術計算 をはじめとしたプログラミングに関する様々な記事を作成するために設計されています。 実行可能コードブロック 一つ目の拡張構文は実行可能なコードブロックです。 という記法は、以下のようなコードブロックを生成します。 さらにコードは実行することができ、 その実行はCPythonのWebAssemblyへの移植であるPyodideによっておこなわれます。 そのため、記事の執筆者は自分でサーバを用意することなく、簡単に実行可能なサンプルコードを提供することができます。 Pythonのライブラリの使用 / matplotlib によるグラフ描画 実行可能コードブロックでは、Pythonの主要なライブラリを利用できます。 などとすることで、 numpy , matplotlib を利用できるようになります。 さらに、 matploblib によるグラフ描画も可能です。 ソースコード内で、 とすると、通常のように plt.show() するだけで出力欄にインタラクティブなプロットを表示できます。 ジャッジシステム 競技プログラミングなどで用いられるジャッジシステムも提供します。 という記法によって、 - サンプル入力は example/helloalmo/in/sample.txt - サンプル出力は example/helloalmo/out/sample.txt - 入力ファイルは example/helloalmo/in/ .txt にマッチする全てのファイル - 出力ファイルは example/helloalmo/out/ .txt にマッチする全てのファイル と対応したジャッジシステムを自動で構築します。 これらは全てデモページで試すことができます。 インターフェース [!warning] 今後、一般ユーザ向けのインターフェースは https://github.com/abap34/almo-cli で実装されていく予定です。そのため、このセクションの内容は v1.0 では廃止される予定です。 almo [オプション] オプション: - -o 出力ファイル名を指定します。 指定しない場合、HTMLファイルが標準出力に出力されます。 - -t テーマを指定します。デフォルトは light です。 - -c CSSファイルを指定します。デフォルトは テーマに付属するものが使用されます。 - -e エディタのテーマを指定します。デフォルトは light の場合、 ace/theme/chrome , dark の場合 ace/theme/monokai が使用されます。 使用可能なテーマ - -d デバッグモードで実行します。 - -g 構文木をdot言語として出力します。 - -h ヘルプを表示します。 インストール方法 Homebrew macOS (Apple Silicon) では、 Homebrew を使ってビルド済みのバイナリを","default_branch":null,"files":null,"tree":[],"storefront":"/r/abap34","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/abap34/almo/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}