准备合并上游代码,服务将出现短暂中断
#小森林
#小森林 增加了带评论转贴(QT)的功能,效果见 [图1]。
实际上这和真正的“转贴”还是有区别的。因为被转的帖子作者其实并不会收到任何相关提醒,仅仅作为一个 reference 附加在你的嘟文后面,所以单纯地理解为“引用”会更好一些。因此一个小小的建议是,引用的时候@一下原作者。
我们所做的其实仅是在嘟文最后附上了类似这样子的一条:
你的评论正文,balabala
QT: [某条嘟文的链接]
但是,你不能直接通过在嘟文最后附上这段代码的方法实现引用,必须通过点击嘟文上的引用图标来开始编辑,效果类似回复的时候,这段代码你不用手动添加~ [图2]
还需要注意的是,“仅关注着可见”、“私信”和“仅本地用户可见”的嘟文不支持引用。
在本站上(仅网页端)相应地会自动将 QT
部分转为此嘟文的预览,但是在不支持 QT 功能的其他实例上,会显示为带 QT: [xxxx]
的样子,具体地,可以参考 [图3,本站上的显示效果] 和 [图4,不支持的外站上的显示效果]。
如果发现 bug 务必及时@我
准备更新一下反代理服务器的系统,媒体文件将有一段时间无法访问。预计半小时内完成。
#小森林 Markdown相关功能更新
之前本站实现的用Markdown发送嘟文(图一)功能,默认使用Markdown解析器解析所有嘟文,现在新增在编辑嘟文时指定嘟文富文本类型的选项(图二),对于一般用户或者不需要Markdown的情况,可以手动选择以纯文本形式发送嘟文。当然你也可以在 设置
-首选项
-其他
下设置 默认的嘟文富文本格式
(图三)。
顺带提醒一下,上次新增的 嘟文仅本地本可见
选项也可以在这里设置默认值。
#Mastodon 最新的 commit 里面增加了一个当所关注的用户发嘟时接收通知的功能,挺实用的,我已经合并进#小森林 啦
https://github.com/tootsuite/mastodon/commit/974b1b79ce58e6799e5e5bb576e630ca783150de
#小森林 新增【嘟文仅本地时间线可见】功能
在Web端发嘟时,可以选择【Federated】和【Local-only】两个选项,默认前者,嘟文在其他实例也能看到,后者仅在本实例能看到。
CW: 那些前段时间歪歪叽叽说想要屏蔽小森林的人,这不正是你们需要的功能吗?
#小森林 11:30需要停机维护,恢复时间待定
#小森林 上游代码合并完毕,暂时没有发现异常,如果使用中发现问题请及时向我反馈,午安。
#小森林 恢复正常🎉
#小森林 公告
今天生产环境服务器出现问题还没修复,所以网站目前暂时放到了备用服务器上,下次公告前会对数据再次进行备份,可放心使用,不必担心数据遗失。
因为只是临时用用所以没有做线路优化,访问速度不佳请理解。
明天应该会再维护一次,届时请留意公告。
经过两天折腾终于把坑踩完了。实现方案:Kramdown 转换 Markdown + Rouge 渲染代码高亮 + images.weserv.nl 代理外部图片。
可以在这条嘟文查看本站 Markdown 效果: Markdown指南,本站用户可以直接在网页端看到效果,外站用户请到本站网页上查看,暂不清楚第三方 APP 兼容性。
本站代码已开源, mashirozx/mastodon,可以无缝和官方最新版对接,没有对数据库结构做过任何改动!Docker 镜像在此,请使用 alpha
版本: Docker Hub
Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者 HTML)文档”。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。
它的优点:
Markdown 的中文使用说明见:Markdown 入门参考
本站使用的是 Kramdown 转换器,其实还能实现更多 Markdown 标准之外的特性,比如自定义插图样式:
Here is an inline ![smiley](smiley.png){:height="36px" width="36px"}.
And here is a referenced ![smile]
[smile]: smile.png
{: height="36px" width="36px"}
Here is an inline Media: smiley.
具体见:Kramdown Syntax
目前对图片代理的解决方案还不是特别满意,因为依赖的是第三方的图片代理,希望能用到 Mastodon 自己的 LinkCrawlWorker
和 MediaDownloadedWorker
,但是我太菜了没找到入口。Mastodon 本身有一个 media_proxy
路由,好像可以临时代理图片,也不清楚应该怎么调用?
目前还没有进行严格的测试,包括且不限于 XSS 隐患、外站兼容性、转换器本身稳定性。
在开发过程中,发现 Mastodon 的 Formatter
类(app/lib/formatter.rb
)似乎是实时渲染的,也就是说每访问一次内容都要走一遍渲染流程,这次我的 Markdown parser 正好就是加在这个过程上的,是否会增加服务器负担有待观察,我想如果能直接存进数据库或者有什么方法缓存一下会更合理。
Kramdown 还支持 LaTeX 渲染数学公式,但目前我没有启用,后续会适配这个功能的。
还有如你所见,Markdown 转出来的东西,在网页上样式还不是太完美,等后续慢慢优化,当然,你也可以帮我, CSS 或者 SCSS 样式发给我就可以啦 😁
服务器性能有限,而我目前必须在服务器的 Linux 环境上开发,所以就暂时把生产环境的网站关掉了。运营这个网站并没有盈利的目的,一切出于兴趣和热爱,所以虽然我无法提供服务 100% 稳定(稳定仅指网站的可访问性,网站数据我是每天自动备份的不可能有问题!!)的保证,但是我不会轻易放弃、跑路,否则我为什么要改这么多代码呢?
#小森林 删掉了 Mastodon 移动端浏览器上左右滑动切换栏目的功能,删掉以后反倒又有些不习惯了
你觉得呢?
修改方法: https://github.com/mashirozx/mastodon/commit/24d85990be4f696522a14114d36647bb94b998f0
Chinese 🇨🇳 / Dictatorial Admin / Mastodon Code Contributor / 摸鱼技术布道师
Steam: https://steamcommunity.com/id/MashiroBest
Epic: https://store.epicgames.com/en-US/u/d211c824cbd94aaeba898db6bb823ff7
原批交流群:966322309