Compare commits

..

149 Commits

Author SHA1 Message Date
Richard Littauer
e75417ab50
Merge pull request #107 from bugstop/patch-1 2020-04-17 08:41:18 -07:00
Richard Littauer
7794e8d063
Merge pull request #106 from morenoh149/patch-1 2020-04-17 08:41:01 -07:00
Muhan Li
ca58969657
Update README.cn.md
1. 修订个别错误字词
2. 统一中英文排版格式
3. 修改了部分前后文翻译不一致的情况

1. correct typo
2. unified Chinese and English typesetting format
3. corrected some inconsistencies in translation
2020-03-23 16:52:59 +08:00
Harry Moreno
e58c34e9db
grammar 2020-01-05 18:58:36 -05:00
Richard Littauer
fa3896dc3d 1.2.0 2019-12-10 10:12:48 -05:00
Richard Littauer
0211114475 Remove blockquote from short description
Closes #22
2019-12-10 10:12:43 -05:00
Richard Littauer
8c5f901d7e
Merge pull request #103 from notfresh/master
new README-CN
2019-11-04 19:27:54 -05:00
notfreshmbp
ca075fa7a2 new README-CN
update the CN README link

Update README_CN.md

change the readme-CN filename
2019-10-30 13:43:35 +08:00
Richard Littauer
0fd159fa60
Merge pull request #97 from elopio/patch-1
Suggest to use the standard readme badge
2019-09-10 17:33:21 -04:00
Leo Arias
5c9ae7b50a
Suggest to use the standard readme badge
I'm always reading this specification and when I get to this section I get lost a little trying to find the badge.
2019-08-07 09:58:12 -06:00
Richard Littauer
552319ebfc 1.1.5 2019-06-24 19:51:44 +02:00
Richard Littauer
3958daa49f
Merge pull request #96 from dominiksalvet/add-thanks
Add Thanks section (from a feature branch)
2019-06-24 19:50:51 +02:00
Dominik Salvet
a56a3c9e70 Add Thanks section 2019-06-24 18:57:33 +02:00
Richard Littauer
9dd6ed6dd9
Remove redundant information from spec.md (#93)
Remove redundant information from spec.md
2019-06-16 18:25:27 +02:00
Dominik Salvet
1c06b0016c
Update spec.md
Redundant information about document-based modules has been removed from the Install and Usage sections - it is already stated in their Status subsections.
2019-06-07 19:20:13 +02:00
Richard Littauer
7180c59c16
Merge pull request #91 from nikcorg/fix/typos
Fix: typo and punctuation
2019-02-21 19:29:10 +02:00
Niklas Lindgren
845a854a23 fix: use ascii apostrophy 2019-02-21 14:46:56 +00:00
Niklas Lindgren
5ee173102e fix: than should be then 2019-02-21 14:45:30 +00:00
Richard Littauer
84c2195fae docs: remove unnecessary opencollective links 2019-02-21 02:53:30 -05:00
Richard Littauer
f180c5ab31
Merge pull request #89 from nstickney/master
add: license and standard-readme badges in maximal example
2019-01-28 10:50:29 +02:00
Stick
ee14e08f90
add license & standard badges in maximal example 2019-01-25 12:41:57 -05:00
Richard Littauer
0180ac135f
Merge pull request #86 from davidak/contributing
Rename "Contribute" section to "Contributing"
2018-10-24 19:08:33 +02:00
David Kleuker
88d7650a83 Rename "Contribute" section to "Contributing"
fixes #84
2018-10-24 15:55:01 +02:00
Richard Littauer
83147814d9 1.1.4 2018-08-20 10:38:24 -04:00
Richard Littauer
7c68d892fd fix: Add language specific rules for naming
closes #81.
2018-08-20 10:37:42 -04:00
Richard Littauer
89a52bff26
Merge pull request #80 from opencollective/opencollective
Activating Open Collective
2018-08-02 14:20:42 -04:00
Jess
f8b2069266 Added call to donate after npm install (optional) 2018-08-02 10:19:37 -07:00
Jess
eac2dd978e Added backers and sponsors on the README 2018-08-02 10:19:37 -07:00
Richard Littauer
056584dc12
Merge pull request #76 from jonahweissman/patch-1
Fix broken link in spec.md
2018-03-08 20:14:05 -05:00
jonahweissman
f9a0a3bdd4
Fix broken link in spec.md
change link from `readme.md` to actual file `README.md`
2018-03-08 19:56:42 -05:00
Richard Littauer
f570c3cdd2
Merge pull request #74 from RichardLitt/feat/maintainer-optional
fix: Maintainer is optional
2017-11-16 10:35:36 -05:00
Richard Littauer
095aee7683 Merge github.com:RichardLitt/standard-readme 2017-11-14 19:41:27 -05:00
Richard Littauer
0591ce294b fix: Maintainer is optional
You do not need this for single person repositories. Closes #73
2017-11-14 19:41:00 -05:00
Richard Littauer
36df2792df Add maintainers to TOC 2017-11-14 19:40:27 -05:00
Richard Littauer
764aeca383
Merge pull request #72 from RichardLitt/mention-relation-to-node-and-npm
Add mention of relation to Node and npm
2017-11-14 19:18:43 -05:00
Titus Wormer
42f1df9241 Add mention of relation to Node and npm
Closes GH-64.
2017-11-14 19:11:31 -05:00
Richard Littauer
c435c2daaf docs: make coc section clearer 2017-11-14 16:13:26 -05:00
Richard Littauer
89d405e13a fix: dont require extra sections section
See d4e79da598 (commitcomment-25611715)
2017-11-14 15:46:56 -05:00
Richard Littauer
e645c67af8 docs: spruce up coc
See #68
2017-11-14 15:32:36 -05:00
Richard Littauer
9e11fce881 Merge github.com:RichardLitt/standard-readme 2017-11-14 15:25:37 -05:00
Richard Littauer
19c79f075d chore: remove CNAME that is not set up 2017-11-14 15:24:02 -05:00
Richard Littauer
03360b3b7e
Merge pull request #71 from RichardLitt/feat/definitions
feat: add definitions section
2017-11-14 15:22:48 -05:00
Richard Littauer
79cf2c2b8a
Merge pull request #70 from RichardLitt/feat/spdx
fix: note SPDX for license
2017-11-14 15:22:39 -05:00
Richard Littauer
d4e79da598 fix: must not wording
Closes #62
2017-11-14 15:18:55 -05:00
Richard Littauer
d05361bb82 fix: Make updating subsection an optional suggestion, and describe it
Closes #65
2017-11-14 15:13:51 -05:00
Richard Littauer
8e271642f9 refactor: use shell 2017-11-14 15:08:30 -05:00
Richard Littauer
f9fa67cabb fix: Remove newlines requirement
Because Markdown enforces this anyway, and I do not think that this requirement is helpful. Closes #58
2017-11-14 15:00:04 -05:00
Richard Littauer
1123bb8ba4 fix: remove back-to-top suggestion
This is unnecessary. Closes #60
2017-11-14 14:57:40 -05:00
Richard Littauer
13063840cb feat: add definitions section 2017-11-14 14:47:02 -05:00
Richard Littauer
e7b67cd4cf fix: note SPDX for license
Closes #69.
2017-11-14 14:41:27 -05:00
Richard Littauer
468156d2b4 Merge pull request #54 from Smutchings/master
Spell checking and language cleanup
2017-05-13 14:55:43 +02:00
Sam Hutchings
1d4049f2fa Spell checking and language cleanup
Initial run through the spec, checking for language and spelling
issues. Corrected.
2017-05-12 14:10:00 +01:00
Richard Littauer
dee835523b 1.1.3 2017-05-08 16:37:42 +02:00
Richard Littauer
8c49610121 Fix spelling error 2017-05-08 16:37:33 +02:00
Richard Littauer
6b6feac2c3 1.1.2 2017-05-08 15:24:07 +02:00
Richard Littauer
843a252bda Fix bin 2017-05-08 15:24:03 +02:00
Richard Littauer
bfca987d62 1.1.1 2017-05-08 15:22:53 +02:00
Richard Littauer
56bc992d05 Add bin 2017-05-08 15:22:46 +02:00
Richard Littauer
84b546cb8c 1.1.0 2017-05-08 15:21:37 +02:00
Richard Littauer
28d16eea64 Add file 2017-05-08 15:21:31 +02:00
Richard Littauer
d6dbfd345c Rename package on npm 2017-05-08 15:21:22 +02:00
Richard Littauer
250a3f5589 Add console logging functionality 2017-05-08 15:21:14 +02:00
Richard Littauer
81d40850ef Heading depth 2017-05-08 15:20:52 +02:00
Richard Littauer
464579f285 Change description to match 2017-05-08 15:20:36 +02:00
Richard Littauer
f3525d4313 Add linting requirement
Closes #37
2017-05-08 14:52:53 +02:00
Richard Littauer
24938bbe2d Remove ToC from minimal example
And make optional clearer. Closes #43
2017-05-08 13:50:15 +02:00
Richard Littauer
2048bf8b85 Adding Related Efforts
Closes #53
2017-05-08 13:47:45 +02:00
Richard Littauer
9ad194f59c Remove old badges. 2017-04-12 11:27:15 -04:00
Richard Littauer
71d821c045 1.0.28 2017-04-02 10:52:29 -04:00
Richard Littauer
f5dbb26273 Add RichardLitt as a maintainer
Closes #52
2017-04-02 10:52:19 -04:00
Richard Littauer
f0ed009d70 1.0.27 2017-03-16 15:52:19 -04:00
Richard Littauer
e197529e53 Fix license discrepency 2017-03-16 15:51:58 -04:00
Richard Littauer
9af222044b 1.0.26 2017-01-06 23:54:28 +01:00
Richard Littauer
37e4a6c709 Merge pull request #46 from RichardLitt/feat/i18n
Added i18n note
2017-01-06 23:54:09 +01:00
Richard Littauer
bd16e451ef Merge pull request #50 from siddharthkp/patch-1
Fixed installation link in readme
2017-01-06 16:46:12 +01:00
Siddharth Kshetrapal
ae15d345a1 replace installation with install in readme 2017-01-06 20:31:39 +05:30
Siddharth Kshetrapal
497f0cc946 Fixed installation link in readme 2017-01-06 19:35:06 +05:30
Richard Littauer
3213764f74 1.0.25 2016-12-28 10:42:34 -05:00
Richard Littauer
4e8548cf50 Merge pull request #39 from RichardLitt/feat/add-maintainers
Added maintainers to spec
2016-12-28 10:41:43 -05:00
Richard Littauer
d5b23a5267 Merge pull request #49 from marceldiass/fix-install-section-title
Fix install section in the table of contents
2016-12-28 10:41:03 -05:00
Marcel Dias
1b583d86f3
Fix install section in the table of contents 2016-12-28 13:30:00 -02:00
Richard Littauer
4cd08e63cc Merge pull request #47 from rhys-vdw/patch-1
Correct table of contents href
2016-12-23 08:25:36 -05:00
Rhys van der Waerden
3da360d704 Correct table of contents href
Previously referenced the spec's table of contents instead of the table of contents section.
2016-12-23 10:05:55 +11:00
Richard Littauer
359b36e837 Added i18n note
See https://github.com/RichardLitt/standard-readme/issues/38
2016-11-22 05:28:52 -05:00
Richard Littauer
a4ce2a57b5 1.0.24 2016-11-17 09:24:39 -05:00
Richard Littauer
fc9b7f7cf2 Merge pull request #40 from RichardLitt/feat/h1-heading-note
Added subtitle option to Top Header Naming
2016-11-17 09:20:59 -05:00
Richard Littauer
ec8bb37914 Merge pull request #41 from RichardLitt/feat/add-toc-to-spec
Added ToC to spec
2016-11-17 09:20:32 -05:00
Richard Littauer
e01966c607 1.0.23 2016-11-17 09:17:54 -05:00
Richard Littauer
f3f43a0016 Merge pull request #45 from sotayamashita/patch-1
Change badge style
2016-11-17 09:17:47 -05:00
Sota Yamashtia
264ab8b863 Change badge style 2016-11-14 19:06:15 +09:00
Richard Littauer
8ef8666e1e Added ToC to spec 2016-10-19 16:38:09 -04:00
Richard Littauer
c5f938af18 Added subtitle option to Top Header Naming
See #26
2016-10-19 16:36:49 -04:00
Richard Littauer
8f9adba52b Added maintainers to spec
See #30
2016-10-19 15:47:03 -04:00
Richard Littauer
f613fd1afb 1.0.22 2016-10-05 12:33:42 -04:00
Richard Littauer
170d6dc7df Merge pull request #35 from dikarel/master
Add spec: must not contain broken links
2016-10-05 12:32:11 -04:00
Darius I. Karel
16885ebed3 spec: must not contain broken links 2016-09-27 10:04:18 +07:00
Richard Littauer
eaec1d4126 1.0.21 2016-09-05 15:48:35 -04:00
Richard Littauer
13ed550828 Remove print out option, update Usage
This closed https://github.com/RichardLitt/standard-readme/issues/32
2016-09-05 15:48:30 -04:00
Richard Littauer
7f6d06fad1 1.0.20 2016-08-30 08:55:10 -04:00
Richard Littauer
4b15f7179c Merge branch 'pr/31' 2016-08-30 08:54:59 -04:00
Richard Littauer
8d74e29490 Spelling errors 2016-08-30 08:54:54 -04:00
JesseWeinstein
8fd1e0c680 Clarify Dependencies and Extra Sections 2016-08-29 19:46:32 -07:00
JesseWeinstein
bc28e71d1f Use a blank line to separate Status & Requirements
Rather than invisible trailing whitespace.
2016-08-29 19:16:42 -07:00
Richard Littauer
a345eaec5c Added CNAME 2016-08-26 16:13:46 -04:00
JesseWeinstein
28c934ef62 Various wording/formatting adjustements
This includes some additional guidelines, but is not intended to make any substantive changes.
2016-08-25 23:40:14 -07:00
Richard Littauer
a6c15b6b3e Merge pull request #23 from RichardLitt/feature/remove-install-usage
Make install and usage optional for doc repos
2016-07-29 08:25:11 -04:00
Richard Littauer
c555f1f5d2 Added optionality to required things 2016-07-28 13:55:41 -04:00
Richard Littauer
f92456b01f Make install and usage optional for doc repos
See https://github.com/RichardLitt/standard-readme/issues/21
2016-07-27 17:22:47 -04:00
Richard Littauer
494652c923 1.0.19 2016-07-27 11:55:14 -04:00
Richard Littauer
45b4ca9985 Added links to desc 2016-07-27 11:55:02 -04:00
Richard Littauer
2cc9b5d607 1.0.18 2016-07-27 11:49:50 -04:00
Richard Littauer
38c80ab16c Fill out story! 2016-07-27 11:49:39 -04:00
Richard Littauer
1bb0e8ea88 Be agnostic about naming of contribute file 2016-07-27 11:26:35 -04:00
Richard Littauer
da40945e8b Remove extra word in headings 2016-07-27 11:26:04 -04:00
Richard Littauer
23b1a58109 1.0.17 2016-07-07 16:24:51 +01:00
Richard Littauer
2986c49901 Move spec to spec, rename Installation to install 2016-07-07 16:24:29 +01:00
Richard Littauer
288e7e520c Change capitalization 2016-07-07 16:18:46 +01:00
Richard Littauer
9da157c2c0 1.0.16 2016-06-18 14:09:01 +01:00
Richard Littauer
c87e8545d6 Added generator note, removed doubled goals
Related to #6
2016-06-18 14:08:54 +01:00
Richard Littauer
c571eabff4 1.0.15 2016-06-16 08:43:01 +02:00
Richard Littauer
73df5c8ac3 Made Contribute and CoC links optional 2016-06-16 08:42:47 +02:00
Richard Littauer
da3f4240f6 1.0.14 2016-06-03 11:02:44 +01:00
Richard Littauer
e0155d7467 Added badge code example 2016-06-03 11:02:31 +01:00
Richard Littauer
2056df4e0f 1.0.13 2016-06-03 10:56:23 +01:00
Richard Littauer
e1f5760875 Added Badge
Related to #18
2016-06-03 10:53:14 +01:00
Richard Littauer
7b450b3fa1 1.0.12 2016-06-02 10:37:41 +01:00
Richard Littauer
131e460775 Added Contributor Covenant 2016-06-02 10:37:30 +01:00
Richard Littauer
a834b74e3a 1.0.11 2016-06-02 10:35:18 +01:00
Richard Littauer
9d4071e464 Added Code of Conduct 2016-06-02 10:35:00 +01:00
Richard Littauer
7b8f258cf9 1.0.10 2016-06-01 16:59:06 +01:00
Richard Littauer
e499460a88 Credit quotes better
Closes #3 again.
2016-06-01 16:58:49 +01:00
Richard Littauer
0303ca7497 1.0.9 2016-05-28 22:52:41 +01:00
Richard Littauer
ac39319a60 Added Back to Top suggestion
Closes https://github.com/RichardLitt/standard-readme/issues/16
2016-05-28 22:52:26 +01:00
Richard Littauer
637341ee96 1.0.8 2016-05-26 15:36:25 +01:00
Richard Littauer
ca9010b3b4 Add note about referencing external API file
Closes #12
2016-05-26 15:36:11 +01:00
Richard Littauer
39fff79e11 1.0.7 2016-05-26 15:33:13 +01:00
Richard Littauer
f7b2295a48 Specify section depth for ToC
See #10
2016-05-26 15:32:59 +01:00
Richard Littauer
f7acb59e51 Add text from CPAN
Closes #3
2016-05-23 14:37:37 +02:00
Richard Littauer
bad0d305b9 Add example READMEs 2016-05-23 13:48:02 +02:00
Richard Littauer
052358dbd0 1.0.6 2016-05-13 12:43:30 -04:00
Richard Littauer
26b7e513a9 Add Background to ToC 2016-05-13 12:43:16 -04:00
Richard Littauer
f2fe325f7e Bold, small edit 2016-05-13 12:41:42 -04:00
Richard Littauer
d083918784 1.0.5 2016-05-13 12:31:30 -04:00
Richard Littauer
fc941187bf Moved Table of Contents 2016-05-13 12:31:22 -04:00
Richard Littauer
3d0b88a8f3 1.0.4 2016-05-13 12:28:50 -04:00
Richard Littauer
9d38e0f52c Added suggestions for see also, runnable examples
Closed #3
2016-05-13 12:28:41 -04:00
Richard Littauer
962c15197d 1.0.3 2016-05-13 12:23:06 -04:00
Richard Littauer
8c42cf5e16 Update package.json 2016-05-13 12:22:57 -04:00
Richard Littauer
ac5c335e00 Cat main file 2016-05-13 12:22:50 -04:00
10 changed files with 558 additions and 220 deletions

View File

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2015 IPFS Copyright (c) 2017-2019 Richard Littauer
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
@ -19,4 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. SOFTWARE.

114
README.cn.md Normal file
View File

@ -0,0 +1,114 @@
# 标准 Readme
[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
标准 Readme 样式
README 文件是人们通常最先看到的第一个东西。它应该告诉人们为什么要使用、如何安装、以及如何使用你的代码。README 文件标准化能够使得创建和维护 README 文件更加简单。毕竟,要写好一个文档不是那么容易的。
本仓库包含以下内容:
1. 一个标准的 README 文件应该是什么样子的[规范](spec.md)。
2. 一个用于维护 README 文件的语法提示工具的链接 ([正在进行中](https://github.com/RichardLitt/standard-readme/issues/5))。
3. 一个创建标准 README 的[生成器](https://github.com/RichardLitt/generator-standard-readme)。
4. 一个指向该规范的[徽章](#徽章)。
5. [标准 README 的实例](example-readmes/) - 比如你正在读的这个文件。
标准 Readme 是为了开源组件设计的。尽管它的[背景](#背景)是为了服务于 Node 和 npm 项目, 它同时也可以应用到其他编程语言和包管理器中去。
## 内容列表
- [背景](#背景)
- [安装](#安装)
- [使用说明](#使用说明)
- [生成器](#生成器)
- [徽章](#徽章)
- [示例](#示例)
- [相关仓库](#相关仓库)
- [维护者](#维护者)
- [如何贡献](#如何贡献)
- [使用许可](#使用许可)
## 背景
`标准 Readme` 最开始因为 [@maxogden](https://github.com/maxogden) 在项目 [feross/standard](https://github.com/feross/standard) 的[这个 Issue](https://github.com/feross/standard/issues/141) 中提出,是否标准化 README 会有助于帮助大家。很多人在仓库 [zcei's standard-readme](https://github.com/zcei/standard-readme/issues/1) 就这个想法进行了讨论。在我维护仓库 [IPFS](https://github.com/ipfs) 的时候,我需要在这个组织中推广标准化的 Readme因此这个项目也就从这开始了。
> 如果你的文档是完整的,那么使用你代码的人就不用再去看代码了。这非常的重要。它使得你可以分离接口文档与具体实现。它意味着你可修改实现的代码而保持接口与文档不变。
> 请记住:是文档而非代码,定义了一个模块的功能。
—— [Ken Williams, Perl Hackers](http://mathforum.org/ken/perl_modules.html#document)
写 README 从某种程度上来说相当不易,一直维护下去更是难能可贵。如果可以减少这个过程,则可以让写代码与修改代码更容易,使得是否在说明中指明一处需改有无必要更加清楚,你可以花费更少的时间来考虑是否你最初的文档是否需要更新,你可以分配更多的时间来写代码而非维护文档。
同时,标准化在某些别的地方也有好处。有了标准化,用户就可以花费更少的时间来搜索他们需要的信息,他们同时可以做一个工具来从描述中搜集信息,自动跑示例代码,检查授权协议等等。
这个仓库的目标是:
1. 一个定义良好的**规范**。在仓库中的位置是 [spec.md](spec.md)。它是一个一直在持续优化的文档,欢迎您提 Issue 讨论其中的变化。
2. 一个**示例 README**。这个 Readme 完全遵从 Standard-readme而且在 `example-readmes` 文件夹里有更多的示例。
3. 一个**语法提示器**用来提示在 Readme 中的语法错误。请参考 [tracking issue](https://github.com/RichardLitt/standard-readme/issues/5)。
4. 一个**生成器**用来快速搭建新的 README 的框架。请参考 [generator-standard-readme](https://github.com/RichardLitt/generator-standard-readme)。
5. 一个**标识准守规范的徽章**。请参考[徽章](#徽章)。
## 安装
这个项目使用 [node](http://nodejs.org) 和 [npm](https://npmjs.com)。请确保你本地安装了它们。
```sh
$ npm install --global standard-readme-spec
```
## 使用说明
这只是一个文档包,你可以打印出 [spec.md](spec.md) 到输出窗口。
```sh
$ standard-readme-spec
# Prints out the standard-readme spec
```
### 生成器
想要使用生成器的话,请看 [generator-standard-readme](https://github.com/RichardLitt/generator-standard-readme)。
有一个全局的可执行文件来运行包里的生成器,生成器的别名叫 `standard-readme`
## 徽章
如果你的项目遵循 Standard-Readme 而且项目位于 Github 上,非常希望你能把这个徽章加入你的项目。它可以更多的人访问到这个项目,而且采纳 Stand-README。 加入徽章**并非强制的**。
[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
为了加入徽章到 Markdown 文本里面,可以使用以下代码:
```
[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
```
## 示例
想了解我们建议的规范是如何被应用的,请参考 [example-readmes](example-readmes/)。
## 相关仓库
- [Art of Readme](https://github.com/noffle/art-of-readme) — 💌 写高质量 README 的艺术。
- [open-source-template](https://github.com/davidbgk/open-source-template/) — 一个鼓励参与开源的 README 模板。
## 维护者
[@RichardLitt](https://github.com/RichardLitt)。
## 如何贡献
非常欢迎你的加入![提一个 Issue](https://github.com/RichardLitt/standard-readme/issues/new) 或者提交一个 Pull Request。
标准 Readme 遵循 [Contributor Covenant](http://contributor-covenant.org/version/1/3/0/) 行为规范。
### 贡献者
感谢以下参与项目的人:
<a href="graphs/contributors"><img src="https://opencollective.com/standard-readme/contributors.svg?width=890&button=false" /></a>
## 使用许可
[MIT](LICENSE) © Richard Littauer

250
README.md
View File

@ -1,213 +1,119 @@
# Standard Readme # Standard Readme
[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
[![](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io/)
[![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)
> Readme Standard Style A standard style for README files
This repo is for standardizing how READMEs should look. The goal is to have: Your README file is normally the first entry point to your code. It should tell people why they should use your module, how they can install it, and how they can use it. Standardizing how you write your README makes creating and maintaining your READMEs easier. Great documentation takes work!
- A well defined specification that other people could look to;
- An example README that can be used for comparison (this README.md is the example);
- A linter that can be used to look at errors in a given Readme;
- A generator that can be used to quickly scaffold out new READMEs.
** Table of Contents ** This repository contains:
- [Installation](#installation) 1. [The specification](spec.md) for how a standard README should look.
2. A link to a linter you can use to keep your README maintained ([work in progress](https://github.com/RichardLitt/standard-readme/issues/5)).
3. A link to [a generator](https://github.com/RichardLitt/generator-standard-readme) you can use to create standard READMEs.
4. [A badge](#badge) to point to this spec.
5. [Examples of standard READMEs](example-readmes/) - such as this file you are reading.
Standard Readme is designed for open source libraries. Although its [historically](#background) made for Node and npm projects, it also applies to libraries in other languages and package managers.
## Table of Contents
- [Background](#background)
- [Install](#install)
- [Usage](#usage) - [Usage](#usage)
- [Specification](#specification) - [Generator](#generator)
- [Requirements](#requirements) - [Badge](#badge)
- [Sections](#sections) - [Example Readmes](#example-readmes)
- [Title](#title) - [Related Efforts](#related-efforts)
- [Banner](#banner) - [Maintainers](#maintainers)
- [Badges](#badges) - [Contributing](#contributing)
- [Short Description](#short-description) - [License](#license)
- [Long Description](#long-description)
- [Table of Contents](#table-of-contents)
- [Security](#security)
- [Background section](#background-section)
- [Installation](#installation-1)
- [Usage Section](#usage-section)
- [Extra Sections](#extra-sections)
- [API](#api)
- [Contribute](#contribute-1)
- [License](#license)
- [Contribute](#contribute)
- [License](#license-1)
## Background ## Background
Standard Readme started with in the issue originally posed by [@maxogden](https://github.com/maxogden) over at [feross/standard](https://github.com/feross/standard) in [this issue](https://github.com/feross/standard/issues/141). A lot of that discussion ended up in [zcei's standard-readme](https://github.com/zcei/standard-readme/issues/1) repository. While working on maintaining the [IPFS](https://github.com/ipfs) repositories, I needed a way to standardize Readmes. This is a result of that. Standard Readme started with the issue originally posed by [@maxogden](https://github.com/maxogden) over at [feross/standard](https://github.com/feross/standard) in [this issue](https://github.com/feross/standard/issues/141), about whether or not a tool to standardize readmes would be useful. A lot of that discussion ended up in [zcei's standard-readme](https://github.com/zcei/standard-readme/issues/1) repository. While working on maintaining the [IPFS](https://github.com/ipfs) repositories, I needed a way to standardize Readmes across that organization. This specification started as a result of that.
### Goals: > Your documentation is complete when someone can use your module without ever
1. A well defined **specification**. This can be found in the [Specification](#specification) section. It is a constant work in progress; please open issues to discuss changes. having to look at its code. This is very important. This makes it possible for
2. **An example README**. This Readme is fully standard-readme compliant. you to separate your module's documented interface from its internal
implementation (guts). This is good because it means that you are free to
change the module's internals as long as the interface remains the same.
> Remember: the documentation, not the code, defines what a module does.
~ [Ken Williams, Perl Hackers](http://mathforum.org/ken/perl_modules.html#document)
Writing READMEs is way too hard, and keeping them maintained is difficult. By offloading this process - making writing easier, making editing easier, making it clear whether or not an edit is up to spec or not - you can spend less time worrying about whether or not your initial documentation is good, and spend more time writing and using code.
By having a standard, users can spend less time searching for the information they want. They can also build tools to gather search terms from descriptions, to automatically run example code, to check licensing, and so on.
The goals for this repository are:
1. A well defined **specification**. This can be found in the [Spec document](spec.md). It is a constant work in progress; please open issues to discuss changes.
2. **An example README**. This Readme is fully standard-readme compliant, and there are more examples in the `example-readmes` folder.
3. A **linter** that can be used to look at errors in a given Readme. Please refer to the [tracking issue](https://github.com/RichardLitt/standard-readme/issues/5). 3. A **linter** that can be used to look at errors in a given Readme. Please refer to the [tracking issue](https://github.com/RichardLitt/standard-readme/issues/5).
4. A generator that can be used to quickly scaffold out new READMEs. Please refer to the [tracking issue](https://github.com/RichardLitt/standard-readme/issues/6). 4. A **generator** that can be used to quickly scaffold out new READMEs. See [generator-standard-readme](https://github.com/RichardLitt/generator-standard-readme).
5. A compliant badge. 5. A **compliant badge** for users. See [the badge](#badge).
## Installation ## Install
This project uses [node][] and [npm][]. Go check them out if you don't have them locally installed. This project uses [node](http://nodejs.org) and [npm](https://npmjs.com). Go check them out if you don't have them locally installed.
```sh ```sh
$ npm i -g standard-readme $ npm install --global standard-readme-spec
``` ```
## Usage ## Usage
Currently, this is only a Readme spec. This is only a documentation package. You can print out [spec.md](spec.md) to your console:
``` ```sh
$ standard-readme $ standard-readme-spec
// Will output spec (this Readme) # Prints out the standard-readme spec
``` ```
## Specification ### Generator
### Requirements To use the generator, look at [generator-standard-readme](https://github.com/RichardLitt/generator-standard-readme). There is a global executable to run the generator in that package, aliased as `standard-readme`.
A compliant README must: ## Badge
- Be called README.md (with capitalization).
- Be a valid Markdown file.
- Sections must appear in order delineated below. Optional sections may be omitted.
- Must be new lines between each section.
### Sections If your README is compliant with Standard-Readme and you're on GitHub, it would be great if you could add the badge. This allows people to link back to this Spec, and helps adoption of the README. The badge is **not required**.
#### Title [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
**Status:** Required.
**Requirements:**
- Must match repository name. If it cannot, there must be a note in the long description about why.
- Must match package manager name. If it cannot, there must be a note in the long description about why.
**Suggestions:** To add in Markdown format, use this code:
- Should be self-evident.
#### Banner ```
**Status:** Optional. [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
**Requirements:** ```
- Must link to local image in current repository.
- Must appear directly after the title.
#### Badges ## Example Readmes
**Status:** Optional.
**Requirements:**
- Must be newline delimited.
#### Short Description To see how the specification has been applied, see the [example-readmes](example-readmes/).
**Status:** Required.
**Requirements:**
- Must be less than 120 characters.
- Must start with `> `
- Must be on it's own line.
- Must match the description in the packager manager's `description` field.
- Must match GitHub's description (if on GitHub).
**Suggestions:** ## Related Efforts
- Use [gh-description](https://github.com/RichardLitt/gh-description) to set and get GitHub description.
- Use `npm show . description` to show the description from a local [npm][] package.
#### Long Description - [Art of Readme](https://github.com/noffle/art-of-readme) - 💌 Learn the art of writing quality READMEs.
**Status:** Optional. - [open-source-template](https://github.com/davidbgk/open-source-template/) - A README template to encourage open-source contributions.
**Requirements:**
- Must have no heading.
**Suggestions:** ## Maintainers
- If too long, consider moving to the [Background](#background) section.
- Cover the main reasons for building the repository.
#### Table of Contents [@RichardLitt](https://github.com/RichardLitt).
**Status:** Required.
**Requirements:**
- Must link to all Markdown sections in the file.
- Must not have a Markdown header, `####`, but must be in bold, on it's own line.
- Must start with the next section; do not include the title.
#### Security ## Contributing
**Status**: Optional.
**Requirements:**
- May go here if visibility of security section is important. Otherwise, should be in [Extra Sections](#extra-sections).
#### Background section
**Status:** Optional.
**Requirements:**
- Cover motivation.
- Cover abstract dependencies.
- Cover intellecutal provenance.
#### Installation
**Status:** Required.
**Requirements:**
- Code block illustrating how to install.
Subsections:
- `Dependencies`. Required if necessary.
- `Updating`. Optional.
**Suggestions:**
- Link to prerequisite sites for language. [npmjs][], [godocs][], etc.
- Include any system-specific information needed for Installation.
- Subsection for dependencies needed for install to work.
#### Usage Section
**Status:** Required.
**Requirements:**
- Code block illustrating common usage.
- If CLI compatible, code block indicating common usage.
- If importable, code block indicating both import functionality and usage.
Subsections:
- `CLI`. Required if CLI functionality exists.
**Suggestions:**
- Cover basic choices that may affect usage: for instance, if JavaScript, cover promises/callbacks, ES6 here.
#### Extra Sections
**Status**: Optional.
**Requirements:**
- None.
#### API
**Status:** Optional.
**Requirements:**
- Describe exported functions and objects.
**Suggestions:**
- Describe signatures, return types, callbacks, and events.
- Cover types covered where not obvious.
- Describe caveats.
#### Contribute
**Status**: Required.
**Requirements:**
- Link to `CONTRIBUTE.md` file if there is one.
- State where users can ask questions.
- State whether PRs are accepted.
- List any requirements for contributing; for instance, having a sign-off on commits.
**Suggestions:**
- Be as friendly as possible.
- Link to the GitHub issues.
#### License
**Status:** Required.
**Requirements:**
- State license initials or name.
- State license owner.
- Must be last section.
**Suggestions:**
- Link to longer License file in local repository.
## Contribute
Feel free to dive in! [Open an issue](https://github.com/RichardLitt/standard-readme/issues/new) or submit PRs. Feel free to dive in! [Open an issue](https://github.com/RichardLitt/standard-readme/issues/new) or submit PRs.
Standard Readme follows the [Contributor Covenant](http://contributor-covenant.org/version/1/3/0/) Code of Conduct.
### Contributors
This project exists thanks to all the people who contribute.
<a href="graphs/contributors"><img src="https://opencollective.com/standard-readme/contributors.svg?width=890&button=false" /></a>
## License ## License
MIT (c) Protocol Labs [MIT](LICENSE) © Richard Littauer
[node]: http://nodejs.org
[npm]: https://npmjs.com

3
cat.sh Executable file
View File

@ -0,0 +1,3 @@
#! /bin/bash
cat spec.md

View File

@ -0,0 +1,68 @@
# Title
![banner]()
![badge]()
![badge]()
[![license](https://img.shields.io/github/license/:user/:repo.svg)](LICENSE)
[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
This is an example file with maximal choices selected.
This is a long description.
## Table of Contents
- [Security](#security)
- [Background](#background)
- [Install](#install)
- [Usage](#usage)
- [API](#api)
- [Contributing](#contributing)
- [License](#license)
## Security
### Any optional sections
## Background
### Any optional sections
## Install
This module depends upon a knowledge of [Markdown]().
```
```
### Any optional sections
## Usage
```
```
Note: The `license` badge image link at the top of this file should be updated with the correct `:user` and `:repo`.
### Any optional sections
## API
### Any optional sections
## More optional sections
## Contributing
See [the contributing file](CONTRIBUTING.md)!
PRs accepted.
Small note: If editing the Readme, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification.
### Any optional sections
## License
[MIT © Richard McRichface.](../LICENSE)

View File

@ -0,0 +1,21 @@
# Title
This is an example file with default selections.
## Install
```
```
## Usage
```
```
## Contributing
PRs accepted.
## License
MIT © Richard McRichface

View File

@ -1,23 +0,0 @@
var mdast = require('mdast')
var lint = require('mdast-lint')
var fs = require('graceful-fs')
var remarkTitle = require('remark-title')
var doc = './README.md'
// TODO Replace README with readme option
fs.writeFileSync(doc, mdast().use(remarkTitle, {
title: 'IPFS Readme Standard'
}, lint).process(
fs.readFileSync(doc, 'utf8'), function (err, file, res) {
if (err) {
console.log(err)
return
}
if (file.messages[0] != null) {
console.log(file.messages)
} else {
console.log('No errors found!')
}
})
)

5
package-lock.json generated Normal file
View File

@ -0,0 +1,5 @@
{
"name": "standard-readme-spec",
"version": "1.2.0",
"lockfileVersion": 1
}

View File

@ -1,40 +1,45 @@
{ {
"name": "standard-readme", "name": "standard-readme-spec",
"version": "1.0.2", "version": "1.2.0",
"description": "Readme Standard Style", "description": "A standard style for README files",
"main": "index.js", "bin": "cat.sh",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "babel src -d lib"
},
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/ipfs/ipfs-readme-standard.git" "url": "git+https://github.com/RichardLitt/standard-readme.git"
}, },
"keywords": [ "keywords": [
"standard",
"markdown", "markdown",
"readme", "readme",
"parse", "parse",
"lint", "lint",
"standard" "standard-readme",
"spec",
"md",
"documentation"
], ],
"author": "Richard Littauer <richard.littauer@gmail.com> (http://burntfen.com)", "author": {
"name": "Richard Littauer",
"email": "richard.littauer@gmail.com",
"url": "http://burntfen.com"
},
"license": "MIT", "license": "MIT",
"bugs": { "bugs": {
"url": "https://github.com/ipfs/ipfs-readme-standard/issues" "url": "https://github.com/RichardLitt/standard-readme/issues"
}, },
"homepage": "https://github.com/ipfs/ipfs-readme-standard#readme", "homepage": "https://github.com/RichardLitt/standard-readme",
"dependencies": { "dependencies": {
"graceful-fs": "^4.1.2", "opencollective": "^1.0.3"
"mdast": "^2.1.0",
"mdast-lint": "^1.1.1",
"remark-title": "^1.0.0"
},
"devDependencies": {
"babel-cli": "^6.3.17"
}, },
"coordinates": [ "coordinates": [
42.3811742, 52.5173031,
-71.0972239 13.4535065
] ],
"collective": {
"type": "opencollective",
"url": "https://opencollective.com/standard-readme"
},
"scripts": {
"postinstall": "opencollective-postinstall"
}
} }

240
spec.md Normal file
View File

@ -0,0 +1,240 @@
# Specification
A compliant README must satisfy all the requirements listed below.
> Note: Standard Readme is designed for open source libraries. Although it's [historically](README.md#background) made for Node and npm projects, it also applies to libraries in other languages and package managers.
**Requirements:**
- Be called README.md (with capitalization).
- If the project supports i18n, the file must be named accordingly: `README.de.md`, where `de` is the BCP 47 Language tag. For naming, prioritize non-regional subtags for languages. If there is only one README and the language is not English, then a different language in the text is permissible without needing to to specify the BCP tag: e.g., `README.md` can be in German if there is no `README.md` in another language. Where there are multiple languages, `README.md` is reserved for English.
- Be a valid Markdown file.
- Sections must appear in order given below. Optional sections may be omitted.
- Sections must have the titles listed below, unless otherwise specified. If the README is in another language, the titles must be translated into that language.
- Must not contain broken links.
- If there are code examples, they should be linted in the same way as the code is linted in the rest of the project.
## Table of Contents
_Note: This is only a navigation guide for the specification, and does not define or mandate terms for any specification-compliant documents._
- [Sections](#sections)
- [Title](#title)
- [Banner](#banner)
- [Badges](#badges)
- [Short Description](#short-description)
- [Long Description](#long-description)
- [Table of Contents](#table-of-contents-1)
- [Security](#security)
- [Background](#background)
- [Install](#install)
- [Usage](#usage)
- [Extra Sections](#extra-sections)
- [API](#api)
- [Maintainers](#maintainers)
- [Thanks](#thanks)
- [Contributing](#contributing)
- [License](#license)
- [Definitions](#definitions)
## Sections
### Title
**Status:** Required.
**Requirements:**
- Title must match repository, folder and package manager names - or it may have another, relevant title with the repository, folder, and package manager title next to it in italics and in parentheses. For instance:
```markdown
# Standard Readme Style _(standard-readme)_
```
If any of the folder, repository, or package manager names do not match, there must be a note in the [Long Description](#long-description) explaining why.
**Suggestions:**
- Should be self-evident.
### Banner
**Status:** Optional.
**Requirements:**
- Must not have its own title.
- Must link to local image in current repository.
- Must appear directly after the title.
### Badges
**Status:** Optional.
**Requirements:**
- Must not have its own title.
- Must be newline delimited.
**Suggestions:**
- Use http://shields.io or a similar service to create and host the images.
- Add the [Standard Readme badge](https://github.com/RichardLitt/standard-readme#badge).
### Short Description
**Status:** Required.
**Requirements:**
- Must not have its own title.
- Must be less than 120 characters.
- Must not start with `> `
- Must be on its own line.
- Must match the description in the packager manager's `description` field.
- Must match GitHub's description (if on GitHub).
**Suggestions:**
- Use [gh-description](https://github.com/RichardLitt/gh-description) to set and get GitHub description.
- Use `npm show . description` to show the description from a local [npm](https://npmjs.com) package.
### Long Description
**Status:** Optional.
**Requirements:**
- Must not have its own title.
- If any of the folder, repository, or package manager names do not match, there must be a note here as to why. See [Title section](#title).
**Suggestions:**
- If too long, consider moving to the [Background](#background) section.
- Cover the main reasons for building the repository.
- "This should describe your module in broad terms,
generally in just a few paragraphs; more detail of the module's
routines or methods, lengthy code examples, or other in-depth
material should be given in subsequent sections.
Ideally, someone who's slightly familiar with your module should be
able to refresh their memory without hitting "page down". As your
reader continues through the document, they should receive a
progressively greater amount of knowledge."
~ [Kirrily "Skud" Robert, perlmodstyle](http://perldoc.perl.org/perlmodstyle.html)
### Table of Contents
**Status:** Required; optional for READMEs shorter than 100 lines.
**Requirements:**
- Must link to all Markdown sections in the file.
- Must start with the next section; do not include the title or Table of Contents headings.
- Must be at least one-depth: must capture all `##` headings.
**Suggestions:**
- May capture third and fourth depth headings. If it is a long ToC, these are optional.
### Security
**Status**: Optional.
**Requirements:**
- May go here if it is important to highlight security concerns. Otherwise, it should be in [Extra Sections](#extra-sections).
### Background
**Status:** Optional.
**Requirements:**
- Cover motivation.
- Cover abstract dependencies.
- Cover intellectual provenance: A `See Also` section is also fitting.
### Install
**Status:** Required by default, optional for [documentation repositories](#definitions).
**Requirements:**
- Code block illustrating how to install.
**Subsections:**
- `Dependencies`. Required if there are unusual dependencies or dependencies that must be manually installed.
**Suggestions:**
- Link to prerequisite sites for programming language: [npmjs](https://npmjs.com), [godocs](https://godoc.org), etc.
- Include any system-specific information needed for installation.
- An `Updating` section would be useful for most packages, if there are multiple versions which the user may interface with.
### Usage
**Status:** Required by default, optional for [documentation repositories](#definitions).
**Requirements:**
- Code block illustrating common usage.
- If CLI compatible, code block indicating common usage.
- If importable, code block indicating both import functionality and usage.
**Subsections:**
- `CLI`. Required if CLI functionality exists.
**Suggestions:**
- Cover basic choices that may affect usage: for instance, if JavaScript, cover promises/callbacks, ES6 here.
- If relevant, point to a runnable file for the usage code.
### Extra Sections
**Status**: Optional.
**Requirements:**
- None.
**Suggestions:**
- This should not be called `Extra Sections`. This is a space for 0 or more sections to be included, each of which must have their have titles.
- This should contain any other sections that are relevant, placed after [Usage](#usage) and before [API](#api).
- Specifically, the [Security](#security) section should be here if it wasn't important enough to be placed above.
### API
**Status:** Optional.
**Requirements:**
- Describe exported functions and objects.
**Suggestions:**
- Describe signatures, return types, callbacks, and events.
- Cover types covered where not obvious.
- Describe caveats.
- If using an external API generator (like go-doc, js-doc, or so on), point to an external `API.md` file. This can be the only item in the section, if present.
### Maintainer(s)
**Status**: Optional.
**Requirements:**
- Must be called `Maintainer` or `Maintainers`.
- List maintainer(s) for a repository, along with one way of contacting them (e.g. GitHub link or email).
**Suggestions:**
- This should be a small list of people in charge of the repo. This should not be everyone with access rights, such as an entire organization, but the people who should be pinged and who are in charge of the direction and maintenance of the repository.
- Listing past maintainers is good for attribution, and kind.
### Thanks
**Status**: Optional.
**Requirements:**
- Must be called `Thanks`, `Credits` or `Acknowledgements`.
**Suggestions:**
- State anyone or anything that significantly helped with the development of your project.
- State public contact hyper-links if applicable.
### Contributing
**Status**: Required.
**Requirements:**
- State where users can ask questions.
- State whether PRs are accepted.
- List any requirements for contributing; for instance, having a sign-off on commits.
**Suggestions:**
- Link to a CONTRIBUTING file -- if there is one.
- Be as friendly as possible.
- Link to the GitHub issues.
- Link to a Code of Conduct. A CoC is often in the Contributing section or document, or set elsewhere for an entire organization, so it may not be necessary to include the entire file in each repository. However, it is highly recommended to always link to the code, wherever it lives.
- A subsection for listing contributors is also welcome here.
### License
**Status:** Required.
**Requirements:**
- State license full name or identifier, as listed on the [SPDX](https://spdx.org/licenses/) license list. For unlicensed repositories, add `UNLICENSED`. For more details, add `SEE LICENSE IN <filename>` and link to the license file. (These requirements were adapted from [npm](https://docs.npmjs.com/files/package.json#license)).
- State license owner.
- Must be last section.
**Suggestions:**
- Link to longer License file in local repository.
## Definitions
_These definitions are provided to clarify any terms used above._
- **Documentation repositories**: Repositories without any functional code. For instance, [RichardLitt/knowledge](https://github.com/RichardLitt/knowledge).