<?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: Jacob Shuman</title>
    <description>The latest articles on DEV Community by Jacob Shuman (@nullbitme).</description>
    <link>https://dev.to/nullbitme</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%2F705274%2Faf0565fc-e5df-462f-adba-fc2d14aac0f2.jpeg</url>
      <title>DEV Community: Jacob Shuman</title>
      <link>https://dev.to/nullbitme</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nullbitme"/>
    <language>en</language>
    <item>
      <title>WTF is a GitHub Profile README.md</title>
      <dc:creator>Jacob Shuman</dc:creator>
      <pubDate>Sat, 24 Aug 2024 12:37:02 +0000</pubDate>
      <link>https://dev.to/nullbitme/wtf-is-a-github-profile-readmemd-1p8c</link>
      <guid>https://dev.to/nullbitme/wtf-is-a-github-profile-readmemd-1p8c</guid>
      <description>&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It’s a markdown file rendered on your GitHub profile.&lt;/li&gt;
&lt;li&gt;Needs to be created in a special &lt;em&gt;public&lt;/em&gt; repo with the same name as your GitHub username.&lt;/li&gt;
&lt;li&gt;Can be used to display your skills and stand out to recruiters.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  What is a profile README?
&lt;/h1&gt;

&lt;p&gt;A markdown file that can be displayed on your GitHub profile (for more info check the &lt;a href="https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme#about-your-profile-readme" rel="noopener noreferrer"&gt;docs&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7pdszsay47rchzupv5lf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7pdszsay47rchzupv5lf.png" alt="github profile page" width="800" height="527"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  How can I create one?
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Go to the repository creation page &lt;a href="https://github.com/new" rel="noopener noreferrer"&gt;here&lt;/a&gt; (&lt;a href="https://github.com/new" rel="noopener noreferrer"&gt;https://github.com/new&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The repository name should be the same as your username&lt;/strong&gt;. You can find your username by clicking on your profile icon in the top right corner and then looking at the text at the top of the sidebar (in the images below my username is &lt;em&gt;jacob-shuman&lt;/em&gt;).
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhx029u965dv3605vc0a2.png" alt="github page header" width="800" height="66"&gt;
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3uexpcpveut3erpcwpz.png" alt="github sidebar with username" width="800" height="318"&gt;
&lt;/li&gt;
&lt;li&gt;You should see a message like this underneath the repo name if the name is correct:
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkj9aglew58euy8x2f07x.png" alt="github new repo page" width="800" height="910"&gt;
Ensure the repository is &lt;code&gt;public&lt;/code&gt; and the &lt;code&gt;Add a README file&lt;/code&gt; option is enabled.&lt;/li&gt;
&lt;li&gt;Create the repo and edit the generated &lt;code&gt;README.md&lt;/code&gt; file.&lt;/li&gt;
&lt;li&gt;There's no additional configuration necessary, the latest version of the &lt;code&gt;README.md&lt;/code&gt; file on the &lt;strong&gt;default branch&lt;/strong&gt; will be displayed in your profile at &lt;code&gt;https://github.com/GITHUB_USERNAME&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  A few notes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;README.md&lt;/code&gt; file on the repo's &lt;strong&gt;default branch&lt;/strong&gt; will be used. If you change the default branch the profile will immediately render the new default branch's &lt;code&gt;README.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The file &lt;strong&gt;must&lt;/strong&gt; be named &lt;code&gt;README.md&lt;/code&gt; for the profile to render it correctly. Using &lt;code&gt;README&lt;/code&gt; instead of &lt;code&gt;README.md&lt;/code&gt; will display the file on your profile but will be rendered as plain text😬.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  What should I include in it?
&lt;/h1&gt;

&lt;p&gt;Technically you can put anything in it (it’s just a standard GitHub-flavoured markdown file).&lt;/p&gt;

&lt;p&gt;My advice is to think about your motivations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you plan on showing it to recruiters consider making it &lt;strong&gt;pop&lt;/strong&gt; somehow.

&lt;ul&gt;
&lt;li&gt;You could embed a game such as tic-tac-toe or chess, check out this &lt;a href="https://github.com/JonathanGin52" rel="noopener noreferrer"&gt;README with an embedded connect-4 game&lt;/a&gt; powered by issues and &lt;a href="https://docs.github.com/en/actions" rel="noopener noreferrer"&gt;GitHub Actions&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;You could add a counter to track how many people have visited your profile, read &lt;a href="https://dev.to/ryanlanciaux/quick-github-profile-visit-counter-14en"&gt;this article by Ryan Lanciaux&lt;/a&gt; for instructions on how to get started.&lt;/li&gt;
&lt;li&gt;For more examples check out &lt;a href="https://dev.to/github/10-standout-github-profile-readmes-h2o"&gt;Awesome GitHub Profile READMEs by abhisheknaiidu&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;You could write about your development journey to inspire others.&lt;/li&gt;

&lt;li&gt;If you want to make it look a bit &lt;em&gt;fancier&lt;/em&gt; you could add some nicely styled badges! There are generators for static and dynamic badges like &lt;a href="https://badgen.net/" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://badgen.net/" rel="noopener noreferrer"&gt;https://badgen.net/&lt;/a&gt;, &lt;a href="https://shields.io/" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://shields.io/" rel="noopener noreferrer"&gt;https://shields.io/&lt;/a&gt;, and &lt;a href="https://forthebadge.com/" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://forthebadge.com/" rel="noopener noreferrer"&gt;https://forthebadge.com/&lt;/a&gt;.

&lt;ul&gt;
&lt;li&gt;You can make your own too, a badge is just a &lt;em&gt;markdown-rendered image&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;You can include social media links (although you should be able to also add them when editing your GiHub profile).&lt;/li&gt;

&lt;li&gt;Include a list of technologies that interest you and show off projects you are proud of (including screenshots!). This is helpful for recruiters or other devs to quickly understand what you know, enjoy using, and the kinds of experience you have.&lt;/li&gt;

&lt;li&gt;Include links to blog posts or any other creative work you have.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;I built mine with a few ideas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I wanted a simple layout thats well-organized yet might standout to recruiters.&lt;/li&gt;
&lt;li&gt;The content should be direct (I wanted to limit my use of long-form text).&lt;/li&gt;
&lt;li&gt;I'd like to talk about my motivations as a developer and the tech I’m both experienced with or interested in.
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5x2ewxl4mdev5ww59an1.png" alt="jacob-shuman profile readme" width="800" height="783"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Dark Mode
&lt;/h1&gt;

&lt;p&gt;It's possible to render markdown elements conditionally:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; exclusive to profile &lt;code&gt;README&lt;/code&gt;s! Any markdown file can use these methods to render elements based on users' theme preferences.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  HTML &lt;code&gt;media&lt;/code&gt; attribute
&lt;/h2&gt;

&lt;p&gt;Some HTML elements can be used directly in markdown when there isn't markdown syntax available for a particular feature (like underscoring). There is a &lt;a href="https://www.w3schools.com/TAGS/att_media.asp" rel="noopener noreferrer"&gt;&lt;code&gt;media&lt;/code&gt; attribute&lt;/a&gt; for &lt;em&gt;some&lt;/em&gt; HTML elements to render them based on a media query.&lt;/p&gt;

&lt;p&gt;For example, I render this HTML badge.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;picture&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;source&lt;/span&gt; &lt;span class="na"&gt;media=&lt;/span&gt;&lt;span class="s"&gt;"(prefers-color-scheme: dark)"&lt;/span&gt; &lt;span class="na"&gt;srcset=&lt;/span&gt;&lt;span class="s"&gt;"https://img.shields.io/badge/html-202020?style=for-the-badge&amp;amp;logo=html5"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"HTML badge"&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://img.shields.io/badge/html-f0f0f0?style=for-the-badge&amp;amp;logo=html5"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/picture&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Based on this &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture" rel="noopener noreferrer"&gt;&lt;code&gt;picture&lt;/code&gt;&lt;/a&gt; element the light version is used by default.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;  &lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"HTML badge"&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://img.shields.io/badge/html-f0f0f0?style=for-the-badge&amp;amp;logo=html5"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The dark version is included using a &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source" rel="noopener noreferrer"&gt;&lt;code&gt;source&lt;/code&gt;&lt;/a&gt; element and the &lt;code&gt;media&lt;/code&gt; attribute. I use the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme" rel="noopener noreferrer"&gt;&lt;code&gt;prefers-color-scheme&lt;/code&gt;&lt;/a&gt; media feature to check if the user's theme preference is dark.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt; &lt;span class="nt"&gt;&amp;lt;source&lt;/span&gt; &lt;span class="na"&gt;media=&lt;/span&gt;&lt;span class="s"&gt;"(prefers-color-scheme: dark)"&lt;/span&gt; &lt;span class="na"&gt;srcset=&lt;/span&gt;&lt;span class="s"&gt;"https://img.shields.io/badge/html-202020?style=for-the-badge&amp;amp;logo=html5"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Avoid &lt;code&gt;#gh-light-mode-only&lt;/code&gt; and &lt;code&gt;#gh-dark-mode-only&lt;/code&gt;
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;There is an older &lt;strong&gt;deprecated&lt;/strong&gt; method to conditionally render images using the &lt;a href="https://github.blog/changelog/2021-11-24-specify-theme-context-for-images-in-markdown/" rel="noopener noreferrer"&gt;&lt;code&gt;#gh-light-mode-only&lt;/code&gt; and &lt;code&gt;#gh-dark-mode-only&lt;/code&gt;&lt;/a&gt; &lt;a href="https://developer.mozilla.org/en-US/docs/Web/Text_fragments" rel="noopener noreferrer"&gt;url fragments&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The old method of specifying images based on the theme, by using a fragment appended to the URL (#gh-dark-mode-only or #gh-light-mode-only), is deprecated and will be removed in favor of the new method described above.&lt;br&gt;
&lt;a href="//The%20old%20method%20of%20specifying%20images%20based%20on%20the%20theme,%20by%20using%20a%20fragment%20appended%20to%20the%20URL%20(#gh-dark-mode-only%20or%20#gh-light-mode-only),%20is%20deprecated%20and%20will%20be%20removed%20in%20favor%20of%20the%20new%20method%20described%20above."&gt;Source (GitHub Docs)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Dark/Light mode screenshots
&lt;/h2&gt;

&lt;p&gt;My profile has a header image and &lt;strong&gt;lots&lt;/strong&gt; of badges, all of which are responsive to users' theme preferences:&lt;/p&gt;

&lt;h3&gt;
  
  
  Dark mode
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwi6g5u3dgn2n0dtnz8a3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwi6g5u3dgn2n0dtnz8a3.png" alt="github profile in dark mode" width="800" height="842"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Light mode
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzzaq8hgnhssoivs7w3gq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzzaq8hgnhssoivs7w3gq.png" alt="github profile in light mode" width="800" height="842"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Thanks for reading this far!
&lt;/h2&gt;

&lt;p&gt;This was my first blog post so I appreciate you reading this far. Please give me some honest criticism if you found something wrong with it so I can improve for next time.&lt;/p&gt;

</description>
      <category>github</category>
      <category>documentation</category>
      <category>portfolio</category>
      <category>readme</category>
    </item>
  </channel>
</rss>
