今年五月初开始在微博的头条文章连载《.NET 的一点历史故事》,是一件非常快乐的事情。在各方朋友们的鼓励和支持之下,除去公开连载的八个章节,其后又先后完成其他十个章节,首先通过收费阅读渠道做了分享。到五月底的时候,全书主体已经基本完成,所缺少的是最后的审稿和美化。
六月初跑去多伦多和加拿大微软 MVP 们聚会,月中又做完了蒙特利尔本地 Xamarin Dev Days 上 Introduction to Xamarin 的演讲,所以拖到月底才有时间来做做出版。之前自己也通过 LeanPub 出版了一本书(四个章节,更像是一个测试项目),但是现在这家网站已经不再支持免费出版新书(出版新书每本书需要加收一定的出版费用),于是这次改用其他出版渠道。最后几经研究选择了 iBook 和 Lulu.com。
下面简单讲一下注册 iBook 出版的粗略步骤(详细的大家可以自己摸一下,挺简单的)。首先需要有一个 Apple 账号,相信使用苹果设备的人都不陌生。然后要前往 iTunes Connect 上使用你的 Apple 账号来进行发布商注册。(因为我日常的 Apple 账号是美区的,而银行账号什么都还是加拿大的,所以就专门为出书注册了一个加拿大区的新账号。)向导会提示注册个人信息,银行账号信息,以及税务信息(著名的美国 W-8BEN 表格)。(鉴于填写指导什么的网上很多,我就不多花气力了。)一一填好之后,Apple 会生成一个授权协议文件发到你的邮箱,表示你现在可以提交书籍来出版了。
我写作这本书暂时使用的是 macOS 上的 iBook Author,Apple 官方的工具,比用 Word 之类软件更加傻瓜,但是偶尔会崩溃,导致内容丢失,所以严肃地讲我还是推荐你使用 Word 之类软件来写书。如果你系统语言是英文,而写作的是中文书,那么记得开启 iBook Author 之前使用 Language Switcher 之类的软件来修改应用启动语言为中文,否则模板都是英文的,还没法手工修改。书籍完成之后,通过导出工具导出为 ibook 格式的文件。记得文件名必须是英文的,中文文件名会在后续步骤中导致错误。
iBook Author 写作界面
导出完整书的内容之后,还需要将书籍工程复制一份,然后删去部分章节成为一个专门的预览工程。从这个新工程里面导出预览版的 ibook 文件。这个步骤非常烦心,但是没有什么捷径。
最后下载 iTunes Producer 软件,新建一本书的工程,用它来填写元数据。
iTunes Producer 用户界面
有趣的是,计算机书籍的分类里面还真有历史这一栏,也使得本书找到正确的地方。
Producer 里面还可以选择发布书籍的区域和每个区域的价格。因为我计划收加元,所以其他区域的的价格也就让工具自己生成了。最后把全书和预览两个 ibook 文件从 Finder 拖拽进去,就完成了全部工作,可以点击提交来结束出版,等待上线。相信一部分朋友还记得 iBook 不久前被迫退出中国区的事情,所以可供选择的几十个国家里面也就没有中国。简单看了下,以中文为官方语言的香港、台湾、新加坡也都不在列表里面,可见做中文出版物的种种尴尬。
本书在 iBook 的购买地址: http://itunes.apple.com/us/book/id1252288406
昨天到这个时候就把书提交完毕了,今天早上基本全部区域都上架了。
今天又试了一下 Lulu.com 的出版流程,更加简单。新建一本eBook,填好网页里面的信息,然后上传一个 PDF 版本就好了。(PDF 可以从 iBook Author 中导出。)Lulu 还提供免费的 ISBN 号码(当然出版商就变成了 Lulu,还有一个授权协议)。
本书在 Lulu 的购买地址: http://www.lulu.com/content/e-book/dot-net-legend/21095614
到这里1.0版本的出版任务就告一段落了。
我计划未来会经常更新这本书,使用软件开发正流行的 CI/CD 方式,以便跟上 .NET Core 进化的步伐。另外还会试试 Lulu 的纸质书出版方案。纸质书因为纸张尺寸的约束,需要使用 Word 之类的工具重新排版,所以我估计自己最快也要下半年才会有所动作。敬请期待。
也欢迎大家在阅读本书之后给我提供反馈。有兴趣自行出版书籍的朋友,如果需要一些工具上的入门指导,也可以和我联系
相关文章:
.NET 的一点历史往事:和 Java 的恩怨
.NET的一点历史故事:招兵买马和聚义山林
.NET的一点历史故事:擦肩而过的机遇
.NET的一点历史故事:误入歧途,越陷越深
.NET的一点历史故事:作者的一些感想
.NET的一点历史故事:Novell的崩溃和Xamarin的重生
.NET 和 Mono 的一点历史
原文地址:http://weibo.com/ttarticle/p/show?id=2309404122845604143855
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注