Giter VIP home page Giter VIP logo

portfoliofy's Introduction

PortfolioFy

PortfolioFy - ๐Ÿ”ฅ Dynamically Self Updating Portfolio GitHub Action | Product Hunt

Developers create hundreds of repositories, and hardly a few of them are presentable and showcased on social media/LinkedIn. This GitHub action allows you to generate your self-updating portfolio consisting of Projects, Hackathons, or maybe the latest Blogs.

An index file is pushed by this action which with the help of GitHub pages can be deployed as soon as it is committed to the repository. If you write blogs, then you can add Blog Post Workflow to the main workflow for updating your portfolio. !

Getting Your Profile Ready

  • The repositories need to have a project topic to add to the project section and a hackathon topic to add them in the hackathon section. If you add both the topics to the same repository then it will be reflected in both sections!

  • A GitHub personal access token will be needed which can be obtained by going to Settings > Developer Settings > Personal Access Tokens.

Note: If you give private repositories access then they will be added to the sections but their links will not work

Repository Setup

GitHub actions can be integrated into any repository. Create a new folder called .github/workflows/<any-name>.yml. Paste the following starter code:

name: Latest portfolio
on:
  schedule:
    - cron: '0 0 * * *'
    # This makes the action run at the end of every day. Customize this accordingly or you can also trigger this action for GitHub events (Pull, Push). Check the GitHub actions page for that.
  workflow_dispatch:

jobs:
  updating-portfolio:
    name: update-index-with-project
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: kaustubhgupta/PortfolioFy@main 
        with:
          gh_token: ${{ secrets.TOKEN }} # Create a secret to store the access token 

Available Options

(To know more about each parameter, jump to this page in the documentation)

Option Default Value Description Required Example
gh_token NA GitHub Personal Access token Yes NA
theme 1 Level of the webpage you want to render: 1 or 2 No 1
blogs False Include blogs in your Portfolio No True
hackathons False Include repositories that are tagged as hackathon topic No True
stats_choice 1 Type/Style of GitHub stats you want to include. A total of 7 types of GitHub stats are available. See the sections below for more information No 6
stats_customization Comming Soon Customize the GitHub stats chosen by passing additional parameters supported Comming Soon Comming Soon
social_links False Links for Linkedin, Twitter, Dev. to, Medium, or Stackoverflow can be included. All handles are not necessary, you can provide them as comma-separated list as per need in any order No 'https://www.linkedin.com/in/kaustubh-gupta/, https://twitter.com/Kaustubh1828, https://medium.com/@kaustubhgupta1828, https://dev.to/kaustubhgupta, https://stackoverflow.com/users/14681298/kaustubh'
resume_link False Link for resume uploaded online No 'https://drive.google.com/fnskaml...'
allow_footer True Whether you want to display the credits of the creator at the end of the webpage No False
project_sort_by 'stars' Control the sorting of projects by 'stars' or 'forks' No 'forks'

Documentation

The detailed documentation for this project is available here

Regarding Blog Updates

There is an action called Blog Post Workflow. You can easily integrate this in your workflow via this template: (Highly recommended!)

name: Latest blog post workflow
on:
  push: # Every time index.html is pushed, this action runs and updates the blogs section!

jobs:
  update-readme-with-blog:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: gautamkrishnar/blog-post-workflow@master
        with:
          feed_list: <Your feedlist>
          max_post_count: <Your Choice>
          readme_path: index.html
          template: "<h2 class='h2-blog'><a class='a-lightblue' href=$url>$title</a></h2>" # It is suggested not to modify this
          gh_token: ${{ secrets.TOKEN }}

Make sure to enable the blogs parameter in the main workflow:

.
.
- uses: actions/checkout@v2
        - uses: kaustubhgupta/PortfolioFy@main
          with:
            gh_token: ${{ secrets.TOKEN }}
            blogs: True

Examples

Happy?? Do Star โญ this Repo. ๐Ÿคฉ

Special Mentions

License

MIT Licence

portfoliofy's People

Contributors

kaustubhgupta avatar mrdgh2821 avatar shikharcodes avatar raman08 avatar shivangirai1310 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.