167 lines
4.6 KiB
Markdown
167 lines
4.6 KiB
Markdown
# Ezhil
|
|
|
|
Clean and minimal personal blog and portfolio theme for Hugo.
|
|
|
|
## Demo
|
|
|
|
[View demo](https://ezhil-hugo.netlify.com/)
|
|
|
|
![Screenshot](images/screenshot-light.png "Ezhil light theme")
|
|
![Screenshot](images/screenshot-dark.png "Ezhil dark theme")
|
|
|
|
## Features
|
|
|
|
* Clean and minimal
|
|
* Dark mode (Auto detect from OS)
|
|
* Responsive
|
|
* Supports tags
|
|
* Social media links
|
|
* Google Analytics integration
|
|
* Syntax highlighting
|
|
* Twitter cards and opengraph tags support
|
|
* Disqus comments
|
|
* Hugo RSS feeds
|
|
* Custom CSS/JS
|
|
|
|
## Installation
|
|
|
|
From your Hugo site run the following.
|
|
|
|
```sh
|
|
cd themes
|
|
git clone https://github.com/vividvilla/ezhil.git
|
|
```
|
|
|
|
For more information read the [official setup guide](https://gohugo.io/overview/installing/) of Hugo.
|
|
|
|
## Configuration
|
|
|
|
```toml
|
|
baseURL = "http://example.org/"
|
|
languageCode = "en-us"
|
|
title = "My personal blog"
|
|
theme = "ezhil"
|
|
|
|
copyright = "© Copyright notice"
|
|
|
|
# Enable syntax highlighting.
|
|
pygmentsstyle = "solarized-dark"
|
|
pygmentscodefences = true
|
|
pygmentscodefencesguesssyntax = true
|
|
|
|
# Your Google analytics code.
|
|
googleAnalytics = "UA-123-45"
|
|
# Your Disqus sortname.
|
|
disqusShortname = "localhost"
|
|
|
|
# Number of posts to show in recent posts list (Optional). Defaults to 10.
|
|
paginate = 10
|
|
|
|
# Number of characters to show in summary.
|
|
summaryLength = 20
|
|
|
|
[params]
|
|
# Blog subtitle which appears below blog title. Supports markdown.
|
|
subtitle = "Clean and minimal personal [blog theme for Hugo](https://github.com/vividvilla/ezhil)"
|
|
|
|
# Content types which are included in home page recent posts list.
|
|
mainSections = ["posts"]
|
|
|
|
# Content types which are excludes Disqus comments.
|
|
disableDisqusTypes = ["page"]
|
|
|
|
# If social media links are enabled then enable this to fetch icons from CDN instead of hosted on your site.
|
|
featherIconsCDN = true
|
|
|
|
# Specify favicon (icons/i.png maps to static/icons/i.png). No favicon if not defined.
|
|
favicon = "icons/myicon.png"
|
|
|
|
# Switch to dark mode or auto detect mode from OS (Optional).
|
|
# "dark" will set mode to dark and "auto" will switch to dark mode if OS is in dark mode.
|
|
mode = "dark" # "dark" or "auto"
|
|
|
|
# Custom CSS added to default styles. Files added to `static` folder is copied as it is to
|
|
# root by Hugo. For example if you have custom CSS file under `static/css/custom.css` then
|
|
# you can specify custom css path as `css/custom.css`.
|
|
customCSS = "css/custom.css"
|
|
# Custom CSS added to dark mode style.
|
|
customDarkCSS = "css/custom-dark.css"
|
|
|
|
# Custom list of Javascript files to load. Just like custom CSS you can place js files under
|
|
# `static/js` folder and specify path here as `js/script-name.js`. You can also specify full url,
|
|
# for example you may want to include external JS library.
|
|
customJS = ["js/abc.js", "js/xyz.js", "https://code.jquery.com/jquery-3.4.1.js"]
|
|
|
|
# Main menu which appears below site header.
|
|
[[menu.main]]
|
|
name = "Home"
|
|
url = "/"
|
|
weight = 1
|
|
|
|
[[menu.main]]
|
|
name = "All posts"
|
|
url = "/posts"
|
|
weight = 2
|
|
|
|
[[menu.main]]
|
|
name = "About"
|
|
url = "/about"
|
|
weight = 3
|
|
|
|
[[menu.main]]
|
|
name = "Tags"
|
|
url = "/tags"
|
|
weight = 4
|
|
|
|
# Social media links which shows up on site header.
|
|
# Uses feather icons for icons. You can [search icon names from here](https://feathericons.com/).
|
|
[[params.social]]
|
|
name = "Github"
|
|
icon = "github"
|
|
url = "https://github.com/vividvilla/ezhil"
|
|
|
|
[[params.social]]
|
|
name = "Twitter"
|
|
icon = "twitter"
|
|
url = "https://twitter.com/gohugoio"
|
|
|
|
# Enable tags.
|
|
[taxonomies]
|
|
tag = "tags"
|
|
```
|
|
|
|
## Content type
|
|
|
|
You can specify content type with field `type` in your content. For example static pages can be set as type `page` which are excluded from recent posts and all posts page. You can use site params `mainSections` and `disableDisqusTypes` to control which page types are excluded from recent posts and Disqus comments respectively.
|
|
|
|
```md
|
|
---
|
|
title: "About"
|
|
date: 2019-04-19T21:37:58+05:30
|
|
type: "page"
|
|
---
|
|
|
|
This is some static page where you can write about yourself.
|
|
```
|
|
|
|
## Disable Disqus
|
|
|
|
You can disable Disqus site wide if you don't set `DisqusShortname` param in config. You can also disable Disqus from contents selectively or for all contents with certain content type. Use content field `disqus` to disable Disqus from certain contents.
|
|
|
|
```md
|
|
---
|
|
title: "Content without comments"
|
|
date: 2019-04-19T21:37:58+05:30
|
|
disqus: false
|
|
---
|
|
|
|
This is a content without Disqus comments.
|
|
```
|
|
|
|
You can also disable Disqus for certain content types by using site param `disableDisqusTypes`. You can check config section above for example.
|
|
|
|
## Credits
|
|
|
|
* [Feather Icons](https://feathericons.com/)
|
|
* [Zen habits](https://zenhabits.net/) for demo content
|