├── exampleSite ├── layouts │ └── .gitkeep ├── static │ └── .gitignore ├── .gitignore ├── README.md ├── config-example.yaml ├── content │ ├── posts │ │ ├── rich-content.md │ │ ├── emoji-support.md │ │ ├── math-typesetting.md │ │ ├── placeholder-text.md │ │ ├── test.md │ │ └── markdown-syntax.md │ └── about │ │ └── _index.md ├── LICENSE └── config.yaml ├── images ├── tn.png └── screenshot.png ├── static ├── images │ ├── avatar.png │ └── favicon.ico └── css │ └── style.css ├── archetypes └── default.md ├── layouts ├── _default │ ├── _markup │ │ ├── render-heading.html │ │ ├── render-image.html │ │ └── render-link.html │ ├── baseof.html │ ├── terms.html │ ├── single.html │ ├── list.html │ └── taxonomy.html ├── section │ └── about.html ├── partials │ ├── comment.html │ ├── social.html │ ├── svgs │ │ ├── heart.svg │ │ ├── linkedin.svg │ │ ├── facebook.svg │ │ ├── twitter.svg │ │ ├── stackoverflow.svg │ │ └── github.svg │ ├── toc.html │ ├── profile.html │ ├── math.html │ ├── navigation.html │ ├── footer.html │ └── head.html ├── 404.html └── index.html ├── data ├── months_da.yaml ├── months_fr.yaml └── months_nl.yaml ├── .gitignore ├── CHANGELOG ├── theme.toml ├── i18n ├── zh.yaml ├── da.yaml ├── en.yaml ├── sv.yaml ├── de.yaml ├── es.yaml ├── nl.yaml └── fr.yaml ├── LICENSE.md ├── README-zh_CN.md └── README.md /exampleSite/layouts/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /exampleSite/static/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /images/tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nodejh/hugo-theme-mini/HEAD/images/tn.png -------------------------------------------------------------------------------- /images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nodejh/hugo-theme-mini/HEAD/images/screenshot.png -------------------------------------------------------------------------------- /static/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nodejh/hugo-theme-mini/HEAD/static/images/avatar.png -------------------------------------------------------------------------------- /static/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nodejh/hugo-theme-mini/HEAD/static/images/favicon.ico -------------------------------------------------------------------------------- /archetypes/default.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{ replace .TranslationBaseName "-" " " | title }}" 3 | date: {{ .Date }} 4 | tags: 5 | categories: 6 | draft: false 7 | 8 | --- 9 | -------------------------------------------------------------------------------- /layouts/_default/_markup/render-heading.html: -------------------------------------------------------------------------------- 1 | {{ .Text | safeHTML }} 🔗 -------------------------------------------------------------------------------- /layouts/_default/_markup/render-image.html: -------------------------------------------------------------------------------- 1 |

2 | {{ .Text }} 3 |

-------------------------------------------------------------------------------- /data/months_da.yaml: -------------------------------------------------------------------------------- 1 | 1: "januar" 2 | 2: "februar" 3 | 3: "marts" 4 | 4: "april" 5 | 5: "maj" 6 | 6: "juni" 7 | 7: "juli" 8 | 8: "august" 9 | 9: "september" 10 | 10: "oktober" 11 | 11: "november" 12 | 12: "december" -------------------------------------------------------------------------------- /data/months_fr.yaml: -------------------------------------------------------------------------------- 1 | 1: "janvier" 2 | 2: "février" 3 | 3: "mars" 4 | 4: "avril" 5 | 5: "mai" 6 | 6: "juin" 7 | 7: "juillet" 8 | 8: "août" 9 | 9: "septembre" 10 | 10: "octobre" 11 | 11: "novembre" 12 | 12: "décembre" 13 | -------------------------------------------------------------------------------- /data/months_nl.yaml: -------------------------------------------------------------------------------- 1 | 1: "januari" 2 | 2: "februari" 3 | 3: "maart" 4 | 4: "april" 5 | 5: "mei" 6 | 6: "juni" 7 | 7: "juli" 8 | 8: "augustus" 9 | 9: "september" 10 | 10: "oktober" 11 | 11: "november" 12 | 12: "december" -------------------------------------------------------------------------------- /layouts/section/about.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 | {{ partial "profile.html" . }} 3 | 4 |
5 | {{ .Content }} 6 | 7 | {{ partial "comment.html" . }} 8 |
9 | 10 | 11 | {{ end }} -------------------------------------------------------------------------------- /layouts/_default/_markup/render-link.html: -------------------------------------------------------------------------------- 1 | {{ .Text | safeHTML }} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Hugo default output directory 2 | /public 3 | 4 | # Windows 5 | Thumbs.db 6 | ehthumbs.db 7 | Desktop.ini 8 | $RECYCLE.BIN/ 9 | 10 | # MacOS 11 | .DS_Store 12 | 13 | # exampleSite 14 | exampleSite/themes 15 | exampleSite/public -------------------------------------------------------------------------------- /layouts/partials/comment.html: -------------------------------------------------------------------------------- 1 | {{ if or (and .Site.Params.enableComments (ne .Params.enableComments false)) (eq .Params.enableComments true) }} 2 |
3 | 4 | {{ template "_internal/disqus.html" . }} 5 |
6 | {{ end }} -------------------------------------------------------------------------------- /layouts/partials/social.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | {{ range $key, $val := .Site.Social }} 4 | 5 | {{ $svg := print "svgs/" $key ".svg" }} 6 | {{ partial $svg (dict "fill" "#bbbbbb" "width" 28 "height" 28 ) }} 7 | 8 | {{ end }} 9 | 10 |
11 | -------------------------------------------------------------------------------- /layouts/partials/svgs/heart.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /layouts/partials/toc.html: -------------------------------------------------------------------------------- 1 | {{ with .TableOfContents }} 2 | {{ if ne . "" }} 3 | 13 | {{ end }} 14 | {{ end }} 15 | -------------------------------------------------------------------------------- /exampleSite/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | 25 | /public 26 | /themes 27 | .DS_Store 28 | .hugo_build.lock 29 | -------------------------------------------------------------------------------- /CHANGELOG: -------------------------------------------------------------------------------- 1 | ## 2021.08.21 Version 2.2.0 2 | 3 | - [x] Support multiple languages 4 | 5 | ## 2021.08.17 Version 2.1.0 6 | 7 | - [x] Adding ability to disable disqus comments on a single post 8 | 9 | ## 2021.03.01 Version 2.0.0 10 | 11 | - [x] Refactor 12 | - [x] Support hugo 0.80.0 13 | 14 | 15 | ## 2017.12.09 Version 1.0.0 16 | 17 | - [x] Support twitter card. 18 | - [x] Remove name in `.Site.Params`. It's duplicate with `.Site.title`. 19 | - [x] Add `author` in `.Site.Params`. 20 | -------------------------------------------------------------------------------- /layouts/_default/baseof.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{ block "title" . }}{{ with .Params.Title }}{{ . }} | {{ end }}{{ .Site.Title }}{{ end }} 5 | 6 | {{ partial "head.html" . }} 7 | 8 | 9 | 10 | 11 | {{ partial "navigation.html" . }} 12 | 13 |
14 | {{ block "main" . }}{{ end }} 15 |
16 | 17 | {{ partial "footer.html" . }} 18 | 19 | 20 | -------------------------------------------------------------------------------- /layouts/partials/profile.html: -------------------------------------------------------------------------------- 1 |
2 | {{ if .Site.Params.avatarLink }} 3 | 4 | avatar 5 | 6 | {{ else }} 7 | avatar 8 | {{ end }} 9 | 10 |

{{ .Site.Title }}

11 | 12 | {{ with .Site.Params.Bio }} 13 |

{{ . | markdownify }}

14 | {{ end }} 15 |
-------------------------------------------------------------------------------- /theme.toml: -------------------------------------------------------------------------------- 1 | name = "mini" 2 | license = "MIT" 3 | licenselink = "https://github.com/nodejh/hugo-theme-mini/blob/master/LICENSE.md" 4 | description = "A fast, minimalist and responsive hugo theme for bloggers." 5 | homepage = "https://github.com/nodejh/hugo-theme-mini" 6 | tags = ["blog", "fast", "minimalist", "responsive", "simple", "beautiful", "tags", "pages"] 7 | features = ["fast", "minimalist", "responsive", "archive", "tags"] 8 | min_version = "0.75.0" 9 | 10 | [author] 11 | name = "nodejh" 12 | homepage = "https://github.com/nodejh" -------------------------------------------------------------------------------- /layouts/_default/terms.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 | {{ partial "profile.html" . }} 3 |
4 | {{ $data := .Data }} 5 | {{ range $key, $value := .Data.Terms.ByCount }} 6 | {{ if ($value.Name) }} 7 | 8 | 9 | {{ $value.Name | upper }} ({{ $value.Count }}) 10 | 11 | 12 | {{ end }} 13 | {{ end }} 14 |
15 | {{ end }} -------------------------------------------------------------------------------- /exampleSite/README.md: -------------------------------------------------------------------------------- 1 | # Hugo Theme Mini Example Site 2 | 3 | This repository offers an example site for [Hugo Theme mini](https://github.com/nodejh/hugo-theme-mini) and also it provides the default content for [Online Demo](http://nodejh.github.io/hugo-theme-mini). 4 | 5 | # Using 6 | 7 | 1. [Install Hugo](https://gohugo.io/overview/installing/) 8 | 2. Clone this repository 9 | 10 | ```bash 11 | $ git clone https://github.com/nodejh/hugo-theme-mini 12 | $ cd exampleSite 13 | ``` 14 | 3. Run Hugo server. The exampleSite use theme `hugo-theme-mini` by setting `themesDir` as `../../` 15 | 16 | ```bash 17 | $ hugo server 18 | ``` 19 | -------------------------------------------------------------------------------- /layouts/partials/math.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /exampleSite/config-example.yaml: -------------------------------------------------------------------------------- 1 | baseURL: https://nodejh.github.io/hugo-theme-mini 2 | languageCode: en-us 3 | title: Hugo 4 | theme: hugo-theme-mini 5 | paginate: 3 6 | 7 | # !!! exampleSite only, you may need to delete the line: `themesDir: ../../` 8 | themesDir: ../../ 9 | 10 | hasCJKLanguage: true 11 | permalinks: 12 | posts: /posts/:title/ 13 | 14 | googleAnalytics: UA-123-45 15 | disqusShortname: nodejh 16 | 17 | 18 | markup: 19 | highlight: 20 | guessSyntax: true 21 | style: emacs 22 | 23 | 24 | social: 25 | github: https://github.com/nodejh 26 | twitter: https://twitter.com/nodejh 27 | stackoverflow: https://stackoverflow.com/users/4518882/nodejh 28 | 29 | 30 | params: 31 | author: nodejh 32 | bio: Software Engineer 33 | description: My Blog 34 | enableRSS: true 35 | enableComments: true 36 | enableGoogleAnalytics: true 37 | -------------------------------------------------------------------------------- /layouts/partials/navigation.html: -------------------------------------------------------------------------------- 1 | 17 | -------------------------------------------------------------------------------- /exampleSite/content/posts/rich-content.md: -------------------------------------------------------------------------------- 1 | +++ 2 | author = "Hugo Authors" 3 | title = "Rich Content" 4 | date = "2019-03-10" 5 | description = "A brief description of Hugo Shortcodes" 6 | tags = [ 7 | "shortcodes", 8 | "privacy", 9 | ] 10 | draft = true 11 | +++ 12 | 13 | Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds. 14 | 15 | --- 16 | 17 | ## YouTube Privacy Enhanced Shortcode 18 | 19 | {{< youtube ZJthWmvUzzc >}} 20 | 21 |
22 | 23 | --- 24 | 25 | ## Twitter Simple Shortcode 26 | 27 | {{< twitter_simple 1085870671291310081 >}} 28 | 29 |
30 | 31 | --- 32 | 33 | ## Vimeo Simple Shortcode 34 | 35 | {{< vimeo_simple 48912912 >}} 36 | -------------------------------------------------------------------------------- /i18n/zh.yaml: -------------------------------------------------------------------------------- 1 | home: 2 | other: 首页 3 | 4 | archive: 5 | other: 归档 6 | 7 | tags: 8 | other: 标签 9 | 10 | subscribe: 11 | other: 订阅 12 | 13 | about: 14 | other: 关于 15 | 16 | 404title: 17 | other: "404" 18 | 19 | 404subtitle: 20 | other: 页面不存在 21 | 22 | readMore: 23 | other: 更多内容 24 | 25 | minuteRead: 26 | other: "{{ .ReadingTime }}分钟" 27 | 28 | publishDate: 29 | other: '{{ .PublishDate.Format "2006/01/02" }}' 30 | 31 | publishDateFull: 32 | other: '{{ .PublishDate.Format "2006年01月02日" }}' 33 | 34 | wordCount: 35 | one: "{{ .WordCount }}字" 36 | other: "{{ .WordCount }}字" 37 | 38 | postsNewer: 39 | other: 下一页 40 | 41 | postsOlder: 42 | other: 上一页 43 | 44 | poweredBy: 45 | other: >- 46 | Powered by Hugo Theme By nodejh 48 | 49 | publishDateShort: 50 | other: '{{ .PublishDate.Format "01/02" }}' 51 | -------------------------------------------------------------------------------- /layouts/partials/svgs/linkedin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /i18n/da.yaml: -------------------------------------------------------------------------------- 1 | home: 2 | other: Forside 3 | 4 | archive: 5 | other: Arkiv 6 | 7 | tags: 8 | other: Tags 9 | 10 | about: 11 | other: Om 12 | 13 | subscribe: 14 | other: RSS 15 | 16 | 404title: 17 | other: 404 - Side ikke fundet 18 | 19 | 404subtitle: 20 | other: Indholdet du leder efter findes desværre ikke her 21 | 22 | readMore: 23 | other: Se mere... 24 | 25 | minuteRead: 26 | other: "Læsetid {{ .ReadingTime }} minutter" 27 | 28 | publishDate: 29 | other: '{{ .PublishDate.Format "2006-01-02" }}' 30 | 31 | publishDateFull: 32 | other: '{{ .PublishDate.Format "2006-01-02" }}' 33 | 34 | wordCount: 35 | one: "{{ .WordCount }} ord" 36 | other: "{{ .WordCount }} ord" 37 | 38 | postsNewer: 39 | other: Nyere indlæg 40 | 41 | postsOlder: 42 | other: Ældre indlæg 43 | 44 | poweredBy: 45 | other: >- 46 | Powered by Hugo Theme By nodejh 48 | 49 | publishDateShort: 50 | other: '{{ .PublishDate.Format "01-02" }}' 51 | -------------------------------------------------------------------------------- /i18n/en.yaml: -------------------------------------------------------------------------------- 1 | home: 2 | other: Home 3 | 4 | archive: 5 | other: Archive 6 | 7 | tags: 8 | other: Tags 9 | 10 | about: 11 | other: About 12 | 13 | subscribe: 14 | other: Subscribe 15 | 16 | 404title: 17 | other: 404 - Page Not Found 18 | 19 | 404subtitle: 20 | other: The content you're looking for doesn't seem to exist. 21 | 22 | readMore: 23 | other: Read more 24 | 25 | minuteRead: 26 | other: "{{ .ReadingTime }} minute read" 27 | 28 | publishDate: 29 | other: '{{ .PublishDate.Format "Jan 2, 2006" }}' 30 | 31 | publishDateFull: 32 | other: '{{ .PublishDate.Format "Jan 2, 2006" }}' 33 | 34 | wordCount: 35 | one: "{{ .WordCount }} word" 36 | other: "{{ .WordCount }} words" 37 | 38 | postsNewer: 39 | other: Newer posts 40 | 41 | postsOlder: 42 | other: Older posts 43 | 44 | poweredBy: 45 | other: >- 46 | Powered by Hugo Theme By nodejh 48 | 49 | publishDateShort: 50 | other: '{{ .PublishDate.Format "Jan 2" }}' 51 | -------------------------------------------------------------------------------- /i18n/sv.yaml: -------------------------------------------------------------------------------- 1 | home: 2 | other: Hem 3 | 4 | archive: 5 | other: Arkiv 6 | 7 | tags: 8 | other: Taggar 9 | 10 | about: 11 | other: Om 12 | 13 | subscribe: 14 | other: Prenumerera 15 | 16 | 404title: 17 | other: 404 - Sidan kunde inte hittas 18 | 19 | 404subtitle: 20 | other: Innehållet du söker verkar inte finnas. 21 | 22 | readMore: 23 | other: Läs mer 24 | 25 | minuteRead: 26 | other: "{{ .ReadingTime }} minut(er) att läsa" 27 | 28 | publishDate: 29 | other: '{{ .PublishDate.Format "02.01.2006" }}' 30 | 31 | publishDateFull: 32 | other: '{{ .PublishDate.Format "02.01.2006" }}' 33 | 34 | wordCount: 35 | one: "{{ .WordCount }} ord" 36 | other: "{{ .WordCount }} ord" 37 | 38 | postsNewer: 39 | other: Nyare inlägg 40 | 41 | postsOlder: 42 | other: Äldre inlägg 43 | 44 | poweredBy: 45 | other: >- 46 | Drivs med hjälp av Hugo Tema av nodejh 48 | 49 | publishDateShort: 50 | other: '{{ .PublishDate.Format "02.01." }}' 51 | -------------------------------------------------------------------------------- /layouts/partials/footer.html: -------------------------------------------------------------------------------- 1 | 25 | 26 | {{ range .Site.Params.customJS }} 27 | {{ if ( or ( hasPrefix . "http://" ) ( hasPrefix . "https://" ) ) }} 28 | 29 | 30 | {{ else }} 31 | 32 | 33 | {{ end }} 34 | {{ end }} 35 | -------------------------------------------------------------------------------- /i18n/de.yaml: -------------------------------------------------------------------------------- 1 | home: 2 | other: Home 3 | 4 | archive: 5 | other: Archiv 6 | 7 | tags: 8 | other: Tags 9 | 10 | about: 11 | other: Info 12 | 13 | subscribe: 14 | other: Abonnieren 15 | 16 | 404title: 17 | other: 404 - Seite nicht gefunden 18 | 19 | 404subtitle: 20 | other: Der Inhalt, den du suchst, scheint nicht zu existieren. 21 | 22 | readMore: 23 | other: Weiterlesen 24 | 25 | minuteRead: 26 | other: "{{ .ReadingTime }} Minute(n) Lesedauer" 27 | 28 | publishDate: 29 | other: '{{ .PublishDate.Format "02.01.2006" }}' 30 | 31 | publishDateFull: 32 | other: '{{ .PublishDate.Format "02.01.2006" }}' 33 | 34 | wordCount: 35 | one: "{{ .WordCount }} Wort" 36 | other: "{{ .WordCount }} Wörter" 37 | 38 | postsNewer: 39 | other: Neuere Posts 40 | 41 | postsOlder: 42 | other: Ältere Posts 43 | 44 | poweredBy: 45 | other: >- 46 | Publiziert mit Hugo Theme von nodejh 48 | 49 | publishDateShort: 50 | other: '{{ .PublishDate.Format "02.01." }}' 51 | -------------------------------------------------------------------------------- /layouts/_default/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 | 3 |
4 |

{{ .Title }}

5 | 6 |
7 | 8 | 9 | · 10 | 11 | 12 | {{ i18n "wordCount" . }} 13 | 14 | 15 | · 16 | 17 | 18 | {{ i18n "minuteRead" . }} 19 | 20 |
21 | 22 | 23 | {{ if or .Site.Params.showToc .Params.showToc }} 24 | {{ partial "toc.html" . }} 25 | {{ end }} 26 | 27 | 28 |
29 | {{ .Content }} 30 |
31 | 32 | {{ with .Params.tags }} 33 |
34 | {{ range . }} 35 | {{ . }} 36 | {{ end }} 37 |
38 | {{ end}} 39 | 40 | {{ partial "comment.html" . }} 41 | 42 |
43 | 44 | {{ end }} 45 | 46 | -------------------------------------------------------------------------------- /i18n/es.yaml: -------------------------------------------------------------------------------- 1 | home: 2 | other: Inicio 3 | 4 | archive: 5 | other: Archivo 6 | 7 | tags: 8 | other: Etiquetas 9 | 10 | about: 11 | other: Acerca 12 | 13 | subscribe: 14 | other: Suscribirse 15 | 16 | 404title: 17 | other: 404 - No se encontró la página 18 | 19 | 404subtitle: 20 | other: La página que buscas no existe. 21 | 22 | readMore: 23 | other: Leer más 24 | 25 | minuteRead: 26 | one: "Lectura de {{ .ReadingTime }} minuto" 27 | other: "Lectura de {{ .ReadingTime }} minutos" 28 | 29 | publishDate: 30 | other: '{{ .PublishDate.Format "01/01/2006" }}' 31 | 32 | publishDateFull: 33 | other: '{{ .PublishDate.Format "01/01/2006" }}' 34 | 35 | wordCount: 36 | one: "{{ .WordCount }} palabra" 37 | other: "{{ .WordCount }} palabras" 38 | 39 | postsNewer: 40 | other: Entradas posteriores 41 | 42 | postsOlder: 43 | other: Entradas anteriores 44 | 45 | poweredBy: 46 | other: >- 47 | Generado con Hugo Tema de nodejh 49 | 50 | publishDateShort: 51 | other: '{{ .PublishDate.Format "01/02" }}' 52 | -------------------------------------------------------------------------------- /layouts/404.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 | 3 |
4 |
5 | {{ with .Site.Params.title404 }} 6 |

{{ . }}

7 | {{ else }} 8 |

{{ i18n "404title" }}

9 | {{ end }} 10 | 11 | {{ with .Site.Params.subtitle404 }} 12 |
{{ . }}
13 | {{ else }} 14 |
{{ i18n "404subtitle" }}
15 | {{ end }} 16 |
17 | 18 | {{ with .Site.Params.readMore }} 19 |

{{ . }}

20 | {{ else }} 21 |

{{ i18n "readMore" }}

22 | {{ end }} 23 | 24 | 25 | 26 | 27 | {{ $pages := .Site.RegularPages }} 28 | {{ $paginator := .Paginate ($pages) }} 29 | {{ range $paginator.Pages }} 30 | {{ $title := .Title }} 31 | {{ $date := dateFormat "Jan 2, 2006" .Date }} 32 |
33 |
34 |

{{ $title }}

35 |
{{ $date }}
36 |
37 |
38 | {{ end }} 39 |
40 | {{ end }} 41 | -------------------------------------------------------------------------------- /exampleSite/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Steve Francia 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 201-present [nodejh](http://nodejh.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /layouts/_default/list.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 | {{ partial "profile.html" . }} 3 | 4 |
5 | {{ range .Data.Pages.GroupByDate "2006" }} 6 |
7 |

8 | {{ .Key }} 9 |

10 | 11 | {{ range .Pages }} 12 |
13 |
14 | 15 |
16 |
17 | 18 | {{ .Title }} 19 | 20 | 21 | {{ with .Params.tags }} 22 |
23 | {{ range . }} 24 | {{ . }} 25 | {{ end }} 26 |
27 | {{ end}} 28 |
29 |
30 | {{ end }} 31 |
32 | {{ end }} 33 | 34 | 35 |
36 | 37 | 38 | {{ end }} -------------------------------------------------------------------------------- /layouts/_default/taxonomy.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 | {{ partial "profile.html" . }} 3 | 4 |
5 | 6 | {{ range .Data.Pages.GroupByDate "2006" }} 7 |
8 |

9 | {{ .Key }} 10 |

11 | 12 | {{ range .Pages }} 13 |
14 |
15 | 16 |
17 |
18 | 19 | {{ .Title }} 20 | 21 | 22 | {{ with .Params.tags }} 23 |
24 | {{ range . }} 25 | {{ . }} 26 | {{ end }} 27 |
28 | {{ end}} 29 |
30 |
31 | {{ end }} 32 |
33 | 34 | {{ end }} 35 | 36 | 37 | 38 |
39 | 40 | 41 | {{ end }} -------------------------------------------------------------------------------- /i18n/nl.yaml: -------------------------------------------------------------------------------- 1 | home: 2 | other: Huis 3 | 4 | archive: 5 | other: Archief 6 | 7 | tags: 8 | other: Tags 9 | 10 | subscribe: 11 | other: Abonneren 12 | 13 | about: 14 | other: Over 15 | 16 | 404title: 17 | other: 404 - Pagina Niet Gevonden 18 | 19 | 404subtitle: 20 | other: 'De pagina waar u naar op zoek bent, lijkt niet te bestaan.' 21 | 22 | readMore: 23 | other: Lees meer 24 | 25 | minuteRead: 26 | other: "{{ .ReadingTime }} minuten leestijd" 27 | 28 | publishDate: 29 | other: >- 30 | {{ .PublishDate.Day }} {{ index $.Site.Data.months_nl (printf "%d" .PublishDate.Month) }} {{ .PublishDate.Year }} 31 | 32 | publishDateFull: 33 | other: >- 34 | {{ .PublishDate.Day }} {{ index $.Site.Data.months_nl (printf "%d" .PublishDate.Month) }} {{ .PublishDate.Year }} 35 | 36 | wordCount: 37 | one: "{{ .WordCount }} woord" 38 | other: "{{ .WordCount }} woorden" 39 | 40 | postsNewer: 41 | other: Nieuwere posts 42 | 43 | postsOlder: 44 | other: Oudere posts 45 | 46 | poweredBy: 47 | other: >- 48 | Gemaakt met Hugo Thema door nodejh 50 | 51 | publishDateShort: 52 | other: >- 53 | {{ .PublishDate.Day }} {{ index $.Site.Data.months_nl (printf "%d" .PublishDate.Month) }} 54 | -------------------------------------------------------------------------------- /layouts/partials/svgs/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | Facebook 4 | Created with Sketch. 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /i18n/fr.yaml: -------------------------------------------------------------------------------- 1 | home: 2 | other: Accueil 3 | 4 | archive: 5 | other: Archives 6 | 7 | tags: 8 | other: Tags 9 | 10 | about: 11 | other: À propos 12 | 13 | subscribe: 14 | other: S'abonner 15 | 16 | 404title: 17 | other: 404 - Page introuvable 18 | 19 | 404subtitle: 20 | other: Le contenu que vous recherchez ne semble pas exister. 21 | 22 | readMore: 23 | other: Continuer... 24 | 25 | minuteRead: 26 | other: "Temps de lecture {{ .ReadingTime }}min" 27 | 28 | publishDate: 29 | other: >- 30 | {{ .PublishDate.Day }} {{ index $.Site.Data.months_fr (printf "%d" .PublishDate.Month) }} {{ .PublishDate.Year }} 31 | 32 | publishDateFull: 33 | other: >- 34 | {{ .PublishDate.Day }} {{ index $.Site.Data.months_fr (printf "%d" .PublishDate.Month) }} {{ .PublishDate.Year }} 35 | 36 | wordCount: 37 | one: "{{ .WordCount }} mot" 38 | other: "{{ .WordCount }} mots" 39 | 40 | postsNewer: 41 | other: Plus récents 42 | 43 | postsOlder: 44 | other: Plus anciens 45 | 46 | poweredBy: 47 | other: >- 48 | Powered by Hugo Theme par nodejh 50 | 51 | publishDateShort: 52 | other: >- 53 | {{ .PublishDate.Day }} {{ index $.Site.Data.months_fr (printf "%d" .PublishDate.Month) }} {{ .PublishDate.Year }} 54 | -------------------------------------------------------------------------------- /exampleSite/content/about/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "About" 3 | description = "Hugo, the world's fastest framework for building websites" 4 | date = "2019-02-28" 5 | aliases = ["about-us", "about-hugo", "contact"] 6 | author = "Hugo Authors" 7 | enableComments = false 8 | +++ 9 | 10 | Written in Go, Hugo is an open source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows. 11 | 12 | Hugo makes use of a variety of open source projects including: 13 | 14 | * https://github.com/yuin/goldmark 15 | * https://github.com/alecthomas/chroma 16 | * https://github.com/muesli/smartcrop 17 | * https://github.com/spf13/cobra 18 | * https://github.com/spf13/viper 19 | 20 | Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single page applications or even a website with thousands of pages. 21 | 22 | Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases. 23 | 24 | Websites built with Hugo are extremely fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider. 25 | 26 | Learn more and contribute on [GitHub](https://github.com/gohugoio). 27 | -------------------------------------------------------------------------------- /layouts/index.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 | {{ partial "profile.html" . }} 3 | 4 |
5 | {{ $pages := .Site.RegularPages }} 6 | {{ $paginator := .Paginate ($pages) }} 7 | {{ range $paginator.Pages }} 8 | {{ $title := .Title }} 9 | {{ $summary := .Summary }} 10 |
11 |
12 |

{{ $title }}

13 |
14 | 15 |
16 |
17 | 18 | {{ if ne .Site.Params.hiddenPostSummaryInHomePage true }} 19 |
{{ $summary | plainify | htmlUnescape }}
20 | {{ end }} 21 | 22 |
23 | {{ end }} 24 | 25 | {{ if or ($paginator.HasPrev) ($paginator.HasNext) }} 26 | 43 | {{ end }} 44 | 45 | 46 |
47 | {{ end }} 48 | -------------------------------------------------------------------------------- /layouts/partials/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ hugo.Generator }} 6 | {{/* NOTE: For Production make sure you add `HUGO_ENV="production"` before your build command */}} 7 | {{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production") }} 8 | 9 | {{ else }} 10 | 11 | {{ end }} 12 | 13 | 14 | 15 | {{ range .Site.Params.customCSS }} 16 | {{ if ( or ( hasPrefix . "http://" ) ( hasPrefix . "https://" ) ) }} 17 | 18 | 19 | {{ else }} 20 | 21 | 22 | {{ end }} 23 | {{ end }} 24 | 25 | 26 | 27 | {{ if .Site.Params.enableGoogleAnalytics }} 28 | {{ template "_internal/google_analytics.html" . }} 29 | {{ end }} 30 | 31 | {{ if or .Params.math .Site.Params.math }} 32 | {{ partial "math.html" . }} 33 | {{ end }} 34 | 35 | {{ if .OutputFormats.Get "RSS" }} 36 | {{ with .OutputFormats.Get "RSS" }} 37 | 38 | 39 | {{ end }} 40 | {{ end }} 41 | -------------------------------------------------------------------------------- /layouts/partials/svgs/twitter.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /exampleSite/content/posts/emoji-support.md: -------------------------------------------------------------------------------- 1 | +++ 2 | author = "Hugo Authors" 3 | title = "Emoji Support" 4 | date = "2019-03-05" 5 | description = "Guide to emoji usage in Hugo" 6 | tags = [ 7 | "emoji", 8 | ] 9 | 10 | +++ 11 | 12 | Emoji can be enabled in a Hugo project in a number of ways. 13 | 14 | The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes). 15 | 16 | To enable emoji globally, set `enableEmoji` to `true` in your site's [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g. 17 | 18 |

🙈 :see_no_evil: 🙉 :hear_no_evil: 🙊 :speak_no_evil:

19 |
20 | 21 | The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes. 22 | 23 | *** 24 | 25 | **N.B.** The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g. 26 | 27 | {{< highlight html >}} 28 | .emoji { 29 | font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols; 30 | } 31 | {{< /highlight >}} 32 | 33 | {{< css.inline >}} 34 | 47 | {{< /css.inline >}} 48 | -------------------------------------------------------------------------------- /layouts/partials/svgs/stackoverflow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | stackoverflow 4 | Created with Sketch. 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /exampleSite/content/posts/math-typesetting.md: -------------------------------------------------------------------------------- 1 | --- 2 | author: Hugo Authors 3 | title: Math Typesetting 4 | date: 2019-03-08 5 | description: A brief guide to setup KaTeX 6 | math: true 7 | --- 8 | 9 | Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries. 10 | 11 | 12 | In this example we will be using [KaTeX](https://katex.org/) 13 | 14 | - Create a partial under `/layouts/partials/math.html` 15 | - Within this partial reference the [Auto-render Extension](https://katex.org/docs/autorender.html) or host these scripts locally. 16 | - Include the partial in your templates like so: 17 | 18 | ```bash 19 | {{ if or .Params.math .Site.Params.math }} 20 | {{ partial "math.html" . }} 21 | {{ end }} 22 | ``` 23 | 24 | - To enable KaTex globally set the parameter `math` to `true` in a project's configuration 25 | - To enable KaTex on a per page basis include the parameter `math: true` in content files 26 | 27 | **Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html) 28 | 29 | {{< math.inline >}} 30 | {{ if or .Page.Params.math .Site.Params.math }} 31 | 32 | 33 | 34 | 35 | {{ end }} 36 | {{}} 37 | 38 | ### Examples 39 | 40 | {{< math.inline >}} 41 |

42 | Inline math: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\) 43 |

44 | {{}} 45 | 46 | Block math: 47 | $$ 48 | \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } 49 | $$ 50 | -------------------------------------------------------------------------------- /layouts/partials/svgs/github.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | Github 4 | Created with Sketch. 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /exampleSite/config.yaml: -------------------------------------------------------------------------------- 1 | baseURL: https://example.com 2 | languageCode: en-us 3 | title: Hugo 4 | theme: hugo-theme-mini 5 | 6 | # Default content language, support en (English) / zh (Chinese) / nl (Dutch) / fr (French) / es (Spanish) / da (Danish), default 'en' 7 | defaultContentLanguage: en 8 | 9 | # !!! exampleSite only, you may need to delete the line: `themesDir: ../../` 10 | themesDir: ../../ 11 | 12 | hasCJKLanguage: true 13 | permalinks: 14 | posts: /posts/:title/ 15 | 16 | paginate: 3 17 | 18 | googleAnalytics: your-google-analytics-id 19 | disqusShortname: your-disqus-shortname 20 | 21 | # Hugo Configure Markup 22 | # More info: https://gohugo.io/getting-started/configuration-markup# 23 | markup: 24 | highlight: 25 | guessSyntax: true 26 | style: emacs 27 | tableOfContents: 28 | endLevel: 3 29 | ordered: false 30 | startLevel: 2 31 | # needed to render raw HTML (e.g. , , , ) 32 | goldmark: 33 | renderer: 34 | unsafe: true 35 | 36 | # Social links in footer, support github,twitter,stackoverflow,facebook 37 | social: 38 | # e.g. 39 | github: your-github-link 40 | twitter: your-twitter-link 41 | stackoverflow: your-stackoverflow-link 42 | # facebook: your-facebook-link 43 | 44 | 45 | # Site parameters 46 | params: 47 | # Site Author 48 | author: Author 49 | # Author biography 50 | bio: Software Engineer 51 | # Site Description, used in HTML meat 52 | description: My Blog 53 | 54 | 55 | ########################################### 56 | # Optional Configuration 57 | ########################################### 58 | 59 | # To enable RSS, you could set `enableRSS: true`, default is `true` 60 | enableRSS: true 61 | # To enable comments, you may need to set `disqusShortname` 62 | enableComments: true 63 | # To enable comments, you may need to set `googleAnalytics` 64 | enableGoogleAnalytics: true 65 | # To enable table of content, you could set `showToc: true`, default is `false` 66 | showToc: true 67 | # To hidden powerBy message in the page footer, you could set: `showPowerBy: false`, default is `true` 68 | showPowerBy: true 69 | # To enable math typesetting , you could set `math: true`, default is `false` 70 | math: false 71 | # To hidden post summary in home page, you could set `hiddenPostSummaryInHomePage: true`, default is `false` 72 | hiddenPostSummaryInHomePage: false 73 | # Website copyright, default: '© Copyright 2021 ❤️ {params.author}' 74 | copyright: '' 75 | 76 | # Extra links in navigation 77 | links: 78 | ## e.g. 79 | # - name: Project 80 | # path: /project 81 | 82 | # You can put your custom css and js to `static` directory, or use remote css and js files which start with `http://` or `https://` 83 | customCSS: 84 | ## e.g. 85 | # - css/custom.css # local css in `static/css/custom.css` 86 | # - https://example.com/custom.css # remote css 87 | customJS: 88 | ## e.g. 89 | # - js/custom.js # local js in `static/js/custom.js` 90 | # - https://example.com/custom.js # remote js 91 | -------------------------------------------------------------------------------- /exampleSite/content/posts/placeholder-text.md: -------------------------------------------------------------------------------- 1 | +++ 2 | author = "Hugo Authors" 3 | title = "Placeholder Text" 4 | date = "2019-03-09" 5 | description = "Lorem Ipsum Dolor Si Amet" 6 | tags = [ 7 | "markdown", 8 | "text", 9 | ] 10 | +++ 11 | 12 | Lorem est tota propiore conpellat pectoribus de pectora summo. Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum. 13 | 14 | 1. Exierant elisi ambit vivere dedere 15 | 2. Duce pollice 16 | 3. Eris modo 17 | 4. Spargitque ferrea quos palude 18 | 19 | Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis. 20 | 21 | 1. Comas hunc haec pietate fetum procerum dixit 22 | 2. Post torum vates letum Tiresia 23 | 3. Flumen querellas 24 | 4. Arcanaque montibus omnes 25 | 5. Quidem et 26 | 27 | # Vagus elidunt 28 | 29 | 30 | 31 | [The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon) 32 | 33 | ## Mane refeci capiebant unda mulcebat 34 | 35 | Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis. 36 | 37 | Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et. 38 | 39 | Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, *oculos nomen* non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**. 40 | 41 | {{< css.inline >}} 42 | 45 | {{< /css.inline >}} 46 | -------------------------------------------------------------------------------- /exampleSite/content/posts/test.md: -------------------------------------------------------------------------------- 1 | +++ 2 | author = "Test" 3 | title = "Code Content" 4 | date = "2021-03-10" 5 | description = "A brief description of Hugo Shortcodes" 6 | tags = [ 7 | "shortcodes", 8 | "privacy", 9 | ] 10 | draft = true 11 | +++ 12 | 13 | ## t1 14 | 15 | aaaa 16 | 17 | 18 | Test [aaa](http://example.com) text. 19 | 20 | ### t1.1 21 | 22 | aaaa 23 | 24 | 25 | ### t1.2 26 | 27 | aaaa 28 | 29 | 30 | #### t1.2.1 31 | 32 | aaaa 33 | 34 | 35 | #### t1.2.2 36 | 37 | aaaa 38 | 39 | 40 | ## t2 41 | 42 | aaaa 43 | 44 | ## t3 45 | 46 | 1. One

47 | 48 | /``` 49 | testing 50 | some 51 | code 52 | /``` 53 | 54 | 2. Two

55 | 3. Three

56 | 57 | 超宽显示 `var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";var a = "text";` 超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示超宽显示 `var a = "text";` 58 | 59 | ``` 60 | 2021-08-02 17:51:23.718 ERROR org.apache.flink.runtime.entrypoint.ClusterEntrypoint [] - Fatal error occurred in the cluster entrypoint. 61 | org.apache.flink.util.FlinkException: Application failed unexpectedly. 62 | at org.apache.flink.client.deployment.application.ApplicationDispatcherBootstrap.lambda$runApplicationAndShutdownClusterAsync$0(ApplicationDispatcherBootstrap.java:170) ~[flink-dist_2.12-1.13.1.jar:1.13.1] 63 | at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:836) ~[?:1.8.0_292] 64 | at java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:811) ~[?:1.8.0_292] 65 | at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488) ~[?:1.8.0_292] 66 | at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1990) ~[?:1.8.0_292] 67 | at org.apache.flink.client.deployment.application.ApplicationDispatcherBootstrap.runApplicationEntryPoint(ApplicationDispatcherBootstrap.java:257) ~[flink-dist_2.12-1.13.1.jar:1.13.1] 68 | at org.apache.flink.client.deployment.application.ApplicationDispatcherBootstrap.lambda$runApplicationAsync$1(ApplicationDispatcherBootstrap.java:212) ~[flink-dist_2.12-1.13.1.jar:1.13.1] 69 | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_292] 70 | at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_292] 71 | at org.apache.flink.runtime.concurrent.akka.ActorSystemScheduledExecutorAdapter$ScheduledFutureTask.run(ActorSystemScheduledExecutorAdapter.java:159) [flink-dist_2.12-1.13.1.jar:1.13.1] 72 | at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40) [flink-dist_2.12-1.13.1.jar:1.13.1] 73 | at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:44) [flink-dist_2.12-1.13.1.jar:1.13.1] 74 | at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [flink-dist_2.12-1.13.1.jar:1.13.1] 75 | at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [flink-dist_2.12-1.13.1.jar:1.13.1] 76 | at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [flink-dist_2.12-1.13.1.jar:1.13.1] 77 | ``` 78 | 79 | 80 | ``` 81 | test 82 | test 83 | test 84 | ``` -------------------------------------------------------------------------------- /exampleSite/content/posts/markdown-syntax.md: -------------------------------------------------------------------------------- 1 | +++ 2 | author = "Hugo Authors" 3 | title = "Markdown Syntax Guide" 4 | date = "2019-03-11" 5 | description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements." 6 | tags = [ 7 | "markdown", 8 | "css", 9 | "html", 10 | ] 11 | categories = [ 12 | "themes", 13 | "syntax", 14 | ] 15 | series = ["Themes Guide"] 16 | aliases = ["migrate-from-jekyl"] 17 | +++ 18 | 19 | This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme. 20 | 21 | 22 | ## Headings 23 | 24 | The following HTML `

`—`

` elements represent six levels of section headings. `

` is the highest section level while `

` is the lowest. 25 | 26 | # H1 27 | ## H2 28 | ### H3 29 | #### H4 30 | ##### H5 31 | ###### H6 32 | 33 | ## Paragraph 34 | 35 | Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. 36 | 37 | Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. 38 | 39 | ## Blockquotes 40 | 41 | The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations. 42 | 43 | #### Blockquote without attribution 44 | 45 | > Tiam, ad mint andaepu dandae nostion secatur sequo quae. 46 | > **Note** that you can use *Markdown syntax* within a blockquote. 47 | 48 | #### Blockquote with attribution 49 | 50 | > Don't communicate by sharing memory, share memory by communicating.
51 | > — Rob Pike[^1] 52 | 53 | [^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015. 54 | 55 | ## Tables 56 | 57 | Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box. 58 | 59 | Name | Age 60 | --------|------ 61 | Bob | 27 62 | Alice | 23 63 | 64 | #### Inline Markdown within tables 65 | 66 | | Italics | Bold | Code | 67 | | -------- | -------- | ------ | 68 | | *italics* | **bold** | `code` | 69 | 70 | ## Code Blocks 71 | 72 | #### Code block with backticks 73 | 74 | ```html 75 | 76 | 77 | 78 | 79 | Example HTML5 Document 80 | 81 | 82 |

Test

83 | 84 | 85 | ``` 86 | 87 | #### Code block indented with four spaces 88 | 89 | 90 | 91 | 92 | 93 | Example HTML5 Document 94 | 95 | 96 |

Test

97 | 98 | 99 | 100 | #### Code block with Hugo's internal highlight shortcode 101 | {{< highlight html >}} 102 | 103 | 104 | 105 | 106 | Example HTML5 Document 107 | 108 | 109 |

Test

110 | 111 | 112 | {{< /highlight >}} 113 | 114 | ## List Types 115 | 116 | #### Ordered List 117 | 118 | 1. First item 119 | 2. Second item 120 | 3. Third item 121 | 122 | #### Unordered List 123 | 124 | * List item 125 | * Another item 126 | * And another item 127 | 128 | #### Nested list 129 | 130 | * Fruit 131 | * Apple 132 | * Orange 133 | * Banana 134 | * Dairy 135 | * Milk 136 | * Cheese 137 | 138 | ## Other Elements — abbr, sub, sup, kbd, mark 139 | 140 | GIF is a bitmap image format. 141 | 142 | H2O 143 | 144 | Xn + Yn = Zn 145 | 146 | Press CTRL+ALT+Delete to end the session. 147 | 148 | Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. 149 | -------------------------------------------------------------------------------- /README-zh_CN.md: -------------------------------------------------------------------------------- 1 | # Hugo Theme Mini 2 | 3 | [English](https://github.com/nodejh/hugo-theme-mini/tree/master/README.md) | 简体中文 4 | 5 | 一个简约的响应式 Hugo 主题。 6 | 7 | ![./images/screenshot.png](https://raw.githubusercontent.com/nodejh/hugo-theme-mini/master/images/screenshot.png) 8 | 9 | - [在线 Demo](https://nodejh.github.io/hugo-theme-mini) 10 | - [示例网站源码](https://github.com/nodejh/hugo-theme-mini/tree/master/exampleSite) 11 | 12 | 特性: 13 | 14 | - 快 15 | - 简约 16 | - 响应式 17 | - 归档页 18 | - 标签页 19 | 20 | 21 | ## 1. 安装 22 | 23 | 24 | ### 1.1 使用 Hugo 模块安装 (推荐) 25 | 26 | > ⚠️ 如果你使用的是 [二进制包](https://gohugo.io/getting-started/installing/#binary-cross-platform) 安装的 Hugo,那么你需要在电脑上安装 Go 语言。 你可以使用下面的命令检查是否安装 Go: 27 | > ``` 28 | > $ go version 29 | > ``` 30 | > Go 语言从 v1.14 开始支持模块. [下载 Go](https://golang.org/dl/)。 31 | 32 | 1. 在项目目录初始化 hugo 模块系统,如果之前已经执行过则忽略此步骤: 33 | 34 | ```bash 35 | $ hugo mod init github.com// 36 | ``` 37 | 38 | 2. 在 `config.yaml` 中添加主题: 39 | 40 | ```yaml 41 | theme: 42 | - github.com/nodejh/hugo-theme-mini 43 | ``` 44 | 45 | ### 1.2 使用 Git Submodule 安装 46 | 47 | 48 | 1. 在项目目录中执行下面的命令,将 hugo-theme-mini 作为 submodule: 49 | 50 | ```bash 51 | $ git submodule add https://github.com/nodejh/hugo-theme-mini.git themes/mini 52 | ``` 53 | 54 | 2. 在 `config.yaml` 中配置主题: 55 | 56 | ```yaml 57 | theme: mini 58 | ``` 59 | 60 | 更多信息可参考 Hugo 官方文档 [setup guide](//gohugo.io/overview/installing/)。 61 | 62 | 63 | ## 2. 开始使用 64 | 65 | 成功安装主题后,在生成网站前还需要进行少部分的配置。 66 | 67 | 68 | ### 2.1 修改配置文件 69 | 70 | 在 [`exampleSite`](https://github.com/nodejh/hugo-theme-mini/tree/master/exampleSite) 目录中有一个 [`config.yaml`](https://github.com/nodejh/hugo-theme-mini/blob/master/exampleSite/config.yaml) 的配置文件,你可以将其复制到你的项目根目录中,将一些配置项修改为你的配置。这些配置都可以随意修改。 71 | 72 | 73 | > ⚠️ 你需要删除这行配置: `themesDir: ../../` 。 74 | 75 | ### 2.2 默认语言 76 | 77 | 你可以通过 `defaultContentLanguage` 配置设置默认语言: 78 | 79 | ```yaml 80 | defaultContentLanguage: en 81 | ``` 82 | 83 | 默认是 `en`。目前支持以下语言: 84 | 85 | - `en`: 英语 86 | - `zh`: 汉语 87 | - `nl`: 荷兰语 88 | - `fr`: 法语 89 | - `es`: 西班牙语 90 | 91 | 更多关于多语言的信息可以参考:[Multilingual Mode](https://gohugo.io/content-management/multilingual/)。 92 | 93 | 94 | ### 2.2 评论功能 95 | 96 | 要使用评论功能,你需要添加下面的配置: 97 | 98 | - 设置 Disqus: `disqusShortname: your-disqus-shorname` 99 | - 启用评论: 100 | 101 | ```yaml 102 | params: 103 | enableComments: true 104 | ``` 105 | 106 | ### 2.3 Google 分析 107 | 108 | 要使用 Google 分析功能,你需要添加下面的配置: 109 | 110 | - 设置 Google Analytics ID: `googleAnalytics: your-google-analytics-id` 111 | - 启用 Google Analytics: 112 | 113 | ```yaml 114 | params: 115 | enableGoogleAnalytics: true 116 | ``` 117 | 118 | ### 2.4 Logo 和 favicon 119 | 120 | 你可以替换网站中的 Log 和 favicon,只需要将你的图片放在网站的 `static/images` 中,并分别命名为 `avatar.png` 和 `favicon.ico`。下面是项目目录示例: 121 | 122 | ```shell 123 | - content 124 | - static 125 | └── images 126 | ├── avatar.png 127 | └── favicon.ico 128 | ``` 129 | 130 | ### 2.5 运行网站 131 | 132 | 为了检查网站运行情况,你可以在本地启动 hugo server: 133 | 134 | ```bash 135 | $ hugo server 136 | ``` 137 | 138 | 现在你就可以在浏览器中打开 http://localhost:1313 查看你的网站了。 139 | 140 | ### 2.6 生产环境 141 | 142 | 如果要将网站部署到生产环境 (例如支持 Google Analytics),你需要在 `hugo` 命令前增加环境变量 `HUGO_ENV=production`。例如: 143 | 144 | ```bash 145 | HUGO_ENV=production hugo 146 | ``` 147 | 148 | 注意:上面的命令对 Windows 无效。如你使用 Windows,则需要使用下面的命令: 149 | 150 | ```bash 151 | set HUGO_ENV=production 152 | hugo 153 | ``` 154 | 155 | ## 3. 可选配置 156 | 157 | ### 3.1 Table of Content 158 | 159 | 如果要启用目录,你可以将 `showToc` 设置为 `true`: 160 | 161 | ```yaml 162 | showToc: true 163 | ``` 164 | 165 | 166 | ### 3.2 在某页面禁用评论 167 | 168 | 要在某页面禁用评论,你可以在页面的 Front Matter 中将 `enableComments` 设置为 `false`。 169 | 170 | 例如: 171 | 172 | ```yaml 173 | --- 174 | title: Some title 175 | enableComments: false 176 | --- 177 | ``` 178 | 179 | ### 3.3 自定义 CSS 和 JS 180 | 181 | 你可以将自定义 CSS 和 JS 放在 `static` 中,也可以使用远程的 CSS 或 JS 文件。 182 | 183 | 例如: 184 | 185 | ```yaml 186 | customCSS: 187 | - css/custom.css # local css in `static/css/custom.css` 188 | - https://example.com/custom.css # remote css 189 | customJS: 190 | - js/custom.js # local js in `static/js/custom.js` 191 | - https://example.com/custom.js # remote js 192 | ``` 193 | 194 | 195 | ### 3.4 数学排版 196 | 197 | 该主题使用了 [KaTeX](https://katex.org/) 来支持数学符号拍版。 198 | 199 | - 全局支持数学排版:在项目的配置文件中将 `math` 设置为 `true` 200 | - 在某页面支持数学拍版:在某页面 Front Matter 中将 `math` 设置为 `true` 201 | 202 | ### 3.5 在首页隐藏文章摘要 203 | 204 | 如果要在首页隐藏文章摘要,你可以将 `hiddenPostSummaryInHomePage` 设置为 `true`,默认是 `false`。 205 | 206 | 例如: 207 | 208 | ```yaml 209 | hiddenPostSummaryInHomePage: true 210 | ``` 211 | 212 | ## License 213 | 214 | [MIT](https://github.com/nodejh/hugo-theme-mini/blob/master/LICENSE.md) 215 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Hugo Theme Mini 2 | 3 | English | [简体中文](https://github.com/nodejh/hugo-theme-mini/tree/master/README-zh_CN.md) 4 | 5 | A fast, minimalist and responsive hugo theme. 6 | 7 | ![./images/screenshot.png](https://raw.githubusercontent.com/nodejh/hugo-theme-mini/master/images/screenshot.png) 8 | 9 | - [Online demo](https://nodejh.github.io/hugo-theme-mini) 10 | - [Example Site Source](https://github.com/nodejh/hugo-theme-mini/tree/master/exampleSite) 11 | 12 | Features: 13 | 14 | - Fast 15 | - Minimalist 16 | - Responsive 17 | - Archive 18 | - Tags 19 | 20 | 21 | ## 1. Installation 22 | 23 | 24 | ### 1.1 As a Hugo Module (recommended) 25 | 26 | > ⚠️ If you installed a [Hugo binary](https://gohugo.io/getting-started/installing/#binary-cross-platform), you may not have Go installed on your machine. To check if Go is installed: 27 | > ``` 28 | > $ go version 29 | > ``` 30 | > Go modules were considered production ready in v1.14. [Download Go](https://golang.org/dl/). 31 | 32 | 1. From your project's root directory, initiate the hugo module system if you haven't already: 33 | 34 | ```bash 35 | $ hugo mod init github.com// 36 | ``` 37 | 38 | 2. Add the theme's repo to your `config.yaml`: 39 | 40 | ```yaml 41 | theme: 42 | - github.com/nodejh/hugo-theme-mini 43 | ``` 44 | 45 | ### 1.2 As Git Submodule 46 | 47 | 1. Inside the folder of your Hugo site run: 48 | 49 | ```bash 50 | $ git submodule add https://github.com/nodejh/hugo-theme-mini.git themes/mini 51 | ``` 52 | 53 | 2. Add the theme's directory to your `config.yaml`: 54 | 55 | ```yaml 56 | theme: mini 57 | ``` 58 | 59 | For more information read the official [setup guide](//gohugo.io/overview/installing/) of Hugo. 60 | 61 | 62 | ## 2. Getting started 63 | 64 | After installing the theme successfully it requires a just a few more steps to get your site running. 65 | 66 | 67 | ### 2.1 The config file 68 | 69 | Take a look inside the [`exampleSite`](https://github.com/nodejh/hugo-theme-mini/tree/master/exampleSite) folder of this theme. You'll find a file called [`config.yaml`](https://github.com/nodejh/hugo-theme-mini/blob/master/exampleSite/config.yaml). To use it, copy the [`config.yaml`](https://github.com/nodejh/hugo-theme-mini/blob/master/exampleSite/config.yaml) in the root folder of your Hugo site. Feel free to change the strings in this theme. 70 | 71 | > ⚠️ You may need to delete the line: `themesDir: ../../` 72 | 73 | ### 2.2 Default Content Language 74 | 75 | You can set default content language by `defaultContentLanguage`: 76 | 77 | ```yaml 78 | defaultContentLanguage: en 79 | ``` 80 | 81 | Default is `en`. Now support: 82 | 83 | - `en`: English 84 | - `zh`: Chinese 85 | - `nl`: Dutch 86 | - `fr`: French 87 | - `es`: Spanish 88 | - `da`: Danish 89 | 90 | More about multiple languages: [Multilingual Mode](https://gohugo.io/content-management/multilingual/). 91 | 92 | ### 2.3 Add Comments 93 | 94 | To enable comments, add following to your config file: 95 | 96 | - Disqus shortname: `disqusShortname: your-disqus-shortname` 97 | - Enable Comment: 98 | 99 | ```yaml 100 | params: 101 | enableComments: true 102 | ``` 103 | 104 | ### 2.4 Google Analytics 105 | 106 | To enable google analytics, add following to your config file: 107 | 108 | - Google Analytics ID: `googleAnalytics: your-google-analytics-id` 109 | - Enable Google Analytics: 110 | 111 | ```yaml 112 | params: 113 | enableGoogleAnalytics: true 114 | ``` 115 | 116 | ### 2.5 Logo and favicon 117 | 118 | You can replace the log in the top of each page and favicon with your own images. To do that put your own logo and favicon into the `images` directory of your website static directory, then named them `avatar.png` and `favicon.ico`. For example: 119 | 120 | ``` 121 | - content 122 | - static 123 | └── images 124 | ├── avatar.png 125 | └── favicon.ico 126 | ``` 127 | 128 | ### 2.6 Nearly finished 129 | 130 | In order to see your site in action, run Hugo's built-in local server. 131 | 132 | ```bash 133 | $ hugo server 134 | ``` 135 | 136 | Now enter http://localhost:1313 in the address bar of your browser. 137 | 138 | ### 2.7 Production 139 | 140 | To run in production (e.g. to have Google Analytics show up), run HUGO_ENV=production before your build command. For example: 141 | 142 | ```bash 143 | HUGO_ENV=production hugo 144 | ``` 145 | 146 | Note: The above command will not work on Windows. If you are running a Windows OS, use the below command: 147 | 148 | ```bash 149 | set HUGO_ENV=production 150 | hugo 151 | ``` 152 | 153 | 154 | ## 3. Optional Configuration 155 | 156 | ### 3.1 Table of Content 157 | 158 | To enable table of content, you could set `showToc` to `true`. 159 | 160 | For example: 161 | 162 | ```yaml 163 | showToc: true 164 | ``` 165 | 166 | ### 3.2 Disable Comments on a single post 167 | 168 | You can set `enableComments` to `false` in front matter to disable disqus comments on a single post. 169 | 170 | For example: 171 | 172 | ```yaml 173 | --- 174 | title: Some title 175 | enableComments: false 176 | --- 177 | ``` 178 | 179 | ### 3.3 Custom CSS and JS 180 | 181 | You can put your custom css and js files to `static` directory, or use remote css and js files which start with `http://` or `https://`. 182 | 183 | For example: 184 | 185 | ```yaml 186 | customCSS: 187 | - css/custom.css # local css in `static/css/custom.css` 188 | - https://example.com/custom.css # remote css 189 | customJS: 190 | - js/custom.js # local js in `static/js/custom.js` 191 | - https://example.com/custom.js # remote js 192 | ``` 193 | 194 | ### 3.4 Math Typesetting 195 | 196 | Mathematical notation is enabled by [KaTeX](https://katex.org/). 197 | 198 | - To enable KaTex globally set the parameter `math` to `true` in project’s configuration 199 | - To enable KaTex on a per page basis include the parameter `math` to `true` in content files 200 | 201 | ### 3.5 Hidden Post Summary in Home Page 202 | 203 | To hidden post summary in home page, you could set `hiddenPostSummaryInHomePage` to `true`, default is `false`. 204 | 205 | For example: 206 | 207 | ```yaml 208 | hiddenPostSummaryInHomePage: true 209 | ``` 210 | 211 | ## License 212 | 213 | [MIT](https://github.com/nodejh/hugo-theme-mini/blob/master/LICENSE.md) 214 | -------------------------------------------------------------------------------- /static/css/style.css: -------------------------------------------------------------------------------- 1 | html[theme='dark-mode'] { 2 | filter: invert(1) hue-rotate(180deg); 3 | } 4 | 5 | body { 6 | line-height: 1; 7 | font: normal 15px/1.5em 'Helvetica Neue', Helvetica, Arial, sans-serif; 8 | color: #404040; 9 | line-height: 1.75; 10 | letter-spacing: 0.008em; 11 | } 12 | 13 | a { 14 | text-decoration: none; 15 | color: #5badf0; 16 | } 17 | 18 | a:hover { 19 | color: #0366d6; 20 | } 21 | 22 | /* markdown content styles */ 23 | blockquote { 24 | margin-top: 5px; 25 | margin-bottom: 5px; 26 | padding-left: 1em; 27 | margin-left: 0px; 28 | border-left: 3px solid #eee; 29 | color: #757575; 30 | } 31 | 32 | hr { 33 | display: block; 34 | border: none; 35 | height: 2px; 36 | margin: 40px auto; 37 | background: #eee; 38 | } 39 | 40 | table { 41 | width: 100%; 42 | margin: 40px 0; 43 | border-collapse: collapse; 44 | line-height: 1.5em; 45 | } 46 | 47 | th, td { 48 | text-align: left; 49 | padding-right: 20px; 50 | vertical-align: top; 51 | } 52 | 53 | table td, td { 54 | border-spacing: none; 55 | border-style: solid; 56 | padding: 10px 15px; 57 | border-width: 1px 0 0 0; 58 | } 59 | thead th, th { 60 | text-align: left; 61 | padding: 10px 15px; 62 | height: 20px; 63 | font-size: 13px; 64 | font-weight: bold; 65 | color: #444; 66 | cursor: default; 67 | white-space: nowrap; 68 | border: 1px solid #dadadc; 69 | } 70 | 71 | tr>td { 72 | border: 1px solid #dadadc; 73 | } 74 | 75 | tr:nth-child(odd)>td { 76 | background: #fcfcfc; 77 | } 78 | 79 | h1, 80 | h2, 81 | h3 { 82 | font-weight: 400; 83 | } 84 | p { 85 | margin-block-start: 1.5em; 86 | margin-block-end: 1.5em; 87 | } 88 | p, 89 | pre { 90 | word-break: normal; 91 | overflow-wrap: anywhere; 92 | } 93 | .markdown-image img { 94 | max-width: 100%; 95 | } 96 | .anchor { 97 | font-size: 100%; 98 | visibility: hidden; 99 | color:silver; 100 | } 101 | h1:hover a, 102 | h2:hover a, 103 | h3:hover a, 104 | h4:hover a { 105 | visibility: visible 106 | } 107 | .highlight pre { 108 | padding: 7px; 109 | overflow-x: auto; 110 | } 111 | 112 | .highlight { 113 | max-width: 100%; 114 | overflow-x: auto; 115 | } 116 | p code { 117 | font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace; 118 | font-size: inherit; 119 | background-color: rgba(0, 0, 0, 0.06); 120 | padding: 0 2px; 121 | border: 1px solid rgba(0, 0, 0, 0.08); 122 | border-radius: 2px 2px; 123 | line-height: inherit; 124 | word-wrap: break-word; 125 | text-indent: 0; 126 | } 127 | pre code { 128 | font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace; 129 | } 130 | 131 | 132 | /* navigation */ 133 | 134 | nav.navigation { 135 | padding: 20px 20px 0; 136 | background: #fff; 137 | background: rgba(255, 255, 255, 0.9); 138 | margin: 0 auto; 139 | text-align: right; 140 | z-index: 100; 141 | } 142 | 143 | nav.navigation a { 144 | top: 8px; 145 | right: 6px; 146 | padding: 8px 12px; 147 | color: #5badf0; 148 | font-size: 13px; 149 | line-height: 1.35; 150 | border-radius: 3px; 151 | } 152 | nav.navigation a:hover { 153 | color: #0366d6; 154 | } 155 | 156 | nav.navigation a.button { 157 | background: #5badf0; 158 | color: #fff; 159 | margin-left: 12px; 160 | } 161 | @media (max-width: 700px) { 162 | nav.navigation { 163 | padding: 20px 10px 0 0; 164 | background: #fff; 165 | background: rgba(255, 255, 255, 0.9); 166 | margin: 0 auto; 167 | text-align: right; 168 | z-index: 100; 169 | } 170 | nav.navigation a { 171 | top: 8px; 172 | right: 6px; 173 | padding: 8px 8px; 174 | color: #5badf0; 175 | font-size: 13px; 176 | line-height: 1.35; 177 | border-radius: 3px; 178 | } 179 | } 180 | 181 | @media (max-width: 324px) { 182 | nav.navigation a.button { 183 | display: none; 184 | } 185 | } 186 | 187 | /* toc */ 188 | .toc { 189 | margin: auto; 190 | background: #f8f8f8; 191 | border-radius: 0; 192 | padding: 10px 7px; 193 | margin-top: 36px; 194 | } 195 | .toc details summary { 196 | cursor: zoom-in; 197 | margin-inline-start: 14px; 198 | font-weight: 500; 199 | } 200 | .toc details[open] summary { 201 | cursor: zoom-out; 202 | } 203 | .toc #TableOfContents { 204 | margin-left: 10px; 205 | } 206 | .toc ul { 207 | padding-inline-start: 24px; 208 | } 209 | 210 | /* comment */ 211 | #comment { 212 | margin-top: 64px; 213 | } 214 | 215 | /* footer */ 216 | #footer { 217 | margin-top: 100px; 218 | margin-bottom: 100px; 219 | text-align: center; 220 | color: #bbbbbb; 221 | font-size: 14px; 222 | } 223 | #footer .copyright { 224 | margin: 20px auto; 225 | font-size: 15px; 226 | } 227 | .powerby { 228 | margin: 20px auto; 229 | font-size: 13px; 230 | } 231 | #footer .split { 232 | cursor: pointer; 233 | } 234 | #footer .split:hover path { 235 | fill: #ff3356; 236 | transition: 0.7s ease-out; 237 | cursor: pointer;; 238 | } 239 | 240 | #social a { 241 | margin: 0 4px; 242 | } 243 | 244 | /* main content */ 245 | .main { 246 | width: 100%; 247 | margin: 0 auto; 248 | } 249 | 250 | /* profile */ 251 | 252 | .profile { 253 | margin: 60px auto 0 auto; 254 | text-align: center; 255 | } 256 | 257 | .profile .avatar { 258 | display: inline-block; 259 | width: 80px; 260 | height: 80px; 261 | border-radius: 50%; 262 | } 263 | 264 | .profile h1 { 265 | font-weight: 400; 266 | letter-spacing: 0px; 267 | font-size: 20px; 268 | color: #404040; 269 | margin-bottom: 0; 270 | margin-top: 0; 271 | } 272 | 273 | .profile h2 { 274 | font-size: 20px; 275 | font-weight: 300; 276 | color: #757575; 277 | margin-top: 0; 278 | } 279 | 280 | /* index post list */ 281 | #list-page { 282 | max-width: 580px; 283 | margin: 0 auto; 284 | padding: 0 24px; 285 | } 286 | 287 | #list-page .item { 288 | margin: 12px 0; 289 | } 290 | 291 | #list-page .title { 292 | display: inline-block; 293 | color: #404040; 294 | font-size: 20px; 295 | font-weight: 400; 296 | margin: 0; 297 | width: 80%; 298 | } 299 | 300 | #list-page .title a { 301 | color: #404040; 302 | display: block; 303 | } 304 | 305 | #list-page .title a:hover { 306 | color: #0366d6; 307 | } 308 | 309 | #list-page .date { 310 | width: 20%; 311 | float: right; 312 | text-align: right; 313 | position: relative; 314 | top: 1px; 315 | color: #bbb; 316 | } 317 | 318 | #list-page .summary { 319 | color: #757575; 320 | margin-top: 12px; 321 | word-break: normal; 322 | overflow-wrap: anywhere; 323 | margin-bottom: 36px; 324 | } 325 | 326 | #list-page .cover { 327 | width: 100px; 328 | height: 100px; 329 | background: #fff; 330 | } 331 | 332 | #list-page .cover img { 333 | width: 100%; 334 | text-align: center; 335 | } 336 | 337 | #list-page .pagination { 338 | margin: 48px 0; 339 | width: 100%; 340 | height: 32px; 341 | margin-top: 48px; 342 | } 343 | 344 | #list-page .pagination .pre { 345 | float: left; 346 | } 347 | #list-page .pagination .next { 348 | float: right; 349 | } 350 | 351 | /* single page */ 352 | #single { 353 | max-width: 680px; 354 | margin: 60px auto 0 auto; 355 | padding: 0 64px; 356 | } 357 | 358 | #single .title { 359 | text-align: center; 360 | font-size: 32px; 361 | font-weight: 400; 362 | line-height: 48px; 363 | } 364 | 365 | @media (max-width: 700px) { 366 | #single { 367 | padding: 0 18px; 368 | margin: 20px auto 0 auto; 369 | } 370 | #single .title { 371 | font-size: 24px; 372 | line-height: 32px; 373 | } 374 | } 375 | 376 | #single .tip { 377 | text-align: center; 378 | color: #8c8c8c; 379 | margin-top: 18px; 380 | font-size: 14px; 381 | } 382 | #single .tip .split { 383 | margin: 0 4px; 384 | } 385 | 386 | #single .content { 387 | margin-top: 36px; 388 | } 389 | 390 | #single .tags { 391 | margin-top: 24px; 392 | } 393 | #single .tags a { 394 | background: #f2f2f2; 395 | padding: 4px 7px; 396 | color: #757575; 397 | font-size: 14px; 398 | margin-right: 3px; 399 | } 400 | #single .tags a:hover { 401 | color: #0366d6; 402 | } 403 | 404 | 405 | #archive { 406 | max-width: 580px; 407 | margin: 0 auto; 408 | padding: 0 24px; 409 | } 410 | 411 | #archive .total { 412 | font-size: 15px; 413 | } 414 | 415 | #archive .group { 416 | margin: 24px auto; 417 | } 418 | #archive .group .key { 419 | font-size: 20px; 420 | margin-bottom: 12px; 421 | } 422 | #archive .group .value { 423 | display: block; 424 | font-size: 16px; 425 | margin-bottom: 12px; 426 | } 427 | #archive .group .value .date { 428 | display: inline-block; 429 | color: #999; 430 | min-width: 60px; 431 | } 432 | #archive .group .value .title { 433 | display: inline; 434 | } 435 | #archive .group .value .title a { 436 | color:#404040; 437 | } 438 | #archive .group .value .title a:hover { 439 | color: #0366d6; 440 | } 441 | #archive .group .value .tags { 442 | display: inline; 443 | margin-left: 7px; 444 | } 445 | #archive .group .value .tags a { 446 | background: #f2f2f2; 447 | padding: 4px 7px; 448 | color: #999; 449 | font-size: 14px; 450 | margin-right: 3px; 451 | } 452 | #archive .group .value .tags a:hover { 453 | color: #0366d6; 454 | } 455 | 456 | /* taxonomy */ 457 | #tags { 458 | max-width: 700px; 459 | margin: 48px auto 0 auto; 460 | padding: 0 12px; 461 | text-align: center; 462 | } 463 | #tags .tag { 464 | display: inline-block; 465 | margin: 7px 7px; 466 | } 467 | @media (max-width: 700px) { 468 | #tags { 469 | margin: 0 auto 0 auto; 470 | } 471 | #tags .tag { 472 | display: inline-block; 473 | margin: 4px 5px; 474 | } 475 | } 476 | 477 | #tags .tag a { 478 | background: #f2f2f2; 479 | padding: 4px 7px; 480 | color: #757575; 481 | color: #404040; 482 | font-size: 14px; 483 | margin-right: 3px; 484 | } 485 | #tags .tag a:hover { 486 | color: #0366d6; 487 | } 488 | 489 | /* section page */ 490 | #section { 491 | max-width: 580px; 492 | margin: 48px auto 0 auto; 493 | padding: 0 12px; 494 | } 495 | 496 | /* 404 page */ 497 | #page-404 { 498 | max-width: 580px; 499 | margin: 0 auto; 500 | padding: 0 24px; 501 | } 502 | #page-404 .item { 503 | margin: 12px 0 0 0; 504 | } 505 | 506 | #page-404 .title { 507 | display: inline-block; 508 | color: #404040; 509 | font-size: 15px; 510 | font-weight: 400; 511 | margin: 0; 512 | width: 80%; 513 | } 514 | 515 | #page-404 .text { 516 | text-align: center; 517 | margin-top: 60px; 518 | } 519 | 520 | #page-404 .read-more { 521 | font-weight: 300; 522 | font-size: 20px; 523 | margin-top: 48px; 524 | margin-bottom: 12px; 525 | } 526 | 527 | #page-404 .date { 528 | width: 20%; 529 | float: right; 530 | text-align: right; 531 | position: relative; 532 | top: 1px; 533 | color: #bbb; 534 | } 535 | --------------------------------------------------------------------------------