lessJavaScript に Markdown 文字列があり、コマンド ラインの(または、moreおそらく) スタイルのビューアーで(太字などで) 表示したいと考えています。
たとえば、文字列で
"hello\n" +
"_____\n" +
"*world*!"
次のようなスクロール可能なコンテンツで出力ポップアップを表示したいと思います
こんにちは
世界
これは可能ですか?
Pandocは Markdown を groff man ページに変換できます。
これ(ネノペラのコメントに感謝):
pandoc -s -f markdown -t man foo.md | man -l -
トリックを行う必要があります。この-sオプションは、適切なヘッダーとフッターを生成するように指示します。
マークダウンから *roff へのコンバーターは他にもあるかもしれません。Pandoc はたまたま私が最初に見つけたものです。
もう 1 つの代替手段は、Markdown を HTML に変換するmarkdownコマンド ( Debian システムの場合) です。apt-get install markdown例えば:
markdown README.md | lynx -stdin
lynx(端末ベースの Web ブラウザーを使用していると仮定します)。
または(ダニーの提案のおかげで)次のようなことができます:
markdown README.md > README.html && xdg-open README.html
where xdg-open(一部のシステムでは) 指定したファイルまたは URL を優先アプリケーションで開きます。これは、お好みの GUI Web ブラウザで開くREADME.html可能性があります (正確には「スタイルが少ない」わけではありませんが、便利な場合があります)。
上記のコメントにこれを書き込もうとしましたが、コード ブロックを正しくフォーマットできませんでした。「少ないフィルター」を作成するには、たとえば、次のように保存してみてください~/.lessfilter。
#!/bin/sh
case "$1" in
*.md)
extension-handler "$1"
pandoc -s -f markdown -t man "$1"|groff -T utf8 -man -
;;
*)
# We don't handle this format.
exit 1
esac
# No further processing by lesspipe necessary
exit 0
次に、入力するless FILENAME.mdと、マンページのようにフォーマットされます。
あなたが色に興味があるなら、これもチェックする価値があるかもしれません:

他のプログラムや python モジュールからも簡単に使用できます。
また、組み合わせ可能なマークダウンとコードの 200 以上のスタイルなど、多くのスタイルがあります。

かなりアルファ版なので、まだバグがあるかもしれません
私はそれの作者です、多分何人かの人々はそれを好きです;-)
まったく別の選択肢が狂っています。発見したばかりのシェルスクリプトです。インストールは非常に簡単で、コンソールでマークダウンを適切にレンダリングします。
キースの答えに基づいていくつかの関数を書きました:
mdt() {
markdown "$*" | lynx -stdin
}
mdb() {
local TMPFILE=$(mktemp)
markdown "$*" > $TMPFILE && ( xdg-open $TMPFILE > /dev/null 2>&1 & )
}
を使用している場合はzsh、これらの 2 つの関数を に配置~/.zshrcし、端末から次のように呼び出します。
mdt README.md
mdb README.md
「t」は「ターミナル」、「b」はブラウザ用です。
OSXを使用して、このコマンドを使用することを好みます
brew install pandoc
pandoc -s -f markdown -t man README.md | groff -T utf8 -man | less
markupm を変換し、ドキュメントを groff でフォーマットし、パイプを less に変換します
クレジット: http://blog.metamatt.com/blog/2013/01/09/previewing-markdown-files-from-the-terminal/
alias mdless='_mdless() { if [ -n "$1" ] ; then if [ -f "$1" ] ; then cat <(echo ".TH $1 7 `date --iso-8601` Dr.Beco Markdown") <(pandoc -t man $1) | groff -K utf8 -t -T utf8 -man 2>/dev/null | less ; fi ; fi ;}; _mdless '
alias mdless='...': のエイリアスを作成しますmdless_mdless() {...};: 後で呼び出される一時的な関数を作成します_mdless: 最後に、それを呼び出します (上記の関数)関数内:
if [ -n "$1" ] ; then: 最初の引数が null でない場合...if [ -f "$1" ] ; then: また、ファイルが存在し、通常の場合...cat arg1 arg2 | groff... : cat はこの 2 つの引数を連結して groff に送信します。引数は次のとおりです。
<(echo ".TH $1 7date --iso-8601 Dr.Beco Markdown"): ファイルを開始groffし、ヘッダーとフッターのメモとして理解されるもの。-sこれにより、 key onの空のヘッダーが置き換えられますpandoc。<(pandoc -t man $1): でフィルタリングされ、ファイルのスタイルをpandoc出力するファイル自体man$1 | groff -K utf8 -t -T utf8 -man 2>/dev/null: 結果の連結ファイルを : にパイプしますgroff。
-K utf8groff入力ファイルコードを理解する-tそのため、ファイル内のテーブルが正しく表示されます-T utf8したがって、正しい形式で出力されます-manそのため、MACROパッケージを使用してファイルをman形式で出力します2>/dev/nullエラーを無視するには (結局のところ、手作業で変換された生のファイルであるため、ファイルがそれほど醜くない形式で表示される限り、エラーは気にしません)。| less:最後に、ファイルのページネーションを表示します(代わりに をless使用してこのパイプを回避しようとしましたが、ほど堅牢ではなく、一部のファイルはハングするか、まったく表示されません。したがって、もう1つのパイプを通過させます、なんてこった!groffergroffgrofferless~/.bash_aliasesそれをあなたの(または同様の)ものに追加してください
私は個人的にこのスクリプトを使用します:
#!/bin/bash
id=$(uuidgen | cut -c -8)
markdown $1 > /tmp/md-$id
google-chrome --app=file:///tmp/md-$id
マークダウンを HTML にレンダリングし、それをファイルに入れ、/tmp/md-...URI バーなどのないキオスク chrome セッションで開きます。md ファイルを引数として渡すか、stdin にパイプするだけです。マークダウンと Google Chrome が必要です。Chromiumも機能するはずですが、最後の行を次のように置き換える必要があります
chromium-browser --app=file:///tmp/md-$id
あなたがそれに夢中になりたいなら、いくつかのcssを使って見栄えを良くすることができます.私はスクリプトを編集し、CDNからBootstrap3(overkill)を使用しました.
#!/bin/bash
id=$(uuidgen | cut -c -8)
markdown $1 > /tmp/md-$id
sed -i "1i <html><head><style>body{padding:24px;}</style><link rel=\"stylesheet\" type=\"text/css\" href=\"http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css\"></head><body>" /tmp/md-$id
echo "</body>" >> /tmp/md-$id
google-chrome --app=file:///tmp/md-$id > /dev/null 2>&1 &