DEV Community

Cover image for Update your dev.to articles into your Github profile
JackTT
JackTT

Posted on โ€ข Edited on

81 4 6 5 4

Update your dev.to articles into your Github profile

In this article, I'll share you how to update your latest articles on dev.to into your Github profile.
Image description

What is Github profile

GitHub will display your profile README on your profile page if all of the following are true.

  • You've created a repository with a name that matches your GitHub username.
  • The repository is public.
  • The repository contains a file named README.md in its root.
  • The README.md file contains any content.

How to update articles into your repository

Follow the same approach as outlined in my previous article, Creating a Dynamic README.md File, I have recently developed another GitHub Action for updating your dev.to articles on your GitHub profile.

To do that, let's follow these straightforward steps:

Step 1: In your repository, create a file named README.md.template.

Step 2: Write anything you want within the README.md.template file.

Step 3: Embed one of the following entities within your README.md.template:

  • Article listing:
{{ template "article-list" .Articles }}
Enter fullscreen mode Exit fullscreen mode

Image description

  • Article table:
{{ template "article-table" .Articles }}
Enter fullscreen mode Exit fullscreen mode

Image description

If you are familiar with Go templates, you have access to the root variable, which includes the following fields:

  • Articles: An array of Article. You can view the Article struct definition in model/article.go.
  • Time: Updated Time

Step 4: Register Github Action

  • Create a file .github/workflows/update-articles.yml in your repository.
name: "Cronjob"
on:
 schedule:
  - cron: '15 0 * * *'

jobs:
    update-articles:
        permissions: write-all
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v3
            - name: Generate README
              uses: huantt/article-listing@v1.1.0
              with:
                username: YOUR_USERNAME_ON_DEV_TO                
                template-file: 'README.md.template'
                out-file: 'README.md'
                limit: 5
            - name: Commit
              run: |
                git config user.name github-actions
                git config user.email github-actions@github.com
                git add .
                git commit -m "update articles"
                git push origin main
Enter fullscreen mode Exit fullscreen mode

Step 5: Commit your change, then Github actions will run as your specified cron to update Articles into your README.md file

Source Code

See the source code and an example here: https://github.com/huantt/article-listing

Reference

Image of Timescale

๐Ÿš€ pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applicationsโ€”without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more โ†’

Top comments (23)

Collapse
 
ruthmoog profile image
ruthmoog โ€ข

Really cool using jobs for updating the articles. ๐Ÿ‘

Collapse
 
barrymichaeldoyle profile image
Barry Michael Doyle โ€ข โ€ข Edited

Awesome article!

It's probably worth noting for those who don't know, the update-articles.yml is a cron job that is set to run everyday 0:15 AM. So don't expect your GitHub profile to be updated immediately... You can obviously tweak that at the start to just check that it is working sooner rather than waiting overnight ;)

Collapse
 
sebastian_wessel profile image
Sebastian Wessel โ€ข

Thanks for this!
I added it, and it works as you can see here on my profile

Collapse
 
kumarkalyan profile image
Kumar Kalyan โ€ข

Great article definitely gonna try this out

Collapse
 
barrymichaeldoyle profile image
Barry Michael Doyle โ€ข

Just incase this catches anyone else out...

If your main branch is called 'master' instead of 'main', be sure to update that in the cron job, that caught me out :P

Collapse
 
jacktt profile image
JackTT โ€ข

Thank you.

Collapse
 
tanushree_aggarwal profile image
Tanushree Aggarwal โ€ข

Nice stuff! will definitely try this out!

Collapse
 
tharos70 profile image
tharos70 โ€ข

Thanks a lot! It looks like something I was looking for!

Collapse
 
epi2024 profile image
Je Phiri โ€ข

Great

Collapse
 
artxe2 profile image
Yeom suyun โ€ข

I think it would be really cool to use GitHub Actions to update the README in real time, even for library code.
However, I'm not a fan of dev.to's default thumbnails, so I think it would be essential to include an image if I'm going to connect dev.to posts to my GitHub profile.

Collapse
 
jacktt profile image
JackTT โ€ข

You can do it by placing your image in data/images/default-thumbnail.png

Collapse
 
ranggakd profile image
Retiago Drago โ€ข

thanks I will probably use it now
can you do it for Medium too? ๐Ÿ˜

Collapse
 
jacktt profile image
JackTT โ€ข

Of course, I will do it soon!

Collapse
 
ranggakd profile image
Retiago Drago โ€ข

we will be waiting until then
I might wanna tinker it later ๐Ÿ˜€

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up