简介 Sym 是一个用 Java 写的现代化的社区论坛,欢迎来体验!(如果你需要搭建一个企业内网论坛,请使用 SymX) 非常详细的 Sym 功能点脑图 如果你在搭建或者二次开发时碰到问题,欢迎加 Q 群 17370164 进行讨论 Sym 的诞生是有如下几点原因: (正版) 好用的 Java 开源论坛系统难以寻找 很多系统界面上仍然保持着老式风格,远远没有跟上前端发展的脚步 很多系统没有创新、好玩的特性,缺少现代化的用户体验 我们正在探索新的论坛模式,实现独奏(Solo)与协奏(Symphony)相结合的社区新体验 (野版) 做最 NB 的开源论坛系统 作者技痒,炫技之作 基本理念 实时交互 在浏览帖子时,传统论坛都是需要刷新页面来查看回帖的,而 Sym 则是基于 WebSocket 技术进行回帖推送,看帖时不需要刷新页面也可以看到其他人回帖。 互联 Sym 提供了 API 进行帖子、回帖的同步(B3log 构思),目前 Solo、Typecho、Z-BlogPHP、WordPress 均已经提供插件来进行内容同步,欢迎大家进行接入! HTML5 Sym 使用了很多 HTML5 提供的技术特性,比如 通过使用本地存储防止编辑帖子/回帖时内容丢失 使用了音频特性来进行帖子/回帖音频录制、播放 复制/粘贴上传图片 CSS3 动画 通过使用这些技术,Sym 可以让用户在分享、交流时更加便捷、舒服 安装 需求:Maven3+、MySQL5.5+、Jetty9+/Tomcat9+ 下载源码 解压后修改 src/main/resources/local.properties 中的数据库配置,并创建数据库 可能需要修改 latke.properties 中的端口为容器端口 可能需要修改 init.properties 中的管理员账号 使用 mvn install 进行构建 将构建好的 war 包部署到容器中,数据库表会在第一次启动时自动建立 注意: 没有数据库建表 SQL 脚本,手动建库后,表会在第一次启动时自动生成 生产环境建议使用反向代理,并需要配置好 WebSocket 代理 Tomcat 用 9 以上版本,最好是使用最新版本 配置 图片上传默认是上传服务器本地,要使用七牛可配置 symphony.properties 中的 qiniu.* 属性 将 WEB-INF/cron.xml 中注释掉的部分打开 邮件发送使用的是 SendCloud,需要配置 symphony.properties 中的 sendcloud.* 属性 用户注册时需要验证邮箱的,所以必须先配置好 SendCloud 如果遇到问题,可以参考一下这篇帖子。 案例 黑客派 宽客网 贵州IT 超级产品经理 Titandb 学习主站 如果你也搭建好了,欢迎通过 Pull Request 将你的站点加到这个列表中 商用授权 如果需要将 Sym 用于商用(比如公司搭建对外社区),则必须付费,报价 ¥4000,请联系我(Q845765)进行细节咨询。 开源授权 请仔细查看并遵循使用条款,尊重我们的劳动成果。 商用授权和开源授权在功能上没有任何区别,但商用授权后可以去除页脚版权部分。如果在未获得商用授权前私自去除版权部分,必将追究法律责任。 感悟 在实现 B3log 构思的这几年: 我们见证了 xAE(GAE/BAE/SAE/etc)的兴起与没落。2009 年选择了 GAE 作为服务器,并开始实现 Latke 框架来解决跨云平台,直到告别 GAE,不得不感叹技术更迭之快 感受到了自造轮子的优缺点,并且可以肯定一点:对于一个想要长久的产品来说,自制技术框架优势远大于劣势 一个好玩的产品或说是细节特性然并卵,需要做的是一个能够持续提供用户价值的产品/特性 虽然直到目前 B3log 系产品用户不多,但我们已经初步证明了:Java 用来实现博客、论坛没有什么不好的 使用开源软件,了解开源思想,融入开源 如果你想做个程序员相关的论坛,请三思 你怎么看待社群、社区这两个词? UGC 社区价值生态 贡献 Sym 的主要作者是 Daniel 与 Vanessa,所有贡献者可以在这里看到。 我们非常期待你加入到这个项目中,无论是使用反馈还是代码补丁,都是对 Sym 一份满满的爱 ❤️ Terms This software is open sourced under the Apache License 2.0 You can not get rid of the "Powered by B3log 开源 • Sym" from any page, even which you made If you want to use this software for commercial purpose, please mail to support@liuyun.io for a commercial license request Copyright © b3log.org, all rights reserved 鸣谢 Sym 的诞生离不开以下开源项目: jQuery:前端 JavaScript 工具库 CodeMirror:前端 Markdown 编辑器内核 Highlight.js:前端代码高亮库 emojify.js:前端 Emoji 处理库 APlayer:前端 HTML5 音乐播放器 ECharts:前端 JavaScript 交互式图表库 MathJax:前端数学公式渲染引擎 SoundRecorder:前端 HTML5 录音库 ZeroClipboard:前端剪贴板支持 JavaScript MD5:前端 JavaScript MD5 库 ReconnectingWebSocket:前端 WebSocket 重连库 to-markdown:前端 HTML 转换 Markdown UAParser.js:前端 User-Agent 解析库 Sass:前端 CSS 处理工具 jsoup:Java HTML 解析器 pegdown:Java Markdown 处理库 Apache Commons:Java 工具库集 Jodd:Java 工具库集 emoji-java:Java Emoji 处理库 User-Agent-Utils:Java User-Agent 解析库 Druid:Java 数据库连接池 FreeMarker:好用的 Java 模版引擎 Latke:Java Web 框架 NetBeans:全宇宙暂时排名第三的 IDE 功能图解 首页 帖子 (右边红色回帖按钮的位置应该在右下角,截图软件不给力..) 个人设置 发布编辑 Markdown 编辑器,支持 GFM 语法 LaTeX 数学公式 复制粘贴时自动转换为 Markdown Chrome 下可以直接粘贴图片,其他浏览器支持拖拽 除了使用文字,也可以在帖子内进行录音 支持 Emoji 使用本地存储保障数据在未提交时不丢 移动端 移动端使用单独的模版进行渲染,解决通过一套模版自适应不能达成的效果和体验。 Java 社区论坛 - Sym 1.6.0 发布下载地址