网站多语言的设计细节 2024/8/23 08:23 早在用 WordPress 的时候,就在琢磨用什么样的方式实现网站多语言。WordPress 本身对多语言的支持非常棒,但使用 WordPress 构建多语言网站,就有些困难了。后来转用 Grav,从中学到了一种很好的方式。当我开始自己写网站程序时,就决心实现一个好用、合理的方案。本文讨论一些相关的设计细节。
在公网使用 iptables 转发端口时保留客户端 IP 2024/7/12 07:12 此前,我曾经使用一个闲置的 IP,做了端口转发,以隐藏自己的 Forgejo 服务器 IP。这种方式简直太棒了。直到我最近搭建了自己邮箱服务,发现使用 iptables 经由公网做的端口转发,在应用端并不能正确获得客户端 IP。在非正式的对外应用中,这一点并无影响。邮箱服务中使用 Greylist 来抵御垃圾邮件,发信者的 IP 是一个重要的参数。因此我需要获得真正的客户端 IP。
邮件投递平台 Postal 的使用经验 2024/7/9 07:09 使用 Postal 来替代 SendGrid 已经有一段时间了。基本上可以完全替代 SendGrid。在使用过程中,也遇到了一些问题。本文记录一些使用中的经验之谈。
自建 Postal 完美替代 SendGrid 2024/6/28 06:28 Cloudflare 的邮件路由功能很好用。作为补充,我一直使用 SendGrid 来发信,也一直在寻找替代品。自托管邮件有 Mail-in-a-box,Docker-mailserver,MailCow 等等选择。不过,有时我并不需要收件箱,因此我决定尝试 Postal 作为 SendGrid 的替代方案。本文记录 Postal 的安装与使用。
在 SvelteKit 应用中使用 JSON-LD 2024/5/14 05:14 使用 SvelteKit 可以很轻松地创建 SSR 的网站应用,但是在 SEO 方面,我们需要在页面中添加一些元数据,比如 JSON-LD。本文将介绍如何在 SvelteKit 应用中使用 JSON-LD。
网页的打印样式应该怎么写 2024/4/26 04:26 刚开始开发本站的程序时,我就考虑到页面打印的问题。Markdown 转 PDF 有很多种方案,而网页转 PDF 体验就很差了,很多不重要的内容影响了打印效果。无论是打印到纸张还是打印到 PDF,网页本身的排版功能是完全胜任的。