Sym 是一个用 Java 写的实时论坛,欢迎来**体验**!(如果你需要搭建一个企业内网论坛,请使用 SymX)
在浏览帖子时,传统论坛都是需要刷新页面来查看回帖的,而 Sym 则是基于 WebSocket 技术进行回帖推送,看帖时不需要刷新页面也可以看到其他人回帖。
Sym 提供了 API 进行帖子、评论的同步(B3log 构思),目前 Solo、Typecho、Z-BlogPHP、WordPress 均已经提供插件来进行内容同步,欢迎大家进行接入!
Sym 使用了很多 HTML5 提供的技术特性,比如
- 通过使用本地存储防止编辑帖子/评论时内容丢失
- 使用了音频特性来进行帖子/评论音频录制、播放
- 复制/粘贴上传图片
- CSS3 动画
通过使用这些技术,Sym 可以让用户在分享、交流时更加便捷、舒服
首页
帖子
个人设置
发布编辑
- Markdown 编辑器,支持 GFM 语法
- LaTeX 数学公式
- 复制粘贴时自动转换为 Markdown
- Chrome 下可以直接粘贴图片,其他浏览器支持拖拽
- 除了使用文字,也可以在帖子内进行录音
- 支持 Emoji
- 使用本地存储保障数据在未提交时不丢
移动端使用单独的模版进行渲染,解决通过一套模版自适应不能达成的效果和体验。
需求:Maven3+、MySQL5+、Jetty9+/Tomcat9+(理论上只要实现了 JSR356 规范的 Servlet 容器都可以)
- 下载源码
- 解压后修改
src/main/resources/local.properties
中的数据库配置,并创建数据库 - _可能需要_修改
latke.properties
中的端口为容器端口 - _可能需要_修改
init.properties
中的管理员账号 - 使用
mvn install
进行构建 - 部署到 Servlet 容器的 ROOT 下并启动容器,数据库表会在第一次启动时自动建立
注意:
- 没有数据库建表 SQL 脚本,只需要手动建库,表会在第一次启动时自动生成
- 只能部署到 ROOT 中,线上环境建议使用反向代理
- Tomcat 用 9 以上版本,最好是使用最新版
- 图片上传默认是上传服务器本地,要使用七牛可配置
symphony.properties
中的qiniu.*
属性 - 邮件发送使用的是 SendCloud,需要配置
symphony.properties
中的sendcloud.*
属性 - 将 WEB-INF/cron.xml 中注释掉的部分打开
- 如果部署在非 Jetty 容器中,需要把 WEB-INF/web.xml 中如下配置注释掉:
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
<init-param>
<param-name>useFileMappedBuffer</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
用户注册时是启用邮件验证的,如果需要修改请参考相关代码。
注意:
本地配置完成部署后,还需要对七牛(如果使用了)和 SendCloud 进行服务配置: