1

Ruby と Ruby-Pandoc で遊んでいます。私がそれを機能させることができれば、素晴らしいツールのように思えます。

一部の Markdown テキスト (埋め込みリストやその他の空想を含む) をリッチ テキストに変換したいと考えています。ここに私が変換しているテキストがあります:

Title
===

This is a paragraph. Hallelujah.

Here comes a nested list.
---

* List item 1
  * List item 1.1
  * List item 1.2
* List item 2
  * List item 2.1

これが私のRubyコードです...

require 'pandoc-ruby'

input = File.read(test.md)
converter = PandocRuby.new(input, from: :markdown, to: :rtf)
puts converter.convert

...(出力をファイルに保存した後)タイトル以外の何もないドキュメントを生成します:

RTFのスクリーンショット

RTF ファイルのコードは次のとおりです。

{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Title\par}
{\pard \ql \f0 \sa180 \li0 \fi0 This is a paragraph. Hallelujah.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Here comes a nested list.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab List item 1\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab List item 1.1\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab List item 1.2\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab List item 2\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab List item 2.1\sa180\par}

さらに、私の RTF ビューア (Mac TextEdit) に表示されたとしても、RTF コードはすべてのリストのネストを失ったようです。必要なヘッダー情報や Ruby-Pandoc で何かを記述していないかどうかにかかわらず、これを診断する方法がわかりません。

前もって感謝します!

4

1 に答える 1

4

プロローグと右中括弧で出力をラップします。このような:

{\rtf1\ansi\deff0{\fonttbl{\f0 Times New Roman;}}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Title\par}
{\pard \ql \f0 \sa180 \li0 \fi0 This is a paragraph. Hallelujah.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Here comes a nested list.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab List item 1\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab List item 1.1\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab List item 1.2\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab List item 2\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab List item 2.1\sa180\par}
}

アップデート

「ラッパー」構成設定がありませんか?

はい、gem の readme に従ってください。

マークアップされたフラグメントだけでなく、完全なファイル ヘッダーを含むスタンドアロン ファイルを生成しようとしている場合は、正しいヘッダーとフッターが追加されるように :standalone オプションを渡すことを忘れないでください。

ネストリストの欠如はどうですか?

PanDocドキュメントによると、ソース テキストにインデントのスペースが 2 つ不足しています。

それをまとめると、ここに完全なソリューションがあります。

ソースファイル:

Title
===

This is a paragraph. Hallelujah.

Here comes a nested list.
---

* List item 1
    * List item 1.1
    * List item 1.2
* List item 2
    * List item 2.1

変換コード:

require 'pandoc-ruby'
input = File.read('./test.md')
puts PandocRuby.markdown(input).to_rtf(:standalone)
于 2012-10-09T03:50:32.203 に答える