ZrLog是一款基于Java开发的博客程序,自带Markdown编辑器,可以帮助用户构建出自己的Java博客系统,具有内存占用率低、简单易用、界面简洁的特点。各位博主感兴趣的可以下载哦!
功能特色
1、提供日志,分类,标签,评论的管理
2、支持插件模式 如何编写一个zrlog插件 http://blog.zrlog.com/post/zrlog-plugin-dev
3、高度可定制的主题功能
4、支持第三方评论插件
5、提供 editormd 主流的富文本编辑器,基本上满足了管理员的编辑需求
6、缓存公共数据,访问速度更快
7、支持页面静态化
8、支持扩展第三方云存储(默认七牛)
9、支持数据库定时备份
10、在线更新升级
ZrLog使用方法
主题机制
与其它的资讯类程序类似,主题文件放在一个文件夹里面,通过服务端的完成数据的渲染,这样的好处在于友好的SEO,首次打开快,对浏览器依赖少。
Zrlog使用博客页面使用了/post /的路由,当浏览器访问诸如(http://blog.zrlog.com) 程序代码会根据对应了URI的寻找对应的方法。
JFinal机制是寻找对应的方法,如果没有对应的方法是会调用index这个方法,如果也没有 index 方法就会扔出404的错误页。
最终执行是下面这个方法
查询出来的文章数据存放在request域里面。
通过如下代码判断选择对应需要渲染的模板文件
制作前提
jsp
(熟悉常用的el表达式,jstl标签库)
基础的 html+css
(了解常用的元素和布局方式)
先看下默认的主题文件夹的结构
对应目录为 /include/templates/default
├── 404.jsp (文章不存在时,被 detail.jsp,page.jsp 通过 include 指令使用)├── css (网页样式文件)├── detail.jsp (文章详细页数据)├── fonts (用到的第三方字体文件)├── footer.jsp (公共的网站底部,通常是版权,统计代码,备案号数据)├── header.jsp (公共的网站头部数据,通常是指导航条数据)├── images (存放图片资源文件)├── index.jsp (这个文件通过和page.jsp文件一致,如果不进行特殊定制的话)├── js (存放需要用到javascript代码)├── language (存放主题中的一些描述语句,主要用于多语言)├── page.jsp (文章列表页数据)├── setting (存放主题设置的页面)└── template.properties (用于管理界面展示使用,描述主题的一些信息)
通过将静态文件放到不同文件夹下面,方便管理。上面罗列的是部分通常结构。
当然也可以按照自己命令方式比如 css 可以使用 style。这都没有任何限制的。主题至少要 page.jsp detail.jsp 这2个文件。
具体如何引用样式,字体文件。需要在这2页面中去控制。
主题数据
Zrlog目前只有2个页面,及文章列表页,文章详细页。只需要编写对应模板代码就可以了。主题需要用到数据的数据都存放在Servlet的Request域里面。
开发环境下面,通过在代码中引入 dev.jsp 这个页面可以在浏览器的控制台对应Request域里面的内容。
公共数据
_res (存放主题使用到配置,全局化的字典)
init (全局数据,包括侧边栏菜单,导航条,网站设置)
templateUrl (主题静态文件存放的绝对地址)
baseUrl (用于部分非绝对路径地址的拼接)
requestUrl (浏览器的请求的完整地址)
searchUrl (搜索文章接口数据的提交地址)
文章列表页
pager (快速生成文章分页条)
data (文章列表页的文章数据)
文章详细页
log (文章的详细数据,包含评论数据)
注意事项
任何文件后缀为 jsp,properties,是无法通过浏览器方式访问的
ZrLog新功能:
1、文章,分类别名支持中文
2、更新管理界面添加手动检测按钮
3、增强了主题开发(引入dev.jsp可以快速浏览存放在request域的数据,便于模板页面读取的渲染)
4、https的支持,需要在nginx.conf文件的http块里面添加 `proxy_set_header X-Forwarded-Protocol $scheme;
5、在网站设置里添加对会话过期时间的控制
6、改进了插件功能,使用vue.js客户端渲染替换原有使用freemarker服务端渲染
7、备份插件支持window系统
8、增加新的畅言评论框
9、开源协议由GPLv2变更到Apache
七牛云存储插件安装教程
创建仓库
获取Access key/Share secret
在个人控制面板找到密钥管理
配置七牛插件
通过程序的插件中心下载七牛云存储插件
将上面对应的信息填写进去就可以了
系统要求
系统安装:
1.下载最新的war 放在tomcat的webapps (补充 绑定tomcat域名的方法)
2.访问 http://host:port/zrlog/install
3.填写数据,管理员信息,完成安装
部署环境前提:
1.jre 版本 >= 1.6
2.tomcat 版本 >=6
更新日志
ZrLog 1.7.0更新:
优化
1、升级JFinal到3.1,将Java版本提升至1.7
2、优化对后台管理页面的静态资源缓存
3、优化插件服务的内存占用
4、下载插件核心服务时关闭缓存
5、优化程序更新流程,更新的检查机制
6、管理主面板添加系统编码信息
7、默认主题添加标题设置,避免域名过长的情况下,样式被破坏的问题
8、优化主题管理界面
9、废弃session的方式控制权限,变更为Cookie验证
10、优化/api/*的错误请求,改为响应json数据
11、优化编辑文章的方式,由原来的弹窗标题改为跳转到撰写文章界面进行编辑
12、安装界面添加安装需要的注意事项
13、启动插件使用java的完整路径进行启动,避免部分云平台没有将java添加到PATH中,无法正常启动的问题
14、删除一些没有使用资源文件,默认主题的使用通用的头像图片
15、优化文章编辑页的文章分类的选择框的样式,优化一些其它的样式
16、完善一些页面的i18n,后台管理界面添加主题预览状态的提示
修复
1、导航条数据无法更新
2、默认主题无法上传图片
3、关闭更新功能后,无法正常启动的bug
4、修复上一篇,下一篇的请求地址错误
5、修复主题无法上传的问题
6、修复IE浏览器,管理员登陆成功后无法正常的跳转
7、修复website表value的长度不够的问题
8、修复mysql5.7以上版本,需要配置sql_mode(group by语法无法正常执行)的问题
9、修复Window系统下,升级过程中无法正常解压生成新的war文件
10、修复标签添加后,无法通过标签进行定位文章
11、修复主题预览状态,预览文章页面主题的资源文件路径错误的问题
12、修复IE下使用 localhost 进行访问,无法进行进行登陆(IE限制Cookie的domain字段,不能设置为localhost)
13、修复插件的运行路径无法跟随程序路径变化而变化的问题(windows的文件完整路径到Linux下面文件却成了文件名)