问题描述
我正在设置一个具有相当简单的新闻源功能的 CMS,其中包含许多“文章”类型的页面,每个页面都包含一个相当标准的内容流字段。
我想要做的是有一个索引或搜索页面,能够将文章查询集汇总为文章有意义流域内容的截断预览。像前 150 个字这样的东西被省略了,我发现没有任何东西可以开箱即用或通过第三方库来支持这种需求。
问题的第一部分是识别流字段的有意义部分,最简单的方法是识别特定类型的第一个 StreamBlock,例如 RichTextBlock,或其他特定的 StructBlock 类型包含一个 RichTextBlock 假设不在 RichTextField 中的任何内容都是对实际内容(标题、图像、花哨的小玩意)的补充
那我如何总结富文本内容?
RichTextField 有一个 .get_searchable_content() 函数,它去除任何 HTML 标签以注入我可以缩短的 Elasticsearch 索引,但一些 HTML 标签可能有利于保留以供预览,例如链接、中断或其他简单样式元素。
将 RichText 内容的完整 HTML 渲染注入带有 CSS 的 div 中,以限制隐藏溢出的高度。具有支持复杂的富文本样式和布局的好处,但具有用户不可见的无关标记的缺点(可能是整篇),并且需要有选择地删除或显示:无任何非文本在分配的高度内不能很好地呈现的元素。
我发现很难想象我是第一个想要这样做的人,在我自己采用上述方法之一之前,我希望有人可以将我指向一个已经这样做的库或片段。非常感谢任何见解!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)