<?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: rhuts</title>
    <description>The latest articles on DEV Community by rhuts (@rhuts).</description>
    <link>https://dev.to/rhuts</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%2F360394%2F9d379c95-9fbb-4e0b-b4b3-6b8a8965648c.jpeg</url>
      <title>DEV Community: rhuts</title>
      <link>https://dev.to/rhuts</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rhuts"/>
    <language>en</language>
    <item>
      <title>Build a Personal Website in 2020</title>
      <dc:creator>rhuts</dc:creator>
      <pubDate>Sat, 04 Apr 2020 00:32:59 +0000</pubDate>
      <link>https://dev.to/rhuts/personal-website-for-any-developer-2n54</link>
      <guid>https://dev.to/rhuts/personal-website-for-any-developer-2n54</guid>
      <description>&lt;p&gt;While you may still hand paper resumes to recruiters at conferences and job fairs, online recruiting is rampant in the tech field. Having a clean and modern personal website with  your projects and skills tells recruiters that you are both &lt;strong&gt;technically capable&lt;/strong&gt; and know how to &lt;strong&gt;market yourself&lt;/strong&gt;. Below is a tutorial on efficiently creating a personal website so that you have more time for practicing LeetCode 😄.&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Domain &amp;amp; Hosting&lt;/li&gt;
&lt;li&gt;Website Layout&lt;/li&gt;
&lt;li&gt;Content&lt;/li&gt;
&lt;li&gt;Citations&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1. &lt;strong&gt;Domain &amp;amp; Hosting&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Domain
&lt;/h3&gt;

&lt;p&gt;If you want to have a clean link to your website such as &lt;a href="https://www.romanhuts.com"&gt;romanhuts.com&lt;/a&gt;, you need to buy and register a domain. There are a few key points you need to look out for when deciding to buy a domain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whois Privacy (Hides the personal information that you need to enter to register a domain such as name and address from the public)&lt;/li&gt;
&lt;li&gt;Price (Buying a domain is like having a subscription, you usually pay a yearly amount)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.namecheap.com/"&gt;Namecheap&lt;/a&gt; is a good option because of the fair price and included Whois Protection. I picked up a simple first name last name '.com' domain for $7.98 USD / year.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hosting
&lt;/h3&gt;

&lt;p&gt;There are two types of websites, static and dynamic.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A dynamic website can have code running on the server that allows you to do things such as work with databases to register users and handle shopping carts like &lt;a href="https://www.amazon.ca"&gt;amazon.ca&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A static website displays the same content for everyone and can have some client side code to handle things like buttons and forms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hence, a static site can satisfy the needs of a basic personal website. &lt;a href="https://pages.github.com/"&gt;GitHub Pages&lt;/a&gt; provides free hosting for static websites and free SSL (HTTPS) certificates. SSL adds security, a nice lock icon next to your website in the address bar instead of a question mark, and ranks better in Google search results as of 2014 &lt;sup&gt;1&lt;/sup&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--80fr-Fni--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/500/1%2AGCVYwFnJKmbmcgnTkGdPuA.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--80fr-Fni--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/500/1%2AGCVYwFnJKmbmcgnTkGdPuA.jpeg" alt="github pages"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub pages has a great tutorial (&lt;a href="https://pages.github.com/"&gt;link&lt;/a&gt;), in summary you want to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a new repo named: &lt;code&gt;username.github.io&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Push your website's code to your repo (user pages are built from the master branch by default)&lt;/li&gt;
&lt;li&gt;Tweak your GitHub Pages repo's settings&lt;/li&gt;
&lt;li&gt;Observe your website at &lt;a href="https://username.github.io"&gt;https://username.github.io&lt;/a&gt; or &lt;a href="https://customdomain.com"&gt;https://customdomain.com&lt;/a&gt;!&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  More on Tweaking (step 3)
&lt;/h3&gt;

&lt;p&gt;Head on over to your repository's settings and enable the "Enforce HTTPS" option:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IrxKanFl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1ydmvzxo3t2lztporr38.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IrxKanFl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1ydmvzxo3t2lztporr38.png" alt="enforce https"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to make use of your purchased domain, you need to configure a custom domain for your GitHub Pages repository.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Push a &lt;code&gt;CNAME&lt;/code&gt; file to the root of your repo that contains a single line with your purchased domain:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KKBgzu2v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6645oplh9rwcybkwlfth.png" alt="cname file"&gt;
&lt;/li&gt;
&lt;li&gt;Make sure that the "Custom domain" field in your repo's settings contains your custom domain name:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j1k_bKlT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/lb3ama1u4l3esmlebka1.png" alt="custom domain setting"&gt;
&lt;/li&gt;
&lt;li&gt;Configure your domain with adress records that map the domain name that you purchased to the IP address of the server(s) at GitHub that are hosting your website &lt;sup&gt;2&lt;/sup&gt;
&lt;/li&gt;
&lt;li&gt;Usually these settings can be found on your domain provider's website under

&lt;code&gt;MyDomain &amp;gt; Manage / Advanced DNS &amp;gt; Host Records&lt;/code&gt;

. Once you find these settings, add the following server IP addresses:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eE77yXVP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kokmshhsubxroqvf3bgt.png" alt="host records"&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  2. &lt;strong&gt;Website Layout&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Unless you are a UI/UX designer or a web developer looking to impress recruiters with your self-made website designs, finding a modern and elegant developer portfolio template will work great. Make sure to read the license of the template and attribute the author!&lt;/p&gt;

&lt;p&gt;Searching GitHub repos for the &lt;code&gt;#portfolio-template&lt;/code&gt; (&lt;a href="https://github.com/topics/portfolio-template"&gt;link&lt;/a&gt;) topic yields some great results! Keep in mind that you want to look out for some key attributes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mobile responsiveness&lt;/strong&gt; so that your website looks as great on mobile as it does on standard desktop monitors&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customizability&lt;/strong&gt; so that your website can be tailored to you and will stand out from the rest&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;License&lt;/strong&gt; so that you do not infringe on any author's rights. MIT is a great license to look for since it allows you to do anything you want as long as you include the original copyright and license notice&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  3. &lt;strong&gt;Content&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Once you have your website setup, it's time to customize your template and add in your information! A good idea is to include visuals of any cool projects that you have worked on, your previous work experience, and a way to demonstrate some of the skills that you have learned.&lt;/p&gt;

&lt;p&gt;Make sure that your website is seen. Share it on social media, include it in your LinkedIn profile, add it to your resume, post it on your online profiles!&lt;/p&gt;

&lt;p&gt;Customizing your website to reflect you is the part where your creativity will really show and where you should spend most of your time. Some interesting ideas might be to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add visuals for your projects:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xecDNxAO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hg8tvqbo49geffxjctj5.gif" alt="plant buddy"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add a way to contact you with &lt;a href="https://formspree.io/"&gt;Formspree&lt;/a&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;contact-form&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;form&lt;/span&gt; &lt;span class="nx"&gt;method&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;action&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://formspree.io/YOUREMAIL&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;hidden&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;_subject&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Contact request from personal website&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;email&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;_replyto&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;placeholder&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Your email&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;required&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;textarea&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;message&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;placeholder&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Your message&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;required&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/textarea&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;submit&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Send&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/form&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;Add Google Analytics to see how people are using your site:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Follow the google tutorial to setup your analytics (&lt;a href="https://analytics.google.com/analytics/academy/course/6"&gt;link&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add in your google analytics code snippet to your site, which looks something like:
&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="nx"&gt;Global&lt;/span&gt; &lt;span class="nx"&gt;site&lt;/span&gt; &lt;span class="nx"&gt;tag&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;gtag&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;js&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;Google&lt;/span&gt; &lt;span class="nx"&gt;Analytics&lt;/span&gt; &lt;span class="o"&gt;--&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;script&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://www.googletagmanager.com/gtag/js?id=UA-YOURID-1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/script&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;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;dataLayer&lt;/span&gt; &lt;span class="o"&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;dataLayer&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
  &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;gtag&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;&lt;span class="nx"&gt;dataLayer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;arguments&lt;/span&gt;&lt;span class="p"&gt;);}&lt;/span&gt;
  &lt;span class="nx"&gt;gtag&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;js&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;

  &lt;span class="nx"&gt;gtag&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;config&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;UA-YOURID-1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/script&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;



&lt;ul&gt;
&lt;li&gt;Get insights:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YKPqQdUj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8wtk0zpmzcnmv5b7o6hc.png" alt="sessions by country"&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Citations
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html"&gt;https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.dnsimple.com/articles/a-record/"&gt;https://support.dnsimple.com/articles/a-record/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>personal</category>
      <category>website</category>
      <category>developer</category>
      <category>professional</category>
    </item>
  </channel>
</rss>
