コンテンツがマークダウンで書かれているRailsサイトがあります。「続きを読む..」リンクを使用して、それぞれのスニペットを表示したいと思います。
どうすればいいですか?たとえば、生のテキストの単純な切り捨ては機能しません..
>> "This is an [example](http://example.com)"[0..25]
=> "This is an [example](http:"
理想的には、作成者が(オプションで)マーカーを挿入して「スニペット」として使用するものを指定できるようにしたいのですが、そうでない場合は250語かかり、「...」を追加します-たとえば..
This article is an example of something or other.
This segment will be used as the snippet on the index page.
^^^^^^^^^^^^^^^
This text will be visible once clicking the "Read more.." link
マーカーは EOF マーカーのように考えることができます (完全なドキュメントを表示するときは無視できます)。
Markdown 処理にmarukuを使用しています (RedCloth は Textile に非常に偏っており、BlueCloth は非常にバグが多く、peg-markdown と RDiscount を除外するネイティブ Ruby パーサーが必要でした)。
あるいは (とにかく Markdown は HTML に変換されるため)、HTML を正しく切り捨てることもオプションです。ただしmarkdown()
、最初の数行を取得するためだけに、ドキュメント全体ではなく、それが望ましいでしょう。
だから、私が考えることができるオプションは(好みの順序で)..
- maruku パーサーに "truncate" オプションを追加します。これは、最初の x 個の単語のみを解析するか、"excerpt" マーカーまで解析します。
- パーサーに依存しない Markdown truncate'r を書く/見つける
- インテリジェントな HTML 切り捨て関数を書く/見つける