<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>爱吃可比克的鲸鱼</title><description>爱吃可比克的鲸鱼</description><link>https://zxs24719.codeberg.page/</link><language>zh_CN</language><item><title>我不该对腾讯抱有任何幻想</title><link>https://zxs24719.codeberg.page/blog/posts/fuck-tencent/</link><guid isPermaLink="true">https://zxs24719.codeberg.page/blog/posts/fuck-tencent/</guid><description>QQ 再也不见，曾经爱过。</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;那时候是 2025 年 10 月，我本来只是想给我的一个朋友录一个 QQ 邮箱配置 IMAP/SMTP 的教程，当时是&lt;a href=&quot;https://ssl.zc.qq.com/v5/index/?lang=zhCN&quot;&gt;临时通过浏览器注册了一个 QQ 号&lt;/a&gt;，偶然发现注册后的账号，只要在浏览器里登录过邮箱、空间和音乐，不需要登录官方的专有软件客户端也不会失效。而且我也可以在不使用专有软件的前提下，正常使用 QQ 空间和 QQ 邮箱的各项功能。后来就一直用了，当时想着不当即时通信服务用，当社交媒体用也可以。&lt;/p&gt;
&lt;p&gt;直到我一次登录 QQ 空间，主页出现一个巨大的横幅：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-23.png&quot; alt=&quot;图 1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;并且我发现我的说说发不出去，并且我还无法评论别人，只有一个“系统繁忙”的提示。&lt;/p&gt;
&lt;p&gt;但我根本没有发布过任何违规内容。&lt;/p&gt;
&lt;p&gt;我提交了好几次申诉。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-24.png&quot; alt=&quot;图 2&quot; /&gt;&lt;/p&gt;
&lt;p&gt;说申诉过后 1 - 2 个工作日内完成审核，审核之后会通过邮箱通知我。但是我提交了好几次，QQ 邮箱一点消息都没有。&lt;/p&gt;
&lt;p&gt;我今天拨打了腾讯客服的电话。打一次是一个人工智障给我发了一条短信，随后就逼着我挂断电话。我又打了第二遍，这次给我转到人工客服，等了好几分钟才有人。最后的结论是我的账号被风控了，需要&lt;strong&gt;下载 QQ 那个官方专有软件的 App 刷脸才能解封&lt;/strong&gt;，并且这&lt;strong&gt;不是因为违规，和违规没有关系，而是腾讯为了所谓的“安全”要求的验证操作&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;腾讯的每一个做法都让我切身体会到了他们的傲慢。它用微信将用户锁在围墙花园里，把所有可以通过浏览器就能访问的内容锁在腾讯那个恶臭的、封闭的生态里边，逼着用户去下载和安装他们的微信 App，践踏用户的软件自由甚至最基本的选择的自由，而且还要用它们的专有软件去侵犯用户的隐私权。本来因为 QQ 这种操作，我对腾讯有了最后的一点点好念想，而腾讯却还想要强奸我，要将最后这点念想都掐断。&lt;/p&gt;
&lt;p&gt;我完全可以申请一个新的 QQ 号继续。但我不想这么做了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;我不该对腾讯抱有任何幻想。我不会再使用 QQ，并且抵制腾讯旗下的所有产品。&lt;/strong&gt;&lt;/p&gt;
</content:encoded></item><item><title>华为 Mate 10 解锁 Bootloader 并安装安卓 14（无视账号锁）</title><link>https://zxs24719.codeberg.page/blog/posts/huawei-mate-10-install-android-14/</link><guid isPermaLink="true">https://zxs24719.codeberg.page/blog/posts/huawei-mate-10-install-android-14/</guid><description>钢镊子 yyds</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;免责声明&lt;/h1&gt;
&lt;p&gt;本文由作者发布并希望其有帮助，但作者不为因本文导致的任何操作，包括但不限于正确或错误地按照本文提供的方法进行的操作，而带来的一切后果而承担责任。&lt;/p&gt;
&lt;h1&gt;专有软件警告&lt;/h1&gt;
&lt;p&gt;本文的方法需要使用以下专有软件，因而建议仅在海思麒麟 970、980 或 710(F) 处理器使用：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Windows 操作系统（本文使用 Windows 11）；&lt;/li&gt;
&lt;li&gt;Kirin-Tool。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;海思麒麟 960/950/935/925/659/658/655/650/620 请使用 &lt;a href=&quot;https://github.com/kitsuned/PotatoNV&quot;&gt;PotatoNV&lt;/a&gt;。&lt;/p&gt;
&lt;h1&gt;前言&lt;/h1&gt;
&lt;p&gt;从亲戚家捡回来一台华为 Mate 10，这台手机带账号锁，&lt;/p&gt;
&lt;p&gt;因而带来了一些额外的麻烦，当然几经折腾也算是成功了。😝&lt;/p&gt;
&lt;p&gt;本文给出经本人测试成功的方案。&lt;/p&gt;
&lt;h1&gt;准备&lt;/h1&gt;
&lt;p&gt;首先你需要一个 Windows 操作系统，因为很不幸的是这个工具不兼容 GNU/Linux。如果你和我一样使用的是虚拟机，请&lt;strong&gt;把整个 USB 控制器通过 PCI passthrough 传给虚拟机&lt;/strong&gt;，否则可能会遇到这种问题：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-16.png&quot; alt=&quot;图 1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;随后下载 &lt;a href=&quot;https://kirintool.cfd/&quot;&gt;Kirin-Tool&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;随后再安装&lt;a href=&quot;https://files.dc-unlocker.com/share.html?v=share/18B15B9D02C945A79B1967234CECB423&quot;&gt;华为测试点驱动&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;然后将你的手机降级到 EMUI 9.1，如果现在系统版本是更高版本的话。可以尝试用 Kirin-Tool 或 AndroidUtility 降级。我用的是 AndroidUtility，但你或许可以尝试 Kirin-Tool。&lt;a href=&quot;https://yhcres.top/&quot;&gt;萤火虫资源站&lt;/a&gt;可能有你想要的包。&lt;/p&gt;
&lt;p&gt;然后再下载一个自由软件操作系统，这类支持 Project Treble 的华为手机一般可以刷安卓 13 及以下，以及部分安卓 14 的 GSI（本人实测 Andy Yan 的 LineageOS 20 开，21 及以上不开；TrebleDroid 的 AOSP 13/14 开，AOSP 15/16 不开）。这里下载 &lt;a href=&quot;https://github.com/TrebleDroid/treble_experimentations/releases/tag/ci-20240226&quot;&gt;TrebleDroid AOSP 14 ARM64 VNDK Lite&lt;/a&gt;。&lt;/p&gt;
&lt;h1&gt;拆机与进入 Boot ROM 模式&lt;/h1&gt;
&lt;p&gt;拆机的时候一定要小心。&lt;s&gt;本人在拆机的时候扎了后盖一玻璃碴子到手指头里边去了，疼死我了&lt;/s&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://zh.ifixit.com/Device/Huawei_Mate_10&quot;&gt;iFixit&lt;/a&gt; 有这台手机的拆机教程。&lt;/p&gt;
&lt;p&gt;需要短接测试点。华为 Mate 10 的测试点在下面这张图画红圈的地方：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-17.jpg&quot; alt=&quot;图 2&quot; /&gt;&lt;/p&gt;
&lt;p&gt;一般这种单个测试点是直接接地。实践上一般用一个金属镊子把旁边的金属壳和测试点连在一起。&lt;/p&gt;
&lt;p&gt;同时将数据线插入电脑。电脑设备管理器应该会出现这个：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-18.png&quot; alt=&quot;图 3&quot; /&gt;&lt;/p&gt;
&lt;p&gt;这就好了。&lt;/p&gt;
&lt;h1&gt;加载工厂 Fastboot&lt;/h1&gt;
&lt;p&gt;打开 Kirin-Tool，选择 CPU 型号并进行 Fastboot 解锁操作，工具应该自动完成一系列过程。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-19.png&quot; alt=&quot;图 4&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-20.png&quot; alt=&quot;图 5&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-21.png&quot; alt=&quot;图 6&quot; /&gt;&lt;/p&gt;
&lt;h1&gt;解锁 Bootloader&lt;/h1&gt;
&lt;p&gt;随便找个终端执行：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ fastboot oem unlock
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;不出问题应该直接成功了。&lt;/p&gt;
&lt;h1&gt;刷机&lt;/h1&gt;
&lt;p&gt;可能是由于我这个有账号锁，所以用户 Fastboot 不工作。此时还是回到工厂 Fastboot，把 GSI 刷进去：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ fastboot flash system system.img
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果你想的话顺便刷个 &lt;a href=&quot;https://xdaforums.com/t/recovery-dev-twrp-3-7-0-for-huawei-mate-10-alp-emui-9-1.4638352/&quot;&gt;recovery&lt;/a&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ fastboot flash recovery_ramdisk recovery.img
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这个 rec 触摸屏有问题，需要用 OTG 插鼠标操作。把 data 分区格式化成 ext4 格式。重启按手机提示进 erecovery，应该会提示数据分区损坏，重新格式化一下即可。（这样操作是因为常规方法恢复出厂设置在我以前几台华为上存在无法录入指纹的问题。）&lt;/p&gt;
&lt;p&gt;如果不出问题重启应该能正常开机进系统了。Perfect。😝&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-22.png&quot; alt=&quot;图 7&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>通过自由驱动在 Debian GNU/Linux 上使用 HP LaserJet P1008 打印机</title><link>https://zxs24719.codeberg.page/blog/posts/hp-printer-on-debian-with-free-drivers/</link><guid isPermaLink="true">https://zxs24719.codeberg.page/blog/posts/hp-printer-on-debian-with-free-drivers/</guid><description>廉颇老矣，尚能饭否</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;惠普打印机在 GNU/Linux 上的官方支持是通过 hplip 实现的，但是绝大多数打印机都需要一个专有的扩展来实现其功能，这对于像我这样对于专有软件深恶痛绝的人是怎么都没有办法接受的。所以我手里的这台 HP LaserJet P1008 也躺在床底下吃灰很久了。&lt;/p&gt;
&lt;p&gt;然而最近这件事情有了转机——在网上了解到一个叫做 foo2zjs 的项目。这个项目支持了惠普的一些打印机，虽然这些打印机都发布有些年纪了，但是我的打印机足够老，以至于居然受到了 foo2zjs 的支持。所以我决定拿来试试。&lt;/p&gt;
&lt;h1&gt;首先，获取 foo2zjs&lt;/h1&gt;
&lt;pre&gt;&lt;code&gt;$ git clone https://github.com/OpenPrinting/foo2zjs foo2zjs1
$ git clone https://github.com/koenkooi/foo2zjs foo2zjs2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;两个都用得上，前边那个实测打印机不工作，后边那个 &lt;code&gt;./getweb&lt;/code&gt; 不好用。&lt;/p&gt;
&lt;p&gt;后边那个的 &lt;code&gt;icc2ps/cmsio1.c&lt;/code&gt; 有点问题编译过不去，找到第 74 行 &lt;code&gt;#define xswab swab&lt;/code&gt; 换成下边这个函数：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;static void xswab(void *from, void *to, int n)
{
    unsigned char *src = (unsigned char *)from;
    unsigned char *dst = (unsigned char *)to;

    for (int i = 0; i + 1 &amp;lt; n; i += 2) {
        unsigned char a = src[i];
        unsigned char b = src[i + 1];
        dst[i] = b;
        dst[i + 1] = a;
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;或者如果懒得改也可以直接用我改完的：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ git clone https://codeberg.org/zxs24719/foo2zjs foo2zjs2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;两边都编译一遍：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ cd foo2zjs1
$ make -j$(nproc)
$ cd ../foo2zjs2
$ make -j$(nproc)
$ cd ..
&lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;获取固件&lt;/h1&gt;
&lt;p&gt;到前边那个跑一遍 &lt;code&gt;getweb&lt;/code&gt; 下载固件。在这之前需要解决两个小 bug。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ cd foo2zjs1
# cp arm2hpdl /usr/bin/
# mkdir /lib/firmware/hp/
# ./getweb P1008
# rm /usr/bin/arm2hpdl
&lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;安装&lt;/h1&gt;
&lt;p&gt;可以安装了：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# make install
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;安装热插拔之前需要移走一个 udev 规则，安装好之后移回来：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# mv /lib/udev/rules.d/70-printers.rules .
# make install-hotplug
# mv 70-printers.rules /lib/udev/rules.d/
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;重启 CUPS：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# systemctl restart cups
&lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;大功告成！&lt;/h1&gt;
&lt;p&gt;插上打印机之后应该就可以检测到了。打印一个测试页吧。😁&lt;/p&gt;
&lt;p&gt;Perfect。😝&lt;/p&gt;
</content:encoded></item><item><title>使用 Cloudflare 的免费内网穿透</title><link>https://zxs24719.codeberg.page/blog/posts/cloudflare-tunnels/</link><guid isPermaLink="true">https://zxs24719.codeberg.page/blog/posts/cloudflare-tunnels/</guid><description>薅赛博菩萨的羊毛（什么话啊）</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;今晚折腾了一下 Cloudflare 的免费内网穿透，简单分享一下经验。😛&lt;/p&gt;
&lt;h1&gt;临时隧道（适合联机游戏、共享文件等场景）&lt;/h1&gt;
&lt;p&gt;临时隧道完全免费，甚至不需要创建账号。只需要在你的电脑上安装 &lt;code&gt;cloudflared&lt;/code&gt; 并执行一个命令即可。&lt;/p&gt;
&lt;p&gt;在&lt;a href=&quot;https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/downloads/&quot;&gt;这里&lt;/a&gt; 下载 &lt;code&gt;cloudflared&lt;/code&gt;，然后执行下面的命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cloudflared tunnel --url http://localhost:&amp;lt;port&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;将 &lt;code&gt;&amp;lt;port&amp;gt;&lt;/code&gt; 换成你的端口，执行完后会出现一个随机的地址，直接打开它就可以访问了。😁&lt;/p&gt;
&lt;h1&gt;持久隧道（适合自建服务器等）&lt;/h1&gt;
&lt;p&gt;你需要准备一张 Visa 的信用卡，当然这是因为 Cloudflare 仍然需要绑定一个付款方式，即使服务是免费的 😓&lt;/p&gt;
&lt;p&gt;首先你需要一个域名，在&lt;a href=&quot;https://domain.digitalplat.org/&quot;&gt;这里&lt;/a&gt;可以申请到一个免费三级域名。&lt;/p&gt;
&lt;p&gt;在这里注册域名：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-1.png&quot; alt=&quot;图 1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;所有的保持默认点&lt;strong&gt;注册&lt;/strong&gt;即可：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-2.png&quot; alt=&quot;图 2&quot; /&gt;&lt;/p&gt;
&lt;p&gt;注册 Cloudflare 账号，然后打开&lt;a href=&quot;https://dash.cloudflare.com/&quot;&gt;这里&lt;/a&gt;：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-3.png&quot; alt=&quot;图 3&quot; /&gt;&lt;/p&gt;
&lt;p&gt;点击 &lt;strong&gt;Add&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Connect a domain&lt;/strong&gt;，把刚才的域名输入进去，保持默认 &lt;strong&gt;Import DNS records automatically&lt;/strong&gt; 即可：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-4.png&quot; alt=&quot;图 4&quot; /&gt;&lt;/p&gt;
&lt;p&gt;选择 &lt;strong&gt;Free&lt;/strong&gt; 计划即可，到这里直接跳过即可：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-5.png&quot; alt=&quot;图 5&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-6.png&quot; alt=&quot;图 6&quot; /&gt;&lt;/p&gt;
&lt;p&gt;来到这里：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-7.png&quot; alt=&quot;图 7&quot; /&gt;&lt;/p&gt;
&lt;p&gt;回这里把那两个服务器添加上点击&lt;strong&gt;更新名称服务器&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-8.png&quot; alt=&quot;图 8&quot; /&gt;&lt;/p&gt;
&lt;p&gt;再回到 Cloudflare 点 &lt;strong&gt;I updated my nameservers&lt;/strong&gt; 到这里：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-9.png&quot; alt=&quot;图 9&quot; /&gt;&lt;/p&gt;
&lt;p&gt;等几分钟后刷新一下应该可以看到这个界面，域名就添加好了：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-10.png&quot; alt=&quot;图 10&quot; /&gt;&lt;/p&gt;
&lt;p&gt;回到 Dashboard 打开 &lt;strong&gt;Protect &amp;amp; Connect&lt;/strong&gt; 下的 &lt;strong&gt;Zero Trust&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-11.png&quot; alt=&quot;图 11&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Networks&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Connectors&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Create a tunnel&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-12.png&quot; alt=&quot;图 12&quot; /&gt;&lt;/p&gt;
&lt;p&gt;我选的是 &lt;strong&gt;Cloudflared&lt;/strong&gt;，随后随便取个名字，然后到这里：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-13.png&quot; alt=&quot;图 13&quot; /&gt;&lt;/p&gt;
&lt;p&gt;在服务器上运行相应命令后点 Next 到这里可以设置一个隧道服务，可以配置子域名、域名和端口：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-14.png&quot; alt=&quot;图 14&quot; /&gt;&lt;/p&gt;
&lt;p&gt;回到 tunnels 列表，打开我们创建的 connector，在 &lt;strong&gt;Published application routes&lt;/strong&gt; 可以添加和管理隧道：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/blog-assets/image-15.png&quot; alt=&quot;图 15&quot; /&gt;&lt;/p&gt;
&lt;p&gt;随后就可以愉快地使用内网穿透啦！😄&lt;/p&gt;
</content:encoded></item><item><title>第一篇文章</title><link>https://zxs24719.codeberg.page/blog/posts/first-post/</link><guid isPermaLink="true">https://zxs24719.codeberg.page/blog/posts/first-post/</guid><description>哈喽！</description><pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;建站大吉！&lt;/p&gt;
&lt;h1&gt;An h1 header&lt;/h1&gt;
&lt;p&gt;Paragraphs are separated by a blank line.&lt;/p&gt;
&lt;p&gt;2nd paragraph. &lt;em&gt;Italic&lt;/em&gt;, &lt;strong&gt;bold&lt;/strong&gt;, and &lt;code&gt;monospace&lt;/code&gt;. Itemized lists
look like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;this one&lt;/li&gt;
&lt;li&gt;that one&lt;/li&gt;
&lt;li&gt;the other one&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note that --- not considering the asterisk --- the actual text
content starts at 4-columns in.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Block quotes are
written like so.&lt;/p&gt;
&lt;p&gt;They can span multiple paragraphs,
if you like.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., &quot;it&apos;s all
in chapters 12--14&quot;). Three dots ... will be converted to an ellipsis.
Unicode is supported. ☺&lt;/p&gt;
&lt;h2&gt;An h2 header&lt;/h2&gt;
&lt;p&gt;Here&apos;s a numbered list:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;first item&lt;/li&gt;
&lt;li&gt;second item&lt;/li&gt;
&lt;li&gt;third item&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Note again how the actual text starts at 4 columns in (4 characters
from the left side). Here&apos;s a code sample:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# Let me re-iterate ...
for i in 1 .. 10 { do-something(i) }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;As you probably guessed, indented 4 spaces. By the way, instead of
indenting the block, you can use delimited blocks, if you like:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;define foobar() {
    print &quot;Welcome to flavor country!&quot;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;(which makes copying &amp;amp; pasting easier). You can optionally mark the
delimited block for Pandoc to syntax highlight it:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;import time
# Quick, count to ten!
for i in range(10):
    # (but not *too* quick)
    time.sleep(0.5)
    print i
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;An h3 header&lt;/h3&gt;
&lt;p&gt;Now a nested list:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;First, get these ingredients:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;carrots&lt;/li&gt;
&lt;li&gt;celery&lt;/li&gt;
&lt;li&gt;lentils&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Boil some water.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dump everything in the pot and follow
this algorithm:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; find wooden spoon
 uncover pot
 stir
 cover pot
 balance wooden spoon precariously on pot handle
 wait 10 minutes
 goto first step (or shut off burner when done)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Do not bump wooden spoon or it will fall.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Notice again how text always lines up on 4-space indents (including
that last line which continues item 3 above).&lt;/p&gt;
&lt;p&gt;Here&apos;s a link to &lt;a href=&quot;http://foo.bar&quot;&gt;a website&lt;/a&gt;, to a &lt;a href=&quot;local-doc.html&quot;&gt;local
doc&lt;/a&gt;, and to a &lt;a href=&quot;#an-h2-header&quot;&gt;section heading in the current
doc&lt;/a&gt;. Here&apos;s a footnote [^1].&lt;/p&gt;
&lt;p&gt;[^1]: Footnote text goes here.&lt;/p&gt;
&lt;p&gt;Tables can look like this:&lt;/p&gt;
&lt;p&gt;size material color&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;9 leather brown
10 hemp canvas natural
11 glass transparent&lt;/p&gt;
&lt;p&gt;Table: Shoes, their sizes, and what they&apos;re made of&lt;/p&gt;
&lt;p&gt;(The above is the caption for the table.) Pandoc also supports
multi-line tables:&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;keyword text&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;red Sunsets, apples, and
other red or reddish
things.&lt;/p&gt;
&lt;p&gt;green Leaves, grass, frogs
and other things it&apos;s
not easy being.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;A horizontal rule follows.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Here&apos;s a definition list:&lt;/p&gt;
&lt;p&gt;apples
: Good for making applesauce.
oranges
: Citrus!
tomatoes
: There&apos;s no &quot;e&quot; in tomatoe.&lt;/p&gt;
&lt;p&gt;Again, text is indented 4 spaces. (Put a blank line between each
term/definition pair to spread things out more.)&lt;/p&gt;
&lt;p&gt;Here&apos;s a &quot;line block&quot;:&lt;/p&gt;
&lt;p&gt;| Line one
| Line too
| Line tree&lt;/p&gt;
&lt;p&gt;and images can be specified like so:&lt;/p&gt;
&lt;p&gt;Inline math equations go in like so: $\omega = d\phi / dt$. Display
math should get its own line and be put in in double-dollarsigns:&lt;/p&gt;
&lt;p&gt;$$I = \int \rho R^{2} dV$$&lt;/p&gt;
&lt;p&gt;$$
\begin{equation*}
\pi
=3.1415926535
;8979323846;2643383279;5028841971;6939937510;5820974944
;5923078164;0628620899;8628034825;3421170679;\ldots
\end{equation*}
$$&lt;/p&gt;
&lt;p&gt;And note that you can backslash-escape any punctuation characters
which you wish to be displayed literally, ex.: `foo`, *bar*, etc.&lt;/p&gt;
</content:encoded></item></channel></rss>