GooseForum v0.0.3 版本发布 (图在文末)
访问地址如下:
改动点如下
前端使用 vite + tailwindcss 重构。一是为了保持服务端选染衣达到 seo 友好的目的,二是 tailwindcss+vite 确实可以和当前项目比较友好的结合。并且最终打包出来的资源也是相对小巧的。并且这个过程中,体验到了一些比较新的库和 ai 的结合 。比如 rule 比如 context7 ,可以查找最新的文档并正确使用对应的的组件。
在上个小版本服务端采用 goldmark 将 markdown 转 html , 前端再加入一些样式。 发布页面是 vue + md-editor-v3 。但是两者展示的差异比较大,并且由于使用的不同库,导致主题切换的时候非常难以维护。并且不同组件的主题适配非常麻烦。
所以新的版本中 markdown 渲染 采用了都支持 CommonMark 的 markdown-it(js) 和 goldmark(go) . 采用了相同的配置,mermaid 通过前端自动发现是否需要渲染 , 同时相关样式采用 @tailwindcss/typography 来渲染。算是一个一致/性能/体验的都比较不错的方案。
老实说,为了在服务端选染,这一块之前搞得好纠结。文章发布页面换过好几次前端组件,之前发布的版本用的 md-editor-v3 ,打包后感觉比较重,而且预览样式无法做到和高度一致(不但无法高度一致而且差异不算小)。 这里采用直接用 markdown-it + mermaid 进行 CommonMark 语法的转化,然后通过 tailwindcss 的 @tailwindcss/typography 插件进行美化,这样可以保证前端编辑和最终服务端选染的一致。
1 、更改了初始化张逻辑 ,参考 cloudreve 初始化账号的方式,很巧妙。 首个注册的用户设置为管理员,注册的时候如果注册人的 id 是 1 则进行一系列额外的初始化操作。 2 、优化了一些统计逻辑 , 在 sqlit wal 模式下获得不错的性能体验。
欢迎大家来尝鲜。
首页
主题切换
![]() |
1
forelegance 23 天前
基本功能都有,但就是界面太过主次不分了,且不够美观和统一,没有眼前一亮的那种感觉
|
![]() |
2
PungentSauce OP @forelegance Get
|
![]() |
3
gigishy 22 天前 via iPhone
界面让我梦回二十年前……
|
![]() |
4
PungentSauce OP @gigishy 哈哈,看来我还挺念旧的。
|
5
flytoegg 22 天前
跟 V2EX 功能很像啊
|
![]() |
6
PungentSauce OP @flytoegg 参考 learnku.com 多一点。 其他小细节基本上看到哪个就参考哪个。主要还是想要部署方便。sqlite 模式下,下载即可运行,0 依赖。wal ,提高并发能力。自带数据库备份。
|