InkSoul/themes/meme_cdn/README.md

171 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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
[![tn.png](https://raw.githubusercontent.com/reuixiy/hugo-theme-meme/master/images/tn.png)](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 | authors website | string |
| email | authors email | string |
| motto | authors description | string |
| avatar | authors avatar | string, URL |
| twitter | authors 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>