171 lines
16 KiB
Markdown
171 lines
16 KiB
Markdown
English |
|
||
[简体中文](https://github.com/reuixiy/hugo-theme-meme/blob/master/README.zh-cn.md) |
|
||
[繁體中文](https://github.com/reuixiy/hugo-theme-meme/blob/master/README.zh-tw.md)
|
||
|
||
<div align="center"><img src="https://raw.githubusercontent.com/reuixiy/hugo-theme-meme/master/static/icons/apple-touch-icon.png" /></div>
|
||
|
||
# <div align="center">MemE</div>
|
||
|
||
## Description
|
||
|
||
MemE is a powerful and highly customizable [GoHugo](https://github.com/gohugoio/hugo) theme for personal blogs. MemE focuses on elegance, simplicity, modernity, and code correctness. Also, I hope you would enjoy MemE like a meme and share MemE like a meme! Just like what your blog and articles do! 😝
|
||
|
||
## Preview
|
||
|
||
[](https://io-oi.me/hugo-theme-meme/)
|
||
|
||
### Browser support
|
||
|
||
MemE uses [CSS variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties) and [let statements](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let) extensively. These features are supported by the following browsers:
|
||
|
||
- Chrome 49+
|
||
- Firefox 44+
|
||
- Edge 15+
|
||
- Opera 36+
|
||
- Safari 10+
|
||
|
||
Internet Explorer does not support CSS variables.
|
||
|
||
## Quick Start
|
||
|
||
https://gohugo.io/getting-started/quick-start/
|
||
|
||
### Install Hugo (`extended` version)
|
||
|
||
For Arch Linux users:
|
||
|
||
```sh
|
||
~ $ sudo pacman -S hugo
|
||
~ $ hugo new site blog
|
||
```
|
||
|
||
For users of other systems, see: https://gohugo.io/getting-started/installing/
|
||
|
||
### Install MemE
|
||
|
||
```sh
|
||
~ $ cd blog
|
||
~/blog $ git init
|
||
~/blog $ git submodule add --depth 1 https://github.com/reuixiy/hugo-theme-meme.git themes/meme
|
||
```
|
||
|
||
### Blogging
|
||
|
||
1. Replace `config.toml` with [config examples](https://github.com/reuixiy/hugo-theme-meme/blob/master/config-examples/en/config.toml).
|
||
|
||
```sh
|
||
~/blog $ rm config.toml && cp themes/meme/config-examples/en/config.toml config.toml
|
||
```
|
||
|
||
2. Create a new post and the about page:
|
||
|
||
```sh
|
||
~/blog $ hugo new "posts/hello-world.md"
|
||
~/blog $ hugo new "about/_index.md"
|
||
```
|
||
|
||
3. Now:
|
||
|
||
```sh
|
||
~/blog $ hugo server -D
|
||
```
|
||
|
||
## Customize MemE
|
||
|
||
MemE uses SCSS via [Hugo Pipes](https://gohugo.io/hugo-pipes/introduction/) to generate CSS instead of static CSS file and provides a [`_custom.scss`](https://github.com/reuixiy/hugo-theme-meme/blob/master/assets/scss/custom/_custom.scss) for customization.
|
||
|
||
Just create a `~/blog/assets/scss/custom/_custom.scss` and add your own styles into this file. Your `_custom.scss` will override `~/blog/themes/meme/assets/scss/custom/_custom.scss` and your custom CSS will be applied correctly.
|
||
|
||
Actually, you can override any template of theme in Hugo, see this _unofficial mirror_ page: https://gohugobrasil.netlify.com/themes/customizing/
|
||
|
||
## Update MemE
|
||
|
||
```sh
|
||
~/blog $ git submodule update --rebase --remote
|
||
```
|
||
|
||
If failed, try:
|
||
|
||
1. Delete `meme` folder, e.g.
|
||
|
||
```sh
|
||
~/blog $ rm -rf themes/meme
|
||
```
|
||
|
||
2. Clone MemE again
|
||
|
||
```sh
|
||
~/blog $ git clone --depth 1 https://github.com/reuixiy/hugo-theme-meme.git themes/meme
|
||
```
|
||
|
||
**Note that** MemE makes some brand new features or _breaking changes_ sometimes, so please be sure to check [the modification history of `config.toml`](https://github.com/reuixiy/hugo-theme-meme/commits/master/config-examples) and update the related items after the update!
|
||
|
||
## Awesome MemE
|
||
|
||
See [#2](https://github.com/reuixiy/hugo-theme-meme/issues/2).
|
||
|
||
## Supported Front Matter
|
||
|
||
<details>
|
||
<summary>Click to expand!</summary>
|
||
|
||
| Name | Description | Notes |
|
||
| ------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
||
| title | \* | string |
|
||
| linkTitle | \* | string |
|
||
| subtitle | displayed below the title | string, Markdown supported |
|
||
| date | \* | string |
|
||
| lastmod | \* | string |
|
||
| publishDate | \* | string |
|
||
| expiryDate | \* | string |
|
||
| `<taxonomies>` eg: categories, tags, series | \* | array |
|
||
| description | \* | string, Markdown supported |
|
||
| summary | \* | string, Markdown supported |
|
||
| images | \* | array |
|
||
| slug | \* | string |
|
||
| url | \* | string |
|
||
| draft | \* | boolean |
|
||
| isCJKLanguage | \* | boolean |
|
||
| weight | \* | integer |
|
||
| type | \* | string, if equal to "poetry", will use a special layout for it |
|
||
| layout | \* | string |
|
||
| outputs | \* | array |
|
||
| aliases | \* | array |
|
||
| markup | \* | string |
|
||
| meta | set `false` to disable post-meta | boolean |
|
||
| toc | display TOC | boolean, override `enableTOC` in `config.toml` |
|
||
| tocNum | display TOC number | boolean, override `displayTOCNum` in `config.toml` |
|
||
| anchor | enable headings anchor | boolean, override `enableHeadingsAnchor` in `config.toml` |
|
||
| displayCopyright | display post-copyright | boolean, override `displayPostCopyright` in `config.toml` |
|
||
| badge | display updated-badge | boolean, override `displayUpdatedBadge` in `config.toml` |
|
||
| gitinfo | display post-gitinfo | boolean, override `displayPostGitInfo` in `config.toml` |
|
||
| share | display post-share | boolean, override `displayPostShare` in `config.toml` |
|
||
| related | display related-posts | boolean, override `displayRelatedPosts` in `config.toml` |
|
||
| katex | add KaTeX support | boolean, override `enableKaTeX` in `config.toml` |
|
||
| mathjax | add MathJax support | boolean, override `enableMathJax` in `config.toml` |
|
||
| mermaid | add Mermaid support | boolean, override `enableMermaid` in `config.toml` |
|
||
| comments | set `false` to disable comments in mainSections or set `true` to enable comments in non-mainSections | boolean |
|
||
| smallCaps | small caps? | boolean, override `enableSmallCaps` in `config.toml` |
|
||
| dropCap | drop cap? | boolean, override `enableDropCap` in `config.toml` |
|
||
| dropCapAfterHr | drop cap after every horizontal rule tag? | boolean, override `enableDropCapAfterHr` in `config.toml` |
|
||
| deleteHrBeforeDropCap | delete horizontal rule tag before drop cap? | boolean, override `deleteHrBeforeDropCap` in `config.toml` |
|
||
| indent | indent instead of margin? | boolean, override `paragraphStyle` in `config.toml` |
|
||
| indentFirstParagraph | indent the first paragraph? | boolean, override `indentFirstParagraph` in `config.toml` |
|
||
| align | normal, justify, center | string, if equal to "normal", will override `enableJustify` in `config.toml` |
|
||
| original | original? You can add the following 8 terms if you set `false`. The `author` is required, other optional | boolean, override `original` in `config.toml` |
|
||
| author | author of original post | string |
|
||
| link | link of original post | string, URL |
|
||
| copyright | license of the post | string, Markdown supported |
|
||
| website | author’s website | string |
|
||
| email | author’s email | string |
|
||
| motto | author’s description | string |
|
||
| avatar | author’s avatar | string, URL |
|
||
| twitter | author’s twitter id | string |
|
||
| disqus_url | \* | string, if not set, will use `Permalink` as default |
|
||
| disqus_identifier | \* | string, if not set, will use `RelPermalink` as default |
|
||
| disqus_title | \* | string, if not set, will use `Title` as default |
|
||
|
||
\*: see https://gohugo.io/content-management/front-matter/
|
||
and https://gohugo.io/templates/internal/#configure-disqus
|
||
</details>
|