English |
简体中文 |
繁體中文
MemE
Description
MemE is a powerful and highly customizable GoHugo theme for personal blogs, which focuses on elegance, simplicity, modernity, and best practices in coding.
Preview
![tn.png](https://raw.githubusercontent.com/reuixiy/hugo-theme-meme/master/images/tn.png)
Browser support
MemE uses CSS variables and let statements 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:
~ $ sudo pacman -S hugo
~ $ hugo new site blog
For users of other systems, see: https://gohugo.io/getting-started/installing/
Install MemE
~ $ cd blog
~/blog $ git init
~/blog $ git submodule add --depth 1 https://github.com/reuixiy/hugo-theme-meme.git themes/meme
Blogging
-
Replace config.toml
with config examples.
~/blog $ rm config.toml && cp themes/meme/config-examples/en/config.toml config.toml
-
Create a new post and the about page:
~/blog $ hugo new "posts/hello-world.md"
~/blog $ hugo new "about/_index.md"
-
Now:
~/blog $ hugo server -D
Customize MemE
MemE uses SCSS via Hugo Pipes to generate CSS instead of static CSS file and provides a _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
~/blog $ git submodule update --rebase --remote
If failed, try:
-
Delete meme
folder, e.g.
~/blog $ rm -rf themes/meme
-
Clone MemE again
~/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
and update the related items after the update!
Awesome MemE
See #2.
Supported Front Matter
Click to expand!
| Name | Description | Notes |
| ------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| title | \* | string |
| linkTitle | \* | string |
| subtitle | displayed below the title | string, Markdown supported |
| date | \* | string |
| lastmod | \* | string |
| publishDate | \* | string |
| expiryDate | \* | string |
| `` 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 |
| hideInHomepage | hide this post in homepage posts list | boolean, valid for "posts" homepage with `enableHideInHomepage` enabled |
| languageCode | add `lang` attribute with this value to `` | string |
| meta | set `false` to disable post-meta | boolean, override `enablePostMeta` in `config.toml` |
| displayPublishedDate | display published date in post-meta | boolean, override `displayPublishedDate` in `config.toml` |
| displayModifiedDate | display modified date in post-meta | boolean, override `displayModifiedDate` in `config.toml` |
| displayExpiryDate | display expiry date in post-meta | boolean, override `displayExpiryDate` in `config.toml` |
| displayCategory | display category in post-meta | boolean, override `displayCategory` in `config.toml` |
| displayWordCount | display word count in post-meta | boolean, override `displayWordCount` in `config.toml` |
| displayReadingTime | display reading time in post-meta | boolean, override `displayReadingTime` in `config.toml` |
| displayBusuanziPagePV | display page views in post-meta | boolean, override `displayBusuanziPagePV` in `config.toml` |
| 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 |
| fediverse | author’s fediverse 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