JPress 0.2.4 发布,WordPress 的 Java 代替版 - 开源中国社区
JPress 0.2.4 发布,WordPress 的 Java 代替版
michaely 2016年07月27日

JPress 0.2.4 发布,WordPress 的 Java 代替版

michaely michaely 发布于2016年07月27日 收藏 23

免费体验IBM Cloud,构建Iot应用 >>>  

JPress 0.2.4 版本发布了,此版本主要是修复bug,重构代码,增强稳定性。同时最需要注意的是修改了taxonomy的template字段为icon字段,用于分类的icon显示。

细节如下:

add:添加内容(比如文章)归档的freemarker标签ArchivesTag
add:上传的附件,修改默认标题为其上传文件名
add:添加搜索分页标签SearchResultPageTag
add:添加UserContentPageTag标签,用于显示用户中心的相关内容
add:添加首页的分页标签;
add:添加两个后台菜单初始化的钩子,方便插件在后台自由添加或修改菜单

fix:优化代码,修复jar扫描时可能造成的资源浪费的问题。
fix:删除插件监听器自动注册的功能,修改为插件启动时手动注册。
fix:修改文章标题字体样式,使之更加自然。
fix:移动config到core module,方便二次开发继承添加自己的配置
fix:修复API调用时,module名称错误的bug
fix:完善后台附件的筛选和搜索功能
fix:重构 BasePaginateTag 分页的基类标签
fix:重构搜索API,添加搜索的分页功能
fix:重构ContentPageTag,CommentPageTag,IndexPageTag
fix:重构 jpress-addon module,使之更加合理。
fix:重构优化首页和分类页的逻辑代码
fix:重构分页的TAG,使得代码更加简洁和实用
fix:修复后台删除分类后,分类对应的菜单无法删除的bug
fix:修复sitemap的文章更新规则和权重规则
fix:修改taxonomy的template字段为icon,用于icon显示。
fix:修复搜索文章的时候,列表显示了内容全文的bug
fix:修复后台评论所属的url打开错误的bug
fix:修复后台菜单URL出错的问题,无法访问的问题

更新详情可查看:http://git.oschina.net/fuhai/jpress/commits/master

JPress演示地址:http://www.yangfuhai.com ,同时目前已经有很多企业和个人在用,相关的演示地址也会陆续的在增加。

JPress简介

JPress,一个wordpress的java代替版本,使用JFinal开发。支持类似wordpress的几乎所有功能,比如:模板,插件等。同时在模板上,JPress提出了“模板即模型”的概念,方便模板制作人灵活制作业务模型,移除了widget等繁杂功能,同时在模板和插件制作上比wordpress更加灵活简洁。

但是,JPress又不是wordpress的java版本,它天生融合了微信公众平台,整合了国内众多云平台、短信发送、邮件发送平台,独创的“模板即模型”概念是wordpress所不具备的,只有资深的wordpress玩家才能体会里面的微妙关系。同时后续会添加微信文章同步,QQ公众平台,今日头条,一点资讯等新媒体的文章同步功能,更加国产和本地化。

JPress有以下特点

1.轻。

轻到只有8张数据表,却能实现wordpress的几乎所有功能。依赖的jar包也极度轻,目前只有cos-26Dec2008.jar、druid-1.0.16.jar、ehcache-2.7.5.jar、fastjson-1.2.7.jar、freemarker-2.3.23.jar、javax.mail.jar、jfinal-2.2-bin-with-src.jar、jfinal-weixin-1.7-bin-with-src.jar、jsoup-1.8.3.jar、log4j-1.2.17.jar、mysql-connector-java-5.1.36.jar、slf4j-api-1.7.7.jar、slf4j-log4j12-1.7.7.jar、jetty-server-8.1.8.jar 这14个jar包,而且其中jetty-server-8.1.8.jar 不是必须的,只用于方便调试。
包括jar包在内的整个项目在20MB左右。

2. 快。

无论多么复杂的页面,JPress响应几乎在10毫秒内,同时JPress支持阿里云,七牛,又拍云等CDN作为加速,支持分布式部署等功能,就算是香港的服务器,只能用“飞快”来形容。

3. 灵活。

JPress提出的“模板即模型”的概念,模板制作人可以用JPress来做博客,新闻系统,论坛,问答社区,商城…加上其灵活的插件功能,几乎可以用来做任何类型的网站。

4. 国产。

因为国产,所以更符合国人需求。JPress天生融合了微信公众号,JPress内置了 阿里大鱼 的短信发送功能,支持了QQ邮箱,163邮箱等作为邮件发送服务器,后续会增加微信模板消息发送通知用户等更加符合国人需求的功能。

在功能方面

  • 支持自定义模型,自定义模型通过模板来定义,而不是后台功能。同时模型内容支持自定义类别,比如文章模型支持专题、分类、标签等类别。

  • 支持多模板引擎,默认使用Freemarker,模板制作者可以使用其他引擎比如thymeleaf来渲染,同时支持后台在线编辑模板(目前暂时只支持freemarker引擎)。

  • 支持多数据库类型,可以配置不同的数据库(目前暂只支持mysql)。

  • 支持多编辑器,后台可视化编辑和markdown编辑自由切换,默认支持在线图片编辑和代码高亮等功能。

  • 支持插件化,几行代码就可以完成一个插件的开发,git.oschina.net和github上已经有插件的helloworld实例。

  • 支持自定义URL,网站内容URL风格自定义。

  • API支持,方便APP或其他第三方调用数据。

  • 国际化支持,使用JPress轻松制作任何语言的网站。

  • 极简的SEO功能,可以为每篇文章、每个分类、每个标签单独设置SEO,支持sitemap输出。

  • 用户注册支持邮件和短信验证,目前短信服务商暂时只支持阿里大鱼。

  • 支持CDN设置,包括七牛,阿里云,又拍云等。

  • 上传图片支持水印设置,同时上传图片自动剪切成为模板需要的多种图片尺寸,保证图片显示不会拉伸。

  •  用户登录支持第三方登录,支持QQ、微信、微博、开源中国、github、Facebook、twitter、linkedin(目前只完成QQ、微信、微博、开源中国、github的登陆)。

在微信方面

  • 支持微信菜单设置。

  • 支持自动回复,添加关键字和回复内容。

  • 支持默认回复,包括:用户关注时、进入多客服时、退出多客服时、发送图片时、发送语音时、发送视频时、发送位置时、发送连接时、用户扫描了带参数的二维码时、用户摇一摇时。

  • 所有的自动回复或默认回复支持“高级回复”功能,比如回复一篇文章,回复一个网址…高级回复是由JPress内置开发的特殊回复,但完全可配置,今后会增加更多的“高级回复”功能。

  • 自动回复或默认回复支持插件回复,调用JPress插件完成回复。

  • 支持文章搜索,回复关键字即可返回关键字匹配文章。

  • 未来会支持文章同步或微信导入等实用功能。

在技术方面

  • 自豪的采用了JFinal作为核心,JPress也是得益于JFinal灵活的架构。在JFinal framework开源体系里,JPress关心每行逻辑的实现,重视每行代码质量,应该属于JFinal的最佳实践,所以也应该是每个JFinaler必读的项目。

  • 使用Freemarker和thymeleaf作为模板引擎。JPress内置的独创缓存,使得的UI渲染速度已经和模板引擎无关。

  • 使用了tinymce做可视化编辑器,使用simplemde做markdown编辑器。两者可以后台自由切换。

  • 文件和图片上传的UI插件使用了fine-uploader。

  • 在前端上,JPress使用了jquery,bootstrap,admin lte,font-awesome,x-editable,fastclick,toastr,tag-editor,pace,layer等。

  • 在安全方面,尽管我个人做了非常多的努力,已经在XSS,CSRF,SQL注入,Cookie安全等方面做了很多的工作,但是还是需要更多的人来一起挖掘和完善,安全是一个永恒的话题。(但是对于新手朋友来说,这些安全应该都是值得去学习和了解的,不是吗?)

  • 支持分布式部署,JPress重写了HttpSession,使用ehcache实现了session的功能,同时在项目中大量依赖于cookie,在分布式架构上毫无压力。

最最重要的的是

JPress使用了最宽松的LGPL开源协议,和国内的那些采用了私有协议的“开源”产品并不是一个级别的。

最后来几张截图

备注:第二套模板(the3)还不完善,如果要做网站请使用第一套模板 或者 自行设计一套模板。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:JPress 0.2.4 发布,WordPress 的 Java 代替版
分享
评论(29)
最新评论
0

引用来自“wangmj”的评论

能否和wordpress模板互通?如果能够利用大量的现有的wordpress模板,就牛了。

引用来自“michaely”的评论

目前wordpress的模板很不规范,并不是由“标签”组成的,而是直接在模板里写php代码,暂时无法把php语言转换成freemarker标签,因而暂不支持。

另:我晚点会出一套wordpress模板和jpress模板的转化方法和半自动的转换工具,工具通过部分替换和手动替换的方式来进行。 同时会出一套桌面的JPress设计工具,把普通的html模板在10分钟内制作成一套JPress模板。
站在前人肩膀,会发展的更快更好。加油!
0

引用来自“陈为迪”的评论

你好,我也想开发一个类似的工具,你这边有啥开发,思想是怎样的呢

引用来自“michaely”的评论

可以加入 jpress群一起讨论
群号多少呢
0

引用来自“owensliu”的评论

顶 加油!
dddddf
0
666
0

引用来自“554330833a”的评论

好用吗?
好用!
0
好用吗?
0
一直关注,希望自己也能为开源做点什么
0
bu cuo
0

引用来自“陈为迪”的评论

你好,我也想开发一个类似的工具,你这边有啥开发,思想是怎样的呢
可以加入 jpress群一起讨论
0
你好,我也想开发一个类似的工具,你这边有啥开发,思想是怎样的呢
0
顶 加油!
0

引用来自“michaely”的评论

自己顶!d=====( ̄▽ ̄*)b

引用来自“Jim_Ai”的评论

支持,能否引入同样国产的beetle模板引擎。
暂时不支持,今后可以考虑支持。
0

引用来自“michaely”的评论

自己顶!d=====( ̄▽ ̄*)b
支持,能否引入同样国产的beetle模板引擎。
0

引用来自“wangmj”的评论

能否和wordpress模板互通?如果能够利用大量的现有的wordpress模板,就牛了。
目前wordpress的模板很不规范,并不是由“标签”组成的,而是直接在模板里写php代码,暂时无法把php语言转换成freemarker标签,因而暂不支持。

另:我晚点会出一套wordpress模板和jpress模板的转化方法和半自动的转换工具,工具通过部分替换和手动替换的方式来进行。 同时会出一套桌面的JPress设计工具,把普通的html模板在10分钟内制作成一套JPress模板。
0

引用来自“张明楠”的评论

执行 mvn jetty:run 命令会报jfinal的类找不到!

引用来自“michaely”的评论

mvn jetty:run-war

引用来自“白白黑黑”的评论

不行 .
[ERROR] No plugin found for prefix 'jetty' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/home/joey/.m2/repository), central (https://repo.maven.apache.org/maven2)] -> [Help 1]
jetty:run-war
[INFO] Scanning for projects...
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml
Downloading: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml (13 KB at 5.9 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml (20 KB at 6.0 KB/sec)
0

引用来自“张明楠”的评论

执行 mvn jetty:run 命令会报jfinal的类找不到!

引用来自“michaely”的评论

mvn jetty:run-war
不行 .
[ERROR] No plugin found for prefix 'jetty' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/home/joey/.m2/repository), central (https://repo.maven.apache.org/maven2)] -> [Help 1]
0
能否和wordpress模板互通?如果能够利用大量的现有的wordpress模板,就牛了。
0

引用来自“张明楠”的评论

执行 mvn jetty:run 命令会报jfinal的类找不到!

引用来自“michaely”的评论

mvn jetty:run-war
多谢
0
加油,为真国产开源产品加油,鄙视伪开源!
0
加油
顶部