{"id":16271516,"url":"https://github.com/jorge-menjivar/github-portfolio","last_synced_at":"2025-09-17T17:32:27.768Z","repository":{"id":202042545,"uuid":"707427754","full_name":"jorge-menjivar/GitHub-Portfolio","owner":"jorge-menjivar","description":"GitHub Portfolio lets you create your own portfolio + blogging website in 1 minute.","archived":false,"fork":false,"pushed_at":"2024-05-10T01:49:29.000Z","size":1344,"stargazers_count":5,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T19:06:43.749Z","etag":null,"topics":["blog","blogging","cms","github","portfolio","posts","profile","projects","website"],"latest_commit_sha":null,"homepage":"https://jmenjivar.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jorge-menjivar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-19T22:00:07.000Z","updated_at":"2024-04-11T21:51:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"d5810739-7c61-4218-8cb5-8a01310f7761","html_url":"https://github.com/jorge-menjivar/GitHub-Portfolio","commit_stats":null,"previous_names":["jorge-menjivar/githubportfolio"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jorge-menjivar/GitHub-Portfolio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorge-menjivar%2FGitHub-Portfolio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorge-menjivar%2FGitHub-Portfolio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorge-menjivar%2FGitHub-Portfolio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorge-menjivar%2FGitHub-Portfolio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jorge-menjivar","download_url":"https://codeload.github.com/jorge-menjivar/GitHub-Portfolio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorge-menjivar%2FGitHub-Portfolio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275632570,"owners_count":25500073,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-17T02:00:09.119Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blog","blogging","cms","github","portfolio","posts","profile","projects","website"],"created_at":"2024-10-10T18:13:46.752Z","updated_at":"2025-09-17T17:32:27.398Z","avatar_url":"https://github.com/jorge-menjivar.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📓 GitHub Portfolio\n\nGitHub Portfolio lets you create your own portfolio + blogging website\nin 1 minute. GitHub Portfolio uses your GitHub repos to create a\npersonalized website for you. Here's a [live demo](https://jmenjivar.com/).\n\n## 🪄 How does it work?\n\nGitHub Portfolio uses the following to generate your portfolio website:\n\n- Your GitHub profile `README.md`\n\n- A repo with a folder named `posts` in the main directory, which will\n  be used to store your blog posts\n\n- It uses Vercel to deploy a client app that will fetch the information\n  from your GitHub account.\n\nSo everything on your portfolio comes directly from your GitHub account\nactivity. The more you use GitHub, the richer your portfolio becomes!\n\n## 🌟 Why use it?\n\nGitHub Portfolio provides a simple way to create a portfolio that\nshowcases your work on GitHub. Here are some of the benefits:\n\n- Easy setup - It takes less than 60 seconds to create your portfolio\n\n- Always in sync - Your portfolio updates automatically as your GitHub\n  profile updates. No need to rebuild every time\n\n- Hackable - It's completely open source and can be easily customized or\n  extended\n\n- Free hosting - Your site gets deployed on Vercel and you get a free\n  domain. No server maintenance needed!\n\n- Write blog posts - Write blog posts in an instant, by making a new\n  markdown file inside a repo\n\n- Automatic SEO - Your site is optimized for search engines\n\n- Social links - Add links to your social profiles\n\n- Automatic Site Map - Your site map is automatically generated and\n  updated\n\n- RSS Feed Support - Your RSS files are automatically generated and\n  updated\n\nIn short, GitHub Portfolio lets you focus on your projects while it\nhandles the portfolio generation and hosting. The perfect solution for\ndevelopers and makers!\n\n## 🚧 Getting Started\n\n1. Create a new GitHub token. The token only needs access to your\n   public repositories. You can create one\n   here: [https://github.com/settings/tokens](https://github.com/settings/tokens)\n\n2. Create a public repo with whatever name you want. This will be used\n   to store your blog posts. Inside the repo, create a folder named\n   `posts`. This is where your blog posts will be stored.\n\n3. You will need your github token, username and the name of the repo you just created. Click the following button to deploy to Vercel, it will ask for these three things.\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fjorge-menjivar%2FGitHub-Portfolio\u0026env=GITHUB_TOKEN,NEXT_PUBLIC_GITHUB_USERNAME,NEXT_PUBLIC_GITHUB_POSTS_REPO\u0026envDescription=These%20are%20the%20only%20variables%20needed%20to%20get%20your%20site%20going.\u0026envLink=https%3A%2F%2Fgithub.com%2Fjorge-menjivar%2FGitHub-Portfolio%23required)\n\nThat's it! Your site will be deployed and you will be able to see it. You can continue to customize it by adding the following environment variables in Vercel.\n\n## ✨ Personalizing your site\n\n### Required\n\n| Environment Variable          | Description                                               |\n| ----------------------------- | --------------------------------------------------------- |\n| GITHUB_TOKEN                  | The GitHub token to use for fetching repos                |\n| NEXT_PUBLIC_GITHUB_USERNAME   | Your GitHub username                                      |\n| NEXT_PUBLIC_GITHUB_POSTS_REPO | The name of the repo to use for blog posts                |\n| SITE_URL                      | The URL of your site. You will need this for SEO and RSS. |\n\n### Site configuration\n\n| Environment Variable         | Description                                                         |\n| ---------------------------- | ------------------------------------------------------------------- |\n| GITHUB_EXCLUDE_LIST          | A comma-separated list of repos to exclude from your projects list. |\n| NEXT_PUBLIC_SITE_TITLE       | The title of your site (Tab title)                                  |\n| NEXT_PUBLIC_SITE_DESCRIPTION | The description of your site                                        |\n| NEXT_PUBLIC_FOOTER           | The footer to use at the bottom of the site                         |\n\n### Social links\n\n| Environment Variable         | Description               |\n| ---------------------------- | ------------------------- |\n| NEXT_PUBLIC_EMAIL            | Your email address        |\n| NEXT_PUBLIC_GITHUB_PROFILE   | Your GitHub profile URL   |\n| NEXT_PUBLIC_LINKEDIN_PROFILE | Your LinkedIn profile URL |\n| NEXT_PUBLIC_THREADS_PROFILE  | Your Threads profile URL  |\n| NEXT_PUBLIC_X_PROFILE        | Your X profile URL        |\n\n### RSS Feed\n\n| Environment Variable | Description                                               |\n| -------------------- | --------------------------------------------------------- |\n| RSS_FEED_TITLE       | The title for your feed                                   |\n| RSS_FEED_DESCRIPTION | The description for it                                    |\n| AUTHOR_NAME          | Your name                                                 |\n| AUTHOR_EMAIL         | Your email address, if you want to include it in the feed |\n\n## ✍ Publishing blog posts\n\nTo publish a blog post all you need to do is add a markdown file to the `posts` folder in your blog posts repo.\n\nWe use a simple name format for the markdown files. The format is `YYYY-MM-DD-post-title.md`.\nThis date will be used as the publish date of the post in your site. The file name will also be used as the URL slug for the post. For example, if you create a file named `2023-10-19 hello world.md`, the URL for the post will be `https://your-site.com/posts/2023-10-19%20hello%20world`.\n\nOnce you create the file, it will be automatically added to your site. You can edit the file and commit it to update the post.\n\n## 🤝 Contributing\n\nYou can contribute to this project by creating a pull request. If you have any questions, feel free to open an issue or reach out to me on via email or social.\n\n## 📝 License\n\nGitHub Portfolio is licensed under the MIT License. See the [LICENSE](./LICENSE) file for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjorge-menjivar%2Fgithub-portfolio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjorge-menjivar%2Fgithub-portfolio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjorge-menjivar%2Fgithub-portfolio/lists"}