InkSoul/themes/meme_cdn/README.md

171 lines
16 KiB
Markdown
Raw Normal View History

2023-06-18 23:16:41 +08:00
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>