是一个用 java 写的实时论坛,欢迎来 !(如果你需要搭建一个企业内网论坛,请使用 )
- 非常详细的
- 如果你在搭建或者二次开发时碰到问题,欢迎加 q 群 17370164 进行讨论
sym 的主要作者是 与 ,所有贡献者可以在看到。
1.5.0 版本更新
sym 的诞生是有如下几点原因:
- 已有的用 java 写的论坛很少也很丑,并且大多数已经不再维护
- 我们想实现一种,独立博客 论坛互动
在浏览帖子时,传统论坛都是需要刷新页面来查看回帖的,而 sym 则是基于 websocket 技术进行回帖推送,看帖时不需要刷新页面也可以看到其他人回帖。
sym 提供了 进行帖子、回帖的同步(),目前 、、、 均已经提供插件来进行内容同步,欢迎大家进行接入!
sym 使用了很多 html5 提供的技术特性,比如
- 通过使用本地存储防止编辑帖子/回帖时内容丢失
- 使用了音频特性来进行帖子/回帖音频录制、播放
- 复制/粘贴上传图片
- css3 动画
通过使用这些技术,sym 可以让用户在分享、交流时更加便捷、舒服 。
凯发推荐首页
帖子
个人设置
发布编辑
- markdown 编辑器,支持 gfm 语法
- latex 数学公式
- 复制粘贴时自动转换为 markdown
- chrome 下可以直接粘贴图片,其他浏览器支持拖拽
- 除了使用文字,也可以在帖子内进行录音
- 支持 emoji
- 使用本地存储保障数据在未提交时不丢
移动端使用单独的模版进行渲染,解决通过一套模版自适应不能达成的效果和体验。
需求:maven3 、mysql5.5 、jetty9 /tomcat9 (理论上只要实现了 规范的 servlet 容器都可以)
- 源码
- 解压后修改
src/main/resources/local.properties
中的数据库配置,并创建数据库 -
可能需要修改
latke.properties
中的端口为容器端口 -
可能需要修改
init.properties
中的管理员账号 - 使用
mvn install
进行构建 - 部署到 servlet 容器的 root 下并启动容器,数据库表会在第一次启动时自动建立
注意:
- 没有数据库建表 sql 脚本,只需要手动建库,表会在第一次启动时自动生成
- 只能部署到 root 中,线上环境建议使用反向代理
- tomcat 用 9 以上版本,最好是使用最新版
- 图片上传默认是上传服务器本地,要使用可配置
symphony.properties
中的qiniu.*
属性 - 邮件发送使用的是 ,需要配置
symphony.properties
中的sendcloud.*
属性 - 将 web-inf/cron.xml 中注释掉的部分打开
-
如果部署在***非 jetty 容器***中,需要把 web-inf/web.xml 中如下配置注释掉:
<servlet> <servlet-name>defaultservlet-name> <servlet-class>org.eclipse.jetty.servlet.defaultservletservlet-class> <init-param> <param-name>usefilemappedbufferparam-name> <param-value>falseparam-value> init-param> servlet>
用户注册时是启用邮件验证的,如果需要修改请参考相关代码。
如果遇到问题,可以参考一下这篇。
如果你也搭建好了,欢迎通过 pull request 将你的站点加到中 :-p
请看。
在实现 的这几年:
- 我们见证了 xae(gae/bae/sae/etc)的兴起与没落。2009 年选择了 gae 作为服务器,并开始实现 框架来解决跨云平台,直到,不得不感叹技术更迭之快
- 感受到了自造轮子的优缺点,并且可以肯定一点:对于一个想要长久的产品来说,自制技术框架优势远大于劣势
- 一个好玩的产品或说是细节特性然并卵,需要做的是一个能够持续提供用户价值的产品/特性
- 虽然直到目前 b3log 系产品用户不多,但我们已经初步证明了:java 用来实现博客、论坛没有什么不好的
- 使用开源软件,了解开源思想,融入开源
- feel easy about trust.