<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>开源之书 | 开源之书 · 共读</title><link>https://osbook.opensourceway.blog/tags/%E5%BC%80%E6%BA%90%E4%B9%8B%E4%B9%A6/</link><atom:link href="https://osbook.opensourceway.blog/tags/%E5%BC%80%E6%BA%90%E4%B9%8B%E4%B9%A6/index.xml" rel="self" type="application/rss+xml"/><description>开源之书</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>zh</language><lastBuildDate>Sun, 23 Aug 2026 00:00:00 +0000</lastBuildDate><image><url>https://osbook.opensourceway.blog/media/logo_hu_e1fa4c2b9d4541c1.png</url><title>开源之书</title><link>https://osbook.opensourceway.blog/tags/%E5%BC%80%E6%BA%90%E4%B9%8B%E4%B9%A6/</link></image><item><title>「开源之书·共读」分类总览</title><link>https://osbook.opensourceway.blog/books/category-overview/</link><pubDate>Sun, 23 Aug 2026 00:00:00 +0000</pubDate><guid>https://osbook.opensourceway.blog/books/category-overview/</guid><description>&lt;h1 id="书单分类总览"&gt;书单分类总览&lt;/h1&gt;
&lt;p&gt;「OSCAR·开源之书·共读」书目按九类编排——从&lt;strong&gt;制度与法律&lt;/strong&gt;、&lt;strong&gt;经济与社会&lt;/strong&gt;到&lt;strong&gt;工程与文化&lt;/strong&gt;，构成一张开源世界的认知地图。&lt;/p&gt;
&lt;p&gt;共 &lt;strong&gt;75&lt;/strong&gt; 本（含 2 本草稿），9 个分类。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="分类体系"&gt;分类体系&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;分类&lt;/th&gt;
&lt;th&gt;数量&lt;/th&gt;
&lt;th&gt;核心问题&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;法律类&lt;/td&gt;
&lt;td&gt;13 本&lt;/td&gt;
&lt;td&gt;知识产权、许可、治理的制度边界&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;经济类&lt;/td&gt;
&lt;td&gt;6 本&lt;/td&gt;
&lt;td&gt;开源协作的经济学逻辑：公地、互惠、市场&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;社会类&lt;/td&gt;
&lt;td&gt;6 本&lt;/td&gt;
&lt;td&gt;共同体、合作、知识的社会生成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;文化类&lt;/td&gt;
&lt;td&gt;6 本&lt;/td&gt;
&lt;td&gt;黑客伦理、自由软件文化的社会意义&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;管理类&lt;/td&gt;
&lt;td&gt;4 本&lt;/td&gt;
&lt;td&gt;开源组织、项目管理、企业策略&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;入门类&lt;/td&gt;
&lt;td&gt;5 本&lt;/td&gt;
&lt;td&gt;开源运动的奠基读物&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;工程类&lt;/td&gt;
&lt;td&gt;1 本&lt;/td&gt;
&lt;td&gt;UNIX 哲学、代码的工程实践&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;历史类&lt;/td&gt;
&lt;td&gt;2 本&lt;/td&gt;
&lt;td&gt;UNIX 与自由软件运动的历史脉络&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;实践类&lt;/td&gt;
&lt;td&gt;2 本&lt;/td&gt;
&lt;td&gt;开源项目的运作指南&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;其他&lt;/td&gt;
&lt;td&gt;30 本&lt;/td&gt;
&lt;td&gt;延伸阅读：政治哲学、技术社会学、组织理论等&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="法律类13-本"&gt;法律类（13 本）&lt;/h2&gt;
&lt;p&gt;开源运动的制度基础。从知识产权理论到许可实践，构建开源之所以为开源的制度框架。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;书名&lt;/th&gt;
&lt;th&gt;英文原名&lt;/th&gt;
&lt;th&gt;作者&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Open (Source) for Business&lt;/td&gt;
&lt;td&gt;Heather Meeker&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Code: And Other Laws of Cyberspace, V2.0&lt;/td&gt;
&lt;td&gt;劳伦斯·莱斯格&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Future of Ideas&lt;/td&gt;
&lt;td&gt;Lawrence Lessig&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Open Source Licensing&lt;/td&gt;
&lt;td&gt;Lawrence Rosen&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Free Culture&lt;/td&gt;
&lt;td&gt;Lawrence Lessig&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Understanding Open Source and Free Software Licensing&lt;/td&gt;
&lt;td&gt;Andrew M. St. Laurent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Intellectual Property and Open Source&lt;/td&gt;
&lt;td&gt;Van Lindberg&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Business and Economics of Linux and Open Source&lt;/td&gt;
&lt;td&gt;Martin Fink&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Open Source Alternative&lt;/td&gt;
&lt;td&gt;Heather Meeker&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Rise of Open Source Licensing&lt;/td&gt;
&lt;td&gt;Mikko Välimäki&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Order without Law&lt;/td&gt;
&lt;td&gt;罗伯特·埃里克森&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;杨林村&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;周翼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="经济类6-本"&gt;经济类（6 本）&lt;/h2&gt;
&lt;p&gt;从 Lerner &amp;amp; Tirole 到 Benkler 的公地理论，揭示开源协作的价值生成机制。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;书名&lt;/th&gt;
&lt;th&gt;英文原名&lt;/th&gt;
&lt;th&gt;作者&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Comingled Code&lt;/td&gt;
&lt;td&gt;Josh Lerner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Rainforest&lt;/td&gt;
&lt;td&gt;Victor W. Hwang&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Cluetrain Manifesto&lt;/td&gt;
&lt;td&gt;Rick Levine 等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Penguin and the Leviathan&lt;/td&gt;
&lt;td&gt;Yochai Benkler&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Wealth of Networks&lt;/td&gt;
&lt;td&gt;Yochai Benkler&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Super Cooperators&lt;/td&gt;
&lt;td&gt;Martin A. Nowak&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="社会类6-本"&gt;社会类（6 本）&lt;/h2&gt;
&lt;p&gt;共同体、知识、互惠——开源协作的社会基础设施。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;书名&lt;/th&gt;
&lt;th&gt;英文原名&lt;/th&gt;
&lt;th&gt;作者&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Craftsman&lt;/td&gt;
&lt;td&gt;理查德·桑内特&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Working in Public&lt;/td&gt;
&lt;td&gt;Nadia Eghbal&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Art of Community&lt;/td&gt;
&lt;td&gt;Jono Bacon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;People Powered&lt;/td&gt;
&lt;td&gt;Jono Bacon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Cultivating Communities of Practice&lt;/td&gt;
&lt;td&gt;埃蒂纳·温格&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Personal Knowledge&lt;/td&gt;
&lt;td&gt;迈克尔·波兰尼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="文化类6-本"&gt;文化类（6 本）&lt;/h2&gt;
&lt;p&gt;从雷德到 Kelty，记录开源运动的精神气质。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;书名&lt;/th&gt;
&lt;th&gt;英文原名&lt;/th&gt;
&lt;th&gt;作者&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Under the Radar&lt;/td&gt;
&lt;td&gt;罗伯特·杨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Weaving the Web&lt;/td&gt;
&lt;td&gt;Tim Berners-Lee&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Rebel Code&lt;/td&gt;
&lt;td&gt;Glyn Moody&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Coding Freedom&lt;/td&gt;
&lt;td&gt;E. Gabriella Coleman&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Two Bits&lt;/td&gt;
&lt;td&gt;Christopher M. Kelty&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;范小青&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="管理类4-本"&gt;管理类（4 本）&lt;/h2&gt;
&lt;p&gt;开源作为组织方式。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;书名&lt;/th&gt;
&lt;th&gt;英文原名&lt;/th&gt;
&lt;th&gt;作者&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Freedom, Inc&lt;/td&gt;
&lt;td&gt;Brian M. Carney&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Software Paradox&lt;/td&gt;
&lt;td&gt;Stephen O&amp;rsquo;Grady&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Free For All&lt;/td&gt;
&lt;td&gt;Peter Wayner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;王宇&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="工程类1-本"&gt;工程类（1 本）&lt;/h2&gt;
&lt;p&gt;代码的工程实践与 UNIX 哲学。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;书名&lt;/th&gt;
&lt;th&gt;英文原名&lt;/th&gt;
&lt;th&gt;作者&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Art of UNIX Programming&lt;/td&gt;
&lt;td&gt;Eric S. Raymond&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="历史类2-本"&gt;历史类（2 本）&lt;/h2&gt;
&lt;p&gt;开源与自由软件运动的历史脉络。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;书名&lt;/th&gt;
&lt;th&gt;英文原名&lt;/th&gt;
&lt;th&gt;作者&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;UNIX: A History and a Memoir&lt;/td&gt;
&lt;td&gt;Brian W. Kernighan&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Daemon, the Gnu, and the Penguin&lt;/td&gt;
&lt;td&gt;Peter Salus&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="实践类2-本"&gt;实践类（2 本）&lt;/h2&gt;
&lt;p&gt;开源项目的实际操作指南。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;书名&lt;/th&gt;
&lt;th&gt;英文原名&lt;/th&gt;
&lt;th&gt;作者&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Open Source Way&lt;/td&gt;
&lt;td&gt;RedHat OSP Team&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Program Management for Open Source Projects&lt;/td&gt;
&lt;td&gt;Ben Cotton&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="入门类5-本"&gt;入门类（5 本）&lt;/h2&gt;
&lt;p&gt;开源运动的奠基读物与通识读本。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;书名&lt;/th&gt;
&lt;th&gt;英文原名&lt;/th&gt;
&lt;th&gt;作者&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Open Sources&lt;/td&gt;
&lt;td&gt;Eric Raymond 等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;何宝宏&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;How Open Source Ate Software&lt;/td&gt;
&lt;td&gt;Gordon Haff&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Perspectives on FLOSS&lt;/td&gt;
&lt;td&gt;Audris Mockus 等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="延伸阅读30-本"&gt;延伸阅读（30 本）&lt;/h2&gt;
&lt;p&gt;不直接归属上述维度、但与开源思想密切相关的跨领域读物。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;书名&lt;/th&gt;
&lt;th&gt;英文原名&lt;/th&gt;
&lt;th&gt;作者&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Cathedral and the Bazaar&lt;/td&gt;
&lt;td&gt;Eric S. Raymond&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Just for Fun&lt;/td&gt;
&lt;td&gt;Linus Torvalds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Hackers and Painters&lt;/td&gt;
&lt;td&gt;Paul Graham&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Hacker Ethic&lt;/td&gt;
&lt;td&gt;Peter Steiner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;From Counterculture to Cyberculture&lt;/td&gt;
&lt;td&gt;Fred Turner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Innovators&lt;/td&gt;
&lt;td&gt;Walter Isaacson&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The New Kingmakers&lt;/td&gt;
&lt;td&gt;Paul Ferringer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Upstream&lt;/td&gt;
&lt;td&gt;Bob Belderbos&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Producing FOSS&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Open Organization&lt;/td&gt;
&lt;td&gt;David W. Gage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Governing the Commons&lt;/td&gt;
&lt;td&gt;埃莉诺·奥斯特罗姆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Logic of Collective Action&lt;/td&gt;
&lt;td&gt;曼瑟尔·奥尔森&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Evolution of Cooperation&lt;/td&gt;
&lt;td&gt;罗伯特·阿克塞尔罗德&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Protecting the Virtual Commons&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Nonzero&lt;/td&gt;
&lt;td&gt;Robert Wright&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Finite and Infinite Games&lt;/td&gt;
&lt;td&gt;James P. Carse&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Wikinomics&lt;/td&gt;
&lt;td&gt;Tom Watson&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Wisdom of Crowds&lt;/td&gt;
&lt;td&gt;James Surowiecki&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;A Culture of Growth&lt;/td&gt;
&lt;td&gt;Joel Mokyr&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Bowling Alone&lt;/td&gt;
&lt;td&gt;Robert Putnam&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Economics for the Common Good&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Free Innovation&lt;/td&gt;
&lt;td&gt;Eric von Hippel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Dreaming in Code&lt;/td&gt;
&lt;td&gt;费利佩·佩里·洛普&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Reinventing Discovery&lt;/td&gt;
&lt;td&gt;马克·库珀&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;The Success of Open Source&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;26&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;Free as in Freedom&lt;/td&gt;
&lt;td&gt;乔治·吉尔德&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;em&gt;草稿：开源方法论（open-and-share）、书名占位（template）、序言占位（more-local-law-book）&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="分类逻辑"&gt;分类逻辑&lt;/h2&gt;
&lt;p&gt;三个层面：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;制度层&lt;/strong&gt;（法律 / 经济）：开源的制度契约——许可、产权、价值分配&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;社会层&lt;/strong&gt;（社会 / 文化 / 管理）：开源的社会基础设施——共同体、文化、组织&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;技术层&lt;/strong&gt;（工程 / 历史 / 实践 / 入门）：开源的技术传统与实践指南&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;「延伸阅读」保持开放，收录不直接归属上述维度、但与开源思想相关的跨领域读物。&lt;/p&gt;</description></item><item><title>「开源之书·共读」网站重构总结：从 Hugo 到 Hugo Blox</title><link>https://osbook.opensourceway.blog/notices/2026-08-23-website-rebuild-summary/</link><pubDate>Sun, 23 Aug 2026 00:00:00 +0000</pubDate><guid>https://osbook.opensourceway.blog/notices/2026-08-23-website-rebuild-summary/</guid><description>&lt;h1 id="开源之书共读网站重构总结"&gt;「开源之书·共读」网站重构总结&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;日期&lt;/strong&gt;：2026-08-23&lt;br&gt;
&lt;strong&gt;作者&lt;/strong&gt;：「开源之道」·窄廊&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="引子"&gt;引子&lt;/h2&gt;
&lt;p&gt;「开源之书·共读」自 2022 年启动以来，网站长期托管在 &lt;code&gt;osbook.club&lt;/code&gt;，使用 &lt;code&gt;hugo-hero-theme&lt;/code&gt; 主题，静态内容由 &lt;code&gt;gh-pages&lt;/code&gt; 分支发布。2026 年 8 月，域名 &lt;code&gt;osbook.club&lt;/code&gt; 已近一年停用，&lt;code&gt;oscar-open-source-book/website&lt;/code&gt; 仓库新建，主题迁移到 Hugo Blox 0.12.0（基于 Hugo 0.164.0），站点地址统一为 &lt;code&gt;https://osbook.opensourceway.blog/&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;本文记录这次重构的过程、踩过的坑和最终的数据全景。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="迁移全景"&gt;迁移全景&lt;/h2&gt;
&lt;h3 id="数据体量"&gt;数据体量&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;内容类型&lt;/th&gt;
&lt;th&gt;数量&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;书单（books）&lt;/td&gt;
&lt;td&gt;75 本（含分类总览）&lt;/td&gt;
&lt;td&gt;73 本有封面图，2 本草稿；9 个分类&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;共读 meetup（events）&lt;/td&gt;
&lt;td&gt;27 场&lt;/td&gt;
&lt;td&gt;2022-11-19 至 2026-05-30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;通知与预告（notices）&lt;/td&gt;
&lt;td&gt;3 篇&lt;/td&gt;
&lt;td&gt;《智能简史》预告 + 本次重构总结 + 分类总览&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;文章（posts）&lt;/td&gt;
&lt;td&gt;6 篇&lt;/td&gt;
&lt;td&gt;非 meetup 的稿件与项目介绍&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;共读介绍（about）&lt;/td&gt;
&lt;td&gt;10 篇&lt;/td&gt;
&lt;td&gt;团队、价值观、项目介绍&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;共 &lt;strong&gt;145 篇内容&lt;/strong&gt;，从 &lt;code&gt;osbook.club&lt;/code&gt; 原始仓库（&lt;code&gt;hugo-hero-theme&lt;/code&gt; + &lt;code&gt;gh-pages&lt;/code&gt;）迁移。&lt;/p&gt;
&lt;h3 id="工作量化"&gt;工作量化&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;数值&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Git commits&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;42&lt;/strong&gt; 次提交（迁移期间 &lt;strong&gt;24&lt;/strong&gt; 次）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;文件变动&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;149&lt;/strong&gt; files changed，&lt;strong&gt;2056&lt;/strong&gt; insertions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CI workflow runs&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;39&lt;/strong&gt; 次（success: &lt;strong&gt;26&lt;/strong&gt;，failure: &lt;strong&gt;12&lt;/strong&gt;）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;迁移内容文件&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;159&lt;/strong&gt; 篇 .md（含 archive/meetup-posts）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;图片处理&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;175&lt;/strong&gt; 张迁入 &lt;code&gt;assets/media/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;  └ books&lt;/td&gt;
&lt;td&gt;73 张封面图&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;  └ events&lt;/td&gt;
&lt;td&gt;40 张（含 22 张从 &lt;code&gt;content/images/meetup/&lt;/code&gt; 真实照片）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;  └ posts&lt;/td&gt;
&lt;td&gt;21 张&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;  └ about&lt;/td&gt;
&lt;td&gt;7 张&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;  └ notices&lt;/td&gt;
&lt;td&gt;2 张（sn-image 生成）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;  └ logo/icon&lt;/td&gt;
&lt;td&gt;2 张&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;自建 layouts&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;13&lt;/strong&gt; 个文件（book/single.html + navbar.html + partials 等）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="hermes-agent-用量"&gt;Hermes Agent 用量&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Agent 会话&lt;/td&gt;
&lt;td&gt;多轮对话，横跨 2026-08-22 至 2026-08-23 两个自然日&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;文档阅读&lt;/td&gt;
&lt;td&gt;&lt;code&gt;hugo-theme-documentation&lt;/code&gt; 文档仓库（&lt;code&gt;menus.yaml&lt;/code&gt; / &lt;code&gt;params.yaml&lt;/code&gt;）；&lt;code&gt;blox@v0.12.0&lt;/code&gt; 模块源码（&lt;code&gt;navbar.html&lt;/code&gt; / &lt;code&gt;get_featured_image.html&lt;/code&gt; / &lt;code&gt;search-modal.html&lt;/code&gt;）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;图片生成（sn-image）&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;2&lt;/strong&gt; 次调用（网站重构总结配图 + 分类总览配图），sensenova-u1-fast，16:9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;图片识别（vision_analyze）&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;8&lt;/strong&gt; 张 book-list 海报 OCR（识别 120 本去重书名，对比现有 75 本）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;外部 API 调用&lt;/td&gt;
&lt;td&gt;SenseNova Image Gen API × 2、SenseNova VLM × 8、GitHub API（&lt;code&gt;gh&lt;/code&gt;）× 50+、Hugo CLI × 30+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;踩坑记录&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;10&lt;/strong&gt; 个（详见下文），涉及 Hugo Blox 模块行为、Hugo 原生 menu 语法、CI workflow 权限等&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="踩坑与知识沉淀"&gt;踩坑与知识沉淀&lt;/h3&gt;
&lt;p&gt;本次重构中，最重要的三个教训：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Hugo menu 二级嵌套语法&lt;/strong&gt;：YAML 用 &lt;code&gt;identifier&lt;/code&gt; + &lt;code&gt;parent&lt;/code&gt;，&lt;strong&gt;不是&lt;/strong&gt; &lt;code&gt;children:&lt;/code&gt;。Hugo Blox 原生 navbar 已内建 &lt;code&gt;HasChildren&lt;/code&gt; 支持。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hugo 资源管道&lt;/strong&gt;：&lt;code&gt;resources.Get &amp;quot;media/...&amp;quot;&lt;/code&gt; 只从 &lt;code&gt;assets/&lt;/code&gt; 找图，&lt;code&gt;static/&lt;/code&gt; 对资源管道不可见。封面图全量迁入 &lt;code&gt;assets/media/&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub workflow 权限&lt;/strong&gt;：PAT 无 &lt;code&gt;workflow&lt;/code&gt; scope 时无法推送 &lt;code&gt;.github/workflows/&lt;/code&gt; 文件改动，需手动在 GitHub UI 编辑。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这些教训已沉淀到 &lt;code&gt;narrow-corridor-skills&lt;/code&gt; 的记忆与 skill 体系中，供后续 Hugo 项目复用。&lt;/p&gt;
&lt;h3 id="图片系统"&gt;图片系统&lt;/h3&gt;
&lt;p&gt;原始 &lt;code&gt;hugo-hero-theme&lt;/code&gt; 的图片分散在三个路径：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;content/images/&lt;/code&gt;（Hugo 自动发布到 &lt;code&gt;public/images/&lt;/code&gt;，文章内文 &lt;code&gt;![](/images/xxx)&lt;/code&gt; 引用）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;static/services/&lt;/code&gt;（meetup 封面 + 图标）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;content/images/meetup/&lt;/code&gt;（56 张真实的线下 meetup 照片）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;oscar-booklet/face-image/&lt;/code&gt;（书单封面，76 本）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hugo Blox 的资源管道（&lt;code&gt;resources.Get &amp;quot;media/...&amp;quot;&lt;/code&gt;）只从 &lt;code&gt;assets/&lt;/code&gt; 读取图片，&lt;code&gt;static/&lt;/code&gt; 对资源管道不可见。迁移方案：&lt;strong&gt;统一搬入 &lt;code&gt;assets/media/{books|posts|events|about|notices}/&lt;/code&gt;&lt;/strong&gt;，frontmatter 统一用 &lt;code&gt;image.filename&lt;/code&gt;，Hugo 自动发布到 &lt;code&gt;/media/&lt;/code&gt; 路径。&lt;/p&gt;
&lt;p&gt;共处理 &lt;strong&gt;142 张封面图&lt;/strong&gt;，其中原仓库无图的 posts/about 用通用 fallback。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="踩坑记录"&gt;踩坑记录&lt;/h2&gt;
&lt;h3 id="坑-1导航菜单位置"&gt;坑 1：导航菜单位置&lt;/h3&gt;
&lt;p&gt;Hugo Blox &lt;code&gt;navbar.html&lt;/code&gt; 用 &lt;code&gt;site.Menus.main&lt;/code&gt; 读取导航菜单，只读顶层 &lt;code&gt;menu&lt;/code&gt; 配置。最初把菜单放在 &lt;code&gt;params.yaml&lt;/code&gt; 的 &lt;code&gt;hugoblox.menu.main&lt;/code&gt;（嵌套），Hugo 完全不认——必须放在 &lt;code&gt;hugo.yaml&lt;/code&gt; 顶层。&lt;/p&gt;
&lt;h3 id="坑-2collection-block-view-不兼容"&gt;坑 2：collection block view 不兼容&lt;/h3&gt;
&lt;p&gt;首页 &lt;code&gt;content/_index.md&lt;/code&gt; 的三个 collection block 用 Hugo Hero 时代的 &lt;code&gt;design.view: grid/list&lt;/code&gt;，Hugo Blox 0.12.0 只支持 &lt;code&gt;article-grid&lt;/code&gt; / &lt;code&gt;date-title-summary&lt;/code&gt;，导致卡片不渲染封面图。改为原生支持的 view 后全部恢复。&lt;/p&gt;
&lt;h3 id="坑-3type-book-无专用-layout"&gt;坑 3：&lt;code&gt;type: book&lt;/code&gt; 无专用 layout&lt;/h3&gt;
&lt;p&gt;Hugo Blox 模块没有 &lt;code&gt;book&lt;/code&gt; 类型的单页 layout，封面图无法显示。自建 &lt;code&gt;layouts/book/single.html&lt;/code&gt; 渲染封面图，这是唯一一处需要自建 layout 的地方。&lt;/p&gt;
&lt;h3 id="坑-4static-对-hugo-资源管道不可见"&gt;坑 4：&lt;code&gt;static/&lt;/code&gt; 对 Hugo 资源管道不可见&lt;/h3&gt;
&lt;p&gt;封面图放在 &lt;code&gt;static/&lt;/code&gt; 下，&lt;code&gt;get_featured_image&lt;/code&gt;（Hugo Blox 图片处理函数）调用 &lt;code&gt;resources.Get &amp;quot;media/...&amp;quot;&lt;/code&gt; 找不到图片。全量搬迁到 &lt;code&gt;assets/media/&lt;/code&gt; 后解决。&lt;/p&gt;
&lt;h3 id="坑-5二级菜单语法"&gt;坑 5：二级菜单语法&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Hugo 原生 &lt;code&gt;menu&lt;/code&gt; 嵌套用 &lt;code&gt;identifier&lt;/code&gt; + &lt;code&gt;parent&lt;/code&gt;&lt;/strong&gt;，不是 &lt;code&gt;children:&lt;/code&gt;（YAML 里写 &lt;code&gt;children:&lt;/code&gt; Hugo 不解析，&lt;code&gt;.Children&lt;/code&gt; 永远为空）。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# ❌ 错误：Hugo 不认 children&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;共读活动&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;children&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;策划和报名&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# ✅ 正确：identifier + parent&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;identifier&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;events&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;共读活动&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/events/&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;identifier&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;plan-signup&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;events&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;策划和报名&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/notices/&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Hugo Blox 原生 navbar 模板已内建 &lt;code&gt;{{ if .HasChildren }}&lt;/code&gt; + &lt;code&gt;nav-dropdown&lt;/code&gt; 悬停下拉支持，不需要自建 override。&lt;/p&gt;
&lt;h3 id="坑-6media-目录冲突"&gt;坑 6：&lt;code&gt;/media&lt;/code&gt; 目录冲突&lt;/h3&gt;
&lt;p&gt;Hugo Blox 0.12.0 在生成图片资源时会尝试发布 &lt;code&gt;/media&lt;/code&gt; 这个路径名，与目录名冲突产生 &lt;code&gt;ERROR: publish: '/media' is not a file&lt;/code&gt;，exit code 1。deploy workflow 加兜底：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;hugo build --minify || {&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;if [ -f public/index.html ] &amp;amp;&amp;amp; [ -d public/events ]; then&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;echo &amp;#34;Build output OK&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;exit 0&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;fi&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;exit 1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;public/&lt;/code&gt; 已完整生成，放行部署。&lt;/p&gt;
&lt;h3 id="坑-7封面图文件名不匹配"&gt;坑 7：封面图文件名不匹配&lt;/h3&gt;
&lt;p&gt;books 迁移时 frontmatter &lt;code&gt;cover&lt;/code&gt; 值与实际图片文件名不一致（例如 frontmatter 写 &lt;code&gt;a-culture-of-growth.jpg&lt;/code&gt;，实际文件叫 &lt;code&gt;image001.jpg&lt;/code&gt;），导致 &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; src 404。按 frontmatter 重命名 27 张图片后修复。&lt;/p&gt;
&lt;h3 id="坑-8迁移信息残留"&gt;坑 8：迁移信息残留&lt;/h3&gt;
&lt;p&gt;events 页面正文中保留了 &lt;code&gt;&amp;gt; 📌 以下内容从原 hugo-hero-theme 页面迁移而来...&lt;/code&gt; 的 blockquote，全部删除。&lt;/p&gt;
&lt;h3 id="坑-9event_date-字段错误"&gt;坑 9：&lt;code&gt;event_date&lt;/code&gt; 字段错误&lt;/h3&gt;
&lt;p&gt;events 的 frontmatter 只有 &lt;code&gt;event_date&lt;/code&gt; 字段，Hugo 用 &lt;code&gt;date&lt;/code&gt; 排序/显示，不认 &lt;code&gt;event_date&lt;/code&gt; → 时间显示为 &lt;code&gt;0001-01-01&lt;/code&gt;。补 &lt;code&gt;date&lt;/code&gt; 字段后修复。&lt;/p&gt;
&lt;h3 id="坑-10posts-复用-fallback-封面"&gt;坑 10：posts 复用 fallback 封面&lt;/h3&gt;
&lt;p&gt;25 篇 posts 的 frontmatter &lt;code&gt;image.filename&lt;/code&gt; 全部指向 &lt;code&gt;posts/fallback-meetup.jpg&lt;/code&gt;，实际内容中 &lt;code&gt;content/images/meetup/&lt;/code&gt; 下有对应日期的真实照片。按日期匹配后替换，9 篇无对应图片的保留 fallback。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="最终站点架构"&gt;最终站点架构&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;osbook.opensourceway.blog/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── / 首页（hero + 书单/共读/推荐 三个 section）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── /books/ 书单总览 + 9 个分类导航
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── /books/{slug}/ 单本书页
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── /events/ 共读活动列表
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── /events/{date}-{city}/ 单场 meetup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── /notices/ 通知与预告（声明、通知、预告）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── /notices/{date}-{slug}/ 单篇 notice
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── /posts/ 文章列表
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── /about/ 关于栏目
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└── /about/sponsors/ 赞助页
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;导航菜单（二级）：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── 共读活动 → 策划和报名 → /notices/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── 书单 → /books/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── 关于 → 赞助 → /about/sponsors/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└── 文章 → /posts/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="技术栈"&gt;技术栈&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;静态站生成器&lt;/strong&gt;：Hugo 0.164.0 extended&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;主题&lt;/strong&gt;：Hugo Blox 0.12.0（Kit modules/blox）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;构建工具&lt;/strong&gt;：Tailwind CSS 4.x（CLI JIT）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CSS&lt;/strong&gt;：Tailwind + &lt;code&gt;@tailwindcss/typography&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JS 运行时&lt;/strong&gt;：Alpine.js（搜索弹窗） + Preact&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;部署&lt;/strong&gt;：GitHub Actions → GitHub Pages（&lt;code&gt;actions-deploy-pages@v4&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;域名&lt;/strong&gt;：&lt;code&gt;osbook.opensourceway.blog&lt;/code&gt;（CNAME → &lt;code&gt;oscar-open-source-book.github.io&lt;/code&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="遗留问题"&gt;遗留问题&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;问题&lt;/th&gt;
&lt;th&gt;状态&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/media&lt;/code&gt; 目录冲突&lt;/td&gt;
&lt;td&gt;绕过&lt;/td&gt;
&lt;td&gt;Hugo Blox 0.12.0 已知 bug，CI 兜底放行&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;books 封面尺寸&lt;/td&gt;
&lt;td&gt;待优化&lt;/td&gt;
&lt;td&gt;部分封面比例不一，&lt;code&gt;aspect-[16/9]&lt;/code&gt; 会有裁切&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;部分 events 无独立封面&lt;/td&gt;
&lt;td&gt;已知&lt;/td&gt;
&lt;td&gt;&lt;code&gt;content/images/meetup/&lt;/code&gt; 缺图，用通用 fallback&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;book 页 &lt;code&gt;0001-01-01&lt;/code&gt; 时间戳&lt;/td&gt;
&lt;td&gt;已知&lt;/td&gt;
&lt;td&gt;books 无 &lt;code&gt;date&lt;/code&gt; 字段，非关键&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;自建 &lt;code&gt;card.html&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;已删&lt;/td&gt;
&lt;td&gt;全量统一 &lt;code&gt;image.filename&lt;/code&gt; + &lt;code&gt;assets/media/&lt;/code&gt;，Hugo Blox 原生渲染&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="致谢"&gt;致谢&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;原始内容来源：&lt;code&gt;okcoin/osbook.club&lt;/code&gt;（hugo-hero-theme + gh-pages 分支）&lt;/li&gt;
&lt;li&gt;书单封面：&lt;code&gt;oscar-booklet/face-image/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;主题：
（开源，Hugo 模块）&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;本文同时存档于 &lt;code&gt;open-source-way-wiki/raw/articles/website-rebuild-summary/&lt;/code&gt;。&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>