Skip to content

Commit

Permalink
文档放置在 docs 目录 (#48)
Browse files Browse the repository at this point in the history
  • Loading branch information
riophae authored and LitoMore committed Apr 17, 2019
1 parent 1c1787c commit ab1e9b2
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 33 deletions.
26 changes: 0 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,32 +28,6 @@
**[官方饭否](https://fanfou.com/spacefanfou)**|**[入门手册](https://spacekid.me/spacefanfou/)**
:-----:|:-----:

### 开发

1. fork 并 clone 项目
1. 安装依赖 `npm install`
1. 进入开发模式 `npm run dev`,webpack 会持续监听文件变化并重新构建
1. 在 Chrome 中加载 `dist` 目录
1. 请确保 `npm test` 测试通过

### 约定

- 从 1.0.0 开始,使用[语义化版本控制](https://semver.org)
- 只提供必要的设置项,降低用户的决策负担
- 添加依赖时尽可能选择小巧、简单的包,维持打包体积、性能(比如使用 [just](https://github.com/angus-c/just) 替代 [lodash](https://lodash.com)[Preact](https://preactjs.com/) 替代 [React](https://reactjs.org/),以及 [tinydate](https://github.com/lukeed/tinydate) 替代 [moment.js](https://momentjs.com/)
- 太空饭否添加上去的 CSS 类名或 ID 名,应该以 `sf-` 为前缀,且使用连字符风格(如 `sf-foo-bar`),避免和饭否原有的样式命名发生冲突
- 尽量不对图片作 base64 编码,因为会影响到性能
- 尽量不去调用饭否的 jQuery / YUI
- 使用图片素材时应考虑到 HiDPI 显示器的适配
- SVG 图片应该使用 [svgo](https://github.com/svg/svgo) 作优化处理

### 发布

1. 修改 `static/manifest.json` 中的版本号
1.`src/version-history/versionHistory` 中添加更新说明(详见[这里](https://github.com/ispacekid/space-fanfou/blob/master/src/version-history/README.md),可选)
1. 构建 `npm build`
1.`dist` 目录中的文件打包为 zip,提交到商店审核

### 协议

基于 [GPL v3](COPYING) 协议发布。版权所有 © 2011-2019 太空饭否开发组。
10 changes: 6 additions & 4 deletions ARCHITECTURE.md → docs/architecture.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
## 架构
# 架构

### 太空饭否分为哪几个部分?

太空饭否分为四个部分:

Expand All @@ -9,15 +11,15 @@

以上四部分的 webpack entry 文件位于 `src/entries` 目录中,而前三者共用了同一个 entry 文件。原因是,它们都负责实现太空饭否的各种功能,因此会引用 `src/features` 中的文件,共用一个 entry 可以避免重复打包这部分代码。

#### Background Scripts 是做什么的?
### Background Scripts 是做什么的?

部分功能如检查是否有新 @ 提醒需要持续运行,所以放置在 Background Scripts 中。这部分不能直接与饭否页面接触。

#### Content Scripts 和 Page Scripts 是做什么的?
### Content Scripts 和 Page Scripts 是做什么的?

负责在饭否网页上实现太空饭否的样式与功能,即与页面接触的部分。这两者实际上是非常相似的,但是也存在一些差别。

#### 为什么同时存在 Content Scripts 和 Page Scripts?
### 为什么同时存在 Content Scripts 和 Page Scripts?

一般情况下,修改页面或添加内容以实现功能,只需要 Content Scripts 就足够了。但是太空饭否某些功能必须调用饭否页面的 JS 接口才可以实现(比如要用到 jQuery 和 YUI 来禁用掉饭否原有的一些功能)。但是 Content Scripts 是在一个隔离的环境中执行的,无法访问页面这一侧的对象,也就无法调用饭否自己的 JS 接口。而 Page Scripts 就没有了这些限制。

Expand Down
21 changes: 21 additions & 0 deletions docs/contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# 贡献代码

### 开发

1. fork 并 clone 项目
1. 安装依赖 `npm install`
1. 进入开发模式 `npm run dev`,webpack 会持续监听文件变化并重新构建
1. 在 Chrome 中加载 `dist` 目录
1. 请确保 `npm test` 测试通过

### 约定

- 从 1.0.0 开始,使用[语义化版本控制](https://semver.org)
- 只提供必要的设置项,降低用户的决策负担
- 添加依赖时尽可能选择小巧、简单的包,维持打包体积、性能(比如使用 [just](https://github.com/angus-c/just) 替代 [lodash](https://lodash.com)[Preact](https://preactjs.com/) 替代 [React](https://reactjs.org/),以及 [tinydate](https://github.com/lukeed/tinydate) 替代 [moment.js](https://momentjs.com/)
- 太空饭否添加上去的 CSS 类名或 ID 名,应该以 `sf-` 为前缀,且使用连字符风格(如 `sf-foo-bar`),避免和饭否原有的样式命名发生冲突
- 尽量不对图片作 base64 编码,因为会影响到性能
- 尽量不去调用饭否的 jQuery / YUI
- 使用图片素材时应考虑到 HiDPI 显示器的适配
- SVG 图片应该使用 [svgo](https://github.com/svg/svgo) 作优化处理
- 在 merge pull request 时应选择“Squash and merge”
15 changes: 12 additions & 3 deletions src/version-history/README.md → docs/publish.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,18 +1,27 @@
## 如何选择新版本号
# 发布

### 如何选择新版本号

从 1.0.0 开始,太空饭否使用[语义化版本控制](https://semver.org)。当发布新版本时,选择新版本号应遵循:

- 如果没有引入新功能,只是在现有基础上修补和改进,则应发布 patch(`_._.+`)更新;
- 如果引入了新功能,则应该发布 minor(`_.+._`)更新;
- 如果大幅度调整了代码或设计,则应该发布 major(`+._._`)更新。

## 更新历史的显示位置
### 更新历史的显示位置

- “设置” → “更新历史”,显示完整的更新历史
- 扩展启动时弹出通知,显示本次版本更新内容的概要(如果刚刚升级到了新版本、开启了相关设置,并且 `versionHistory` 中包含了该版本的更新内容)

## 如何编写更新历史内容
### 如何编写更新历史内容

- 更新历史应该介绍该版本在功能、设计及用户体验方面新引入或修正的内容
- 应该避免无意义的文字,如“修正了一些 bug”,尽量不打扰用户
- 如果更新内容过多,可以在前面写一行概要,用于作为桌面通知内容显示

### 如何发布新版?

1. 修改 `static/manifest.json` 中的版本号
1.`src/version-history/versionHistory` 中添加更新说明(详见[这里](https://github.com/ispacekid/space-fanfou/blob/master/src/version-history/README.md),可选)
1. 构建 `npm build`
1.`dist` 目录中的文件打包为 zip,提交到商店审核
5 changes: 5 additions & 0 deletions src/version-history/parseVersionHistory.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@ export default rawVersionHistory => {
}
continousBlankLines = 0

// 注释
if (currentLine.startsWith('#')) {
continue
}

// 版本号(必选)
if (currentLine.startsWith('v')) {
const versionTag = currentLine.substr(1)
Expand Down
2 changes: 2 additions & 0 deletions src/version-history/versionHistory
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# 参见 /docs/publish.md

v1.0.0
@2019-04-16
~ 这次版本更新完全重写了代码,带来了云同步功能,并且在功能、样式和用户体验方面作了大量改进。
Expand Down

0 comments on commit ab1e9b2

Please sign in to comment.