HN 日本語サマリー

← 一覧へ戻る
Web開発

Shrimple – よりシンプルで、より親切なMarkdown代替

Shrimple – A Simpler, Nicer Markdown (qount25.dev)

16 pointsby usrbinenv26 コメント

要約

Shrimpleは、Markdownに代わる、よりクリーンで読みやすいマークアップ言語です。コードブロック、リンク、リスト、ヘッダーなどの機能をシンプルに記述でき、特にGo言語でコンパイルして使用します。また、Parse & Render辞書機能や静的サイトジェネレーター機能も備えています。

全文翻訳

Shrimpleは、よりクリーンで、より親切なMarkdown代替です。入手してください。これはShrimpleドキュメントです。テキストドキュメントとしても、HTMLにレンダリングされたときも、クリーンで読みやすいように書かれています。 インストールと使用方法 最初にコンパイルするにはGoコンパイラが必要です: go build その後、次のように実行します: cat README | ./shrimple -s -w > README.html -s または --default-css フラグは、HTML出力にデフォルトのCSSを追加し、-w または --wrap フラグは、ページをHTMLでラップして完全なドキュメントを作成します。何らかの方法で自分のウェブサイトに挿入する出力を生成したい場合は、これらのタグは必要ありません。利用可能なすべてのオプションを表示するには、次のように入力します: ./shrimple --help リンクと脚注 リンクもクリーンに見えるように作られています。インラインURL(長くて読みやすさを損なう可能性がある)でソースドキュメントを汚染する代わりに、非常にシンプルなアイデアを使用します。リンクはそのURLをそれが参照している脚注から取得します。もちろん、通常の脚注[1]を追加することもできます。その場合、単語の横にある数字付きの小さなリンクは、脚注セクションに移動します。 コード コードブロックから始めましょう。以下の例を見てください。2つのifブロックの間に空行があっても、それらは1つの連続したコードブロックになります。 if err != nil { return -1 } if err == nil { return 1 } コードブロックは6つのスペースでインデントする必要があります。レンダリングされるとトリムされますが、最初の6つのスペース以降の追加スペースは保持されます。コードブロックの最初の行が### Goで始まる場合、これはオプションですが、コードブロックタグにHTMLクラスを追加します。これはPrism.jsコードハイライターと併用すると、特定の言語で正しいコードハイライトが得られます。インラインコード、例えば fmt.Println("this is inline code") も可能です。 リスト Shrimpleは、番号付きリストと箇条書きリストも作成できます。例えば、ここに箇条書きのリストがあります。 リストは右に2つのスペースでインデントする必要があります。 各項目は、前の項目から空行で区切られている場合もあれば、そうでない場合もあります。リスト項目が長い場合、次の行に簡単にコンテンツを配置できます。その場合、後続の行はすべて、最初の行に揃えるために4つのスペースでインデントする必要があります。 番号付きリストも非常に似ています。 インデントは同じです—2つのスペース。後続の項目は、番号が通常通り(Markdownとは異なり、すべて「1」である必要がある)でも構いません。番号付きリスト項目の後続の行は、最初の行のピリオド文字「.」で揃える必要があります。番号は連続している必要はありませんが、連続するように正規化されます。それはただ機能します。 2種類のヘッダー ヘッダーは2つのレベルタイプ、「h1」と「h2」が許可されます。レベルはアンダースコア行の「太さ」によって決まります。===は「h1」用、---は「h2」用です。ヘッダーに関する重要なことの1つは、実際のヘッダーの次の行は、常に少なくとも3文字の長さでなければならないということです(これはハードコードされたルールです)。さもないと、上の行はヘッダーとしてレンダリングされません。 ノートは、大文字の単語(スペースなし)で構成され、オプションで句読点が続く行で始まります—この場合、それは「:」です。後続の行は4つのスペースでインデントする必要があります。単語は「NOTES」である必要はなく、代わりに「SIDENOTE」や「ATTENTION」のようなものにすることができます。単語自体は小文字に変換され、HTMLタグのCSSクラスとして出力で使用されます。ノートには空行(インデントなし)を含めることもできますが、空行は、ノートの一部と見なされるために、ノートに属する非空行(したがって4つのスペースでインデントされている)に囲まれている必要があります。 辞書の解析とレンダリング これはShrimpleの最も強力な機能の1つです。さまざまな種類の奇妙な文字やHTMLで元のドキュメントを汚染する代わりに、テキストを書き込むだけで、特定の単語や式の出現をハイライトする必要がある場合は、Parse & Render辞書を使用して定義します。リポジトリのルートディレクトリにあるparse_dictとrender_dictの2つのファイルを見て、次の段落の例を見てください。この段落は、parseとrender辞書の例です。word1とword2は下線が引かれており、word3とスペースを含む式は緑色になっています。しかし、ソースShrimpleドキュメントにはこれらの単語に対する追加のマークアップはありません。それらは、parseとrender辞書に基づいて単純に選択されます。Shrimpleにparseとrender辞書を使用するように指示するには、-pおよび-r CLI引数(「p」はparse、「r」はrender)を使用します: ./shrimple ... -p path/to/parse_dict -r path/to/render_dict 静的ウェブサイトの生成 Shrimpleの目標の1つは、常にドキュメントページを生成できるようにすることでした。これはShrimpleの静的サイトジェネレーターによって可能になります。ソースファイル(Shrimple形式で記述)のディレクトリを取得し、各ファイルをHTMLドキュメントに変換し、すべてを別のディレクトリに出力します。各ページには、オプションでメニューと、下部に前の/次のナビゲーションリンクが含まれます。それがどのように機能するか見てみましょう。次のディレクトリ構造があると仮定します。 StaticSite |-- StaticSite | |-- 1_Part_One | | |-- 001_chapter_one | | |-- 002_chapter_two | | |-- 003_chapter_three | |-- 2_Part_Two | | |-- 001_chapter_four | | |-- 002_chapter_five |-- 3_chapter_six |-- 4_chapter_seven 1_Part_Oneと2_Part_Twoはディレクトリです。残りはファイルです。ファイル名がそれが含むディレクトリと同じ場合、静的サイトが生成された後、index.htmlになります。ディレクトリとファイル名の先頭にある数字は、ナビゲーションとメニューリンクを生成するために必要な正しい順序を保証するためです。同じファイル構造が、便宜のためにexamples/StaticSiteディレクトリに提供されています。静的ウェブサイトを生成するには、次のコマンドを使用します: ./shrimple -s -g -n -m examples/StaticSite StaticSite_out ディレクトリの中身を見てください。ファイルに変更が加えられ、同じコマンドを再度実行すると、Shrimpleは生成が必要なファイルのみを生成します。 提供されるオプションは次のとおりです。 -g または --generate-site は、ソースディレクトリから静的ウェブサイトを生成したいことをShrimpleに伝えます。 -s はすでに知っているものです—デフォルトのスタイルシートを追加しますが、-c または --css でカスタムスタイルシートを指定できます。 -n は、静的サイトジェネレーターに各ページの最下部に前の/次のナビゲーションリンクを追加するように指示します。 -m は、生成されたすべてのページへのリンクを含む、うまくネストされたメニューも追加します。 File - Open を使用してページを開くだけで、メニューとナビゲーションのすべてのリンクが機能し、サーバーを必要としません。 脚注は基本的に番号付きリスト項目です。ただし、ドキュメントのどこかに[n]を配置して参照できます(上記参照)。または、ドキュメント自体を汚染せずにリンクを作成することもできます。「-> link [4]」と言うことで。 https://shrimple.qount25.dev https://prismjs.com https://code.qount25.dev/qount25/Shrimple Shrimple ======== *より良い*、*クリーンな* Markdown代替。-> 入手してください。[6] これはShrimpleドキュメントです。テキストドキュメントとしても、HTMLにレンダリングされたときも、クリーンで読みやすいように書かれています。 インストールと使用方法 -------------------- 最初にコンパイルするにはGoコンパイラが必要です: go build その後、次のように実行します: cat README | ./shrimple -s -w > README.html `-s` または `--default-css` フラグは、HTML出力にデフォルトのCSSを追加し、`-w` または `--wrap` フラグは、ページをHTMLでラップして完全なドキュメントを作成します。何らかの方法で自分のウェブサイトに挿入する出力を生成したい場合は、これらのフラグを使用する必要はありません。利用可能なすべてのオプションを表示するには、次のように入力します: `./shrimple --help`。 リンクと脚注 ------------------- リンクもクリーンに見えるように作られています。インラインURL(長くて読みやすさを損なう可能性がある)でソースドキュメントを汚染する代わりに、非常に-> shrimple![4]なアイデアを使用します。リンクはそのURLをそれが参照している脚注から取得します。もちろん、通常の脚注[1]を追加することもできます。その場合、単語の横にある数字付きの小さなリンクは、