怎么写一个超棒的 README 文档

2023-10-30 11:10
文章标签 文档 怎么 超棒 readme

本文主要是介绍怎么写一个超棒的 README 文档,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击上方 Java后端,选择 设为星标

优质文章,及时送达


大数据文摘出品

来源:medium

编译:青柠

如果你很着急、只是想要模板,可以直接跳到底部(但这样一点不酷),准备酷的人,迈出成为README大师的第一步吧!(绝对不是点击诱饵)

假如你刚刚创建了很棒的项目,并在GitHub上共享了它。你认为现在你只需坐等世界告诉你这个项目有多酷。毕竟,在过去的一个月中,你为这个极具挑战性的项目付出了不懈的努力,对吗?

好吧,让我们退后一步,从检查项目的开发人员或用户的角度来看。尽管你知道自己的项目有多酷,也知道它是如何解决一个(直到你出现之前)尚未解决的紧迫问题,但是看你项目的人想知道你构建了一个什么样的世界。

如果没有人知道如何使用你的软件,那情况非常糟糕。

如果人们不知道你的软件是做什么的,就不会使用它或为它做出贡献,并且很可能会在开源软件的海洋中找到更清晰明了的东西。

这就是README文件的用处!

好的README文档就像是项目的外观。这是一个人在你的项目中首先要看的东西,它提供了软件的简要介绍。

美观实用的README文档可以使你的项目脱颖而出,并引起开发人员社区的关注。

这将帮助他们了解你的项目,以及它要如何使用、为什么他们应该做出贡献。

“哇,伙计!太棒啦!既然你知道这么多,为什么不告诉我们该怎么写……”

嘿,我不能说有一套具体的规则,你要努力遵守这些规则,而不是要努力写一个好的README。

它不是那样的。

我将分享我是如何为我的开源项目写README的,以及你在为项目编写README文件时应考虑的事项,这样你将(有希望)收获一些见解。

GitHub链接:

https://github.com/navendu-pottekkat

另外请记住,你不会一天之内就精通撰写README。像所有事物一样,它需要实践。

我已经为开源贡献一段时间了,我注意到所有优秀的项目都有一个很棒的README。

当你位于项目界面时,你可以几分钟之内启动并运行你的项目版本。

有很多的贡献者、拉取请求、频繁发布的更新版本,都有一个很棒的README。

新的开发人员将能够找到所有详细信息以开始使用,例如安装说明和贡献指南。

新的用户将能够通过详细的屏幕截图和演示学会如何使用该项目。

“我没时间做这个,快给我看README!”

好吧,好吧,好吧(对不起我有点像麦康纳)。

以下是我的NSFW过滤项目的README,我认为这是我写过最好的README:

https://github.com/navendu-pottekkat/nsfw-filter/blob/master/README.md

我将介绍README的不同部分,这些部分对于每个README都是必不可少的。

下面是本例中使用的README文件的链接。你还可以找到一个模板README,并直接复制和粘贴到项目中:

https://github.com/navendu-pottekkat/awesome-readme/tree/master

项目标题

标题应具有自我解释性,尽量不要太拗口。 (当然存在例外,像本文“超棒的开源项目README编写指南”会是一个很酷的名字)

为你的README添加一个封面或横幅图片。为什么?因为它很容易引起人们的注意,而且看起来很酷。

等等,我忘了一件事。你可以将此链接的README用作模板:

https://towardsdatascience.com/media/README-template.md

横幅的最佳尺寸是1280x650px。你还可以将其用于repo的社交预览。

我个人使用Canva网站创建横幅图像。所有基本内容都是免费的(在大多数情况下,你不需要专业版)。

标题下那些华丽的东西是什么?

看起来不错吧?这些被称为徽章,它们通过提供一些快速见解提高了可读性,对吗?

你可以在你的项目中使用无数徽章,而且它们确实取决于项目。下面是我在每个项目中常用的一些。

我使用Shields IO网站制作徽章。这是一种简单易用的工具,你可以使用几乎所有的徽章:

https://shields.io

演示预览

写完项目后,最好对项目进行演示或预览(视频/ gif /屏幕截图都是不错的选择),以便人们知道你的项目中会有什么。你也可以在上一节中的演示中添加产品说明。

这是一个随机GIF作为占位符。

目录

在介绍了项目之后,添加目录是一个好主意。这将使人们可以更轻松地浏览你的README,并准确找到他们想要的内容。

这是一个示例目录(哇!太酷了!),实际上是本文的目录。

  • 项目标题

  • 演示预览

  • 目录

  • 安装

  • 使用方法

  • 发展

  • 贡献

    • 赞助

    • 添加新功能或修复错误

  • 许可证

  • 页脚

安装

你可能已经注意到了返回顶部的按钮(如果没有,请注意,它就在这里!)。这是一个好主意,因为它使README更易于浏览。

第一个问题应该是如何安装(如何使用项目或如何在机器中启动编辑)。

这里应该给用户详尽的想法,并说明他们如何使用项目repo的所有步骤。

按照以上步骤,他们应该能够在自己的设备中运行它。

我的方法是,完成README后,从头开始阅读这些步骤并检查是否有效。

这是一个示例指令:

要使用此项目,请首先使用以下命令在你的设备上克隆repo:

git init

git clone

GitHub链接:

https://github.com/navendu-pottekkat/nsfw-filter.git

用法

这部分是可选的,用于向用户提供安装后如何使用项目的信息,也可以添加到“安装”部分。

发展

在这里,你可以向开发人员说明如何修改代码。

你可以深入说明代码如何工作及所有内容如何组合在一起。

你还可以提供如何设置开发环境的具体说明。

理想情况下,你应该使README保持简洁。如果需要添加更复杂的说明,请使用Wiki:

https://github.com/navendu-pottekkat/nsfw-filter/wiki

贡献

在这里,你可以让人们知道他们如何为你的项目做出贡献。下面给出了一些方法。

这也显示了如何在节中添加子节。

赞助

你的项目备受青睐,并且已经被成千上万的人使用(有了这个README文件,将会有更高使用量)。现在,是时候寻找人员或组织来赞助你的项目了。

这可能是因为你没有从项目中获得任何收入,你需要钱来维持项目生存。

你可以在此部分中添加人们如何赞助你的项目。在此处添加你的patreon或GitHub赞助商链接,以方便访问。

一个好主意是还要向赞助商展示他们的组织徽标或徽章,向他们表达你的爱!(总有一天我会找到赞助商,并向他们表达我的爱)

添加新功能或修复错误

这是为了让人们了解如何在你的项目中提出问题或提出功能要求。

你还可以为项目提交、发布或拉取请求提供指导。

就个人和标准而言,你应该使用一个问题模板和拉取请求模板,以便用户打开新问题时可以按照项目指南轻松地格式化它:

https://github.com/navendu-pottekkat/nsfw-filter/blob/master/ISSUE_TEMPLATE.md

你还可以添加联系人详细信息,以便人们就你的项目与你取得联系。

许可证

将许可证添加到README是一个好习惯,这样人们可以轻松地引用它。

确保已在项目文件夹中添加了许可证文件。快捷方式:在GitHub中单击repo根目录下的添加新文件-->将文件名设置为LICENSE -->GitHub显示许可证模板--->选择最适合项目的模板!

我个人添加了许可证名称,并提供了指向它的链接,如下所示:

https://opensource.org/licenses/GPL-3.0

页脚

我们还可以添加一个页脚,因为我喜欢页脚,可以使用它来传达重要信息。

让我们将其制作为图像,因为到目前为止你已经意识到图像中的多媒体==酷(*请注意这个微妙的编程玩笑)。

就是这样……你已经完成了你的训练,小蚱蜢。现在是时候将这些想法用于你的项目了。

当你的项目与酷炫的README一起启动时,不要忘记README Sensei(很酷的推特处理想法)。

如果你认为有帮助,请在GitHub上标星号并共享本指南。

现在,你们一直在等待的时刻!页脚![喘气]

好吧,事情就这样结束了。

相关报道:

https://towardsdatascience.com/how-to-write-an-awesome-readme-68bf4be91f8b


-END-

如果看到这里,说明你喜欢这篇文章,请 转发、点赞。同时 标星(置顶)本公众号可以第一时间接受到博文推送。

1. 竟有如此沙雕的代码注释!

2. 我发现了 GitHub 的彩蛋!

3. 滴滴开源了哪些有意思的项目?

4. 为什么很多 Spring Boot 开发者放弃了 Tomcat

最近整理一份面试资料《Java技术栈学习手册》,覆盖了Java技术、面试题精选、Spring全家桶、Nginx、SSM、微服务、数据库、数据结构、架构等等。

获取方式:点“ 在看,关注公众号 Java后端 并回复 777 领取,更多内容陆续奉上。

喜欢文章,点个在看 

这篇关于怎么写一个超棒的 README 文档的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/qq_37217713/article/details/107625296
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/307510

相关文章

springboot+vue项目怎么解决跨域问题详解

《springboot+vue项目怎么解决跨域问题详解》:本文主要介绍springboot+vue项目怎么解决跨域问题的相关资料,包括前端代理、后端全局配置CORS、注解配置和Nginx反向代理,... 目录1. 前端代理(开发环境推荐)2. 后端全局配置 CORS(生产环境推荐)3. 后端注解配置(按接口

浅谈Redis Key 命名规范文档

《浅谈RedisKey命名规范文档》本文介绍了Redis键名命名规范,包括命名格式、具体规范、数据类型扩展命名、时间敏感型键名、规范总结以及实际应用示例,感兴趣的可以了解一下... 目录1. 命名格式格式模板:示例:2. 具体规范2.1 小写命名2.2 使用冒号分隔层级2.3 标识符命名3. 数据类型扩展命

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

Python实现word文档内容智能提取以及合成

《Python实现word文档内容智能提取以及合成》这篇文章主要为大家详细介绍了如何使用Python实现从10个左右的docx文档中抽取内容,再调整语言风格后生成新的文档,感兴趣的小伙伴可以了解一下... 目录核心思路技术路径实现步骤阶段一:准备工作阶段二:内容提取 (python 脚本)阶段三:语言风格调

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使