当前位置: 首页 > news >正文

用 gitbook 为项目写本书吧

达尔文曾经说过:「任何一个项目都应该有一个 README」。

恩,README.md 对于任何一个项目来说都是不可或缺的一部分,无论是对于使用者还是后续维护者都是灰常重要哒:p

对于小型项目,一个 README.md 足以,但是如果是一个大项目的话(如 midway),那就不是一个 README.md 可以搞定的啦。本文就来扯一下使用 gitbook 为你的项目写一本**书**。

1. 安装

tnpm i -g gitbook

2. 初始化:

在你的文档目录下新建文件 SUMMARY.md,这个文件就是这本书的目录啦:

cd docs
touch SUMMARY.md

SUMMARY.md 的格式规范如下:

# uitest 文档

- [uitest 是什么](users/index.md)
    - [如何使用 uitest](users/use.md)
    - [如何编写自定义的测试用例](users/case.md)
    - [browserjs API 文档](users/api.md)
- [uitest 开发者文档](devs/index.md)
    - [browserjs 开发者文档](devs/browserjs.md)
    - [utci 文档](devs/utci.md)
    - [utserver & utclient 文档](devs/utserver.md)
- [相关文章沉淀](artical.md)
- [关于 gitbook](gitbook.md)

然后执行 gitbook init 初始化,gitbook 会根据 SUMMARY 的结构生成对应的目录文件:

├── README.md           // 首页
├── SUMMARY.md          // 目录
└── users               // 用户文档
    └── index.md        // 是什么
    ├── use.md          // 如何使用
    ├── api.md          // browserjs API
    ├── case.md         // 如何写测试用例
├── devs                // 开发者文档目录
│   ├── index.md        // 开发者文文档首页
│   ├── browserjs.md    // browserjs 开发文档
│   ├── utci.md         // utci 开发文档
│   └── utserver.md     // utserver 和 utclien 开发文档
├── artical.md          // 文章沉淀
├── gitbook.md          // gitbook 相关

3. 本地调试:

在对应的文档目录下运行 gitbook serve 会启动一个本地的静态服务器:

访问 http://localhost:4000/ 就可以实时的预览啦,并且支持 livereload, 灰常赞~接下来结合预览的功能编辑对应的文档,完成之后就可以发布啦。

4. 发布:

在文档目录下执行 gitbook build 会生成一个 _book 的目录,这个目录就是我们的静态网站啦,然后通过 demo 平台或者 github pages 就可以很简单的完成部署了。

因为 uitest 的 docs 本身就是在 Express 应用中的,因此我只需要在 express 中增加一个静态服务器即可:

app.use('/docs', express.static('docs/_book'));

然后访问 http://uitest.taobao.net/docs/index.html 即可。

上面说的都是做项目文档,但是如果你想写本书,那么 gitbook 提供了更为方便的服务,请移步 gitbook 官方网站

正文完。

文章转载自:http://sobear.me/

作者:大果

相关文章:

  • WinCE6.0多国语言软键盘
  • Codeforces Round #344 (Div. 2) E. Product Sum 维护凸壳
  • 20145237《Java程序设计》第一周学习总结
  • ListView之SimpleAdapter
  • HashMap的工作原理及HashMap和Hashtable的区别
  • 多人聊天
  • mysql5.5.48 多实例配置及启动脚本
  • java 验证码生成
  • 五大常用算法之五:分支限界法
  • Swift 中的函数(上)
  • IOS开发中UILabel单行、多行文本计算高度、宽度的技巧
  • 盲修瞎练路漫漫,名师点化三日成[转]
  • jsp 页面和 jsp标记
  • 给包文件增加注释
  • 纯手动编译安装LAMP,   cacti , nagios , zabbix
  • 分享一款快速APP功能测试工具
  • [Vue CLI 3] 配置解析之 css.extract
  • 【前端学习】-粗谈选择器
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • angular2 简述
  • CSS中外联样式表代表的含义
  • go append函数以及写入
  • java8-模拟hadoop
  • Lsb图片隐写
  • magento 货币换算
  • mysql中InnoDB引擎中页的概念
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • uva 10370 Above Average
  • 对象引论
  • 后端_MYSQL
  • 回顾2016
  • 检测对象或数组
  • 精彩代码 vue.js
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 如何编写一个可升级的智能合约
  • 软件开发学习的5大技巧,你知道吗?
  • 新手搭建网站的主要流程
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 大数据全解:定义、价值及挑战
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • (C语言)共用体union的用法举例
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (十)c52学习之旅-定时器实验
  • (四)Controller接口控制器详解(三)
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)Sql Server 保留几位小数的两种做法
  • (转)程序员疫苗:代码注入
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .NET Core 中的路径问题
  • .NET 动态调用WebService + WSE + UsernameToken
  • .Net 垃圾回收机制原理(二)