硬件档案/HARDWARE ARCHIVE
杂谈

长文长这样:列表页只给标题和摘要

超过 700 字的会折叠成一行摘要。这条同时演示 dek 字段——它是长文在列表页唯一的门面,值得单独写一句,而不是从正文里剪一段。

这是一条样例,用来验证杂谈列表页的长文形态。写第一条真内容时把它删掉。

为什么长短要分开处理

杂谈这个栏目的价值在于发布阻力低——想到什么写什么,不需要先想好结构。 但如果所有条目在列表页都只显示标题加摘要,那些两百字就说完的短想法会显得 比实际更重,读者点进去发现只有一屏,来回一趟不值得。

反过来,如果全部展开,一篇长文会把整个列表页占满,后面的条目谁也看不见。

所以按长度分开:短的当场读完,长的给个入口。这个判断由正文字数自动做出, 不需要写的时候多想一步。

dek 字段该怎么写

长文在列表页只有标题和 dek 两行可用,所以 dek 不是摘要,是钩子: 它要回答"我为什么该点进去",而不是复述正文第一段。

短帖可以不写 dek,因为全文已经展开了。

小标题不编号

档案条目的 ## 会被 CSS 自动编号成 01–07,因为那七段确实是一个固定顺序的 调查流程,序号承载读者需要的信息。杂谈的小标题顺序是任意的,编号就成了噪音, 所以这里用的是 .prose-plain,不带编号。

阈值定在哪

列表页按字符数判断,不是字节数——中文一个字在 UTF-8 里占 3 字节, 按字节定阈值会差出三倍,实际效果就是所有中文短帖都被误判成长文。 这个坑很容易踩,因为在英文内容上两者几乎相等,测不出来。

当前阈值是 500 字。这个数字是这么来的:正文宽 643px、字号 16.5px, 一行大约放 38 个中文字,行高 1.85 大约 30px。500 字就是 13 行、约 400px 高—— 在列表里顺手读完不费劲,又不至于把后面的条目全挤到屏幕外面去。

想调就改 src/pages/notes/index.astro 里的 SHORT 常量,只有那一处。

什么时候该手动覆盖

expand 字段存在的意义是应付判断失灵的少数情况,不是让你每篇都标一次:

  • 一条很短但结构完整、值得有自己页面的,写 expand: false 强制折叠
  • 一条超了阈值但其实是流水账、点进去很失望的,写 expand: true 直接摊开

如果你发现自己每篇都在写 expand,那说明阈值定错了,去改 SHORT, 而不是继续一篇篇标。

读者反馈与作者回复

关于本文,有问题、使用反馈或不同的实测结果,都欢迎留言。 涉及设备实测时,请尽量附上设备型号、固件版本和测试条件。 我会在对应留言下回复,已核实的修正会补进正文。

留言需登录 GitHub。不方便使用或评论未加载时,可以邮件反馈(itscraper@hotmail.com),邮件已预填本文链接。

← 回到杂谈

图片查看

打开原图 ↗

按原始尺寸显示,可滑动查看细节。