编辑是用网页上的 markdown 编辑器,然后保存到数据库的是 markdown 转换后的 html 代码,用户点击首页的标题后,跳转到我从数据库里拿出来的 html,现在就是不知道首页标题列表下的一段文字怎么搞的了
1
ylsc633 2018-03-14 10:28:06 +08:00
我博客用到了.. 不过是 php 写的...
且不是我写的.. 我是找网上有人写好的! 至于 JAVA 的,不太清楚有木有! 源码: https://github.com/Yela528/laravel-5-myblog/blob/master/app/Helpers/functions.php 最后那个函数... 我用的时候,留了原作者的信息!你可以问问他... |
2
cloudzqy 2018-03-14 10:29:37 +08:00
Hexo 的话,在 markdown 里加段 <!-- more --> 的注释就行了。你自己实现的话,不就看具体需求吗?截一段 markdown 然后生成 html 存起来之类的。
|
3
ixx 2018-03-14 10:33:35 +08:00
事后处理不好弄,因为你库里是带样式的,随便截取样式就乱了,建议参考 hexo 的方式,编辑 markdown 正文的时候插入一个不会显示的特殊标记 如 hexo 使用的<!-- mroe -->,标记以上的部分是你想显示在标题下的文字 这样你再取出来的时候直接截取就行了,当然 为了效率优化应该在保存的时候把标记以上的部分单独保存,这样显示的时候就不用单独处理了
|
4
l0o0 2018-03-14 10:35:31 +08:00
我之前博客用 Python 写的,简单截取了 html 前面多少个字符,然后用 bs4 的 prettify 把截取得到的不完整 html 修复一下。感觉有点简单粗暴
|
5
coffeSlider 2018-03-14 10:36:08 +08:00 via Android
直接用 div
style 加个 text-overflow:ellipsis |
6
unique 2018-03-14 10:36:21 +08:00
我用的 https://github.com/atlassian/commonmark-java 来解决你的问题。
|
7
hheedat 2018-03-14 10:51:31 +08:00
css
|
8
jackqian OP |
9
coffeSlider 2018-03-14 11:36:57 +08:00 via Android
|
10
jackqian OP @coffeSlider 这个方法实际上不是把整个文章都放进去了,只是 overflow 让他超出 div 的没显示呀
|
11
Hopetree 2018-03-14 16:36:18 +08:00
我的博客网站就有这个功能,这个功能在 Django 里面很好实现,有专门的标签模板可以用,当然,自己其实也可以写啊,不知道你用的什么语言做后端的,如果你想从后端实现,我推荐你用切片啊,字符串的切片,只要文字数量多于 N 个就把后端的切掉,然后加上。。。就行 了
我网站的效果,你看文章列表,应该是你要的效果:[http://www.seoerzone.com/]( http://www.seoerzone.com/) |
12
zjj19950716 2018-03-14 20:10:59 +08:00
flask
<p>{{ article.body|striptags|truncate(length=200, killwords=False, end="......") }}</p> |
13
zjj19950716 2018-03-14 20:16:35 +08:00
jinja2 过滤器 自动转义什么的
|
14
yzmm 2018-03-15 10:05:21 +08:00
我是用 jsoup 把文章的 html 解析后再获取 text 然后再用标签截取固定的长度,超出部分就用“...”表示。
|