如何在 GitHub 个人资料上展示你的最新博客
作为开发人员,我们喜欢建立我们的在线形象,为此,我们做了很多事情,例如分享技巧和窍门,编写深入的指南来讨论任何技术,编写有关如何使用 y 构建 x 的教程等等。
我们使用不同的平台来共享内容,例如 hashnode、开发社区、medium 等。就像我一样,我在 hashnode 上创建内容并在其他平台上交叉发布。
在其他平台上分享我的内容时,我突然想到,如果能在我的 GitHub 个人资料上展示我的最新内容会怎么样?如果人们访问我的 GitHub 个人资料,并从那里了解我的最新内容,那就太好了,对吧?于是我开始寻找如何在 GitHub 个人资料上展示我的最新博客。我找到了两个解决方案(两个 GitHub Actions),我们将在本文中讨论它们。
在讨论解决方案之前,让我们首先讨论一下什么是 GitHub 操作以及它们的用途。
什么是 GitHub Actions
GitHub 操作是一组事件和工作流程,每当您的 GitHub 存储库发生指定事件时,它就会为其运行相关的工作流程。
想要了解更多关于 Github Actions 的信息,可以从这里开始
让我们讨论一下我用来在我的 Github 个人资料上显示我的最新博客的两个 GitHub 工作流程。
博客文章工作流程
使用此工作流程,我们可以使用 RSS 提要自动在我们的 Github Profile Readme 中显示来自任何来源的博客文章。我们还可以使用此工作流程来显示 StackOverflow 活动或 Youtube 视频。
设置工作流程
我们可以在我们的个人资料存储库中轻松设置此工作流程,以使用 RSS 提要自动获取和显示最新博客。
.github
如果不存在,请在您的配置文件存储库中创建该文件夹。
> mkdir .github
如果文件夹不存在,则在文件夹workflows
内创建文件夹。.github
>mkdir .github/workflows
{workflowname}.yml
在文件夹中创建文件workflows
。
您可以将工作流名称替换为您的工作流名称。我会给出一个blog-post.yml
。
> touch blog-post.yml
创建工作流文件后,将此内容添加到其中。
name: Latest blog post workflow
on:
schedule: # Run workflow automatically
- cron: "0 * * * *" # Runs every hour, on the hour
jobs:
update-readme-with-blog:
name: Update README with latest blog posts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: gautamkrishnar/blog-post-workflow@master
with:
max_post_count: 10
feed_list: "https://blog.sachinchaurasiya.dev/rss.xml"
这里我们有三个主要工作流程组成部分
- 姓名
- 在
- 工作
让我们逐一讨论
- name是工作流程运行后工作流程的名称如果您在存储库中看到操作选项卡,您将获得如下工作流程运行。
- on用于定义您想要运行此工作流程的操作。
这里我们使用 corn job 来运行这个工作流程schedule
,每小时自动运行一次。
如果你对 corn 语法不太了解,这可能会对你有所帮助
cron 计划表达式的快速简便编辑器
- jobs用于定义当我们的存储库中发生事件时要做什么。
这里我们只定义一个作业,即update-readme-with-blog,它将在我们的存储库中提交消息“使用最新博客文章更新 README”。
对于作业,我们需要定义它将在什么环境中运行,以及我们将在什么环境中运行该作业ubuntu
。
此外,我们还需要提供要使用的步骤,例如
- uses: actions/checkout@v2
- uses: gautamkrishnar/blog-post-workflow@master
如果您注意到我们正在使用with
第二个动作的属性,那么gautamkrishnar/blog-post-workflow@master
我们在这里提供了2个选项max_post_count
和feed_list
。
请将上述 feed 列表 URL 替换为您自己的 RSS feed URL
现在,我希望我们清楚了解工作流程的所有组成部分。
最后但同样重要的是,将此内容添加到您的个人资料README.md
文件中。
# Latest Blogs
<!-- BLOG-POST-LIST:START -->
<!-- BLOG-POST-LIST:END -->
可以将其想象成将被您的博客列表替换的块。
例如 :
# Latest Blogs
<!-- BLOG-POST-LIST:START -->
- [The Simple Guide to Seo For Your Application](https://blog.sachinchaurasiya.dev/the-simple-guide-to-seo-for-your-application)
- [5 Awesome Libraries To Use In Your Next ReactJs Project](https://blog.sachinchaurasiya.dev/5-awesome-libraries-to-use-in-your-next-reactjs-project)
- [An Introduction to Python Dictionary and Structuring Data](https://blog.sachinchaurasiya.dev/an-introduction-to-python-dictionary-and-structuring-data)
- [How to Setup MongoDB Atlas?](https://blog.sachinchaurasiya.dev/how-to-setup-mongodb-atlas)
- [Some of the Best Open-Source Projects to make your life easier.](https://blog.sachinchaurasiya.dev/some-of-the-best-open-source-projects-to-make-your-life-easier)
- [What are Views in Django?](https://blog.sachinchaurasiya.dev/what-are-views-in-django)
- [Django project vs app](https://blog.sachinchaurasiya.dev/django-project-vs-app)
- [Mvt Pattern Of Django](https://blog.sachinchaurasiya.dev/mvt-pattern-of-django)
- [Simple Guide for Django Admin Interface](https://blog.sachinchaurasiya.dev/simple-guide-for-django-admin-interface)
- [Understanding Django Application LifeCycle.](https://blog.sachinchaurasiya.dev/understanding-django-application-lifecycle)
<!-- BLOG-POST-LIST:END -->
第二个工作流程是特定于 hashnode 平台的,所以我们也来讨论一下它。
Hashnode 博客
使用此工作流程,我们可以获取我们的 hashnode 发布博客并将其显示在我们的 GitHub 个人资料中。
设置工作流程
我们可以在我们的个人资料存储库中轻松设置此工作流程,以使用 RSS 提要自动获取和显示最新博客。
.github
如果不存在,请在您的配置文件存储库中创建该文件夹。
> mkdir .github
如果文件夹不存在,则在文件夹workflows
内创建文件夹。.github
>mkdir .github/workflows
{workflowname}.yml
在文件夹中创建文件workflows
。
您可以将工作流名称替换为您的工作流名称。我会给出一个hashnode.yml
。
> hashnode.yml
创建工作流文件后,将此内容添加到其中。
name: "📚 latest Blog"
on:
workflow_dispatch:
schedule:
- cron: "0 */24 * * *" # Runs Every 24 Hours
jobs:
update_blogs:
name: "Update With Latest Blogs"
runs-on: ubuntu-latest
steps:
- name: "📥 Fetching Repository Contents"
uses: actions/checkout@main
- name: "📚 Hashnode Updater"
uses: "varunsridharan/action-hashnode-blog@1.1.1"
with:
USERNAME: "Sachinchaurasiya" # Hashnode Username
COUNT: 4 # MAX Visisble
STYLE: "blog-left"
BLOG_URL: "https://blog.sachinchaurasiya.dev/"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
这里的所有组件都与我们之前讨论的相同,只是这里我们有一些额外的和不同的属性,例如
USERNAME
- 您的 Hashnode 用户名COUNT
- 您想要获取的帖子数量STYLE
- 你想如何列出你的博客BLOG_URL
- 您的 hashnode 发布 URL。
我们这里的一个不同之处是env
它用于自动令牌认证。
您不必担心secrets.GITHUB_TOKEN
会自动从您的 GitHub 帐户中获取引用。
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
将占位符内容添加到您的配置README.md
文件。
# Latest Blog Posts 👇
<!-- HASHNODE_BLOG:START -->
<!-- HASHNODE_BLOG:END -->
可以将其想象成将被您的博客替换的块。
例如:
概括
- 我们讨论了什么是 GitHub 操作以及使用它的工作流程。
- 我们还讨论了两个 GitHub 操作,使用它们我们可以在我们的 GitHub 个人资料上显示最新的博客。
- 我正在使用第二个,即Hashnode Blog操作,因为我首先在 Hahsnode 上发布我的所有内容。
- 您将使用或已经使用过哪些操作,请在评论部分告诉我
本期内容就到这里。感谢您的阅读。