<?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: Anusree Anilkumar</title>
    <description>The latest articles on DEV Community by Anusree Anilkumar (@anusree6154s).</description>
    <link>https://dev.to/anusree6154s</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%2F1122186%2Ffb46d6d7-b53c-4fa8-8377-657dbf73c594.png</url>
      <title>DEV Community: Anusree Anilkumar</title>
      <link>https://dev.to/anusree6154s</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/anusree6154s"/>
    <language>en</language>
    <item>
      <title>Jekyll Github Pages Website</title>
      <dc:creator>Anusree Anilkumar</dc:creator>
      <pubDate>Mon, 24 Feb 2025 02:30:00 +0000</pubDate>
      <link>https://dev.to/anusree6154s/jekyll-github-pages-website-4poh</link>
      <guid>https://dev.to/anusree6154s/jekyll-github-pages-website-4poh</guid>
      <description>&lt;p&gt;This is my personal guide related to all about making github pages with and without jekyll.&lt;/p&gt;



&lt;h3&gt;
  
  
  1. Github pages website (without jekyll + only markdown files)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reference Repo&lt;/strong&gt;: &lt;a href="https://github.com/Anusree6154s/github-pages-website-demo-1" rel="noopener noreferrer"&gt;this&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reference Website:&lt;/strong&gt; &lt;a href="https://anusree6154s.github.io/github-pages-website-demo-1/" rel="noopener noreferrer"&gt;this&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;It contains no themes, no extra github pages features, etc. Just the simplest form of github pages website.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Process:&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;Initialise a repo&lt;/li&gt;
&lt;li&gt;Add a readme and any other markdown files that you want to put.&lt;/li&gt;
&lt;li&gt;Go to settings tab of repo, pages sections, these choose main branch and root directory. In sometime the website url will apear in the current page (just reload after a while)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;Allows normal features of markdown files: links, markdown syntax etc&lt;/li&gt;
&lt;li&gt;No themes, automatic navbar, etc&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h3&gt;
  
  
  2. Github pages website (with jekyll theme + only markdown files)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reference Repo:&lt;/strong&gt; &lt;a href="https://github.com/Anusree6154s/github-pages-website-demo-2" rel="noopener noreferrer"&gt;this&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reference Website:&lt;/strong&gt; &lt;a href="https://anusree6154s.github.io/github-pages-website-demo-2/" rel="noopener noreferrer"&gt;this&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Process:&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;Steps 1 to 3 same as above
&lt;/li&gt;
&lt;li&gt;Add a _config.yml file which contains a theme &lt;a href="https://pages.github.com/themes/" rel="noopener noreferrer"&gt;supported by github&lt;/a&gt; and other configuration respective to that theme provide its repo.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;Allows normal features of markdown files: links, markdown syntax etc&lt;/li&gt;
&lt;li&gt;Github supported themes and any features respective to that theme alone (no custom configurations outside of what that theme can provide)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h3&gt;
  
  
  3. Autogenerated Github pages website ( with jekyll theme + markdown + html files)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reference Repo:&lt;/strong&gt; &lt;a href="https://github.com/Anusree6154s/github-pages-website-demo-3" rel="noopener noreferrer"&gt;this&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reference Website:&lt;/strong&gt; &lt;a href="https://anusree6154s.github.io/github-pages-website-demo-3/" rel="noopener noreferrer"&gt;this&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pre-requisites:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Ruby installed (For windows - &lt;a href="https://rubyinstaller.org/downloads/" rel="noopener noreferrer"&gt;https://rubyinstaller.org/downloads/&lt;/a&gt;), the one with devkit&lt;/li&gt;
&lt;li&gt;Jekyll and bundler installed - &lt;code&gt;gem install jekyll bundler&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Process:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Creating webpage: run &lt;code&gt;jekyll new my-site&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Running webpage locally: run &lt;code&gt;bundle exec jekyll serve&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Running webpage with github: push to repo and setup github pages via settings (as point 3 in here)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Features:&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;Neccessary markdown and html files, Gemfile with predefined gems, _config.yml with preset configurations and theme.&lt;/li&gt;
&lt;li&gt;Just have to add more markdown files into _posts folder to add more posts to the website. Everything else is autogenerated&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ul&gt;



&lt;h3&gt;
  
  
  4. Github pages website from scratch (with jekyll +  markdown + html files + github pages workflows)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reference Repo:&lt;/strong&gt; &lt;a href="https://github.com/Anusree6154s/github-pages-website-demo-4" rel="noopener noreferrer"&gt;this&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reference Website:&lt;/strong&gt; &lt;a href="https://anusree6154s.github.io/github-pages-website-demo-4/" rel="noopener noreferrer"&gt;this&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pre-requisites:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Ruby installed (For windows - &lt;a href="https://rubyinstaller.org/downloads/" rel="noopener noreferrer"&gt;https://rubyinstaller.org/downloads/&lt;/a&gt;), the one with devkit&lt;/li&gt;
&lt;li&gt;jekyll and bundler installed - &lt;code&gt;gem install jekyll bundler&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Process:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Create a &lt;code&gt;_config.yml&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;For properties, visit &lt;a href="https://json.schemastore.org/jekyll.json" rel="noopener noreferrer"&gt;https://json.schemastore.org/jekyll.json&lt;/a&gt;. In that go to the key called properties and under it every key is a possible property that can be added to the config file.&lt;/li&gt;
&lt;li&gt;For default properties specific to any particular theme or website template, visit that template and read its documentation or code base to identiy what variables are used in its code.&lt;/li&gt;
&lt;li&gt;Finding variables :&lt;/li&gt;
&lt;li&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fuser-attachments%2Fassets%2F04612ac5-0aba-45f2-8b2e-fdea9d482f74" width="800" height="604"&gt;&lt;/li&gt;
&lt;li&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fuser-attachments%2Fassets%2F045f61eb-3b55-407a-9ace-a021514d1913" width="608" height="713"&gt;&lt;/li&gt;
&lt;li&gt;We will be using architect theme from &lt;a href="https://github.com/pages-themes/architect" rel="noopener noreferrer"&gt;https://github.com/pages-themes/architect&lt;/a&gt;. I'll just go ahead and copy info from its &lt;code&gt;_config.yml&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Create a file called &lt;code&gt;Gemfile&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Its like package.json but for ruby. It contains gems (packages for installation)&lt;/li&gt;
&lt;li&gt;In it add necessary gems for jekyll, and those related to the respective theme/template. (&lt;a href="https://github.com/Anusree6154s/github-pages-website-demo-4/blob/main/Gemfile" rel="noopener noreferrer"&gt;example&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Bundle the gemfile by running &lt;code&gt;bundle install&lt;/code&gt; or just &lt;code&gt;bundle&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create a file called &lt;code&gt;.gitignore&lt;/code&gt;&lt;/strong&gt; specific to jekyll, automatically by running &lt;code&gt;npx gitignore jekyll&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adding files&lt;/strong&gt;:&lt;/li&gt;
&lt;li&gt;Add a readme file that acts a starting point&lt;/li&gt;
&lt;li&gt;Add additonal &lt;a href="https://jekyllrb.com/docs/front-matter/" rel="noopener noreferrer"&gt;frontmatter&lt;/a&gt; to any post or page that you make. (&lt;a href="https://github.com/Anusree6154s/github-pages-website-demo-4/blob/main/first-default-page.md?plain=1" rel="noopener noreferrer"&gt;example&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add custom markdown pages [optional]. (&lt;a href="https://github.com/Anusree6154s/github-pages-website-demo-4/blob/main/first-simple-page.md" rel="noopener noreferrer"&gt;example&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add custom html pages [optional]. (&lt;a href="https://github.com/Anusree6154s/github-pages-website-demo-4/blob/main/_layouts/default.html" rel="noopener noreferrer"&gt;example&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Running:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Running webpage locally: run &lt;code&gt;bundle exec jekyll serve&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Running webpage with github: push to repo and setup github pages via settings&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;



&lt;h3&gt;
  
  
  5. Github pages website from scratch (with jekyll + markdown + html files + custom github workflows)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reference Repo:&lt;/strong&gt; &lt;a href="https://github.com/Anusree6154s/documentation" rel="noopener noreferrer"&gt;this&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reference Website:&lt;/strong&gt; &lt;a href="https://anusree6154s.github.io/documentation/" rel="noopener noreferrer"&gt;This current blog website&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Process:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Every thing same as 4, but we will build our own workflow.&lt;/li&gt;
&lt;li&gt;This is required when we make any changes in jekyll core code, because github-pages gem do not consider any changes that is made in jekyll core code like &lt;a href="https://github.com/Anusree6154s/documentation/blob/main/_plugins/no_date.rb" rel="noopener noreferrer"&gt;this&lt;/a&gt;. So we make our own github workflow.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Github Workflow:

&lt;ul&gt;
&lt;li&gt;Add a folder named &lt;code&gt;.github&lt;/code&gt;, within which you add another folder &lt;code&gt;workflows&lt;/code&gt;, within which you add a file named &lt;code&gt;jekyll.yml&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;In that file you add the following &lt;a href="https://github.com/Anusree6154s/documentation/blob/main/.github/workflows/jekyll.yml" rel="noopener noreferrer"&gt;code&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Running:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Same as 4
&lt;/li&gt;
&lt;li&gt;Running webpage locally: run &lt;code&gt;bundle exec jekyll serve&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Running webpage with github: push to repo and setup github pages via settings&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;



&lt;h3&gt;
  
  
  ◈ Additional Notes:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;List of starter file of some simple and pretty github pages websites:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/cotes2020/chirpy-starter" rel="noopener noreferrer"&gt;https://github.com/cotes2020/chirpy-starter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jekyll/minima/tree/v2.5.2" rel="noopener noreferrer"&gt;https://github.com/jekyll/minima/tree/v2.5.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jsanz/gh-pages-minima-starter" rel="noopener noreferrer"&gt;https://github.com/jsanz/gh-pages-minima-starter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/alshedivat/al-folio" rel="noopener noreferrer"&gt;https://github.com/alshedivat/al-folio&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Some other references for github pages website setup:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/jekyll/jekyll/blob/master/lib/site_template/_config.yml" rel="noopener noreferrer"&gt;https://github.com/jekyll/jekyll/blob/master/lib/site_template/_config.yml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opensource.com/article/21/11/jekyll-config-files" rel="noopener noreferrer"&gt;https://opensource.com/article/21/11/jekyll-config-files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nainagurung.medium.com/publish-github-pages-using-jekyll-369a8e2800b7" rel="noopener noreferrer"&gt;https://nainagurung.medium.com/publish-github-pages-using-jekyll-369a8e2800b7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

</description>
      <category>jekyll</category>
      <category>ruby</category>
      <category>scss</category>
      <category>markdown</category>
    </item>
  </channel>
</rss>
