DoIt Theme | Hugo
English README | 简体中文说明
DoIt is a clean, elegant and advanced blog theme for Hugo.
It is based on the LoveIt Theme, LeaveIt Theme and KeepIt Theme.
The DoIt theme inherits the excellent functions of these themes, and adds new functions and optimizations on this basis. Please read Why Choose DoIt to learn more.
The goal of DoIt theme is to create a powerful and easy-to-use Hugo theme, so you can go straight into your blog content creation and just do it without worrying about the complex technical details.
Getting started
Head to this documentation page for a complete guidance to get started with the DoIt theme.
Migrate from LoveIt
If you are currently using the LoveIt theme, it is very easy to migrate to DoIt.
You can add this repo as a submodule of your site directory.
git submodule add https://github.com/HEIGE-PCloud/DoIt.git themes/DoIt
And later you can update the submodule in your site directory to the latest commit using this command:
git submodule update --remote --merge
Alternatively, you can download the latest release .zip file of the theme and extract it in the themes directory. (Not recommended, the repo is being updated frequently so the releases may out of date.)
Next, go to the config.toml
and change the default theme to DoIt
.
- theme = "LoveIt"
+ theme = "DoIt"
Now the migration is finished and everything is ready 🎉
Many new features and configurations have been added to the DoIt theme, check the changelog and documentation for more information.
Demo Site
To see this theme in action, here is a live demo site which is rendered with DoIt theme.
Why choose DoIt
- Custom Header
- Custom CSS Style
- A new home page, compatible with the latest version of Hugo
- A lot of style detail adjustments, including color, font size, margins, code preview style
- More readable dark mode
- Some beautiful CSS animations
- Easy-to-use and self-expanding table of contents
- More social links, share sites and comment system
- Search supported by algolia or Fuse.js
- Copy code to clipboard with one click
- Extended Markdown syntax for Font Awesome icons
- Extended Markdown syntax for ruby annotation
- Extended Markdown syntax for fraction
- Mathematical formula supported by KaTeX
- Diagram syntax shortcode supported by mermaid
- Interactive data visualization shortcode supported by ECharts
- Mapbox shortcode supported by Mapbox GL JS
- Embedded music player supported by APlayer and MetingJS
- Bilibili player supported
- Kinds of admonitions shortcode supported
- Custom style shortcodes supported
- CDN for all third-party libraries supported
- Multiple Authors supported
- ...
In short, if you prefer the design language and freedom of the DoIt theme, if you want to use the extended Font Awesome icons conveniently, if you want to embed mathematical formulas, flowcharts, music or Bilibili videos in your posts, the DoIt theme may be more suitable for you.
Features
Performance and SEO
- Optimized for performance: 99/100 on mobile and 100/100 on desktop in Google PageSpeed Insights
- Optimized SEO performance with a correct SEO SCHEMA based on JSON-LD
- Google Analytics supported
- Fathom Analytics supported
- Baidu Analytics supported
- Umami Analytics supported
- Plausible Analytics supported
- Cloudflare Web Analytics supported
- Splitbee Analytics supported
- Search engine verification supported (Google, Bind, Yandex and Baidu)
- CDN for third-party libraries supported
Appearance and Layout
- Responsive layout
- Light/Dark/Black mode
- Globally consistent design language
- Pagination supported
- Easy-to-use and self-expanding table of contents
- Multilanguage supported and i18n ready
- Beautiful CSS animation
- Brand new Page Layout optimized for wide screens
- Compatibility for PWA
Social and Comment Systems
- Gravatar supported by Gravatar
- Local Avatar supported
- Up to 64 social links supported
- Up to 28 share sites supported
- Disqus comment system supported by Disqus
- Gitalk comment system supported by Gitalk
- Valine comment system supported by Valine
- Waline comment system supported by Waline
- Facebook comments system supported by Facebook
- Telegram comments system supported by Telegram Comments
- Commento comment system supported by Commento
- Utterances comment system supported by Utterances
- Twikoo comment system supported by Twikoo
- Vssue comment system supported by Vssue
- Remark42 comment system supported byRemark42
- giscus comment system supported by giscus
- Artalk comment system supported by Artalk
Extended Features
- Search supported by algolia or Fuse.js
- Twemoji supported
- Automatically highlighting code
- Copy code to clipboard with one click
- Images gallery supported by lightgallery.js
- Extended Markdown syntax for Font Awesome icons
- Extended Markdown syntax for ruby annotation
- Extended Markdown syntax for fraction
- Mathematical formula supported by KaTeX
- Diagrams shortcode supported by mermaid
- Interactive data visualization shortcode supported by ECharts
- Mapbox shortcode supported by Mapbox GL JS
- Music player shortcode supported by APlayer and MetingJS
- Bilibili player shortcode
- Kinds of admonitions shortcode
- Custom style shortcode
- Custom script shortcode
- Custom friend shortcode
- Animated typing supported by TypeIt
- Dynamic scroll supported by native CSS
- Cookie consent banner supported by cookieconsent
- Option to cache remote images
- ...
Documentation
Build Documentation Locally:
hugo server --source=exampleSite
Multilingual and i18n
DoIt supports the following languages:
- English
- Simplified Chinese
- French
- Polish
- Brazilian Portuguese
- Italian
- Spanish
- German
- Serbian
- Russian
- Romanian
- Vietnamese
- Arabic
- Catalan
- Hindi
- Indonesian
- Korean
- European Portuguese
- Tegulu
- Thai
- Turkish
- Ukrainian
- Traditional Chinese
- Contribute with a new language
Roadmap
Changelog
Questions, ideas, bugs, pull requests
All feedback is welcome! Head over to the issue tracker.
License
DoIt is licensed under the MIT license. Check the LICENSE file for details.
Thanks to the authors of following resources included in the theme:
- normalize.css
- Font Awesome
- Simple Icons
- Animate.css
- autocomplete.js
- algoliasearch
- Fuse.js
- object-fit-images
- Twemoji
- lightgallery.js
- clipboard.js
- Sharer.js
- TypeIt
- KaTeX
- mermaid
- ECharts
- Mapbox GL JS
- APlayer
- MetingJS
- Gitalk
- Valine
- Waline
- Twikoo
- Vssue
- Remark42
- cookieconsent