<?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: Adam Naji</title>
    <description>The latest articles on DEV Community by Adam Naji (@bashamega).</description>
    <link>https://dev.to/bashamega</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1054669%2F83b57885-aa65-423f-9e26-16d08d18e74b.jpg</url>
      <title>DEV Community: Adam Naji</title>
      <link>https://dev.to/bashamega</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bashamega"/>
    <language>en</language>
    <item>
      <title>How I Connected MDN Documentation to TypeScript's DOM APIs</title>
      <dc:creator>Adam Naji</dc:creator>
      <pubDate>Fri, 17 Jul 2026 18:45:47 +0000</pubDate>
      <link>https://dev.to/bashamega/how-i-connected-mdn-documentation-to-typescripts-dom-apis-4fj7</link>
      <guid>https://dev.to/bashamega/how-i-connected-mdn-documentation-to-typescripts-dom-apis-4fj7</guid>
      <description>&lt;p&gt;It started with a small TypeScript issue.&lt;/p&gt;

&lt;p&gt;I came across a problem in TypeScript regarding an incorrect DOM type and decided to fix it. I thought it would be a straightforward task: find the issue, make a change, open a pull request, and move on.&lt;/p&gt;

&lt;p&gt;Instead, I fell into a deep rabbit hole.&lt;/p&gt;

&lt;p&gt;I began exploring how TypeScript's browser APIs are generated, how web standards work, and how browsers, specifications, and TypeScript interact. What began as a fix for one incorrect type turned into months of contributing to the TypeScript DOM generator.&lt;/p&gt;

&lt;p&gt;Little by little, I became more familiar with the project. I discovered edge cases, addressed missing elements, improved definitions, and learned about the connection between web specifications and the TypeScript types that millions of developers use daily.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the TypeScript DOM generator?
&lt;/h2&gt;

&lt;p&gt;If you've ever written TypeScript for a browser project, you've likely used APIs like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;button&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;localStorage&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://example.com&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These types don't just appear out of nowhere. They come from a generated file called &lt;code&gt;lib.dom.d.ts&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The TypeScript DOM generator is the tool responsible for creating that file.&lt;/p&gt;

&lt;p&gt;Instead of writing thousands of browser API definitions by hand, it pulls information from web standards and generates TypeScript declarations.&lt;/p&gt;

&lt;p&gt;In simpler terms:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Web standards
      ↓
TypeScript DOM lib generator
      ↓
lib.dom.d.ts
      ↓
TypeScript IntelliSense and type checking
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This tool serves as the bridge between the browser platform and the TypeScript developer experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Falling into the web standards world
&lt;/h2&gt;

&lt;p&gt;While working on TypeScript's DOM generator, I began to learn about topics I had never needed to understand before.&lt;/p&gt;

&lt;p&gt;I learned about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web IDL&lt;/li&gt;
&lt;li&gt;W3C specifications&lt;/li&gt;
&lt;li&gt;WHATWG standards&lt;/li&gt;
&lt;li&gt;Browser engines like Blink and Gecko&lt;/li&gt;
&lt;li&gt;How browser APIs are defined and implemented&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before this, I used browser APIs daily without considering their origins.&lt;/p&gt;

&lt;p&gt;Understanding the process behind them changed my perspective on frontend development.&lt;/p&gt;

&lt;p&gt;A browser API is not just a function you call. There is an entire process behind it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Specification
      ↓
Browser implementation
      ↓
Documentation
      ↓
Type definitions
      ↓
Developer experience
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The documentation problem
&lt;/h2&gt;

&lt;p&gt;On March 14, 2025, I had an idea.&lt;/p&gt;

&lt;p&gt;The TypeScript DOM generator had an outdated &lt;code&gt;apiDescriptions.json&lt;/code&gt; file containing API documentation, but it had not been maintained for years.&lt;/p&gt;

&lt;p&gt;The issue was that browser APIs constantly evolve. New APIs are added, existing APIs change, and documentation is updated.&lt;/p&gt;

&lt;p&gt;I thought:&lt;/p&gt;

&lt;p&gt;"Why should TypeScript have outdated API descriptions when MDN already provides documentation for these APIs?"&lt;/p&gt;

&lt;p&gt;So, I opened issue #1937:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/1937" rel="noopener noreferrer"&gt;https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/1937&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After discussing the idea with the maintainer, Kagami Sascha Rosylight, who works on browser standards with Mozilla and WHATWG, I received the green light to proceed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building the documentation generator
&lt;/h2&gt;

&lt;p&gt;On March 15, 2025, I submitted my first pull request for this issue.&lt;/p&gt;

&lt;p&gt;The goal was straightforward:&lt;/p&gt;

&lt;p&gt;Take documentation from MDN and automatically add it to the generated DOM API definitions.&lt;/p&gt;

&lt;p&gt;The final implementation was more complex than my initial idea.&lt;/p&gt;

&lt;p&gt;I had to address:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Matching MDN documentation with TypeScript DOM APIs&lt;/li&gt;
&lt;li&gt;Handling APIs that lacked documentation&lt;/li&gt;
&lt;li&gt;Generating correct JSDoc comments&lt;/li&gt;
&lt;li&gt;Integrating with the existing generator pipeline&lt;/li&gt;
&lt;li&gt;Ensuring the generated output remained consistent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The final implementation added over 7,000 lines of code, along with a small file of around 112 lines that managed the core documentation generation logic.&lt;/p&gt;

&lt;p&gt;That file underwent more than a month of iterations, discussions, and improvements.&lt;/p&gt;

&lt;p&gt;Interestingly, the final solution was not enormous. The challenge lay in understanding the ecosystem surrounding it.&lt;/p&gt;

&lt;p&gt;A small piece of code can require extensive investigation when it becomes part of a project used by millions of developers.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pull request journey
&lt;/h2&gt;

&lt;p&gt;Open source is not just about writing code and getting it merged.&lt;/p&gt;

&lt;p&gt;The process included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Discussions with maintainers&lt;/li&gt;
&lt;li&gt;Reviewing feedback&lt;/li&gt;
&lt;li&gt;Changing the approach&lt;/li&gt;
&lt;li&gt;Improving edge cases&lt;/li&gt;
&lt;li&gt;Adapting the solution to fit the existing architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each review helped me understand the project better.&lt;/p&gt;

&lt;p&gt;The goal was not only to get the code to work but to ensure it could integrate into a long-term project.&lt;/p&gt;

&lt;h2&gt;
  
  
  The merge
&lt;/h2&gt;

&lt;p&gt;After weeks of effort, the pull request was finally merged on April 17, 2025.&lt;/p&gt;

&lt;p&gt;It also happened to be one day before my birthday, which made it even more memorable.&lt;/p&gt;

&lt;p&gt;Watching something I contributed to become part of TypeScript's ecosystem was an incredible experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  The unexpected surprise
&lt;/h2&gt;

&lt;p&gt;Later that month, I found out that Microsoft mentioned my work in an official TypeScript blog post about TypeScript 5.9:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/#summary-descriptions-in-dom-apis" rel="noopener noreferrer"&gt;https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/#summary-descriptions-in-dom-apis&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I was also mentioned by Theo in one of his videos discussing the update.&lt;/p&gt;

&lt;p&gt;What began as a small issue about an incorrect type turned into a contribution that enhanced the experience for developers using TypeScript every day.&lt;/p&gt;

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

&lt;p&gt;This experience taught me several things:&lt;/p&gt;

&lt;h3&gt;
  
  
  Read the code behind the tools you use
&lt;/h3&gt;

&lt;p&gt;Most developers use TypeScript daily without thinking about how its types are formed.&lt;/p&gt;

&lt;p&gt;Looking deeper revealed an entire world behind something I previously took for granted.&lt;/p&gt;

&lt;h3&gt;
  
  
  Specifications matter
&lt;/h3&gt;

&lt;p&gt;Learning about web standards reshaped my approach to frontend development.&lt;/p&gt;

&lt;p&gt;The web relies on specifications, and understanding them clarifies the platform itself.&lt;/p&gt;

&lt;h3&gt;
  
  
  Small contributions can turn into big opportunities
&lt;/h3&gt;

&lt;p&gt;I did not set out to make a sizable contribution.&lt;/p&gt;

&lt;p&gt;I began by addressing one issue.&lt;/p&gt;

&lt;p&gt;Curiosity led me to another issue, and eventually to a much larger project.&lt;/p&gt;

&lt;h3&gt;
  
  
  Open source is collaboration
&lt;/h3&gt;

&lt;p&gt;The best part was not just writing code. It was working with maintainers, receiving feedback, and refining the solution together.&lt;/p&gt;




&lt;p&gt;A small TypeScript issue introduced me to web standards, browser APIs, and the inner workings of one of the most important tools in the JavaScript ecosystem.&lt;/p&gt;

&lt;p&gt;And it all began with a simple question:&lt;/p&gt;

&lt;p&gt;"Why is this type incorrect?"&lt;/p&gt;

&lt;h2&gt;
  
  
  Special Thanks
&lt;/h2&gt;

&lt;p&gt;I would like to thank everyone who helped me throughout this contribution:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kagami Sascha Rosylight for reviewing my ideas, discussions around the implementation, and helping guide the direction of the project.&lt;/li&gt;
&lt;li&gt;Jake Bailey for his guidance and feedback during the contribution process.&lt;/li&gt;
&lt;li&gt;Nathan Shively-Sanders for his feedback and insights from the TypeScript compiler side.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Open source projects are built by communities, and this contribution would not have been possible without the time and feedback from maintainers and contributors.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>typescript</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>How I Turned an Arabic Word List into an Automated YouTube Channel</title>
      <dc:creator>Adam Naji</dc:creator>
      <pubDate>Wed, 16 Apr 2025 03:46:16 +0000</pubDate>
      <link>https://dev.to/bashamega/how-i-turned-an-arabic-word-list-into-an-automated-youtube-channel-4m1m</link>
      <guid>https://dev.to/bashamega/how-i-turned-an-arabic-word-list-into-an-automated-youtube-channel-4m1m</guid>
      <description>&lt;p&gt;Hello!&lt;br&gt;
I am a web developer with knowledge of Python, and I am bilingual.&lt;/p&gt;

&lt;p&gt;I love educating people and learning new things.&lt;/p&gt;

&lt;p&gt;Last week, I came across an amazing but unmaintained GitHub repository created by &lt;a href="https://github.com/DawiAlotaibi" rel="noopener noreferrer"&gt;Dawi Alotaibi&lt;/a&gt;, who allegedly works at IBM. The repository contains a huge dataset of Arabic words, sorted alphabetically.&lt;/p&gt;

&lt;p&gt;At first, I wasn’t sure whether my idea would succeed, but after some time thinking, I decided to give it a try. I primarily used ChatGPT because I had never worked with MoviePy (a Python library for generating videos). I had a great time experimenting with it. After an hour of working between ChatGPT and the codebase, I managed to write my first simple script that generates a short video with text and audio. The audio is generated using gTTS (Google Text-to-Speech), which gave me a somewhat human-like voice.&lt;/p&gt;

&lt;p&gt;On the second day, I connected my simple script to the dataset I obtained from the repository mentioned earlier. I added it as a sub-module and used the built-in open function to read the words from the JSON file. After understanding how to work with the JSON file in Python, I had to make a decision: bulk-generate videos, risking damaging my laptop, or upload them one at a time. I decided to generate one video at a time. To automate the process and avoid manually entering the last word, I created an index.txt file to store the last processed index number.&lt;/p&gt;

&lt;p&gt;The next step was uploading the videos to YouTube. I created a new YouTube channel, which was quite easy. Then, I asked ChatGPT to help me create a simple script for uploading videos to YouTube and guide me on how to use it. While the process of getting the token and integrating it was difficult and frustrating, I hope Google can improve it in the future. Once everything was working, I needed a script to automatically upload one video every day. Although I could have run it locally or bought a server, I’m more familiar with GitHub Actions, so I created a simple script to run every day at midnight UTC. This script generates a video, uploads it to YouTube, and pushes a commit with the updated index. And it worked!&lt;/p&gt;

&lt;p&gt;Throughout this project, I learned a lot of cool things, like how to use MoviePy and the YouTube API. I’m hopeful that it will succeed. I almost forgot to mention that it's open source and MIT-licensed, so you can check out the code, contribute, or even use it in your personal projects! 😊&lt;/p&gt;

&lt;p&gt;Links:&lt;/p&gt;

&lt;p&gt;Source code: &lt;a href="https://github.com/Bashamega/Say-Arabic/" rel="noopener noreferrer"&gt;https://github.com/Bashamega/Say-Arabic/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Youtube Channel: &lt;a href="https://www.youtube.com/@SayArabic" rel="noopener noreferrer"&gt;https://www.youtube.com/@SayArabic&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>githubactions</category>
    </item>
    <item>
      <title>🚀 Join the WebDevTools Revolution! 🌐</title>
      <dc:creator>Adam Naji</dc:creator>
      <pubDate>Wed, 17 Jul 2024 08:44:50 +0000</pubDate>
      <link>https://dev.to/bashamega/join-the-webdevtools-revolution-4mc7</link>
      <guid>https://dev.to/bashamega/join-the-webdevtools-revolution-4mc7</guid>
      <description>&lt;p&gt;Hello Devs! 🌟&lt;/p&gt;

&lt;p&gt;WebDevTools is a comprehensive online platform designed to empower web developers with a wide array of code samples and snippets. Whether you are a seasoned professional or just starting your journey in web development, our website provides you with a vast collection of code examples to streamline your workflow, enhance productivity, and create exceptional websites and web applications.&lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://github.com/Bashamega/WebDevTools" rel="noopener noreferrer"&gt;Check out WebDevTools on GitHub!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Are you passionate about web development? Ready to make a mark in the open-source community? Here's your chance! We're inviting contributors to join our exciting project, WebDevTools!&lt;/p&gt;

&lt;p&gt;✨ Why Contribute?&lt;/p&gt;

&lt;p&gt;Collaborate with a dynamic community of developers.&lt;/p&gt;

&lt;p&gt;Enhance your coding skills and learn new technologies.&lt;/p&gt;

&lt;p&gt;Make a tangible impact on a project used by devs worldwide.&lt;/p&gt;

&lt;p&gt;Get recognized for your contributions in the open-source world!&lt;/p&gt;

&lt;p&gt;🚀 How to Get Started?&lt;/p&gt;

&lt;p&gt;Star the repo to show your support.&lt;/p&gt;

&lt;p&gt;Fork the project to your own GitHub.&lt;/p&gt;

&lt;p&gt;Dive into the code and start contributing!&lt;/p&gt;

&lt;p&gt;Your input can make a huge difference! Let's build something amazing together. Happy coding! 💻✨&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>How to keep your tokens secret?</title>
      <dc:creator>Adam Naji</dc:creator>
      <pubDate>Sat, 16 Sep 2023 10:27:02 +0000</pubDate>
      <link>https://dev.to/bashamega/how-to-keep-your-tokens-secret-1mp3</link>
      <guid>https://dev.to/bashamega/how-to-keep-your-tokens-secret-1mp3</guid>
      <description>&lt;p&gt;Hello:)&lt;br&gt;
In this article we will see how to keep tokens secret.&lt;/p&gt;
&lt;h2&gt;
  
  
  Adding it to your project
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Step 1
&lt;/h3&gt;

&lt;p&gt;Create a file called &lt;code&gt;.env&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 1
&lt;/h3&gt;

&lt;p&gt;Add values in it.&lt;br&gt;
All caps.&lt;br&gt;
if your js project is in next js then start the key with &lt;code&gt;NEXT_PUBLIC_&lt;/code&gt;&lt;br&gt;
example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;USERNAME = "basha coder"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3
&lt;/h3&gt;

&lt;p&gt;To add it in your js project file yu need to make a variable for it like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;USERNAME&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you have inserted the value into your project, you can use it anywhere by calling the username constant.&lt;/p&gt;

&lt;h2&gt;
  
  
  Uploading it to Github(optional)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Making sure that the &lt;code&gt;.env&lt;/code&gt; is not on github
&lt;/h3&gt;

&lt;p&gt;Now you need to create a &lt;code&gt;.gitignore&lt;/code&gt; to exclude the &lt;code&gt;.env&lt;/code&gt;, and write in it&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.env
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Uploading the files
&lt;/h3&gt;

&lt;p&gt;Then just upload the code to your GitHub repo&lt;/p&gt;

&lt;h3&gt;
  
  
  Adding the secret
&lt;/h3&gt;

&lt;p&gt;Go to the settings of the repo, then click on Secrets and Variables then Actions, then click new secret and add your key and value.&lt;br&gt;
If you are using another service for hosting like vercel go to the project setting and go in environment and add from there&lt;br&gt;
Video: &lt;a href="https://www.youtube.com/watch?v=9iT86nC2Ubs" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=9iT86nC2Ubs&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>env</category>
    </item>
    <item>
      <title>GitHub Contributors JavaScript Library Documentation</title>
      <dc:creator>Adam Naji</dc:creator>
      <pubDate>Sun, 06 Aug 2023 10:17:01 +0000</pubDate>
      <link>https://dev.to/bashamega/github-contributors-javascript-library-documentation-32e4</link>
      <guid>https://dev.to/bashamega/github-contributors-javascript-library-documentation-32e4</guid>
      <description>&lt;p&gt;The GitHub Contributors JavaScript library provides an easy way to display a list of contributors for a GitHub repository on your website. The library offers various display modes, including grid, slideshow, and list. This document will guide you through the usage and features of the library.&lt;/p&gt;

&lt;p&gt;Getting Started&lt;br&gt;
To get started, you need to include the GitHub Contributors library in your HTML document. You can import the library using the following script tag:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://bashamega.github.io/scripts/cdn/libs/js/contributingjs/index.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Usage&lt;br&gt;
The GitHub Contributors library requires a container element in your HTML to display the contributors. You can use the following code as a template:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"contributors"&lt;/span&gt; &lt;span class="na"&gt;data-githuburl=&lt;/span&gt;&lt;span class="s"&gt;"https://github.com/username/repo"&lt;/span&gt; &lt;span class="na"&gt;data-type=&lt;/span&gt;&lt;span class="s"&gt;"grid"&lt;/span&gt; &lt;span class="na"&gt;data-imgprofile=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt; &lt;span class="na"&gt;data-link=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://bashamega.github.io/scripts/cdn/libs/js/contributingjs/index.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace "&lt;a href="https://github.com/username/repo" rel="noopener noreferrer"&gt;https://github.com/username/repo&lt;/a&gt;" with the URL of the GitHub repository you want to fetch contributors from. The attributes data-type, data-imgprofile, and data-link control the display and behavior of the contributors' list.&lt;/p&gt;

&lt;p&gt;JavaScript API&lt;br&gt;
The GitHub Contributors library offers a JavaScript API that allows you to programmatically fetch and use contributor data. You can use the following function to fetch contributor data:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;contributors&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;GITHUBFETCH&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://github.com/username/repo&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;Replace&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://github.com/username/repo&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="kd"&gt;with&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;URL&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;GitHub&lt;/span&gt; &lt;span class="nx"&gt;repository&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Display Modes&lt;/p&gt;

&lt;h2&gt;
  
  
  Grid Mode
&lt;/h2&gt;

&lt;p&gt;Grid mode displays contributors' avatars and usernames in a grid layout. Each contributor container is clickable and opens the contributor's GitHub profile in a new tab.&lt;/p&gt;

&lt;h2&gt;
  
  
  Slideshow Mode
&lt;/h2&gt;

&lt;p&gt;Slideshow mode presents contributors' avatars and usernames in a slideshow format. The slideshow automatically transitions between contributors at a defined interval. Navigation dots allow manual selection of contributors.&lt;/p&gt;

&lt;h2&gt;
  
  
  List Mode
&lt;/h2&gt;

&lt;p&gt;List mode shows contributors' avatars and usernames in a vertical list. Each contributor container is clickable and opens the contributor's GitHub profile in a new tab.&lt;/p&gt;

&lt;h2&gt;
  
  
  Error Handling
&lt;/h2&gt;

&lt;p&gt;The library incorporates error handling to display an error message in case of issues with fetching or displaying contributors' data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The GitHub Contributors JavaScript library simplifies the process of fetching and displaying contributors' data from GitHub repositories. It offers multiple display modes and customization options, making it easy to integrate contributors' information into your website. Just remember to include the library script and configure the container element attributes according to your needs.&lt;/p&gt;

</description>
      <category>githubapi</category>
      <category>simple</category>
      <category>html</category>
      <category>extensions</category>
    </item>
    <item>
      <title>Mark down</title>
      <dc:creator>Adam Naji</dc:creator>
      <pubDate>Tue, 18 Jul 2023 05:38:37 +0000</pubDate>
      <link>https://dev.to/bashamega/mark-down-4im8</link>
      <guid>https://dev.to/bashamega/mark-down-4im8</guid>
      <description>&lt;h2&gt;
  
  
  what is MD?
&lt;/h2&gt;

&lt;p&gt;Markdown was invented by &lt;a href="https://en.wikipedia.org/wiki/John_Gruber" rel="noopener noreferrer"&gt;John Gruber&lt;/a&gt;, a well-known writer and software developer, in collaboration with &lt;a href="[Aaronhttps://en.wikipedia.org/wiki/Aaron_Swartz"&gt;Aaron Swartz&lt;/a&gt;, an American computer programmer, writer, and internet activist. The creation of Markdown can be traced back to 2004 when Gruber and Swartz developed the markup language to simplify the process of writing and formatting content for the web.&lt;br&gt;
Over time, Markdown gained popularity among developers, bloggers, and writers due to its straightforward and intuitive syntax. It became a widely adopted standard for creating content on various platforms, including websites, blogs, and documentation repositories like GitHub.&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/Markdown" rel="noopener noreferrer"&gt;Read More&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is MD important?
&lt;/h2&gt;

&lt;p&gt;Markdown is important for several reasons, as it addresses various needs and concerns when it comes to document creation, especially in the digital world. Some key reasons for its importance include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Simplicity and Readability&lt;/strong&gt;: Markdown uses a straightforward syntax that is easy to read and write. It allows users to focus on the content rather than the formatting, making it accessible to both technical and non-technical users.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Platform Agnostic&lt;/strong&gt;: Markdown documents can be opened and viewed on virtually any device and platform. It's a plain-text format that doesn't rely on proprietary software, ensuring broad compatibility and portability.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Web Compatibility&lt;/strong&gt;: Markdown was initially designed for the web, and it is well-suited for creating content on websites, blogs, and forums. It can be easily converted to HTML, the language of the web, without any loss of information.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Version Control and Collaboration&lt;/strong&gt;: Markdown files are easy to track and manage in version control systems like Git. Its simplicity facilitates collaboration among developers, writers, and other team members.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Documentation and Note-taking&lt;/strong&gt;: Markdown is widely used for creating technical documentation, README files, and project wikis. It's also favored by many for personal note-taking due to its ease of use and organization.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Focus on Content&lt;/strong&gt;: As Markdown separates content from formatting concerns, writers can concentrate on the actual content without getting distracted by complex formatting options.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Speed and Efficiency&lt;/strong&gt;: Since writing in Markdown involves minimal formatting tags, it allows for faster writing and editing compared to traditional word processing formats.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Consistency and Standardization&lt;/strong&gt;: Markdown follows a set of rules and conventions, promoting consistency in document structure across different files.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Language Agnostic&lt;/strong&gt;: Markdown is not tied to any specific programming language or technology, making it widely applicable across various fields and disciplines.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Integration with Tools&lt;/strong&gt;: Numerous tools and platforms support Markdown, such as text editors, content management systems, static site generators, and note-taking apps, making it highly versatile and widely adopted.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Accessibility&lt;/strong&gt;: Its simplicity and compatibility with plain text make Markdown documents accessible to people with disabilities who may use specialized tools to access information.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In summary, Markdown's simplicity, versatility, and wide-ranging compatibility have contributed to its importance and popularity as a preferred format for content creation, documentation, and collaboration in the digital age.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Options
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Make a heading
Input:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Hello world&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;/p&gt;

&lt;blockquote&gt;
&lt;h1&gt;
  
  
  Hello world
&lt;/h1&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Hyperlink some text
Input:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Google&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://google.com&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://google.com" rel="noopener noreferrer"&gt;Google&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Create a bullet point list
Input:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;-&lt;/span&gt; Apple
&lt;span class="p"&gt;-&lt;/span&gt; Banana
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Apple&lt;/li&gt;
&lt;li&gt;Banana&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Check list
Input:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt; -&lt;/span&gt; [ ] Coding
&lt;span class="p"&gt; -&lt;/span&gt; [ ] Teaching
&lt;span class="p"&gt; -&lt;/span&gt; [ ] Studying
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Coding

&lt;ul&gt;
&lt;li&gt;[ ] Teaching&lt;/li&gt;
&lt;li&gt;[ ] Studying&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Insert an image
Input:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt; !&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Beauty of nature&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://jooinn.com/images/beauty-of-nature-24.jpg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5kqfgi9l9rpyx7csoxmq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5kqfgi9l9rpyx7csoxmq.jpg" alt="Beauty of nature" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Make a Table
Input:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Column 1 | Column 2 | Column 3 |
|----------|----------|----------|
| Item 1   | Item 2   | Item 3   |
| Item A   | Item B   | Item C   |
| Item X   | Item Y   | Item Z   |

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
| Column 1 | Column 2 | Column 3 |&lt;br&gt;
|----------|----------|----------|&lt;br&gt;
| Item 1   | Item 2   | Item 3   |&lt;br&gt;
| Item A   | Item B   | Item C   |&lt;br&gt;
| Item X   | Item Y   | Item Z   |&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Make the text bold
Input:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gs"&gt;**strong text**&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;strong text&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Make the text italic
Input:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="ge"&gt;*Italic text*&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Italic text&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>md</category>
      <category>markdown</category>
      <category>tutorial</category>
      <category>documentation</category>
    </item>
    <item>
      <title>How to get all the contributors in a GitHub repository?</title>
      <dc:creator>Adam Naji</dc:creator>
      <pubDate>Mon, 17 Jul 2023 16:57:20 +0000</pubDate>
      <link>https://dev.to/bashamega/how-to-get-all-the-contributors-in-a-github-repository-3i1c</link>
      <guid>https://dev.to/bashamega/how-to-get-all-the-contributors-in-a-github-repository-3i1c</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Hello:)&lt;br&gt;
Today, we will see how to get all the contributors in a GitHub repository.&lt;br&gt;
We will be using JavaScript to fetch the data, from the GitHub api.&lt;/p&gt;
&lt;h2&gt;
  
  
  What is the GitHub Api?
&lt;/h2&gt;

&lt;p&gt;The GitHub API is a way to interact with GitHub programmatically. You can use the GitHub API to create integrations, retrieve data, and automate your workflows. There are two types of GitHub APIs: a REST API and a GraphQL API. The REST API uses HTTP methods and paths to access GitHub resources, while the GraphQL API uses queries and mutations to manipulate GitHub data. You can use GitHub CLI, curl, the official Octokit libraries, or third-party libraries to make requests to either API. For more information, you can check out the following links:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://docs.github.com/en/rest" rel="noopener noreferrer"&gt;GitHub REST API documentation&lt;/a&gt;: This is the official documentation for the GitHub REST API. It provides reference information, guides, and examples for using the REST API.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.github.com/en/rest/guides/getting-started-with-the-rest-api" rel="noopener noreferrer"&gt;Getting started with the REST API&lt;/a&gt;: This is a guide that shows you how to use the GitHub REST API using GitHub CLI, JavaScript, or curl. It covers topics such as authentication, parameters, pagination, and scripting.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.github.com/en/rest/overview/about-githubs-apis" rel="noopener noreferrer"&gt;About GitHub's APIs&lt;/a&gt;: This is an overview of the GitHub APIs, including the differences and similarities between the REST API and the GraphQL API. It also explains how to use GitHub CLI, curl, Octokit, and third-party libraries with the APIs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;
  
  
  How to fetch the contributors
&lt;/h1&gt;

&lt;p&gt;All the GitHub APIs are stored at &lt;code&gt;https://api.github.com/&lt;/code&gt;.&lt;br&gt;
So in order to fetch it you need to fetch the api from GitHub.&lt;br&gt;
So, the api for GitHub contributors is &lt;code&gt;https://api.github.com/repos/{Username}/{repo_name}/contributors&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It will return the date in &lt;a href="https://www.w3schools.com/js/js_json_intro.asp" rel="noopener noreferrer"&gt;json&lt;/a&gt; format.&lt;br&gt;
So, you can use fetch like this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://api.github.com/repos/bashamega/webdevtools/contributors&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then the data variable will be equal to all the contributers in json format like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"login"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Bashamega"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;110662505&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"node_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"U_kgDOBpiTaQ"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"avatar_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://avatars.githubusercontent.com/u/110662505?v=4"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"gravatar_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.github.com/users/Bashamega"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"html_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://github.com/Bashamega"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"followers_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.github.com/users/Bashamega/followers"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"following_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.github.com/users/Bashamega/following{/other_user}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"gists_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.github.com/users/Bashamega/gists{/gist_id}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"starred_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.github.com/users/Bashamega/starred{/owner}{/repo}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"subscriptions_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.github.com/users/Bashamega/subscriptions"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"organizations_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.github.com/users/Bashamega/orgs"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"repos_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.github.com/users/Bashamega/repos"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"events_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.github.com/users/Bashamega/events{/privacy}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"received_events_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.github.com/users/Bashamega/received_events"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"User"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"site_admin"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"contributions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What are the meaning of these names?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Key&lt;/th&gt;
&lt;th&gt;Definition&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;login&lt;/td&gt;
&lt;td&gt;The username of the GitHub user.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;id&lt;/td&gt;
&lt;td&gt;The unique ID associated with the GitHub user..&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;node_id&lt;/td&gt;
&lt;td&gt;A unique identifier for the user in the GitHub GraphQL API.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;avatar_url&lt;/td&gt;
&lt;td&gt;The URL of the user's avatar (profile picture).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;gravatar_id&lt;/td&gt;
&lt;td&gt;The Gravatar ID of the user's avatar. Gravatar is a service for providing globally recognized avatars. In this case, it is an empty string.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;url&lt;/td&gt;
&lt;td&gt;The URL to access the user's details via the GitHub API.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;html_url&lt;/td&gt;
&lt;td&gt;The URL to view the user's profile on GitHub in a web browser.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;followers_url&lt;/td&gt;
&lt;td&gt;The URL to access the list of followers for the user via the GitHub API.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;following_url&lt;/td&gt;
&lt;td&gt;The URL to access the list of users the current user is following via the GitHub API."&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;gists_url&lt;/td&gt;
&lt;td&gt;The URL to access the list of gists (code snippets) associated with the user via the GitHub API."&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;starred_url&lt;/td&gt;
&lt;td&gt;The URL to access the list of repositories starred by the user via the GitHub API.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;subscriptions_url&lt;/td&gt;
&lt;td&gt;The URL to access the list of repositories the user is subscribed to via the GitHub API.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;organizations_url&lt;/td&gt;
&lt;td&gt;The URL to access the list of organizations the user is associated with via the GitHub API.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;repos_url&lt;/td&gt;
&lt;td&gt;The URL to access the list of repositories owned by the user via the GitHub API.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;events_url&lt;/td&gt;
&lt;td&gt;The URL to access the list of events associated with the user via the GitHub API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;received_events_url&lt;/td&gt;
&lt;td&gt;The URL to access the list of events received by the user via the GitHub API."&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;The type of user. In this case, it is "User" which indicates a regular GitHub user.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;site_admin&lt;/td&gt;
&lt;td&gt;A boolean value that indicates whether the user is a site administrator or not.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;contributions&lt;/td&gt;
&lt;td&gt;The number of contributions made by the user (e.g., commits, pull requests) to repositories on GitHub.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>githubapi</category>
      <category>github</category>
    </item>
    <item>
      <title>How to set up vs code extension development files in less than 5 minutes?</title>
      <dc:creator>Adam Naji</dc:creator>
      <pubDate>Wed, 19 Apr 2023 10:04:21 +0000</pubDate>
      <link>https://dev.to/bashamega/how-to-set-up-vs-code-extension-development-files-in-less-than-5-minutes-2ifk</link>
      <guid>https://dev.to/bashamega/how-to-set-up-vs-code-extension-development-files-in-less-than-5-minutes-2ifk</guid>
      <description>&lt;p&gt;It is very simple to create them.&lt;br&gt;
Following these step-by-step instructions&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install Node Js&lt;/li&gt;
&lt;li&gt;Create a new file and open it in the terminal.&lt;/li&gt;
&lt;li&gt;Type this command:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -g yo generator-code
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Type this command after installing it
&lt;code&gt;yo code
&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;You will need to fill out the form about the extension&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When you are done following these steps you are ready start coding your extension.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to get the Last modification date of a file in python?</title>
      <dc:creator>Adam Naji</dc:creator>
      <pubDate>Sun, 09 Apr 2023 05:10:22 +0000</pubDate>
      <link>https://dev.to/bashamega/how-to-get-the-last-modification-date-of-a-file-in-python-5bf3</link>
      <guid>https://dev.to/bashamega/how-to-get-the-last-modification-date-of-a-file-in-python-5bf3</guid>
      <description>&lt;p&gt;It is very easy to get it&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import os
print("Last modification" + time.ctime(os.path.getmtime(file_dr)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>How to get the date created of a file in python?</title>
      <dc:creator>Adam Naji</dc:creator>
      <pubDate>Sun, 09 Apr 2023 05:06:55 +0000</pubDate>
      <link>https://dev.to/bashamega/how-to-get-the-date-created-in-python-3eig</link>
      <guid>https://dev.to/bashamega/how-to-get-the-date-created-in-python-3eig</guid>
      <description>&lt;p&gt;You can easily get it by this following code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import os
print("Date created" + time.ctime(os.path.getctime(file_dr)))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>How to get the size a file or folder in bytes</title>
      <dc:creator>Adam Naji</dc:creator>
      <pubDate>Sun, 09 Apr 2023 05:01:57 +0000</pubDate>
      <link>https://dev.to/bashamega/how-to-get-thee-size-a-file-or-folder-in-bytes-3hjb</link>
      <guid>https://dev.to/bashamega/how-to-get-thee-size-a-file-or-folder-in-bytes-3hjb</guid>
      <description>&lt;p&gt;It is extremely easy to get the size of a file in python.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import os
if os.path.isdir(file_dr):
   size = str(get_size(file_dr))

else:

   size = str(os.path.getsize(file_dr))
print(size)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>python</category>
    </item>
    <item>
      <title>How to get the type of a file or folder in python</title>
      <dc:creator>Adam Naji</dc:creator>
      <pubDate>Sun, 09 Apr 2023 04:58:14 +0000</pubDate>
      <link>https://dev.to/bashamega/how-to-get-the-type-of-a-file-or-folder-in-python-4eib</link>
      <guid>https://dev.to/bashamega/how-to-get-the-type-of-a-file-or-folder-in-python-4eib</guid>
      <description>&lt;p&gt;Hey:)&lt;br&gt;
It is very easy to get the file type using os&lt;br&gt;
you can get it by the following code snippet&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import os
if os.path.isdir(file_dr):
   file = "folder"
else:
   file_ = name.split(".")
   file = repr(file_[-1])
print(file")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
  </channel>
</rss>
