php博客系统 markdown,博客系统如何用markdown编辑器发布文章

e8939724cc40ccb885f1fb1b48d61aa1.png ---markdown---

博客系统如何用markdown发布文章?本人最近用markdown写笔记,突然爱上了这种码字风格。想把自己项目的文章发布系统也改成markdown发布,所以就有了这样一个实践,分享给大家。

再写这个文章之前 求索网 这个项目’后台的发布系统是用的百度(Ueditor)富文本编辑器。所以一直网上寻找着是否存在像Ueditor那样嵌入到项目中就可以markdown插件?答案是:没找到。找不到完整那就退而求其次自己找零件拼装。

构建思路:写入--> mardown格式文本 --> 插入到数据库 --> php解析mardown格式文本成HTML --> 浏览器渲染HTML(前端给markdown解析html标签添加css样式) -->完成

前面的写入数据的步骤代码都不用动,只要用texarea输入框写markdown就ok,插入到数据库也是以markdown格式存在数据中 ;显而易见,解决这个问题的核心就是PHP解析markdown。这里推荐一款phpmarkdown解析器--parsedown。只要在读取内容那部分的代码引入这个解析器,将markdown代码解析成html字符串,丢到模板中。

代码实例:

/**

* 解析mardown文本

*/

public function parsedown($text){//以thinkphp为列

import('Vendor.Parsedown.Parsedown');//将parsedown放到第三方库目录.class.php命名(用import引入必须用此命名)

$parsedown = new \Parsedown();

return $parsedown->text($text);

}

/**

*输出页面

*/

public function index(){

$aid = I('aid');

if($aid){

$this->loadCate();

$this->loadSidebar();

$articleModel = D('Article');

$commentModel = D('Comment');

$data['articleData'] = $articleModel->getArticleData($aid);//文章数据

if($data['articleData']){

$data['articleData']['content'] = $this->parsedown($data['articleData']['content']);//解析makdown文章内容

$data['tagname'] = explode(',', $data['articleData']['tagname']);//文章标签

$data['relateList'] = $articleModel->getRelateList($aid);//相关文章

$data['comment'] = $commentModel->getComment($aid,array('start'=>0,'num'=>5));//评论

$this->assign('data',$data);

$this->display();

}else{

echo '错误页面';

die;

}

}else{

echo '错误页面';

}

}

这样后台markdown基本搞定,别忘了在前端加mardown样式,这个css样式自己写也可以下一个mardown.css。前端得代码高亮可以用prism.js等库。这样就完成mardown格式的输出显示步骤。

效果怎么样?求索网上的每一篇文章都是用markdown写的自行参考。

总结:把解决问题的思路理清楚,大问题拆解成小问题,各个击破。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Liblog已更新至V1.2.1版本,源码下载地址:https://github.com/livisky/liblog/archive/1.2.1.tar.gz Liblog最新教程已收录在w3cschool(http://www.w3cschool.cn/liblog/) ,欢迎评论和支持! 一.简介 Liblog是一个简单易用的Markdown系统,它是基于开源框架thinkJS(使用 ES6/7 特性开发 Node.js 框架)开发的nodejs项目 需要mysql数据库支持,具有管理后台功能,更新分为普通文章markdown文章markdown文章只需要导入你写好的Markdown文件即可。它摆脱了在线编辑器排版困难,无法实时预览的缺点,一切都交给Markdown来完成,一篇就是一个Markdown文件。同时也支持评论,代码高亮,分类,标签云,留言板、友情链接、系统设置等常用功能。Liblog提供了不同的主题样式,你可以根据自己的喜好配置,如果你想自己制作主题,也是非常容易的。Liblog还支持整站静态网页生成,同时有发布相关的配置,使用nginx做反向代理,动静态资源分离,静态缓存等,使您发布后的访问秒开。 二.功能特点 一键导入Markdown文章 文章评论 代码高亮 文章内容分页 系统主题设置 响应式布局,支持手机端访问 良好的SEO 登录/注册/个人中心/个人设置 小型bbs,讨论社区 支持cms标签循环 完善的后台及权限控制 三.安装及其他介绍 安装教程:http://www.jsout.com/page/423.html 前台登录:admin@jsout.com 123456 后台登录:admin 123456 安装Liblog之前,请star并fork项目给作者以鼓励。 如果你认可并支持Liblog,还可通过扫描二维码捐赠Liblog(http://www.jsout.com/donate.html) 四.最新版本Liblogv1.2.1更新 【后台管理】添加友情链接管理 1)友情链接增加独立管理菜单,增加审核、排序、隐藏功能 2)友情链接增删查改 3)系统设置-常规设置的友情链接设置项删除 【后台管理】后台主题设置优化,修复设置错误后台打不开的bug 【个人中心】修复个性签名设置bug,积分算法bug修复-forlong401 【后台管理】添加社区标签管理功能-forlong401 【后台管理】添加后台文章标签排序功能 【个人中心】积分排名榜修复,添加缓存 【后台管理】完善导航管理(新窗口打开、排序等)-斯迈欧 【后台管理】添加系统logo设置-斯迈欧 修复部分已知bug 五.感谢 Liblog的成长需要各位亲们支持!感谢你们使用Liblog,感激你们对Liblog的良好建议与Bug反馈。如果你的也是基于Liblog,请告知作者,无偿获取技术指导。 前端汇 http://www.jsout.com 维卡冲突世界 http://www.kixeyes.com Liblog QQ群:256687601 作者邮箱:262248861@qq.com 演示网站:https://www.jsout.com 六.更新日志 详见:https://github.com/livisky/liblog/wiki/updateLog 添加静态资源一键打包功能(html,css,javascript) gulp配置 添加开发和生产运行模式 七.运行程序请选择运行模式 //压缩html,css,js 并生成相应目录 npm run compress //运行开发模式,html,css,js均加载未压缩版本 npm run dev //运行生产模式,html,css,js均加载压缩版本 npm run app //首次运行/更新运行前请先编译项目 npm run compile //线上推荐用pm2来运行(先配置好pm2.json) pm2 start pm2.json 标签:liblog  markdown

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值