LoveIt/README.md

183 lines
6.5 KiB
Markdown
Raw Normal View History

# LoveIt Theme | Hugo
2019-02-03 12:30:34 +01:00
[![Netlify Status](https://api.netlify.com/api/v1/badges/e60303f2-862c-4342-bf59-7c9adb10812e/deploy-status)](https://app.netlify.com/sites/hugo-loveit-en/deploys)
[中文 README](README.zh.md) | [Demo Site](https://hugo-loveit-en.netlify.com)
2019-02-03 12:30:34 +01:00
**LoveIt** is a **clean**, **elegant** but **advanced** blog theme for [Hugo](https://gohugo.io/).
It is based on the original [LeaveIt Theme](https://github.com/liuzc/LeaveIt/) and [KeepIt Theme](https://github.com/liuzc/LeaveIt/).
![Hugo Theme LoveIt](exampleSite/static/images/Apple-Devices-Preview.png)
2019-08-06 17:49:02 +02:00
## Demo
2019-02-03 12:30:34 +01:00
To see this theme in action, here is a live [demo site](https://hugo-loveit-en.netlify.com) which is rendered with **LoveIt** theme.
2019-02-03 12:30:34 +01:00
Websites using **LoveIt** theme:
2019-03-11 16:39:26 +01:00
2019-08-06 17:49:02 +02:00
* [Dillon](https://dillonzq.com)
* Yours
2019-03-11 16:39:26 +01:00
### Features
#### Performance and SEO
2019-02-03 12:30:34 +01:00
* Optimized for performance: 99/100 on mobile and 100/100 on desktop in [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights)
2019-02-03 12:30:34 +01:00
* Optimized SEO performance with a correct SEO SCHEMA based on JSON-LD
* [Google Analytics](https://analytics.google.com/analytics) support
* Search engine verification support (Google, Bind, Yandex and Baidu)
* CDN support
* Automatically converted images with Lazy Load by [lazysizes](https://github.com/aFarkas/lazysizes)
#### Appearance and Layout
* Desktops/Mobiles Responsive layout
* Dark/Light Mode
2019-02-03 12:30:34 +01:00
* A More coerent style beetwen page and sections
2019-02-25 01:13:36 +01:00
* Pagination support
* Multilanguage support and I18N ready
#### Social and Comment Systems
* Gravatar support by [Gravatar](https://gravatar.com)
* Local Avatar support
* Up to 54 social sites supported
2019-03-14 11:40:45 +01:00
* Share post support
* Disqus comment system support by [Disqus](https://disqus.com)
* Gitalk comment system support by [Gitalk](https://github.com/gitalk/gitalk)
* Valine comment system support by [Valine](https://valine.js.org/)
#### Extended Features
* Automatically highlighting code by chroma in Hugo
* Extended markdown syntax for [Font Awesome](https://fontawesome.com/) icons
* Math formula support by [Katex](https://katex.org/)
* Diagram syntax shortcode support by [mermaid](https://github.com/knsv/mermaid)
* Embedded music player support by [APlayer](https://github.com/MoePlayer/APlayer) and [MetingJS](https://github.com/metowolf/MetingJS)
* Bilibili player support
* Kinds of admonitions shortcode support
* Custom align and float style shortcodes support
* Animated typing support by [TypeIt](https://typeitjs.com/)
* Animated coutdown support by [jQuery.countdown](https://github.com/hilios/jQuery.countdown)
* Dynamic to top support by [Smooth Scroll](https://github.com/cferdinandi/smooth-scroll)
2019-02-03 12:30:34 +01:00
* ...
2019-08-06 17:49:02 +02:00
## Getting Started
2019-02-03 12:30:34 +01:00
Clone this repository to your hugo theme directory.
```bash
2019-08-06 17:49:02 +02:00
cd themes
git clone https://github.com/dillonzq/LoveIt.git
2019-02-03 12:30:34 +01:00
```
Or, make this repository a submodule of your site directory.
```bash
git submodule add https://github.com/dillonzq/LoveIt.git themes/LoveIt
```
Next, open `config.toml` in the base of the Hugo site and ensure the theme option is set to KeepIt:
2019-08-06 17:49:02 +02:00
2019-02-03 12:30:34 +01:00
```bash
2019-08-06 17:49:02 +02:00
theme = "LoveIt"
2019-02-03 12:30:34 +01:00
```
2019-08-06 17:49:02 +02:00
2019-02-03 12:30:34 +01:00
For more information read the [official setup guide](https://gohugo.io/documentation/) of Hugo.
2019-08-06 17:49:02 +02:00
## Site Configuration
2019-02-03 12:30:34 +01:00
Take a look in the `exampleSite` folder.
This directory contains an example config file and the content for the demo for `en` and `zh` languages.
It serves as an example setup for your website.
2019-02-03 12:30:34 +01:00
Copy the `config.toml` to the root directory of your website. Overwrite the existing config file if necessary.
2019-02-03 12:30:34 +01:00
2019-08-06 17:49:02 +02:00
## Content Suggestions
2019-02-03 12:30:34 +01:00
A few suggestions to help you get a good looking site quickly:
* Keep blog posts in the `content/posts` directory, for example: `content/posts/my-first-post.md`
* Keep static pages in the `content` directory, for example: `content/about.md`
* Keep media like images in the `static` directory, for example: `static/images/2019/9/screenshot.png`
2019-02-03 12:30:34 +01:00
2019-08-06 17:49:02 +02:00
## Customizing styles for your website
2019-02-03 12:30:34 +01:00
If you want to change some styling to fit your own website needs, you can edit them:
* `assets/css/_varibales.scss`: You can override the variables in `_variables.scss` to customize the style
* `assets/css/_custom.scss`: You can put your custom css in this file
2019-02-03 12:30:34 +01:00
2019-08-06 17:49:02 +02:00
## Favicons, Browserconfig, Manifest
2019-02-03 12:30:34 +01:00
It is recommended to put your own favicons
* apple-touch-icon.png (180x180)
* favicon-32x32.png (32x32)
* favicon-16x16.png (16x16)
* mstile-150x150.png (150x150)
* android-chrome-192x192.png (192x192)
* android-chrome-512x512.png (512x512)
2019-08-06 17:49:02 +02:00
into `/static`. Theyre easily created via [https://realfavicongenerator.net/](https://realfavicongenerator.net/).
2019-02-03 12:30:34 +01:00
Customize `browserconfig.xml` and `site.webmanifest` to set theme-color and background-color.
2019-02-03 12:30:34 +01:00
2019-08-06 17:49:02 +02:00
## Tips
2019-02-03 12:30:34 +01:00
### Set `production` environment when generating site
2019-02-03 12:30:34 +01:00
Because some features are only in production mode, so you need to add a `production` environment variables when generating your site.
2019-08-06 17:49:02 +02:00
2019-02-03 12:30:34 +01:00
```bash
2019-08-06 17:49:02 +02:00
HUGO_ENV=production hugo --gc --minify
2019-02-03 12:30:34 +01:00
```
2019-08-06 17:49:02 +02:00
### How to toggle dark-light mode
* You can click the circle icon to toggle dark-light mode. In the desktop version the circle icon is to the right and in the mobile version is positioned to the left, close to the site title.
* If you want to make your own theme toggle-able element, you can create an element with a class `.theme-switch`. See [here](https://github.com/dillonzq/LoveIt/blob/master/assets/js/blog.js#L14)
2019-02-03 12:30:34 +01:00
2019-08-06 17:49:02 +02:00
## Home Post model
If you want to show posts on index instead of a personal profile, just open `config.toml`, add the following line:
2019-08-06 17:49:02 +02:00
2019-02-03 12:30:34 +01:00
```toml
2019-08-06 17:49:02 +02:00
[params]
home_mode = "post"
2019-02-03 12:30:34 +01:00
```
2019-08-06 17:49:02 +02:00
## Add logo and cover for SEO
2019-02-03 12:40:34 +01:00
Add a logo image (127x40) and a cover image (800x600) in the `static` directory.
2019-02-03 12:30:34 +01:00
2019-08-06 17:49:02 +02:00
## Questions, ideas, bugs, pull requests
2019-02-03 12:30:34 +01:00
2019-08-06 17:49:02 +02:00
All feedback is welcome! Head over to the [issue tracker](https://github.com/dillonzq/LoveIt/issues).
## License
2019-03-11 16:39:26 +01:00
LoveIt is licensed under the MIT license. Check the [LICENSE file](https://github.com/dillonzq/LoveIt/blob/master/LICENSE) for details.
2019-02-03 12:30:34 +01:00
Thanks to the authors of following resources included in the theme:
* [Font Awesome](https://fontawesome.com/)
* [Animate.css](https://daneden.github.io/animate.css/)
2019-08-06 17:49:02 +02:00
* [lazysizes](https://github.com/aFarkas/lazysizes)
* [Smooth Scroll](https://github.com/cferdinandi/smooth-scroll)
* [TypeIt](https://typeitjs.com/)
* [jQuery](https://github.com/jquery/jquery)
* [jQuery.countdown](https://github.com/hilios/jQuery.countdown)
* [Katex](https://katex.org/)
* [mermaid](https://github.com/knsv/mermaid)
* [APlayer](https://github.com/MoePlayer/APlayer)
* [MetingJS](https://github.com/metowolf/MetingJS)
* [Gitalk](https://github.com/gitalk/gitalk)
* [Valine](https://valine.js.org/)
2019-08-06 17:49:02 +02:00
## Author
2019-02-03 12:30:34 +01:00
2019-08-06 17:49:02 +02:00
[Dillon](https://dillonzq.com)