创建杀手级 GitHub 个人资料自述文件(第一部分)
README 文件。就是那些在创建新项目或创建 GitHub 仓库时创建的 Markdown 文件。也许你是一位开发者,会在每个项目完成后更新 README 文件。又或许你是一位开发者,会将样板内容保留在 README 文件中。
自 2020 年 7 月起,GitHub 现在允许开发人员创建个人资料级别的存储库,并使用 README 为他们的页面添加一些个性。
我已经知道这件事几个月了,但直到最近才开始深入研究。而且,嗯......我可能有点过头了。
我相信,许多开发人员在他们的个人资料中注入了一堆“酷”的小部件和徽章,而没有意识到他们的 GitHub 个人资料非常像一个作品集——它应该突出显示你的独特之处。
网上有很多文章和教程(其中一些链接在本文各处),教你如何向README.md
文件添加基本信息——图片、徽章和统计数据。但我想要一些更个性化的东西;我想要一个独特的个人资料,可以完成以下几件事:
- 为访客提供找到我的其他社交渠道的途径
- 突出显示我最近发表的文章
- 以视觉上赏心悦目的方式显示固定存储库
- 允许访问者查看我的一些 GitHub 统计数据
- 为感兴趣的人或未来的雇主列出我的一些技能
- 用一些更有趣的东西来结束这次体验;引用我构建的 API。
我鼓励你列一个清单——你想在你的个人资料里写些什么?如何才能凸显你的独特之处?
在这个由两部分组成的系列文章中,我将逐步介绍如何创建我的个人资料,以便您可以使自己的README.md
文件脱颖而出。
理解限制
如果你对 Markdown 文件还不熟悉,那么了解我们将要做的事情的总体思路就很重要。毕竟,不了解其中的局限性就无法提供解决方案。
我知道我需要在 README 中添加一些基本的内容和信息——比如图片、标题、点击后跳转的徽章,甚至还有显示 GitHub 统计信息的图表和小工具。网上有很多教程,实现这些功能相对容易。
但我也知道我希望我的 README 文件是动态的;我希望它能自动获取我最近的博客文章,并显示我构建的 Office API 中的引用。这就是事情变得棘手的地方。Markdown 文件无法自行发出 API 请求,那么我该如何动态地注入内容呢?
GitHub Actions。这些内置的仓库管道允许开发人员自动化任务和工作流程,我用它来获取博客文章并从我的 API 中请求随机报价。这些工作流程可以触发文件或函数来获取信息,并将内容注入我的 README 文件。我指定了一个 cron 作业,每小时运行一次该工作流程,这样我的个人资料就能始终保持最新文章,访客每次访问我的个人资料时都能获得最新的报价。
我们将在下一篇文章中讨论此实现中的一些“陷阱”,但我希望这可以让您大致了解我们如何解决这个问题。
创建您的个人资料存储库
前往GitHub并创建一个与您的 GitHub 用户名同名的新仓库。我的用户名是braydoncoyer
,所以我创建了一个名为 的仓库braydoncoyer
。如果您操作正确,GitHub 将显示一条秘密消息(如下图所示)。
我将存储库访问权限设置为私有,直到我准备好让全世界看到它,但如果您愿意,可以随意将其公开。
README.md
我还用和文件初始化了存储库.gitignore
。
注意:下面的截图报错,因为我已经创建了一个配置文件级别的仓库。你应该不会看到这个错误。另外,如果你不知道的话,GitHub 最近推出了暗黑模式。
创建存储库后,我将其克隆下来并在我最喜欢的编辑器中打开它。
创建 README 模板
虽然我用一个文件初始化了仓库README.md
,但我很快发现我需要在一个单独的文件中编辑内容,并将其用作模板——一个静态内容的框架,用于构建最终README.md
文件。这样做有几个原因,但其中最重要的两个是:
- 最终,GitHub Actions 工作流程将触发使用模板的文件,注入动态内容,然后获取整个模板并将其粘贴到 README 文件中。
- 如果您直接编辑
README.md
文件,动态注入发挥作用后,您将会遇到大量合并冲突。
话虽如此,在我的存储库的根目录下,我创建了一个名为 的新文件README.template.md
。这是我将手动编辑的文件。
横幅图片
我决定让访客看到一个漂亮的横幅图像,当访客点击该图像时,该图像会将访客引导至我的投资组合。
我打开 Illustrator,创建了一个 1500x500 的文档,并根据我的个人风格设计了横幅图像。
回到我的存储库,我创建了一个名为的新根级目录assets
,将图像放在文件夹中并在README.template.md
文件中使用它。
[](https://braydoncoyer.dev)
社交徽章
我使用 GitHub 个人资料 README 的目标之一是将访问者引导到我的其他社交网络(特别是 Twitter、LinkedIn 和 CodePen)。
为了做到这一点,我确保在个人资料顶部列出社交徽章,以便它是访问者首先看到的内容之一。
为了创建这些徽章,我使用了shields.io并编辑了徽章文本、徽章颜色和目标网址。
我认为跟踪我的个人资料访问也很有趣,所以我创建了一个徽章并将其列在社交徽章旁边。
要创建您自己的访问徽章,请复制下面的“访问徽章”标记内容并更改 URL 中的存储库目标(“/visits/”之后的所有内容)。
[](https:braydoncoyer.dev)
[](https://twitter.com/BraydonCoyer)
[](https://www.linkedin.com/in/braydon-coyer/)
[](https://codepen.io/braydoncoyer)
引言部分
信不信由你,横幅图片和社交徽章根本不占空间。既然访客可以选择通过其他途径查看我的其他社交网络,他们就需要了解一些关于我的信息。
我只写了一小段简介。如果访客想了解更多关于我的信息,可以在我的作品集网站或领英主页上找到。不要犯信息量过大的错误,以免访客感到不知所措。
在介绍的最后,我向访问者发出号召,让他们访问我的作品集网站——同样,我不想让访问者感到不知所措,而是提供足够的关于我的信息,并为他们提供一种方式,让他们可以根据需要阅读更多内容。
最新博客文章
接下来,我希望访客能够看到我最新的博客文章。这需要动态更新,并定期更新。这项繁琐的工作最终将委托给一个单独的文件,GitHub Action 工作流程将运行该文件,但为了让该文件知道将内容注入到哪里,需要在模板中遵循一定的模式。
目前,我将以下内容放在博客文章部分:
<!-- BLOG-POST-LIST:START -->
<!-- BLOG-POST-LIST:END -->
为了将我的博客 feed 注入
README.md
文件,我遵循了Darsh Shah 的文章《如何使用 GitHub Actions 将最近发布的文章添加到 GitHub 个人资料自述文件》🤖
固定存储库和 GitHub 统计信息
除了我最近的博客文章之外,我还想将焦点转移到我的其他几个代码库上,并展示一些统计数据。为此,我使用了 Anurag Hazra 的GitHub ReadMe Stats——从他的 API 中检索的内容可以封装在<img>
标签中,并以多种方式设置样式。该文档简单易懂,推荐您查看!
<!-- Pinned Repositories -- >
<a href="https://github.com/braydoncoyer/tailwindcss-v2-dark-mode-template">
<img align="center" style="margin:1rem 0.5rem" src="https://github-readme-stats.vercel.app/api/pin/?username=braydoncoyer&repo=tailwindcss-v2-dark-mode-template&title_color=ffffff&text_color=c9cacc&icon_color=4AB197&bg_color=1A2B34" />
</a>
<br>
<a href="https://github.com/braydoncoyer/ng-limeade">
<img align="center" style="margin:0.5rem" src="https://github-readme-stats.vercel.app/api/pin/?username=braydoncoyer&repo=ng-limeade&title_color=ffffff&text_color=c9cacc&icon_color=4AB197&bg_color=1A2B34" />
</a>
<a href="https://github.com/braydoncoyer/officeapi">
<img align="center" style="margin:0.5rem" src="https://github-readme-stats.vercel.app/api/pin/?username=braydoncoyer&repo=officeapi&title_color=ffffff&text_color=c9cacc&icon_color=4AB197&bg_color=1A2B34" />
</a>
<!-- GitHub Stats -- >
<a href="https://github.com/braydoncoyer">
<img align="center" style="margin:0.5rem" src="https://github-readme-stats.vercel.app/api/top-langs/?username=braydoncoyer&hide=html,css&title_color=ffffff&text_color=c9cacc&icon_color=4AB197&bg_color=1A2B34" />
</a>
<a href="https://github.com/braydoncoyer">
<img align="center" style="margin:0.5rem" src="https://github-readme-stats.vercel.app/api?username=braydoncoyer&show_icons=true&line_height=27&count_private=true&title_color=ffffff&text_color=c9cacc&icon_color=4AB097&bg_color=1A2B34" alt="Braydon's GitHub Stats" />
</a>
技能
接下来,我需要找到一种方式来向访客展示我作为一名全栈 Web 开发者的技能。我不想把我的技能放在无序列表中;这会占用页面的大量空间,而且无序列表也不太美观。
相反,我使用了来自shield.io的徽章并在页面上以内联方式显示徽章,使用与横幅图像相同的背景颜色来保持整个配置文件的设计一致性。
因为我想列出很多技能,所以我决定默认显示一些核心技能,并可选择使用<details>
标签显示更多技能。
[](https://img.shields.io/badge/Code-Angular-informational?style=flat&logo=angular&logoColor=white&color=4AB197)


...
<details>
<summary>More Skills</summary>
[](https://img.shields.io/badge/Style-CSS-informational?style=flat&logo=css3&logoColor=white&color=4AB197)



...
</details>
要查看我在文件中使用的徽章完整列表README.template.md
,请单击此处。
办公室引言
在访客离开我的个人资料之前,我希望以一些独特且个性化的内容来结束他们的体验。与博客文章部分非常相似,GitHub Action 工作流会运行一个脚本,该脚本会在内容中寻找规律README.template.md
并注入随机的引言。
我在 Office 引用部分中放置了以下模式:
<p>{office_quote}</p>
<p>{office_character}</p>
Check back at the top of the hour for a new quote!
这样,静态内容就完整了,并且满足了我在个人资料中列出的目标。
结论
在下一篇文章中,我将向您展示如何创建我的 GitHub Action 工作流并将动态内容注入到README.md
文件中!
感谢阅读!如果你喜欢这篇文章,并且想了解更多类似的内容,请订阅我的新闻通讯,并在Twitter上关注我!
daily.dev在每个新标签页发布最棒的编程新闻。我们将为您筛选数百个优质资源,助您掌控未来。