├── exampleSite ├── static │ └── .gitkeep ├── content │ ├── post │ │ ├── _index.md │ │ ├── rich-content.md │ │ ├── placeholder-text.md │ │ └── markdown-syntax.md │ └── about.md ├── data │ └── l10n.toml └── config.toml ├── layouts ├── partials │ ├── tracking.html │ ├── related.html │ ├── footer.html │ ├── post-meta.html │ ├── pagination.html │ ├── tags-list.html │ ├── nav.html │ ├── post-list.html │ ├── head.html │ └── icons.html ├── _default │ ├── list.html │ ├── terms.html │ ├── baseof.html │ └── single.html ├── 404.html └── index.html ├── images ├── tn.png └── screenshot.png ├── static ├── favicon.ico ├── img │ ├── avatar.png │ ├── sample_feature_img.png │ ├── sample_feature_img_2.png │ └── sample_feature_img_3.png ├── apple-touch-icon.png └── css │ └── main.css ├── archetypes └── default.md ├── .editorconfig ├── theme.toml ├── LICENSE.md ├── CHANGELOG.md └── README.md /exampleSite/static/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layouts/partials/tracking.html: -------------------------------------------------------------------------------- 1 | {{ template "_internal/google_analytics.html" . }} -------------------------------------------------------------------------------- /images/tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-type-theme/master/images/tn.png -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-type-theme/master/static/favicon.ico -------------------------------------------------------------------------------- /images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-type-theme/master/images/screenshot.png -------------------------------------------------------------------------------- /static/img/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-type-theme/master/static/img/avatar.png -------------------------------------------------------------------------------- /archetypes/default.md: -------------------------------------------------------------------------------- 1 | +++ 2 | draft = true 3 | tags = [] 4 | categories = [] 5 | featureimage = "" 6 | menu = "" 7 | +++ -------------------------------------------------------------------------------- /static/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-type-theme/master/static/apple-touch-icon.png -------------------------------------------------------------------------------- /static/img/sample_feature_img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-type-theme/master/static/img/sample_feature_img.png -------------------------------------------------------------------------------- /layouts/_default/list.html: -------------------------------------------------------------------------------- 1 | {{ define "main" -}} 2 | {{ partial "tags-list.html" . }} 3 | {{ partial "pagination.html" . }} 4 | {{- end }} 5 | -------------------------------------------------------------------------------- /static/img/sample_feature_img_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-type-theme/master/static/img/sample_feature_img_2.png -------------------------------------------------------------------------------- /static/img/sample_feature_img_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digitalcraftsman/hugo-type-theme/master/static/img/sample_feature_img_3.png -------------------------------------------------------------------------------- /exampleSite/content/post/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | aliases = ["posts","articles","blog","showcase"] 3 | title = "Posts" 4 | author = "Hugo Authors" 5 | tags = ["index"] 6 | +++ -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | indent_size = 2 8 | indent_style = tab 9 | end_of_line = lf 10 | trim_trailing_whitespace = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | 15 | [*.{html,css,js,yaml,toml,json}] 16 | indent_size = 4 -------------------------------------------------------------------------------- /layouts/_default/terms.html: -------------------------------------------------------------------------------- 1 | {{ define "main" -}} 2 |
3 |
4 | {{ range .Pages -}} 5 |
6 |

{{ .Title }}

7 |
8 | {{- end }} 9 |
10 |
11 | {{- end }} 12 | -------------------------------------------------------------------------------- /layouts/_default/baseof.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ partial "head.html" . }} 4 | 5 | {{ partial "nav.html" . }} 6 | 7 |
8 | {{ block "main" . -}}{{- end }} 9 |
10 | 11 | {{ partial "footer.html" . }} 12 | 13 | 14 | -------------------------------------------------------------------------------- /layouts/partials/related.html: -------------------------------------------------------------------------------- 1 | {{ $related := where (.Site.RegularPages.Related .) "Type" "in" site.Params.mainSections | first 5 }} 2 | {{ with $related }} 3 |

{{ $.Site.Data.l10n.relatedPagesSectionTitle }}

4 | 9 | {{ end }} -------------------------------------------------------------------------------- /layouts/partials/footer.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | {{ partial "tracking.html" . }} -------------------------------------------------------------------------------- /layouts/partials/post-meta.html: -------------------------------------------------------------------------------- 1 |

2 | {{ .Date.Format "January 2, 2006" }} · {{ .ReadingTime }} {{ .Site.Data.l10n.readingTime }} 3 | 4 | {{ if isset .Params "tags" -}} 5 | {{ $tagsLen := len .Params.tags }} 6 | {{ if gt $tagsLen 0 -}} 7 | · Tags: 8 | {{ range $k, $v := (sort .Params.tags) -}} 9 | {{ . }} 10 | {{ if lt $k (sub $tagsLen 1) }}, {{ end }} 11 | {{- end }} 12 | {{- end }} 13 | {{- end }} 14 |

15 | -------------------------------------------------------------------------------- /layouts/partials/pagination.html: -------------------------------------------------------------------------------- 1 | 18 | -------------------------------------------------------------------------------- /layouts/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ partial "head.html" . }} 4 | 5 | {{ partial "nav.html" . }} 6 |
7 |
8 |
9 |

{{ .Site.Data.l10n.pageNotFoundTitle }}

10 |
11 |
12 | {{ .Site.Data.l10n.pageNotFoundSubtitle }} 13 |
14 |
15 | 16 | {{ partial "footer.html" . }} 17 |
18 | 19 | -------------------------------------------------------------------------------- /layouts/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ partial "head.html" . }} 4 | 5 | {{ partial "nav.html" . }} 6 | 7 |
8 |
9 | 10 | {{ if .Site.Params.headerText | or .Site.Params.headerImage }} 11 |
12 | {{ .Site.Params.headerText | markdownify }} 13 |
14 | {{ end }} 15 | 16 | {{ partial "post-list.html" . }} 17 | {{ partial "pagination.html" . }} 18 | 19 | {{ partial "footer.html" . }} 20 | 21 |
22 |
23 | 24 | 25 | -------------------------------------------------------------------------------- /theme.toml: -------------------------------------------------------------------------------- 1 | name = "Type" 2 | license = "MIT" 3 | licenselink = "https://github.com/digitalcraftsman/hugo-type-theme/blob/master/LICENSE.md" 4 | description = "A free and open-source Hugo theme. Great for blogs and easy to customize." 5 | homepage = "https://github.com/digitalcraftsman/hugo-type-theme" 6 | tags = ["blog", "disqus", "google analytics", "minimalistic"] 7 | features = [] 8 | min_version = "0.53" 9 | 10 | [author] 11 | name = "Digitalcraftsman" 12 | homepage = "https://github.com/digitalcraftsman" 13 | 14 | # If porting an existing theme 15 | [original] 16 | name = "Rohan Chandra" 17 | homepage = "https://rohanchandra.github.io" 18 | repo = "https://github.com/rohanchandra/type-theme" 19 | -------------------------------------------------------------------------------- /layouts/partials/tags-list.html: -------------------------------------------------------------------------------- 1 |
2 | {{ $paginator := .Paginate .Pages }} 3 | {{ range $paginator.Pages -}} 4 |
5 |
6 |

7 | 8 | {{ .Title }} 9 | 10 |

11 | {{ partial "post-meta" . }} 12 |
13 | 14 |
15 | {{ if isset .Params "description" | and (ne .Params.description "") -}} 16 | {{ .Description | markdownify }} 17 | {{- else -}} 18 | {{ .Summary }} 19 | {{- end }} 20 | 21 |
22 | 23 | {{ .Site.Data.l10n.continueReading }} 24 | 25 |
26 |
27 | {{- end }} 28 |
29 | -------------------------------------------------------------------------------- /layouts/partials/nav.html: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /layouts/partials/post-list.html: -------------------------------------------------------------------------------- 1 |
2 | {{ $paginator := .Paginate (where site.RegularPages "Type" "in" site.Params.mainSections) }} 3 | {{ range $paginator.Pages -}} 4 |
5 |
6 |

7 | 8 | {{ .Title }} 9 | 10 |

11 | {{ partial "post-meta" . }} 12 |
13 | 14 |
15 | {{ if isset .Params "description" | and (ne .Params.description "") -}} 16 | {{ .Description | markdownify }} 17 | {{- else -}} 18 | {{ .Summary }} 19 | {{- end }} 20 | 21 |
22 | 23 | {{ .Site.Data.l10n.continueReading }} 24 | 25 |
26 |
27 | {{- end }} 28 |
29 | -------------------------------------------------------------------------------- /layouts/_default/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main" -}} 2 | {{ if and (isset .Params "featureimage") (not (eq .Params.featureimage "")) -}} 3 |
4 |
5 |

{{ .Title }}

6 |
7 | {{- else -}} 8 |
9 |
10 |

{{ .Title }}

11 | {{ partial "post-meta" . }} 12 |
13 | {{- end }} 14 | 15 |
16 | {{ .Content }} 17 | 18 | {{ if (not (eq .Site.DisqusShortname "")) | and (not .Params.disableComments) }} 19 |
20 | {{ template "_internal/disqus.html" . }} 21 | {{ end }} 22 | 23 |
24 | {{ partial "related" . }} 25 |
26 |
27 | {{- end }} -------------------------------------------------------------------------------- /exampleSite/content/post/rich-content.md: -------------------------------------------------------------------------------- 1 | +++ 2 | author = "Hugo Authors" 3 | title = "Rich Content" 4 | date = "2019-03-10" 5 | description = "A brief description of Hugo Shortcodes" 6 | tags = [ 7 | "shortcodes", 8 | "privacy", 9 | ] 10 | +++ 11 | 12 | Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugo-s-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds. 13 | 14 | --- 15 | 16 | ## Instagram Simple Shortcode 17 | 18 | {{< instagram_simple BGvuInzyFAe hidecaption >}} 19 | 20 |
21 | 22 | --- 23 | 24 | ## YouTube Privacy Enhanced Shortcode 25 | 26 | {{< youtube ZJthWmvUzzc >}} 27 | 28 |
29 | 30 | --- 31 | 32 | ## Twitter Simple Shortcode 33 | 34 | {{< twitter_simple 1085870671291310081 >}} 35 | 36 |
37 | 38 | --- 39 | 40 | ## Vimeo Simple Shortcode 41 | 42 | {{< vimeo_simple 48912912 >}} 43 | -------------------------------------------------------------------------------- /exampleSite/data/l10n.toml: -------------------------------------------------------------------------------- 1 | # Pagination buttons 2 | previous = "Prev" 3 | next = "Next" 4 | 5 | # Post list 6 | readingTime = "minute read" # e.g. 3 minute read 7 | continueReading = "Continue reading" 8 | 9 | # Single content page 10 | relatedPagesSectionTitle = "See also" 11 | 12 | # 404.html 13 | pageNotFoundTitle = "Page not found" 14 | pageNotFoundSubtitle = "Sorry, the requested page wasn’t found on the server." 15 | 16 | # Social networks 17 | # Text will be shown while hovering the navigation icons 18 | rssSubscribe = "Subcribe" 19 | email = "Email" 20 | behance = "Behance" 21 | bitbucket = "Bitbucket" 22 | dribbble = "Dribbble" 23 | facebook = "Facebook" 24 | flickr = "Flickr" 25 | github = "GitHub" 26 | googleplus = "Google+" 27 | instagram = "Instagram" 28 | linkedin = "LinkedIn" 29 | pinterest = "Pinterest" 30 | reddit = "Reddit" 31 | soundcloud = "SoundCloud" 32 | stackexchange = "Stack Exchange" 33 | steam = "Steam" 34 | tumblr = "Tumblr" 35 | twitter = "Twitter" 36 | wordpress = "WordPress" 37 | youtube = "YouTube" 38 | gitlab = "Gitlab" 39 | trello = "Trello" 40 | meetup = "Meetup" 41 | speakerdeck = "Speaker Deck" -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Rohan Chandra 4 | Copyright (c) 2015 [digitalcraftsman](//github.com/digitalcraftsman) 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. -------------------------------------------------------------------------------- /exampleSite/content/about.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "About" 3 | description = "Hugo, the world’s fastest framework for building websites" 4 | date = "2019-02-28" 5 | aliases = ["about-us","about-hugo","contact"] 6 | author = "Hugo Authors" 7 | featureimage = "img/sample_feature_img.png" 8 | menu = "nav" 9 | +++ 10 | 11 | Written in Go, Hugo is an open source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows. 12 | 13 | Hugo makes use of a variety of open source projects including: 14 | 15 | * https://github.com/russross/blackfriday 16 | * https://github.com/alecthomas/chroma 17 | * https://github.com/muesli/smartcrop 18 | * https://github.com/spf13/cobra 19 | * https://github.com/spf13/viper 20 | 21 | Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single page applications or even a website with thousands of pages. 22 | 23 | Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases. 24 | 25 | Websites built with Hugo are extremelly fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider. 26 | 27 | Learn more and contribute on [GitHub](https://github.com/gohugoio). 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ### v1.4 4 | 5 | **This release requires Hugo v0.53 or greater** 6 | 7 | - Highlight.js has been replaced by Chroma (Hugo's built-in syntax highlighter) 8 | - Content on the homepage is only displayed if it's in `.Site.Params.mainSections` 9 | - Related content will be listed at the bottom of a blog post 10 | - Taxonomy terms like tags and categories displayed on their own page, i.e. `/tags/hugo` 11 | - The Google Analytics template has been wrapped in the `tracking.html` partial to ease an override 12 | - Upgrade Fontawesome to 5.8.0 13 | - The header image on the homepage can now be used without a header text 14 | - Add support for an apple-touch-icon 15 | - Add Speakerdeck icon 16 | 17 | ### v1.3 18 | 19 | **This release requires Hugo v0.19 or greater** due to the deprecation of the `.Now` attribute. 20 | 21 | Furthermore, the `exampleSite` folder has become a standalone demo by modified the `themesDir` property in the `config.toml`. Make sure to comment out `themesDir` in the config file if you use the theme in production. [Read more](/README.md#setup) 22 | 23 | The addition of the `disableComments` variable in the frontmatter the comment section can be disabled on individual pages. 24 | 25 | 26 | ### v1.2 27 | 28 | - Update hightlight.js and fontawesome 29 | - Add Gitlab and Trello icon 30 | 31 | ### v1.1 32 | 33 | **This release requires Hugo v0.16 or greater**. The Gravatar image required the manual creation 34 | of an MD5 hash in order to generate an avatar. Now, this is done automatically. The avatar still 35 | depends on the `gravatar` variable in the config file. 36 | -------------------------------------------------------------------------------- /layouts/partials/head.html: -------------------------------------------------------------------------------- 1 | 2 | {{ .Title}}{{ if not .IsHome }} · {{ .Site.Title }}{{ end }} 3 | 4 | 5 | {{ with .Site.Params.author }}{{ end }} 6 | {{ with .Site.Params.description }}{{ end }} 7 | {{ with .Site.Params.keywords }}{{ end }} 8 | {{ hugo.Generator }} 9 | 10 | {{ template "_internal/opengraph.html" . }} 11 | 12 | {{ "" | safeHTML }} 13 | 14 | 15 | {{ "" | safeHTML }} 16 | 17 | 18 | 19 | {{ with .OutputFormats.Get "rss" -}} 20 | {{ "" | safeHTML }} 21 | {{ printf `` .Permalink .Rel .MediaType.Type $.Site.Title | safeHTML }} 22 | {{- end }} 23 | 24 | {{ "" | safeHTML }} 25 | 26 | 27 | 28 | 29 | {{ "" | safeHTML }} 30 | 31 | 32 | -------------------------------------------------------------------------------- /exampleSite/config.toml: -------------------------------------------------------------------------------- 1 | baseurl = "https://www.example.com/" 2 | languageCode = "en-us" 3 | title = "Type theme" 4 | theme = "hugo-type-theme" 5 | # Enable comments by entering your Disqus shortname 6 | disqusShortname = "spf13" 7 | # Add your tracking code to enable Google Analytics 8 | googleAnalytics = "" 9 | # Posts per page 10 | paginate = 10 11 | # Comment the themesDir option if you use this theme in production 12 | themesDir = "../.." 13 | 14 | 15 | [params] 16 | author = "Your name" 17 | description = "Add a description of your website" 18 | # The keywords will be added as a meta tag. Delimit them with a comma. 19 | keywords = "" 20 | # Either show custom avatar on the top 21 | # left by adding the filename in below 22 | avatar = "img/avatar.png" 23 | # or use Gravatar by adding your email address to generate a unique avatar 24 | gravatar = "your@email.com" 25 | 26 | headerText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Remove all header text in **config.toml** to disable this feature." 27 | # To add a header background to the main site, save your image under static/img/yourimage.png 28 | # and assign "yourimage.png" to the headerImage variable. If no image path is provided, a 29 | # orange background will be shown instead. 30 | headerImage = "" 31 | copyright = "Released under the MIT license
Powered by [Hugo](https://gohugo.io/) with the [Type Theme](https://github.com/digitalcraftsman/hugo-type-theme)" 32 | 33 | # Set title for Hugo's opengraph template 34 | title = "Type theme" 35 | 36 | [taxonomies] 37 | # Use the series taxonomy to group blog posts in series. Related articles in the series 38 | # will be used by Hugo's opengraph template 39 | series = "series" 40 | tags = "tags" 41 | categories = "categories" 42 | 43 | # Define which types of content shall be displayed on the homepage. By default Hugo uses 44 | # types with the most content files. 45 | # mainSections = [] 46 | 47 | [params.social] 48 | # Insert your accout name and the icon will be shown in the right menu 49 | rss = true 50 | homepage = true 51 | email = "hello@example.com" 52 | behance = "" 53 | bitbucket ="" 54 | dribbble = "" 55 | facebook = "" 56 | flickr = "" 57 | github = "digitalcraftsman/hugo-type-theme" 58 | googleplus = "" 59 | instagram = "" 60 | linkedin = "" 61 | pinterest = "" 62 | reddit = "" 63 | soundcloud = "" 64 | stackexchange = "" 65 | steam = "" 66 | tumblr = "" 67 | twitter = "" 68 | wordpress = "" 69 | youtube = "" 70 | gitlab = "" 71 | trello = "" 72 | meetup = "" 73 | speackerdeck = "" -------------------------------------------------------------------------------- /exampleSite/content/post/placeholder-text.md: -------------------------------------------------------------------------------- 1 | +++ 2 | author = "Hugo Authors" 3 | title = "Placeholder Text" 4 | date = "2019-03-09" 5 | description = "Lorem Ipsum Dolor Si Amet" 6 | tags = [ 7 | "markdown", 8 | "text", 9 | ] 10 | +++ 11 | 12 | # Vagus elidunt 13 | 14 | 15 | 16 | [The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon) 17 | 18 | ## Mole et vultus populifer quaque primoque non 19 | 20 | Lorem est tota propiore conpellat pectoribus de 21 | pectora summo. Redit teque digerit hominumque toris verebor lumina non cervice 22 | subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc 23 | caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis 24 | lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum. 25 | 26 | 1. Exierant elisi ambit vivere dedere 27 | 2. Duce pollice 28 | 3. Eris modo 29 | 4. Spargitque ferrea quos palude 30 | 31 | Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus 32 | silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria 33 | tractus malis. 34 | 35 | 1. Comas hunc haec pietate fetum procerum dixit 36 | 2. Post torum vates letum Tiresia 37 | 3. Flumen querellas 38 | 4. Arcanaque montibus omnes 39 | 5. Quidem et 40 | 41 | ## Mane refeci capiebant unda mulcebat 42 | 43 | Victa caducifer, malo vulnere contra 44 | dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere 45 | furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis. 46 | 47 | Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli 48 | Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare 49 | Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert 50 | ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae 51 | vulnus haerentia iuste et exercebat, sui et. 52 | 53 | Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, *oculos nomen* non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem 54 | Propoetides **parte**. 55 | 56 | {{< css.inline >}} 57 | 60 | {{< /css.inline >}} -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Type 2 | 3 | A free and open-source ~~Jekyll~~ Hugo theme. Great for blogs and easy to customize. This theme is a port of the original [Type theme](https://github.com/rohanchandra/type-theme) made by [Rohan Chandra](https://github.com/rohanchandra). Noteworthy features of this Hugo theme are the integration of a comment-system powered by Disqus, Google Analytics and localization (l10n) support. 4 | 5 | #### Please not that this theme is no longer maintained. 6 | 7 | ![](https://raw.githubusercontent.com/digitalcraftsman/hugo-type-theme/dev/images/screenshot.png) 8 | 9 | 10 | ## Get the theme 11 | 12 | I assume you've Git installed. Inside the folder of your Hugo site run 13 | 14 | $ cd themes 15 | $ git clone https://github.com/digitalcraftsman/hugo-type-theme.git 16 | 17 | You should see a folder called `hugo-type-theme` inside the `themes` directory that we created a few moments ago. For more information read the official [setup guide](https://gohugo.io/overview/installing/) of Hugo. 18 | 19 | 20 | ## Setup 21 | 22 | Next, navigate to the `exampleSite` folder at `themes/hugo-type-theme/exampleSite/`. In order to get your site running, you need to copy `config.toml` and all the content of all relevant subfolders such as `data/l10n.toml` into the root folders. 23 | 24 | To turn the `exampleSite` folder in a standalone demo site the `themesDir` property has been set to `../..`. This way you can preview this theme by running `hugo server` inside `exampleSite` folder. 25 | 26 | **Due to the customized `themesDir` path Hugo will fail to find themes if you copied the `config.toml` into the root directory of a regular Hugo website.** Make sure you comment out the `themesDir` property if you use the theme in production. 27 | 28 | 29 | ## The config file 30 | 31 | Now, let us take a look into the `config.toml`. Feel free to play around with the settings. 32 | 33 | ### Comments 34 | 35 | The optional comment system is powered by Disqus. Enter your shortname to enable the comment section under your posts. 36 | 37 | disqusShortname = "" 38 | 39 | With the `disableComments` frontmatter parameter you can disable the comment section for each page individually. 40 | 41 | ### Google Analytics 42 | 43 | The same applies to the activation of Google Analytics. Enable it by entering the tracking code for your website. 44 | 45 | googleAnalytics = "" 46 | 47 | 48 | ## Menu links 49 | 50 | You can define menu entries as you like by linking a post or any other site. First, let us link a post that you've written. We can do this in the frontmatter of the post's content file by setting `menu` to `nav`. That's it. 51 | 52 | +++ 53 | menu = "nav" 54 | +++ 55 | 56 | 57 | ## Localization (l10n) 58 | 59 | You don't blog in English and you want to translate the theme into your native locale? No problem. Take a look in the `data` folder and you'll find a file `l10n.toml` that we've copied at the beginning. It contains all strings related to the theme. Just replace the original strings with your own. 60 | 61 | 62 | ## Linking thumbnails 63 | 64 | After creating a new post you can define a thumbnail by entering the relative path to the image in the frontmatter of the post: 65 | 66 | +++ 67 | featureimage = "img/sample_feature_img.png" 68 | +++ 69 | 70 | This way you can store them either next to the content file or in the `static` folder. 71 | 72 | ## About page 73 | 74 | If you want to tell your audience who you are create a new file called `about.md` under `content`. For an example look at `exampleSite/content/about.md` inside the theme folder. 75 | 76 | 77 | ## Nearly finished 78 | 79 | In order to see your site in action, run Hugo's built-in local server. 80 | 81 | $ hugo server 82 | 83 | Now enter [`localhost:1313`](http://localhost:1313) in the address bar of your browser. 84 | 85 | 86 | ## Contributing 87 | 88 | Have you found a bug or got an idea for a new feature? Feel free to use the [issue tracker](//github.com/digitalcraftsman/hugo-type-theme/issues) to let me know. Or make directly a [pull request](//github.com/digitalcraftsman/hugo-type-theme/pulls). 89 | 90 | Please create a separate branch for each pull request 91 | 92 | 93 | ## License 94 | 95 | This theme is released under the MIT license. For more information read the [license](https://github.com/digitalcraftsman/hugo-type-theme/blob/master/LICENSE.md). 96 | 97 | 98 | ## Acknowledgements 99 | 100 | Thanks to 101 | 102 | - [Rohan Chandra](https://github.com/rohanchandra) for creating the original theme 103 | - [Steve Francia](https:////github.com/spf13) for creating Hugo and the awesome community around the project. 104 | - [Andy Grunwald](https://github.com/andygrunwald) for contributing numerous improvements 105 | -------------------------------------------------------------------------------- /exampleSite/content/post/markdown-syntax.md: -------------------------------------------------------------------------------- 1 | +++ 2 | author = "Hugo Authors" 3 | title = "Markdown Syntax Guide" 4 | date = "2019-03-11" 5 | description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements." 6 | tags = [ 7 | "markdown", 8 | "css", 9 | "html", 10 | "themes", 11 | ] 12 | categories = [ 13 | "themes", 14 | "syntax", 15 | ] 16 | series = ["Themes Guide"] 17 | aliases = ["migrate-from-jekyl"] 18 | +++ 19 | 20 | This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme. 21 | 22 | 23 | ## Headings 24 | 25 | The following HTML `

`—`

` elements represent six levels of section headings. `

` is the highest section level while `

` is the lowest. 26 | 27 | # H1 28 | ## H2 29 | ### H3 30 | #### H4 31 | ##### H5 32 | ###### H6 33 | 34 | ## Paragraph 35 | 36 | Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. 37 | 38 | Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. 39 | 40 | ## Blockquotes 41 | 42 | The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations. 43 | 44 | #### Blockquote without attribution 45 | 46 | > Tiam, ad mint andaepu dandae nostion secatur sequo quae. 47 | > **Note** that you can use *Markdown syntax* within a blockquote. 48 | 49 | #### Blockquote with attribution 50 | 51 | > Don't communicate by sharing memory, share memory by communicating.

52 | > — Rob Pike[^1] 53 | 54 | 55 | [^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015. 56 | 57 | ## Tables 58 | 59 | Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box. 60 | 61 | Name | Age 62 | --------|------ 63 | Bob | 27 64 | Alice | 23 65 | 66 | #### Inline Markdown within tables 67 | 68 | | Inline    | Markdown    | In    | Table | 69 | | ---------- | --------- | ----------------- | ---------- | 70 | | *italics* | **bold** | ~~strikethrough~~    | `code` | 71 | 72 | ## Code Blocks 73 | 74 | #### Code block with backticks 75 | 76 | ``` 77 | html 78 | 79 | 80 | 81 | 82 | Example HTML5 Document 83 | 84 | 85 |

Test

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

Test

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

Test

112 | 113 | 114 | {{< /highlight >}} 115 | 116 | ## List Types 117 | 118 | #### Ordered List 119 | 120 | 1. First item 121 | 2. Second item 122 | 3. Third item 123 | 124 | #### Unordered List 125 | 126 | * List item 127 | * Another item 128 | * And another item 129 | 130 | #### Nested list 131 | 132 | * Item 133 | 1. First Sub-item 134 | 2. Second Sub-item 135 | 136 | ## Other Elements — abbr, sub, sup, kbd, mark 137 | 138 | GIF is a bitmap image format. 139 | 140 | H2O 141 | 142 | Xn + Yn = Zn 143 | 144 | Press CTRL+ALT+Delete to end the session. 145 | 146 | Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. 147 | 148 | -------------------------------------------------------------------------------- /layouts/partials/icons.html: -------------------------------------------------------------------------------- 1 | {{ with .Site.Params.social.homepage -}} 2 |
  • 3 | 4 | 5 | 6 |
  • 7 | {{- end }} 8 | 9 | {{ if .Site.Params.social.rss -}} 10 |
  • 11 | 12 | 13 | 14 |
  • 15 | {{- end }} 16 | 17 | {{ with .Site.Params.social.email -}} 18 |
  • 19 | 20 | 21 | 22 |
  • 23 | {{- end }} 24 | 25 | {{ with .Site.Params.social.behance -}} 26 |
  • 27 | 28 | 29 | 30 |
  • 31 | {{- end }} 32 | 33 | {{ with .Site.Params.social.bitbucket -}} 34 |
  • 35 | 36 | 37 | 38 |
  • 39 | {{- end }} 40 | 41 | {{ with .Site.Params.social.dribbble -}} 42 |
  • 43 | 44 | 45 | 46 |
  • 47 | {{- end }} 48 | 49 | {{ with .Site.Params.social.facebook -}} 50 |
  • 51 | 52 | 53 | 54 |
  • 55 | {{- end }} 56 | 57 | {{ with .Site.Params.social.flickr -}} 58 |
  • 59 | 60 | 61 | 62 |
  • 63 | {{- end }} 64 | 65 | {{ with .Site.Params.social.github -}} 66 |
  • 67 | 68 | 69 | 70 |
  • 71 | {{- end }} 72 | 73 | {{ with .Site.Params.social.googleplus -}} 74 |
  • 75 | 76 | 77 | 78 |
  • 79 | {{- end }} 80 | 81 | {{ with .Site.Params.social.instagram -}} 82 |
  • 83 | 84 | 85 | 86 |
  • 87 | {{- end }} 88 | 89 | {{ with .Site.Params.social.linkedin -}} 90 |
  • 91 | 92 | 93 | 94 |
  • 95 | {{- end }} 96 | 97 | {{ with .Site.Params.social.pinterest -}} 98 |
  • 99 | 100 | 101 | 102 |
  • 103 | {{- end }} 104 | 105 | {{ with .Site.Params.social.reddit -}} 106 |
  • 107 | 108 | 109 | 110 |
  • 111 | {{- end }} 112 | 113 | {{ with .Site.Params.social.soundcloud -}} 114 |
  • 115 | 116 | 117 | 118 |
  • 119 | {{- end }} 120 | 121 | {{ with .Site.Params.social.stackexchange -}} 122 |
  • 123 | 124 | 125 | 126 |
  • 127 | {{- end }} 128 | 129 | {{ with .Site.Params.social.steam -}} 130 |
  • 131 | 132 | 133 | 134 |
  • 135 | {{- end }} 136 | 137 | {{ with .Site.Params.social.tumblr -}} 138 |
  • 139 | 140 | 141 | 142 |
  • 143 | {{- end }} 144 | 145 | {{ with .Site.Params.social.twitter -}} 146 |
  • 147 | 148 | 149 | 150 |
  • 151 | {{- end }} 152 | 153 | {{ with .Site.Params.social.wordpress -}} 154 |
  • 155 | 156 | 157 | 158 |
  • 159 | {{- end }} 160 | 161 | {{ with .Site.Params.social.youtube -}} 162 |
  • 163 | 164 | 165 | 166 |
  • 167 | {{- end }} 168 | 169 | {{ with .Site.Params.social.trello -}} 170 |
  • 171 | 172 | 173 | 174 |
  • 175 | {{- end }} 176 | 177 | {{ with .Site.Params.social.gitlab -}} 178 |
  • 179 | 180 | 181 | 182 |
  • 183 | {{- end }} 184 | 185 | {{ with .Site.Params.social.meetup -}} 186 |
  • 187 | 188 | 189 | 190 |
  • 191 | {{- end }} 192 | 193 | {{ with .Site.Params.social.speakerdeck -}} 194 |
  • 195 | 196 | 197 | 198 |
  • 199 | {{- end }} 200 | -------------------------------------------------------------------------------- /static/css/main.css: -------------------------------------------------------------------------------- 1 | /*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.hll{background-color:#ffc}.c{color:#999988;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{color:#000000;font-weight:bold}.o{color:#000000;font-weight:bold}.cm{color:#999988;font-style:italic}.cp{color:#999999;font-weight:bold;font-style:italic}.c1{color:#999988;font-style:italic}.cs{color:#999999;font-weight:bold;font-style:italic}.gd{color:#000000;background-color:#fdd}.ge{color:#000000;font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000000;background-color:#dfd}.go{color:#888}.gp{color:#555}.gs{font-weight:bold}.gu{color:#aaa}.gt{color:#a00}.kc{color:#000000;font-weight:bold}.kd{color:#000000;font-weight:bold}.kn{color:#000000;font-weight:bold}.kp{color:#000000;font-weight:bold}.kr{color:#000000;font-weight:bold}.kt{color:#445588;font-weight:bold}.m{color:#099}.s{color:#d01040}.na{color:teal}.nb{color:#0086B3}.nc{color:#445588;font-weight:bold}.no{color:teal}.nd{color:#3c5d5d;font-weight:bold}.ni{color:purple}.ne{color:#990000;font-weight:bold}.nf{color:#990000;font-weight:bold}.nl{color:#990000;font-weight:bold}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{color:#000000;font-weight:bold}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d01040}.sc{color:#d01040}.sd{color:#d01040}.s2{color:#d01040}.se{color:#d01040}.sh{color:#d01040}.si{color:#d01040}.sx{color:#d01040}.sr{color:#009926}.s1{color:#d01040}.ss{color:#990073}.bp{color:#999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#099}*{margin:0;padding:0;box-sizing:border-box}html{background:#fff}::selection{background:#D4D4D4}::-moz-selection{background:#D4D4D4}body{color:#383838;font-family:"Source Sans Pro",Helvetica,Arial,sans-serif;font-size:1.25em;word-wrap:break-word}h1,h2,h3,h4,h5,h6{font-family:"Source Sans Pro",Helvetica,Arial,sans-serif;line-height:1.3;margin:0.67em 0}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:#383838}h1{font-size:2.5em}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.15em}blockquote{border-left:2px solid;padding:1em 1em}blockquote p:last-child,footer p:last-child{margin-bottom:0}table{table-layout:fixed;width:100%;word-wrap:break-word}@media (max-width: 1100px){table{overflow-x:scroll;display:inline-block}}td,th{padding:0.5em 1em;border:1px solid rgba(0,0,0,0.1);text-align:left}table,dl,blockquote,code,kbd,pre,samp{margin:1em 0}dt{font-weight:bold}dd{margin-left:2em}p,ol,ul,dl,.math-display{line-height:1.5;margin-bottom:1em}.math-display{display:inline-block;width:100%}ol,ul{list-style-position:inside}hr{border:0;border-top:1px solid rgba(0,0,0,0.1);border-bottom:1px solid #fff;margin:1em 0}a{color:#1ABC9C;text-decoration:none}.nav{list-style:none;margin:0;padding:0}iframe,img,embed,object,video{max-width:100%}img[align=left]{margin-right:3%}img[align=right]{margin-left:3%}.site-header{padding:3% 6%}@media (max-width: 1000px){.site-header{padding:3% 3%}}article,.comments,.feature-image .post-content,.call-out,.posts .post-teaser,.site-footer{padding:5% 20%}@media (max-width: 1000px){article,.comments,.feature-image .post-content,.call-out,.posts .post-teaser,.site-footer{padding:7.5% 12.5%}}article a:hover,.posts .post-teaser p a:hover{text-decoration:underline;color:#117964}.button{border-radius:0.3em;border:1px solid;display:inline-block;margin:1em 0;padding:0.5em 0.75em}a.button:hover{background:#1ABC9C;border:1px solid #1ABC9C;color:#fff;text-decoration:none}.disabled{opacity:0.7}article,.comments{border-bottom:1px solid rgba(0,0,0,0.1);float:left;width:100%}article header{margin-bottom:6%;text-align:center}article .footnotes{font-size:0.9em}header h1{margin:0}header .meta{color:rgba(56,56,56,0.5);font-size:0.9em;letter-spacing:0.1em;margin:0;text-transform:uppercase}.feature-image{padding:0%}.feature-image .post-link{color:#fff}.feature-image header{color:#fff;background-size:cover;margin-bottom:0;padding:8% 20%}.feature-image header .meta{color:rgba(255,255,255,0.7)}.call-out{display:inline-block;width:100%;background-color:#F98752;background-size:cover;font-size:1.2em;text-align:center;color:#FFF}.call-out p:last-child{margin-bottom:0}.posts .post-teaser{width:100%;margin-bottom:0;display:inline-block;background-size:cover;border-bottom:1px solid rgba(0,0,0,0.1)}.posts .excerpt{margin-top:1em}.pagination .button{margin:0 1.5em}.pagination .button i{vertical-align:middle}.pagination{padding:5% 20% 0 20%;text-align:center}.site-header{background:#fff;border-bottom:1px solid rgba(0,0,0,0.1);display:inline-block;float:left;width:100%}.site-header a{color:#383838}.site-header .avatar{height:2em;width:2em;float:left;margin-top:-3px;border-radius:0.2em;margin-right:1em}.site-header .site-title{float:left;font-weight:bold;font-size:1em;line-height:1.5}.site-header .site-nav ul{margin:0;padding:0;list-style:none;line-height:1.5;float:right;text-align:right}.site-header .site-nav li{display:inline;float:left;margin-right:0.4em}@media (max-width: 1100px){.site-header .site-nav ul{display:inline-block;float:left;padding-top:5%;text-align:left;width:100%}}.site-footer{display:inline-block;text-align:center;width:100%;color:#858585;font-size:0.9em} 2 | 3 | /* CUSTOM CSS */ 4 | 5 | /* see #6 */ 6 | .highlighttable td,th{padding:0;border:0;}td.code{width:95%;} 7 | /* needed for chroma-based highlight */ 8 | div.highlight > pre {padding: 10px;font-size: 0.8em;} 9 | 10 | p code, 11 | li code { 12 | /* colors derived from dracula */ 13 | background-color: rgba(27,31,35,0.05); 14 | color: #24292e; 15 | padding: 0 5px; 16 | } --------------------------------------------------------------------------------