\ No newline at end of file
diff --git a/content/homepage/experience.md b/content/homepage/experience.md
new file mode 100644
index 0000000..66db55c
--- /dev/null
+++ b/content/homepage/experience.md
@@ -0,0 +1,52 @@
+---
+title: Experience
+draft: false
+experiences:
+ - title: Example Role 1
+ organization:
+ name: Example Organization 1
+ url: https://example.org
+ dates: "2019 - Present"
+ location: Country
+ writeup: >
+ Donec scelerisque egestas augue at tempor. Fusce faucibus magna in.
+
+ - Suspendisse lacinia mauris a laoreet vehicula.
+
+ - Aenean tincidunt enim vitae ante blandit tempor.
+
+ - Nam tincidunt diam quis lorem rutrum ullamcorper.
+
+ - title: Example Role 2
+ organization:
+ name: Example Organization 2
+ url: https://example.org
+ dates: "2017 - 2019"
+ location: Country
+ writeup: >
+ **Aliquam** at **rutrum** ante. In sed quam faucibus.
+
+weight: 3
+widget:
+ handler: experience
+
+ # Options: sm, md, lg and xl. Default is md.
+ width: lg
+
+ sidebar:
+ # Options: left and right. Leave blank to hide.
+ position: left
+ # Options: sm, md, lg and xl. Default is md.
+ scale:
+
+ background:
+ # Options: primary, secondary, tertiary or any valid color value. Default is primary.
+ color:
+ image:
+ # Options: auto, cover and contain. Default is auto.
+ size:
+ # Options: center, top, right, bottom, left.
+ position:
+ # Options: fixed, local, scroll.
+ attachment:
+---
diff --git a/content/homepage/index.md b/content/homepage/index.md
new file mode 100644
index 0000000..3d65eaa
--- /dev/null
+++ b/content/homepage/index.md
@@ -0,0 +1,3 @@
+---
+headless: true
+---
\ No newline at end of file
diff --git a/content/homepage/pages.md b/content/homepage/pages.md
new file mode 100644
index 0000000..de31565
--- /dev/null
+++ b/content/homepage/pages.md
@@ -0,0 +1,34 @@
+---
+title: Pages
+draft: false
+# Section you want to display
+section: posts
+# Pages count
+count: 5
+# Options: card, plain and masonry.
+style: plain
+
+weight: 2
+widget:
+ handler: pages
+
+ # Options: sm, md, lg and xl. Default is md.
+ width:
+
+ sidebar:
+ # Options: left and right. Leave blank to hide.
+ position:
+ # Options: sm, md, lg and xl. Default is md.
+ scale:
+
+ background:
+ # Options: primary, secondary, tertiary or any valid color value. Default is primary.
+ color:
+ image:
+ # Options: auto, cover and contain. Default is auto.
+ size:
+ # Options: center, top, right, bottom, left.
+ position:
+ # Options: fixed, local, scroll.
+ attachment:
+---
\ No newline at end of file
diff --git a/content/homepage/vintage.md b/content/homepage/vintage.md
new file mode 100644
index 0000000..bc22a8b
--- /dev/null
+++ b/content/homepage/vintage.md
@@ -0,0 +1,31 @@
+---
+title: Vintage
+draft: false
+slogan: We are all in the gutter, but some of us are looking at the stars.
+imgLeft: images/hero-left.jpg
+imgRight: images/hero-right.jpg
+
+weight: 4
+widget:
+ handler: vintage
+
+ # Options: sm, md, lg and xl. Default is md.
+ width:
+
+ sidebar:
+ # Options: left and right. Leave blank to hide.
+ position:
+ # Options: sm, md, lg and xl. Default is md.
+ scale:
+
+ background:
+ # Options: primary, secondary, tertiary or any valid color value. Default is primary.
+ color: secondary
+ image:
+ # Options: auto, cover and contain. Default is auto.
+ size:
+ # Options: center, top, right, bottom, left.
+ position:
+ # Options: fixed, local, scroll.
+ attachment:
+---
\ No newline at end of file
diff --git a/content/posts/_index.md b/content/posts/_index.md
new file mode 100644
index 0000000..599c92c
--- /dev/null
+++ b/content/posts/_index.md
@@ -0,0 +1,3 @@
+---
+title: Posts
+---
\ No newline at end of file
diff --git a/content/posts/diagram-support.md b/content/posts/diagram-support.md
new file mode 100644
index 0000000..a93a11d
--- /dev/null
+++ b/content/posts/diagram-support.md
@@ -0,0 +1,41 @@
+---
+title: Diagram Support
+description:
+toc: true
+authors:
+ - example-author
+tags:
+categories:
+series:
+date: '2021-03-31T13:11:22+08:00'
+lastmod: '2021-03-31T13:11:22+08:00'
+featuredImage:
+draft: false
+---
+
+Eureka supports the rendering of diagrams by using Mermaid.
+
+
+
+
+Please include the Mermaid diagram as below. Every mermaid chart/graph/diagram definition, has to have separate `
` tags.
+
+In order to render the HTML code in the Markdown file correctly, please make sure that `markup.goldmark.renderer.unsafe` in `config.yaml` is true.
+
+Here is one mermaid diagram:
+
+
+ graph TD
+ A[Client] --> B[Load Balancer]
+ B --> C[Server1]
+ B --> D[Server2]
+
+
+And here is another:
+
+
+ graph TD
+ A[Client] -->|tcp_123| B(Load Balancer)
+ B -->|tcp_456| C[Server1]
+ B -->|tcp_456| D[Server2]
+
\ No newline at end of file
diff --git a/content/posts/emoji-support.md b/content/posts/emoji-support.md
new file mode 100644
index 0000000..2773331
--- /dev/null
+++ b/content/posts/emoji-support.md
@@ -0,0 +1,51 @@
+---
+title: Emoji Support
+description: Guide to emoji usage in Hugo
+toc: true
+authors:
+ - Hugo Authors
+tags:
+ - emoji
+categories:
+series:
+date: '2019-03-05'
+lastmod: '2019-03-05'
+draft: false
+---
+
+Emoji can be enabled in a Hugo project in a number of ways.
+
+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).
+
+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.
+
+
🙈:see_no_evil:🙉:hear_no_evil:🙊:speak_no_evil:
+
+
+The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes.
+
+***
+
+**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.
+
+{{< highlight html >}}
+.emoji {
+ font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols;
+}
+{{< /highlight >}}
+
+{{< css.inline >}}
+
+{{< /css.inline >}}
diff --git a/content/posts/featured-image.md b/content/posts/featured-image.md
new file mode 100644
index 0000000..2ae412b
--- /dev/null
+++ b/content/posts/featured-image.md
@@ -0,0 +1,35 @@
+---
+title: Featured Image
+description: Post with featured image.
+toc: true
+authors:
+ - Example Author
+tags:
+ - image
+categories:
+ - themes
+series:
+ - Themes Guide
+date: '2020-05-26'
+lastmod: '2020-05-26'
+featuredImage: images/hero-right.jpg
+draft: false
+---
+
+Maecenas maximus, elit in ornare porttitor, nisi eros hendrerit nisl, sed fermentum nulla urna blandit tellus.
+
+
+
+## Nullam tempor lectus quis
+
+Aenean vehicula non elit id varius. Mauris condimentum lacinia mollis. Nullam quis cursus metus, eget mattis erat. Aliquam nec ante lacus. In tellus augue, iaculis vitae sollicitudin quis, tempor nec urna. Aenean ut fermentum erat, vel gravida ligula. Etiam sed ex aliquet, egestas nibh eu, iaculis mi. Nunc sit amet fermentum ex. Sed convallis ac arcu tristique rhoncus. Suspendisse potenti.
+
+Proin justo purus, porttitor et semper ut, commodo et nibh. Nam malesuada id arcu in tempus. Ut ornare vestibulum ultrices. Nullam tempor lectus quis ornare viverra. Vestibulum fringilla turpis ac leo fermentum, et dictum nisi consectetur. Integer ullamcorper fringilla mi, non volutpat sapien ultrices vel. Phasellus at blandit neque, pulvinar rutrum ante.
+
+Etiam auctor, elit vel pretium consequat, orci magna aliquet dolor, quis varius felis purus ut elit. Sed ultrices feugiat blandit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Ut accumsan pulvinar purus et ornare. Vestibulum et tortor eget lacus hendrerit porttitor. Cras dapibus ac est posuere mattis. Pellentesque eu ligula ultricies, interdum nulla vel, sollicitudin ligula. Suspendisse sit amet massa sed dui placerat pharetra. Vestibulum massa sem, congue in vehicula vitae, aliquam eu mi. Suspendisse eget laoreet velit. Cras felis enim, molestie in enim nec, mollis venenatis lectus. Donec tincidunt, mi vel interdum varius, urna metus aliquet velit, ut venenatis nulla orci nec lectus. Nam id tortor imperdiet, tempor massa eget, congue nisl. Suspendisse venenatis facilisis orci, non scelerisque risus volutpat sit amet.
+
+## Vestibulum et tortor eget
+
+Aliquam posuere diam non ligula tristique congue. Donec dignissim eu justo sed dictum. Praesent at massa erat. Praesent mollis viverra velit. Aliquam maximus pharetra massa a efficitur. Sed tempus egestas purus sit amet tempor. Donec porttitor varius nisi, eu venenatis risus gravida id. Pellentesque blandit nunc non urna consectetur commodo. Sed at feugiat felis, sit amet malesuada nunc. Curabitur in tempor nisl. Pellentesque accumsan est orci, in commodo felis accumsan facilisis. Nulla maximus suscipit posuere. Nulla et consequat mauris, fermentum ultricies tellus.
+
+Maecenas consectetur ac libero vitae congue. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec tortor eu lectus placerat varius. Mauris a nisi consectetur, ornare dolor ut, rutrum ligula. Sed enim nisl, fermentum a dictum vel, vestibulum ut odio. Suspendisse laoreet quis urna eu vestibulum. Maecenas commodo augue ex, eu egestas nulla aliquet ut. Cras aliquam dui ipsum, nec sodales erat convallis sit amet. Donec porttitor posuere hendrerit. Sed imperdiet at purus eget tempus. In ac est urna.
diff --git a/content/posts/markdown-syntax.md b/content/posts/markdown-syntax.md
new file mode 100644
index 0000000..9398797
--- /dev/null
+++ b/content/posts/markdown-syntax.md
@@ -0,0 +1,151 @@
+---
+title: Markdown Syntax Guide
+description: Sample article showcasing basic Markdown syntax and formatting for HTML elements.
+toc: true
+authors:
+ - Hugo Authors
+tags:
+ - markdown
+ - css
+ - html
+ - themes
+categories:
+ - themes
+ - syntax
+series:
+ - Themes Guide
+date: '2019-03-11'
+lastmod: '2019-03-11'
+draft: false
+---
+
+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.
+
+
+## Headings
+
+The following HTML `
`—`
` elements represent six levels of section headings. `
` is the highest section level while `
` is the lowest.
+
+# H1
+## H2
+### H3
+#### H4
+##### H5
+###### H6
+
+## Paragraph
+
+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.
+
+Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.
+
+## Blockquotes
+
+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.
+
+#### Blockquote without attribution
+
+> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
+> **Note** that you can use *Markdown syntax* within a blockquote.
+
+#### Blockquote with attribution
+
+> Don't communicate by sharing memory, share memory by communicating.
+> — Rob Pike[^1]
+
+[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015.
+
+## Tables
+
+Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box.
+
+ Name | Age
+--------|------
+ Bob | 27
+ Alice | 23
+
+#### Inline Markdown within tables
+
+| Italics | Bold | Code |
+| -------- | -------- | ------ |
+| *italics* | **bold** | `code` |
+
+## Code Blocks
+
+#### Code block with backticks
+
+```html
+
+
+
+
+ Example HTML5 Document
+
+
+
Test
+
+
+```
+
+#### Code block indented with four spaces
+
+
+
+
+
+ Example HTML5 Document
+
+
+
Test
+
+
+
+#### Code block with Hugo's internal highlight shortcode
+{{< highlight html >}}
+
+
+
+
+ Example HTML5 Document
+
+
+
Test
+
+
+{{< /highlight >}}
+
+## List Types
+
+#### Ordered List
+
+1. First item
+2. Second item
+3. Third item
+
+#### Unordered List
+
+* List item
+* Another item
+* And another item
+
+#### Nested list
+
+* Fruit
+ * Apple
+ * Orange
+ * Banana
+* Dairy
+ * Milk
+ * Cheese
+
+## Other Elements — abbr, sub, sup, kbd, mark
+
+GIF is a bitmap image format.
+
+H2O
+
+Xn + Yn = Zn
+
+Press CTRL+ALT+Delete to end the session.
+
+Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures.
diff --git a/content/posts/math-support.md b/content/posts/math-support.md
new file mode 100644
index 0000000..b191ea3
--- /dev/null
+++ b/content/posts/math-support.md
@@ -0,0 +1,48 @@
+---
+title: Math Support
+description:
+toc: true
+authors:
+ - example-author
+tags:
+categories:
+series:
+date: '2020-11-20T22:52:56+08:00'
+lastmod: '2020-11-20T22:52:56+08:00'
+featuredImage:
+draft: false
+---
+
+Eureka supports the rendering of mathematical formulas by using KaTeX.
+
+
+
+
+You can type inline equation like $E=mc^2$.
+
+And also displayed equation like:
+
+
+\[ \int u \frac{dv}{dx}\, dx=uv-\int \frac{du}{dx}v\,dx \]
+
+
+And many other kinds of formulas.
diff --git a/content/posts/placeholder-text.md b/content/posts/placeholder-text.md
new file mode 100644
index 0000000..3b2e94e
--- /dev/null
+++ b/content/posts/placeholder-text.md
@@ -0,0 +1,52 @@
+---
+title: Placeholder Text
+description: Lorem Ipsum Dolor Si Amet
+toc: true
+authors:
+ - Hugo Authors
+ - Example Author
+tags:
+ - markdown
+ - text
+categories:
+series:
+ - Themes Guide
+date: '2019-03-09'
+lastmod: '2019-03-09'
+draft: false
+---
+
+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.
+
+1. Exierant elisi ambit vivere dedere
+2. Duce pollice
+3. Eris modo
+4. Spargitque ferrea quos palude
+
+Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.
+
+1. Comas hunc haec pietate fetum procerum dixit
+2. Post torum vates letum Tiresia
+3. Flumen querellas
+4. Arcanaque montibus omnes
+5. Quidem et
+
+# Vagus elidunt
+
+
+
+[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
+
+## Mane refeci capiebant unda mulcebat
+
+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.
+
+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.
+
+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**.
+
+{{< css.inline >}}
+
+{{< /css.inline >}}
diff --git a/content/posts/暗黑能天使/images/DSC_2778.jpg b/content/posts/暗黑能天使/images/DSC_2778.jpg
new file mode 100644
index 0000000..0e2c86b
Binary files /dev/null and b/content/posts/暗黑能天使/images/DSC_2778.jpg differ
diff --git a/content/posts/暗黑能天使/images/DSC_2780.jpg b/content/posts/暗黑能天使/images/DSC_2780.jpg
new file mode 100644
index 0000000..4651fca
Binary files /dev/null and b/content/posts/暗黑能天使/images/DSC_2780.jpg differ
diff --git a/content/posts/暗黑能天使/index.md b/content/posts/暗黑能天使/index.md
new file mode 100644
index 0000000..08f8ecf
--- /dev/null
+++ b/content/posts/暗黑能天使/index.md
@@ -0,0 +1,17 @@
+---
+title: 暗黑能天使
+description:
+toc: True
+authors: []
+tags: []
+categories: []
+series: []
+date: 2017-02-05T00:00:00
+lastmod: 2017-02-05T00:00:00
+featuredVideo:
+featuredImage:
+draft: False
+---
+
+
+
diff --git a/deploy.sh b/deploy.sh
new file mode 100644
index 0000000..355a2ab
--- /dev/null
+++ b/deploy.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+../../bin/0.98/hugo.exe
+ssh -t root@192.168.1.30 "rm -rf /var/www/html/*"
+scp -r ./public/* root@192.168.1.30:/var/www/html/
+ssh -t root@192.168.1.30 "systemctl restart apache2"
\ No newline at end of file
diff --git a/layouts/404.html b/layouts/404.html
new file mode 100644
index 0000000..512569b
--- /dev/null
+++ b/layouts/404.html
@@ -0,0 +1,5 @@
+{{ define "main" }}
+
+ 404 - Page not found
+
+{{ end }}
\ No newline at end of file
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
new file mode 100644
index 0000000..9693e3e
--- /dev/null
+++ b/layouts/_default/baseof.html
@@ -0,0 +1,35 @@
+
+
+ {{- partial "head" . }}
+
+
+
+
+
+ {{- partial "header" . -}}
+
+
+
+ {{- if or .IsHome (and (eq .Type "authors") (eq .Kind "term")) }}
+ {{- block "main" . }}{{- end }}
+ {{- else }}
+
+ {{ with .Content }}
+ {{ . }}
+ {{ end }}
+
diff --git a/layouts/partials/components/masonry.html b/layouts/partials/components/masonry.html
new file mode 100644
index 0000000..8bfb4a2
--- /dev/null
+++ b/layouts/partials/components/masonry.html
@@ -0,0 +1,21 @@
+{{ with . }}
+
+
+
{{ i18n "recent" }}
+
+
+ {{ range first 10 . }}
+
+
+ {{ partial "components/summary-masonry" . }}
+
+
+ {{ end }}
+
+
+
+{{ end }}
\ No newline at end of file
diff --git a/layouts/partials/components/opengraph.html b/layouts/partials/components/opengraph.html
new file mode 100644
index 0000000..a0b9bba
--- /dev/null
+++ b/layouts/partials/components/opengraph.html
@@ -0,0 +1,80 @@
+
+
+{{ $icon := partial "utils/get-image" (dict "context" . "url" .Site.Params.icon) }}
+{{ with $icon }}
+
+{{ end }}
+
+
+
+{{ with .Params.audio }}
+
+{{ end }}
+{{ with .Description }}
+
+{{ else }}
+{{if .IsPage}}
+
+{{ else }}
+{{ with .Site.Params.Description }}
+
+{{ end }}
+{{ end }}
+{{ end }}
+
+{{ with .Site.LanguageCode }}
+
+{{ end }}
+{{ if .IsTranslated }}
+{{ range .Translations }}
+
+{{ end }}
+{{ end }}
+
+{{ with .Site.Title }}
+
+{{ end }}
+
+{{ with .Params.videos }}
+{{ range . }}
+
+{{ end }}
+{{ end }}
+
+{{ if .IsPage }}
+{{ if not .PublishDate.IsZero }}
+
+{{ else if not .Date.IsZero }}
+
+{{ end }}
+{{ if not .Lastmod.IsZero }}
+
+{{ end }}
+{{ else }}
+{{ if not .Date.IsZero }}
+
+{{ end }}
+{{ end }}
+
+
+{{ with .Params.tags }}
+{{ range first 6 . }}
+
+{{ end }}
+{{ end }}
+
+{{ if .GetTerms "series" }}
+{{ $pageLink := .Permalink }}
+{{ $series := .Site.Taxonomies.series}}
+{{ range (.GetTerms "series") }}
+{{ range .Pages }}
+{{ if ne .Page.Permalink $pageLink }}
+
+{{ end }}
+{{ end }}
+{{ end }}
+{{ else if (.Site.RegularPages.Related .) }}
+{{ range (.Site.RegularPages.Related . | first 6) }}
+
+{{ end }}
+{{ end }}
\ No newline at end of file
diff --git a/layouts/partials/components/post-article.html b/layouts/partials/components/post-article.html
new file mode 100644
index 0000000..f558cbe
--- /dev/null
+++ b/layouts/partials/components/post-article.html
@@ -0,0 +1,12 @@
+
+
+{{/* Deprecation warning(v1.0.0) starts */}}
+{{- else if .Site.Params.repoURL }}
+ {{ warnf "Param 'repoURL' in params.yaml is deprecated and will be removed in Eureka v1.0.0. See https://www.wangchucheng.com/en/docs/hugo-eureka/customization/#params-config-file" }}
+
\ No newline at end of file
diff --git a/layouts/partials/components/post-toc.html b/layouts/partials/components/post-toc.html
new file mode 100644
index 0000000..2fe2ac4
--- /dev/null
+++ b/layouts/partials/components/post-toc.html
@@ -0,0 +1,21 @@
+
+
{{ i18n "onThisPage" }}
+
+
+ {{ .TableOfContents }}
+
+
diff --git a/layouts/partials/components/schema-node.html b/layouts/partials/components/schema-node.html
new file mode 100644
index 0000000..dbcae7a
--- /dev/null
+++ b/layouts/partials/components/schema-node.html
@@ -0,0 +1,29 @@
+{{- $paginator := .Paginate .Pages }}
+{{- $pages := .Paginator.Pages }}
+{{- if eq .Type "authors" }}
+{{- $pages = .Pages }}
+{{- end }}
+{{- with $pages }}
+
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/components/schema-page.html b/layouts/partials/components/schema-page.html
new file mode 100644
index 0000000..2e71322
--- /dev/null
+++ b/layouts/partials/components/schema-page.html
@@ -0,0 +1,62 @@
+
\ No newline at end of file
diff --git a/layouts/partials/components/schema.html b/layouts/partials/components/schema.html
new file mode 100644
index 0000000..bc3147f
--- /dev/null
+++ b/layouts/partials/components/schema.html
@@ -0,0 +1,34 @@
+
+
+{{- $bundles := partial "utils/get-bundles" . }}
+{{- if gt (len $bundles) 1 }}
+
+{{- end }}
+
+{{/* Deprecation warning(v1.0.0) starts */}}
+{{ $layout := partial "utils/hyphenate" (.Layout | default .Type) }}
+{{/* Deprecation warning(v1.0.0) ends */}}
+{{- if and (eq .Type "docs") (ne $layout "doc-list") }}
+{{- partial "components/schema-page" . }}
+{{- else if or (eq .Kind "section") (eq .Kind "term") }}
+{{- partial "components/schema-node" . }}
+{{- else if .IsPage }}
+{{- partial "components/schema-page" . }}
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/components/summary-card.html b/layouts/partials/components/summary-card.html
new file mode 100644
index 0000000..4e9a1d5
--- /dev/null
+++ b/layouts/partials/components/summary-card.html
@@ -0,0 +1,3 @@
+
+ {{ partial "components/summary-plain" . }}
+
\ No newline at end of file
diff --git a/layouts/partials/components/summary-list-card.html b/layouts/partials/components/summary-list-card.html
new file mode 100644
index 0000000..3829230
--- /dev/null
+++ b/layouts/partials/components/summary-list-card.html
@@ -0,0 +1,5 @@
+{{ range . }}
+
+ {{ partial "components/summary-card" . }}
+
+{{ end }}
\ No newline at end of file
diff --git a/layouts/partials/components/summary-list-masonry.html b/layouts/partials/components/summary-list-masonry.html
new file mode 100644
index 0000000..8e82a6e
--- /dev/null
+++ b/layouts/partials/components/summary-list-masonry.html
@@ -0,0 +1,15 @@
+
+ {{ range . }}
+
+
+ {{ partial "components/summary-masonry" . }}
+
+
+ {{ end }}
+
+
+
\ No newline at end of file
diff --git a/layouts/partials/components/summary-list-plain.html b/layouts/partials/components/summary-list-plain.html
new file mode 100644
index 0000000..78d324c
--- /dev/null
+++ b/layouts/partials/components/summary-list-plain.html
@@ -0,0 +1,8 @@
+
+ {{ range . }}
+
+ {{ partial "components/summary-plain" . }}
+
+ {{ end }}
+
+
diff --git a/layouts/partials/components/summary-masonry.html b/layouts/partials/components/summary-masonry.html
new file mode 100644
index 0000000..9a3cecb
--- /dev/null
+++ b/layouts/partials/components/summary-masonry.html
@@ -0,0 +1,19 @@
+
\ No newline at end of file
diff --git a/layouts/partials/custom-head.html b/layouts/partials/custom-head.html
new file mode 100644
index 0000000..f9424d4
--- /dev/null
+++ b/layouts/partials/custom-head.html
@@ -0,0 +1 @@
+{{/* Do not modify this file! */}}
\ No newline at end of file
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
new file mode 100644
index 0000000..c56f81e
--- /dev/null
+++ b/layouts/partials/footer.html
@@ -0,0 +1,3 @@
+
+
{{ with .Site.Copyright }}{{ replace . "{year}" now.Year | safeHTML }} · {{ end }} Powered by the Eureka theme for Hugo
+
\ No newline at end of file
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
new file mode 100644
index 0000000..262865e
--- /dev/null
+++ b/layouts/partials/head.html
@@ -0,0 +1,186 @@
+
+
+
+{{ define "partials/get-title" }}
+{{ $separator := .Site.Params.titleSeparator | default "|" }}
+{{ $primarySep := $separator }}
+{{ $secondarySep := $separator }}
+{{ if reflect.IsSlice $separator }}
+{{ $primarySep = index $separator 0 }}
+{{ $secondarySep = index $separator 1 | default (index $separator 0) }}
+{{ end }}
+{{ $title := .Site.Title }}
+{{/* Generate prefix */}}
+{{ $prefix := "" }}
+{{ if .Params.Title }}
+{{ $prefix = .Params.Title }}
+{{/* Deprecation warning(v1.0.0) starts */}}
+{{ $layout := partial "utils/hyphenate" (.Layout | default .Type) }}
+{{/* Deprecation warning(v1.0.0) ends */}}
+{{ if and (eq .Type "docs") (ne $layout "doc-list") }}
+{{ $docTitle := "" }}
+{{ $bundles := partial "utils/get-bundles" . }}
+{{ range $bundles.Reverse }}
+{{ $version := findRE "v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?" (path.Base .Permalink) }}
+{{/* Deprecation warning(v1.0.0) starts */}}
+{{ $parentLayout := partial "utils/hyphenate" (.Parent.Layout | default .Parent.Type) }}
+{{ $layout := partial "utils/hyphenate" (.Layout | default .Type) }}
+{{/* Deprecation warning(v1.0.0) ends */}}
+{{ if and (eq $parentLayout "doc-list") (ne $layout "doc-list") }}
+{{ $docTitle = .Title }}
+{{ else if $version }}
+{{ $docTitle = .Title }}
+{{ end }}
+{{ end }}
+{{/* Doc title */}}
+{{ $version := findRE "v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?" (path.Base .Permalink) }}
+{{/* Deprecation warning(v1.0.0) starts */}}
+{{ $parentLayout := partial "utils/hyphenate" (.Parent.Layout | default .Parent.Type) }}
+{{/* Deprecation warning(v1.0.0) ends */}}
+{{ if or (eq $parentLayout "doc-list") $version }}
+{{ $prefix = $docTitle }}
+{{ else }}
+{{ $prefix = print $prefix " " $secondarySep " " $docTitle }}
+{{ end }}
+{{ end }}
+{{ end }}
+{{/* Add prefix */}}
+{{ with $prefix }}
+{{ $title = print . " " $primarySep " " $title }}
+{{ end }}
+{{ return $title }}
+{{ end }}
+{{ partial "get-title" . }}
+
+
+
+{{- $eurekaCSS := resources.Get "css/eureka.css" | postCSS (dict "config" "./assets/css/postcss.config.js" "inlineImports" true) | resources.ExecuteAsTemplate "css/eureka.css" . | minify | fingerprint "sha384" }}
+
+
+{{- $eurekaJS := resources.Get "js/eureka.js" | resources.ExecuteAsTemplate "js/eureka.js" . | minify | fingerprint "sha384" }}
+
+
+{{ $googleFonts := "" }}
+{{ range $index, $value := partial "utils/get-style-fonts" (dict "context" . "param" "googleFonts") }}
+{{ with $value }}
+{{ $googleFonts = print $googleFonts "family=" . "&" }}
+{{ end }}
+{{ end }}
+
+{{ with $googleFonts }}
+
+
+
+{{ end }}
+
+{{- $assets := .Site.Data.assets }}
+
+{{/* highlight */}}
+{{- if eq .Site.Params.highlight.handler "chroma" }}
+{{- $highlightCSS := resources.Get "css/syntax.css" | minify | fingerprint "sha384" }}
+
+{{- else if eq .Site.Params.highlight.handler "highlightjs" }}
+{{- $highlightjsStyle := .Site.Params.highlight.highlightjs.style | default "base16/solarized-light" }}
+
+
+{{- range .Site.Params.highlight.highlightjs.languages }}
+
+{{- end }}
+{{- $highlightjsCSS := resources.Get "css/highlightjs.css" | minify | fingerprint "sha384" }}
+
+{{- end }}
+
+{{ $fontawesomeJS := resources.Get "js/fontawesome.js" | resources.ExecuteAsTemplate "js/fontawesome.js" . | js.Build (dict "minify" true) | minify | fingerprint "sha384" }}
+
+
+
+{{- $enableMath := false }}
+{{- if .Site.Params.math.handler }}
+ {{- $bundles := partial "utils/get-bundles" . }}
+ {{- $enableMath = true }}
+ {{- range $bundles.Reverse }}
+ {{- if and (ne .Params.enableMath nil) (ne .Params.enableMath "") }}
+ {{- $enableMath = .Params.enableMath }}
+ {{/* Deprecation warning(v1.0.0) starts */}}
+ {{- else if and (ne .Params.math nil) (ne .Params.math "") }}
+ {{ warnf "Param 'math' in %q is deprecated and will be removed in Eureka v1.0.0. Please use 'enableMath' instead." .File.Path }}
+ {{- $enableMath = .Params.math }}
+ {{/* Deprecation warning(v1.0.0) ends */}}
+ {{- end }}
+ {{- end }}
+{{- end }}
+
+{{/* KaTeX */}}
+{{- if and (eq .Site.Params.math.handler "katex") $enableMath }}
+
+
+
+
+{{- end }}
+
+{{/* Mermaid */}}
+{{- if eq .Site.Params.diagram.handler "mermaid" }}
+
+{{- with .Site.Params.diagram.mermaid }}
+
+{{- end }}
+{{- end }}
+
+{{- if and .Site.GoogleAnalytics hugo.IsProduction }}
+
+
+
+{{- end }}
+
+{{ partial "custom-head" . }}
+
+{{- with .Site.Params.icon }}
+
+
+{{- end }}
+
+{{ define "partials/get-icon" }}
+{{ $icon := resources.GetMatch .icon }}
+{{ $iconResized := $icon.Fill (printf "%sx%s Center" (string .size) (string .size)) }}
+{{ return $iconResized }}
+{{ end }}
+
+{{- partial "components/schema" . }}
+{{- partial "components/opengraph" . }}
+{{- range .AlternativeOutputFormats }}
+{{- printf `` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
new file mode 100644
index 0000000..e3f4b66
--- /dev/null
+++ b/layouts/partials/header.html
@@ -0,0 +1,130 @@
+
+
+
diff --git a/layouts/partials/utils/camelize.html b/layouts/partials/utils/camelize.html
new file mode 100644
index 0000000..bb3afa9
--- /dev/null
+++ b/layouts/partials/utils/camelize.html
@@ -0,0 +1,8 @@
+{{ $input := . }}
+{{ $regexp := "(-|_)([a-z])" }}
+{{ $matches := findRE $regexp $input }}
+{{ range $matches }}
+ {{ $input = $input | replaceRE . (upper .) }}
+{{ end }}
+{{ $input = $input | replaceRE "(-|_)" "" }}
+{{ return $input }}
\ No newline at end of file
diff --git a/layouts/partials/utils/get-bundles.html b/layouts/partials/utils/get-bundles.html
new file mode 100644
index 0000000..059b954
--- /dev/null
+++ b/layouts/partials/utils/get-bundles.html
@@ -0,0 +1,7 @@
+{{ $currentPage := . }}
+{{ $bundles := slice $currentPage }}
+{{ if and (ne $currentPage.Kind "taxonomy") (or (ne $currentPage $currentPage.FirstSection) (eq $currentPage.Kind "term")) }}
+{{ $currentBundles := partial "utils/get-bundles" $currentPage.Parent }}
+{{ $bundles = $bundles | append $currentBundles }}
+{{ end }}
+{{ return $bundles }}
\ No newline at end of file
diff --git a/layouts/partials/utils/get-featured.html b/layouts/partials/utils/get-featured.html
new file mode 100644
index 0000000..89483ae
--- /dev/null
+++ b/layouts/partials/utils/get-featured.html
@@ -0,0 +1,9 @@
+{{ $video := partial "utils/get-video" (dict "context" . "url" .Params.featuredVideo "keyword" "*featured*") }}
+{{ $image := partial "utils/get-image" (dict "context" . "url" .Params.featuredImage "keyword" "*featured*") }}
+{{ $featured := ""}}
+{{ if $video }}
+{{ $featured = $video }}
+{{ else if $image }}
+{{ $featured = print "" | safeHTML }}
+{{ end }}
+{{ return $featured }}
\ No newline at end of file
diff --git a/layouts/partials/utils/get-fontawesome-icons.html b/layouts/partials/utils/get-fontawesome-icons.html
new file mode 100644
index 0000000..3fbf331
--- /dev/null
+++ b/layouts/partials/utils/get-fontawesome-icons.html
@@ -0,0 +1,56 @@
+{{ $fasIcons := slice }}
+{{ $fabIcons := slice }}
+{{ $farIcons := slice }}
+
+{{/* eureka */}}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-adjust") }}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-bars") }}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-calendar") }}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-caret-down") }}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-caret-left") }}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-caret-right") }}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-clock") }}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-edit") }}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-folder") }}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-globe") }}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-moon") }}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-sun") }}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-th-list") }}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-user") }}
+{{ $fasIcons = $fasIcons | append (partial "utils/camelize" "fa-user-circle") }}
+
+{{/* authors */}}
+{{ range (.Site.GetPage "taxonomyTerm" "authors").Pages }}
+ {{ range .Params.social }}
+ {{ $icon := partial "utils/camelize" (print "fa-" .icon) }}
+ {{ if and (eq .iconPack "fas") (not (in $fasIcons $icon)) }}
+ {{ $fasIcons = $fasIcons | append $icon }}
+ {{ else if and (eq .iconPack "fab") (not (in $fabIcons $icon)) }}
+ {{ $fabIcons = $fabIcons | append $icon }}
+ {{ else if and (eq .iconPack "far") (not (in $farIcons $icon)) }}
+ {{ $farIcons = $farIcons | append $icon }}
+ {{ end }}
+ {{ end }}
+{{ end }}
+
+{{/* homepage.about */}}
+{{ $homepage := .Site.GetPage "homepage" }}
+{{ $widgets := $homepage.Resources }}
+{{ range $widgets }}
+ {{ if eq .Params.widget.handler "about" }}
+ {{ range .Params.social }}
+ {{ $icon := partial "utils/camelize" (print "fa-" .icon) }}
+ {{ if and (eq .iconPack "fas") (not (in $fasIcons $icon)) }}
+ {{ $fasIcons = $fasIcons | append $icon }}
+ {{ else if and (eq .iconPack "fab") (not (in $fabIcons $icon)) }}
+ {{ $fabIcons = $fabIcons | append $icon }}
+ {{ else if and (eq .iconPack "far") (not (in $farIcons $icon)) }}
+ {{ $farIcons = $farIcons | append $icon }}
+ {{ end }}
+ {{ end }}
+ {{ end }}
+{{ end }}
+
+{{ $icons := dict "fas" $fasIcons "fab" $fabIcons "far" $farIcons }}
+
+{{ return $icons }}
diff --git a/layouts/partials/utils/get-image.html b/layouts/partials/utils/get-image.html
new file mode 100644
index 0000000..59785f2
--- /dev/null
+++ b/layouts/partials/utils/get-image.html
@@ -0,0 +1,17 @@
+{{- $img := "" }}
+{{- $validKeyword := false }}
+{{- if .keyword }}
+{{- if (.context.Resources.ByType "image").GetMatch .keyword }}
+{{- $validKeyword = true}}
+{{- end }}
+{{- end }}
+{{- if $validKeyword }}
+{{- $img = ((.context.Resources.ByType "image").GetMatch .keyword).Permalink }}
+{{- else if or (hasPrefix .url "//") (or (hasPrefix .url "http://") (hasPrefix .url "https://")) }}
+{{- $img = (.url | absURL) }}
+{{- else if resources.GetMatch .url }}
+{{- $img = (resources.GetMatch .url).Permalink }}
+{{- else if .url }}
+{{- $img = (.url | absURL) }}
+{{- end }}
+{{- return $img }}
\ No newline at end of file
diff --git a/layouts/partials/utils/get-js-configs.html b/layouts/partials/utils/get-js-configs.html
new file mode 100644
index 0000000..7198692
--- /dev/null
+++ b/layouts/partials/utils/get-js-configs.html
@@ -0,0 +1,13 @@
+{{- range $key, $value := . }}
+ {{- if or $value (eq $value false) }}
+ {{- $key = partial "utils/camelize" $key }}
+ {{- $key }}:
+ {{- if reflect.IsMap $value }}
+ {
+ {{ partial "utils/get-js-configs" . }}
+ },
+ {{- else -}}
+ "{{ $value }}",
+ {{- end }}
+ {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/layouts/partials/utils/get-style-color.html b/layouts/partials/utils/get-style-color.html
new file mode 100644
index 0000000..53f71a3
--- /dev/null
+++ b/layouts/partials/utils/get-style-color.html
@@ -0,0 +1,18 @@
+{{ $style := (index .context.Site.Data.styles (.context.Site.Params.style | default "default")) }}
+{{ $result := $style.colors }}
+{{ if $result }}
+ {{ range .path }}
+ {{ if $result }}
+ {{ $result = index $result . }}
+ {{ else }}
+ {{ errorf "Param %s is undefined in style %s" (delimit $.path ".") $.context.Site.Params.style }}
+ {{ end }}
+ {{ end }}
+ {{ if $result }}
+ {{ return $result }}
+ {{ else }}
+ {{ errorf "Param %s is undefined in style %s" (delimit $.path ".") $.context.Site.Params.style }}
+ {{ end }}
+{{ else }}
+ {{ errorf "Could not find colors section in style %s." .context.Site.Params.style }}
+{{ end }}
diff --git a/layouts/partials/utils/get-style-fonts.html b/layouts/partials/utils/get-style-fonts.html
new file mode 100644
index 0000000..f47916e
--- /dev/null
+++ b/layouts/partials/utils/get-style-fonts.html
@@ -0,0 +1,12 @@
+{{ $style := (index .context.Site.Data.styles (.context.Site.Params.style | default "default")) }}
+{{ $result := slice }}
+{{ range $style.fonts }}
+ {{ $item := index . $.param }}
+ {{ if $item }}
+ {{ $result = $result | append $item }}
+ {{ end }}
+{{ else }}
+ {{/* TODO: use realtime location */}}
+ {{ errorf "Could not find fonts section in style %s." .context.Site.Params.style }}
+{{ end }}
+{{ return $result }}
diff --git a/layouts/partials/utils/get-summary.html b/layouts/partials/utils/get-summary.html
new file mode 100644
index 0000000..367075b
--- /dev/null
+++ b/layouts/partials/utils/get-summary.html
@@ -0,0 +1,38 @@
+