#小森林 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
给 #小森林 加上了猫耳及头像框支持,用户可以自行在下面的文件中配置自己的ID和样式:
https://github.com/mashirozx/hello_robots_txt/blob/master/custom/scss/avatar.scss
目前支持猫耳和B站的九十多个头像样式,欢迎PR ~
其实只要在 Mastodon 的数据库里面加一个字段,前端多做一个选项就能更优雅地实现了,但是我实在懒得折腾
#小森林 〖隐私相关设定〗
Mastodon是通过一个noindex标签来禁止搜索引擎收录用户。但是一些国内搜索引擎,比如百度并不识别这个标签,所以站内设置的【禁止搜索引擎建立索引】是无效的。根本方法是设置 robots.txt
本站用户如果需要禁止收录自己的内容,请到这里提交PR,以在本站 robots.txt 中加入你名下的目录:
https://github.com/mashirozx/hello_robots_txt
#小森林 服务器状态监控~
Zabbix + Grafana
目前只做了 Elasticsearch 监控,还想做 Sidekiq 监控,但是 Zabbix 上配置比较繁琐,想直接换成 Prometheus,我再研究一下
https://status.2heng.xin/d/DW-yYJ7Mk/mastodon-server-monitor?orgId=1&refresh=10s&theme=dark
#小森林 可以艾特推特用户了(伪)@[email protected]
#小森林 全文搜索ElasticSearch已启用,又少了700M内存
Chinese 🇨🇳 / Dictatorial Admin / Mastodon Code Contributor / 摸鱼技术布道师
Steam: https://steamcommunity.com/id/MashiroBest
Epic: https://store.epicgames.com/en-US/u/d211c824cbd94aaeba898db6bb823ff7
原批交流群:966322309