This post will guide you to install WhatATheme on your Jekyll site for AWS Domains
Published on January 04, 2022 by Robert McCue
how to setup static site jekyll informative WhatATheme
7 min READ
Jekyll is a simple, blog-aware, static site generator perfect for personal, project, or organization sites. Think of it like a file-based CMS, without all the complexity. Jekyll takes your content, renders Markdown and Liquid templates, and spits out a complete, static website ready to be served by Apache, Nginx or another web server. Jekyll is the engine behind GitHub Pages, which you can use to host sites right from your GitHub repositories and if you don’t know what GitHub Pages are you can visit on click here or here
Jekyll Docs
To know more and get started with Jekyll you can click here
Jekyll is a Ruby Gem that can be installed on most systems.
For detailed install instructions have a look at the guide for your operating system.
We can create a new Jekyll site just by a simple command:
jekyll new my-site
Jekyll will create a new directory named as my-site
which is customizable (i.e., you can change the name from my-site
to anything you want for example jekyll new brutus
).
We have to go inside the directory:
cd my-site
Again, my-site
is just a random name which is customizable.
We can create a new Jekyll post just by a simple command:
jekyll post "POST_NAME"
jekyll clean
bundle exec jekyll serve
Browse to
http://localhost:4000/
At was at this point that I realized that I wanted a premade free theme since I am too lazy to make one myself, but am also willing to rip one completely apart to have it suit my needs. Enter WhatATheme.
You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. >You can rebuild the site in many different ways, but the most common way is to run
bundle exec jekyll serve
, which launches a web server and auto-regenerates your site when a file is updated.
WhatATheme is a customizable Jekyll Portfolio theme which supports blogging. You can use this theme in order to create an elegant, fully responsive portfolio which includes
Ping on Messenger
Send an Email
Tweet on Twitter
Facebook
, Twitter
, Instagram
, LinkedIn
, GitHub
, YouTube
, Reddit
, Behance
, Dribbble
& Spotify
.The blog includes a horizontal card list where the latest articles are fetched from the _posts folder automatically in top-down format. It also includes an instant search box which matches your query from the title, description & content of your post and shows the result as soon as you type.
The blog card includes
The Projects page will include all the projects from the projects.yml
file which is present in the _data folder.
Projects will be showcased in a card-list format where each card will contain
The footer includes
Author Image
as mentioned in the about section of the Home page which includes Name of the Author
, Around 75 words about the author
.Subscribe via RSS
link.WhatATheme comes pre installed with
Disqus - A worldwide blog comment hosting service for web sites and online communities that use a networked platform. For more information about Disqus click here
##### For more information about WhatATheme click here.
- Fork the repository
- Go to repository settings and set Github Pages source as master.
- Your new site should be ready at https://username.github.io/WhatATheme/
- Open _config.yml file
- Fill the available details accordingly
- Commit the changes
- Open a way to search text in a bunch of files and directories recursively
- Search for
http://localhost:4000
and remove it.- Commit the changes
- You have to do this because the original author of the WhatATheme theme wrote it for GitHub pages - which I do NOT have.
- Removing the above templated variables will allow you to host your site elsewhere like AWS.
Now that you have installed Jekyll, WhatATheme, and have configured your S3 bucket and/or Cloudfront, here’s the typical workflow now for blogging and publishing.
_layout
cd my-site
jekyll post "POST_NAME"
Again, my-site
is just a random name which is customizable.
This is arguably the hardest part. Writers block can be real, you know?
Don’t forget that everything is in Markdown (
.md
)! This is a basic syntax guide.
jekyll clean
bundle exec jekyll serve
Browse to
http://localhost:4000/
cd _site
aws s3 sync --dryrun --delete . s3://<my-site>
aws s3 sync --delete . s3://<my-site>