前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件推荐(typora) -- 结合markdown、gitbook文档生产力输出

软件推荐(typora) -- 结合markdown、gitbook文档生产力输出

作者头像
江涛学编程
发布2020-06-19 16:28:45
1.9K0
发布2020-06-19 16:28:45
举报
文章被收录于专栏:江涛的博客

阅读完本篇文章我期望你能够,尽可能地去选择类似markdown的文档生产力,其一是它不像word一样条条框框那么多;其二是格式不容易乱、思路清晰,高可复用;其三是兼容HTML、可定制化程度高、结合相关技术输出格式也多。

今天是软件专场的倒数第92场,跟大家分享的是基于Markdown语言优雅的文档写作工具--Typora。下面我们把舞台交给Typora,大家掌声欢迎。

嗯,很开心能够跟大家介绍自己,我是Typora。我是一款支持实时预览的Markdown文本编辑器。支持市场上的OSX、Window、Linux操作系统,而且我也是免费的哟。我认为我最大的特点是操作界面简洁、UI大气、文档输出高可定制化,如果你喜欢我的话,就去楼下的地址跟我一起DIY你的想法吧。

Typora官网地址:https://www.typora.io/

Typora主题DIY地址:https://theme.typora.io/

前期工作

前面我们已经介绍了Typora这款看上去简洁、大气的工具。到这里我们已经有了输出优秀文档生产力的充分不必要条件--一个好的工具。那么接下来我们需要一些“砖头”去构建我们的“房子”-- markdown语言。我们需要把我们的思想写进我们的文章里,但是很多时候我们会写很多篇文章,你就把自己比作“房地产商”,不可能就卖一套房子吧!这样子迟早要倒灶的!所以我们需要一个能够把承载我们思想的文章凝聚成一股力量,握紧了像拳头一样,强有力地打出去,对就是gitbook,有兴趣的同学也可以去关注下语雀、看云等产品,这里就不过多地介绍了。那么下面我们就简单地去了解下本篇文章下的这些输出优秀文档生产力的重要组成部分吧。

1、什么是markdown?

Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。<摘自维基百科:https://zh.wikipedia.org/zh-cn/Markdown>

不同平台或者说是软件对markdown的支持程度和优化程度略微是有些差异的,这个在后面问题思考的时候展开吧。

2、什么是GitBook?

GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书,GitBook 还是一个网站。

对于Gitbook,你不需要知道太多,初学者记住楼下这几个就好了。

代码语言:javascript
复制
# 安装gitbook
npm i gitbook-cli -g 

# 文档初始化
mkdir ataolaBook && gitbook init

## 生成文档 pdf | mobi | epub
gitbook pdf | mobi | epub

## 网页预览
gitbook serve

结合Typora作一次实战演习

下面的话就跟随作者的脚步,一起来实践一下吧,实践出真知嘛。

markdown语法过一遍

如果你要转义,用”/“。

1、标题: 文档的骨架,奠定本文基调,很好理解是6个,对于HTML的h1-h6哇。

2、文本样式: 就各段落的一些格式哇

3、引用: 虽说是引用,但我倒是不太喜欢拿来引用,反倒是拿来当旁白或者提示,有点QQ、微信的笑脸不是笑脸的味道

4、链接与图片: 为啥放一起讲,因为长得像,就差个!

楼上只是简单的意思下,正常我们写文章,如果规范的话是按照楼下这种来的,可以做到可复用的效果,图片也是类似的,这里就不意思下了,留给同志们后期自己搞吧。

代码语言:javascript
复制
[Go to Baidu][1]
[Go to Google][2]  

[1]:https://www.baidu.com  
[2]:https://www.google.com  

5、列表: 主要有有序的、无序的、可点击的任务列表等,有序序号自己打,一般这些都是只要打一个,后面会跳出来的。

6、表格:

7、表情: 可能细心的同学会发现,我在写标题的时候,最后打出了一个笑脸,这得益于它支持表情哈,这个就不再演示了,具体的可以参见:https://www.webfx.com/tools/emoji-cheat-sheet/

这里只是列举了一些最常用的大众化的例子,当然还有很多,例如流媒体怎么插入、流程图、数学公式等等,有些离我已经很遥远,如果不是意外的话,可能这辈子都不会有太大联系,所以就留给有需要的同学去探索吧!

Gitbook实操

那么,接下来我们简单地演示下gitbook的例子,笔者在做技术输出的时候,一般是用markdown语言,然后typora编写,最后gitbook整合的这样一个过程。如果你的gitbook搞不定,一方面可能是你不太认真努力,另一方面可能是墙的问题,不是你的错。那么接下来我们就一起来看下吧。

前期准备

代码语言:javascript
复制
# 初始化项目
mkdir mysql && cd mysql
gitbook init

如果你运气好,遇到了Installing GitBook x.x.x的话,急的话你可以关电脑了,不急的话就等一下,像这样我们就运行了一个gitbook 服务

代码语言:javascript
复制
PS E:\document\books\mysql> gitbook serve
Installing GitBook 3.2.3
gitbook@3.2.3 C:\Users\ataola\AppData\Local\Temp\tmp-967664Dz1BucsQPC\node_modules\gitbook
├── escape-string-regexp@1.0.5
├── escape-html@1.0.3
├── destroy@1.0.4
├── ignore@3.1.2
├── bash-color@0.0.4
├── gitbook-plugin-livereload@0.0.1
├── graceful-fs@4.1.4
├── cp@0.2.0
├── github-slugid@1.0.1
├── nunjucks-do@1.0.0
├── q@1.4.1
├── spawn-cmd@0.0.2
├── gitbook-plugin-fontsettings@2.0.0
├── open@0.0.5
├── is@3.3.0
├── direction@0.1.5
├── extend@3.0.2
├── object-path@0.9.2
├── json-schema-defaults@0.1.1
├── gitbook-plugin-search@2.2.1
├── jsonschema@1.1.0
├── crc@3.4.0
├── urijs@1.18.0
├── semver@5.1.0
├── front-matter@2.3.0
├── immutable@3.8.2
├── dom-serializer@0.1.0 (domelementtype@1.1.3, entities@1.1.2)
├── omit-keys@0.1.0 (isobject@0.2.0, array-difference@0.0.1)
├── error@7.0.2 (string-template@0.2.1, xtend@4.0.2)
├── tmp@0.0.28 (os-tmpdir@1.0.2)
├── send@0.13.2 (fresh@0.3.0, statuses@1.2.1, range-parser@1.0.3, etag@1.7.0, ms@0.7.1, depd@1.1.2, debug@2.2.0, mime@1.3.4, http-errors@1.3.1, on-finished@2.3.0)
├── resolve@1.1.7
├── js-yaml@3.13.1 (esprima@4.0.1, argparse@1.0.10)
├── gitbook-plugin-theme-default@1.0.7
├── gitbook-plugin-lunr@1.2.0 (html-entities@1.2.0, lunr@0.5.12)
├── gitbook-plugin-highlight@2.0.2 (highlight.js@9.2.0)
├── moment@2.13.0
├── gitbook-plugin-sharing@1.0.2 (lodash@3.10.1)
├── gitbook-markdown@1.3.2 (kramed-text-renderer@0.2.1, gitbook-html@1.3.3, kramed@0.5.6, lodash@4.17.15)
├── i18n-t@1.0.1 (lodash@4.17.15)
├── gitbook-asciidoc@1.2.2 (gitbook-html@1.3.3, asciidoctor.js@1.5.5-1, lodash@4.17.15)
├── npmi@2.0.1 (semver@4.3.6)
├── mkdirp@0.5.1 (minimist@0.0.8)
├── rmdir@1.2.0 (node.flow@1.2.3)
├── fresh-require@1.0.3 (is-require@0.0.1, shallow-copy@0.0.1, sleuth@0.1.1, astw@1.3.0, escodegen@1.12.0, acorn@0.9.0, through2@0.6.5)
├── request@2.72.0 (aws-sign2@0.6.0, forever-agent@0.6.1, tunnel-agent@0.4.3, oauth-sign@0.8.2, is-typedarray@1.0.0, caseless@0.11.0, aws4@1.8.0, stringstream@0.0.6, isstream@0.1.2, json-stringify-safe@5.0.1, tough-cookie@2.2.2, qs@6.1.2, node-uuid@1.4.8, combined-stream@1.0.8, mime-types@2.1.24, hawk@3.1.3, bl@1.1.2, http-signature@1.1.1, har-validator@2.0.6, form-data@1.0.1)
├── read-installed@4.0.3 (debuglog@1.0.1, util-extend@1.0.3, slide@1.1.6, readdir-scoped-modules@1.1.0, read-package-json@2.1.0)
├── cpr@1.1.1 (rimraf@2.4.5)
├── npm@3.9.2
├── tiny-lr@0.2.1 (parseurl@1.3.3, livereload-js@2.4.0, qs@5.1.0, faye-websocket@0.10.0, debug@2.2.0, body-parser@1.14.2)
├── cheerio@0.20.0 (entities@1.1.2, lodash@4.17.15, css-select@1.2.0, htmlparser2@3.8.3, jsdom@7.2.2)
├── juice@2.0.0 (deep-extend@0.4.2, slick@1.12.2, batch@0.5.3, cssom@0.3.1, commander@2.9.0, cross-spawn-async@2.2.5, web-resource-inliner@2.0.0)
├── chokidar@1.5.0 (async-each@1.0.3, path-is-absolute@1.0.1, inherits@2.0.4, glob-parent@2.0.0, is-glob@2.0.1, is-binary-path@1.0.1, anymatch@1.3.2, readdirp@2.2.1)
└── nunjucks@2.5.2 (asap@2.0.6, yargs@3.32.0, chokidar@1.7.0)
Live reload server started on port: 35729
Press CTRL+C to quit ...

info: 7 plugins are installed
info: loading plugin "livereload"... OK
info: loading plugin "highlight"... OK
info: loading plugin "search"... OK
info: loading plugin "lunr"... OK
info: loading plugin "sharing"... OK
info: loading plugin "fontsettings"... OK
info: loading plugin "theme-default"... OK
info: found 5 pages
info: found 4 asset files
info: >> generation finished with success in 4.3s !

Starting server ...
Serving book on http://localhost:4000

预览效果如下:

其中,SUMMARY.md

代码语言:javascript
复制
# 大纲

* [介绍](README.md)

## 第一章

* [基础知识](chapter1/01.md)

* [增删改查](chapter1/02.md)

* [待定](chapter1/03.md)

## 第二章

* [进阶知识](chapter2/01.md)

问题思考

1、markdown语言支持首行缩进吗?

这个我试了下好多都不支持啊,好在这款软件支持,我的做法是既然它兼容HTML,那么笨一点就用“&nbsp;”吧。题外话,既然它兼容HTML,直白点也就是网页,那么还不是你想让它变成什么样就什么样。

2、这个是开放的markdown文件编辑工具,那么要是我想写一些隐私的东西,像日记一样的,有什么推荐吗?

加密用Laverna,云笔记推荐有道云笔记,同步云端。

3、markdown语言和word两种文档输出有何异同?

先说下同,就是都是文档输出嘛,那么说下异,前者的可定制化程度高、文档优美、简洁、基于文本。word的话对绝大部分人都不太友好,很多时候复制粘贴会出现很多毛病,格式还容易乱,我想这个也是为啥简历都建议pdf格式。但是word貌似高校老师比较喜欢用,emmmm,我反正是去百度文库下模板造轮子,不高兴搞word的格式,谁爱干谁干。

4、markdown在文档写作方面的受欢迎程度是怎么样的?

先说结论,可以说是非常受欢迎了,基本上市面上蛮多都支持的,而且未来发展趋势良好。随便找几个去充实下我的论证吧。

以前做基于萤石云摄像头的二次开发的时候,看到它那个文档就是用gitbook + markdown生成的。

逛知乎的时候看到某饥在知乎上贴的,我猜是markdown

好了不举例了,总之就是在开发者博客 csdn、 cnblogs、github、掘金、知乎、简书等等,蛮受欢迎的。

5、markdown它是怎么实现的,它的解析过程如何?

这个先放放,后期有时间再去学习了。为啥会有这个想法,一个面试的梗啦,引发的后遗症。

6、gitbook的现状是怎么样的?

我们先来聊下git、github、gitbook的定义,git版本控制工具,直白点怕你东西东丢西丢找不到,没有备份的觉悟,用这个复现你在某个时间点的内容;github是全球最大的同性恋交友平台,简单点讲吧,就是有一群基佬的代码仓库;那么gitbook又是啥玩意呢?我想,你应该能猜到它就是个管文档的网站哇,它支持epub、mobi、pdf、html的电子书输出。进一步地延申下,出不起书,但又不想老夫这一手“葵花宝典”从此江湖绝迹,那么就写个电子版凑合下吧。另外gitbook是可以直接用github账号登录的,而且他们两个可以打通,结合git、github作版本控制、gitbook作文档输出、支持自动化构建、可以看下我的一个演示例子: https://book.ataola.cn

我们输出优秀文档生产力这边gitbook是一个npm包,而不是楼上的那个网站,这得益于Node.JS的发展以及npm的壮大,广大Node.JS开发者的浴血奋战。

gitbook的现状就是,没用被墙,但是你用它的客户端工具git book editor还是连接不上,国外嘛,懂的人自然懂,不多说。所以推荐就是用我楼上的思想、github作版本库控制,打通gitbook作文档输出。以前gitbook是带有搜索作者文档的功能、可以根据文档名字模糊查询、文档类别查询、作者名字模糊查询等、但是不巧的是现在用不了了,很有意思的是,简单概括下ataola的经历就是,很久很久以前、不科学上网也能搜、后来要科学上网才可以、再后来要科学上网指定IP段才可以、再后来要指定时间、没有后来了、一切结束。好在,老夫早就料到会有这么一天,毅然决然地记录了优秀作者地ID,哈哈哈哈哈。

7、markdown语言对左右浮动支持不是很友好啊?

确实不是很友好,一般都是居中的,像我的话就直接用html写了。

至此,我们完成了文档生产力输出的全部过程,谢谢收听!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 江涛学编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前期工作
  • 结合Typora作一次实战演习
    • markdown语法过一遍
      • Gitbook实操
      • 问题思考
      相关产品与服务
      命令行工具
      腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档