今年五月初开始在微博的头条文章连载《.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跨平台或扫描二维码关注

.NET 传奇 1.0 的出版过程,以及未来计划相关推荐

  1. 传奇3服务器配置文件,传奇3.0服务器的架设和设置详细介绍

    我们想要把传奇3.0架设出来就需要先把一些架设的基础信息搞清楚,只有先把这些基础弄清楚我们在架设的时候就能够有成效,因为我们要是连基础的设置都没有搞好就去弄一些深层次的东西这个我想就是神仙都难搞定.首 ...

  2. 针对蓝牙4.0 BLE通讯过程的逆向和攻击

    本文讲的是针对蓝牙4.0 BLE通讯过程的逆向和攻击,从6个月前,我就开始针对BLE设备进行学习和研究,其中接触到了一些关于BLE逆向的博客和文章,但是相关内容都没有给出很好的方案.因此通过我的这篇文 ...

  3. Android10.0应用进程创建过程以及Zygote的fork流程-[Android取经之路]

    摘要:点击手机桌面图标,例如微信,它是如何启动的呢,让我们从系统源码级来一起分析. 阅读本文大约需要花费1小时. 文章的内容主要还是从源码进行分析,虽然又臭又长,但是如果想要学习Android系统源码 ...

  4. mmdetection2.3.0版本安装过程,以及训练、测试、可视化等(亲测好用,很顺利)

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 mmdetection2.3.0版本安装过程,以及训练.测试.可视化等(亲测好用,很顺利) 文章目录: 1 运行mmde ...

  5. 跟踪分析Linux内核5.0系统调用处理过程

    跟踪分析Linux内核5.0系统调用处理过程 学号384 原创作业转载请注明出处+中国科学技术大学孟宁老师的Linux操作系统分析 https://github.com/mengning/linuxk ...

  6. win7(32bit)下完整的搭建apache(2.2.x)+openssl(0.9.6-1.0.1升级)过程

    为了搭建用于测试heartbleed漏洞(CVE-2014-0160)的环境,于是乎做了这个博文里搭建的环境,不是太难,但由于不太懂,也耗了几天时间,下面开始. 环境:win7(32bit)+apac ...

  7. CMMI2.0之我见-过程管理PCM过程资产开发PAD

    编者按: CMMI2.0之我见系列将通过系列文章形式介绍CMMI2.0所涉及到的其中20个实践域,笔者将通过系统性的梳理.浅显易懂的文字描述,同时结合笔者的思考和观点,对每个实践域的目标以及所基本涵盖 ...

  8. 淘小宝蚂蚁聊天表情V1.0-V2.0的制作过程

    专门用于针对淘宝网交易沟通而设计淘小宝蚂蚁聊天表情终于在3月20号通过消费者社区小规模地向用户推广.具体的下载方法可以通过以下消费者社区的贴子找到: http://forum.taobao.com/f ...

  9. BC1.2和QC2.0充电器识别过程

    作者:AirCity 2019.11.17 Aircity007@sina.com 本文从现象的角度给与分析,若要知道为什么,请参见我的CSDN文章<Battery Charging Speci ...

最新文章

  1. linux开启远程访问端口
  2. DPM2012恢复单个Exchange2010用户邮箱
  3. jQuery监控页面所有ajax请求的方法
  4. java死信队列_RabbitMQ 死信队列是什么鬼?
  5. 【本人秃顶程序员】深入理解Java——ConcurrentHashMap源码的分析(JDK1.8)
  6. centos7安装3.6版本zookeeper和jdk8
  7. Model 3车主对FSD套件不满意 德国法院下令特斯拉回购汽车
  8. jQuery Mobile入门必看
  9. 【2016 ACM-ICPC 曼谷区域赛 Gym-101161 G】Binary Strings【矩阵快速幂】
  10. java基础之线程参考尚硅谷视频
  11. IP 防护等级技术白皮书
  12. 前端工程师找工作,你需要准备什么?
  13. C#上位机与欧姆龙PLC通讯(FINS)
  14. Php支付宝掉线,12月5日支付宝崩了怎么回事支付宝登陆不上去一直掉线怎么办
  15. 【典型液压系统】组合机床动力滑台液压系统
  16. Codeforces Round #490 (Div. 3) C. Alphabetic Removals
  17. L84.linux命令每日一练 -- 第11章 Linux系统管理命令 -- rpm和yum
  18. 有关老年计算机培训的报道,深晚报道|教老年人使用智能手机 南澳开展“智能时代,乐享生活”培训活动...
  19. GAN(生成对抗网络)入门
  20. Seam - 无缝集成 JSF,第 2 部分: 借助 Seam 进行对话

热门文章

  1. CentOS7安装PHP5.6.23
  2. Disable anchor tag的javascript代码(兼容IE和Firefox)
  3. 05Prism WPF 入门实战 - Navigation
  4. 分布式事务最终一致性-CAP框架轻松搞定
  5. 晕了!这个配置值从哪来的?
  6. 一文说通Dotnet操作MongoDB GridFS
  7. 盘点大厂的那些开源项目 - 华为
  8. 如何在 Asp.Net Core 中 管理敏感数据
  9. 深度探秘.NET 5.0
  10. 简单聊聊C#中lock关键字