0

我正在设置一个具有相当简单的新闻源功能的 CMS,其中包含许多“文章”类型的页面,每个页面都包含一个相当标准的内容流域。

我想要做的是有一个索引或搜索页面,它能够总结文章的查询集作为文章有意义的流场内容的截断预览。就像前 150 个单词被省略了一样,我没有找到开箱即用或通过第三方库支持这种需求的东西。

问题的第一部分是识别流域的有意义部分,最简单的方法是识别特定类型的第一个 StreamBlock,例如 RichTextBlock,或其他包含 RichTextBlock 的特定 StructBlock 类型,假设任何不在 RichTextField 中的内容是对实际内容的补充(标题、图像、花哨的小玩意)

那么如何总结RichText 内容呢?

RichTextField 有一个 .get_searchable_content() 函数,它可以去除任何 HTML 标签以注入到我可以缩短的 Elasticsearch 索引中,但保留一些 HTML 标签可能有助于预览,例如链接、中断或其他简单的样式元素。

将 RichText 内容的完整 HTML 渲染注入带有 CSS 的 div 以限制隐藏溢出的高度。具有支持复杂的富文本样式和布局的好处,但缺点是用户看不到无关标记(可能是整篇文章),并且需要有选择地去除或显示:没有任何不能很好呈现的非文本元素在规定的高度内。

我发现很难想象我是第一个想要这样做的人,在我自己采用上述方法之一之前,我希望有人可以将我指向一个已经这样做的库或片段。任何见解都非常感谢!

4

0 回答 0