<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Arup Mandal</title>
    <description>The latest articles on DEV Community by Arup Mandal (@iamarupmandal).</description>
    <link>https://dev.to/iamarupmandal</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F624569%2F7327fda3-e3a6-45da-a6d3-ed22fc92a705.png</url>
      <title>DEV Community: Arup Mandal</title>
      <link>https://dev.to/iamarupmandal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/iamarupmandal"/>
    <language>en</language>
    <item>
      <title>Convert Github Repos To A Portfolio Website</title>
      <dc:creator>Arup Mandal</dc:creator>
      <pubDate>Mon, 01 Aug 2022 09:25:41 +0000</pubDate>
      <link>https://dev.to/iamarupmandal/convert-github-repos-to-a-portfolio-website-5g2h</link>
      <guid>https://dev.to/iamarupmandal/convert-github-repos-to-a-portfolio-website-5g2h</guid>
      <description>&lt;h2&gt;
  
  
  Introducing Projects
&lt;/h2&gt;

&lt;p&gt;Present all your projects in style with a super customizable web app! ✨&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Projects&lt;/code&gt; uses the GitHub API to list all your GitHub projects in a nice searchable grid.&lt;br&gt;
Also shows pretty programming icons using &lt;code&gt;devicons&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Inspiration
&lt;/h2&gt;

&lt;p&gt;Needed a way to display all my projects, used my portfolio's project section as inspiration&lt;/p&gt;
&lt;h2&gt;
  
  
  Getting Projects
&lt;/h2&gt;

&lt;p&gt;To get projects, follow these steps:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/arupmandal/arupmandalV2
cd projects
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Setup Your Own Projects
&lt;/h2&gt;

&lt;p&gt;You can easily set up projects to show your own repos.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Fork the repo&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Clone it&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open up &lt;code&gt;script.js&lt;/code&gt; and update the &lt;code&gt;username&lt;/code&gt; variable to your GitHub username.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open up &lt;code&gt;index.html&lt;/code&gt; and update the &lt;code&gt;title&lt;/code&gt; tag to make it your username.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You may also want to update the favicon too, update the &lt;code&gt;link&lt;/code&gt; tag in &lt;code&gt;index.html&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Push your changes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Go to repo settings on GitHub and enable GitHub Pages.&lt;br&gt;
The site should be live on &lt;code&gt;https://&amp;lt;your-username&amp;gt;.github.io/projects&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's the profile for &lt;a class="mentioned-user" href="https://dev.to/sindresorhus"&gt;@sindresorhus&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Qs4XbyOt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9zipz3lmsrdpkkn1yy27.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Qs4XbyOt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9zipz3lmsrdpkkn1yy27.png" alt="Image description" width="880" height="593"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Number Of Repos
&lt;/h2&gt;

&lt;p&gt;The number of repos is controlled by the &lt;code&gt;maxPages&lt;/code&gt; variable, the GitHub API supports 100 repos per page max.&lt;br&gt;
If you have less than 100 repos, set &lt;code&gt;maxPages&lt;/code&gt; to 1, if you have 300 then 3.&lt;/p&gt;

&lt;p&gt;You can also edit the fetch query to reduce the per page repo count.&lt;/p&gt;

&lt;p&gt;There's no pagination, all repos are shown on the same page.&lt;/p&gt;

&lt;h2&gt;
  
  
  Authenticated Requests
&lt;/h2&gt;

&lt;p&gt;If you are working locally and notice the API is not sending over data, it might be because of rate limit on GitHub API requests.&lt;/p&gt;

&lt;p&gt;You can either wait for an hour or setup a personal access token on GitHub and pass that into the fetch request in &lt;code&gt;script.js&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Viewing projects
&lt;/h2&gt;

&lt;p&gt;Open &lt;code&gt;index.html&lt;/code&gt; in your favorite browser or visit &lt;a href="//arupmandal.github.io/arupmandalV2"&gt;arupmandal.github.io/arupmandalV2&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it was built
&lt;/h2&gt;

&lt;p&gt;Projects was built using &lt;code&gt;HTML&lt;/code&gt; &lt;code&gt;CSS&lt;/code&gt; &amp;amp; &lt;code&gt;JavaScript&lt;/code&gt;.&lt;br&gt;
It was built on Neovim and the python http server.&lt;br&gt;
Uses GitHub API for data and Devicons for programming icons.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;p&gt;Learned about a few quirks of the fetch API, especially implementation of &lt;code&gt;maxPages&lt;/code&gt;.&lt;br&gt;
Flex, box-shadow and some other CSS tricks were revisited.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;Add more languages to devicons if necessary.&lt;/p&gt;

&lt;p&gt;Hit the ⭐ button if you found this useful.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>github</category>
    </item>
  </channel>
</rss>
