我有一个 Rails 站点,其中的内容是用 markdown 编写的。我希望显示每个片段,并带有“阅读更多..”链接。
我该怎么做?例如,简单地截断原始文本是行不通的。
>> "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 标记(在显示完整文档时可以忽略它)
我正在使用maruku进行 Markdown 处理(RedCloth 非常偏向于 Textile,BlueCloth 非常有问题,我想要一个排除 peg-markdown 和 RDiscount 的原生 Ruby 解析器)
或者(因为无论如何 Markdown 都被翻译成 HTML)正确截断 HTML 是一种选择——尽管最好不要markdown()
整个文档,只是为了得到前几行。
所以,我能想到的选项是(按优先顺序)..
- 向 maruku 解析器添加一个“截断”选项,它只会解析前 x 个单词,或者直到“摘录”标记。
- 编写/查找与解析器无关的 Markdown truncate'r
- 编写/查找智能 HTML 截断函数