UNPKG

github-automated-repos

Version:

A powerful React library that automatically displays and updates your GitHub repositories on your portfolio or personal website. Use simple React hooks to sync your GitHub projects and keep your developer portfolio always up to date.

768 lines (467 loc) 41.4 kB
<!--Commit changes --> <!-- VISUALIZAR NO VSCODE CTRL + K V --> <!-- BADGES https://www.youtube.com/watch?v=cRoBt6AZgjc https://dev.to/envoy_/150-badges-for-github-pnk BUILD BADGES https://shields.io ICONS https://simpleicons.org/?q=react EXEMPLO <a href="https://devdigoarthur.notion.site/Map-a87c73417a064372b122bf448f4c6ed4"> ![Alt ou título da imagem](https://img.shields.io/badge/-JavaScript-/?logo=JavaScript&logoColor=white&color=yellow)<a/> # JavaScript - Nome que aparece na Bag # logo=JavaScript - Muda a logo vide <https://simpleicons.org/?q=react> # color![brazil-flag](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/617d5c28-7bb7-4972-bdba-7432e75cc6e5) =yellow - Define a cor da bag vide <https://shields.io> # logoColor=white - Define a cor do icone https://user-images.githubusercontent.com/59892368/219479919-5e84de50-6b7d-4d42-bb6d-a466b450db84.svg --> <!------------------------------------ --------------------> <!------------------------------------ LANGUAGE BUTTONS--> <!------------------------------------ --------------------> <p align="right"> <a href="https://github.com/DIGOARTHUR/github-automated-repos#readme"> <img height="22" src="https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/257623321-95c81f57-b751-4956-b0ab-7a804ae44506.svg" alt="English" border="0"> <a/> &nbsp; <a href="https://github.com/DIGOARTHUR/github-automated-repos/blob/main/README_PT.md"> <img alt="Português" height="22" src="https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/288551794-f50cff19-7ef7-41c4-81b5-b091ebd0f498.svg"> <a/> </p> <!------------------------------------ --------------------> <!------------------------------------ PROJECT BANNER--> <!------------------------------------ --------------------> <img alt="banner_logo_github-automated-repos" src="https://github.com/user-attachments/assets/f0fbbf5a-fb96-49ec-8be4-c7b9e7b0b17b"> <br> <br> <!------------------------------------ --------------------> <!------------------------------------SHIELDS PROJECT--> <!------------------------------------ --------------------> <div align="center"> ![GitHub](https://img.shields.io/github/license/digoarthur/github-automated-repos?color=9F9FAC) ![NPM Paackage](https://img.shields.io/npm/v/github-automated-repos?color=blue&label=NPM%20package&logo=NPM&logoColor=CB3837) ![CodeFactor](https://img.shields.io/codefactor/grade/github/digoarthur/github-automated-repos?color=brightgreen&label=Code%20Quality&logo=codefactor) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgree.svg)]( ) </div> <!------------------------------------ ----------------------------> <!------------------------------------ PROJECT SHORT DESCRIPTION--> <!------------------------------------ ---------------------------> <p align="center"> <br> ✅ github-automated-repos is the library,<code>ReactJS</code>, that gives you the power to control your GitHub data, your projects on the portfolio / website, in your own GitHub in one place!</i> <br> <br> ❌ project.js files ( edit code ) ❌ GitHub API ( no data control ) </p> <p align="center"> <img alt="github-automated-repos library" src="https://github.com/user-attachments/assets/78ac832b-9e01-4fc2-9bdd-32b533e2ed83"> </p> <!--- • Install lib `github-automated-repos` ➥ <br> • Configure the useGitHubAutomatedRepos hook with your GitHubUsername and KeyWord <br> • Ready! Now all projects can be managed on their own `GitHub`, in the `Topics field`. --> <!------------------------------------ --------------------> <!------------------------------------LINKS--> <!------------------------------------ --------------------> <p align="center"> <a href="https://github-automated-repos.vercel.app"><strong>https://github-automated-repos.vercel.app</strong></a> <br> </p> <p align="center"> <a href="CONTRIBUTING.md">Contributing Guidelines</a> <br> <br> </p> <br> <br> <!------------------------------------ --------------------> <!------------------------------------SUMMARY--> <!------------------------------------ --------------------> <p align="center" alt="github-automated-repos summary"> <a href="https://github.com/digoarthur/github-automated-repos?tab=readme-ov-file#init---cli"> <img src="https://github.com/user-attachments/assets/d257063a-cc08-4b34-abac-a8babc84f2a5" alt="init - CLI" border="0"> <a/>&nbsp;&nbsp; <a href="https://github.com/digoarthur/github-automated-repos?tab=readme-ov-file#--stack-icons"> <img src="https://github.com/user-attachments/assets/c0dd0201-8bf7-4c98-9c32-5beec64b2391" alt="Stack Icons" border="0"> <a/>&nbsp;&nbsp; <a href="https://github.com/digoarthur/github-automated-repos?tab=readme-ov-file#--hook--components"> <img src="https://github.com/user-attachments/assets/d0abe7af-f6ca-4d41-b881-f49af94b051a" alt="Hook & Components" border="0"> <a/> &nbsp;&nbsp; <a href="https://github.com/digoarthur/github-automated-repos?tab=readme-ov-file#-fill-in-the-fields-in-the-github-repository"> <img src="https://github.com/user-attachments/assets/1d66d03c-8b53-4752-a6a8-6c23672b82871" alt="Fill the fields of the repository (GitHub)" border="0"> <a/>&nbsp;&nbsp; <a href="https://github.com/digoarthur/github-automated-repos?tab=readme-ov-file#-react-query-config"> <img src="https://github.com/user-attachments/assets/45292a01-343a-422c-8500-2616ac5a2af3" alt="React Query Config." border="0"> <a/>&nbsp;&nbsp; </p> <!-------------------------------------------------- --> <!------------------------------------------ DESCRIPTION--> <!-------------------------------------------------- --> # <img alt="skills" width="40" height="40" src="https://user-images.githubusercontent.com/59892368/148622497-164365e8-f6b0-4f40-bc75-a0ed4da6059b.png"> About Library <!---write here : talk a little about project: what's does, example. --> > This library automates the view your GitHub projects on your porfolio / website in one place. But how? Make the code configuration only once in your application with github-automated-repos, and manage the view of your projects on GitHub in the Topics field. Choose which project will be seen, and you can even customize your project card, for example, with a representative icon and show which stacks were used. All in one place! <details> <summary> Details </summary> | Control your projects | | :-------------------------------------------------------------------: | | ![Control your Projects](https://user-images.githubusercontent.com/59892368/214140611-910cd26b-280d-48f1-8652-65034f04a4f8.gif) | | Customize and represent through icons. | | :--------------------------------------------------------------: | | ![Customize and represent through icons](https://user-images.githubusercontent.com/59892368/214817180-519e403f-0fa4-4bfd-a6cc-5eb63d3360e8.gif)| | In one place | | :-------------------------------------------------------------------: | | ![In one place](https://user-images.githubusercontent.com/59892368/214930109-119c4b38-9862-4a3d-a130-2dfad5c4bcb6.gif)| </details> <br/> <br/> <!------------------------------------ --------------------> <!------------------------------------GETTING START--> <!------------------------------------ --------------------> ---- # init - CLI ## 1. Run Command ```yaml npx github-automated-repos-cli init ``` <div align="center"> ![dots-horizontal-svgrepo-com (2)](https://github.com/user-attachments/assets/8914275f-9f76-4ff5-be40-e1b36c603633) </div> ## 2. Enter data #### 🦑 GitHub Username You will be prompted to enter your GitHub username. > This is used to fetch your public repositories directly from GitHub. ```yaml ✔ GitHub username: xxxxxx ``` #### 🔑 Keyword (Repository Filter) Next, you’ll choose a keyword (for example: <code> attached </code>, <code>portfolio </code>, <code>featured </code>). > This keyword will be used to filter repositories via the GitHub Topics field. ```yaml ✔ Keyword to filter (e.g. 'attached'): attached ``` > [!IMPORTANT] > Don't forget to enter your Keyword in the Topics field of each project so it appears on the generated page. ![image](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/9a0a0aaf-02e8-4a7f-8390-6e7fb4a3ea53) <div align="center"> ![dots-horizontal-svgrepo-com (2)](https://github.com/user-attachments/assets/8914275f-9f76-4ff5-be40-e1b36c603633) </div> ## 3. Terminal Result ```yaml √ Target file already exists: C:\Users\Leveling IT\Desktop\Person-Page\testenext\app\projects\page.tsx What would you like to do? » Overwrite ✔ GitHub username: digoarthur ✔ Keyword to filter (e.g. 'attached'): attached ✔ Template ready. ✔ File created at: C:\Users\Leveling IT\Desktop\Person-Page\testenext\app\projects\page.tsx ✨ Your project page is ready! 🔗 http://localhost:3000/projects Init finished successfully. ``` <div align="center"> ![dots-horizontal-svgrepo-com (2)](https://github.com/user-attachments/assets/8914275f-9f76-4ff5-be40-e1b36c603633) </div> ## 4. Banner > Insert banner, layout images to represent your project. Types are `.PNG` and `.SVG`. For this to be possible, the name of the image file must contain `banner`in the name. Insert your images in the following path: Ex.: ``` └── public └── `bannerXYZ.png` └── `bannerABC.svg` ├── ... ``` <div align="center"> <img alt="dashgo_layout" height="150" src="https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/68f59bce-0d8f-4cea-81c9-01596d97f47e"> <img alt="dashfincaneiro_layout" height="150" src="https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/86dac1db-d04a-462b-a2ea-f00db264dbad"> <img alt="proffy_layout" height="150" src="https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/bfcd0785-ce8a-4327-8b8b-5de495528c3f"> </div> <div align="center"> ![dots-horizontal-svgrepo-com (2)](https://github.com/user-attachments/assets/8914275f-9f76-4ff5-be40-e1b36c603633) </div> ## 5. Choose the repositories and fill in the Topics field with the keyword you determined. ![image](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/9a0a0aaf-02e8-4a7f-8390-6e7fb4a3ea53) > [!IMPORTANT] > To insert stack names in the topics field, see web documentation or the table below. > [Stack Icons](https://github.com/digoarthur/github-automated-repos?tab=readme-ov-file#--stack-icons) <div align="center" alt='stackIcons List'> ![react-icons](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/876a12c4-93fa-4eb3-908c-b7c36ded395c) ![NET_Core_Logo](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/6cad1fdc-d3bb-4adb-9b14-bec1977aaee1) ![mysql-logo-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/8690e53e-5787-48b1-8adc-29c90e56fd42) ![mongo-svgrepo-com (1)](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/7cd5a1ec-ea87-4d7e-8429-1e3fcff03f49) ![linux-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/79ac45a3-5958-4efe-a3e6-90c135d2b466) ![vue](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/07dcaa25-215a-45a8-b783-2c97626c1639) ![Vitejs-logo](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/05cf8a94-895c-4249-8636-f1d2a0ea165b) ![typescript](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/ebd5f88a-7915-4cb5-9109-6f3fc5db9fec) ![tailwind-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/6af503c9-efdc-4e83-9ba7-c910476a8642) ![swift](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/355549ea-87e2-4afd-83a9-2f9cb56c7c49) ![swagger-svgrepo-com (1)](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/fce6e2aa-ecc8-4995-bc3f-68b225f0f0d7) ![storybook](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/453d2e70-dc15-4fb3-b75e-4ea35cbe472b) ![sqlite-svgrepo-com (1)](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/ffb1f056-97ee-4bd1-b5be-4b8f87b6ac9d) ![spring-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/3c36d340-e16c-458e-b39c-eef7051aaf74) ![scala-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/a65edf82-e0ea-4a8e-90b2-e284593684ec) ![sass-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/7fd8a1af-290f-499f-8691-360c6511cc7b) ![ruby-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/3d2bd96d-e9cd-4566-b58e-a6bb9d907aa0) ![Ruby_On_Rails_Logo](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/c755be70-ba40-48ae-84f1-65ab791835ec) ![react-query-seeklogo com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/eb3732e9-d3a9-4f9f-b706-8969557681aa) ![python-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/1cd247af-dabd-41dc-97c5-311944661278) ![prisma](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/b7355d54-3cd1-4750-8192-e4bdb4b774c8) ![prettier](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/809a2edc-c11a-4645-bc44-c97e546fdadf) </div> <div align="center"> ![dots-horizontal-svgrepo-com (2)](https://github.com/user-attachments/assets/8914275f-9f76-4ff5-be40-e1b36c603633) </div> ## 6. ✅Ready! JSON - Data from repositories chosen by you! > [!TIP] > Customize your cards your way <details> <summary>JSON - DATA</summary> ### Data Example ~ console.log(data) ~ ```javascript Array(4) 0 : {id: 517152367, name: 'Dashgo', html_url: 'https://github.com/DIGOARTHUR/Dashgo', description: 'IGNITE - Trilha ReactJS/ - Neste projeto é aplicad…ate, Components, Props. Recursos do JS como: Map.', topics: Array(7), …} 1 : {id: 482667387, name: 'DashBoard-Financeiro', html_url: 'https://github.com/DIGOARTHUR/DashBoard-Financeiro', description: 'IGNITE - Trilha ReactJS/ Chapter II - Esta aplicaç…mpanhamento de valores de entrada, saída e total.', topics: Array(6), …} 2 : {id: 412849316, name: 'Task.TODO', html_url: 'https://github.com/DIGOARTHUR/Task.TODO', description: 'IGNITE - Trilha ReactJS/ - Este projeto aborda con…Filter e Math, Spread. E para estilização o SASS.', topics: Array(7), …} 3 : {id: 355616217, name: 'Move.it', html_url: 'https://github.com/DIGOARTHUR/Move.it', description: 'NLW#04 - Rocketseat - Utilizando a técnica Pomodor… o objetivo é executar a tarefa do seu interesse.', topics: Array(8), …} length : 4 [[Prototype]] : Array(0) ``` </details> <details> <summary>IN PAGE WEB</summary> > [!TIP] > Customize your cards your way! ![portfolio_page](https://github.com/user-attachments/assets/73a4e4a4-fc3e-47e3-8bdd-0117e22df51e) </details> </br> --- </br> <!-----------------------------------------------------------> <!--------------------------- STACK ICONS TABLE -------------> <!--------------------------------------------------------- --> # <img width="50" height="50" alt="hook-svgrepo-com" src="https://github.com/user-attachments/assets/e91139f9-e37e-43d8-9fea-0283ef9537c5" /> Stack Icons > Stack icons for you to customize your cards; insert the labels in the Topics field of your repository. <details> <br/> <br/> <div align='center'> | Logo | Stack Name | Logo | Stack Name | Logo | Stack Name | Logo | Stack Name | | :---: | --- | :---: | --- | :---: | --- | :---: | --- | | ![androidstudio](https://user-images.githubusercontent.com/59892368/216783644-f664d47c-f686-496d-8073-2e83b2b469ab.svg) | `androidstudio` | ![angular](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/287532135-7c81a717-da75-4aeb-ab22-95fc2a3254be.svg) | `angular` | ![arduino](https://user-images.githubusercontent.com/59892368/216785825-af6a605c-6ca3-4bb5-9889-31ad818fb20b.svg) | `arduino` | ![aws](https://user-images.githubusercontent.com/59892368/215260536-748d14f8-5242-4d5a-9faf-6d62ed38a87a.svg) | `aws` | | ![babel](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285172839-1483ec96-ea00-4fa4-8daa-5b6c48294d4c.svg) | `babel` | ![bash](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/279798875-371442d4-bd43-4597-8075-ff506529c123.svg) | `bash` | ![bitbucket](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285174758-c7b4d643-1b6c-4281-9e1e-a59ff4a8b36a.svg) | `bitbucket` | ![blender](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285182560-49ae39de-ad6b-4b96-be9f-cddb58b2406c.svg) | `blender` | | ![bootstrap](https://user-images.githubusercontent.com/59892368/218274368-89a94705-c5b1-42a6-813d-4aaa2a1334e3.svg) | `bootstrap` | ![c](https://user-images.githubusercontent.com/59892368/215260535-be3713a8-d075-4c85-88ca-4b3703f9e7b3.svg) | `c` | ![canva](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/287774022-8ae44b49-fbef-4868-b441-24a37490be36.svg) | `canva` | ![clion](https://user-images.githubusercontent.com/59892368/216813068-bc05f852-f006-4ff6-85e2-d8988f6afbf9.svg) | `clion` | | ![cpp](https://user-images.githubusercontent.com/59892368/215260533-1ede6b38-7c51-4c89-ac2c-a1195c2b912b.svg) | `cpp` | ![csharp](https://user-images.githubusercontent.com/59892368/215260532-33106206-6ca4-4d11-bdc3-9171491979a5.svg) | `csharp` | ![css3](https://user-images.githubusercontent.com/59892368/210762519-fc191098-1198-4668-9eb5-d0c1481da8c7.svg) | `css3` | ![dart](https://user-images.githubusercontent.com/59892368/215260531-179da616-9fc3-41de-99ed-15dddf2d021b.svg) | `dart` | | ![denojs](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/287532091-b11ecf66-5fb2-4158-b48a-99afc85c6a2b.svg) | `denojs` | ![django](https://user-images.githubusercontent.com/59892368/215260529-5fb18a51-b2bc-4092-8a87-f051f89dd30e.svg) | `django` | ![docker](https://user-images.githubusercontent.com/59892368/215260528-b50b803d-a037-4572-812b-95801f48c2bd.svg) | `docker` | ![dotnetcore](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/287774015-b4e62d28-bb35-4eb0-b10a-580db7ea0fed.svg) | `dotnetcore` | | ![eclipse](https://user-images.githubusercontent.com/59892368/216813192-3088dc66-c68e-4e06-b7d0-c7443e3230ed.svg) | `eclipse` | ![elixir](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285177064-e7a06c1c-26a2-4d1c-8bde-59ec2c954d5f.svg) | `elixir` | ![eslint](https://user-images.githubusercontent.com/59892368/215260527-373e10c7-04d3-45c5-98b4-74bf586de7f6.svg) | `eslint` | ![expo](https://user-images.githubusercontent.com/59892368/210762516-b48ee0ef-9d7b-4d86-951b-b80515c39783.svg) | `expo` | | ![express](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285176547-ffc3317a-e03a-46ee-8bf0-a2566d2513fe.svg) | `express` | ![figma](https://user-images.githubusercontent.com/59892368/215260525-924e0be5-1f36-4d70-a21b-40382b01dab4.svg) | `figma` | ![firebase](https://user-images.githubusercontent.com/59892368/215260523-f958d8c1-8634-4b2c-a880-437f98b1538d.svg) | `firebase` | ![flask](https://user-images.githubusercontent.com/59892368/215260521-e80bde19-b70d-4866-8ef7-a836dd819e17.svg) | `flask` | | ![flutter](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285177284-da3ab306-20d2-4048-a847-98c71b0468de.svg) | `flutter` | ![gatsby](https://user-images.githubusercontent.com/59892368/215260520-8e935c1a-46b2-451b-a87c-e9f4e7c081c4.svg) | `gatsby` | ![gimp](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285177524-25e4a00e-e4f9-442b-a2b2-3f22c07be75e.svg) | `gimp` | ![git](https://user-images.githubusercontent.com/59892368/218274559-3cb134c3-4086-4c49-9f82-fe98f2469bbb.svg) | `git` | | ![go](https://user-images.githubusercontent.com/59892368/215260519-e619fbd8-c518-477b-9327-a3afa23f988e.svg) | `go` | ![googlecloud](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285177670-cebc6b57-79e3-48df-b896-6d20f19073f0.svg) | `googlecloud` | ![graphql](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/279800785-18c9f9d5-f09d-49ab-ab4d-5ca358a967d4.svg) | `graphql` | ![grunt](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285177779-acc162d2-85f3-412f-9399-f9573eb83942.svg) | `grunt` | | ![gulpjs](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/287774029-c2eb189c-a8a1-4d02-8824-b185e176242a.svg) | `gulpjs` | ![haskell](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285179295-4b4ca6ff-f290-4bfb-bb93-a6b8f35baee9.svg) | `haskell` | ![heroku](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285179420-bd38fb43-1f35-408b-94d1-25de832db6e4.svg) | `heroku` | ![html5](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/287469126-74b9f4a1-6862-40a4-bd56-311ce688db46.svg) | `html5` | | ![husky](https://user-images.githubusercontent.com/59892368/218274511-2650c740-a811-4b66-8d81-bf3d855d41f7.svg) | `husky` | ![inkscape](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285179695-f0de754a-958f-49e4-8bd9-1b099ea18c23.svg) | `inkscape` | ![java](https://user-images.githubusercontent.com/59892368/215260518-171e0fb1-1cd7-4097-bcba-05089c6adf46.svg) | `java` | ![javascript](https://user-images.githubusercontent.com/59892368/210762520-8226f647-a814-4723-8e6d-ed0334550838.svg) | `javascript` | | ![jenkins](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285179842-dc8fff7f-707a-4a2e-92e9-9e26d22031d7.svg) | `jenkins` | ![jest](https://user-images.githubusercontent.com/59892368/218274370-1e098c22-99fd-4514-b91f-0c4b38f5f888.svg) | `jest` | ![jira](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285179925-970136fc-83db-45bc-ba55-748383c44fd2.svg) | `jira` | ![jquery](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285180200-2545ece8-ef19-4b0f-a2e5-b548eb20abd7.svg) | `jquery` | | ![jupyter](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285180478-c04f5231-ffcc-498b-9f21-8f95ce165263.svg) | `jupyter` | ![kotlin](https://user-images.githubusercontent.com/59892368/215260517-8904a569-d2ec-48c4-8adc-660e929db93e.svg) | `kotlin` | ![kubernetes](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/287774027-6a7ef271-a387-464b-a622-c92ae83985e3.svg) | `kubernetes` | ![laravel](https://user-images.githubusercontent.com/59892368/215260515-4f3075d5-ce25-4824-87ff-736ccaf42311.svg) | `laravel` | | ![linux](https://user-images.githubusercontent.com/59892368/215260512-04a0d227-c913-4946-9ff4-b3fb691df5ff.svg) | `linux` | ![lua](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285180569-c8f60987-7e27-4c96-aef5-51059342747b.svg) | `lua` | ![markdown](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285180652-eb00dd78-63da-4a4a-96e0-c01c480c2d49.svg) | `markdown` | ![materialui](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285181152-550217a1-f188-4127-9a24-fc85f18b518d.svg) | `materialui` | | ![mongodb](https://user-images.githubusercontent.com/59892368/215260514-a4f02cca-c530-4de2-88ee-5250b24a1456.svg) | `mongodb` | ![mysql](https://user-images.githubusercontent.com/59892368/218274731-13fe41e3-ebf9-4bbb-a7d7-c8d43bf46c53.svg) | `mysql` | ![nestjs](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285181240-83984ea0-7fc3-4b55-b423-90ce2a1c911a.svg) | `nestjs` | ![netcore](https://user-images.githubusercontent.com/59892368/215260510-b72be359-f22b-4751-a8ab-41cd4f51c9c9.svg) | `netcore` | | ![nextjs](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/287532311-d8f52862-314c-4be7-aac4-7966823ac3cd.svg) | `nextjs` | ![nodejs](https://user-images.githubusercontent.com/59892368/210762525-21dfac80-b121-4517-b3dd-3f62fe413d5a.svg) | `nodejs` | ![npm](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/287469113-6498d9f5-9884-43fd-b203-e9ae7de0984e.svg) | `npm` | ![objectc](https://user-images.githubusercontent.com/59892368/215260537-d56e6052-6182-4edb-a770-842de3b8c24f.svg) | `objectc` | | ![pearl](https://user-images.githubusercontent.com/59892368/218274369-fd7185b0-d50c-46fd-8ee1-c6bf36f1ccc6.svg) | `pearl` | ![php](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/287532082-10413e00-ab9c-4731-a4f6-578394d91e90.svg) | `php` | ![postgresql](https://user-images.githubusercontent.com/59892368/215260507-a1ab30ad-16c5-48b6-8442-4258d3fc828f.svg) | `postgresql` | ![prettier](https://user-images.githubusercontent.com/59892368/215260503-ce103bd2-0249-4be4-9a52-cd3044b30728.svg) | `prettier` | | ![prisma](https://user-images.githubusercontent.com/59892368/215260501-ff824fa1-ef05-4de7-af76-1586fc2ac91b.svg) | `prisma` | ![pycharm](https://user-images.githubusercontent.com/59892368/232259760-ec701be5-d9b6-408f-8581-f49e9713d301.svg) | `pycharm` | ![python](https://user-images.githubusercontent.com/59892368/215260500-73b6c85e-d843-4820-a771-b8bdb23ed2d2.svg) | `python` | ![r](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285181945-6a0d5457-5efa-44be-9af9-1064cd535910.svg) | `r` | | ![rails](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285182048-4a59a52f-b518-4893-b488-0732fd591e17.svg) | `rails` | ![raspberrypi](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285181866-3260e7c9-ef30-469f-82d7-7f301622c7cf.svg) | `raspberrypi` | ![react](https://user-images.githubusercontent.com/59892368/210763677-ee1a0283-eea7-45de-9589-86d7c50a8cb0.svg) | `react` | ![reacticons](https://user-images.githubusercontent.com/59892368/210762509-d3078bc5-8c0c-4765-84f7-cf52532215d4.svg) | `reacticons` | | ![redux](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285182129-c6253fa0-0b1a-4281-9e6e-f55c3278beb6.svg) | `redux` | ![ruby](https://user-images.githubusercontent.com/59892368/215260498-fefc4d46-7ff1-470c-a011-f73fe070c798.svg) | `ruby` | ![rust](https://user-images.githubusercontent.com/59892368/215260552-e120de00-00a0-4058-9e6f-83e10f552844.svg) | `rust` | ![salesforce](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285182197-ff6e769b-a788-41e1-aea5-30af093f0d0b.svg) | `salesforce` | | ![sass](https://user-images.githubusercontent.com/59892368/210762521-7383ac1d-c896-4829-b531-61c9a4f0d7ea.svg) | `sass` | ![scala](https://user-images.githubusercontent.com/59892368/215260549-52bfb07f-bbf8-47fe-bc69-222c6211520a.svg) | `scala` | ![sequelize](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/285182291-2166a7ff-8217-4dc9-91e2-136a3ff7cd4e.svg) | `sequelize` | ![spring](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/287532120-3da3c4d2-8b53-42b7-a0f6-a14487a6f291.svg) | `spring` | | ![sqlite](https://user-images.githubusercontent.com/59892368/215260548-83c41e10-09c6-4ddf-8e12-f56746d6b0f6.svg) | `sqlite` | ![storybook](https://user-images.githubusercontent.com/59892368/215260547-8d55e026-9652-45af-81b7-54f8e4c04d87.svg) | `storybook` | ![styledcomponents](https://user-images.githubusercontent.com/59892368/210762512-f8123c30-3992-4789-abe0-314fdcf45fe3.svg) | `styledcomponents` | ![swagger](https://user-images.githubusercontent.com/59892368/215260545-7ecf92e0-a09f-459b-83aa-e7f7ace9c3dc.svg) | `swagger` | | ![switch](https://user-images.githubusercontent.com/59892368/215260544-65e39534-eff5-405d-8739-49271ce21d18.svg) | `switch` | ![tailwind](https://user-images.githubusercontent.com/59892368/215260543-69c977bb-072a-4ed8-bdbc-6d2319098fcf.svg) | `tailwind` | ![typescript](https://user-images.githubusercontent.com/59892368/210762527-ae3afe1f-fe36-46a9-98ad-35dbae4d1adf.svg) | `typescript` | ![visualstudio](https://user-images.githubusercontent.com/59892368/216786259-d508335d-169c-4d37-8bfc-152f1665dca3.svg) | `visualstudio` | | ![visualstudiocode](https://user-images.githubusercontent.com/59892368/216786258-69130dda-076f-4811-8ce9-e9d9bb37e603.svg) | `visualstudiocode` | ![vitejs](https://user-images.githubusercontent.com/59892368/218274365-3eae86f7-7953-4209-b5e7-466c8335caa2.svg) | `vitejs` | ![vuejs](https://user-images.githubusercontent.com/59892368/215260542-defd6142-e8a8-44f5-8c8a-c6dfaf3d114a.svg) | `vuejs` | ![yarn](https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/287774024-f3af28e4-40c9-4b02-b5e4-c33702c2fca0.svg) | `yarn` | </div> </details> </br> </br> </br> <!-----------------------------------------------------------> <!--------------------------- HOOK & COMPONENTS -------------> <!--------------------------------------------------------- --> # <img width="50" height="50" alt="hook-svgrepo-com" src="https://github.com/user-attachments/assets/9d0e91e7-d6f4-4a99-aed7-2aa8211d6e8f" /> <img width="50" height="50" alt="abstract" src="https://github.com/user-attachments/assets/228dc2cb-8aad-4d79-9d9a-71bd39e201af" /> Hook & Components > Learn more about the Hook and Components that render the Stack icons. <details> </p> <br> - `useGitHubAutomatedRepos` hook responsible for automating the return of data from repositories. This hook takes two parameters: GitHubUsername & keyword. The return is an array of objects containing 7 properties: id, banner, html_url, homepage, topics, name and description. ```tsx const { data, isLoading, isLoadingError } = useGitHubAutomatedRepos("GitHubUsername", "KeyWord"); ``` - #### return data example: ``` javascript [ { banner:"https://raw.githubusercontent.com/DIGOARTHUR/github-automated-repos/main/src/assets/images/banner.png" description: "The library that automates, in one place, the administration of your github projects on your website." homepage: "https://github-automated-repos.vercel.app" html_url: "https://github.com/DIGOARTHUR/github-automated-repos" id: 585693873 name: "github-automated-repos" topics: (8) ['automated', 'deploy', 'github', 'library', ' } ] ``` - #### isLoading: while the data is not loaded, isLoading returns TRUE. ```jsx if (isLoading) { return <div> loading...</div> } ``` - #### isLoadingError: will be true if the query failed while fetching for the first time. <br> - `StackIcons` The component returns, based on the iteration of the topic array that is contained in data, icons of the stacks used in your project. Enter the stacks used in your repository's topic field.. Check the [Stack Icons](https://github-automated-repos.vercel.app/documentation/stackIcons) tab! ```jsx data?.map((item) => { return ( ... {item.topics.map((icon, index) => { return ( <StackIcons key={index} itemTopics={ icon } className={ } /> } ... ``` - #### Render component StackIcons example: <div align="center"> ![react-icons](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/876a12c4-93fa-4eb3-908c-b7c36ded395c)![NET_Core_Logo](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/6cad1fdc-d3bb-4adb-9b14-bec1977aaee1) ![mysql-logo-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/8690e53e-5787-48b1-8adc-29c90e56fd42) ![mongo-svgrepo-com (1)](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/7cd5a1ec-ea87-4d7e-8429-1e3fcff03f49) ![linux-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/79ac45a3-5958-4efe-a3e6-90c135d2b466) ![vue](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/07dcaa25-215a-45a8-b783-2c97626c1639) ![Vitejs-logo](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/05cf8a94-895c-4249-8636-f1d2a0ea165b) ![typescript](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/ebd5f88a-7915-4cb5-9109-6f3fc5db9fec) ![tailwind-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/6af503c9-efdc-4e83-9ba7-c910476a8642) ![swift](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/355549ea-87e2-4afd-83a9-2f9cb56c7c49) ![swagger-svgrepo-com (1)](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/fce6e2aa-ecc8-4995-bc3f-68b225f0f0d7) ![storybook](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/453d2e70-dc15-4fb3-b75e-4ea35cbe472b) ![sqlite-svgrepo-com (1)](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/ffb1f056-97ee-4bd1-b5be-4b8f87b6ac9d) ![spring-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/3c36d340-e16c-458e-b39c-eef7051aaf74) ![scala-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/a65edf82-e0ea-4a8e-90b2-e284593684ec) ![sass-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/7fd8a1af-290f-499f-8691-360c6511cc7b) ![ruby-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/3d2bd96d-e9cd-4566-b58e-a6bb9d907aa0) ![Ruby_On_Rails_Logo](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/c755be70-ba40-48ae-84f1-65ab791835ec) ![react-query-seeklogo com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/eb3732e9-d3a9-4f9f-b706-8969557681aa) ![python-svgrepo-com](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/1cd247af-dabd-41dc-97c5-311944661278) ![prisma](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/b7355d54-3cd1-4750-8192-e4bdb4b774c8) ![prettier](https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/809a2edc-c11a-4645-bc44-c97e546fdadf) </div> <br> <br> - `StackLabels` component returns, based on the iteration of the topics array that is contained in data, labels of the stacks used in your project. Insert the stacks used in the topics field of your repository. Check the [Stack Icons](https://github-automated-repos.vercel.app/documentation/stackIcons) tab! ```jsx data.map((item) => { return ( ... {item.topics.map((icon, index) => { return ( <StackLabels key={ index } itemTopics={ icon } className={ } /> } ... ``` - #### Render component StackLabels example: <div align="center"> ![](https://img.shields.io/badge/angular-%23646cff?style=plastic) ![](https://img.shields.io/badge/javascript-%23646cff?style=plastic) ![](https://img.shields.io/badge/aws-%23646cff?style=plastic) ![](https://img.shields.io/badge/elixir-%23646cff?style=plastic) ![](https://img.shields.io/badge/jest-%23646cff?style=plastic) ![](https://img.shields.io/badge/mongodb-%23646cff?style=plastic) ![](https://img.shields.io/badge/react-%23646cff?style=plastic) ![](https://img.shields.io/badge/salesforce-%23646cff?style=plastic) ![](https://img.shields.io/badge/vuejs-%23646cff?style=plastic) ![](https://img.shields.io/badge/yarn-%23646cff?style=plastic) ![](https://img.shields.io/badge/visualstudio-%23646cff?style=plastic) ![](https://img.shields.io/badge/storybook-%23646cff?style=plastic) ![](https://img.shields.io/badge/sass-%23646cff?style=plastic) ![](https://img.shields.io/badge/mysql-%23646cff?style=plastic) </div> <br> <br> </div> </details> </br> </br> </br> <!------------------------------------ --------------------> <!------------------------------------ FILL IN THE FIELDS --> <!------------------------------------ --------------------> # <img alt="skills" width="40" height="40" src="https://github.com/user-attachments/assets/403167b1-57eb-4ee9-818d-a591c6885f91"> Fill in the fields in the github repository > [!IMPORTANT] > Pay attention to filling in each field of your repository on GitHub. <details> <br/> - `banner`: this property returns a .PNG e .SVG image. For this to be possible, the name of the image file must contain `banner`in the name. Insert your images in the following path: Ex.: ``` └── public └── `bannerXYZ.png` └── `bannerABC.svg` ├── ... ``` <div align="center"> <img alt="dashgo_layout" height="150" src="https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/68f59bce-0d8f-4cea-81c9-01596d97f47e"> <img alt="dashfincaneiro_layout" height="150" src="https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/86dac1db-d04a-462b-a2ea-f00db264dbad"> <img alt="proffy_layout" height="150" src="https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/bfcd0785-ce8a-4327-8b8b-5de495528c3f"> </div> - `id`: repository identification number. Used as parameter in the key tag. ( *This field does not need to be filled in.* ) - `html_url`: repository link. Used as the link of access. ( *This field does not need to be filled in.* ) - `homepage`: it's the access link to the built page, page deploy. About / Website of your GitHub. <div align="center"> <img alt="homepage_Props" src="https://user-images.githubusercontent.com/59892368/219116735-a026d9b9-f5b9-4389-b8f1-619db2488368.png"> </div> <br> - `topics`: array that brings information about the icons in [Stack Icons](https://github-automated-repos.vercel.app/stackicons). Used in both StackLabels e StackIcon components. It is in this field that is passed the key configured in the hook. Refers to the field About / Topics of your GitHub. <div align="center"> <img alt="topics_Props" src="https://github.com/user-attachments/assets/00b55402-c64b-49c4-982f-8b90a6c12ce8"> </div> <br> - `name`: this is the name of the repository. Refers to the field Settings / General / Repository name of your GitHub. <div align="center"> <img alt="name_Props" src="https://user-images.githubusercontent.com/59892368/219117097-43db2497-7f62-428e-85c6-ef3656da4cd2.png"> </div> <br> - `description`: this is the description given to your repository. Refers to the About /Description field of your GitHub. <div align="center"> <img alt="description_Props" src="https://user-images.githubusercontent.com/59892368/219117260-5bdb1fbb-c58b-4ad9-938a-068b58c72f27.png"> </div> </details> ![Example Cards Porftolio github-automated-repos](https://github.com/user-attachments/assets/b7bf498f-6d21-4d34-8807-b8d6e27cb9e8) </br> </br> </br> <!-----------------------------------------------------------> <!--------------------------- REACT QUERY -------------> <!--------------------------------------------------------- --> # <img alt="NextJS" width="50" height="50" src="https://github.com/DIGOARTHUR/github-automated-repos/assets/59892368/eb3732e9-d3a9-4f9f-b706-8969557681aa"> React Query Config. > [!NOTE] > Follow the official standard React Query installation instructions. ```tsx import { useGitHubAutomatedRepos, StackIcons, StackLabels } from "github-automated-repos/react-query"; ``` #### Hook Example: ```tsx // Usage Example + [ React Query ] const { data, isLoading } = useGitHubAutomatedRepos('digoarthur', 'attached', { refetchInterval: 300000, // 5 minutes refetchOnWindowFocus: false, staleTime: 10 * 60 * 1000, // 10 minutes }); ``` <br> <br> --- <br> <br> **Love github-automated-repos? Give our repo a star ⭐ [⬆️](https://github.com/DIGOARTHUR/github-automated-repos) .** `based in:` [Api Github](https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#get-a-repository) `by`: [@digoarthur](https://www.linkedin.com/in/digoarthur/) <a href="https://youtu.be/dQw4w9WgXcQ?si=VBzREBlncKuPTYBs"> <img src="https://github.com/user-attachments/assets/f45f0115-761e-4207-a9d9-dddacfb5b96b" alt="Brazil Flag" width="20" /> </a> <div align="center"> **[github-automated-repos-cli](https://github.com/digoarthur/github-automated-repos-cli)** </div>