Browse Source

Initial website import and setup

pull/11/head
KemoNine 9 months ago
commit
87438868af
Signed by: KemoNine <kemonine@kemonine.info> GPG Key ID: 331B7E1107F99137
73 changed files with 3555 additions and 0 deletions
  1. 6
    0
      archetypes/default.md
  2. 1
    0
      build.sh
  3. 54
    0
      config.toml
  4. 11
    0
      content/_index.md
  5. 18
    0
      content/page/contact.md
  6. 15
    0
      content/post/2018-06-12-first-post.md
  7. 0
    0
      data/.gitkeep
  8. 0
    0
      layouts/.gitkeep
  9. 0
    0
      static/.gitkeep
  10. 22
    0
      themes/beautifulhugo/LICENSE
  11. 130
    0
      themes/beautifulhugo/README.md
  12. 6
    0
      themes/beautifulhugo/archetypes/default.md
  13. 155
    0
      themes/beautifulhugo/data/beautifulhugo/social.toml
  14. 64
    0
      themes/beautifulhugo/i18n/br.yaml
  15. 66
    0
      themes/beautifulhugo/i18n/de.yaml
  16. 66
    0
      themes/beautifulhugo/i18n/en.yaml
  17. 64
    0
      themes/beautifulhugo/i18n/eo.yaml
  18. 67
    0
      themes/beautifulhugo/i18n/es.yaml
  19. 64
    0
      themes/beautifulhugo/i18n/fr.yaml
  20. 66
    0
      themes/beautifulhugo/i18n/it.yaml
  21. 66
    0
      themes/beautifulhugo/i18n/ja.yaml
  22. 66
    0
      themes/beautifulhugo/i18n/nb.yaml
  23. 64
    0
      themes/beautifulhugo/i18n/nl.yaml
  24. 67
    0
      themes/beautifulhugo/i18n/pl.yaml
  25. 68
    0
      themes/beautifulhugo/i18n/ru.yaml
  26. 67
    0
      themes/beautifulhugo/i18n/zh.yaml
  27. 0
    0
      themes/beautifulhugo/images/.gitkeep
  28. 11
    0
      themes/beautifulhugo/layouts/404.html
  29. 11
    0
      themes/beautifulhugo/layouts/_default/baseof.html
  30. 79
    0
      themes/beautifulhugo/layouts/_default/list.html
  31. 58
    0
      themes/beautifulhugo/layouts/_default/single.html
  32. 39
    0
      themes/beautifulhugo/layouts/_default/terms.html
  33. 11
    0
      themes/beautifulhugo/layouts/index.html
  34. 7
    0
      themes/beautifulhugo/layouts/partials/disqus.html
  35. 115
    0
      themes/beautifulhugo/layouts/partials/footer.html
  36. 4
    0
      themes/beautifulhugo/layouts/partials/footer_custom.html
  37. 68
    0
      themes/beautifulhugo/layouts/partials/head.html
  38. 4
    0
      themes/beautifulhugo/layouts/partials/head_custom.html
  39. 70
    0
      themes/beautifulhugo/layouts/partials/header.html
  40. 59
    0
      themes/beautifulhugo/layouts/partials/load-photoswipe-theme.html
  41. 96
    0
      themes/beautifulhugo/layouts/partials/nav.html
  42. 36
    0
      themes/beautifulhugo/layouts/partials/post_meta.html
  43. 75
    0
      themes/beautifulhugo/layouts/partials/share-links.html
  44. 93
    0
      themes/beautifulhugo/layouts/partials/staticman-comments.html
  45. 2
    0
      themes/beautifulhugo/layouts/partials/translation_link.html
  46. 29
    0
      themes/beautifulhugo/layouts/shortcodes/figure.html
  47. 40
    0
      themes/beautifulhugo/layouts/shortcodes/gallery.html
  48. 6
    0
      themes/beautifulhugo/static/css/bootstrap.min.css
  49. 9
    0
      themes/beautifulhugo/static/css/codeblock.css
  50. 1
    0
      themes/beautifulhugo/static/css/highlight.min.css
  51. 157
    0
      themes/beautifulhugo/static/css/hugo-easy-gallery.css
  52. 1
    0
      themes/beautifulhugo/static/css/katex.min.css
  53. 13
    0
      themes/beautifulhugo/static/css/main-minimal.css
  54. 721
    0
      themes/beautifulhugo/static/css/main.css
  55. 91
    0
      themes/beautifulhugo/static/css/staticman.css
  56. 65
    0
      themes/beautifulhugo/static/css/syntax.css
  57. BIN
      themes/beautifulhugo/static/img/404.png
  58. BIN
      themes/beautifulhugo/static/img/avatar-favicon.png
  59. BIN
      themes/beautifulhugo/static/img/avatar-icon.png
  60. BIN
      themes/beautifulhugo/static/img/favicon.ico
  61. BIN
      themes/beautifulhugo/static/img/favicon.ico.zip
  62. 1
    0
      themes/beautifulhugo/static/js/auto-render.min.js
  63. 7
    0
      themes/beautifulhugo/static/js/bootstrap.min.js
  64. 2
    0
      themes/beautifulhugo/static/js/highlight.min.js
  65. 5
    0
      themes/beautifulhugo/static/js/jquery.min.js
  66. 4
    0
      themes/beautifulhugo/static/js/katex.min.js
  67. 74
    0
      themes/beautifulhugo/static/js/load-photoswipe.js
  68. 152
    0
      themes/beautifulhugo/static/js/main.js
  69. 4
    0
      themes/beautifulhugo/static/js/photoswipe-ui-default.min.js
  70. 4
    0
      themes/beautifulhugo/static/js/photoswipe.min.js
  71. 1
    0
      themes/beautifulhugo/static/js/recaptcha.js
  72. 40
    0
      themes/beautifulhugo/static/js/staticman.js
  73. 17
    0
      themes/beautifulhugo/theme.toml

+ 6
- 0
archetypes/default.md View File

@@ -0,0 +1,6 @@
1
+---
2
+title: "{{ replace .Name "-" " " | title }}"
3
+date: {{ .Date }}
4
+draft: true
5
+---
6
+

+ 1
- 0
build.sh View File

@@ -0,0 +1 @@
1
+GIT_COMMIT_SHA=`git rev-parse --verify HEAD` GIT_COMMIT_SHA_SHORT=`git rev-parse --short HEAD` hugo build

+ 54
- 0
config.toml View File

@@ -0,0 +1,54 @@
1
+title = "Lollipop Cloud"
2
+
3
+baseURL = "http://127.0.0.1/"
4
+languageCode = "en-us"
5
+theme = "beautifulhugo"
6
+disableHugoGeneratorInject = true
7
+enableGitInfo = true
8
+enableRobotsTXT = true
9
+log = true
10
+verbose = true
11
+verboaseLog = true
12
+
13
+[permalinks]
14
+  post = "/post/:year/:month/:title/"
15
+
16
+[sitemap]
17
+  changefreq = "weekly"
18
+  filename = "sitemap.xml"
19
+  priority = 0.5
20
+
21
+[Params]
22
+  homeTitle = "Lollipop Cloud"
23
+  subtitle = "Cheap, easy, self-hosted clouds for *everyone*"
24
+  logo = "img/avatar-icon.png"
25
+  favicon = "img/favicon.ico"
26
+  dateFormat = "2006/01/02"
27
+  commit = "https://git.lollipop.holdmybeer.solutions/lollipop-cloud/website"
28
+  rss = true
29
+  comments = false
30
+  readingTime = true
31
+  useHLJS = true
32
+  socialShare = false
33
+  #[[piwik]]
34
+  #  server = "https://piwik.lollipop.holdmybeer.solutions"
35
+  #  id = 1
36
+
37
+[Author]
38
+  name = "Official"
39
+  website = "https://lollipop.holdmybeer.solutions"
40
+  email = "cloud@lollipop.holdmybeer.solutions"
41
+  #liberapay = "username"
42
+  #patreon = "username"
43
+  #paypal = "username"
44
+  #activitypub = "https://social.holdmybeer.solutions/users/KemoNine"
45
+  git = "https://git.lollipop.holdmybeer.solutions"
46
+  #keybase = "username"
47
+
48
+[menu]
49
+  [[menu.main]]
50
+    name = "Blog"
51
+    url = "/post/"
52
+  [[menu.main]]
53
+    name = "Contact Us"
54
+    url = "page/contact/"

+ 11
- 0
content/_index.md View File

@@ -0,0 +1,11 @@
1
+# What is 'The Lollipop Cloud project'?
2
+
3
+- The 'Lollipop Cloud' is born of a desire to self host when nomadic, facilitating sync when 'in the jungle' or just wanting to leave the various corporate clouds that harvest your data.
4
+- It's an attempt to lower the friction of self hosting. Preferably on Raspberry Pi's, Orange Pi's and other lean, small ARM mini-computer boards.
5
+- It's an attempt to empower *users* so you can control your own destiny online.
6
+- It's Open Source
7
+- A cloud in a very small box is the goal. A box the size of a credit card or as big as a rack mount server. YOU decide.
8
+
9
+# Getting Involved
10
+
11
+If your daring the current public 'stuff' is at on our Gitea instance [here (link)](http://git.lollipop.holdmybeer.solutions/).

+ 18
- 0
content/page/contact.md View File

@@ -0,0 +1,18 @@
1
+---
2
+title: Contact
3
+subtitle: Hello, Lollipop Cloud ; How can we help?
4
+---
5
+
6
+# Getting In Touch
7
+
8
+If you'd like to get in touch withe the Lollipop Cloud team members we have a few different options for you. Please see the below for different ways to get in touch.
9
+
10
+# <i class="fa fa-globe" aria-hidden="true"></i> Matrix
11
+
12
+We currently run an open general chat room on the Matrix network. The room is at ```#general:lollipop.holdmybeer.solutions```.
13
+
14
+If you don't have a Matrix account and would like to connect as a guest via your browser you can head to [https://riot.im/app/#/room/#general:lollipop.holdmybeer.solutions](https://riot.im/app/#/room/#general:lollipop.holdmybeer.solutions) with your favorite browser to get in touch.
15
+
16
+# <i class="fa fa-xmpp" aria-hidden="true"></i> XMPP
17
+
18
+We currently run an open MUC general chat room on the XMPP network. The room is ```general@muc.lollipop.holdmybeer.solutions``` and you can connect with your preferred XMPP client and account.

+ 15
- 0
content/post/2018-06-12-first-post.md View File

@@ -0,0 +1,15 @@
1
+---
2
+title: "Hello There"
3
+subtitle: "We're live"
4
+date: 2018-06-12
5
+#tags: [helloworld]
6
+#draft: true
7
+---
8
+
9
+I've been working on a self-hosted cloud that's rarely online (only to get updates really) as well as provide services for myself and others while 'disconnected'. Services like contacts sync, calendar sync, file synce, backups, ad blocking and more.
10
+
11
+As I've worked on the project a few very amazing folks have made suggestions about how it could be used to lower the barrier of 'just self host' for a LOT of people floating around the internet.
12
+
13
+After some thinking and quiet time I realized it's time to make this a real project.
14
+
15
+More will be posted as the project comes online.

+ 0
- 0
data/.gitkeep View File


+ 0
- 0
layouts/.gitkeep View File


+ 0
- 0
static/.gitkeep View File


+ 22
- 0
themes/beautifulhugo/LICENSE View File

@@ -0,0 +1,22 @@
1
+The MIT License (MIT)
2
+
3
+Original work Copyright (c) 2015 Dean Attali
4
+Modified work Copyright (c) 2017 Michael Romero
5
+
6
+Permission is hereby granted, free of charge, to any person obtaining a copy
7
+of this software and associated documentation files (the "Software"), to deal
8
+in the Software without restriction, including without limitation the rights
9
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+copies of the Software, and to permit persons to whom the Software is
11
+furnished to do so, subject to the following conditions:
12
+
13
+The above copyright notice and this permission notice shall be included in all
14
+copies or substantial portions of the Software.
15
+
16
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+SOFTWARE.

+ 130
- 0
themes/beautifulhugo/README.md View File

@@ -0,0 +1,130 @@
1
+# Beautiful Hugo - A port of Beautiful Jekyll Theme
2
+
3
+![Beautiful Hugo Theme Screenshot](https://github.com/halogenica/beautifulhugo/blob/master/images/screenshot.png)
4
+
5
+## Installation
6
+
7
+    $ mkdir themes
8
+    $ cd themes
9
+    $ git clone https://github.com/halogenica/beautifulhugo.git beautifulhugo
10
+
11
+See [the Hugo documentation](https://gohugo.io/themes/installing/) for more information.
12
+
13
+## Extra Features
14
+
15
+### Responsive
16
+
17
+This theme is designed to look great on both large-screen and small-screen (mobile) devices.
18
+
19
+### Syntax highlighting
20
+
21
+This theme has support for either Hugo's lightning fast Chroma, or both server side and client side highlighting. See [the Hugo docs for more](https://gohugo.io/content-management/syntax-highlighting/).
22
+
23
+#### Chroma - New server side syntax highlighting
24
+
25
+To enable Chroma, add the following to your site parameters:
26
+
27
+```
28
+pygmentsCodeFences = true
29
+pygmentsUseClasses = true
30
+```
31
+
32
+Then, you can generate a different style by running:
33
+
34
+```
35
+hugo gen chromastyles --style=trac > static/css/syntax.css
36
+```
37
+
38
+#### Pygments - Old server side syntax highlighting
39
+
40
+To use this feature install Pygments (`pip install Pygments`) and add the following to your site parameters:
41
+
42
+```
43
+pygmentsStyle = "trac"
44
+pygmentsUseClassic = true
45
+```
46
+
47
+Pygments is mostly compatable with the newer Chroma. It is slower but has some additional theme options. I recommend Chroma over Pygments.
48
+
49
+#### Highlight.js - Client side syntax highlighting
50
+```
51
+[Params]
52
+    useHLJS = true
53
+```
54
+
55
+Client side highlighting does not require pygments to be installed. This will use `highlight.min.css` instead of `syntax.css` for highlighting (effectively disabling Chroma). Highlight.js has a wider range of support for languages and themes, and an alternative highlighting engine.
56
+
57
+### Disqus support
58
+
59
+To use this feature, uncomment and fill out the `disqusShortname` parameter in `config.toml`.
60
+
61
+### Staticman support
62
+
63
+Add *staticman* configuration section in `config.toml` or `config.yaml`
64
+
65
+Sample `config.yaml` configuration
66
+
67
+```
68
+  staticman:
69
+    api: https://api.staticman.net/v2/entry/<USERNAME>/<REPOSITORY-BLOGNAME>/master/comments
70
+    pulls: https://github.com/<USERNAME>/<REPOSITORY-BLOGNAME>/pulls
71
+    recaptcha:
72
+      sitekey: "6LeGeTgUAAAAAAqVrfTwox1kJQFdWl-mLzKasV0v"
73
+      secret: "hsGjWtWHR4HK4pT7cUsWTArJdZDxxE2pkdg/ArwCguqYQrhuubjj3RS9C5qa8xu4cx/Y9EwHwAMEeXPCZbLR9eW1K9LshissvNcYFfC/b8KKb4deH4V1+oqJEk/JcoK6jp6Rr2nZV4rjDP9M7nunC3WR5UGwMIYb8kKhur9pAic="
74
+```
75
+
76
+You must also configure the `staticman.yml` in you blog website.
77
+
78
+```
79
+comments:
80
+  allowedFields: ["name", "email", "website", "comment"]
81
+  branch            : "master"
82
+  commitMessage     : "New comment in {options.slug}"
83
+  path: "data/comments/{options.slug}"
84
+  filename          : "comment-{@timestamp}"
85
+  format            : "yaml"
86
+  moderation        : true
87
+  requiredFields    : ['name', 'email', 'comment']
88
+  transforms:
89
+    email           : md5
90
+  generatedFields:
91
+    date:
92
+      type          : "date"
93
+      options:
94
+        format      : "iso8601"
95
+  reCaptcha:
96
+    enabled: true
97
+    siteKey: "6LeGeTgUAAAAAAqVrfTwox1kJQFdWl-mLzKasV0v"
98
+    secret: "hsGjWtWHR4HK4pT7cUsWTArJdZDxxE2pkdg/ArwCguqYQrhuubjj3RS9C5qa8xu4cx/Y9EwHwAMEeXPCZbLR9eW1K9LshissvNcYFfC/b8KKb4deH4V1+oqJEk/JcoK6jp6Rr2nZV4rjDP9M7nunC3WR5UGwMIYb8kKhur9pAic="
99
+```
100
+
101
+
102
+
103
+### Google Analytics
104
+
105
+To add Google Analytics, simply sign up to [Google Analytics](https://www.google.com/analytics/) to obtain your Google Tracking ID, and add this tracking ID to the `googleAnalytics` parameter in `config.toml`.
106
+
107
+### Commit SHA on the footer
108
+
109
+If the source of your site is in a Git repo, the SHA corresponding to the commit the site is built from can be shown on the footer. To do so, two environment variables have to be set (`GIT_COMMIT_SHA` and `GIT_COMMIT_SHA_SHORT`) and parameter `commit` has to be defined in the config file:
110
+
111
+```
112
+[Params]
113
+  commit = "https://github.com/<username>/<siterepo>/tree/"
114
+```
115
+  
116
+This can be achieved by running the next command prior to calling Hugo:
117
+
118
+```
119
+  GIT_COMMIT_SHA=`git rev-parse --verify HEAD` GIT_COMMIT_SHA_SHORT=`git rev-parse --short HEAD`
120
+```
121
+  
122
+See at [xor-gate/xor-gate.org](https://github.com/xor-gate/xor-gate.org) an example of how to add it to a continuous integration system.
123
+  
124
+## About
125
+
126
+This is a port of the Jekyll theme [Beautiful Jekyll](https://deanattali.com/beautiful-jekyll/) by [Dean Attali](https://deanattali.com/aboutme#contact). It supports most of the features of the original theme.
127
+
128
+## License
129
+
130
+MIT Licensed, see [LICENSE](https://github.com/halogenica/Hugo-BeautifulHugo/blob/master/LICENSE).

+ 6
- 0
themes/beautifulhugo/archetypes/default.md View File

@@ -0,0 +1,6 @@
1
+---
2
+title: "{{ replace .TranslationBaseName "-" " " | title }}"
3
+date: {{ .Date }}
4
+subtitle: ""
5
+tags: []
6
+---

+ 155
- 0
themes/beautifulhugo/data/beautifulhugo/social.toml View File

@@ -0,0 +1,155 @@
1
+[[social_icons]]
2
+id = "email"
3
+url = "mailto:%s"
4
+title = "Email me"
5
+icon = "fa-envelope"
6
+
7
+[[social_icons]]
8
+id = "facebook"
9
+url = "https://www.facebook.com/%s"
10
+title = "Facebook"
11
+icon = "fa-facebook"
12
+
13
+[[social_icons]]
14
+id = "googleplus"
15
+url = "https://plus.google.com/%s"
16
+title = "Google+"
17
+icon = "fa-google-plus"
18
+
19
+[[social_icons]]
20
+id = "activitypub"
21
+url = "%s"
22
+title = "ActivityPub (Mastodon/Pleroma)"
23
+icon = "fa-activitypub"
24
+
25
+[[social_icons]]
26
+id = "git"
27
+url = "%s"
28
+title = "Git"
29
+icon = "fa-git"
30
+
31
+[[social_icons]]
32
+id = "github"
33
+url = "https://github.com/%s"
34
+title = "GitHub"
35
+icon = "fa-github"
36
+
37
+[[social_icons]]
38
+id = "gitlab"
39
+url = "https://gitlab.com/%s"
40
+title = "GitLab"
41
+icon = "fa-gitlab"
42
+
43
+[[social_icons]]
44
+id = "bitbucket"
45
+url = "https://bitbucket.org/%s"
46
+title = "Bitbucket"
47
+icon = "fa-bitbucket"
48
+
49
+[[social_icons]]
50
+id = "twitter"
51
+url = "https://twitter.com/%s"
52
+title = "Twitter"
53
+icon = "fa-twitter"
54
+
55
+[[social_icons]]
56
+id = "reddit"
57
+url = "https://reddit.com/u/%s"
58
+title = "Reddit"
59
+icon = "fa-reddit-alien"
60
+
61
+[[social_icons]]
62
+id = "linkedin"
63
+url = "https://linkedin.com/in/%s"
64
+title = "LinkedIn"
65
+icon = "fa-linkedin"
66
+
67
+[[social_icons]]
68
+id = "xing"
69
+url = "https://www.xing.com/profile/%s"
70
+title = "Xing"
71
+icon = "fa-xing"
72
+
73
+[[social_icons]]
74
+id = "stackoverflow"
75
+url = "https://stackoverflow.com/%s"
76
+title = "StackOverflow"
77
+icon = "fa-stack-overflow"
78
+
79
+[[social_icons]]
80
+id = "snapchat"
81
+url = "https://www.snapchat.com/add/%s"
82
+title = "Snapchat"
83
+icon = "fa-snapchat-ghost"
84
+
85
+[[social_icons]]
86
+id = "instagram"
87
+url = "https://www.instagram.com/%s"
88
+title = "Instagram"
89
+icon = "fa-instagram"
90
+
91
+[[social_icons]]
92
+id = "youtube"
93
+url = "https://www.youtube.com/%s"
94
+title = "Youtube"
95
+icon = "fa-youtube"
96
+
97
+[[social_icons]]
98
+id = "soundcloud"
99
+url = "https://soundcloud.com/%s"
100
+title = "SoundCloud"
101
+icon = "fa-soundcloud"
102
+
103
+[[social_icons]]
104
+id = "spotify"
105
+url = "https://open.spotify.com/user/%s"
106
+title = "Spotify"
107
+icon = "fa-spotify"
108
+
109
+[[social_icons]]
110
+id = "bandcamp"
111
+url = "https://%s.bandcamp.com/"
112
+title = "Bandcamp"
113
+icon = "fa-bandcamp"
114
+
115
+[[social_icons]]
116
+id = "itchio"
117
+url = "https://itch.io/profile/%s"
118
+title = "Itch.io"
119
+icon = "fa-gamepad"
120
+
121
+[[social_icons]]
122
+id = "keybase"
123
+url = "https://keybase.io/%s"
124
+title = "Keybase"
125
+icon = "fa-key"
126
+
127
+[[social_icons]]
128
+id = "vk"
129
+url = "https://vk.com/%s"
130
+title = "VK"
131
+icon = "fa-vk"
132
+
133
+[[social_icons]]
134
+id = "liberapay"
135
+url = "https://liberapay.com/%s"
136
+title = "Liberapay"
137
+icon = "fa-liberapay"
138
+
139
+[[social_icons]]
140
+id = "patreon"
141
+url = "https://www.patreon.com/%s"
142
+title = "Patreon"
143
+icon = "fa-patreon"
144
+
145
+[[social_icons]]
146
+id = "paypal"
147
+url = "https://paypal.me/%s"
148
+title = "PayPal"
149
+icon = "fa-paypal"
150
+
151
+[[social_icons]]
152
+id = "telegram"
153
+url = "https://telegram.me/%s"
154
+title = "Telegram"
155
+icon = "fa-telegram"

+ 64
- 0
themes/beautifulhugo/i18n/br.yaml View File

@@ -0,0 +1,64 @@
1
+# Content
2
+- id: dateFormat
3
+  translation: "2 de Janeiro de 2006"
4
+- id: shortdateFormat
5
+  translation: "02/Jan/2006 15:04:05"
6
+- id: postedOnDate
7
+  translation: "Postado em {{ .Count }}"
8
+- id: lastModified
9
+  translation: "(Ultima modificação em {{ .Count }})"
10
+- id: translationsLabel
11
+  translation: "Outras linguagens: "
12
+- id: translationsSeparator
13
+  translation: ", "
14
+- id: readMore
15
+  translation: "Saiba mais"
16
+- id: olderPosts
17
+  translation: "Posts antigos"
18
+- id: newerPosts
19
+  translation: "Posts novos"
20
+- id: previousPost
21
+  translation: "Post anterior"
22
+- id: nextPost
23
+  translation: "Próximo Post"
24
+- id: readTime
25
+  translation: "minutos"
26
+- id: words
27
+  translation: "palavras"
28
+
29
+
30
+# 404 page
31
+- id: pageNotFound
32
+  translation: "Opa, a página não existe"
33
+
34
+# Footer
35
+- id: poweredBy # Accepts HTML
36
+  translation: '<a href="http://gohugo.io">Hugo v{{ .Hugo.Version }}</a> powered &nbsp;&bull;&nbsp; Tema por <a href="http://deanattali.com/beautiful-jekyll/">Beautiful Jekyll</a> adaptado para <a href="https://github.com/halogenica/beautifulhugo">Beautiful Hugo</a>'
37
+
38
+# Navigation
39
+- id: toggleNavigation
40
+  translation: "Ver navegação"
41
+- id: languageSwitcherLabel
42
+  translation: "Idioma"
43
+- id: gcseLabelShort
44
+  translation: "Buscar"
45
+- id: gcseLabelLong
46
+  translation: "Buscar {{ .Site.Title }}"
47
+- id: gcseClose
48
+  translation: "Fechar"
49
+
50
+# Staticman
51
+- id: noComment
52
+  translation: "Sem comentários"
53
+- id: oneComment
54
+  translation: "comentário"
55
+- id: moreComment
56
+  translation: "comentários"
57
+- id: useMarkdown
58
+  translation: "Você pode usar sintaxe MarkDown"
59
+- id: yourName
60
+  translation: "Seu nome"
61
+- id: yourEmail
62
+  translation: "Seu email"
63
+- id: yourWebsite
64
+  translation: "Seu website"

+ 66
- 0
themes/beautifulhugo/i18n/de.yaml View File

@@ -0,0 +1,66 @@
1
+# Content
2
+- id: dateFormat
3
+  translation: "02.01.2006"
4
+- id: shortdateFormat
5
+  translation: "2 Jan, 2006 15:04:05"
6
+- id: postedOnDate
7
+  translation: "Gepostet am {{ .Count }}"
8
+- id: lastModified
9
+  translation: "(Zuletzt geändert am {{ .Count }})"
10
+- id: translationsLabel
11
+  translation: "Andere Sprachen: "
12
+- id: translationsSeparator
13
+  translation: ", "
14
+- id: readMore
15
+  translation: "Mehr"
16
+- id: olderPosts
17
+  translation: "Ältere Posts"
18
+- id: newerPosts
19
+  translation: "Neuere Posts"
20
+- id: previousPost
21
+  translation: "Letzter Post"
22
+- id: nextPost
23
+  translation: "Nächster Post"
24
+- id: readTime
25
+  translation: "Minuten"
26
+- id: words
27
+  translation: "Wörter"
28
+
29
+
30
+# 404 page
31
+- id: pageNotFound
32
+  translation: "Ups, diese Seite existiert nicht. (404 Error)"
33
+
34
+# Footer
35
+- id: poweredBy # Accepts HTML
36
+  translation: '<a href="http://gohugo.io">Hugo v{{ .Hugo.Version }}</a> powered &nbsp;&bull;&nbsp; Theme by <a href="http://deanattali.com/beautiful-jekyll/">Beautiful Jekyll</a> adapted to <a href="https://github.com/halogenica/beautifulhugo">Beautiful Hugo</a>'
37
+
38
+# Navigation
39
+- id: toggleNavigation
40
+  translation: "Navigation"
41
+- id: languageSwitcherLabel
42
+  translation: "Sprache"
43
+- id: gcseLabelShort
44
+  translation: "Suche"
45
+- id: gcseLabelLong
46
+  translation: "Suche {{ .Site.Title }}"
47
+- id: gcseClose
48
+  translation: "Schließen"
49
+
50
+# Staticman
51
+- id: noComment
52
+  translation: "No comment"
53
+- id: oneComment
54
+  translation: "comment"
55
+- id: moreComment
56
+  translation: "comments"
57
+- id: useMarkdown
58
+  translation: "You can use Markdown syntax"
59
+- id: yourName
60
+  translation: "Your name"
61
+- id: yourEmail
62
+  translation: "Your email address"
63
+- id: yourWebsite
64
+  translation: "You website"
65
+
66
+

+ 66
- 0
themes/beautifulhugo/i18n/en.yaml View File

@@ -0,0 +1,66 @@
1
+# Content
2
+- id: dateFormat
3
+  translation: "January 2, 2006"
4
+- id: shortdateFormat
5
+  translation: "Jan 2, 2006 15:04:05"
6
+- id: postedOnDate
7
+  translation: "Posted on {{ .Count }}"
8
+- id: lastModified
9
+  translation: "(Last modified on {{ .Count }})"
10
+- id: translationsLabel
11
+  translation: "Other languages: "
12
+- id: translationsSeparator
13
+  translation: ", "
14
+- id: readMore
15
+  translation: "Read More"
16
+- id: olderPosts
17
+  translation: "Older Posts"
18
+- id: newerPosts
19
+  translation: "Newer Posts"
20
+- id: previousPost
21
+  translation: "Previous Post"
22
+- id: nextPost
23
+  translation: "Next Post"
24
+- id: readTime
25
+  translation: "minutes"
26
+- id: words
27
+  translation: "words"
28
+
29
+
30
+# 404 page
31
+- id: pageNotFound
32
+  translation: "Whoops, this page doesn't exist. Move along. (404 error)"
33
+
34
+# Footer
35
+- id: poweredBy # Accepts HTML
36
+  translation: '<a href="http://gohugo.io">Hugo v{{ .Hugo.Version }}</a> powered &nbsp;&bull;&nbsp; Theme by <a href="http://deanattali.com/beautiful-jekyll/">Beautiful Jekyll</a> adapted to <a href="https://github.com/halogenica/beautifulhugo">Beautiful Hugo</a>'
37
+
38
+# Navigation
39
+- id: toggleNavigation
40
+  translation: "Toggle navigation"
41
+- id: languageSwitcherLabel
42
+  translation: "Language"
43
+- id: gcseLabelShort
44
+  translation: "Search"
45
+- id: gcseLabelLong
46
+  translation: "Search {{ .Site.Title }}"
47
+- id: gcseClose
48
+  translation: "Close"
49
+
50
+# Staticman
51
+- id: noComment
52
+  translation: "No comment"
53
+- id: oneComment
54
+  translation: "comment"
55
+- id: moreComment
56
+  translation: "comments"
57
+- id: useMarkdown
58
+  translation: "You can use Markdown syntax"
59
+- id: yourName
60
+  translation: "Your name"
61
+- id: yourEmail
62
+  translation: "Your email address"
63
+- id: yourWebsite
64
+  translation: "You website"
65
+
66
+

+ 64
- 0
themes/beautifulhugo/i18n/eo.yaml View File

@@ -0,0 +1,64 @@
1
+# Content
2
+- id: dateFormat
3
+  translation: "2006-01-02"
4
+- id: shortdateFormat
5
+  translation: "2 Jan, 2006 15:04:05"
6
+- id: postedOnDate
7
+  translation: "Afiŝiĝis je {{ .Count }}"
8
+- id: lastModified
9
+  translation: "(Laste aliiĝis je {{ .Count }})"
10
+- id: translationsLabel
11
+  translation: "Aliaj lingvoj: "
12
+- id: translationsSeparator
13
+  translation: ", "
14
+- id: readMore
15
+  translation: "Legi pli"
16
+- id: olderPosts
17
+  translation: "Plimalnovaj afiŝoj"
18
+- id: newerPosts
19
+  translation: "Plinovaj afiŝoj"
20
+- id: previousPost
21
+  translation: "Antaŭa afiŝo"
22
+- id: nextPost
23
+  translation: "Sekva afiŝo"
24
+- id: readTime
25
+  translation: "minutoj"
26
+- id: words
27
+  translation: "vortoj"
28
+
29
+
30
+# 404 page
31
+- id: pageNotFound
32
+  translation: "Ups, ĉi tiu paĝo ne ekzistas. (404 Error)"
33
+
34
+# Footer
35
+- id: poweredBy # Accepts HTML
36
+  translation: '<a href="http://gohugo.io">Hugo v{{ .Hugo.Version }}</a>-povigita &nbsp;&bull;&nbsp; Haŭto de <a href="http://deanattali.com/beautiful-jekyll/">Beautiful Jekyll</a> adaptiĝis al <a href="https://github.com/halogenica/beautifulhugo">Beautiful Hugo</a>'
37
+
38
+# Navigation
39
+- id: toggleNavigation
40
+  translation: "Navigacio"
41
+- id: languageSwitcherLabel
42
+  translation: "Lingvo"
43
+- id: gcseLabelShort
44
+  translation: "Serĉi"
45
+- id: gcseLabelLong
46
+  translation: "Serĉi {{ .Site.Title }}"
47
+- id: gcseClose
48
+  translation: "Fermi"
49
+
50
+# Staticman
51
+- id: noComment
52
+  translation: "Sen komentoj"
53
+- id: oneComment
54
+  translation: "komento"
55
+- id: moreComment
56
+  translation: "komentoj"
57
+- id: useMarkdown
58
+  translation: "Vi povus uzi Markdown-sintakson"
59
+- id: yourName
60
+  translation: "Via nomo"
61
+- id: yourEmail
62
+  translation: "Via retpoŝtadreso"
63
+- id: yourWebsite
64
+  translation: "Via retpaĝaro"

+ 67
- 0
themes/beautifulhugo/i18n/es.yaml View File

@@ -0,0 +1,67 @@
1
+# Content
2
+- id: dateFormat
3
+  translation: "2 de enero, 2006"
4
+- id: shortdateFormat
5
+  translation: "2 Jan, 2006 15:04:05"
6
+- id: postedOnDate
7
+  translation: "Publicado el {{ .Count }}"
8
+- id: lastModified
9
+  translation: "(Última modificación en {{ .Count }})"
10
+- id: translationsLabel
11
+  translation: "Otros idiomas: "
12
+- id: translationsSeparator
13
+  translation: ", "
14
+- id: readMore
15
+  translation: "Leer más"
16
+- id: olderPosts
17
+  translation: "Artículos anteriores"
18
+- id: newerPosts
19
+  translation: "Artículos siguientes"
20
+- id: previousPost
21
+  translation: "Artículo anterior"
22
+- id: nextPost
23
+  translation: "Artículo siguiente"
24
+- id: readTime
25
+  translation: "minutos"
26
+- id: words
27
+  translation: "palabras"
28
+
29
+
30
+# 404 page
31
+- id: pageNotFound
32
+  translation: "¡Vaya! Esta página no existe (error 404)"
33
+
34
+# Footer
35
+- id: poweredBy # Accepts HTML
36
+  translation: '<a href="http://gohugo.io">Hugo v{{ .Hugo.Version }}</a> powered &nbsp;&bull;&nbsp; Theme by <a href="http://deanattali.com/beautiful-jekyll/">Beautiful Jekyll</a> adapted to <a href="https://github.com/halogenica/beautifulhugo">Beautiful Hugo</a>'
37
+
38
+# Navigation
39
+- id: toggleNavigation
40
+  translation: "Conmuta navegación"
41
+- id: languageSwitcherLabel
42
+  translation: "Idioma"
43
+- id: gcseLabelShort
44
+  translation: "Buscar"
45
+- id: gcseLabelLong
46
+  translation: "Buscar en {{ .Site.Title }}"
47
+- id: gcseClose
48
+  translation: "Cerrar"
49
+
50
+# Staticman
51
+- id: noComment
52
+  translation: "No comment"
53
+- id: oneComment
54
+  translation: "comment"
55
+- id: moreComment
56
+  translation: "comments"
57
+- id: useMarkdown
58
+  translation: "You can use Markdown syntax"
59
+- id: yourName
60
+  translation: "Your name"
61
+- id: yourEmail
62
+  translation: "Your email address"
63
+- id: yourWebsite
64
+  translation: "You website"
65
+
66
+
67
+

+ 64
- 0
themes/beautifulhugo/i18n/fr.yaml View File

@@ -0,0 +1,64 @@
1
+# Content
2
+- id: dateFormat
3
+  translation: "January 2, 2006"
4
+- id: shortdateFormat
5
+  translation: "2 Jan, 2006 15:04:05"
6
+- id: postedOnDate
7
+  translation: "Posté le {{ .Count }}"
8
+- id: lastModified
9
+  translation: "(Dernière modification le {{ .Count }})"
10
+- id: translationsLabel
11
+  translation: "Autres langues : "
12
+- id: translationsSeparator
13
+  translation: ", "
14
+- id: readMore
15
+  translation: "Voir plus"
16
+- id: olderPosts
17
+  translation: "Anciens posts"
18
+- id: newerPosts
19
+  translation: "Nouveaux posts"
20
+- id: previousPost
21
+  translation: "Post précédent"
22
+- id: nextPost
23
+  translation: "Post suivant"
24
+- id: readTime
25
+  translation: "minutes"
26
+- id: words
27
+  translation: "mots"
28
+
29
+
30
+# 404 page
31
+- id: pageNotFound
32
+  translation: "Ourp, cette page n'existe pas. (erreur 404)"
33
+
34
+# Footer
35
+- id: poweredBy # Accepts HTML
36
+  translation: 'Carbure avec <a href="http://gohugo.io">Hugo v{{ .Hugo.Version }}</a>&nbsp;&bull;&nbsp; Avec le Theme <a href="http://deanattali.com/beautiful-jekyll/">Beautiful Jekyll</a> adapté en <a href="https://github.com/halogenica/beautifulhugo">Beautiful Hugo</a>'
37
+
38
+# Navigation
39
+- id: toggleNavigation
40
+  translation: "Toggle navigation"
41
+- id: languageSwitcherLabel
42
+  translation: "Langue"
43
+- id: gcseLabelShort
44
+  translation: "Rechercher"
45
+- id: gcseLabelLong
46
+  translation: "Rechercher {{ .Site.Title }}"
47
+- id: gcseClose
48
+  translation: "Fermer"
49
+
50
+# Staticman
51
+- id: noComment
52
+  translation: "Pas de commentaire"
53
+- id: oneComment
54
+  translation: "commentaire"
55
+- id: moreComment
56
+  translation: "commentaires"
57
+- id: useMarkdown
58
+  translation: "Vous pouvez utiliser la syntaxe Markdown"
59
+- id: yourName
60
+  translation: "Votre nom"
61
+- id: yourEmail
62
+  translation: "Votre addresse mail"
63
+- id: yourWebsite
64
+  translation: "Votre site web"

+ 66
- 0
themes/beautifulhugo/i18n/it.yaml View File

@@ -0,0 +1,66 @@
1
+# Content
2
+- id: dateFormat
3
+  translation: "2 January 2006"
4
+- id: shortdateFormat
5
+  translation: "2 Jan 2006 15:04:05"
6
+- id: postedOnDate
7
+  translation: "Redatto il {{ .Count }}"
8
+- id: lastModified
9
+  translation: "(Ultima modifica il {{ .Count }})"
10
+- id: translationsLabel
11
+  translation: "Altre lingue: "
12
+- id: translationsSeparator
13
+  translation: ", "
14
+- id: readMore
15
+  translation: "Leggi"
16
+- id: olderPosts
17
+  translation: "Articoli più vecchi"
18
+- id: newerPosts
19
+  translation: "Articoli più recenti"
20
+- id: previousPost
21
+  translation: "Articolo precedente"
22
+- id: nextPost
23
+  translation: "Articolo successivo"
24
+- id: readTime
25
+  translation: "minuti"
26
+- id: words
27
+  translation: "parole"
28
+
29
+
30
+# 404 page
31
+- id: pageNotFound
32
+  translation: "Ops, questa pagina non esiste. (errore 404)"
33
+
34
+# Footer
35
+- id: poweredBy # Accepts HTML
36
+  translation: '<a href="http://gohugo.io">Sviluppato con Hugo v{{ .Hugo.Version }}</a> &nbsp;&bull;&nbsp; Tema: <a href="http://deanattali.com/beautiful-jekyll/">Beautiful Jekyll</a> adattato a <a href="https://github.com/halogenica/beautifulhugo">Beautiful Hugo</a>'
37
+
38
+# Navigation
39
+- id: toggleNavigation
40
+  translation: "Attiva/disattiva la navigazione"
41
+- id: languageSwitcherLabel
42
+  translation: "Linguaggio"
43
+- id: gcseLabelShort
44
+  translation: "Cerca"
45
+- id: gcseLabelLong
46
+  translation: "Cerca {{ .Site.Title }}"
47
+- id: gcseClose
48
+  translation: "Chiudi"
49
+
50
+# Staticman
51
+- id: noComment
52
+  translation: "Nessun commento"
53
+- id: oneComment
54
+  translation: "commento"
55
+- id: moreComment
56
+  translation: "commenti"
57
+- id: useMarkdown
58
+  translation: "Puoi usare la sintassi Markdown"
59
+- id: yourName
60
+  translation: "Il tuo nome"
61
+- id: yourEmail
62
+  translation: "Il tuo indirizzo mail"
63
+- id: yourWebsite
64
+  translation: "Il tuo website"
65
+
66
+

+ 66
- 0
themes/beautifulhugo/i18n/ja.yaml View File

@@ -0,0 +1,66 @@
1
+# Content
2
+- id: dateFormat
3
+  translation: "2006年1月2日"
4
+- id: shortdateFormat
5
+  translation: "2 Jan, 2006 15:04:05"
6
+- id: postedOnDate
7
+  translation: "{{ .Count }}に投稿"
8
+- id: lastModified
9
+  translation: "(最終更新日時{{ .Count }})"
10
+- id: translationsLabel
11
+  translation: "翻訳:"
12
+- id: translationsSeparator
13
+  translation: "・"
14
+- id: readMore
15
+  translation: "続きを読む"
16
+- id: olderPosts
17
+  translation: "古いページ"
18
+- id: newerPosts
19
+  translation: "新しいページ"
20
+- id: previousPost
21
+  translation: "前ページ"
22
+- id: nextPost
23
+  translation: "次ページ"
24
+- id: readTime
25
+  translation: "分間"
26
+- id: words
27
+  translation: "言葉"
28
+
29
+
30
+# 404 page
31
+- id: pageNotFound
32
+  translation: "おっと、このページが存在しない。他にあたってください。(404エラー)"
33
+
34
+# Footer
35
+- id: poweredBy # Accepts HTML
36
+  translation: '起動力に<a href="http://gohugo.io">Hugo v{{ .Hugo.Version }}</a> &nbsp;&bull;&nbsp; テーマに<a href="http://deanattali.com/beautiful-jekyll/">Beautiful Jekyll</a>に基づいている<a href="https://github.com/halogenica/beautifulhugo">Beautiful Hugo</a>'
37
+
38
+# Navigation
39
+- id: toggleNavigation
40
+  translation: "メニューを切り替え"
41
+- id: gcseLabelShort
42
+  translation: "検索"
43
+- id: gcseLabelLong
44
+  translation: "{{ .Site.Title }}を検索"
45
+- id: gcseClose
46
+  translation: "閉じる"
47
+
48
+# Staticman
49
+- id: noComment
50
+  translation: "No comment"
51
+- id: oneComment
52
+  translation: "comment"
53
+- id: moreComment
54
+  translation: "comments"
55
+- id: useMarkdown
56
+  translation: "You can use Markdown syntax"
57
+- id: yourName
58
+  translation: "Your name"
59
+- id: yourEmail
60
+  translation: "Your email address"
61
+- id: yourWebsite
62
+  translation: "You website"
63
+
64
+
65
+
66
+

+ 66
- 0
themes/beautifulhugo/i18n/nb.yaml View File

@@ -0,0 +1,66 @@
1
+# Content
2
+- id: dateFormat
3
+  translation: "02.01.2006"
4
+- id: shortdateFormat
5
+  translation: "2 Jan, 2006 15:04:05"
6
+- id: postedOnDate
7
+  translation: "Postet {{ .Count }}"
8
+- id: lastModified
9
+  translation: "(Sist endret {{ .Count }})"
10
+- id: translationsLabel
11
+  translation: "Andre språk: "
12
+- id: translationsSeparator
13
+  translation: ", "
14
+- id: readMore
15
+  translation: "Les Mer"
16
+- id: olderPosts
17
+  translation: "Eldre Poster"
18
+- id: newerPosts
19
+  translation: "Nyere Poster"
20
+- id: previousPost
21
+  translation: "Forrige Post"
22
+- id: nextPost
23
+  translation: "Neste Post"
24
+- id: readTime
25
+  translation: "minutter"
26
+- id: words
27
+  translation: "ord"
28
+
29
+
30
+# 404 page
31
+- id: pageNotFound
32
+  translation: "Oisann! Denne siden finnes visst ikke. Prøv noe annet. (404 feil)"
33
+
34
+# Footer
35
+- id: poweredBy # Accepts HTML
36
+  translation: 'Kjører på <a href="http://gohugo.io">Hugo v{{ .Hugo.Version }}</a>&nbsp;&bull;&nbsp; Tema fra <a href="http://deanattali.com/beautiful-jekyll/">Beautiful Jekyll</a> tilpasset til <a href="https://github.com/halogenica/beautifulhugo">Beautiful Hugo</a>'
37
+
38
+# Navigation
39
+- id: toggleNavigation
40
+  translation: "Navigasjon på/av"
41
+- id: languageSwitcherLabel
42
+  translation: "Språk"
43
+- id: gcseLabelShort
44
+  translation: "Søk"
45
+- id: gcseLabelLong
46
+  translation: "Søk {{ .Site.Title }}"
47
+- id: gcseClose
48
+  translation: "Lukk"
49
+
50
+# Staticman
51
+- id: noComment
52
+  translation: "Ingen kommentarer"
53
+- id: oneComment
54
+  translation: "kommentar"
55
+- id: moreComment
56
+  translation: "kommentarer"
57
+- id: useMarkdown
58
+  translation: "Du kan bruke Markdown syntax"
59
+- id: yourName
60
+  translation: "Ditt navn"
61
+- id: yourEmail
62
+  translation: "Din e-postadresse"
63
+- id: yourWebsite
64
+  translation: "Din webside"
65
+
66
+

+ 64
- 0
themes/beautifulhugo/i18n/nl.yaml View File

@@ -0,0 +1,64 @@
1
+# Content
2
+- id: dateFormat
3
+  translation: "2006-01-02"
4
+- id: shortdateFormat
5
+  translation: "2 Jan, 2006 15:04:05"
6
+- id: postedOnDate
7
+  translation: "Gepost op {{ .Count }}"
8
+- id: lastModified
9
+  translation: "(Laatst gewijzigd op {{ .Count }})"
10
+- id: translationsLabel
11
+  translation: "Andere talen: "
12
+- id: translationsSeparator
13
+  translation: ", "
14
+- id: readMore
15
+  translation: "Meer lezen"
16
+- id: olderPosts
17
+  translation: "Oudere berichten"
18
+- id: newerPosts
19
+  translation: "Nieuwere berichten"
20
+- id: previousPost
21
+  translation: "Vorige bericht"
22
+- id: nextPost
23
+  translation: "Volgende bericht"
24
+- id: readTime
25
+  translation: "minuten"
26
+- id: words
27
+  translation: "woorden"
28
+
29
+
30
+# 404 page
31
+- id: pageNotFound
32
+  translation: "Oeps, deze pagina bestaat niet. (404 Error)"
33
+
34
+# Footer
35
+- id: poweredBy # Accepts HTML
36
+  translation: '<a href="http://gohugo.io">Hugo v{{ .Hugo.Version }}</a>-aangedreven &nbsp;&bull;&nbsp; Thema door <a href="http://deanattali.com/beautiful-jekyll/">Beautiful Jekyll</a> aangepast voor <a href="https://github.com/halogenica/beautifulhugo">Beautiful Hugo</a>'
37
+
38
+# Navigation
39
+- id: toggleNavigation
40
+  translation: "Navigatie"
41
+- id: languageSwitcherLabel
42
+  translation: "Taal"
43
+- id: gcseLabelShort
44
+  translation: "Zoeken"
45
+- id: gcseLabelLong
46
+  translation: "Zoek {{ .Site.Title }}"
47
+- id: gcseClose
48
+  translation: "Sluiten"
49
+
50
+# Staticman
51
+- id: noComment
52
+  translation: "Geen commentaar"
53
+- id: oneComment
54
+  translation: "reactie"
55
+- id: moreComment
56
+  translation: "reacties"
57
+- id: useMarkdown
58
+  translation: "Je kunt Markdown-syntax gebruiken"
59
+- id: yourName
60
+  translation: "Jouw naam"
61
+- id: yourEmail
62
+  translation: "Jouw e-mailadres"
63
+- id: yourWebsite
64
+  translation: "Jouw website"

+ 67
- 0
themes/beautifulhugo/i18n/pl.yaml View File

@@ -0,0 +1,67 @@
1
+# Content
2
+- id: dateFormat
3
+  translation: "02.01.2006"
4
+- id: shortdateFormat
5
+  translation: "2 Jan, 2006 15:04:05"
6
+- id: postedOnDate
7
+  translation: "Opublikowany {{ .Count }}"
8
+- id: lastModified
9
+  translation: "(Ostatnia modyfikacja {{ .Count }})"
10
+- id: translationsLabel
11
+  translation: "Inne języki: "
12
+- id: translationsSeparator
13
+  translation: ", "
14
+- id: readMore
15
+  translation: "Więcej"
16
+- id: olderPosts
17
+  translation: "Poprzednie wpisy"
18
+- id: newerPosts
19
+  translation: "Następne wpisy"
20
+- id: previousPost
21
+  translation: "Poprzedni"
22
+- id: nextPost
23
+  translation: "Następny"
24
+- id: readTime
25
+  translation: "minuty"
26
+- id: words
27
+  translation: "słowa"
28
+
29
+
30
+# 404 page
31
+- id: pageNotFound
32
+  translation: "Nieprawidłowy adres (błąd 404)"
33
+
34
+# Footer
35
+- id: poweredBy # Accepts HTML
36
+  translation: '<a href="http://gohugo.io">Hugo v{{ .Hugo.Version }}</a> powered &nbsp;&bull;&nbsp; Theme by <a href="http://deanattali.com/beautiful-jekyll/">Beautiful Jekyll</a> adapted to <a href="https://github.com/halogenica/beautifulhugo">Beautiful Hugo</a>'
37
+
38
+# Navigation
39
+- id: toggleNavigation
40
+  translation: "Nawigacja"
41
+- id: languageSwitcherLabel
42
+  translation: "Język"
43
+- id: gcseLabelShort
44
+  translation: "Szukaj"
45
+- id: gcseLabelLong
46
+  translation: "Szukaj {{ .Site.Title }}"
47
+- id: gcseClose
48
+  translation: "Zamknij"
49
+
50
+# Staticman
51
+- id: noComment
52
+  translation: "No comment"
53
+- id: oneComment
54
+  translation: "comment"
55
+- id: moreComment
56
+  translation: "comments"
57
+- id: useMarkdown
58
+  translation: "You can use Markdown syntax"
59
+- id: yourName
60
+  translation: "Your name"
61
+- id: yourEmail
62
+  translation: "Your email address"
63
+- id: yourWebsite
64
+  translation: "You website"
65
+
66
+
67
+

+ 68
- 0
themes/beautifulhugo/i18n/ru.yaml View File

@@ -0,0 +1,68 @@
1
+# Content
2
+- id: dateFormat
3
+  translation: "Январь 2, 2006"
4
+- id: shortdateFormat
5
+  translation: "2 Jan, 2006 15:04:05"
6
+- id: postedOnDate
7
+  translation: "Опубликовано {{ .Count }}"
8
+- id: lastModified
9
+  translation: "(Последнее изменение {{ .Count }})"
10
+- id: translationsLabel
11
+  translation: "Другие языки: "
12
+- id: translationsSeparator
13
+  translation: ", "
14
+- id: readMore
15
+  translation: "Далее"
16
+- id: olderPosts
17
+  translation: "Предыдущие записи"
18
+- id: newerPosts
19
+  translation: "Новые записи"
20
+- id: previousPost
21
+  translation: "Предыдущий"
22
+- id: nextPost
23
+  translation: "Следующий"
24
+- id: readTime
25
+  translation: "минут"
26
+- id: words
27
+  translation: "слова"
28
+
29
+
30
+# 404 page
31
+- id: pageNotFound
32
+  translation: "Уууупс, страница не найдена. Поищите ещё. (ошибка 404)"
33
+
34
+# Footer
35
+- id: poweredBy # Accepts HTML
36
+  translation: 'На базе <a href="http://gohugo.io">Hugo v{{ .Hugo.Version }}</a> &nbsp;&bull;&nbsp; Тема <a href="https://github.com/halogenica/beautifulhugo">Beautiful Hugo</a> на базе <a href="http://deanattali.com/beautiful-jekyll/">Beautiful Jekyll</a>'
37
+
38
+# Navigation
39
+- id: toggleNavigation
40
+  translation: "Навигация"
41
+- id: languageSwitcherLabel
42
+  translation: "Язык"
43
+- id: gcseLabelShort
44
+  translation: "Поиск"
45
+- id: gcseLabelLong
46
+  translation: "Поиск по {{ .Site.Title }}"
47
+- id: gcseClose
48
+  translation: "Закрыть"
49
+
50
+# Staticman
51
+- id: noComment
52
+  translation: "No comment"
53
+- id: oneComment
54
+  translation: "comment"
55
+- id: moreComment
56
+  translation: "comments"
57
+- id: useMarkdown
58
+  translation: "You can use Markdown syntax"
59
+- id: yourName
60
+  translation: "Your name"
61
+- id: yourEmail
62
+  translation: "Your email address"
63
+- id: yourWebsite
64
+  translation: "You website"
65
+
66
+
67
+
68
+

+ 67
- 0
themes/beautifulhugo/i18n/zh.yaml View File

@@ -0,0 +1,67 @@
1
+# Content
2
+- id: dateFormat
3
+  translation: "January 2, 2006"
4
+- id: shortdateFormat
5
+  translation: "2 Jan, 2006 15:04:05"
6
+- id: postedOnDate
7
+  translation: "发表于 {{ .Count }}"
8
+- id: lastModified
9
+  translation: "(上次修改时间 {{ .Count }})"
10
+- id: translationsLabel
11
+  translation: "其它语言: "
12
+- id: translationsSeparator
13
+  translation: ", "
14
+- id: readMore
15
+  translation: "阅读全文"
16
+- id: olderPosts
17
+  translation: "下一页"
18
+- id: newerPosts
19
+  translation: "上一页"
20
+- id: previousPost
21
+  translation: "前一篇"
22
+- id: nextPost
23
+  translation: "后一篇"
24
+- id: readTime
25
+  translation: "分钟"
26
+- id: words
27
+  translation: "个字"
28
+
29
+
30
+# 404 page
31
+- id: pageNotFound
32
+  translation: "啊哦,这篇文章不存在。 (404 错误)"
33
+
34
+# Footer
35
+- id: poweredBy # Accepts HTML
36
+  translation: '由 <a href="http://gohugo.io">Hugo v{{ .Hugo.Version }}</a> 强力驱动 &nbsp;&bull;&nbsp; 主题 <a href="https://github.com/halogenica/beautifulhugo">Beautiful Hugo</a> 移植自 <a href="http://deanattali.com/beautiful-jekyll/">Beautiful Jekyll</a>'
37
+
38
+# Navigation
39
+- id: toggleNavigation
40
+  translation: "切换导航"
41
+- id: languageSwitcherLabel
42
+  translation: "语言"
43
+- id: gcseLabelShort
44
+  translation: "搜索"
45
+- id: gcseLabelLong
46
+  translation: "搜索 {{ .Site.Title }}"
47
+- id: gcseClose
48
+  translation: "关闭"
49
+
50
+# Staticman
51
+- id: noComment
52
+  translation: "No comment"
53
+- id: oneComment
54
+  translation: "comment"
55
+- id: moreComment
56
+  translation: "comments"
57
+- id: useMarkdown
58
+  translation: "You can use Markdown syntax"
59
+- id: yourName
60
+  translation: "Your name"
61
+- id: yourEmail
62
+  translation: "Your email address"
63
+- id: yourWebsite
64
+  translation: "You website"
65
+
66
+
67
+

+ 0
- 0
themes/beautifulhugo/images/.gitkeep View File


+ 11
- 0
themes/beautifulhugo/layouts/404.html View File

@@ -0,0 +1,11 @@
1
+{{ define "header" }}<!-- No header on 404 pages -->{{ end }}
2
+{{ define "main" }}
3
+  <div role="main" class="container main-content">
4
+    <div class="text-center">
5
+      <h1>{{ i18n "pageNotFound" }}</h1>
6
+      <br/>
7
+      <img src="{{ .Site.BaseURL }}/img/404.png" />
8
+    </div>
9
+  </div>
10
+{{ end }}
11
+

+ 11
- 0
themes/beautifulhugo/layouts/_default/baseof.html View File

@@ -0,0 +1,11 @@
1
+<!DOCTYPE html>
2
+<html lang="{{ .Lang }}">
3
+  {{ partial "head.html" . }}
4
+  <body>
5
+    {{ partial "nav.html" . }}
6
+    {{ block "header" . }}{{ partial "header.html" . }}{{ end }}
7
+    {{ block "main" . }}{{ end }}
8
+    {{ partial "footer.html" . }}
9
+  </body>
10
+</html>
11
+

+ 79
- 0
themes/beautifulhugo/layouts/_default/list.html View File

@@ -0,0 +1,79 @@
1
+{{ define "header" }}
2
+  <header class="header-section ">
3
+    <div class="intro-header no-img">
4
+      <div class="container">
5
+        <div class="row">
6
+          <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
7
+            <div class="page-heading">
8
+              <h1>{{ if .Data.Singular }}#{{ end }}{{ .Title }}</h1>
9
+              <hr class="small">
10
+            </div>
11
+          </div>
12
+        </div>
13
+      </div>
14
+    </div>
15
+  </header>
16
+{{ end }}
17
+{{ define "main" }}
18
+  <div class="container" role="main">
19
+    <div class="row">
20
+      <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
21
+        {{ with .Content }}
22
+          <div class="well">
23
+            {{.}}
24
+          </div>
25
+        {{ end }}
26
+        <div class="posts-list">
27
+          {{ range .Paginator.Pages }}
28
+            <article class="post-preview">
29
+              <a href="{{ .Permalink }}">
30
+                <h2 class="post-title">{{ .Title }}</h2>
31
+
32
+                {{ if .Params.subtitle }}
33
+                  <h3 class="post-subtitle">
34
+                    {{ .Params.subtitle }}
35
+                  </h3>
36
+                {{ end }}
37
+              </a>
38
+
39
+              <p class="post-meta">
40
+                {{ partial "post_meta.html" . }}
41
+              </p>
42
+              <div class="post-entry">
43
+                {{ if .Truncated }}
44
+                  {{ .Summary }}
45
+                  <a href="{{ .Permalink }}" class="post-read-more">[{{ i18n "readMore" }}]</a>
46
+                {{ else }}
47
+                  {{ .Content }}
48
+                {{ end }}
49
+              </div>
50
+
51
+              {{ if .Params.tags }}
52
+                <div class="blog-tags">
53
+                  {{ range .Params.tags }}
54
+                    <a href="{{ $.Site.LanguagePrefix | absURL }}/tags/{{ . | urlize }}/">{{ . }}</a>&nbsp;
55
+                  {{ end }}
56
+                </div>
57
+              {{ end }}
58
+
59
+            </article>
60
+          {{ end }}
61
+        </div>
62
+        {{ if or (.Paginator.HasPrev) (.Paginator.HasNext) }}
63
+          <ul class="pager main-pager">
64
+            {{ if .Paginator.HasPrev }}
65
+              <li class="previous">
66
+                <a href="{{ .URL }}page/{{ .Paginator.Prev.PageNumber }}/">&larr; {{ i18n "newerPosts" }}</a>
67
+              </li>
68
+            {{ end }}
69
+            {{ if .Paginator.HasNext }}
70
+              <li class="next">
71
+                <a href="{{ .URL }}page/{{ .Paginator.Next.PageNumber }}/">{{ i18n "olderPosts" }} &rarr;</a>
72
+              </li>
73
+            {{ end }}
74
+          </ul>
75
+        {{ end }}
76
+      </div>
77
+    </div>
78
+  </div>
79
+{{ end }}

+ 58
- 0
themes/beautifulhugo/layouts/_default/single.html View File

@@ -0,0 +1,58 @@
1
+{{ define "main" }}
2
+<div class="container" role="main">
3
+  <div class="row">
4
+    <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
5
+      <article role="main" class="blog-post">
6
+        {{ .Content }}
7
+
8
+        {{ if .Params.tags }}
9
+          <div class="blog-tags">
10
+            {{ range .Params.tags }}
11
+              <a href="{{ $.Site.LanguagePrefix | absURL }}/tags/{{ . | urlize }}/">{{ . }}</a>&nbsp;
12
+            {{ end }}
13
+          </div>
14
+        {{ end }}
15
+
16
+        {{ if .Site.Params.socialShare }}
17
+            <hr/>
18
+            <section id="social-share">
19
+              <ul class="list-inline footer-links">
20
+                {{ partial "share-links" . }}
21
+              </ul>
22
+            </section>
23
+        {{ end }}
24
+      </article>
25
+
26
+      {{ if ne .Type "page" }}
27
+        <ul class="pager blog-pager">
28
+          {{ if .PrevInSection }}
29
+            <li class="previous">
30
+              <a href="{{ .PrevInSection.Permalink }}" data-toggle="tooltip" data-placement="top" title="{{ .PrevInSection.Title }}">&larr; {{ i18n "previousPost" }}</a>
31
+            </li>
32
+          {{ end }}
33
+          {{ if .NextInSection }}
34
+            <li class="next">
35
+              <a href="{{ .NextInSection.Permalink }}" data-toggle="tooltip" data-placement="top" title="{{ .NextInSection.Title }}">{{ i18n "nextPost" }} &rarr;</a>
36
+            </li>
37
+          {{ end }}
38
+        </ul>
39
+      {{ end }}
40
+
41
+
42
+      {{ if (.Params.comments) | or (and (or (not (isset .Params "comments")) (eq .Params.comments nil)) (and .Site.Params.comments (ne .Type "page"))) }}
43
+        {{ if .Site.DisqusShortname }}
44
+          <div class="disqus-comments">
45
+            {{ template "_internal/disqus.html" . }}
46
+          </div>
47
+        {{ end }}
48
+        {{ if .Site.Params.staticman }}
49
+          <div class="staticman-comments">
50
+            {{ partial "staticman-comments.html" . }}
51
+          </div>
52
+        {{ end }}
53
+      {{ end }}
54
+
55
+    </div>
56
+  </div>
57
+</div>
58
+{{ end }}

+ 39
- 0
themes/beautifulhugo/layouts/_default/terms.html View File

@@ -0,0 +1,39 @@
1
+{{ define "main" }}
2
+
3
+{{ $data := .Data }}
4
+
5
+<div class="container" role="main">
6
+  <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 
7
+    <article class="post-preview">
8
+      <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
9
+        {{ range $key, $value := .Data.Terms.ByCount }}
10
+          <div class="panel panel-default">
11
+            <a class="collapsed" role="button" data-toggle="collapse" data-target="#collapse{{ $value.Name }}" data-parent="#accordion"
12
+               href="#" aria-expanded="false" aria-controls="collapse{{ $value.Name }}">
13
+                <div class="panel-heading" role="tab" id="header{{ $value.Name }}">
14
+                  <h4 class="panel-title">
15
+                      {{ $value.Name }}
16
+                    <span class="badge">{{ $value.Count }}</span>
17
+                  </h4>
18
+                </div>
19
+            </a>
20
+            <div id="collapse{{ $value.Name }}" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading{{ $value.Name }}">
21
+              <div class="panel-body">
22
+                <a href="{{ $.Site.LanguagePrefix | absURL }}{{ $data.Plural }}/{{ $value.Name | urlize }}/" class="list-group-item view-all">
23
+                View all</a>
24
+                <div class="list-group">
25
+                  {{ range $item := $value.WeightedPages }}
26
+                    <a href="{{$item.Permalink}}" class="list-group-item">{{ $item.Title }}</a>
27
+                  {{ end }}
28
+                </div>
29
+              </div>
30
+            </div>
31
+          </div>
32
+        {{ end }}
33
+      </div>
34
+    </article>
35
+  </div>
36
+</div>
37
+
38
+
39
+{{ end }}

+ 11
- 0
themes/beautifulhugo/layouts/index.html View File

@@ -0,0 +1,11 @@
1
+{{ define "main" }}
2
+  <div role="main" class="container">
3
+    <div class="row">
4
+      <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
5
+        {{ with .Content }}
6
+            {{.}}
7
+        {{ end }}
8
+      </div>
9
+    </div>
10
+  </div>
11
+{{ end }}

+ 7
- 0
themes/beautifulhugo/layouts/partials/disqus.html View File

@@ -0,0 +1,7 @@
1
+{{ if (.Params.comments) | or (and (or (not (isset .Params "comments")) (eq .Params.comments nil)) (.Site.Params.comments)) }}
2
+  {{ if .Site.DisqusShortname }}
3
+    <div class="comments">
4
+      {{ template "_internal/disqus.html" . }}
5
+    </div>
6
+  {{ end }}
7
+{{ end }}

+ 115
- 0
themes/beautifulhugo/layouts/partials/footer.html View File

@@ -0,0 +1,115 @@
1
+<footer>
2
+  <div class="container">
3
+    <div class="row">
4
+      <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
5
+        <ul class="list-inline text-center footer-links">
6
+          {{ range .Site.Data.beautifulhugo.social.social_icons }}
7
+            {{- if isset $.Site.Author .id }}
8
+              <li>
9
+                <a href="{{ printf .url (index $.Site.Author .id) }}" title="{{ .title }}">
10
+                  <span class="fa-stack fa-lg">
11
+                    <i class="fa fa-circle fa-stack-2x"></i>
12
+                    <i class="fa {{ .icon }} fa-stack-1x fa-inverse"></i>
13
+                  </span>
14
+                </a>
15
+              </li>
16
+            {{- end -}}
17
+          {{ end }}
18
+          {{ if .Site.Params.rss }}
19
+          <li>
20
+            {{ if .RSSLink }}
21
+            <a href="{{ .RSSLink }}" title="RSS">
22
+            {{ else }}
23
+            <a href="{{ .Site.RSSLink }}" title="RSS">
24
+            {{ end }}
25
+              <span class="fa-stack fa-lg">
26
+                <i class="fa fa-circle fa-stack-2x"></i>
27
+                <i class="fa fa-rss fa-stack-1x fa-inverse"></i>
28
+              </span>
29
+            </a>
30
+          </li>
31
+          {{ end }}
32
+        </ul>
33
+        <p class="credits copyright text-muted">
34
+          {{ if .Site.Author.name }}
35
+            {{ if .Site.Author.website }}
36
+              <a href="{{ .Site.Author.website }}">{{ .Site.Author.name }}</a>
37
+            {{ else }}
38
+              {{ .Site.Author.name }}
39
+            {{ end }}
40
+          {{ end }}
41
+
42
+          &nbsp;&bull;&nbsp;
43
+          {{ .Site.LastChange.Format "2006" }}
44
+
45
+          {{ if .Site.Title }}
46
+            &nbsp;&bull;&nbsp;
47
+            <a href="{{ "" | absLangURL }}">{{ .Site.Title }}</a>
48
+          {{ end }}
49
+        </p>
50
+        <!-- Please don't remove this, keep my open source work credited :) -->
51
+        <p class="credits theme-by text-muted">
52
+          {{ i18n "poweredBy" . | safeHTML }}
53
+          {{ with .Site.Params.commit }}&nbsp;&bull;&nbsp;[<a href="{{.}}{{ getenv "GIT_COMMIT_SHA" }}">{{ getenv "GIT_COMMIT_SHA_SHORT" }}</a>]{{ end }}
54
+        </p>
55
+      </div>
56
+    </div>
57
+  </div>
58
+</footer>
59
+
60
+<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.js" integrity="sha384-/y1Nn9+QQAipbNQWU65krzJralCnuOasHncUFXGkdwntGeSvQicrYkiUBwsgUqc1" crossorigin="anonymous"></script>
61
+<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/contrib/auto-render.min.js" integrity="sha384-dq1/gEHSxPZQ7DdrM82ID4YVol9BYyU7GbWlIwnwyPzotpoc57wDw/guX8EaYGPx" crossorigin="anonymous"></script>
62
+<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
63
+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
64
+<script src="{{ "js/main.js" | absURL }}"></script>
65
+{{- if .Site.Params.staticman }}
66
+<script src="{{ "js/staticman.js" | absURL }}"></script>
67
+{{- end }}
68
+{{- if  .Site.Params.useHLJS }}
69
+<script src="{{ "js/highlight.min.js" | absURL }}"></script>
70
+<script> hljs.initHighlightingOnLoad(); </script>
71
+<script> $(document).ready(function() {$("pre.chroma").css("padding","0");}); </script>
72
+{{- end -}}
73
+<script> renderMathInElement(document.body); </script>
74
+<script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.2/photoswipe.min.js" integrity="sha384-QELNnmcmU8IR9ZAykt67vGr9/rZJdHbiWi64V88fCPaOohUlHCqUD/unNN0BXSqy" crossorigin="anonymous"></script>
75
+<script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.2/photoswipe-ui-default.min.js" integrity="sha384-m67o7SkQ1ALzKZIFh4CiTA8tmadaujiTa9Vu+nqPSwDOqHrDmxLezTdFln8077+q" crossorigin="anonymous"></script>
76
+<script src="{{ "js/load-photoswipe.js" | absURL }}"></script>
77
+<!-- Google Custom Search Engine -->
78
+{{ if .Site.Params.gcse }}
79
+<script>
80
+  (function() {
81
+    var cx = '{{ .Site.Params.gcse }}';
82
+    var gcse = document.createElement('script');
83
+    gcse.type = 'text/javascript';
84
+    gcse.async = true;
85
+    gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
86
+    var s = document.getElementsByTagName('script')[0];
87
+    s.parentNode.insertBefore(gcse, s);
88
+  })();
89
+</script>
90
+{{ end }}
91
+
92
+{{ if .Site.Params.piwik }}
93
+<!-- Piwik -->
94
+<script type="text/javascript">
95
+  var _paq = _paq || [];
96
+  _paq.push(["trackPageView"]);
97
+  _paq.push(["enableLinkTracking"]);
98
+
99
+  (function() {
100
+    var u=(("https:" == document.location.protocol) ? "https" : "http") + "://{{ .Site.Params.piwik.server }}/";
101
+    _paq.push(["setTrackerUrl", u+"piwik.php"]);
102
+    _paq.push(["setSiteId", "{{ .Site.Params.piwik.id }}"]);
103
+    var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
104
+    g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
105
+  })();
106
+</script>
107
+<noscript>
108
+<!-- Piwik Image Tracker -->
109
+<img src="http://{{ .Site.Params.piwik.server }}/piwik.php?idsite={{ .Site.Params.piwik.id }}&amp;rec=1" style="border:0" alt="" />
110
+<!-- End Piwik -->
111
+</noscript>
112
+<!-- End Piwik Code -->
113
+{{ end }}
114
+
115
+{{- partial "footer_custom.html" . }}

+ 4
- 0
themes/beautifulhugo/layouts/partials/footer_custom.html View File

@@ -0,0 +1,4 @@
1
+<!--
2
+If you want to include any custom html just before </body>, put it in /layouts/partials/footer_custom.html
3
+Do not put anything in this file - it's only here so that hugo won't throw an error if /layouts/partials/footer_custom.html doesn't exist.
4
+-->

+ 68
- 0
themes/beautifulhugo/layouts/partials/head.html View File

@@ -0,0 +1,68 @@
1
+<head>
2
+  <meta charset="utf-8" />
3
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
4
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
5
+<!-- Site Title, Description, Author, and Favicon -->
6
+{{- with .Title | default .Site.Title }}
7
+  <title>{{ . }}</title>
8
+  <meta property="og:title" content="{{ . }}" />
9
+  <meta name="twitter:title" content="{{ . | truncate 70 }}" />
10
+{{- end }}
11
+{{- with .Description | default .Params.subtitle | default .Summary }}
12
+  <meta name="description" content="{{ . }}">
13
+  <meta property="og:description" content="{{ . }}">
14
+  <meta name="twitter:description" content="{{ . | truncate 200 }}">
15
+{{- end }}
16
+  <meta name="author" content="{{ .Site.Author.name }}"/>
17
+{{- with .Site.Params.favicon }}
18
+  <link href='{{ . | absURL }}' rel='icon' type='image/x-icon'/>
19
+{{- end -}}
20
+<!-- Social Media Tags -->
21
+{{- with .Params.share_img | default .Params.image | default .Site.Params.logo }}
22
+  <meta property="og:image" content="{{ . | absURL }}" />
23
+  <meta name="twitter:image" content="{{ . | absURL }}" />
24
+{{- end }}
25
+  <meta name="twitter:card" content="summary" />
26
+{{- with .Site.Author.twitter }}
27
+  <meta name="twitter:site" content="@{{ . }}" />
28
+  <meta name="twitter:creator" content="@{{ . }}" />
29
+{{- end }}
30
+{{- with .Site.Params.fb_app_id }}
31
+  <meta property="fb:app_id" content="{{ . }}" />
32
+{{- end }}
33
+  <meta property="og:url" content="{{ .URL | absLangURL }}" />
34
+  <meta property="og:type" content="website" />
35
+  <meta property="og:site_name" content="{{ .Site.Title }}" />
36
+<!-- Hugo Version number -->
37
+  {{ .Hugo.Generator -}}
38
+<!-- Links and stylesheets -->
39
+  <link rel="canonical" href="{{ .URL | absLangURL }}" />
40
+  {{- if .RSSLink }}
41
+  <link rel="alternate" href="{{ .RSSLink }}" type="application/rss+xml" title="{{ .Site.Title }}">
42
+  {{- else }}
43
+  <link rel="alternate" href="{{ .Site.RSSLink }}" type="application/rss+xml" title="{{ .Site.Title }}">
44
+  {{- end }}
45
+  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css" integrity="sha384-wITovz90syo1dJWVh32uuETPVEtGigN07tkttEqPv+uR2SE/mbQcG7ATL28aI9H0" crossorigin="anonymous">
46
+  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fork-awesome@1.1.0/css/fork-awesome.min.css" integrity="sha256-sX8HLspqYoXVPetzJRE4wPhIhDBu2NB0kYpufzkQSms=" crossorigin="anonymous">
47
+  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
48
+  <link rel="stylesheet" href="{{ "css/main.css" | absURL }}" />
49
+  {{- if .Site.Params.staticman -}}
50
+  <link rel="stylesheet" href="{{ "css/staticman.css" | absURL }}" />
51
+  {{- end -}}
52
+  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic" />
53
+  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" />
54
+  {{- if .Site.Params.useHLJS }}
55
+  <link rel="stylesheet" href="{{ "css/highlight.min.css" | absURL }}" />
56
+  {{- else -}}
57
+  <link rel="stylesheet" href="{{ "css/syntax.css" | absURL }}" />
58
+  {{- end -}}
59
+  <link rel="stylesheet" href="{{ "css/codeblock.css" | absURL }}" />
60
+  
61
+  {{- if .Site.Params.staticman.recaptcha -}}
62
+  <script src='https://www.google.com/recaptcha/api.js'></script>
63
+  {{- end -}}
64
+
65
+{{- partial "head_custom.html" . }}
66
+{{- partial "load-photoswipe-theme.html" . }}
67
+{{ template "_internal/google_analytics_async.html" . }}
68
+</head>

+ 4
- 0
themes/beautifulhugo/layouts/partials/head_custom.html View File

@@ -0,0 +1,4 @@
1
+<!--
2
+If you want to include any custom html just before </head>, put it in /layouts/partials/head_custom.html
3
+Do not put anything in this file - it's only here so that hugo won't throw an error if /layouts/partials/head_custom.html doesn't exist.
4
+-->

+ 70
- 0
themes/beautifulhugo/layouts/partials/header.html View File

@@ -0,0 +1,70 @@
1
+{{ if .IsHome }}
2
+  {{ if .Site.Params.homeTitle }}{{ $.Scratch.Set "title" .Site.Params.homeTitle }}{{ else }}{{ $.Scratch.Set "title" .Site.Title }}{{ end }}
3
+  {{ if .Site.Params.subtitle }}{{ $.Scratch.Set "subtitle" .Site.Params.subtitle }}{{ end }}
4
+  {{ if .Site.Params.bigimg }}{{ $.Scratch.Set "bigimg" .Site.Params.bigimg }}{{ end }}
5
+{{ else }}
6
+  {{ $.Scratch.Set "title" .Title }}
7
+  {{ if .Params.subtitle }}{{ $.Scratch.Set "subtitle" .Params.subtitle }}{{ end }}
8
+  {{ if .Params.bigimg }}{{ $.Scratch.Set "bigimg" .Params.bigimg }}{{ end }}
9
+{{ end }}
10
+{{ $bigimg := $.Scratch.Get "bigimg" }}
11
+
12
+{{ if or $bigimg ($.Scratch.Get "title") }}
13
+  {{ if $bigimg }}
14
+    <div id="header-big-imgs" data-num-img={{len $bigimg}} {{range $i, $img := $bigimg}}data-img-src-{{add $i 1}}="{{$img.src | absURL }}" {{ if $img.desc}}data-img-desc-{{add $i 1}}="{{$img.desc}}"{{end}}{{end}}></div>
15
+  {{ end }}
16
+
17
+  <header class="header-section {{ if $bigimg }}has-img{{ end }}">
18
+    {{ if $bigimg }}
19
+      <div class="intro-header big-img">
20
+        {{ $subtitle := $.Scratch.Get "subtitle" }}
21
+        <div class="container">
22
+          <div class="row">
23
+            <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
24
+              <div class="{{ .Type }}-heading">
25
+                <h1>{{ with $.Scratch.Get "title" }}{{.}}{{ else }}<br/>{{ end }}</h1>
26
+                  {{ if $subtitle }}
27
+                    {{ if eq .Type "page" }}
28
+                      <hr class="small">
29
+                      <span class="{{ .Type }}-subheading">{{ $subtitle }}</span>
30
+                    {{ else }}
31
+                      <h2 class="{{ .Type }}-subheading">{{ $subtitle }}</h2>
32
+                    {{ end }}
33
+                  {{ end }}
34
+                  {{ if eq .Type "post" }}
35
+                    {{ partial "post_meta.html" . }}
36
+                  {{ end }}
37
+              </div>
38
+            </div>
39
+          </div>
40
+        </div>
41
+        <span class="img-desc" style="display: inline;"></span>
42
+      </div>
43
+    {{end}}
44
+    <div class="intro-header no-img">
45
+      {{ $subtitle := $.Scratch.Get "subtitle" }}
46
+      <div class="container">
47
+        <div class="row">
48
+          <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
49
+            <div class="{{ .Type }}-heading">
50
+              <h1>{{ with $.Scratch.Get "title" }}{{.}}{{ else }}<br/>{{ end }}</h1>
51
+                {{ if $subtitle }}
52
+                  {{ if eq .Type "page" }}
53
+                    <hr class="small">
54
+                    <span class="{{ .Type }}-subheading">{{ $subtitle }}</span>
55
+                  {{ else }}
56
+                    <h2 class="{{ .Type }}-subheading">{{ $subtitle }}</h2>
57
+                  {{ end }}
58
+                {{ end }}
59
+                {{ if eq .Type "post" }}
60
+                  {{ partial "post_meta.html" . }}
61
+                {{ end }}
62
+            </div>
63
+          </div>
64
+        </div>
65
+      </div>
66
+    </div>
67
+  </header>
68
+{{ else }}
69
+  <div class="intro-header"></div>
70
+{{ end }}

+ 59
- 0
themes/beautifulhugo/layouts/partials/load-photoswipe-theme.html View File

@@ -0,0 +1,59 @@
1
+<!--
2
+Documentation and licence at https://github.com/liwenyip/hugo-easy-gallery/
3
+-->
4
+
5
+<!-- Photoswipe css/js libraries -->
6
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.2/photoswipe.min.css" integrity="sha384-h/L2W9KefUClHWaty3SLE5F/qvc4djlyR4qY3NUV5HGQBBW7stbcfff1+I/vmsHh" crossorigin="anonymous">
7
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.2/default-skin/default-skin.min.css" integrity="sha384-iD0dNku6PYSIQLyfTOpB06F2KCZJAKLOThS5HRe8b3ibhdEQ6eKsFf/EeFxdOt5R" crossorigin="anonymous">
8
+<!-- these files are loaded in the theme footer
9
+<script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.2/photoswipe.min.js" integrity="sha384-QELNnmcmU8IR9ZAykt67vGr9/rZJdHbiWi64V88fCPaOohUlHCqUD/unNN0BXSqy" crossorigin="anonymous"></script>
10
+<script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.2/photoswipe-ui-default.min.js" integrity="sha384-m67o7SkQ1ALzKZIFh4CiTA8tmadaujiTa9Vu+nqPSwDOqHrDmxLezTdFln8077+q" crossorigin="anonymous"></script>
11
+-->
12
+
13
+<!-- Root element of PhotoSwipe. Must have class pswp. -->
14
+<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">
15
+<!-- Background of PhotoSwipe.
16
+     It's a separate element, as animating opacity is faster than rgba(). -->
17
+<div class="pswp__bg"></div>
18
+<!-- Slides wrapper with overflow:hidden. -->
19
+<div class="pswp__scroll-wrap">
20
+    <!-- Container that holds slides.
21
+      PhotoSwipe keeps only 3 of them in DOM to save memory.
22
+      Don't modify these 3 pswp__item elements, data is added later on. -->
23
+    <div class="pswp__container">
24
+      <div class="pswp__item"></div>
25
+      <div class="pswp__item"></div>
26
+      <div class="pswp__item"></div>
27
+    </div>
28
+    <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->
29
+    <div class="pswp__ui pswp__ui--hidden">
30
+    <div class="pswp__top-bar">
31
+      <!--  Controls are self-explanatory. Order can be changed. -->
32
+      <div class="pswp__counter"></div>
33
+      <button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
34
+      <button class="pswp__button pswp__button--share" title="Share"></button>
35
+      <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
36
+      <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
37
+      <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->
38
+      <!-- element will get class pswp__preloader--active when preloader is running -->
39
+      <div class="pswp__preloader">
40
+        <div class="pswp__preloader__icn">
41
+          <div class="pswp__preloader__cut">
42
+            <div class="pswp__preloader__donut"></div>
43
+          </div>
44
+        </div>
45
+      </div>
46
+    </div>
47
+    <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
48
+      <div class="pswp__share-tooltip"></div>
49
+    </div>
50
+    <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
51
+    </button>
52
+    <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
53
+    </button>
54
+    <div class="pswp__caption">
55
+      <div class="pswp__caption__center"></div>
56
+    </div>
57
+    </div>
58
+    </div>
59
+</div>

+ 96
- 0
themes/beautifulhugo/layouts/partials/nav.html View File

@@ -0,0 +1,96 @@
1
+<nav class="navbar navbar-default navbar-fixed-top navbar-custom">
2
+  <div class="container-fluid">
3
+    <div class="navbar-header">
4
+      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#main-navbar">
5
+        <span class="sr-only">{{ i18n "toggleNavigation" }}</span>
6
+        <span class="icon-bar"></span>
7
+        <span class="icon-bar"></span>
8
+        <span class="icon-bar"></span>
9
+      </button>
10
+      <a class="navbar-brand" href="{{ "" | absLangURL }}">{{ .Site.Title }}</a>
11
+    </div>
12
+
13
+    <div class="collapse navbar-collapse" id="main-navbar">
14
+      <ul class="nav navbar-nav navbar-right">
15
+        {{ range .Site.Menus.main.ByWeight }}
16
+          {{ if .HasChildren }}
17
+            <li class="navlinks-container">
18
+              <a class="navlinks-parent" href="javascript:void(0)">{{ .Name }}</a>
19
+              <div class="navlinks-children">
20
+                {{ range .Children }}
21
+                  <a href="{{ .URL | relLangURL }}">{{ .Name }}</a>
22
+                {{ end }}
23
+              </div>
24
+            </li>
25
+          {{ else }}
26
+            <li>
27
+              <a title="{{ .Name }}" href="{{ .URL  | relLangURL }}">{{ .Name }}</a>
28
+            </li>
29
+          {{ end }}
30
+        {{ end }}
31
+
32
+        {{ if .Site.IsMultiLingual }}
33
+          {{ if ge (len .Site.Languages) 3 }}
34
+            <li class="navlinks-container">
35
+              <a class="navlinks-parent" href="javascript:void(0)">{{ i18n "languageSwitcherLabel" }}</a>
36
+              <div class="navlinks-children">
37
+                {{ range .Site.Languages }}
38
+                  {{ if not (eq .Lang $.Site.Language.Lang) }}
39
+                  <a href="/{{ .Lang }}" lang="{{ .Lang }}">{{ default .Lang .LanguageName }}</a>
40
+                  {{ end }}
41
+                {{ end }}
42
+              </div>
43
+            </li>
44
+          {{ else }}
45
+            <li>
46
+              {{ range .Site.Languages }}
47
+                {{ if not (eq .Lang $.Site.Language.Lang) }}
48
+                  <a href="/{{ .Lang }}" lang="{{ .Lang }}">{{ default .Lang .LanguageName }}</a>
49
+                {{ end }}
50
+              {{ end }}
51
+            </li>
52
+          {{ end }}
53
+        {{ end }}
54
+
55
+        {{ if isset .Site.Params "gcse" }}
56
+          <li>
57
+            <a href="#modalSearch" data-toggle="modal" data-target="#modalSearch" style="outline: none;">
58
+              <span class="hidden-sm hidden-md hidden-lg">{{ i18n "gcseLabelShort" }}</span> <span id="searchGlyph" class="glyphicon glyphicon-search"></span>
59
+            </a>
60
+          </li>
61
+        {{ end }}
62
+      </ul>
63
+    </div>
64
+
65
+    <div class="avatar-container">
66
+      <div class="avatar-img-border">
67
+        {{ if isset .Site.Params "logo" }}
68
+          <a title="{{ .Site.Title }}" href="{{ "" | absLangURL }}">
69
+            <img class="avatar-img" src="{{ .Site.Params.logo | absURL }}" alt="{{ .Site.Title }}" />
70
+          </a>
71
+        {{ end }}
72
+      </div>
73
+    </div>
74
+
75
+  </div>
76
+</nav>
77
+
78
+<!-- Search Modal -->
79
+{{ if isset .Site.Params "gcse" }}
80
+  <div id="modalSearch" class="modal fade" role="dialog">
81
+    <div class="modal-dialog">
82
+      <div class="modal-content">
83
+        <div class="modal-header">
84
+          <button type="button" class="close" data-dismiss="modal">&times;</button>
85
+          <h4 class="modal-title">{{ i18n "gcseLabelLong" . }}</h4>
86
+        </div>
87
+        <div class="modal-body">
88
+          <gcse:search></gcse:search>
89
+        </div>
90
+        <div class="modal-footer">
91
+          <button type="button" class="btn btn-default" data-dismiss="modal">{{ i18n "gcseClose" }}</button>
92
+        </div>
93
+      </div>
94
+    </div>
95
+  </div>
96
+{{ end }}

+ 36
- 0
themes/beautifulhugo/layouts/partials/post_meta.html View File

@@ -0,0 +1,36 @@
1
+<span class="post-meta">
2
+  {{ $lastmodstr := default (i18n "dateFormat") .Site.Params.dateformat | .Lastmod.Format }}
3
+  {{ $datestr := default (i18n "dateFormat") .Site.Params.dateformat | .Date.Format }}
4
+  <i class="fa fa-calendar-o"></i>&nbsp;{{ $datestr | i18n "postedOnDate"}}
5
+  {{ if ne $datestr $lastmodstr }}
6
+    &nbsp;{{ $lastmodstr | i18n "lastModified"  }}
7
+  {{ end }}
8
+  {{ if .Site.Params.readingTime }}
9
+  &nbsp;|&nbsp;
10
+  <i class="fa fa-clock-o"></i>{{ i18n "readingTime"}} {{ .ReadingTime }} {{ i18n "readTime" }} ({{ .WordCount }} {{ i18n "words" }})
11
+  {{ end }}
12
+  {{- if .Site.Params.staticman -}}
13
+    &nbsp;|&nbsp;  <i class="fa fa-comment-o"></i>
14
+    {{ $slug := replace .URL "/" "" }}
15
+    {{ if .Site.Data.comments }}
16
+      {{ $comments := index $.Site.Data.comments $slug }}
17
+      {{ if $comments }}
18
+        {{ if gt (len $comments) 1  }}
19
+          {{ len $comments  }} {{ i18n "moreComment" }}
20
+        {{ else }}
21
+          {{ len $comments  }} {{ i18n "oneComment" }}
22
+        {{ end }}
23
+      {{ else }}
24
+        0 {{ i18n "oneComment" }}
25
+      {{ end }}
26
+    {{ end }}
27
+  {{ end }}
28
+  {{ if .IsTranslated -}}
29
+    {{- $sortedTranslations := sort .Translations "Site.Language.Weight" -}}
30
+    {{- $links := apply $sortedTranslations "partial" "translation_link.html" "." -}}
31
+    {{- $cleanLinks := apply $links "chomp" "." -}}
32
+    {{- $linksOutput := delimit $cleanLinks (i18n "translationsSeparator") -}}
33
+    &nbsp;&bull;&nbsp; {{ i18n "translationsLabel" }}{{ $linksOutput }}
34
+  {{- end }}
35
+</span>
36
+

+ 75
- 0
themes/beautifulhugo/layouts/partials/share-links.html View File

@@ -0,0 +1,75 @@
1
+<!-- Social Share Button HTML -->
2
+
3
+<!-- Twitter -->
4
+<li>
5
+    <a href="//twitter.com/share?url={{ .Permalink }}&amp;text={{ .Title }}&amp;via={{ .Site.Author.twitter }}"
6
+       target="_blank" alt="" title="Share on Twitter">
7
+        <span class="fa-stack fa-lg">
8
+                <i class="fa fa-circle fa-stack-2x"></i>
9
+                <i class="fa fa-twitter fa-stack-1x fa-inverse"></i>
10
+              </span>
11
+    </a>
12
+</li>
13
+
14
+<!-- Google Plus -->
15
+<li>
16
+    <a href="//plus.google.com/share?url={{ .Permalink }}" target="_blank" title="Share on Google Plus">
17
+         <span class="fa-stack fa-lg">
18
+                <i class="fa fa-circle fa-stack-2x"></i>
19
+                <i class="fa fa-google-plus fa-stack-1x fa-inverse"></i>
20
+              </span>
21
+    </a>
22
+</li>
23
+
24
+<!-- Facebook -->
25
+<li>
26
+    <a href="//www.facebook.com/sharer/sharer.php?u={{ .Permalink }}" target="_blank" title="Share on Facebook">
27
+        <span class="fa-stack fa-lg">
28
+                <i class="fa fa-circle fa-stack-2x"></i>
29
+                <i class="fa fa-facebook fa-stack-1x fa-inverse"></i>
30
+              </span>
31
+    </a>
32
+</li>
33
+
34
+<!-- Reddit -->
35
+<li>
36
+    <a href="//reddit.com/submit?url={{ .Permalink }}&amp;title={{ .Title }}" target="_blank" title="Share on Reddit">
37
+         <span class="fa-stack fa-lg">
38
+                <i class="fa fa-circle fa-stack-2x"></i>
39
+                <i class="fa fa-reddit fa-stack-1x fa-inverse"></i>
40
+              </span>
41
+    </a>
42
+</li>
43
+
44
+<!-- LinkedIn -->
45
+<li>
46
+    <a href="//www.linkedin.com/shareArticle?url={{ .Permalink }}&amp;title={{ .Title }}" target="_blank"
47
+       title="Share on LinkedIn">
48
+         <span class="fa-stack fa-lg">
49
+                <i class="fa fa-circle fa-stack-2x"></i>
50
+                <i class="fa fa-linkedin fa-stack-1x fa-inverse"></i>
51
+              </span>
52
+    </a>
53
+</li>
54
+
55
+<!-- StumbleUpon -->
56
+<li>
57
+    <a href="//www.stumbleupon.com/submit?url={{ .Permalink }}&amp;title={{ .Title }}" target="_blank"
58
+       title="Share on StumbleUpon">
59
+        <span class="fa-stack fa-lg">
60
+                <i class="fa fa-circle fa-stack-2x"></i>
61
+                <i class="fa fa-stumbleupon fa-stack-1x fa-inverse"></i>
62
+              </span>
63
+    </a>
64
+</li>
65
+
66
+<!-- Pinterest -->
67
+<li>
68
+    <a href="//www.pinterest.com/pin/create/button/?url={{ .Permalink }}&amp;description={{ .Title }}" target="_blank"
69
+       title="Share on Pinterest">
70
+         <span class="fa-stack fa-lg">
71
+                <i class="fa fa-circle fa-stack-2x"></i>
72
+                <i class="fa fa-pinterest fa-stack-1x fa-inverse"></i>
73
+              </span>
74
+    </a>
75
+</li>

+ 93
- 0
themes/beautifulhugo/layouts/partials/staticman-comments.html View File

@@ -0,0 +1,93 @@
1
+<section class="js-comments staticman-comments">
2
+
3
+  {{ $slug := replace .URL "/" "" }}
4
+
5
+  {{ if .Site.Data.comments }}
6
+    {{ $comments := index $.Site.Data.comments $slug }}
7
+    {{ if $comments }}
8
+      {{ if gt (len $comments) 1  }}
9
+        <h3>{{ len $comments  }} {{ i18n "moreComment" }}</h3>
10
+      {{ else }}
11
+        <h3>{{ len $comments  }} {{ i18n "oneComment" }}</h3>
12
+      {{ end }}
13
+    {{ else }}
14
+      <h3>{{ i18n "noComment" }}</h3>
15
+    {{ end }}
16
+
17
+
18
+    {{ $.Scratch.Set "hasComments" 0 }}
19
+    {{ range $index, $comments := (index $.Site.Data.comments $slug ) }}
20
+      {{ if not .parent }}
21
+        {{ $.Scratch.Add "hasComments" 1 }}
22
+        <article id="comment-{{ $.Scratch.Get "hasComments" }}" class="static-comment">
23
+          <img class="comment-avatar" src="https://www.gravatar.com/avatar/{{ .email }}?s=48">
24
+          {{ if .website }}
25
+          <h4 class="comment-author"><a rel="external nofollow" href="{{ .website }}">{{ .name }}</a></h4>
26
+          {{ else }}
27
+          <h4 class="comment-author">{{ .name }}</h4>
28
+          {{ end }}
29
+          <div class="comment-timestamp"><a href="#comment-{{ $.Scratch.Get "hasComments" }}" title="Permalink to this comment"><time datetime="{{ .date }}">{{ dateFormat (default (i18n "shortdateFormat") .Site.Params.dateformat) .date}}</time></a></div>
30
+          <div class="comment-content"><p>{{ .comment | markdownify }}</p></div>
31
+        </article>
32
+      {{ end }}
33
+    {{ end }}
34
+  {{ end }}
35
+
36
+
37
+
38
+<form class="js-form form" method="post" action="{{ .Site.Params.staticman.api}}">
39
+  <input type="hidden" name="options[slug]" value="{{ replace .URL "/" "" }}">
40
+  <input type="hidden" name="options[parent]" value="">
41
+
42
+  {{ if .Site.Params.staticman.recaptcha }}
43
+  <input type="hidden" name="options[reCaptcha][siteKey]" value="{{ .Site.Params.staticman.recaptcha.sitekey }}">
44
+  <input type="hidden" name="options[reCaptcha][secret]"  value="{{ .Site.Params.staticman.recaptcha.secret }}">
45
+  {{ end }}
46
+
47
+  <fieldset>
48
+  <div class="textfield">
49
+    <textarea name="fields[comment]" type="text" placeholder="{{ i18n "useMarkdown" }}"></textarea>
50
+  </div>
51
+  </fieldset>
52
+
53
+  <fieldset>
54
+    <div class="textfield">
55
+      <input name="fields[name]" type="text" placeholder="{{ i18n "yourName" }}"/>
56
+    </div>
57
+  </fieldset>
58
+
59
+  <fieldset>
60
+    <div class="textfield">
61
+      <input type="email" name="fields[email]"  placeholder="{{ i18n "yourEmail" }}"/>
62
+    </div>
63
+  </fieldset>
64
+
65
+  <fieldset>
66
+    <div class="textfield">
67
+      <input type="text" name="fields[website]"  placeholder="{{ i18n "yourWebsite" }}"/>
68
+    </div>
69
+  </fieldset>
70
+
71
+  {{ if .Site.Params.staticman.recaptcha }}
72
+  <fieldset>
73
+    <div class="g-recaptcha" data-sitekey="{{ .Site.Params.staticman.recaptcha.sitekey }}"></div>
74
+  </fieldset>
75
+  {{ end }}
76
+
77
+  <fieldset>
78
+    <button class="button">
79
+      Submit
80
+    </button>
81
+  </fieldset>
82
+</form>
83
+</section>
84
+
85
+<article class="modal">
86
+  <div class="title">
87
+    <h2 class="js-modal-title"></h2>
88
+  </div>
89
+  <div class="js-modal-text"></div>
90
+  <div>
91
+    <button class="js-close-modal">Close</button>
92
+  </div>
93
+</article>

+ 2
- 0
themes/beautifulhugo/layouts/partials/translation_link.html View File

@@ -0,0 +1,2 @@
1
+<a href="{{ .Permalink }}" lang="{{ .Lang }}">{{ default .Lang .Site.Language.LanguageName }}</a>
2
+

+ 29
- 0
themes/beautifulhugo/layouts/shortcodes/figure.html View File

@@ -0,0 +1,29 @@
1
+<!--
2
+Put this file in /layouts/shortcodes/figure.html
3
+NB this overrides Hugo's built-in "figure" shortcode but is backwards compatible
4
+Documentation and licence at https://github.com/liwenyip/hugo-easy-gallery/
5
+-->
6
+<!-- count how many times we've called this shortcode; load the css if it's the first time -->
7
+{{- if not ($.Page.Scratch.Get "figurecount") }}<link rel="stylesheet" href="/css/hugo-easy-gallery.css" />{{ end }}
8
+{{- $.Page.Scratch.Add "figurecount" 1 -}}
9
+<!-- use either src or link-thumb for thumbnail image -->
10
+{{- $thumb := .Get "src" | default (printf "%s." (.Get "thumb") | replace (.Get "link") ".") }}
11
+<div class="box{{ with .Get "caption-position" }} fancy-figure caption-position-{{.}}{{end}}{{ with .Get "caption-effect" }} caption-effect-{{.}}{{end}}" {{ with .Get "width" }}style="max-width:{{.}}"{{end}}>
12
+  <figure {{ with .Get "class" }}class="{{.}}"{{ end }} itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
13
+    <div class="img"{{ if .Parent }} style="background-image: url('{{ $thumb }}');"{{ end }}{{ with .Get "size" }} data-size="{{.}}"{{ end }}>
14
+      <img itemprop="thumbnail" src="{{ $thumb }}" {{ with .Get "alt" | default (.Get "caption") }}alt="{{.}}"{{ end }}/><!-- <img> hidden if in .gallery -->
15
+    </div>
16
+    {{- if or (or (.Get "title") (.Get "caption")) (.Get "attr")}}
17
+      <figcaption>
18
+        {{- with .Get "title" }}<h4>{{.}}</h4>{{ end }}
19
+        {{- if or (.Get "caption") (.Get "attr")}}
20
+          <p>
21
+            {{- .Get "caption" -}}
22
+            {{- with .Get "attrlink"}}<a href="{{.}}">{{ .Get "attr" }}</a>{{ else }}{{ .Get "attr"}}{{ end -}}
23
+          </p>
24
+        {{- end }}
25
+      </figcaption>
26
+    {{- end }}
27
+    {{ with .Get "link" | default (.Get "src") }}<a href="{{.}}" itemprop="contentUrl"></a>{{ end }}<!-- put <a> last so it is stacked on top -->
28
+  </figure>
29
+</div>

+ 40
- 0
themes/beautifulhugo/layouts/shortcodes/gallery.html View File

@@ -0,0 +1,40 @@
1
+<!--
2
+Put this file in /layouts/shortcodes/gallery.html
3
+Documentation and licence at https://github.com/liwenyip/hugo-easy-gallery/
4
+-->
5
+<!-- count how many times we've called this shortcode; load the css if it's the first time -->
6
+{{- if not ($.Page.Scratch.Get "figurecount") }}<link rel="stylesheet" href="/css/hugo-easy-gallery.css" />{{ end }}
7
+{{- $.Page.Scratch.Add "figurecount" 1 }}
8
+<div class="gallery caption-position-{{ with .Get "caption-position" | default "bottom" }}{{.}}{{end}} caption-effect-{{ with .Get "caption-effect" | default "slide" }}{{.}}{{end}} hover-effect-{{ with .Get "hover-effect" | default "zoom" }}{{.}}{{end}} {{ if ne (.Get "hover-transition") "none" }}hover-transition{{end}}" itemscope itemtype="http://schema.org/ImageGallery">
9
+	{{- with (.Get "dir") -}}
10
+		<!-- If a directory was specified, generate figures for all of the images in the directory -->
11
+		{{- $files := readDir (print "/static/" .) }}
12
+		{{- range $files -}}
13
+			<!-- skip files that aren't images, or that inlcude the thumb suffix in their name -->
14
+			{{- $thumbext := $.Get "thumb" | default "-thumb" }}
15
+			{{- $isthumb := .Name | findRE ($thumbext | printf "%s\\.") }}<!-- is the current file a thumbnail image? -->
16
+			{{- $isimg := lower .Name | findRE "\\.(gif|jpg|jpeg|tiff|png|bmp)" }}<!-- is the current file an image? -->
17
+			{{- if and $isimg (not $isthumb) }}
18
+				{{- $caption :=  .Name | replaceRE "\\..*" "" | humanize }}<!-- humanized filename without extension -->
19
+				{{- $linkURL := print ($.Get "dir") "/" .Name | absURL }}<!-- absolute URL to hi-res image -->
20
+				{{- $thumb := .Name | replaceRE "(\\.)" ($thumbext | printf "%s.") }}<!-- filename of thumbnail image -->
21
+				{{- $thumbexists := where $files "Name" $thumb }}<!-- does a thumbnail image exist? --> 
22
+				{{- $thumbURL := print ($.Get "dir") "/" $thumb | absURL }}<!-- absolute URL to thumbnail image -->
23
+				<div class="box">
24
+				  <figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
25
+				    <div class="img" style="background-image: url('{{ if $thumbexists }}{{ $thumbURL }}{{ else }}{{ $linkURL }}{{ end }}');" >
26
+				      <img itemprop="thumbnail" src="{{ if $thumbexists }}{{ $thumbURL }}{{ else }}{{ $linkURL }}{{ end }}" alt="{{ $caption }}" /><!-- <img> hidden if in .gallery -->
27
+				    </div>
28
+			      <figcaption>
29
+		          <p>{{ $caption }}</p>
30
+			      </figcaption>
31
+				    <a href="{{ $linkURL }}" itemprop="contentUrl"></a><!-- put <a> last so it is stacked on top -->
32
+				  </figure>
33
+				</div>
34
+			{{- end }}
35
+		{{- end }}
36
+	{{- else -}}
37
+		<!-- If no directory was specified, include any figure shortcodes called within the gallery -->
38
+	  {{ .Inner }}
39
+	{{- end }}
40
+</div>

+ 6
- 0
themes/beautifulhugo/static/css/bootstrap.min.css
File diff suppressed because it is too large
View File


+ 9
- 0
themes/beautifulhugo/static/css/codeblock.css View File

@@ -0,0 +1,9 @@
1
+/* --- Code blocks --- */
2
+
3
+.chroma .ln { 
4
+  margin-right: 0.8em; 
5
+  padding: 0 0.4em 0 0.4em; 
6
+}
7
+pre code.hljs {
8
+  padding: 9.5px;
9
+}

+ 1
- 0
themes/beautifulhugo/static/css/highlight.min.css View File

@@ -0,0 +1 @@
1
+.hljs{display:block;overflow-x:auto;padding:0.5em;color:#333;background:#f8f8f8}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:bold}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:#008080}.hljs-string,.hljs-doctag{color:#d14}.hljs-title,.hljs-section,.hljs-selector-id{color:#900;font-weight:bold}.hljs-subst{font-weight:normal}.hljs-type,.hljs-class .hljs-title{color:#458;font-weight:bold}.hljs-tag,.hljs-name,.hljs-attribute{color:#000080;font-weight:normal}.hljs-regexp,.hljs-link{color:#009926}.hljs-symbol,.hljs-bullet{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#0086b3}.hljs-meta{color:#999;font-weight:bold}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold}

+ 157
- 0
themes/beautifulhugo/static/css/hugo-easy-gallery.css View File

@@ -0,0 +1,157 @@
1
+/*
2
+Put this file in /static/css/hugo-easy-gallery.css
3
+Documentation and licence at https://github.com/liwenyip/hugo-easy-gallery/
4
+*/
5
+
6
+
7
+/*
8
+Grid Layout Styles
9
+*/
10
+.gallery {
11
+    overflow: hidden;
12
+    margin: 10px;
13
+    max-width: 768px;
14
+}
15
+.gallery .box {
16
+    float: left;
17
+    position: relative;
18
+    /* Default: 1 tile wide */
19
+    width: 100%;
20
+    padding-bottom: 100%; 
21
+}
22
+@media only screen and (min-width : 365px) {
23
+    /* Tablet view: 2 tiles */
24
+    .gallery .box {
25
+        width: 50%;
26
+        padding-bottom: 50%;
27
+    }
28
+}
29
+@media only screen and (min-width : 480px) {
30
+    /* Small desktop / ipad view: 3 tiles */
31
+    .gallery .box {
32
+        width: 33.3%;
33
+        padding-bottom: 33.3%; /*  */
34
+    }
35
+}
36
+@media only screen and (min-width : 9999px) {
37
+   /* Medium desktop: 4 tiles */
38
+   .box {
39
+      width: 25%;
40
+      padding-bottom: 25%;
41
+   }
42
+}
43
+
44
+/*
45
+Transition styles
46
+*/
47
+.gallery.hover-transition figure,
48
+.gallery.hover-effect-zoom .img, 
49
+.gallery:not(.caption-effect-appear) figcaption,
50
+.fancy-figure:not(.caption-effect-appear) figcaption {
51
+    -webkit-transition: all 0.3s ease-in-out;
52
+    -moz-transition: all 0.3s ease-in-out;
53
+    -o-transition: all 0.3s ease-in-out;
54
+    transition: all 0.3s ease-in-out;
55
+}
56
+/*
57
+figure styles
58
+*/
59
+figure {
60
+    position:relative; /* purely to allow absolution positioning of figcaption */
61
+    overflow: hidden;
62
+}
63
+.gallery figure {
64
+    position: absolute;
65
+    left: 5px;
66
+    right: 5px;
67
+    top: 5px;
68
+    bottom: 5px;
69
+}
70
+.gallery.hover-effect-grow figure:hover {
71
+    transform: scale(1.05);
72
+}
73
+.gallery.hover-effect-shrink figure:hover {
74
+    transform: scale(0.95);
75
+}
76
+.gallery.hover-effect-slidedown figure:hover {
77
+    transform: translateY(5px);
78
+}
79
+.gallery.hover-effect-slideup figure:hover {
80
+    transform: translateY(-5px);
81
+}
82
+
83
+/*
84
+img / a styles
85
+*/
86
+
87
+.gallery .img {
88
+    position: absolute;
89
+    left: 0;
90
+    right: 0;
91
+    top: 0;
92
+    bottom: 0;
93
+    background-size: cover;
94
+    background-position: 50% 50%;
95
+    background-repeat: no-repeat;
96
+}
97
+.gallery.hover-effect-zoom figure:hover .img {
98
+    transform: scale(1.05);
99
+}
100
+.gallery img {
101
+    display: none; /* only show the img if not inside a gallery */
102
+}
103
+figure a {
104
+    position: absolute;
105
+    left: 0;
106
+    right: 0;
107
+    top: 0;
108
+    bottom: 0;
109
+}
110
+
111
+/*
112
+figcaption styles
113
+*/
114
+.gallery figcaption,
115
+.fancy-figure figcaption {
116
+    position: absolute;
117
+    bottom: 0;
118
+    left: 0;
119
+    right: 0;
120
+    background: #000;
121
+    color: #FFF;
122
+    text-align: center;
123
+    font-size: 75%; /* change this if you want bigger text */
124
+    background: rgba(0, 0, 0, 0.5);
125
+    opacity: 1;
126
+}
127
+.gallery.caption-position-none figcaption,
128
+.fancy-figure.caption-position-none figcaption  {
129
+    display: none;
130
+}
131
+.gallery.caption-position-center figcaption,
132
+.fancy-figure.caption-position-center figcaption {
133
+    top: 0;
134
+    padding: 40% 5px;
135
+}
136
+.gallery.caption-position-bottom figcaption,
137
+.fancy-figure.caption-position-bottom figcaption {
138
+    padding: 5px;
139
+}
140
+.gallery.caption-effect-fade figure:not(:hover) figcaption,
141
+.gallery.caption-effect-appear figure:not(:hover) figcaption,
142
+.fancy-figure.caption-effect-fade figure:not(:hover) figcaption,
143
+.fancy-figure.caption-effect-appear figure:not(:hover) figcaption {
144
+    background: rgba(0, 0, 0, 0);
145
+    opacity: 0;
146
+}
147
+.gallery.caption-effect-slide.caption-position-bottom figure:not(:hover) figcaption,
148
+.fancy-figure.caption-effect-slide.caption-position-bottom figure:not(:hover) figcaption {
149
+    margin-bottom: -100%;
150
+}
151
+.gallery.caption-effect-slide.caption-position-center figure:not(:hover) figcaption,
152
+.fancy-figure.caption-effect-slide.caption-position-center figure:not(:hover) figcaption  {
153
+    top: 100%;
154
+}
155
+figcaption p {
156
+    margin: auto; /* override style in theme */
157
+}

+ 1
- 0
themes/beautifulhugo/static/css/katex.min.css
File diff suppressed because it is too large
View File


+ 13
- 0
themes/beautifulhugo/static/css/main-minimal.css View File

@@ -0,0 +1,13 @@
1
+.main-content {
2
+  padding-bottom: 50px;
3
+}
4
+
5
+footer.footer-min {
6
+  position: fixed;
7
+  bottom: 0;
8
+  width: 100%;
9
+  padding: 3px;
10
+  background-color: #f5f5f5;
11
+  border-top: 1px solid #eeeeee;
12
+  text-align: center;
13
+}

+ 721
- 0
themes/beautifulhugo/static/css/main.css View File

@@ -0,0 +1,721 @@
1
+/* --- General --- */
2
+
3
+body {
4
+  font-family: 'Lora', 'Times New Roman', serif;
5
+  font-size: 18px;
6
+  color: #404040;
7
+  position: relative;
8
+  background: #FFF;
9
+  display: flex;
10
+  flex-flow: column;
11
+  height: 100vh;
12
+}
13
+.container[role=main] {
14
+  margin-bottom:50px;
15
+  flex: 1 0 auto;
16
+}
17
+
18
+@media only screen and (max-width: 767px) {
19
+.container[role=main] {
20
+    margin-left: 0;
21
+    margin-right: 0;
22
+}
23
+}
24
+
25
+p {
26
+  line-height: 1.5;
27
+  margin: 6px 0;
28
+}
29
+p + p {
30
+    margin: 24px 0 6px 0;
31
+}
32
+p a {
33
+  /* text-decoration: underline */
34
+  color: #008AFF;
35
+}
36
+h1,h2,h3,h4,h5,h6 {
37
+  font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
38
+  font-weight: 800;
39
+}
40
+a {
41
+  color: #008AFF;
42
+}
43
+a:hover,
44
+a:focus {
45
+  color: #0085a1;
46
+}
47
+blockquote {
48
+  color: #808080;
49
+  font-style: italic;
50
+}
51
+blockquote p:first-child {
52
+  margin-top: 0;
53
+}
54
+hr.small {
55
+  max-width: 100px;
56
+  margin: 15px auto;
57
+  border-width: 4px;
58
+  border-color: inherit;
59
+  border-radius: 3px;
60
+}