├── .github ├── ISSUE_TEMPLATE │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── capture.yml │ └── markdown.yml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── docs ├── data.json ├── index.html ├── parse-readme.js ├── screenshot.js ├── screenshots │ ├── .gitkeep │ ├── BrunnerLivio.jpeg │ ├── Code-Bullet.jpeg │ ├── DoubleGremlin181.jpeg │ ├── HwangTaehyun.jpeg │ ├── Ileriayo.jpeg │ ├── M0nica.jpeg │ ├── MacroPower.jpeg │ ├── RaghavK16.jpeg │ ├── Raymo111.jpeg │ ├── adamalston.jpeg │ ├── ari-hacks.jpeg │ ├── avinal.jpeg │ ├── bdougie.jpeg │ ├── codewithgauri.jpeg │ ├── cszach.jpeg │ ├── d-koppenhagen.jpeg │ ├── emilwidlund.jpeg │ ├── ethomson.jpeg │ ├── garimasingh128.jpeg │ ├── guilyx.jpeg │ ├── jcubic.jpeg │ ├── jonathangin52.jpeg │ ├── karim-eg.jpeg │ ├── laxmena.jpeg │ ├── leereilly.jpeg │ ├── maxontech.jpeg │ ├── mokkapps.jpeg │ ├── muhammedh-shadir.jpeg │ ├── natemoo-re.jpeg │ ├── ouuan.jpeg │ ├── rahul-jha98.jpeg │ ├── ritik307.jpeg │ ├── rossjrw.jpeg │ ├── sagar-viradiya.jpeg │ ├── sibylassana95.jpeg │ ├── sumanshekhar698.jpeg │ ├── syedibrahim.jpeg │ ├── techytushar.jpeg │ ├── terkelg.jpeg │ ├── thaiane.jpeg │ ├── theabbie.jpeg │ ├── timburgan.jpeg │ └── xiaoluoboding.jpeg ├── script.js └── style.css ├── instructions.md ├── package-lock.json ├── package.json └── preview.gif /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Requirements 2 | 3 | Support the Project by giving it a ![GitHub stars](https://img.shields.io/github/stars/maxontech/best-github-profile-readme.svg?style=social&label=Star) to give it visibility. 4 | 5 | Your Pull Request must comply with the [contributing guidelines](../CONTRIBUTING.md)! 6 | 7 | ## Pull Request Details 8 | 9 | Please checkmark the applicable fields: 10 | 11 | - [ ] 🚀 Added New Profile to List 12 | - [ ] 📝 Documentation Correction 13 | - [ ] ✨ New Feature 14 | - [ ] 🐛 Bug Fix 15 | - [ ] 🚩 Other 16 | 17 | ## Description 18 | 19 | Here you can describe your changes. 20 | 21 | ## Community 22 | Are you passionate about Open Source, Entrepreneurship, and Code? 23 | You're not alone. Join us on [Discord](https://discord.com/invite/JERatQsfY8) or reach out on [Twitter (X)](https://twitter.com/max_on_tech). 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /.github/workflows/capture.yml: -------------------------------------------------------------------------------- 1 | # This is a basic workflow to help you get started with Actions 2 | 3 | name: screenshot-website 4 | 5 | # Controls when the workflow will run 6 | on: 7 | # Triggers the workflow on push or pull request events but only for the "master" branch 8 | workflow_run: 9 | workflows: ["markdown"] 10 | types: 11 | - completed 12 | #push: 13 | #branches: [ "master" ] 14 | #pull_request: 15 | #branches: [ "master" ] 16 | 17 | # Allows you to run this workflow manually from the Actions tab 18 | workflow_dispatch: 19 | 20 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 21 | jobs: 22 | Explore-GitHub-Actions: 23 | runs-on: ubuntu-latest 24 | steps: 25 | - name: Check out repository code 26 | uses: actions/checkout@v4 27 | 28 | - name: Install dependencies 29 | run: npm install 30 | 31 | - name: Run screenshot.js 32 | run: node docs/screenshot.js 33 | 34 | - name: Save screenshots 35 | uses: EndBug/add-and-commit@v4 36 | with: 37 | author_name: Bot 38 | message: "Save screenshot" 39 | add: "*.jpeg" 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /.github/workflows/markdown.yml: -------------------------------------------------------------------------------- 1 | # This is a basic workflow to help you get started with Actions 2 | 3 | name: markdown 4 | 5 | # Controls when the workflow will run 6 | on: 7 | # Triggers the workflow on push or pull request events but only for the "master" branch 8 | push: 9 | branches: [ "master" ] 10 | pull_request: 11 | branches: [ "master" ] 12 | 13 | # Allows you to run this workflow manually from the Actions tab 14 | workflow_dispatch: 15 | 16 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 17 | jobs: 18 | Explore-GitHub-Actions: 19 | runs-on: ubuntu-latest 20 | steps: 21 | - name: Check out repository code 22 | uses: actions/checkout@v4 23 | 24 | - name: Run parse-readme.js 25 | run: node docs/parse-readme.js 26 | 27 | - name: Commit and push if changed 28 | uses: EndBug/add-and-commit@v4 29 | with: 30 | author_name: 'GitHub Actions' 31 | author_email: 'github-actions@github.com' 32 | message: 'Update data.js' 33 | 34 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, religion, or sexual identity 10 | and orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | * Demonstrating empathy and kindness toward other people 21 | * Being respectful of differing opinions, viewpoints, and experiences 22 | * Giving and gracefully accepting constructive feedback 23 | * Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | * Focusing on what is best not just for us as individuals, but for the 26 | overall community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | * The use of sexualized language or imagery, and sexual attention or 31 | advances of any kind 32 | * Trolling, insulting or derogatory comments, and personal or political attacks 33 | * Public or private harassment 34 | * Publishing others' private information, such as a physical or email 35 | address, without their explicit permission 36 | * Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement at 63 | Twitter: @max_on_tech. 64 | All complaints will be reviewed and investigated promptly and fairly. 65 | 66 | All community leaders are obligated to respect the privacy and security of the 67 | reporter of any incident. 68 | 69 | ## Enforcement Guidelines 70 | 71 | Community leaders will follow these Community Impact Guidelines in determining 72 | the consequences for any action they deem in violation of this Code of Conduct: 73 | 74 | ### 1. Correction 75 | 76 | **Community Impact**: Use of inappropriate language or other behavior deemed 77 | unprofessional or unwelcome in the community. 78 | 79 | **Consequence**: A private, written warning from community leaders, providing 80 | clarity around the nature of the violation and an explanation of why the 81 | behavior was inappropriate. A public apology may be requested. 82 | 83 | ### 2. Warning 84 | 85 | **Community Impact**: A violation through a single incident or series 86 | of actions. 87 | 88 | **Consequence**: A warning with consequences for continued behavior. No 89 | interaction with the people involved, including unsolicited interaction with 90 | those enforcing the Code of Conduct, for a specified period of time. This 91 | includes avoiding interactions in community spaces as well as external channels 92 | like social media. Violating these terms may lead to a temporary or 93 | permanent ban. 94 | 95 | ### 3. Temporary Ban 96 | 97 | **Community Impact**: A serious violation of community standards, including 98 | sustained inappropriate behavior. 99 | 100 | **Consequence**: A temporary ban from any sort of interaction or public 101 | communication with the community for a specified period of time. No public or 102 | private interaction with the people involved, including unsolicited interaction 103 | with those enforcing the Code of Conduct, is allowed during this period. 104 | Violating these terms may lead to a permanent ban. 105 | 106 | ### 4. Permanent Ban 107 | 108 | **Community Impact**: Demonstrating a pattern of violation of community 109 | standards, including sustained inappropriate behavior, harassment of an 110 | individual, or aggression toward or disparagement of classes of individuals. 111 | 112 | **Consequence**: A permanent ban from any sort of public interaction within 113 | the community. 114 | 115 | ## Attribution 116 | 117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 118 | version 2.0, available at 119 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 120 | 121 | Community Impact Guidelines were inspired by [Mozilla's code of conduct 122 | enforcement ladder](https://github.com/mozilla/diversity). 123 | 124 | [homepage]: https://www.contributor-covenant.org 125 | 126 | For answers to common questions about this code of conduct, see the FAQ at 127 | https://www.contributor-covenant.org/faq. Translations are available at 128 | https://www.contributor-covenant.org/translations. 129 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing Guidelines 2 | 3 | *Pull requests, bug reports, and all other forms of contribution are welcomed and highly encouraged!* 4 | 5 | 6 | ## Submitting Pull Requests 7 | *Note: All contributions will be licensed under the project's license.* 8 | 9 | - **Unique Readme Profiles.** This is a curated list of the best GitHub Readme Profiles. Make sure that your submission stands out! 10 | - **Profile Submissions.** Open a new pull request for every suggestion you make. 11 | 12 | Never opened a Pull Request before? Checkout [my video](https://youtu.be/2ZvustnnPgQ) on how to contribute to this project! 13 | 14 | Thanks for contributing! -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Max on Tech 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Best GitHub Profile READMEs 3 | 4 | ![Preview](./preview.gif) 5 | 6 | ## What is this Project? 7 | 8 | **"Best GitHub Profile READMEs"** is a curated list of **Beautiful** and **Unique** GitHub Profile **Readme** files. 9 | 10 | [This website](https://maxrohowsky.github.io/best-github-profile-readme/) showcases all the Profiles. Under each profile you'll see a link to the persons GitHub account and Readme file. 11 | 12 | I encourage everyone to contribute to this project by **adding profiles** or **fixing bugs**. To learn more about how to contribute [click here](#contribute-to-the-list). 13 | 14 | **Support:** 15 |
16 | Star 🌟 the Project: ![GitHub stars](https://img.shields.io/github/stars/maxrohowsky/best-github-profile-readme.svg?style=social&label=Star) 17 |
18 | Follow 🤝 on GitHub: ![GitHub followers](https://img.shields.io/github/followers/maxrohowsky.svg?style=social&label=Follow) 19 |
20 | 21 | **Fun fact:** 22 |
23 | The [website](https://maxrohowsky.github.io/best-github-profile-readme/) is fully automized. Profiles that are added to the [markdown list below](#best-profiles-readmes) via approved Pull Requests are automatically added to the [website](https://maxrohowsky.github.io/best-github-profile-readme/) using GitHub actions. 24 | 25 | ## Table of Contents 26 | 27 | - [Best GitHub Profile READMEs](#best-github-profile-readmes) 28 | - [What is this Project?](#what-is-this-project) 29 | - [Table of Contents](#table-of-contents) 30 | - [Best Profiles READMEs](#best-profiles-readmes) 31 | - [Contribute](#contribute) 32 | - [License](#license) 33 | 34 | 35 | 36 | 37 | 38 | 39 | ## Best Profiles READMEs 40 | 41 | | First Name | Last Name | GitHub Profile | GitHub Readme | Preview | 42 | | ---------- | ----------- | ------------------------------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | 43 | | Adam | Alston | [adamalston](https://github.com/adamalston) | [README](https://github.com/adamalston/adamalston) |
Preview![Preview Image](docs/screenshots/adamalston.jpeg)
| 44 | | Abhishek | Choudhary | [theabbie](https://github.com/theabbie) | [README](https://github.com/theabbie/theabbie) |
Preview![Preview Image](docs/screenshots/theabbie.jpeg)
| 45 | | Brian | Douglas | [bdougie](https://github.com/bdougie) | [README](https://github.com/bdougie/bdougie) |
Preview![Preview Image](docs/screenshots/bdougie.jpeg)
| 46 | | Danny | Koppenhagen | [d-koppenhagen](https://github.com/d-koppenhagen) | [README](https://github.com/d-koppenhagen/d-koppenhagen) |
Preview![Preview Image](docs/screenshots/d-koppenhagen.jpeg)
| 47 | | Edward | Thomson | [ethomson](https://github.com/ethomson) | [README](https://github.com/ethomson/ethomson) |
Preview![Preview Image](docs/screenshots/ethomson.jpeg)
| 48 | | Erwin | Lejeune | [guilyx](https://github.com/guilyx) | [README](https://github.com/guilyx/guilyx) |
Preview![Preview Image](docs/screenshots/guilyx.jpeg)
| 49 | | Garima | Singh | [garimasingh128](https://github.com/garimasingh128) | [README](https://github.com/garimasingh128/garimasingh128) |
Preview![Preview Image](docs/screenshots/garimasingh128.jpeg)
| 50 | | Jacob | Colvin | [MacroPower](https://github.com/MacroPower) | [README](https://github.com/MacroPower/MacroPower) |
Preview![Preview Image](docs/screenshots/MacroPower.jpeg)
| 51 | | Jonathan | Gin | [jonathangin52](https://github.com/jonathangin52) | [README](https://github.com/jonathangin52/jonathangin52) |
Preview![Preview Image](docs/screenshots/jonathangin52.jpeg)
| 52 | | Kavish | Hukmani | [DoubleGremlin181](https://github.com/DoubleGremlin181) | [README](https://github.com/DoubleGremlin181/DoubleGremlin181) |
Preview![Preview Image](docs/screenshots/DoubleGremlin181.jpeg)
| 53 | | Lee | Reilly | [leereilly](https://github.com/leereilly) | [README](https://github.com/leereilly/leereilly) |
Preview![Preview Image](docs/screenshots/leereilly.jpeg)
| 54 | | Max | Rohowsky | [maxontech](https://github.com/maxontech) | [README](https://github.com/maxontech/maxontech) |
Preview![Preview Image](docs/screenshots/maxontech.jpeg)
| 55 | | Michael | Hoffmann | [mokkapps](https://github.com/mokkapps) | [README](https://github.com/mokkapps/mokkapps) |
Preview![Preview Image](docs/screenshots/mokkapps.jpeg)
| 56 | | Monica | Powell | [M0nica](https://github.com/M0nica) | [README](https://github.com/M0nica/M0nica) |
Preview![Preview Image](docs/screenshots/M0nica.jpeg)
| 57 | | Nate | Moore | [natemoo-re](https://github.com/natemoo-re) | [README](https://github.com/natemoo-re/natemoo-re) |
Preview![Preview Image](docs/screenshots/natemoo-re.jpeg)
| 58 | | Osman | Durdağ | [zumrudu-anka](https://github.com/zumrudu-anka) | [README](https://github.com/zumrudu-anka/zumrudu-anka) |
Preview![Preview Image](docs/screenshots/zumrudu-anka.jpeg)
| 59 | | Rahul | Jha | [rahul-jha98](https://github.com/rahul-jha98) | [README](https://github.com/rahul-jha98/rahul-jha98) |
Preview![Preview Image](docs/screenshots/rahul-jha98.jpeg)
| 60 | | Raymond | Li | [Raymo111](https://github.com/Raymo111) | [README](https://github.com/Raymo111/Raymo111) |
Preview![Preview Image](docs/screenshots/Raymo111.jpeg)
| 61 | | Ross | Williams | [rossjrw](https://github.com/rossjrw) | [README](https://github.com/rossjrw/rossjrw) |
Preview![Preview Image](docs/screenshots/rossjrw.jpeg)
| 62 | | Sagar | Viradiya | [sagar-viradiya](https://github.com/sagar-viradiya) | [README](https://github.com/sagar-viradiya/sagar-viradiya) |
Preview![Preview Image](docs/screenshots/sagar-viradiya.jpeg)
| 63 | | Taehyun | Hwang | [HwangTaehyun](https://github.com/HwangTaehyun) | [README](https://github.com/HwangTaehyun/HwangTaehyun) |
Preview![Preview Image](docs/screenshots/HwangTaehyun.jpeg)
| 64 | | Tim | Burgan | [timburgan](https://github.com/timburgan) | [README](https://github.com/timburgan/timburgan) |
Preview![Preview Image](docs/screenshots/timburgan.jpeg)
| 65 | | Tushar | Mittal | [techytushar](https://github.com/techytushar) | [README](https://github.com/techytushar/techytushar) |
Preview![Preview Image](docs/screenshots/techytushar.jpeg)
| 66 | | Yufan | You | [ouuan](https://github.com/ouuan) | [README](https://github.com/ouuan/ouuan) |
Preview![Preview Image](docs/screenshots/ouuan.jpeg)
| 67 | | Zach | Nguyen | [cszach](https://github.com/cszach) | [README](https://github.com/cszach/cszach) |
Preview![Preview Image](docs/screenshots/cszach.jpeg)
| 68 | | Raghav | Khullar | [RaghavK16](https://github.com/RaghavK16) | [README](https://github.com/Raghav16/Raghav16) |
Preview![Preview Image](docs/screenshots/Raghav16.jpeg)
| 69 | | Ari | Hacks | [ari-hacks](https://github.com/ari-hacks) | [README](https://github.com/ari-hacks/ari-hacks) |
Preview![Preview Image](docs/screenshots/ari-hacks.jpeg)
| 70 | | Ileriayo | Adebiyi | [Ileriayo](https://github.com/Ileriayo) | [README](https://github.com/Ileriayo/Ileriayo) |
Preview![Preview Image](docs/screenshots/Ileriayo.jpeg)
| 71 | | Robert | Shaw | [xiaoluoboding](https://github.com/xiaoluoboding) | [README](https://github.com/xiaoluoboding/xiaoluoboding) |
Preview![Preview Image](docs/screenshots/xiaoluoboding.jpeg)
| 72 | | Ritik | Rawal | [ritik307](https://github.com/ritik307) | [README](https://github.com/ritik307/ritik307) |
Preview![Preview Image](docs/screenshots/ritik307.jpeg)
| 73 | | Muhammedh | Shadir | [muhammedh-shadir](https://github.com/muhammedh-shadir) | [README](https://github.com/muhammedh-shadir/muhammedh-shadir) |
Preview![Preview Image](docs/screenshots/muhammedh-shadir.jpeg)
| 74 | | Thaiane | Braga | [thaiane](https://github.com/thaiane) | [README](https://github.com/thaiane/thaiane) |
Preview![Preview Image](docs/screenshots/thaiane.jpeg)
| 75 | | Gaurav | Pandey | [codewithgauri](https://github.com/codewithgauri) | [README](https://github.com/codewithgauri/codewithgauri) |
Preview![Preview Image](docs/screenshots/codewithgauri.jpeg)
| 76 | | Lakshmanan | Meiyappan | [laxmena](https://github.com/laxmena) | [README](https://github.com/laxmena/laxmena) |
Preview![Preview Image](docs/screenshots/laxmena.jpeg)
| 77 | | Karim | Abdallah | [karim-eg](https://github.com/karim-eg) | [README](https://github.com/karim-eg/karim-eg) |
Preview![Preview Image](docs/screenshots/karim-eg.jpeg)
| 78 | | Livio | Brunner | [BrunnerLivio](https://github.com/BrunnerLivio) | [README](https://github.com/BrunnerLivio/BrunnerLivio) |
Preview![Preview Image](docs/screenshots/BrunnerLivio.jpeg)
| 79 | | Code | Bullet | [Code-Bullet](https://github.com/Code-Bullet) | [README](https://github.com/Code-Bullet/Code-Bullet) |
Preview![Preview Image](docs/screenshots/Code-Bullet.jpeg)
| 80 | | Emil | Widlund | [emilwidlund](https://github.com/emilwidlund) | [README](https://github.com/emilwidlund/emilwidlund) |
Preview![Preview Image](docs/screenshots/emilwidlund.jpeg)
| 81 | | Terkel | Gjervig | [terkelg](https://github.com/terkelg) | [README](https://github.com/terkelg/terkelg) |
Preview![Preview Image](docs/screenshots/terkelg.jpeg)
| 82 | | Avinal | Kumar | [avinal](https://github.com/avinal) | [README](https://github.com/avinal/avinal) |
Preview![Preview Image](docs/screenshots/avinal.jpeg)
| 83 | | Suman | Shekhar | [sumanshekhar698](https://github.com/sumanshekhar698) | [README](https://github.com/sumanshekhar698/sumanshekhar698) |
Preview![Preview Image](docs/screenshots/sumanshekhar698.jpeg)
| 84 | | Syed | Ibrahim | [syedibrahim](https://github.com/syedibrahim) | [README](https://github.com/syedibrahim/syedibrahim) |
Preview![Preview Image](docs/screenshots/syedibrahim.jpeg)
| 85 | | Siby | Lassana | [sibylassana95](https://github.com/sibylassana95) | [README](https://github.com/sibylassana95/sibylassana95) |
Preview![Preview Image](docs/screenshots/sibylassana95.jpeg)
| 86 | | Jakub | Jankiewicz | [jcubic](https://github.com/jcubic) | [README](https://github.com/jcubic/jcubic) |
Preview![Preview Image](docs/screenshots/jcubic.jpeg)
| 87 | 88 | 89 | ## Contribute 90 | 91 | We encourage you to contribute to "Best GitHub Profile READMEs"! 92 | 93 | Instructions on how to make a submission: [How to Submit a Profile](instructions.md) 94 | 95 | Please check out the [Contributing guide](CONTRIBUTING.md) for guidelines concerning what contributions are merged. 96 | 97 | Let's make this the most popular source for GitHub Profile Inspiration! 98 | 99 | 100 | ## License 101 | 102 | This project is licensed under the [MIT License](https://opensource.org/licenses/MIT). Feel free to modify and distribute it for your own purposes. 103 | -------------------------------------------------------------------------------- /docs/data.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "timestamp": "2024-03-09T22:57:11.586Z", 4 | "firstName": "Adam", 5 | "lastName": "Alston", 6 | "githubProfile": "https://github.com/adamalston", 7 | "githubReadme": "https://github.com/adamalston/adamalston", 8 | "screenshotPath": "screenshots/adamalston.jpeg" 9 | }, 10 | { 11 | "timestamp": "2024-03-13T10:12:29.323Z", 12 | "firstName": "Abhishek", 13 | "lastName": "Choudhary", 14 | "githubProfile": "https://github.com/theabbie", 15 | "githubReadme": "https://github.com/theabbie/theabbie", 16 | "screenshotPath": "screenshots/theabbie.jpeg" 17 | }, 18 | { 19 | "timestamp": "2024-03-13T10:12:29.323Z", 20 | "firstName": "Brian", 21 | "lastName": "Douglas", 22 | "githubProfile": "https://github.com/bdougie", 23 | "githubReadme": "https://github.com/bdougie/bdougie", 24 | "screenshotPath": "screenshots/bdougie.jpeg" 25 | }, 26 | { 27 | "timestamp": "2024-03-13T10:12:29.323Z", 28 | "firstName": "Danny", 29 | "lastName": "Koppenhagen", 30 | "githubProfile": "https://github.com/d-koppenhagen", 31 | "githubReadme": "https://github.com/d-koppenhagen/d-koppenhagen", 32 | "screenshotPath": "screenshots/d-koppenhagen.jpeg" 33 | }, 34 | { 35 | "timestamp": "2024-03-13T10:12:29.323Z", 36 | "firstName": "Edward", 37 | "lastName": "Thomson", 38 | "githubProfile": "https://github.com/ethomson", 39 | "githubReadme": "https://github.com/ethomson/ethomson", 40 | "screenshotPath": "screenshots/ethomson.jpeg" 41 | }, 42 | { 43 | "timestamp": "2024-03-13T10:12:29.323Z", 44 | "firstName": "Erwin", 45 | "lastName": "Lejeune", 46 | "githubProfile": "https://github.com/guilyx", 47 | "githubReadme": "https://github.com/guilyx/guilyx", 48 | "screenshotPath": "screenshots/guilyx.jpeg" 49 | }, 50 | { 51 | "timestamp": "2024-03-13T10:12:29.323Z", 52 | "firstName": "Garima", 53 | "lastName": "Singh", 54 | "githubProfile": "https://github.com/garimasingh128", 55 | "githubReadme": "https://github.com/garimasingh128/garimasingh128", 56 | "screenshotPath": "screenshots/garimasingh128.jpeg" 57 | }, 58 | { 59 | "timestamp": "2024-03-13T10:12:29.323Z", 60 | "firstName": "Jacob", 61 | "lastName": "Colvin", 62 | "githubProfile": "https://github.com/MacroPower", 63 | "githubReadme": "https://github.com/MacroPower/MacroPower", 64 | "screenshotPath": "screenshots/MacroPower.jpeg" 65 | }, 66 | { 67 | "timestamp": "2024-03-13T10:12:29.323Z", 68 | "firstName": "Jonathan", 69 | "lastName": "Gin", 70 | "githubProfile": "https://github.com/jonathangin52", 71 | "githubReadme": "https://github.com/jonathangin52/jonathangin52", 72 | "screenshotPath": "screenshots/jonathangin52.jpeg" 73 | }, 74 | { 75 | "timestamp": "2024-03-13T10:12:29.323Z", 76 | "firstName": "Kavish", 77 | "lastName": "Hukmani", 78 | "githubProfile": "https://github.com/DoubleGremlin181", 79 | "githubReadme": "https://github.com/DoubleGremlin181/DoubleGremlin181", 80 | "screenshotPath": "screenshots/DoubleGremlin181.jpeg" 81 | }, 82 | { 83 | "timestamp": "2024-03-13T10:12:29.323Z", 84 | "firstName": "Lee", 85 | "lastName": "Reilly", 86 | "githubProfile": "https://github.com/leereilly", 87 | "githubReadme": "https://github.com/leereilly/leereilly", 88 | "screenshotPath": "screenshots/leereilly.jpeg" 89 | }, 90 | { 91 | "timestamp": "2024-03-13T10:12:29.323Z", 92 | "firstName": "Max", 93 | "lastName": "Rohowsky", 94 | "githubProfile": "https://github.com/maxontech", 95 | "githubReadme": "https://github.com/maxontech/maxontech", 96 | "screenshotPath": "screenshots/maxontech.jpeg" 97 | }, 98 | { 99 | "timestamp": "2024-03-13T10:12:29.323Z", 100 | "firstName": "Michael", 101 | "lastName": "Hoffmann", 102 | "githubProfile": "https://github.com/mokkapps", 103 | "githubReadme": "https://github.com/mokkapps/mokkapps", 104 | "screenshotPath": "screenshots/mokkapps.jpeg" 105 | }, 106 | { 107 | "timestamp": "2024-03-13T10:12:29.323Z", 108 | "firstName": "Monica", 109 | "lastName": "Powell", 110 | "githubProfile": "https://github.com/M0nica", 111 | "githubReadme": "https://github.com/M0nica/M0nica", 112 | "screenshotPath": "screenshots/M0nica.jpeg" 113 | }, 114 | { 115 | "timestamp": "2024-03-13T10:12:29.323Z", 116 | "firstName": "Nate", 117 | "lastName": "Moore", 118 | "githubProfile": "https://github.com/natemoo-re", 119 | "githubReadme": "https://github.com/natemoo-re/natemoo-re", 120 | "screenshotPath": "screenshots/natemoo-re.jpeg" 121 | }, 122 | { 123 | "timestamp": "2024-03-13T10:12:29.323Z", 124 | "firstName": "Rahul", 125 | "lastName": "Jha", 126 | "githubProfile": "https://github.com/rahul-jha98", 127 | "githubReadme": "https://github.com/rahul-jha98/rahul-jha98", 128 | "screenshotPath": "screenshots/rahul-jha98.jpeg" 129 | }, 130 | { 131 | "timestamp": "2024-03-13T10:12:29.323Z", 132 | "firstName": "Raymond", 133 | "lastName": "Li", 134 | "githubProfile": "https://github.com/Raymo111", 135 | "githubReadme": "https://github.com/Raymo111/Raymo111", 136 | "screenshotPath": "screenshots/Raymo111.jpeg" 137 | }, 138 | { 139 | "timestamp": "2024-03-13T10:12:29.323Z", 140 | "firstName": "Ross", 141 | "lastName": "Williams", 142 | "githubProfile": "https://github.com/rossjrw", 143 | "githubReadme": "https://github.com/rossjrw/rossjrw", 144 | "screenshotPath": "screenshots/rossjrw.jpeg" 145 | }, 146 | { 147 | "timestamp": "2024-03-13T10:12:29.323Z", 148 | "firstName": "Sagar", 149 | "lastName": "Viradiya", 150 | "githubProfile": "https://github.com/sagar-viradiya", 151 | "githubReadme": "https://github.com/sagar-viradiya/sagar-viradiya", 152 | "screenshotPath": "screenshots/sagar-viradiya.jpeg" 153 | }, 154 | { 155 | "timestamp": "2024-03-13T10:12:29.323Z", 156 | "firstName": "Taehyun", 157 | "lastName": "Hwang", 158 | "githubProfile": "https://github.com/HwangTaehyun", 159 | "githubReadme": "https://github.com/HwangTaehyun/HwangTaehyun", 160 | "screenshotPath": "screenshots/HwangTaehyun.jpeg" 161 | }, 162 | { 163 | "timestamp": "2024-03-13T10:12:29.323Z", 164 | "firstName": "Tim", 165 | "lastName": "Burgan", 166 | "githubProfile": "https://github.com/timburgan", 167 | "githubReadme": "https://github.com/timburgan/timburgan", 168 | "screenshotPath": "screenshots/timburgan.jpeg" 169 | }, 170 | { 171 | "timestamp": "2024-03-13T10:12:29.323Z", 172 | "firstName": "Tushar", 173 | "lastName": "Mittal", 174 | "githubProfile": "https://github.com/techytushar", 175 | "githubReadme": "https://github.com/techytushar/techytushar", 176 | "screenshotPath": "screenshots/techytushar.jpeg" 177 | }, 178 | { 179 | "timestamp": "2024-03-13T10:12:29.323Z", 180 | "firstName": "Yufan", 181 | "lastName": "You", 182 | "githubProfile": "https://github.com/ouuan", 183 | "githubReadme": "https://github.com/ouuan/ouuan", 184 | "screenshotPath": "screenshots/ouuan.jpeg" 185 | }, 186 | { 187 | "timestamp": "2024-03-13T10:12:29.323Z", 188 | "firstName": "Zach", 189 | "lastName": "Nguyen", 190 | "githubProfile": "https://github.com/cszach", 191 | "githubReadme": "https://github.com/cszach/cszach", 192 | "screenshotPath": "screenshots/cszach.jpeg" 193 | }, 194 | { 195 | "timestamp": "2024-03-13T10:12:29.323Z", 196 | "firstName": "Raghav", 197 | "lastName": "Khullar", 198 | "githubProfile": "https://github.com/RaghavK16", 199 | "githubReadme": "https://github.com/Raghav16/Raghav16", 200 | "screenshotPath": "screenshots/RaghavK16.jpeg" 201 | }, 202 | { 203 | "timestamp": "2024-03-13T10:12:29.323Z", 204 | "firstName": "Ari", 205 | "lastName": "Hacks", 206 | "githubProfile": "https://github.com/ari-hacks", 207 | "githubReadme": "https://github.com/ari-hacks/ari-hacks", 208 | "screenshotPath": "screenshots/ari-hacks.jpeg" 209 | }, 210 | { 211 | "timestamp": "2024-03-13T10:12:29.323Z", 212 | "firstName": "Ileriayo", 213 | "lastName": "Adebiyi", 214 | "githubProfile": "https://github.com/Ileriayo", 215 | "githubReadme": "https://github.com/Ileriayo/Ileriayo", 216 | "screenshotPath": "screenshots/Ileriayo.jpeg" 217 | }, 218 | { 219 | "timestamp": "2024-03-13T10:12:29.323Z", 220 | "firstName": "Robert", 221 | "lastName": "Shaw", 222 | "githubProfile": "https://github.com/xiaoluoboding", 223 | "githubReadme": "https://github.com/xiaoluoboding/xiaoluoboding", 224 | "screenshotPath": "screenshots/xiaoluoboding.jpeg" 225 | }, 226 | { 227 | "timestamp": "2024-03-13T10:12:29.323Z", 228 | "firstName": "Ritik", 229 | "lastName": "Rawal", 230 | "githubProfile": "https://github.com/ritik307", 231 | "githubReadme": "https://github.com/ritik307/ritik307", 232 | "screenshotPath": "screenshots/ritik307.jpeg" 233 | }, 234 | { 235 | "timestamp": "2024-03-13T10:12:29.323Z", 236 | "firstName": "Muhammedh", 237 | "lastName": "Shadir", 238 | "githubProfile": "https://github.com/muhammedh-shadir", 239 | "githubReadme": "https://github.com/muhammedh-shadir/muhammedh-shadir", 240 | "screenshotPath": "screenshots/muhammedh-shadir.jpeg" 241 | }, 242 | { 243 | "timestamp": "2024-03-13T10:12:29.323Z", 244 | "firstName": "Thaiane", 245 | "lastName": "Braga", 246 | "githubProfile": "https://github.com/thaiane", 247 | "githubReadme": "https://github.com/thaiane/thaiane", 248 | "screenshotPath": "screenshots/thaiane.jpeg" 249 | }, 250 | { 251 | "timestamp": "2024-03-13T10:12:29.323Z", 252 | "firstName": "Gaurav", 253 | "lastName": "Pandey", 254 | "githubProfile": "https://github.com/codewithgauri", 255 | "githubReadme": "https://github.com/codewithgauri/codewithgauri", 256 | "screenshotPath": "screenshots/codewithgauri.jpeg" 257 | }, 258 | { 259 | "timestamp": "2024-03-13T10:12:29.323Z", 260 | "firstName": "Lakshmanan", 261 | "lastName": "Meiyappan", 262 | "githubProfile": "https://github.com/laxmena", 263 | "githubReadme": "https://github.com/laxmena/laxmena", 264 | "screenshotPath": "screenshots/laxmena.jpeg" 265 | }, 266 | { 267 | "timestamp": "2024-03-13T10:12:29.323Z", 268 | "firstName": "Karim", 269 | "lastName": "Abdallah", 270 | "githubProfile": "https://github.com/karim-eg", 271 | "githubReadme": "https://github.com/karim-eg/karim-eg", 272 | "screenshotPath": "screenshots/karim-eg.jpeg" 273 | }, 274 | { 275 | "timestamp": "2024-03-13T10:12:29.323Z", 276 | "firstName": "Livio", 277 | "lastName": "Brunner", 278 | "githubProfile": "https://github.com/BrunnerLivio", 279 | "githubReadme": "https://github.com/BrunnerLivio/BrunnerLivio", 280 | "screenshotPath": "screenshots/BrunnerLivio.jpeg" 281 | }, 282 | { 283 | "timestamp": "2024-03-13T10:12:29.323Z", 284 | "firstName": "Code", 285 | "lastName": "Bullet", 286 | "githubProfile": "https://github.com/Code-Bullet", 287 | "githubReadme": "https://github.com/Code-Bullet/Code-Bullet", 288 | "screenshotPath": "screenshots/Code-Bullet.jpeg" 289 | }, 290 | { 291 | "timestamp": "2024-03-13T10:12:29.323Z", 292 | "firstName": "Emil", 293 | "lastName": "Widlund", 294 | "githubProfile": "https://github.com/emilwidlund", 295 | "githubReadme": "https://github.com/emilwidlund/emilwidlund", 296 | "screenshotPath": "screenshots/emilwidlund.jpeg" 297 | }, 298 | { 299 | "timestamp": "2024-03-13T10:12:29.323Z", 300 | "firstName": "Terkel", 301 | "lastName": "Gjervig", 302 | "githubProfile": "https://github.com/terkelg", 303 | "githubReadme": "https://github.com/terkelg/terkelg", 304 | "screenshotPath": "screenshots/terkelg.jpeg" 305 | }, 306 | { 307 | "timestamp": "2024-03-21T22:08:19.889Z", 308 | "firstName": "Avinal", 309 | "lastName": "Kumar", 310 | "githubProfile": "https://github.com/avinal", 311 | "githubReadme": "https://github.com/avinal/avinal", 312 | "screenshotPath": "screenshots/avinal.jpeg" 313 | }, 314 | { 315 | "timestamp": "2024-03-21T22:08:19.889Z", 316 | "firstName": "Suman", 317 | "lastName": "Shekhar", 318 | "githubProfile": "https://github.com/sumanshekhar698", 319 | "githubReadme": "https://github.com/sumanshekhar698/sumanshekhar698", 320 | "screenshotPath": "screenshots/sumanshekhar698.jpeg" 321 | }, 322 | { 323 | "timestamp": "2024-03-21T22:08:19.889Z", 324 | "firstName": "Syed", 325 | "lastName": "Ibrahim", 326 | "githubProfile": "https://github.com/syedibrahim", 327 | "githubReadme": "https://github.com/syedibrahim/syedibrahim", 328 | "screenshotPath": "screenshots/syedibrahim.jpeg" 329 | }, 330 | { 331 | "timestamp": "2024-05-13T20:07:19.404Z", 332 | "firstName": "Siby", 333 | "lastName": "Lassana", 334 | "githubProfile": "https://github.com/sibylassana95", 335 | "githubReadme": "https://github.com/sibylassana95/sibylassana95", 336 | "screenshotPath": "screenshots/sibylassana95.jpeg" 337 | }, 338 | { 339 | "timestamp": "2024-06-27T10:39:35.655Z", 340 | "firstName": "Jakub", 341 | "lastName": "Jankiewicz", 342 | "githubProfile": "https://github.com/jcubic", 343 | "githubReadme": "https://github.com/jcubic/jcubic", 344 | "screenshotPath": "screenshots/jcubic.jpeg" 345 | } 346 | ] -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Curated list of GitHub's best Profiles and Readme.md Files 10 | 11 | 12 | 13 | 14 | 15 | 16 | 45 |
46 |
47 |

Open Source Repo for GitHub Profile Inspiration

48 |

Unique GitHub Profile Designs

49 |

Curated list of GitHub's best Profiles
and Readme.md Files

50 |
51 | Background Image 52 | 53 |
54 | 55 |
56 |
57 |
58 | 59 | Step 1: Star and Fork this Repository 60 |
61 |
62 | 63 | Step 2: Make Branch with Changes
➜ View Instructions
64 |
65 |
66 | 67 | Step 3: Push Changes & Create
a Pull Request
68 |
69 | 70 | 76 |
77 | 78 | 79 |
80 | 81 |
82 | GitPro - Collection of GitHub's Best Developer Profile Readme Designs | Product Hunt 83 | 84 | 100 |
101 | 102 | 103 |
104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /docs/parse-readme.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const path = require('path'); 3 | const filePath = path.join(__dirname, '..', 'README.md'); 4 | const dataFilePath = path.join(__dirname, 'data.json'); 5 | 6 | fs.readFile(filePath, 'utf8', (err, data) => { 7 | if (err) { 8 | console.error(err); 9 | return; 10 | } 11 | 12 | // Define a regular expression to match the user data 13 | //const regex = /\|\s*(\w+)\s*\|\s*(\w+)\s*\|\s*\[\w+\]\((https:\/\/github\.com\/[^\/]+)\)\s*\|\s*\[README\]\((https:\/\/github\.com\/[^\/]+\/[^\/]+)\)/g; 14 | const regex = /\|\s*([\w-]+)\s*\|\s*([\w-]+)\s*\|\s*\[[\w-]+\]\((https:\/\/github\.com\/[^\/]+)\)\s*\|\s*\[README\]\((https:\/\/github\.com\/[^\/]+\/[^\/]+)\)/g; 15 | let match; 16 | let users = []; 17 | 18 | console.log(regex); 19 | // Loop through the matches and push the user data to the users array 20 | while ((match = regex.exec(data)) !== null) { 21 | const profileName = match[3].split('/').pop(); 22 | users.push({ 23 | timestamp: new Date().toISOString(), 24 | firstName: match[1], 25 | lastName: match[2], 26 | githubProfile: match[3], 27 | githubReadme: match[4], 28 | screenshotPath: `screenshots/${profileName}.jpeg` 29 | }); 30 | } 31 | 32 | const json = JSON.stringify(users, null, 2); 33 | console.log(json); 34 | 35 | // Read the file specified by dataFilePath 36 | fs.readFile(dataFilePath, 'utf8', (err, data) => { 37 | 38 | // If there's an error reading the file, log the error and exit 39 | if (err) { 40 | console.error(err); 41 | return; 42 | } 43 | 44 | // Initialize an array to hold the existing users 45 | let existingUsers = []; 46 | 47 | // If the file has data, parse it as JSON and assign it to existingUsers 48 | if (data) { 49 | existingUsers = JSON.parse(data); 50 | } 51 | 52 | // Filter out the users that already exist in the data file 53 | const newUsers = users.filter(user => !existingUsers.some(existingUser => existingUser.githubProfile === user.githubProfile)); 54 | 55 | // Combine the existing users and the new users 56 | const allUsers = [...existingUsers, ...newUsers]; 57 | 58 | // Convert the allUsers array into a JSON string with a 2-space indentation 59 | const json = JSON.stringify(allUsers, null, 2); 60 | 61 | // Write the JSON string to the same file 62 | fs.writeFile(dataFilePath, `${json}`, 'utf8', err => { 63 | 64 | // If there's an error writing to the file, log the error and exit 65 | if (err) { 66 | console.error(err); 67 | return; 68 | } 69 | // Log a success message 70 | console.log('Data written to file'); 71 | }); 72 | }); 73 | }); -------------------------------------------------------------------------------- /docs/screenshot.js: -------------------------------------------------------------------------------- 1 | const puppeteer = require('puppeteer'); 2 | const fs = require('fs'); 3 | const path = require('path'); 4 | 5 | (async () => { 6 | const data = JSON.parse(fs.readFileSync('docs/data.json', 'utf-8')); 7 | const browser = await puppeteer.launch(); 8 | 9 | for (const profile of data) { 10 | const screenshotPath = path.join('docs', profile.screenshotPath); 11 | if (fs.existsSync(screenshotPath)) { 12 | console.log(`Screenshot already exists for ${profile.firstName} ${profile.lastName}, skipping.`); 13 | continue; 14 | } 15 | 16 | console.log(`Taking screenshot for ${profile.firstName} ${profile.lastName}...`); 17 | 18 | const page = await browser.newPage(); 19 | await page.setViewport({ width: 1280, height: 720 }); 20 | await page.goto(profile.githubProfile); 21 | await new Promise(resolve => setTimeout(resolve, 2000)); 22 | await page.screenshot({ path: screenshotPath, fullPage: true }); 23 | await page.close(); 24 | } 25 | 26 | await browser.close(); 27 | })(); -------------------------------------------------------------------------------- /docs/screenshots/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/.gitkeep -------------------------------------------------------------------------------- /docs/screenshots/BrunnerLivio.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/BrunnerLivio.jpeg -------------------------------------------------------------------------------- /docs/screenshots/Code-Bullet.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/Code-Bullet.jpeg -------------------------------------------------------------------------------- /docs/screenshots/DoubleGremlin181.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/DoubleGremlin181.jpeg -------------------------------------------------------------------------------- /docs/screenshots/HwangTaehyun.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/HwangTaehyun.jpeg -------------------------------------------------------------------------------- /docs/screenshots/Ileriayo.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/Ileriayo.jpeg -------------------------------------------------------------------------------- /docs/screenshots/M0nica.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/M0nica.jpeg -------------------------------------------------------------------------------- /docs/screenshots/MacroPower.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/MacroPower.jpeg -------------------------------------------------------------------------------- /docs/screenshots/RaghavK16.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/RaghavK16.jpeg -------------------------------------------------------------------------------- /docs/screenshots/Raymo111.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/Raymo111.jpeg -------------------------------------------------------------------------------- /docs/screenshots/adamalston.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/adamalston.jpeg -------------------------------------------------------------------------------- /docs/screenshots/ari-hacks.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/ari-hacks.jpeg -------------------------------------------------------------------------------- /docs/screenshots/avinal.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/avinal.jpeg -------------------------------------------------------------------------------- /docs/screenshots/bdougie.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/bdougie.jpeg -------------------------------------------------------------------------------- /docs/screenshots/codewithgauri.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/codewithgauri.jpeg -------------------------------------------------------------------------------- /docs/screenshots/cszach.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/cszach.jpeg -------------------------------------------------------------------------------- /docs/screenshots/d-koppenhagen.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/d-koppenhagen.jpeg -------------------------------------------------------------------------------- /docs/screenshots/emilwidlund.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/emilwidlund.jpeg -------------------------------------------------------------------------------- /docs/screenshots/ethomson.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/ethomson.jpeg -------------------------------------------------------------------------------- /docs/screenshots/garimasingh128.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/garimasingh128.jpeg -------------------------------------------------------------------------------- /docs/screenshots/guilyx.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/guilyx.jpeg -------------------------------------------------------------------------------- /docs/screenshots/jcubic.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/jcubic.jpeg -------------------------------------------------------------------------------- /docs/screenshots/jonathangin52.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/jonathangin52.jpeg -------------------------------------------------------------------------------- /docs/screenshots/karim-eg.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/karim-eg.jpeg -------------------------------------------------------------------------------- /docs/screenshots/laxmena.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/laxmena.jpeg -------------------------------------------------------------------------------- /docs/screenshots/leereilly.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/leereilly.jpeg -------------------------------------------------------------------------------- /docs/screenshots/maxontech.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/maxontech.jpeg -------------------------------------------------------------------------------- /docs/screenshots/mokkapps.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/mokkapps.jpeg -------------------------------------------------------------------------------- /docs/screenshots/muhammedh-shadir.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/muhammedh-shadir.jpeg -------------------------------------------------------------------------------- /docs/screenshots/natemoo-re.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/natemoo-re.jpeg -------------------------------------------------------------------------------- /docs/screenshots/ouuan.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/ouuan.jpeg -------------------------------------------------------------------------------- /docs/screenshots/rahul-jha98.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/rahul-jha98.jpeg -------------------------------------------------------------------------------- /docs/screenshots/ritik307.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/ritik307.jpeg -------------------------------------------------------------------------------- /docs/screenshots/rossjrw.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/rossjrw.jpeg -------------------------------------------------------------------------------- /docs/screenshots/sagar-viradiya.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/sagar-viradiya.jpeg -------------------------------------------------------------------------------- /docs/screenshots/sibylassana95.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/sibylassana95.jpeg -------------------------------------------------------------------------------- /docs/screenshots/sumanshekhar698.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/sumanshekhar698.jpeg -------------------------------------------------------------------------------- /docs/screenshots/syedibrahim.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/syedibrahim.jpeg -------------------------------------------------------------------------------- /docs/screenshots/techytushar.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/techytushar.jpeg -------------------------------------------------------------------------------- /docs/screenshots/terkelg.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/terkelg.jpeg -------------------------------------------------------------------------------- /docs/screenshots/thaiane.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/thaiane.jpeg -------------------------------------------------------------------------------- /docs/screenshots/theabbie.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/theabbie.jpeg -------------------------------------------------------------------------------- /docs/screenshots/timburgan.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/timburgan.jpeg -------------------------------------------------------------------------------- /docs/screenshots/xiaoluoboding.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/docs/screenshots/xiaoluoboding.jpeg -------------------------------------------------------------------------------- /docs/script.js: -------------------------------------------------------------------------------- 1 | $.getJSON('./data.json', function(data) { 2 | var screenshotContainer = $('#screenshotContainer'); 3 | $.each(data, function(index, item) { 4 | var card = $('
').addClass('card'); 5 | var img = $('').attr('src', item.screenshotPath); 6 | card.append(img); // Append the image to the card first 7 | 8 | var info = $('
').addClass('card-info'); 9 | 10 | var profilePicture = $('
').addClass('profile-picture').css('background-image', 'url(' + item.screenshotPath + ')'); 11 | info.append(profilePicture); 12 | 13 | var name = $('

').attr('id', 'name').text(item.firstName + ' ' + item.lastName); 14 | info.append(name); 15 | 16 | var githubRepo = $('') 17 | .attr('id', 'githubRepo') 18 | .attr('href', item.githubProfile) 19 | .attr('title', 'GitHub Profile') 20 | .html(''); 21 | info.append(githubRepo); 22 | 23 | var readme = $('') 24 | .attr('id', 'readme') 25 | .attr('href', item.githubReadme) 26 | .html('') 27 | .attr('title', 'Readme.md'); 28 | info.append(readme); 29 | 30 | //var date = new Date(item.timestamp); 31 | //var timestamp = $('

').attr('id', 'timestamp').text(date.toLocaleDateString()); 32 | //info.append(timestamp); 33 | 34 | card.append(info); 35 | 36 | screenshotContainer.append(card); 37 | }); 38 | }).fail(function(jqxhr, textStatus, error) { 39 | console.error('Error:', error); 40 | }); 41 | 42 | fetch('https://api.github.com/repos/maxontech/best-github-profile-readme') 43 | .then(response => response.json()) 44 | .then(data => { 45 | document.getElementById('forks').textContent = data.forks_count; 46 | document.getElementById('stars').textContent = data.stargazers_count; 47 | }); -------------------------------------------------------------------------------- /docs/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: 'Roboto', sans-serif; 3 | margin: 0; 4 | padding: 0; 5 | box-sizing: border-box; 6 | } 7 | 8 | nav { 9 | display: flex; 10 | justify-content: space-between; 11 | align-items: center; 12 | height: 80px; 13 | background-color: #e5e5e5; 14 | position: sticky; 15 | top: 0; 16 | z-index: 1; 17 | box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); 18 | } 19 | 20 | nav div { 21 | margin-left: 30px; 22 | margin-right: 30px; 23 | } 24 | 25 | 26 | .navbar-image { 27 | float: right; 28 | } 29 | 30 | .socials { 31 | transition: transform 0.1s ease-in-out; 32 | } 33 | 34 | .socials:hover { 35 | transform: scale(1.2); 36 | } 37 | 38 | 39 | 40 | 41 | #hero { 42 | position: relative; 43 | height: 380px; 44 | color: white; 45 | margin: 0px; 46 | overflow: hidden; 47 | } 48 | 49 | #hero-container { 50 | display: flex; 51 | flex-direction: column; 52 | justify-content: center; 53 | align-items: center; 54 | width: 100%; 55 | height: 100%; 56 | background: rgba(64, 119, 192, 0.8); 57 | backdrop-filter: blur(20px); 58 | z-index: 1; 59 | } 60 | 61 | #hero p { 62 | margin: 0px; 63 | font-size: 18px; 64 | margin-bottom: 10px; 65 | font-weight: lighter; 66 | text-align: center; 67 | } 68 | 69 | #hero h1 { 70 | margin: 0px; 71 | font-size: 40px; 72 | padding: 20px; 73 | text-align: center; 74 | } 75 | 76 | #hero h2 { 77 | margin: 0px; 78 | font-size: 20px; 79 | margin-bottom: 10px; 80 | font-weight: normal; 81 | text-align: center; 82 | } 83 | 84 | #background-image { 85 | position: absolute; 86 | transform: rotate(-15deg); 87 | top: -400px; 88 | left: 500px; 89 | width: 100%; 90 | z-index: -1; 91 | } 92 | 93 | 94 | #instructions { 95 | position: relative; 96 | width: 100%; 97 | height: 80px; 98 | background: rgba(91, 178, 255, 0.8); 99 | } 100 | 101 | #instruction-steps { 102 | position: absolute; 103 | left: 50%; 104 | transform: translate(-50%, -50%); 105 | display: flex; 106 | justify-content: space-around; 107 | align-items: center; 108 | width: 800px; 109 | height: 100%; 110 | border-radius: 10px; 111 | background-color: white; 112 | box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1); 113 | } 114 | 115 | #instruction-steps::before { 116 | content: "Add a Profile:"; 117 | position: absolute; 118 | top: -20px; 119 | left: 10px; 120 | text-align: center; 121 | font-size: 15px; 122 | color: white; 123 | font-weight: normal; 124 | } 125 | 126 | .step-icon{ 127 | font-size: 30px; 128 | color: rgb(61, 61, 61); 129 | padding: 15px; 130 | margin-right: 15px; 131 | border-radius: 100px; 132 | } 133 | 134 | .step{ 135 | display: flex; 136 | flex-direction: row; 137 | justify-content: center; 138 | align-items: center; 139 | } 140 | 141 | .step span{ 142 | display: flex; 143 | flex-direction: column; 144 | font-size: 14px; 145 | } 146 | 147 | 148 | #social-proof { 149 | display: flex; 150 | justify-content: center; 151 | align-items: center; 152 | flex-direction: row; 153 | text-align: center; 154 | background: rgba(91, 178, 255, 0.8); 155 | padding-bottom: 50px; 156 | font-weight: 300; 157 | color: rgb(255, 255, 255); 158 | } 159 | 160 | .proof-icon { 161 | display: flex; 162 | justify-content: center; 163 | align-items: center; 164 | width: 20px; /* Adjust as needed */ 165 | height: 20px; /* Adjust as needed */ 166 | padding: 10px; 167 | background-color: rgb(255, 255, 255); 168 | border-radius: 100px; 169 | margin-left: 10px; 170 | margin-right: 10px; 171 | } 172 | 173 | #screenshotContainer { 174 | display: flex; 175 | flex-wrap: wrap; 176 | justify-content: space-around; 177 | display: flex; 178 | flex-wrap: wrap; 179 | justify-content: space-around; 180 | margin-top: 40px; 181 | padding-left: 60px; 182 | padding-right: 60px; 183 | } 184 | 185 | 186 | .card { 187 | width: 400px; 188 | height: 300px; 189 | 190 | margin: 10px; 191 | box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1); 192 | overflow: hidden; 193 | position: relative; 194 | } 195 | 196 | .card img { 197 | width: 100%; 198 | height: auto; 199 | border-radius: 5px; 200 | position: absolute; 201 | top: 0; 202 | transition: top 2s; 203 | } 204 | 205 | 206 | .card:hover img { 207 | top: -100%; 208 | 209 | } 210 | 211 | .card-info { 212 | position: absolute; 213 | height: 50px; 214 | width: 100%; 215 | bottom: 0; 216 | padding: 10px; 217 | background: white; 218 | display: flex; 219 | align-items: center; 220 | } 221 | 222 | .profile-picture { 223 | width: 50px; 224 | height: 50px; 225 | border-radius: 50%; 226 | background-repeat: no-repeat; 227 | background-size: 250px; 228 | background-position: -10px -26px; 229 | margin-right: 10px; 230 | } 231 | 232 | #githubRepo, #readme { 233 | text-decoration: none; 234 | align-items: center; 235 | margin-right: 20px; 236 | color: black; 237 | } 238 | 239 | #name{ 240 | font-size: 15px; 241 | margin-right: 20px; 242 | } 243 | 244 | #mobile-instructions{ 245 | display: none; 246 | } 247 | 248 | 249 | 250 | @media (max-width: 820px) { 251 | #background-image { 252 | position: absolute; 253 | transform: rotate(-15deg); 254 | top: -100px; 255 | left: 200px; 256 | width: 100%; 257 | z-index: -1; 258 | } 259 | 260 | #instruction-steps{ 261 | width: 650px; 262 | } 263 | 264 | } 265 | 266 | 267 | @media (max-width: 500px) { 268 | nav div { 269 | margin-left: 5px; 270 | margin-right: 5px; 271 | } 272 | 273 | #background-image { 274 | position: absolute; 275 | transform: rotate(-15deg); 276 | top: 100px; 277 | left: 100px; 278 | width: 100%; 279 | z-index: -1; 280 | } 281 | 282 | #instruction-steps{ 283 | width: 300px; 284 | } 285 | 286 | .step-icon, 287 | .step { 288 | display: none; 289 | } 290 | 291 | #forks-link, 292 | #stars-link { 293 | display: none; 294 | } 295 | 296 | #screenshotContainer { 297 | padding-left: 10px; 298 | padding-right: 10px; 299 | } 300 | 301 | #mobile-instructions{ 302 | display: block; 303 | } 304 | 305 | #mobile-forks-link{ 306 | display: flex; 307 | justify-content: center; 308 | align-items: center; 309 | font-size: 15px; 310 | gap: 20px; 311 | color: black; 312 | } 313 | 314 | 315 | } -------------------------------------------------------------------------------- /instructions.md: -------------------------------------------------------------------------------- 1 | # Submit A Profile (Beginner Friendly Instructions) 2 | 3 | To add your profile to the list, follow these steps: 4 | 5 | 1. Fork this repository by clicking the "Fork" button at the top right of this page. 6 | 2. Clone your forked repository to your local machine: 7 | 8 | ```bash 9 | git clone https://github.com/your-username/repository-name.git 10 | ``` 11 | 12 | Replace `your-username` with your GitHub username and `repository-name` with the name of the repository you forked. 13 | 14 | 3. Navigate to the `README.md` file in the repository. Edit the `README.md` file and add your profile information in the following format: 15 | 16 | ```bash 17 | 18 | | First Name | Last Name | GitHub Profile | GitHub Readme | 19 | |------------|-----------|---------------------------------------------------------|-----------------------------------------------------------------------| 20 | | YourFirst | YourLast | [YourUsername](https://github.com/YourUsername) | [README](https://github.com/YourUsername/YourUsername) | 21 | 22 | ``` 23 | 24 | Replace `YourFirst`, `YourLast`, and `YourUsername` with your first name, last name, and GitHub username, respectively. 25 | 26 | 4. After adding your profile information, commit your changes: 27 | 28 | ```bash 29 | git add README.md 30 | git commit -m "Add my profile to the list" 31 | ``` 32 | 33 | 5. Push your changes to your forked repository: 34 | 35 | ```bash 36 | git push origin main 37 | ``` 38 | 39 | 6. Create a new pull request by navigating to your forked repository on GitHub and clicking the "New pull request" button. Provide a brief description of the changes you made and submit the pull request. 40 | 41 | Once your pull request is approved and merged, your profile will be added to the list of profiles in this repository. -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "best-github-profile-readme", 3 | "lockfileVersion": 3, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "dependencies": { 8 | "jquery": "^3.7.1", 9 | "puppeteer": "^22.4.1" 10 | } 11 | }, 12 | "node_modules/@babel/code-frame": { 13 | "version": "7.23.5", 14 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", 15 | "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", 16 | "dependencies": { 17 | "@babel/highlight": "^7.23.4", 18 | "chalk": "^2.4.2" 19 | }, 20 | "engines": { 21 | "node": ">=6.9.0" 22 | } 23 | }, 24 | "node_modules/@babel/helper-validator-identifier": { 25 | "version": "7.22.20", 26 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", 27 | "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", 28 | "engines": { 29 | "node": ">=6.9.0" 30 | } 31 | }, 32 | "node_modules/@babel/highlight": { 33 | "version": "7.23.4", 34 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", 35 | "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", 36 | "dependencies": { 37 | "@babel/helper-validator-identifier": "^7.22.20", 38 | "chalk": "^2.4.2", 39 | "js-tokens": "^4.0.0" 40 | }, 41 | "engines": { 42 | "node": ">=6.9.0" 43 | } 44 | }, 45 | "node_modules/@puppeteer/browsers": { 46 | "version": "2.1.0", 47 | "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.1.0.tgz", 48 | "integrity": "sha512-xloWvocjvryHdUjDam/ZuGMh7zn4Sn3ZAaV4Ah2e2EwEt90N3XphZlSsU3n0VDc1F7kggCjMuH0UuxfPQ5mD9w==", 49 | "dependencies": { 50 | "debug": "4.3.4", 51 | "extract-zip": "2.0.1", 52 | "progress": "2.0.3", 53 | "proxy-agent": "6.4.0", 54 | "semver": "7.6.0", 55 | "tar-fs": "3.0.5", 56 | "unbzip2-stream": "1.4.3", 57 | "yargs": "17.7.2" 58 | }, 59 | "bin": { 60 | "browsers": "lib/cjs/main-cli.js" 61 | }, 62 | "engines": { 63 | "node": ">=18" 64 | } 65 | }, 66 | "node_modules/@tootallnate/quickjs-emscripten": { 67 | "version": "0.23.0", 68 | "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", 69 | "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==" 70 | }, 71 | "node_modules/@types/node": { 72 | "version": "20.11.25", 73 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.25.tgz", 74 | "integrity": "sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==", 75 | "optional": true, 76 | "dependencies": { 77 | "undici-types": "~5.26.4" 78 | } 79 | }, 80 | "node_modules/@types/yauzl": { 81 | "version": "2.10.3", 82 | "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", 83 | "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", 84 | "optional": true, 85 | "dependencies": { 86 | "@types/node": "*" 87 | } 88 | }, 89 | "node_modules/agent-base": { 90 | "version": "7.1.0", 91 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", 92 | "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", 93 | "dependencies": { 94 | "debug": "^4.3.4" 95 | }, 96 | "engines": { 97 | "node": ">= 14" 98 | } 99 | }, 100 | "node_modules/ansi-regex": { 101 | "version": "5.0.1", 102 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 103 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 104 | "engines": { 105 | "node": ">=8" 106 | } 107 | }, 108 | "node_modules/ansi-styles": { 109 | "version": "3.2.1", 110 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 111 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 112 | "dependencies": { 113 | "color-convert": "^1.9.0" 114 | }, 115 | "engines": { 116 | "node": ">=4" 117 | } 118 | }, 119 | "node_modules/argparse": { 120 | "version": "2.0.1", 121 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 122 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" 123 | }, 124 | "node_modules/ast-types": { 125 | "version": "0.13.4", 126 | "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", 127 | "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", 128 | "dependencies": { 129 | "tslib": "^2.0.1" 130 | }, 131 | "engines": { 132 | "node": ">=4" 133 | } 134 | }, 135 | "node_modules/b4a": { 136 | "version": "1.6.6", 137 | "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", 138 | "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==" 139 | }, 140 | "node_modules/bare-events": { 141 | "version": "2.2.1", 142 | "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.2.1.tgz", 143 | "integrity": "sha512-9GYPpsPFvrWBkelIhOhTWtkeZxVxZOdb3VnFTCzlOo3OjvmTvzLoZFUT8kNFACx0vJej6QPney1Cf9BvzCNE/A==", 144 | "optional": true 145 | }, 146 | "node_modules/bare-fs": { 147 | "version": "2.2.1", 148 | "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.2.1.tgz", 149 | "integrity": "sha512-+CjmZANQDFZWy4PGbVdmALIwmt33aJg8qTkVjClU6X4WmZkTPBDxRHiBn7fpqEWEfF3AC2io++erpViAIQbSjg==", 150 | "optional": true, 151 | "dependencies": { 152 | "bare-events": "^2.0.0", 153 | "bare-os": "^2.0.0", 154 | "bare-path": "^2.0.0", 155 | "streamx": "^2.13.0" 156 | } 157 | }, 158 | "node_modules/bare-os": { 159 | "version": "2.2.0", 160 | "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.2.0.tgz", 161 | "integrity": "sha512-hD0rOPfYWOMpVirTACt4/nK8mC55La12K5fY1ij8HAdfQakD62M+H4o4tpfKzVGLgRDTuk3vjA4GqGXXCeFbag==", 162 | "optional": true 163 | }, 164 | "node_modules/bare-path": { 165 | "version": "2.1.0", 166 | "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.0.tgz", 167 | "integrity": "sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==", 168 | "optional": true, 169 | "dependencies": { 170 | "bare-os": "^2.1.0" 171 | } 172 | }, 173 | "node_modules/base64-js": { 174 | "version": "1.5.1", 175 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 176 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 177 | "funding": [ 178 | { 179 | "type": "github", 180 | "url": "https://github.com/sponsors/feross" 181 | }, 182 | { 183 | "type": "patreon", 184 | "url": "https://www.patreon.com/feross" 185 | }, 186 | { 187 | "type": "consulting", 188 | "url": "https://feross.org/support" 189 | } 190 | ] 191 | }, 192 | "node_modules/basic-ftp": { 193 | "version": "5.0.5", 194 | "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", 195 | "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", 196 | "engines": { 197 | "node": ">=10.0.0" 198 | } 199 | }, 200 | "node_modules/buffer": { 201 | "version": "5.7.1", 202 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 203 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 204 | "funding": [ 205 | { 206 | "type": "github", 207 | "url": "https://github.com/sponsors/feross" 208 | }, 209 | { 210 | "type": "patreon", 211 | "url": "https://www.patreon.com/feross" 212 | }, 213 | { 214 | "type": "consulting", 215 | "url": "https://feross.org/support" 216 | } 217 | ], 218 | "dependencies": { 219 | "base64-js": "^1.3.1", 220 | "ieee754": "^1.1.13" 221 | } 222 | }, 223 | "node_modules/buffer-crc32": { 224 | "version": "0.2.13", 225 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 226 | "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", 227 | "engines": { 228 | "node": "*" 229 | } 230 | }, 231 | "node_modules/callsites": { 232 | "version": "3.1.0", 233 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 234 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 235 | "engines": { 236 | "node": ">=6" 237 | } 238 | }, 239 | "node_modules/chalk": { 240 | "version": "2.4.2", 241 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 242 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 243 | "dependencies": { 244 | "ansi-styles": "^3.2.1", 245 | "escape-string-regexp": "^1.0.5", 246 | "supports-color": "^5.3.0" 247 | }, 248 | "engines": { 249 | "node": ">=4" 250 | } 251 | }, 252 | "node_modules/chromium-bidi": { 253 | "version": "0.5.12", 254 | "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.12.tgz", 255 | "integrity": "sha512-sZMgEBWKbupD0Q7lyFu8AWkrE+rs5ycE12jFkGwIgD/VS8lDPtelPlXM7LYaq4zrkZ/O2L3f4afHUHL0ICdKog==", 256 | "dependencies": { 257 | "mitt": "3.0.1", 258 | "urlpattern-polyfill": "10.0.0" 259 | }, 260 | "peerDependencies": { 261 | "devtools-protocol": "*" 262 | } 263 | }, 264 | "node_modules/cliui": { 265 | "version": "8.0.1", 266 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", 267 | "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", 268 | "dependencies": { 269 | "string-width": "^4.2.0", 270 | "strip-ansi": "^6.0.1", 271 | "wrap-ansi": "^7.0.0" 272 | }, 273 | "engines": { 274 | "node": ">=12" 275 | } 276 | }, 277 | "node_modules/color-convert": { 278 | "version": "1.9.3", 279 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 280 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 281 | "dependencies": { 282 | "color-name": "1.1.3" 283 | } 284 | }, 285 | "node_modules/color-name": { 286 | "version": "1.1.3", 287 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 288 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" 289 | }, 290 | "node_modules/cosmiconfig": { 291 | "version": "9.0.0", 292 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", 293 | "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", 294 | "dependencies": { 295 | "env-paths": "^2.2.1", 296 | "import-fresh": "^3.3.0", 297 | "js-yaml": "^4.1.0", 298 | "parse-json": "^5.2.0" 299 | }, 300 | "engines": { 301 | "node": ">=14" 302 | }, 303 | "funding": { 304 | "url": "https://github.com/sponsors/d-fischer" 305 | }, 306 | "peerDependencies": { 307 | "typescript": ">=4.9.5" 308 | }, 309 | "peerDependenciesMeta": { 310 | "typescript": { 311 | "optional": true 312 | } 313 | } 314 | }, 315 | "node_modules/cross-fetch": { 316 | "version": "4.0.0", 317 | "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", 318 | "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", 319 | "dependencies": { 320 | "node-fetch": "^2.6.12" 321 | } 322 | }, 323 | "node_modules/data-uri-to-buffer": { 324 | "version": "6.0.2", 325 | "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", 326 | "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", 327 | "engines": { 328 | "node": ">= 14" 329 | } 330 | }, 331 | "node_modules/debug": { 332 | "version": "4.3.4", 333 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 334 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 335 | "dependencies": { 336 | "ms": "2.1.2" 337 | }, 338 | "engines": { 339 | "node": ">=6.0" 340 | }, 341 | "peerDependenciesMeta": { 342 | "supports-color": { 343 | "optional": true 344 | } 345 | } 346 | }, 347 | "node_modules/degenerator": { 348 | "version": "5.0.1", 349 | "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", 350 | "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", 351 | "dependencies": { 352 | "ast-types": "^0.13.4", 353 | "escodegen": "^2.1.0", 354 | "esprima": "^4.0.1" 355 | }, 356 | "engines": { 357 | "node": ">= 14" 358 | } 359 | }, 360 | "node_modules/devtools-protocol": { 361 | "version": "0.0.1249869", 362 | "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1249869.tgz", 363 | "integrity": "sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==" 364 | }, 365 | "node_modules/emoji-regex": { 366 | "version": "8.0.0", 367 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 368 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 369 | }, 370 | "node_modules/end-of-stream": { 371 | "version": "1.4.4", 372 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 373 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 374 | "dependencies": { 375 | "once": "^1.4.0" 376 | } 377 | }, 378 | "node_modules/env-paths": { 379 | "version": "2.2.1", 380 | "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", 381 | "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", 382 | "engines": { 383 | "node": ">=6" 384 | } 385 | }, 386 | "node_modules/error-ex": { 387 | "version": "1.3.2", 388 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 389 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 390 | "dependencies": { 391 | "is-arrayish": "^0.2.1" 392 | } 393 | }, 394 | "node_modules/escalade": { 395 | "version": "3.1.2", 396 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", 397 | "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", 398 | "engines": { 399 | "node": ">=6" 400 | } 401 | }, 402 | "node_modules/escape-string-regexp": { 403 | "version": "1.0.5", 404 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 405 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 406 | "engines": { 407 | "node": ">=0.8.0" 408 | } 409 | }, 410 | "node_modules/escodegen": { 411 | "version": "2.1.0", 412 | "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", 413 | "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", 414 | "dependencies": { 415 | "esprima": "^4.0.1", 416 | "estraverse": "^5.2.0", 417 | "esutils": "^2.0.2" 418 | }, 419 | "bin": { 420 | "escodegen": "bin/escodegen.js", 421 | "esgenerate": "bin/esgenerate.js" 422 | }, 423 | "engines": { 424 | "node": ">=6.0" 425 | }, 426 | "optionalDependencies": { 427 | "source-map": "~0.6.1" 428 | } 429 | }, 430 | "node_modules/esprima": { 431 | "version": "4.0.1", 432 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 433 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 434 | "bin": { 435 | "esparse": "bin/esparse.js", 436 | "esvalidate": "bin/esvalidate.js" 437 | }, 438 | "engines": { 439 | "node": ">=4" 440 | } 441 | }, 442 | "node_modules/estraverse": { 443 | "version": "5.3.0", 444 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 445 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 446 | "engines": { 447 | "node": ">=4.0" 448 | } 449 | }, 450 | "node_modules/esutils": { 451 | "version": "2.0.3", 452 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 453 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 454 | "engines": { 455 | "node": ">=0.10.0" 456 | } 457 | }, 458 | "node_modules/extract-zip": { 459 | "version": "2.0.1", 460 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", 461 | "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", 462 | "dependencies": { 463 | "debug": "^4.1.1", 464 | "get-stream": "^5.1.0", 465 | "yauzl": "^2.10.0" 466 | }, 467 | "bin": { 468 | "extract-zip": "cli.js" 469 | }, 470 | "engines": { 471 | "node": ">= 10.17.0" 472 | }, 473 | "optionalDependencies": { 474 | "@types/yauzl": "^2.9.1" 475 | } 476 | }, 477 | "node_modules/fast-fifo": { 478 | "version": "1.3.2", 479 | "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", 480 | "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" 481 | }, 482 | "node_modules/fd-slicer": { 483 | "version": "1.1.0", 484 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 485 | "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", 486 | "dependencies": { 487 | "pend": "~1.2.0" 488 | } 489 | }, 490 | "node_modules/fs-extra": { 491 | "version": "11.2.0", 492 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", 493 | "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", 494 | "dependencies": { 495 | "graceful-fs": "^4.2.0", 496 | "jsonfile": "^6.0.1", 497 | "universalify": "^2.0.0" 498 | }, 499 | "engines": { 500 | "node": ">=14.14" 501 | } 502 | }, 503 | "node_modules/get-caller-file": { 504 | "version": "2.0.5", 505 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 506 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 507 | "engines": { 508 | "node": "6.* || 8.* || >= 10.*" 509 | } 510 | }, 511 | "node_modules/get-stream": { 512 | "version": "5.2.0", 513 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", 514 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", 515 | "dependencies": { 516 | "pump": "^3.0.0" 517 | }, 518 | "engines": { 519 | "node": ">=8" 520 | }, 521 | "funding": { 522 | "url": "https://github.com/sponsors/sindresorhus" 523 | } 524 | }, 525 | "node_modules/get-uri": { 526 | "version": "6.0.3", 527 | "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", 528 | "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", 529 | "dependencies": { 530 | "basic-ftp": "^5.0.2", 531 | "data-uri-to-buffer": "^6.0.2", 532 | "debug": "^4.3.4", 533 | "fs-extra": "^11.2.0" 534 | }, 535 | "engines": { 536 | "node": ">= 14" 537 | } 538 | }, 539 | "node_modules/graceful-fs": { 540 | "version": "4.2.11", 541 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 542 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 543 | }, 544 | "node_modules/has-flag": { 545 | "version": "3.0.0", 546 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 547 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 548 | "engines": { 549 | "node": ">=4" 550 | } 551 | }, 552 | "node_modules/http-proxy-agent": { 553 | "version": "7.0.2", 554 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", 555 | "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", 556 | "dependencies": { 557 | "agent-base": "^7.1.0", 558 | "debug": "^4.3.4" 559 | }, 560 | "engines": { 561 | "node": ">= 14" 562 | } 563 | }, 564 | "node_modules/https-proxy-agent": { 565 | "version": "7.0.4", 566 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", 567 | "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", 568 | "dependencies": { 569 | "agent-base": "^7.0.2", 570 | "debug": "4" 571 | }, 572 | "engines": { 573 | "node": ">= 14" 574 | } 575 | }, 576 | "node_modules/ieee754": { 577 | "version": "1.2.1", 578 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 579 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 580 | "funding": [ 581 | { 582 | "type": "github", 583 | "url": "https://github.com/sponsors/feross" 584 | }, 585 | { 586 | "type": "patreon", 587 | "url": "https://www.patreon.com/feross" 588 | }, 589 | { 590 | "type": "consulting", 591 | "url": "https://feross.org/support" 592 | } 593 | ] 594 | }, 595 | "node_modules/import-fresh": { 596 | "version": "3.3.0", 597 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 598 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 599 | "dependencies": { 600 | "parent-module": "^1.0.0", 601 | "resolve-from": "^4.0.0" 602 | }, 603 | "engines": { 604 | "node": ">=6" 605 | }, 606 | "funding": { 607 | "url": "https://github.com/sponsors/sindresorhus" 608 | } 609 | }, 610 | "node_modules/ip-address": { 611 | "version": "9.0.5", 612 | "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", 613 | "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", 614 | "dependencies": { 615 | "jsbn": "1.1.0", 616 | "sprintf-js": "^1.1.3" 617 | }, 618 | "engines": { 619 | "node": ">= 12" 620 | } 621 | }, 622 | "node_modules/is-arrayish": { 623 | "version": "0.2.1", 624 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 625 | "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" 626 | }, 627 | "node_modules/is-fullwidth-code-point": { 628 | "version": "3.0.0", 629 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 630 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 631 | "engines": { 632 | "node": ">=8" 633 | } 634 | }, 635 | "node_modules/jquery": { 636 | "version": "3.7.1", 637 | "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", 638 | "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" 639 | }, 640 | "node_modules/js-tokens": { 641 | "version": "4.0.0", 642 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 643 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 644 | }, 645 | "node_modules/js-yaml": { 646 | "version": "4.1.0", 647 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 648 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 649 | "dependencies": { 650 | "argparse": "^2.0.1" 651 | }, 652 | "bin": { 653 | "js-yaml": "bin/js-yaml.js" 654 | } 655 | }, 656 | "node_modules/jsbn": { 657 | "version": "1.1.0", 658 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", 659 | "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" 660 | }, 661 | "node_modules/json-parse-even-better-errors": { 662 | "version": "2.3.1", 663 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 664 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" 665 | }, 666 | "node_modules/jsonfile": { 667 | "version": "6.1.0", 668 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 669 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 670 | "dependencies": { 671 | "universalify": "^2.0.0" 672 | }, 673 | "optionalDependencies": { 674 | "graceful-fs": "^4.1.6" 675 | } 676 | }, 677 | "node_modules/lines-and-columns": { 678 | "version": "1.2.4", 679 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 680 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" 681 | }, 682 | "node_modules/lru-cache": { 683 | "version": "7.18.3", 684 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", 685 | "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", 686 | "engines": { 687 | "node": ">=12" 688 | } 689 | }, 690 | "node_modules/mitt": { 691 | "version": "3.0.1", 692 | "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", 693 | "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" 694 | }, 695 | "node_modules/ms": { 696 | "version": "2.1.2", 697 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 698 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 699 | }, 700 | "node_modules/netmask": { 701 | "version": "2.0.2", 702 | "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", 703 | "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", 704 | "engines": { 705 | "node": ">= 0.4.0" 706 | } 707 | }, 708 | "node_modules/node-fetch": { 709 | "version": "2.7.0", 710 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", 711 | "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", 712 | "dependencies": { 713 | "whatwg-url": "^5.0.0" 714 | }, 715 | "engines": { 716 | "node": "4.x || >=6.0.0" 717 | }, 718 | "peerDependencies": { 719 | "encoding": "^0.1.0" 720 | }, 721 | "peerDependenciesMeta": { 722 | "encoding": { 723 | "optional": true 724 | } 725 | } 726 | }, 727 | "node_modules/once": { 728 | "version": "1.4.0", 729 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 730 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 731 | "dependencies": { 732 | "wrappy": "1" 733 | } 734 | }, 735 | "node_modules/pac-proxy-agent": { 736 | "version": "7.0.1", 737 | "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", 738 | "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", 739 | "dependencies": { 740 | "@tootallnate/quickjs-emscripten": "^0.23.0", 741 | "agent-base": "^7.0.2", 742 | "debug": "^4.3.4", 743 | "get-uri": "^6.0.1", 744 | "http-proxy-agent": "^7.0.0", 745 | "https-proxy-agent": "^7.0.2", 746 | "pac-resolver": "^7.0.0", 747 | "socks-proxy-agent": "^8.0.2" 748 | }, 749 | "engines": { 750 | "node": ">= 14" 751 | } 752 | }, 753 | "node_modules/pac-resolver": { 754 | "version": "7.0.1", 755 | "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", 756 | "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", 757 | "dependencies": { 758 | "degenerator": "^5.0.0", 759 | "netmask": "^2.0.2" 760 | }, 761 | "engines": { 762 | "node": ">= 14" 763 | } 764 | }, 765 | "node_modules/parent-module": { 766 | "version": "1.0.1", 767 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 768 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 769 | "dependencies": { 770 | "callsites": "^3.0.0" 771 | }, 772 | "engines": { 773 | "node": ">=6" 774 | } 775 | }, 776 | "node_modules/parse-json": { 777 | "version": "5.2.0", 778 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", 779 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", 780 | "dependencies": { 781 | "@babel/code-frame": "^7.0.0", 782 | "error-ex": "^1.3.1", 783 | "json-parse-even-better-errors": "^2.3.0", 784 | "lines-and-columns": "^1.1.6" 785 | }, 786 | "engines": { 787 | "node": ">=8" 788 | }, 789 | "funding": { 790 | "url": "https://github.com/sponsors/sindresorhus" 791 | } 792 | }, 793 | "node_modules/pend": { 794 | "version": "1.2.0", 795 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 796 | "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" 797 | }, 798 | "node_modules/progress": { 799 | "version": "2.0.3", 800 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 801 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 802 | "engines": { 803 | "node": ">=0.4.0" 804 | } 805 | }, 806 | "node_modules/proxy-agent": { 807 | "version": "6.4.0", 808 | "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", 809 | "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", 810 | "dependencies": { 811 | "agent-base": "^7.0.2", 812 | "debug": "^4.3.4", 813 | "http-proxy-agent": "^7.0.1", 814 | "https-proxy-agent": "^7.0.3", 815 | "lru-cache": "^7.14.1", 816 | "pac-proxy-agent": "^7.0.1", 817 | "proxy-from-env": "^1.1.0", 818 | "socks-proxy-agent": "^8.0.2" 819 | }, 820 | "engines": { 821 | "node": ">= 14" 822 | } 823 | }, 824 | "node_modules/proxy-from-env": { 825 | "version": "1.1.0", 826 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 827 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" 828 | }, 829 | "node_modules/pump": { 830 | "version": "3.0.0", 831 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 832 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 833 | "dependencies": { 834 | "end-of-stream": "^1.1.0", 835 | "once": "^1.3.1" 836 | } 837 | }, 838 | "node_modules/puppeteer": { 839 | "version": "22.4.1", 840 | "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-22.4.1.tgz", 841 | "integrity": "sha512-Mag1wRLanzwS4yEUyrDRBUgsKlH3dpL6oAfVwNHG09oxd0+ySsatMvYj7HwjynWy/S+Hg+XHLgjyC/F6CsL/lg==", 842 | "hasInstallScript": true, 843 | "dependencies": { 844 | "@puppeteer/browsers": "2.1.0", 845 | "cosmiconfig": "9.0.0", 846 | "puppeteer-core": "22.4.1" 847 | }, 848 | "bin": { 849 | "puppeteer": "lib/esm/puppeteer/node/cli.js" 850 | }, 851 | "engines": { 852 | "node": ">=18" 853 | } 854 | }, 855 | "node_modules/puppeteer-core": { 856 | "version": "22.4.1", 857 | "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.4.1.tgz", 858 | "integrity": "sha512-l9nf8NcirYOHdID12CIMWyy7dqcJCVtgVS+YAiJuUJHg8+9yjgPiG2PcNhojIEEpCkvw3FxvnyITVfKVmkWpjA==", 859 | "dependencies": { 860 | "@puppeteer/browsers": "2.1.0", 861 | "chromium-bidi": "0.5.12", 862 | "cross-fetch": "4.0.0", 863 | "debug": "4.3.4", 864 | "devtools-protocol": "0.0.1249869", 865 | "ws": "8.16.0" 866 | }, 867 | "engines": { 868 | "node": ">=18" 869 | } 870 | }, 871 | "node_modules/queue-tick": { 872 | "version": "1.0.1", 873 | "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", 874 | "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" 875 | }, 876 | "node_modules/require-directory": { 877 | "version": "2.1.1", 878 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 879 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 880 | "engines": { 881 | "node": ">=0.10.0" 882 | } 883 | }, 884 | "node_modules/resolve-from": { 885 | "version": "4.0.0", 886 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 887 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 888 | "engines": { 889 | "node": ">=4" 890 | } 891 | }, 892 | "node_modules/semver": { 893 | "version": "7.6.0", 894 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", 895 | "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", 896 | "dependencies": { 897 | "lru-cache": "^6.0.0" 898 | }, 899 | "bin": { 900 | "semver": "bin/semver.js" 901 | }, 902 | "engines": { 903 | "node": ">=10" 904 | } 905 | }, 906 | "node_modules/semver/node_modules/lru-cache": { 907 | "version": "6.0.0", 908 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 909 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 910 | "dependencies": { 911 | "yallist": "^4.0.0" 912 | }, 913 | "engines": { 914 | "node": ">=10" 915 | } 916 | }, 917 | "node_modules/smart-buffer": { 918 | "version": "4.2.0", 919 | "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", 920 | "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", 921 | "engines": { 922 | "node": ">= 6.0.0", 923 | "npm": ">= 3.0.0" 924 | } 925 | }, 926 | "node_modules/socks": { 927 | "version": "2.8.1", 928 | "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz", 929 | "integrity": "sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==", 930 | "dependencies": { 931 | "ip-address": "^9.0.5", 932 | "smart-buffer": "^4.2.0" 933 | }, 934 | "engines": { 935 | "node": ">= 10.0.0", 936 | "npm": ">= 3.0.0" 937 | } 938 | }, 939 | "node_modules/socks-proxy-agent": { 940 | "version": "8.0.2", 941 | "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", 942 | "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", 943 | "dependencies": { 944 | "agent-base": "^7.0.2", 945 | "debug": "^4.3.4", 946 | "socks": "^2.7.1" 947 | }, 948 | "engines": { 949 | "node": ">= 14" 950 | } 951 | }, 952 | "node_modules/source-map": { 953 | "version": "0.6.1", 954 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 955 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 956 | "optional": true, 957 | "engines": { 958 | "node": ">=0.10.0" 959 | } 960 | }, 961 | "node_modules/sprintf-js": { 962 | "version": "1.1.3", 963 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", 964 | "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" 965 | }, 966 | "node_modules/streamx": { 967 | "version": "2.16.1", 968 | "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz", 969 | "integrity": "sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==", 970 | "dependencies": { 971 | "fast-fifo": "^1.1.0", 972 | "queue-tick": "^1.0.1" 973 | }, 974 | "optionalDependencies": { 975 | "bare-events": "^2.2.0" 976 | } 977 | }, 978 | "node_modules/string-width": { 979 | "version": "4.2.3", 980 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 981 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 982 | "dependencies": { 983 | "emoji-regex": "^8.0.0", 984 | "is-fullwidth-code-point": "^3.0.0", 985 | "strip-ansi": "^6.0.1" 986 | }, 987 | "engines": { 988 | "node": ">=8" 989 | } 990 | }, 991 | "node_modules/strip-ansi": { 992 | "version": "6.0.1", 993 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 994 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 995 | "dependencies": { 996 | "ansi-regex": "^5.0.1" 997 | }, 998 | "engines": { 999 | "node": ">=8" 1000 | } 1001 | }, 1002 | "node_modules/supports-color": { 1003 | "version": "5.5.0", 1004 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1005 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1006 | "dependencies": { 1007 | "has-flag": "^3.0.0" 1008 | }, 1009 | "engines": { 1010 | "node": ">=4" 1011 | } 1012 | }, 1013 | "node_modules/tar-fs": { 1014 | "version": "3.0.5", 1015 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.5.tgz", 1016 | "integrity": "sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==", 1017 | "dependencies": { 1018 | "pump": "^3.0.0", 1019 | "tar-stream": "^3.1.5" 1020 | }, 1021 | "optionalDependencies": { 1022 | "bare-fs": "^2.1.1", 1023 | "bare-path": "^2.1.0" 1024 | } 1025 | }, 1026 | "node_modules/tar-stream": { 1027 | "version": "3.1.7", 1028 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", 1029 | "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", 1030 | "dependencies": { 1031 | "b4a": "^1.6.4", 1032 | "fast-fifo": "^1.2.0", 1033 | "streamx": "^2.15.0" 1034 | } 1035 | }, 1036 | "node_modules/through": { 1037 | "version": "2.3.8", 1038 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 1039 | "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" 1040 | }, 1041 | "node_modules/tr46": { 1042 | "version": "0.0.3", 1043 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 1044 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 1045 | }, 1046 | "node_modules/tslib": { 1047 | "version": "2.6.2", 1048 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 1049 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" 1050 | }, 1051 | "node_modules/unbzip2-stream": { 1052 | "version": "1.4.3", 1053 | "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", 1054 | "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", 1055 | "dependencies": { 1056 | "buffer": "^5.2.1", 1057 | "through": "^2.3.8" 1058 | } 1059 | }, 1060 | "node_modules/undici-types": { 1061 | "version": "5.26.5", 1062 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", 1063 | "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", 1064 | "optional": true 1065 | }, 1066 | "node_modules/universalify": { 1067 | "version": "2.0.1", 1068 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", 1069 | "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", 1070 | "engines": { 1071 | "node": ">= 10.0.0" 1072 | } 1073 | }, 1074 | "node_modules/urlpattern-polyfill": { 1075 | "version": "10.0.0", 1076 | "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz", 1077 | "integrity": "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==" 1078 | }, 1079 | "node_modules/webidl-conversions": { 1080 | "version": "3.0.1", 1081 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 1082 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 1083 | }, 1084 | "node_modules/whatwg-url": { 1085 | "version": "5.0.0", 1086 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 1087 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 1088 | "dependencies": { 1089 | "tr46": "~0.0.3", 1090 | "webidl-conversions": "^3.0.0" 1091 | } 1092 | }, 1093 | "node_modules/wrap-ansi": { 1094 | "version": "7.0.0", 1095 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 1096 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 1097 | "dependencies": { 1098 | "ansi-styles": "^4.0.0", 1099 | "string-width": "^4.1.0", 1100 | "strip-ansi": "^6.0.0" 1101 | }, 1102 | "engines": { 1103 | "node": ">=10" 1104 | }, 1105 | "funding": { 1106 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1107 | } 1108 | }, 1109 | "node_modules/wrap-ansi/node_modules/ansi-styles": { 1110 | "version": "4.3.0", 1111 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1112 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1113 | "dependencies": { 1114 | "color-convert": "^2.0.1" 1115 | }, 1116 | "engines": { 1117 | "node": ">=8" 1118 | }, 1119 | "funding": { 1120 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1121 | } 1122 | }, 1123 | "node_modules/wrap-ansi/node_modules/color-convert": { 1124 | "version": "2.0.1", 1125 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1126 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1127 | "dependencies": { 1128 | "color-name": "~1.1.4" 1129 | }, 1130 | "engines": { 1131 | "node": ">=7.0.0" 1132 | } 1133 | }, 1134 | "node_modules/wrap-ansi/node_modules/color-name": { 1135 | "version": "1.1.4", 1136 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1137 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 1138 | }, 1139 | "node_modules/wrappy": { 1140 | "version": "1.0.2", 1141 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1142 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" 1143 | }, 1144 | "node_modules/ws": { 1145 | "version": "8.16.0", 1146 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", 1147 | "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", 1148 | "engines": { 1149 | "node": ">=10.0.0" 1150 | }, 1151 | "peerDependencies": { 1152 | "bufferutil": "^4.0.1", 1153 | "utf-8-validate": ">=5.0.2" 1154 | }, 1155 | "peerDependenciesMeta": { 1156 | "bufferutil": { 1157 | "optional": true 1158 | }, 1159 | "utf-8-validate": { 1160 | "optional": true 1161 | } 1162 | } 1163 | }, 1164 | "node_modules/y18n": { 1165 | "version": "5.0.8", 1166 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 1167 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 1168 | "engines": { 1169 | "node": ">=10" 1170 | } 1171 | }, 1172 | "node_modules/yallist": { 1173 | "version": "4.0.0", 1174 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1175 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 1176 | }, 1177 | "node_modules/yargs": { 1178 | "version": "17.7.2", 1179 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", 1180 | "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", 1181 | "dependencies": { 1182 | "cliui": "^8.0.1", 1183 | "escalade": "^3.1.1", 1184 | "get-caller-file": "^2.0.5", 1185 | "require-directory": "^2.1.1", 1186 | "string-width": "^4.2.3", 1187 | "y18n": "^5.0.5", 1188 | "yargs-parser": "^21.1.1" 1189 | }, 1190 | "engines": { 1191 | "node": ">=12" 1192 | } 1193 | }, 1194 | "node_modules/yargs-parser": { 1195 | "version": "21.1.1", 1196 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", 1197 | "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", 1198 | "engines": { 1199 | "node": ">=12" 1200 | } 1201 | }, 1202 | "node_modules/yauzl": { 1203 | "version": "2.10.0", 1204 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 1205 | "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", 1206 | "dependencies": { 1207 | "buffer-crc32": "~0.2.3", 1208 | "fd-slicer": "~1.1.0" 1209 | } 1210 | } 1211 | } 1212 | } 1213 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "jquery": "^3.7.1", 4 | "puppeteer": "^22.4.1" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /preview.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxRohowsky/best-github-profile-readme/499d2e878e90873f02587ba4e6057a0b0c597c02/preview.gif --------------------------------------------------------------------------------