JavaScriptにMarkdown文字列があり、それを(太字などで)less
(または、おそらくmore
)スタイルのビューアーでコマンドラインに表示したい。
たとえば、文字列
"hello\n" +
"_____\n" +
"*world*!"
次のようなスクロール可能なコンテンツを含むポップアップを出力したい
こんにちは
世界
これは可能ですか?可能な場合、どのようにですか?
Pandoc はMarkdownをgroffのmanページに変換できます。
これ(nenoperaのコメントのおかげ):
pandoc -s -f markdown -t man foo.md | man -l -
トリックを行う必要があります。 -s
オプションは、適切なヘッダーとフッターを生成するように指示します。
他にもmarkdown-to- * roffコンバーターがあるかもしれません。パンドックはたまたま私が見つけた最初のものです。
もう1つの方法は、markdown
コマンド(apt-get install markdown
(Debianシステムの場合)、MarkdownをHTMLに変換します。例えば:
markdown README.md | lynx -stdin
(あなたがlynx
端末ベースのウェブブラウザを持っていると仮定します)。
または(ダニーの提案のおかげで)次のようなことができます:
markdown README.md > README.html && xdg-open README.html
どこ xdg-open
(一部のシステムでは)指定されたファイルまたはURLを優先アプリケーションで開きます。これはおそらくREADME.html
お好みのGUI Webブラウザー(厳密には「スタイルの低い」ものではありませんが、役立つ場合があります)。
上記のコメントでこれを書き込もうとしましたが、コードブロックを正しくフォーマットできませんでした。 「より少ないフィルター」を作成するには、たとえば、以下を~/.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
と入力すると、マンページのような形式になります。
colorsを使用している場合は、これもチェックする価値があります。
他のプログラム、またはpythonモジュール内からも簡単に使用できます。
それに、lotのスタイルがあり、マークダウンとコードを組み合わせることができる200以上のスタイルがあります。
それはまだバグがあるかもしれないかなりのアルファです
私はそれの作者です、多分それを好む人もいるでしょう;-)
まったく異なる代替案は mad です。私が見つけたシェルスクリプトです。インストールは非常に簡単で、コンソールでのマークダウンをかなりうまくレンダリングします。
キースの答え に基づいていくつかの関数を書きました:
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
マークアップを変換し、groffを使用してドキュメントをフォーマットし、lessにパイプします
クレジット: http://blog.metamatt.com/blog/2013/01/09/previewing-markdown-files-from-the-terminal/
私はこのスクリプトを個人的に使用しています。
#!/bin/bash
id=$(uuidgen | cut -c -8)
markdown $1 > /tmp/md-$id
google-chrome --app=file:///tmp/md-$id
マークダウンをHTMLにレンダリングし、/tmp/md-...
のファイルに入れて、キオスクで開きますchrome URIバーなしのセッションなど)。mdファイルを引数またはstdinにパイプします。markdownと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 &
投稿します my unix page answer こちらも:
私見の過小評価されたコマンドラインマークダウンビューアーは markdown-cli です。
npm install markdown-cli --global
markdown-cli <file>
ドキュメントを見逃しているため、おそらくあまり気づかれないでしょう...
しかし、私がいくつかのマークダウンファイルの例から理解できる限り、私を納得させたいくつかのこと:
私は次の問題を認識しました
_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 7
_ date --iso-8601 _Dr.Beco Markdown")
_:ファイルを開始するものとgroff
は、ヘッダーとフッターのメモとして認識されます。これは、pandoc
の_-s
_キーの空のヘッダーを置き換えます。<(pandoc -t man $1)
:pandoc
でフィルタリングされたファイル自体、man
スタイルのファイルを出力__$1
_| groff -K utf8 -t -T utf8 -man 2>/dev/null
_:結果の連結ファイルをgroff
:にパイプします-K utf8
_ so groff
は入力ファイルのコードを理解します-t
_ファイルにテーブルを正しく表示する-T utf8
_正しい形式で出力する-man
_したがって、[〜#〜] macro [〜#〜]パッケージを使用して、man
形式でファイルを出力します2>/dev/null
_(結局のところ、生のファイルが手動で変換されているため、あまり醜くない形式でファイルを表示できる限り、エラーは気になりません)。| less
_:最後に、less
でページ分割されたファイルを表示します(groffer
の代わりにgroff
を使用してこのパイプを回避しようとしましたが、groffer
はless
ほど堅牢ではなく、一部のファイルはそれをハングアップするか、まったく表示しないので、もう1つのパイプを通過させてください。_~/.bash_aliases
_(または同様のもの)に追加します