Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

The library, ReactJS, that gives you the power to control your GitHub data, your projects on the portfolio / website, in your own GitHub in one place!

License

NotificationsYou must be signed in to change notification settings

digoarthur/github-automated-repos

Repository files navigation

English Português

banner_logo_github-automated-repos

GitHubNPM PaackageCodeFactorPRs Welcome


✅ github-automated-repos is the library,ReactJS, that gives you the power to control your GitHub data, your projects on the portfolio / website, in your own GitHub in one place!

❌ project.js files ( edit code )❌ GitHub API ( no data control )

github-automated-repos library

https://github-automated-repos.vercel.app

Contributing Guidelines



About Library   Hook Import  Fill the fields of the repository (GitHub)  Code Example   


Getting Start [ 6 steps ]

1. Installation

npm

npm install github-automated-repos

yarn

yarn add github-automated-repos

dots-horizontal-svgrepo-com (2)

2. Config. ReactQuery (ViteJS)

Important

Don’t forget to configure theReact Query!!! See NextJS code example.Code Example

import{ReactQueryProvider}from'github-automated-repos'createRoot(document.getElementById('root')!).render(<ReactQueryProvider><StrictMode><App/></StrictMode></ReactQueryProvider>,)

dots-horizontal-svgrepo-com (2)

3. Using hook ( useGitHubAutomatedRepos() )

Caution

❗❗ Don't forget to fill in the fields: your GitHubUsername and keyWord (chosen by you).

import{useGitHubAutomatedRepos}from"github-automated-repos";const{ data, isLoading, isLoadingError}=useGitHubAutomatedRepos("GitHubUsername","KeyWord");

dots-horizontal-svgrepo-com (2)

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 containbannerin the name. Insert your images in the following path: Ex.:

└── public      └── `bannerXYZ.png`       └── `bannerABC.svg`     ├── ...
dashgo_layoutdashfincaneiro_layoutproffy_layout

dots-horizontal-svgrepo-com (2)

5. Choose the repositories and fill in the Topics field with the keyword you determined.

image

Important

To insert stack names in the topics field, see web documentation or the table below. >Stack Icons

react-iconsNET_Core_Logomysql-logo-svgrepo-commongo-svgrepo-com (1)linux-svgrepo-comvueVitejs-logotypescripttailwind-svgrepo-comswiftswagger-svgrepo-com (1)storybooksqlite-svgrepo-com (1)spring-svgrepo-comscala-svgrepo-comsass-svgrepo-comruby-svgrepo-comRuby_On_Rails_Logoreact-query-seeklogo compython-svgrepo-comprismaprettier

StackIcons Table



LogoStack NameLogoStack NameLogoStack NameLogoStack Name
androidstudioandroidstudioangularangulararduinoarduinoawsaws
babelbabelbashbashbitbucketbitbucketblenderblender
bootstrapbootstrapcccanvacanvaclionclion
cppcppcsharpcsharpcss3css3dartdart
denojsdenojsdjangodjangodockerdockerdotnetcoredotnetcore
eclipseeclipseelixirelixireslinteslintexpoexpo
expressexpressfigmafigmafirebasefirebaseflaskflask
flutterfluttergatsbygatsbygimpgimpgitgit
gogogooglecloudgooglecloudgraphqlgraphqlgruntgrunt
gulpjsgulpjshaskellhaskellherokuherokuhtml5html5
huskyhuskyinkscapeinkscapejavajavajavascriptjavascript
jenkinsjenkinsjestjestjirajirajqueryjquery
jupyterjupyterkotlinkotlinkuberneteskuberneteslaravellaravel
linuxlinuxlualuamarkdownmarkdownmaterialuimaterialui
mongodbmongodbmysqlmysqlnestjsnestjsnetcorenetcore
nextjsnextjsnodejsnodejsnpmnpmobjectcobjectc
pearlpearlphpphppostgresqlpostgresqlprettierprettier
prismaprismapycharmpycharmpythonpythonrr
railsrailsraspberrypiraspberrypireactreactreacticonsreacticons
reduxreduxrubyrubyrustrustsalesforcesalesforce
sasssassscalascalasequelizesequelizespringspring
sqlitesqlitestorybookstorybookstyledcomponentsstyledcomponentsswaggerswagger
switchswitchtailwindtailwindtypescripttypescriptvisualstudiovisualstudio
visualstudiocodevisualstudiocodevitejsvitejsvuejsvuejsyarnyarn

dots-horizontal-svgrepo-com (2)

6. ✅Ready! JSON - Data from repositories chosen by you!

Tip

Customize your cards your way

JSON - DATA

Data Example ~ console.log(data) ~

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)
IN PAGE WEB

[!TIP]Customize your cards your way!

portfolio_page




skills About Library

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!

Control your projects
Control your Projects
Customize and represent through icons.
Customize and represent through icons
In one place
In one place



Hook Import Import Library   

The github-automated-repos library imports 4 resources: hookuseGitHubAutomatedRepos,ReactQueryProvider ,StackIcons component andStackLabels component.

import{useGitHubAutomatedRepos,ReactQueryProvider,StackIcons,StackLabels}from'github-automated-repos';


The package imports 4 elements:

  • ReactQueryProvider tool used to optimize the requirements of the API. Don’t forget to set it up!Code Example

  • 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.

    const{ data, isLoading, isLoadingError}=useGitHubAutomatedRepos("GitHubUsername","KeyWord");
    • return data example:

    [{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:585693873name:"github-automated-repos"topics:(8)['automated','deploy','github','library', '}]
    • isLoading: while the data is not loaded, isLoading returns TRUE.

    if(isLoading){return<div> loading...</div>}
    • isLoadingError: will be true if the query failed while fetching for the first time.


  • 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 theStack Icons tab!

    data?.map((item)=>{return(    ...{item.topics.map((icon,index)=>{return(<StackIconskey={index}itemTopics={icon}className={}/>}    ...
    • Render component StackIcons example:

react-iconsNET_Core_Logomysql-logo-svgrepo-commongo-svgrepo-com (1)linux-svgrepo-comvueVitejs-logotypescripttailwind-svgrepo-comswiftswagger-svgrepo-com (1)storybooksqlite-svgrepo-com (1)spring-svgrepo-comscala-svgrepo-comsass-svgrepo-comruby-svgrepo-comRuby_On_Rails_Logoreact-query-seeklogo compython-svgrepo-comprismaprettier



  • 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 theStack Icons tab!

    data.map((item)=>{return(    ...{item.topics.map((icon,index)=>{return(<StackLabelskey={index}itemTopics={icon}className={}/>}    ...
    • Render component StackLabels example:






skills Fill in the fields in the github repository

Important

Pay attention to filling in each field of your repository on GitHub.

Example Cards Porftolio github-automated-repos


  • banner: this property returns a .PNG e .SVG image. For this to be possible, the name of the image file must containbannerin the name. Insert your images in the following path: Ex.:
└── public      └── `bannerXYZ.png`       └── `bannerABC.svg`     ├── ...
dashgo_layoutdashfincaneiro_layoutproffy_layout
  • 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.

homepage_Props

  • topics: array that brings information about the icons inStack Icons. 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.
topics_Props

  • name: this is the name of the repository. Refers to the field Settings / General / Repository name of your GitHub.
name_Props

  • description: this is the description given to your repository. Refers to the About /Description field of your GitHub.
description_Props



Code Example

NextJS React Query Config.

ViteJS ViteJSmain{.tsx/.jsx}

Import ReactQueryProvider component < main.tsx > - TOP OF THE CODE

import{ReactQueryProvider}from'github-automated-repos'

Use theReactQueryProvider component < main.tsx >

createRoot(document.getElementById('root')!).render(<ReactQueryProvider><StrictMode><App/></StrictMode></ReactQueryProvider>,)

NextJS NextJSlayout{.tsx/.jsx}

Important

If the app does not work, type the'use client;' at the top of thepage.tsx file andlayout.tsx.

Import ReactQueryProvider component < layout.tsx > - TOP OF THE CODE

'use client';import{ReactQueryProvider}from"github-automated-repos";

Use theReactQueryProvider component < layout.tsx >

return(<htmllang="en"><bodyclassName={`${geistSans.variable}${geistMono.variable} antialiased`}><ReactQueryProvider>{children}</ReactQueryProvider></body></html>);}

dots-horizontal-svgrepo-com (2)

App{.tsx/.jsx} orPage{.tsx/.jsx}

Caution

❗❗ Don't forget to fill in the fields: your GitHubUsername and keyWord (determined by you).

const{ data, isLoading, isLoadingError}=useGitHubAutomatedRepos("GitHubUsername","KeyWord");

JavascriptJavascript

Important

If theNextJS app does not work, type the'use client;' at the top of thepage.tsx file andlayout.tsx.

TOP OF THE CODE < page.tsx >

//'use client';import{StackIcons,StackLabels,useGitHubAutomatedRepos}from"github-automated-repos";

INSIDE IN FUNCTION < page.tsx >

{/*CSS STYLE <can be remove after>*/}conststyleCSS:{[key:string]:React.CSSProperties}={div:{display:'flex',alignItems:'center',flexDirection:'column'},logo:{width:'60rem',},section:{display:'flex',alignItems:'center',flexDirection:'column',marginBottom:'100px',},name:{fontSize:'30px',fontFamily:'cursive'},bannerDiv:{display:'flex',flexDirection:'row',justifyContent:'center',gap:"2px",},banner:{width:"250px"},componentsDiv:{display:'flex',flexDirection:'row',justifyContent:'center',gap:"10px"},description:{width:'700px'},LinksDiv:{display:'flex',gap:'10px',fontWeight:'500',color:'#646cff',textDecoration:'inherit',}}{/* ---------- HOOK ------ */}const{ data, isLoading}=useGitHubAutomatedRepos("GitHubUsername","KeyWord");if(isLoading){return<div> loading...</div>}return(<divstyle={styleCSS.div}><imgstyle={styleCSS.logo}src='https://github.com/user-attachments/assets/bb8f5688-6896-4e42-ac91-81f93fbeece0'></img>{data?.map((item,index)=>{return(<sectionstyle={styleCSS.section}key={index}>{/*Name / Title*/}<h2style={styleCSS.name}>{item.name}</h2>{/*Banner*/}<divstyle={styleCSS.bannerDiv}>{item.banner.map((item,index)=>{return(<imgstyle={styleCSS.banner}key={index}src={item}></img>)})}</div>{/*Topics - Components StackIcons & StackLabels*/}<divstyle={styleCSS.componentsDiv}>{item.topics.map((icon,index)=>{return(<divkey={index}><StackIconsclassName="stack_Icon"itemTopics={icon}/><StackLabelsclassName="stack_Label"itemTopics={icon}/></div>)})}</div>{/*Description*/}<pstyle={styleCSS.description}>{item.description}</p><divstyle={styleCSS.LinksDiv}>{/*Homepage*/}<ahref={item.homepage}><h3>🔗Homepage</h3></a>{/*html_url*/}<ahref={item.html_url}><h3>🔗Repository</h3></a></div></section>)})}</div>);



Love github-automated-repos? Give our repo a star ⭐⬆️ .

based in:Api Github

by:@digoarthurBrazil Flag

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp