Simplicity is a clean and minimalistic Jekyll theme designed for bloggers who value simplicity and functionality. Built with Tailwind CSS, the theme offers sleek design, responsiveness, and modern features such as dark/light theme toggling and post search.
- Tailwind CSS: Utilizes the power of Tailwind CSS for easy and flexible styling.
- Dark/Light Theme Toggle: Seamlessly switch between dark and light themes.
- Post Search: Built-in functionality for searching blog posts.
- Responsive Design: Fully responsive, adapting to all screen sizes and devices.
- Easy Customization: Straightforward options and structure for quick customization.
To set up the Simplicity theme on your local machine, follow these steps:
- Clone the repository:
git clone https://github.com/madeindra/simplicity.git
cd simplicity
- Install dependencies
bundle install
npm install
- Run the server
bundle exec jekyll serve --config _config.yml,_config-dev.yml --livereload
- Open your browser and navigate to http://localhost:4000
You can customize various aspects of the theme by modifying the _config.yml
file. Here is a detailed explanation of each configuration option:
url
: The base URL for your site (e.g.,https://example.github.io
).title
: The title of your site (e.g.,Simplicity
).author
: The name of the site author (e.g.,John Doe
).permalink
: The permalink structure for your posts (e.g.,/:title/
).description
: A short description of your site.keywords
: A list of keywords related to your site (e.g.,blog
).
search_enabled
: Enable or disable the search feature (true/false).home_enabled
: Enable or disable the Home link in the header (true/false).about_enabled
: Enable or disable the About link in the header (true/false).
sitemap_enabled
: Enable or disable the sitemap link in the footer (true/false).feed_enabled
: Enable or disable the rss feed link in the footer (true/false).
Customize the content of your homepage:
homepage.welcome.title
: The title displayed in the welcome section.homepage.welcome.subtitle
: The subtitle displayed in the welcome section.
Customize the content of your About page:
about.author_name
: The name of the author (e.g.,John Doe
).about.author_image
: The path to the author's image (e.g.,/assets/images/author.jpg
).about.social_media_enabled
: Enable or disable social media links (true/false).about.description
: A list of paragraphs describing the author.
Add your social media handles:
social_media.email
: Email address.social_media.linkedin
: LinkedIn username.social_media.github
: GitHub username.social_media.youtube
: YouTube channel name.social_media.twitter
: Twitter handle.social_media.instagram
: Instagram username.
Configure Giscus for comments system:
giscus
: Enable giscus comments system instead of Disqus (true/false).
Configure Disqus for comments:
disqus.shortname
: Your Disqus shortname.
Available config for each posts:
category
: Category of the post.image
: Image for post preview on homepage.feature_image
: Show image as featured on top of the post page (true/false).description
: Post description on homepage.keywords
: Keywords for metadata of the post page.comments
: Enable comments system on the page (true/false).
Configure homepage's pagination:
paginate
: Number of post shown per pagepaginate_path
: The link structure for pagination (e.g.,/page/:num/
).
Follow these steps to deploy your Jekyll site using GitHub Actions.
-
Create a New Repository with this Template:
- Click on
Use this template
and click onCreate a new repository
- Use this format for the repository name
username.github.io
with username being your Hub username
- Click on
-
Clone the Repository and Configure:
- Clone your repository and make any necessary configurations:
git clone https://github.com/username/username.github.io cd username.github.io
- Copy all contents of simplicity into the repository
- Configure
_config.yml
as needed
- Clone your repository and make any necessary configurations:
-
Ensure
x86_64-linux
Platform in Gemfile.lock:- To ensure that the site can run in GitHub Actions, make sure the
Gemfile.lock
includes thex86_64-linux
platform. Run the following command if necessary:bundle lock --add-platform x86_64-linux
- To ensure that the site can run in GitHub Actions, make sure the
-
Create a GitHub Actions Workflow:
- Create a GitHub Actions workflow file located at
.github/workflows/gh-pages.yaml
:name: Build and deploy this site to GitHub Pages on: push: branches: - main jobs: github-pages: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup Ruby uses: ruby/setup-ruby@v1 with: ruby-version: 3.1 bundler-cache: true - name: Setup Node uses: actions/setup-node@v4 with: node-version: 20 - run: npm install - name: Build site uses: limjh16/jekyll-action-ts@v2 with: enable_cache: true - name: Deploy uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./_site
- Create a GitHub Actions workflow file located at
-
Configure Repository Settings:
- Open your repository settings.
- Navigate to the Actions tab and select General.
- In the Workflow permissions section, select Read and write permissions.
- Click Save to save your settings.
-
Enable GitHub Pages:
- After the first action run, a
gh-pages
branch will be created. - Open your repository settings again.
- Navigate to the Pages section.
- Select Deploy from a branch.
- Set the source to
gh-pages
. - Click Save.
- After the first action run, a
-
View Your Deployed Site:
- Open your browser and navigate to:
Replace
https://{username}.github.io
username
with your GitHub username
- Open your browser and navigate to:
And that's it! Your Jekyll site should now be live on GitHub Pages.
Giscus is an alternative comment system, it make uses of GitHub Discussions feature, and has not tracking or ads.
To use it instead of Discus, the page repository should fulfill these criterias:
- The repository is a public repository
- The discussion feature is enabled for the repository
- The Giscus app is installed on the repository
Follow installation guide on Giscus page and enable the giscus config on the _config.yml
.
If you can't fullfil the requirements above, you can opt-in to use Disqus. Just create an account and set your username on the _config.yml
.
Special thanks to Giorgi Mezurnishvili for providing the starter template.