<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>Jim</title>
 <link href="/atom.xml" rel="self"/>
 <link href=""/>
 <updated>2025-12-31T14:22:24+00:00</updated>
 <id></id>

 
 <entry>
   <title>How to Make a Site Like This</title>
   <link href="http://www.jimsheldon.us/blog/2018/05/25/how-to-make-a-site-like-this/"/>
   
   
   <updated>2018-05-25T00:00:00+00:00</updated>
   <id>/blog/2018/05/25/how-to-make-a-site-like-this</id>
   <content type="html">&lt;p&gt;A few days ago I decided it was time to make a personal website. I didn’t want to use a 
template system because that’s lame. I also didn’t want to write something from scratch 
because that is not my wheelhouse. I found a happy medium with 
&lt;a href=&quot;https://jekyllrb.com&quot;&gt;Jekyll&lt;/a&gt;. It has numerous advantages too:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;I can create a blog with no SQL configuration.&lt;/li&gt;
  &lt;li&gt;I can add a number of static pages with ease.&lt;/li&gt;
  &lt;li&gt;The pages are hosted on &lt;a href=&quot;https://www.github.com&quot;&gt;GitHub&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Pages and posts can be created in 
&lt;a href=&quot;https://daringfireball.net/projects/markdown/syntax&quot;&gt;Markdown&lt;/a&gt; and&lt;/li&gt;
  &lt;li&gt;Pages can be built using &lt;a href=&quot;http://getbootstrap.com&quot;&gt;Bootstrap&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s be upfront: I love the simple, clean layout from &lt;a href=&quot;https://sourabhbajaj.com&quot;&gt;Sourabh&lt;/a&gt; 
so much I shamelessly copied it. That said, his directions didn’t completely explain how 
to replicate his site starting with a Jekyll install. I’d like to take his explanation 
and expand on it, starting from installing Jekyll and getting to the finished product.&lt;/p&gt;

&lt;p&gt;This is the start of a multi-post outline on creating a specific Jekyll site. Of course, 
if you want a full description on using Jekyll for building a bunch of static sites 
please refer to the official documentation.&lt;/p&gt;

&lt;p&gt;Let’s get started:&lt;/p&gt;

&lt;h3 id=&quot;setting-up-your-environment&quot;&gt;Setting up Your Environment&lt;/h3&gt;

&lt;h4 id=&quot;installing-base-packages&quot;&gt;Installing base packages&lt;/h4&gt;

&lt;p&gt;You’ll need to install a few pieces of software. I can’t spell it out better than the 
official Jekyll docs so work through the &lt;a href=&quot;https://jekyllrb.com/docs/installation/&quot;&gt;Installation&lt;/a&gt; page 
for your platform.&lt;/p&gt;

&lt;p&gt;When you have Jekyll installed, go to your site directory and type:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    jekyll new blog --force
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This will set up the base site with the folder hierarchy and install the minima theme.&lt;/p&gt;

&lt;h4 id=&quot;homebrew&quot;&gt;Homebrew&lt;/h4&gt;

&lt;p&gt;If you’re not using Git and Github you’ll need to install Git and setup a GitHub account. 
I highly recommend using &lt;a href=&quot;https://brew.sh&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Homebrew&lt;/code&gt;&lt;/a&gt; if you’re on a Mac. Install 
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Homebrew&lt;/code&gt; and use it to install &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Git&lt;/code&gt;.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    /usr/bin/ruby -e &quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&quot;
    brew install git
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h5 id=&quot;setting-up-github&quot;&gt;Setting up GitHub&lt;/h5&gt;

&lt;p&gt;If you don’t already have a GitHub account, you’ll need to visit &lt;a href=&quot;https://www.github.com&quot;&gt;GitHub&lt;/a&gt; and set up an 
account. Once done, create a new repository and name it &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;username.github.io&lt;/code&gt; where 
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;username&lt;/code&gt; is your GitHub username. During the setup process, be sure not to include any 
of the optional files they suggest such as a README or gitignore file. You want a 
completely empty repository (repo).&lt;/p&gt;

&lt;h4 id=&quot;local-directory&quot;&gt;Local directory&lt;/h4&gt;

&lt;p&gt;Now that you’ve run through the installation process and set up both Git and GitHub as well 
as an empty GitHub repo for your site, we need to set up our site to version with Git and 
then mirror it to the GitHub repo. Run the following commands:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    cd Sites/&amp;lt;your site directory&amp;gt;
    git remote set-url origin git@github.com:USERNAME/USERNAME.github.io.git
    git push origin master
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You’ve now initiated a local Git repo and have it tied to the GitHub repo you just made. 
You can now develop the site locally and push changes to the GitHub which will then 
render the pages.&lt;/p&gt;

&lt;p&gt;However, the right way to go about developing the site is to use the built-in server to 
run the site locally to see what it looks like. Then, debug it on your computer and once 
you’re comfortable with the changes, push them out to GitHub.&lt;/p&gt;

&lt;p&gt;You can run the local server by moving to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;your site directory&amp;gt;&lt;/code&gt; directory and running&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    jekyll serve --livereload
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/2018-05-25/terminal.png&quot; alt=&quot;alt text&quot; /&gt;&lt;/p&gt;

&lt;p&gt;You’ll get a very unimaginative site that looks like the following:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/2018-05-25/safari.png&quot; alt=&quot;alt text&quot; title=&quot;Safari&quot; /&gt;&lt;/p&gt;

</content>
 </entry>
 
 
</feed>
