├── archetypes └── default.md ├── images ├── tn.png └── screenshot.png ├── static ├── favicon.ico ├── mstile-70x70.png ├── favicon-16x16.png ├── favicon-32x32.png ├── mstile-144x144.png ├── mstile-150x150.png ├── mstile-310x150.png ├── mstile-310x310.png ├── apple-touch-icon.png ├── fonts │ ├── FiraSans-Bold.eot │ ├── FiraSans-Bold.ttf │ ├── FiraSans-Bold.woff │ ├── FiraSans-Book.eot │ ├── FiraSans-Book.ttf │ ├── FiraSans-Book.woff │ ├── FiraSans-Light.eot │ ├── FiraSans-Light.ttf │ ├── FiraCode-Regular.eot │ ├── FiraCode-Regular.otf │ ├── FiraCode-Regular.ttf │ ├── FiraSans-Bold.woff2 │ ├── FiraSans-Book.woff2 │ ├── FiraSans-Light.woff │ ├── FiraSans-Light.woff2 │ ├── FiraCode-Regular.woff │ ├── FiraCode-Regular.woff2 │ ├── charter_bold-webfont.eot │ ├── charter_bold-webfont.ttf │ ├── charter_bold-webfont.woff │ ├── charter_italic-webfont.eot │ ├── charter_italic-webfont.ttf │ ├── charter_italic-webfont.woff │ ├── charter_regular-webfont.eot │ ├── charter_regular-webfont.ttf │ ├── charter_regular-webfont.woff │ ├── charter_bold_italic-webfont.eot │ ├── charter_bold_italic-webfont.ttf │ ├── charter_bold_italic-webfont.woff │ ├── charter_license.txt │ ├── fira-sans_license.txt │ └── fira-code_license.txt ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── browserconfig.xml ├── icons │ ├── stack-overflow.svg │ ├── facebook.svg │ ├── flickr.svg │ ├── linkedin.svg │ ├── tumblr.svg │ ├── medium.svg │ ├── gitlab.svg │ ├── envelope.svg │ ├── microblog.svg │ ├── twitter.svg │ ├── reddit-alien.svg │ ├── instagram.svg │ ├── github.svg │ ├── keybase.svg │ └── glitch.svg ├── site.webmanifest ├── images │ └── site-logo.svg ├── css │ ├── fonts.css │ └── style.css └── safari-pinned-tab.svg ├── exampleSite ├── archetypes │ └── default.md ├── content │ ├── adding-menu-items.md │ ├── about.md │ └── post │ │ ├── author-bios.md │ │ ├── featured-typefaces.md │ │ └── introducing-indigo.md └── config.toml ├── layouts ├── _default │ ├── taxonomy.html │ ├── list.html │ ├── li.html │ └── single.html ├── index.html ├── partials │ ├── pagenav.html │ ├── header.html │ ├── pagination.html │ ├── footer.html │ ├── head.html │ └── social.html ├── 404.html └── index.xml ├── theme.toml ├── .gitignore ├── LICENSE.md ├── CONTRIBUTING.md ├── config.toml.example ├── CODE_OF_CONDUCT.md ├── README.md └── CHANGELOG.md /archetypes/default.md: -------------------------------------------------------------------------------- 1 | +++ 2 | +++ 3 | -------------------------------------------------------------------------------- /images/tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/images/tn.png -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/favicon.ico -------------------------------------------------------------------------------- /images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/images/screenshot.png -------------------------------------------------------------------------------- /static/mstile-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/mstile-70x70.png -------------------------------------------------------------------------------- /static/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/favicon-16x16.png -------------------------------------------------------------------------------- /static/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/favicon-32x32.png -------------------------------------------------------------------------------- /static/mstile-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/mstile-144x144.png -------------------------------------------------------------------------------- /static/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/mstile-150x150.png -------------------------------------------------------------------------------- /static/mstile-310x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/mstile-310x150.png -------------------------------------------------------------------------------- /static/mstile-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/mstile-310x310.png -------------------------------------------------------------------------------- /static/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/apple-touch-icon.png -------------------------------------------------------------------------------- /static/fonts/FiraSans-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraSans-Bold.eot -------------------------------------------------------------------------------- /static/fonts/FiraSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraSans-Bold.ttf -------------------------------------------------------------------------------- /static/fonts/FiraSans-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraSans-Bold.woff -------------------------------------------------------------------------------- /static/fonts/FiraSans-Book.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraSans-Book.eot -------------------------------------------------------------------------------- /static/fonts/FiraSans-Book.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraSans-Book.ttf -------------------------------------------------------------------------------- /static/fonts/FiraSans-Book.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraSans-Book.woff -------------------------------------------------------------------------------- /static/fonts/FiraSans-Light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraSans-Light.eot -------------------------------------------------------------------------------- /static/fonts/FiraSans-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraSans-Light.ttf -------------------------------------------------------------------------------- /static/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/android-chrome-192x192.png -------------------------------------------------------------------------------- /static/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/android-chrome-512x512.png -------------------------------------------------------------------------------- /static/fonts/FiraCode-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraCode-Regular.eot -------------------------------------------------------------------------------- /static/fonts/FiraCode-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraCode-Regular.otf -------------------------------------------------------------------------------- /static/fonts/FiraCode-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraCode-Regular.ttf -------------------------------------------------------------------------------- /static/fonts/FiraSans-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraSans-Bold.woff2 -------------------------------------------------------------------------------- /static/fonts/FiraSans-Book.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraSans-Book.woff2 -------------------------------------------------------------------------------- /static/fonts/FiraSans-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraSans-Light.woff -------------------------------------------------------------------------------- /static/fonts/FiraSans-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraSans-Light.woff2 -------------------------------------------------------------------------------- /static/fonts/FiraCode-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraCode-Regular.woff -------------------------------------------------------------------------------- /static/fonts/FiraCode-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/FiraCode-Regular.woff2 -------------------------------------------------------------------------------- /static/fonts/charter_bold-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/charter_bold-webfont.eot -------------------------------------------------------------------------------- /static/fonts/charter_bold-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/charter_bold-webfont.ttf -------------------------------------------------------------------------------- /static/fonts/charter_bold-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/charter_bold-webfont.woff -------------------------------------------------------------------------------- /exampleSite/archetypes/default.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{ replace .Name "-" " " | title }}" 3 | date: {{ .Date }} 4 | draft: true 5 | --- 6 | -------------------------------------------------------------------------------- /static/fonts/charter_italic-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/charter_italic-webfont.eot -------------------------------------------------------------------------------- /static/fonts/charter_italic-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/charter_italic-webfont.ttf -------------------------------------------------------------------------------- /static/fonts/charter_italic-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/charter_italic-webfont.woff -------------------------------------------------------------------------------- /static/fonts/charter_regular-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/charter_regular-webfont.eot -------------------------------------------------------------------------------- /static/fonts/charter_regular-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/charter_regular-webfont.ttf -------------------------------------------------------------------------------- /static/fonts/charter_regular-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/charter_regular-webfont.woff -------------------------------------------------------------------------------- /static/fonts/charter_bold_italic-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/charter_bold_italic-webfont.eot -------------------------------------------------------------------------------- /static/fonts/charter_bold_italic-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/charter_bold_italic-webfont.ttf -------------------------------------------------------------------------------- /static/fonts/charter_bold_italic-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AngeloStavrow/indigo/HEAD/static/fonts/charter_bold_italic-webfont.woff -------------------------------------------------------------------------------- /static/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #00aba9 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /layouts/_default/taxonomy.html: -------------------------------------------------------------------------------- 1 | {{ partial "header.html" . }} 2 |

3 | {{ .Section }}: 4 | {{ .Title }} 5 |

6 | 7 |
8 | {{ range.Pages }} 9 | {{ .Render "li" }} 10 | {{ end }} 11 |
12 | {{ partial "footer.html" . }} 13 | -------------------------------------------------------------------------------- /layouts/_default/list.html: -------------------------------------------------------------------------------- 1 | {{ partial "header.html" . }} 2 |

{{ .Title }}

3 |
4 | {{ range $index, $page := (.Paginate (where .Site.RegularPages "Type" "in" site.Params.mainSections)).Pages }} 5 | {{ if ne $index 0 }} 6 | {{ end }} 7 | {{ .Render "li" }} 8 | {{ end }} 9 |
10 | {{ partial "footer.html" . }} 11 | -------------------------------------------------------------------------------- /static/icons/stack-overflow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/icons/facebook.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /exampleSite/content/adding-menu-items.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Adding Page Items" 3 | menu: "main" 4 | draft: false 5 | --- 6 | 7 | Indigo supports adding a simple navigation-style menu items across the top of the site. To do so, simply add a `menu: "main"` entry in your page's front matter (TOML format shown). 8 | 9 | If no date is included in the front matter, then the published date won't be shown (as in this page). -------------------------------------------------------------------------------- /static/icons/flickr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/icons/linkedin.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /exampleSite/content/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "About The Theme" 3 | menu: "main" 4 | draft: false 5 | --- 6 | 7 | Indigo is a lightweight theme for [Hugo][hugo] with [IndieWeb][indieweb] features baked in. It's great for longer-form blogging, placing its focus on distraction-free reading and beautiful typefaces. 8 | 9 | Read more about the theme [here][intro]. 10 | 11 | [hugo]: https://gohugo.io 12 | [indieweb]: https://indieweb.org/ 13 | [intro]: /post/introducing-indigo -------------------------------------------------------------------------------- /static/icons/tumblr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/icons/medium.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /layouts/index.html: -------------------------------------------------------------------------------- 1 | 2 | {{ partial "header.html" . }} 3 | 4 | 5 |
6 | {{ range $index, $page := (.Paginate (where (where .Site.RegularPages "Type" "in" site.Params.mainSections) ".Params.hidden" "!=" "true" )).Pages }} 7 | {{ if ne $index 0 }} 8 | {{ end }} 9 | {{ .Render "li" }} 10 | {{ end }} 11 | {{ partial "pagination.html" .Paginator }} 12 |
13 | 14 | 15 | {{ partial "footer.html" . }} -------------------------------------------------------------------------------- /layouts/partials/pagenav.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/icons/gitlab.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "short_name": "", 4 | "icons": [ 5 | { 6 | "src": "/android-chrome-192x192.png", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "/android-chrome-512x512.png", 12 | "sizes": "512x512", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#ffffff", 17 | "background_color": "#ffffff", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /static/icons/envelope.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layouts/_default/li.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | {{ if .Title }} 4 |

{{ .Title }}

5 | {{ end }} 6 | 11 |
12 |
13 | {{ .Summary | plainify | safeHTML }} 14 |
15 | {{ if .Truncated }} 16 |

Read more →

17 | {{ end }} 18 |
-------------------------------------------------------------------------------- /theme.toml: -------------------------------------------------------------------------------- 1 | # theme.toml template for a Hugo theme 2 | # See https://github.com/gohugoio/hugoThemes#themetoml for an example 3 | 4 | name = "Indigo" 5 | license = "MIT" 6 | licenselink = "https://github.com/AngeloStavrow/indigo/blob/master/LICENSE.md" 7 | description = "An IndieWeb-enabled, lightweight blogging theme for Hugo." 8 | homepage = "https://github.com/AngeloStavrow/indigo" 9 | tags = ["blog", "responsive", "minimal"] 10 | features = ["indieweb", "blog"] 11 | min_version = "0.58.3" 12 | 13 | [author] 14 | name = "Angelo Stavrow" 15 | homepage = "https://angelostavrow.com/" 16 | 17 | # If porting an existing theme 18 | [original] 19 | name = "" 20 | homepage = "" 21 | repo = "" -------------------------------------------------------------------------------- /layouts/partials/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ partial "head.html" . }} 4 | 5 | 8 |
9 | {{ partial "pagenav.html" . }} 10 | {{ if not .IsPage }} 11 | 19 | {{ end }} 20 |
21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/macos 3 | # Edit at https://www.gitignore.io/?templates=macos 4 | 5 | ### macOS ### 6 | # General 7 | .DS_Store 8 | .AppleDouble 9 | .LSOverride 10 | 11 | # Icon must end with two \r 12 | Icon 13 | 14 | # Thumbnails 15 | ._* 16 | 17 | # Files that might appear in the root of a volume 18 | .DocumentRevisions-V100 19 | .fseventsd 20 | .Spotlight-V100 21 | .TemporaryItems 22 | .Trashes 23 | .VolumeIcon.icns 24 | .com.apple.timemachine.donotpresent 25 | 26 | # Directories potentially created on remote AFP share 27 | .AppleDB 28 | .AppleDesktop 29 | Network Trash Folder 30 | Temporary Items 31 | .apdisk 32 | 33 | # End of https://www.gitignore.io/api/macos 34 | -------------------------------------------------------------------------------- /layouts/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ partial "head.html" . }} 4 | 5 | 8 |
9 | {{ partial "pagenav.html" . }} 10 |

404

11 |
12 |
13 |
14 |

Whoops.

15 |

16 | The page you were looking for doesn't exist. Would you like to go to the home page? 17 |

18 |
19 |
20 | {{ partial "footer.html" . }} 21 | -------------------------------------------------------------------------------- /static/icons/microblog.svg: -------------------------------------------------------------------------------- 1 | Micro.blogBW -------------------------------------------------------------------------------- /static/fonts/charter_license.txt: -------------------------------------------------------------------------------- 1 | Charter License 2 | 3 | This is a copy of the Char­ter fonts which Bit­stream con­tributed to the X con­sor­tium. This is the orig­i­nal no­tice in­cluded with the fonts: 4 | 5 | (c) Copy­right 1989-1992, Bit­stream Inc., Cam­bridge, MA. You are hereby granted per­mis­sion un­der all Bit­stream pro­pri­ety rights to use, copy, mod­ify, sub­li­cense, sell, and re­dis­trib­ute the 4 Bit­stream Char­ter (r) Type 1 out­line fonts and the 4 Courier Type 1 out­line fonts for any pur­pose and with­out re­stric­tion; pro­vided, that this no­tice is left in­tact on all copies of such fonts and that Bit­stream’s trade­mark is ac­knowl­edged as shown be­low on all un­mod­i­fied copies of the 4 Char­ter Type 1 fonts. BIT­STREAM CHAR­TER is a reg­is­tered trade­mark of Bit­stream Inc. -------------------------------------------------------------------------------- /static/icons/twitter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layouts/partials/pagination.html: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /static/icons/reddit-alien.svg: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /static/icons/instagram.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018-2020 Angelo Stavrow 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /static/icons/github.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layouts/index.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }} 4 | {{ .Permalink }} 5 | Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }} 6 | Hugo -- gohugo.io{{ with .Site.LanguageCode }} 7 | {{.}}{{end}}{{ with .Site.Author.email }} 8 | {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} 9 | {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} 10 | {{.}}{{end}}{{ if not .Date.IsZero }} 11 | {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} 12 | {{ with .OutputFormats.Get "RSS" }} 13 | {{ printf "" .Permalink .MediaType | safeHTML }} 14 | {{ end }} 15 | {{ range .Site.RegularPages }} 16 | 17 | {{ .Title }} 18 | {{ .Permalink }} 19 | {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} 20 | {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}} 21 | {{ .Permalink }} 22 | {{ .Content | html }} 23 | 24 | {{ end }} 25 | 26 | -------------------------------------------------------------------------------- /exampleSite/config.toml: -------------------------------------------------------------------------------- 1 | baseURL = "https://example.com/" 2 | title = "Indigo Theme" 3 | copyright = "Copyright © 2018, Author Name" 4 | languageCode = "en-US" 5 | theme = "indigo" 6 | paginate = 3 7 | 8 | [params] 9 | Author = "Author Name" 10 | Description = "Description of website for head meta tag" 11 | Subtitle = "A subtitle for your site" 12 | Avatar = "images/site-logo.svg" 13 | Biography = "A short description, a few sentences describing the author. Set the 'ShowBio' parameter to false to hide this." 14 | ShowBio = true 15 | PermalinkText = "🔗" 16 | 17 | # Contact/social-network identifiers for social icons 18 | EmailAddress = "email.address@example.com" 19 | FacebookUser = "FacebookUserName" 20 | FlickrUser = "FlickrUserName" 21 | GitHubUser = "GitHubUserName" 22 | GitLabUser = "GitLabUserName" 23 | GlitchUser = "GlitchUserName" 24 | KeybaseUser = "KeybaseUserName" 25 | LinkedInUser = "LinkedInUserName" 26 | MediumUser = "MediumUserName" 27 | MicroBlogUser = "MicroBlogUserName" 28 | RedditUser = "RedditUserName" 29 | StackOverflowUser = "StackOverflowUserName" 30 | TumblrUser = "TumblrUserName" 31 | TwitterUser = "TwitterUserName" 32 | InstagramUser = "InstagramUserName" 33 | 34 | # These are parameters used for indieweb identity. You should set these along 35 | # with the above email/social network parameters. 36 | [params.indieWeb] 37 | EmailAddress = "email.address@example.com" 38 | FlickrUser = "FlickrUserName" 39 | GitHubUser = "GitHubUserName" 40 | TwitterUser = "TwitterUserName" 41 | MicroBlogUser = "MicroBlogUserName" 42 | Country = "CountryName" 43 | City = "CityName" 44 | -------------------------------------------------------------------------------- /layouts/partials/footer.html: -------------------------------------------------------------------------------- 1 | 2 | {{ if .Site.Params.ShowBio }} 3 |
4 | 5 |
6 |

{{ .Site.Params.Author }}

7 |

8 | {{ .Site.Params.IndieWeb.City }}, 9 | {{ .Site.Params.IndieWeb.Country }}
10 | Email me 11 |

12 |
13 |

{{ .Site.Params.Biography }}

14 |
15 | {{ end }} 16 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /layouts/_default/single.html: -------------------------------------------------------------------------------- 1 | {{ partial "header.html" . }} 2 | {{ $baseurl := .Site.BaseURL | sanitizeurl }} 3 | {{ $author := .Site.Params.Author }} 4 | {{ if .Params.Author }} 5 | {{ $author = .Params.Author }} 6 | {{ end }} 7 |
8 |
9 |
10 |

{{ .Title }}

11 | {{ if .Params.Date }} 12 | 18 | {{ end }} 19 | {{ if .Params.categories }} 20 | 25 |
26 | {{ end }} 27 |
28 |
29 | {{ .Content }} 30 |
31 | 42 |
43 |
44 | {{ partial "footer.html" . }} -------------------------------------------------------------------------------- /static/images/site-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Combined Shape 5 | Created with Sketch. 6 | 7 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /static/icons/keybase.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change. 4 | 5 | Please note we have a code of conduct; please follow it in all your interactions with the project. You can find it [here](https://github.com/AngeloStavrow/indigo/blob/master/CODE_OF_CONDUCT.md) 6 | 7 | ## Bug Reports and Feature Requests 8 | 9 | 1. [Check GitHub](https://github.com/AngeloStavrow/indigo/issues/) for existing issues similar your report/request. If you find one, add any extra detail you might think is helpful. It's also helpful to just see how many folks are affected by the bug. That's it! 10 | 2. If you don't find an existing report for the bug you've come across, add [a new issue](https://github.com/AngeloStavrow/indigo/issues/new) outlining steps to reproduce, the expected outcome, and the actual outcome. Thoughts on how to implement the fix are welcome! 11 | 3. Project owners (right now, me) will triage these incoming reports/requests and label them appropriately. Everything will be added to the new [Theme Work kanban board](https://github.com/AngeloStavrow/indigo/projects/1). 12 | 13 | ## Pull Request Process 14 | 15 | 1. If one doesn't already exist, please start by [opening an issue](https://github.com/AngeloStavrow/indigo/issues/new) describing what you'd like to change. Remember to search first, to avoid having it closed as a duplicate. 16 | 2. Make the changes discussed. Ensure that the theme builds and continues to function as expected; you can also try building the [theme gallery to test further](https://github.com/gohugoio/hugoThemes/blob/master/README.md). Place high value on page-load speed and responsive design. 17 | 3. Update the README with any new site/page parameters as necessary. If you've added new dependencies, make sure to list them too. 18 | 4. Open a pull request and include the issue you opened in step 1 as part of the PR. Changes will be tested and, when everything's good to go, will be merged in by the project owners. -------------------------------------------------------------------------------- /exampleSite/content/post/author-bios.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Author Bios" 3 | date: 2018-10-01T08:00:00-04:00 4 | draft: false 5 | categories: ["meta"] 6 | tags: ["options"] 7 | --- 8 | 9 | The bottom of every page in the theme can optionally show a short biography of the site author, including a profile picture, email link, and location. 10 | 11 | 12 | 13 | ## Setting up the author bio 14 | 15 | A set of configuration options are used for displaying the biography. 16 | 17 | ``` 18 | [params] 19 | Author = "Author Name" 20 | Avatar = "images/site-logo.svg" 21 | Biography = "A short description, a few sentences describing the author. Set 22 | the 'ShowBio' parameter to false to hide this." 23 | ShowBio = true 24 | 25 | [params.indieWeb] 26 | EmailAddress = "email.address@example.com" 27 | Country = "CountryName" 28 | City = "CityName" 29 | ``` 30 | 31 | Specifics on each setting item are as follows: 32 | 33 | - `Author`: Your name; this is the site author name. 34 | - `Avatar`: The path to your profile picture. By default, it will show the theme's logo (`/static/images/site-logo.svg`). 35 | - `Biography`: Hopefully the placeholder text here is self-explanatory; add a couple of short sentences about yourself here. 36 | - `ShowBio`: If you prefer not to show the author bio, set this to `false`. By default, it's set to `true`. 37 | - `EmailAddress`: The email address at which you can be contacted. 38 | - `Country`: The name of the country in which you live. 39 | - `City`: The name of the city in which you live. 40 | 41 | ## IndieWeb features 42 | 43 | The following classes are used to mark up the author bio for [IndieWeb][indieweb] parsing: 44 | 45 | | Element | Class | 46 | | :-------------- | :-------------------------- | 47 | | The author card | `h-card` | 48 | | Profile picture | `u-photo` | 49 | | Author URL* | `p-name`, `u-url`, `rel=me` | 50 | | City | `p-locality` | 51 | | Country | `p-country-name` | 52 | | Email address | `u-email` | 53 | | Biography | `p-note` | 54 | 55 | *Author URL is set to the site's base URL. 56 | 57 | [indieweb]: https://indieweb.org 58 | -------------------------------------------------------------------------------- /config.toml.example: -------------------------------------------------------------------------------- 1 | baseURL = "https://example.com/" 2 | title = "Site Title" 3 | copyright = "Copyright © 2018, Copyright Owner Name" 4 | languageCode = "en-US" 5 | theme = "indigo" 6 | 7 | [params] 8 | Author = "Site Author Name" 9 | Description = "Description of website for head meta tag" 10 | Subtitle = "A subtitle for your site" 11 | Avatar = "images/site-logo.svg" 12 | Biography = "A short description, a few sentences describing the author. Set the 'ShowBio' parameter to false to hide this." 13 | ShowBio = true 14 | PermalinkText = "🔗" 15 | mainSections = ["post"] 16 | # Web Monetization only works on secure pages served over HTTPS. 17 | paymentPointer = "" 18 | 19 | # Contact/social-network identifiers for social icons 20 | EmailAddress = "email.address@example.com" 21 | FacebookUser = "FacebookUserName" 22 | FlickrUser = "FlickrUserName" 23 | GitHubUser = "GitHubUserName" 24 | GitLabUser = "GitLabUserName" 25 | GlitchUser = "GlitchUserName" 26 | KeybaseUser = "KeybaseUserName" 27 | LinkedInUser = "LinkedInUserName" 28 | MediumUser = "MediumUserName" 29 | MicroBlogUser = "MicroBlogUserName" 30 | RedditUser = "RedditUserName" 31 | StackOverflowUser = "StackOverflowUserName" 32 | TumblrUser = "TumblrUserName" 33 | TwitterUser = "TwitterUserName" 34 | InstagramUser = "InstagramUserName" 35 | 36 | # These are parameters used for indieweb identity. You should set these along 37 | # with the above email/social network parameters. 38 | [params.indieWeb] 39 | EmailAddress = "email.address@example.com" 40 | FlickrUser = "FlickrUserName" 41 | GitHubUser = "GitHubUserName" 42 | TwitterUser = "TwitterUserName" 43 | MicroBlogUser = "MicroBlogUserName" 44 | Country = "CountryName" 45 | City = "CityName" 46 | 47 | [params.endpoints] 48 | Auth = "https://indieauth.com/auth" 49 | Token = "https://tokens.indieauth.com/token" 50 | # To get webmention support, just register at webmention.io and paste the link for endpoint here. 51 | #Webmention = "https://webmention.io//webmention" 52 | # To get micropub support, you'll need to install a Micropub endpoint at your site and put its link there. 53 | # To get an endpoint with Hugo support, use nanopub: https://github.com/dg01d/nanopub 54 | # It will probably require some PHP hackery though, as it's fairly basic. 55 | #Micropub = "" 56 | # To get microsub support, you can use Aperture from p3k. Either go to https://aperture.p3k.io or self-host it (it's open source!) 57 | #Microsub = "" -------------------------------------------------------------------------------- /layouts/partials/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{ .Title }} | {{ .Site.Title }} 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | {{ with .Site.Params.IndieWeb.EmailAddress }}{{ end }} 17 | {{ with .Site.Params.IndieWeb.GitHubUser }}{{ end }} 18 | {{ with .Site.Params.IndieWeb.TwitterUser }}{{ end }} 19 | {{ with .Site.Params.IndieWeb.MicroBlogUser }}{{ end }} 20 | 21 | 22 | 23 | {{ with .Site.Params.endpoints.Micropub }} 24 | {{ end }} 25 | {{ with .Site.Params.endpoints.Microsub }} 26 | {{ end }} 27 | {{ with .Site.Params.endpoints.Webmention}} 28 | {{ end }} 29 | {{ with .Site.Params.paymentPointer }} 30 | 31 | 32 | {{ end }} 33 | 34 | 35 | 36 | {{ if (fileExists "static/css/custom.css") -}} 37 | 38 | {{- end }} 39 | 40 | 41 | -------------------------------------------------------------------------------- /exampleSite/content/post/featured-typefaces.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Featured Typefaces" 3 | date: 2018-10-01T08:30:00-04:00 4 | draft: false 5 | categories: ["meta"] 6 | tags: ["typography"] 7 | --- 8 | 9 | Indigo uses a combination of three beautiful typefaces to render your words. 10 | 11 | 12 | 13 | - [Fira Sans][fira-sans] for heading text 14 | - [Charter][charter] for body text 15 | - [Fira Code][fira-code] for monospaced text 16 | 17 | Licenses are included in the theme’s `static/fonts` folder. 18 | 19 | Have a look at a couple of paragraphs of placeholder text using the wonderfully readable Charter: 20 | 21 | --- 22 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer eleifend nulla ac elit venenatis posuere. Sed id aliquam arcu, et malesuada lectus. **Donec et dignissim massa. Pellentesque in laoreet nibh. Pellentesque sagittis, libero quis vestibulum aliquam, ante risus imperdiet magna, at ornare dolor libero quis nunc.** Donec quis tempus purus. Cras ornare magna ac facilisis tristique. Nulla aliquet purus quis massa rutrum interdum ac at magna. Cras fermentum magna id orci viverra facilisis. Ut vitae lobortis nisl. 23 | 24 | Sed interdum tincidunt venenatis. Sed hendrerit dictum nisi, at dignissim orci consectetur quis. Aenean sed nisl et nisl placerat euismod. Proin hendrerit nulla at rhoncus molestie. Cras eu gravida erat, vestibulum ornare diam. _Praesent nunc arcu, ultrices et risus sed, dictum mattis dui. Maecenas vitae nisl at massa porta pellentesque_. Donec eget urna eget nisl imperdiet scelerisque eget a mauris. Nam fringilla sem id vehicula rhoncus. Curabitur tincidunt massa mauris, facilisis placerat odio eleifend sit amet. Etiam nec vehicula sapien, at dignissim risus. Sed elit erat, lacinia eu vulputate at, semper eu nulla. Quisque a urna sed nulla viverra egestas nec quis nunc. Curabitur iaculis elit in orci sollicitudin suscipit. 25 | 26 | --- 27 | 28 | And code snippets look great with Fira Code: 29 | 30 | ``` 31 |
32 |
33 | {{ if .Title }} 34 |

{{ .Title }}

35 | {{ end }} 36 | 41 |
42 |
43 | {{ .Summary | plainify | safeHTML }} 44 |
45 | {{ if .Truncated }} 46 |

Read more →

47 | {{ end }} 48 |
49 | ``` 50 | 51 | [fira-sans]: https://bboxtype.com/typefaces/FiraSans/#!layout=specimen 52 | [charter]: https://practicaltypography.com/charter.html 53 | [fira-code]: https://github.com/tonsky/FiraCode -------------------------------------------------------------------------------- /static/css/fonts.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Fira Code'; 3 | src: url('../fonts/FiraCode-Regular.eot'); 4 | src: url('../fonts/FiraCode-Regular.eot?#iefix') format('embedded-opentype'), 5 | url('../fonts/FiraCode-Regular.woff2') format('woff2'), 6 | url('../fonts/FiraCode-Regular.woff') format('woff'), 7 | url('../fonts/FiraCode-Regular.ttf') format('truetype'); 8 | font-weight: 400; 9 | font-style: normal; 10 | font-display: fallback; 11 | } 12 | 13 | @font-face { 14 | font-family: 'Charter'; 15 | src: url('../fonts/charter_regular-webfont.eot'); 16 | src: url('../fonts/charter_regular-webfont.eot?#iefix') format('embedded-opentype'), 17 | url('../fonts/charter_regular-webfont.woff') format('woff'), 18 | url('../fonts/charter_regular-webfont.ttf') format('truetype'); 19 | font-display: fallback; 20 | } 21 | 22 | @font-face { 23 | font-family: 'Charter'; 24 | src: url('../fonts/charter_bold-webfont.eot'); 25 | src: url('../fonts/charter_bold-webfont.eot?#iefix') format('embedded-opentype'), 26 | url('../fonts/charter_bold-webfont.woff') format('woff'), 27 | url('../fonts/charter_bold-webfont.ttf') format('truetype'); 28 | font-weight: bold; 29 | font-display: fallback; 30 | } 31 | 32 | @font-face { 33 | font-family: 'Charter'; 34 | src: url('../fonts/charter_italic-webfont.eot'); 35 | src: url('../fonts/charter_italic-webfont.eot?#iefix') format('embedded-opentype'), 36 | url('../fonts/charter_italic-webfont.woff') format('woff'), 37 | url('../fonts/charter_italic-webfont.ttf') format('truetype'); 38 | font-style: italic; 39 | font-display: fallback; 40 | } 41 | 42 | @font-face { 43 | font-family: 'Charter'; 44 | src: url('../fonts/charter_bold_italic-webfont.eot'); 45 | src: url('../fonts/charter_bold_italic-webfont.eot?#iefix') format('embedded-opentype'), 46 | url('../fonts/charter_bold_italic-webfont.woff') format('woff'), 47 | url('../fonts/charter_bold_italic-webfont.ttf') format('truetype'); 48 | font-style: italic; 49 | font-weight: bold; 50 | font-display: fallback; 51 | } 52 | 53 | @font-face { 54 | font-family: 'Fira Sans'; 55 | src: url('../fonts/FiraSans-Book.eot'); 56 | src: url('../fonts/FiraSans-Book.eot?#iefix') format('embedded-opentype'), 57 | url('../fonts/FiraSans-Book.woff2') format('woff2'), 58 | url('../fonts/FiraSans-Book.woff') format('woff'), 59 | url('../fonts/FiraSans-Book.ttf') format('truetype'); 60 | font-display: fallback; 61 | } 62 | 63 | @font-face { 64 | font-family: 'Fira Sans'; 65 | src: url('../fonts/FiraSans-Bold.eot'); 66 | src: url('../fonts/FiraSans-Bold.eot?#iefix') format('embedded-opentype'), 67 | url('../fonts/FiraSans-Bold.woff2') format('woff2'), 68 | url('../fonts/FiraSans-Bold.woff') format('woff'), 69 | url('../fonts/FiraSans-Bold.ttf') format('truetype'); 70 | font-weight: bold; 71 | font-display: fallback; 72 | } 73 | -------------------------------------------------------------------------------- /static/safari-pinned-tab.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.11, written by Peter Selinger 2001-2013 9 | 10 | 12 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | 9 | Examples of behavior that contributes to creating a positive environment include: 10 | 11 | * Using welcoming and inclusive language 12 | * Being respectful of differing viewpoints and experiences 13 | * Gracefully accepting constructive criticism 14 | * Focusing on what is best for the community 15 | * Showing empathy towards other community members 16 | 17 | Examples of unacceptable behavior by participants include: 18 | 19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances 20 | * Trolling, insulting/derogatory comments, and personal or political attacks 21 | * Public or private harassment 22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission 23 | * Other conduct which could reasonably be considered inappropriate in a professional setting 24 | 25 | ## Our Responsibilities 26 | 27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 28 | 29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 30 | 31 | ## Scope 32 | 33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 34 | 35 | ## Enforcement 36 | 37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at contact@angelostavrow.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 38 | 39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 40 | 41 | ## Attribution 42 | 43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] 44 | 45 | [homepage]: http://contributor-covenant.org 46 | [version]: http://contributor-covenant.org/version/1/4/ 47 | -------------------------------------------------------------------------------- /layouts/partials/social.html: -------------------------------------------------------------------------------- 1 | 81 | -------------------------------------------------------------------------------- /exampleSite/content/post/introducing-indigo.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Introducing Indigo" 3 | date: 2018-10-01T09:00:00-04:00 4 | draft: false 5 | categories: ["meta"] 6 | tags: ["typography", "indieweb"] 7 | --- 8 | 9 | Indigo is a lightweight theme for [Hugo][hugo] with [IndieWeb][indieweb] features baked in. It's great for longer-form blogging, placing its focus on distraction-free reading and beautiful typefaces. 10 | 11 | 12 | 13 | ## IndieWeb features 14 | 15 | A key feature of this theme is its support for IndieWeb features, including microformats and web sign-in. 16 | 17 | ### Web sign-in 18 | 19 | Indigo handles web sign-in by setting the `authorization_endpoint` to [IndieAuth.com][indieauth]: 20 | 21 | > IndieAuth.com is part of the [IndieWeb movement][why] to take back control of your online identity. Instead of logging in to websites as "you on Twitter" or "you on Facebook", **you should be able to log in as just "you"**. 22 | 23 | This allows you to sign in to certain services simply by providing your site's domain name. 24 | 25 | ### microformats 26 | 27 | Indigo marks up content with appropriate [microformats][mf2], which provides semantic definitions of your content to other software. Posts are marked up with `h-entry` classes, like `p-name`, `p-author`, and `e-content`, while the author bio is marked up with `h-card` classes, including `u-photo`, `u-url`, `p-locality`/`p-country-name`, and `p-note`. 28 | 29 | ## Open typefaces 30 | 31 | Indigo uses a combination of three beautiful typefaces to render your words. 32 | 33 | - [Fira Sans][fira-sans] for heading text 34 | - [Charter][charter] for body text 35 | - [Fira Code][fira-code] for monospaced text 36 | 37 | Licenses are included in the theme’s `static/fonts` folder. 38 | 39 | Have a look at a couple of paragraphs of placeholder text using the wonderfully readable Charter: 40 | 41 | --- 42 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer eleifend nulla ac elit venenatis posuere. Sed id aliquam arcu, et malesuada lectus. **Donec et dignissim massa. Pellentesque in laoreet nibh. Pellentesque sagittis, libero quis vestibulum aliquam, ante risus imperdiet magna, at ornare dolor libero quis nunc.** Donec quis tempus purus. Cras ornare magna ac facilisis tristique. Nulla aliquet purus quis massa rutrum interdum ac at magna. Cras fermentum magna id orci viverra facilisis. Ut vitae lobortis nisl. 43 | 44 | Sed interdum tincidunt venenatis. Sed hendrerit dictum nisi, at dignissim orci consectetur quis. Aenean sed nisl et nisl placerat euismod. Proin hendrerit nulla at rhoncus molestie. Cras eu gravida erat, vestibulum ornare diam. _Praesent nunc arcu, ultrices et risus sed, dictum mattis dui. Maecenas vitae nisl at massa porta pellentesque_. Donec eget urna eget nisl imperdiet scelerisque eget a mauris. Nam fringilla sem id vehicula rhoncus. Curabitur tincidunt massa mauris, facilisis placerat odio eleifend sit amet. Etiam nec vehicula sapien, at dignissim risus. Sed elit erat, lacinia eu vulputate at, semper eu nulla. Quisque a urna sed nulla viverra egestas nec quis nunc. Curabitur iaculis elit in orci sollicitudin suscipit. 45 | 46 | --- 47 | 48 | And code snippets look great with Fira Code: 49 | 50 | ``` 51 |
52 |
53 | {{ if .Title }} 54 |

{{ .Title }}

55 | {{ end }} 56 | 61 |
62 |
63 | {{ .Summary | plainify | safeHTML }} 64 |
65 | {{ if .Truncated }} 66 |

Read more →

67 | {{ end }} 68 |
69 | ``` 70 | 71 | ## Contributions welcome 72 | 73 | Indigo is distributed under the [MIT license][license], so feel free to fork the repository and make it your own! If you've got ideas on how to improve the theme, let me know by [opening an issue in GitHub](issue) — but please be sure to review the documentation on [contributing][contributing]. 74 | 75 | [hugo]: https://gohugo.io 76 | [indieweb]: https://indieweb.org 77 | [indieauth]: https://indieauth.com 78 | [why]: https://indieweb.org/why 79 | [mf2]: http://microformats.org 80 | [fira-sans]: https://bboxtype.com/typefaces/FiraSans/#!layout=specimen 81 | [charter]: https://practicaltypography.com/charter.html 82 | [fira-code]: https://github.com/tonsky/FiraCode 83 | [license]: https://github.com/AngeloStavrow/indigo/blob/master/LICENSE.md 84 | [issue]: https://github.com/AngeloStavrow/indigo/issues 85 | [contributing]: https://github.com/AngeloStavrow/indigo/blob/master/CONTRIBUTING.md 86 | -------------------------------------------------------------------------------- /static/fonts/fira-sans_license.txt: -------------------------------------------------------------------------------- 1 | https://bboxtype.com/downloads/Fira/OFL.txt 2 | 3 | Digitized data copyright 2012-2018 for FiraGO: Carrois Corporate GbR and HERE Europe B.V. All rights reserved. 4 | Digitized data copyright 2012-2018 for Fira Sans up to version 4.3: The Mozilla Foundation, Telefonica S.A., Carrois Corporate GbR and bBox Type GmbH. 5 | 6 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 7 | This license is copied below, and is also available with a FAQ at: 8 | http://scripts.sil.org/OFL 9 | 10 | 11 | ----------------------------------------------------------- 12 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 13 | ----------------------------------------------------------- 14 | 15 | PREAMBLE 16 | The goals of the Open Font License (OFL) are to stimulate worldwide 17 | development of collaborative font projects, to support the font creation 18 | efforts of academic and linguistic communities, and to provide a free and 19 | open framework in which fonts may be shared and improved in partnership 20 | with others. 21 | 22 | The OFL allows the licensed fonts to be used, studied, modified and 23 | redistributed freely as long as they are not sold by themselves. The 24 | fonts, including any derivative works, can be bundled, embedded, 25 | redistributed and/or sold with any software provided that any reserved 26 | names are not used by derivative works. The fonts and derivatives, 27 | however, cannot be released under any other type of license. The 28 | requirement for fonts to remain under this license does not apply 29 | to any document created using the fonts or their derivatives. 30 | 31 | DEFINITIONS 32 | "Font Software" refers to the set of files released by the Copyright 33 | Holder(s) under this license and clearly marked as such. This may 34 | include source files, build scripts and documentation. 35 | 36 | "Reserved Font Name" refers to any names specified as such after the 37 | copyright statement(s). 38 | 39 | "Original Version" refers to the collection of Font Software components as 40 | distributed by the Copyright Holder(s). 41 | 42 | "Modified Version" refers to any derivative made by adding to, deleting, 43 | or substituting -- in part or in whole -- any of the components of the 44 | Original Version, by changing formats or by porting the Font Software to a 45 | new environment. 46 | 47 | "Author" refers to any designer, engineer, programmer, technical 48 | writer or other person who contributed to the Font Software. 49 | 50 | PERMISSION & CONDITIONS 51 | Permission is hereby granted, free of charge, to any person obtaining 52 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 53 | redistribute, and sell modified and unmodified copies of the Font 54 | Software, subject to the following conditions: 55 | 56 | 1) Neither the Font Software nor any of its individual components, 57 | in Original or Modified Versions, may be sold by itself. 58 | 59 | 2) Original or Modified Versions of the Font Software may be bundled, 60 | redistributed and/or sold with any software, provided that each copy 61 | contains the above copyright notice and this license. These can be 62 | included either as stand-alone text files, human-readable headers or 63 | in the appropriate machine-readable metadata fields within text or 64 | binary files as long as those fields can be easily viewed by the user. 65 | 66 | 3) No Modified Version of the Font Software may use the Reserved Font 67 | Name(s) unless explicit written permission is granted by the corresponding 68 | Copyright Holder. This restriction only applies to the primary font name as 69 | presented to the users. 70 | 71 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 72 | Software shall not be used to promote, endorse or advertise any 73 | Modified Version, except to acknowledge the contribution(s) of the 74 | Copyright Holder(s) and the Author(s) or with their explicit written 75 | permission. 76 | 77 | 5) The Font Software, modified or unmodified, in part or in whole, 78 | must be distributed entirely under this license, and must not be 79 | distributed under any other license. The requirement for fonts to 80 | remain under this license does not apply to any document created 81 | using the Font Software. 82 | 83 | TERMINATION 84 | This license becomes null and void if any of the above conditions are 85 | not met. 86 | 87 | DISCLAIMER 88 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 89 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 90 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 91 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 92 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 93 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 94 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 95 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 96 | OTHER DEALINGS IN THE FONT SOFTWARE. -------------------------------------------------------------------------------- /static/fonts/fira-code_license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014, Nikita Prokopov http://tonsky.me 2 | with Reserved Font Name Fira Code. 3 | 4 | Copyright (c) 2014, Mozilla Foundation https://mozilla.org/ 5 | with Reserved Font Name Fira Sans. 6 | 7 | Copyright (c) 2014, Mozilla Foundation https://mozilla.org/ 8 | with Reserved Font Name Fira Mono. 9 | 10 | Copyright (c) 2014, Telefonica S.A. 11 | 12 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 13 | This license is copied below, and is also available with a FAQ at: 14 | http://scripts.sil.org/OFL 15 | 16 | 17 | ----------------------------------------------------------- 18 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 19 | ----------------------------------------------------------- 20 | 21 | PREAMBLE 22 | The goals of the Open Font License (OFL) are to stimulate worldwide 23 | development of collaborative font projects, to support the font creation 24 | efforts of academic and linguistic communities, and to provide a free and 25 | open framework in which fonts may be shared and improved in partnership 26 | with others. 27 | 28 | The OFL allows the licensed fonts to be used, studied, modified and 29 | redistributed freely as long as they are not sold by themselves. The 30 | fonts, including any derivative works, can be bundled, embedded, 31 | redistributed and/or sold with any software provided that any reserved 32 | names are not used by derivative works. The fonts and derivatives, 33 | however, cannot be released under any other type of license. The 34 | requirement for fonts to remain under this license does not apply 35 | to any document created using the fonts or their derivatives. 36 | 37 | DEFINITIONS 38 | "Font Software" refers to the set of files released by the Copyright 39 | Holder(s) under this license and clearly marked as such. This may 40 | include source files, build scripts and documentation. 41 | 42 | "Reserved Font Name" refers to any names specified as such after the 43 | copyright statement(s). 44 | 45 | "Original Version" refers to the collection of Font Software components as 46 | distributed by the Copyright Holder(s). 47 | 48 | "Modified Version" refers to any derivative made by adding to, deleting, 49 | or substituting -- in part or in whole -- any of the components of the 50 | Original Version, by changing formats or by porting the Font Software to a 51 | new environment. 52 | 53 | "Author" refers to any designer, engineer, programmer, technical 54 | writer or other person who contributed to the Font Software. 55 | 56 | PERMISSION & CONDITIONS 57 | Permission is hereby granted, free of charge, to any person obtaining 58 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 59 | redistribute, and sell modified and unmodified copies of the Font 60 | Software, subject to the following conditions: 61 | 62 | 1) Neither the Font Software nor any of its individual components, 63 | in Original or Modified Versions, may be sold by itself. 64 | 65 | 2) Original or Modified Versions of the Font Software may be bundled, 66 | redistributed and/or sold with any software, provided that each copy 67 | contains the above copyright notice and this license. These can be 68 | included either as stand-alone text files, human-readable headers or 69 | in the appropriate machine-readable metadata fields within text or 70 | binary files as long as those fields can be easily viewed by the user. 71 | 72 | 3) No Modified Version of the Font Software may use the Reserved Font 73 | Name(s) unless explicit written permission is granted by the corresponding 74 | Copyright Holder. This restriction only applies to the primary font name as 75 | presented to the users. 76 | 77 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 78 | Software shall not be used to promote, endorse or advertise any 79 | Modified Version, except to acknowledge the contribution(s) of the 80 | Copyright Holder(s) and the Author(s) or with their explicit written 81 | permission. 82 | 83 | 5) The Font Software, modified or unmodified, in part or in whole, 84 | must be distributed entirely under this license, and must not be 85 | distributed under any other license. The requirement for fonts to 86 | remain under this license does not apply to any document created 87 | using the Font Software. 88 | 89 | TERMINATION 90 | This license becomes null and void if any of the above conditions are 91 | not met. 92 | 93 | DISCLAIMER 94 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 95 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 96 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 97 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 98 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 99 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 100 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 101 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 102 | OTHER DEALINGS IN THE FONT SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Indigo Theme 2 | 3 | Indigo is a lightweight, responsive, typography-first theme for Hugo, marked up with [microformats2](http://microformats.org) for extra [IndieWeb](https://indieweb.org) goodness, including [IndieAuth](https://indieauth.com). 4 | 5 | ## Getting Started 6 | 7 | These instructions will get you a copy of the project up and running on your local machine for setup and testing purposes. See deployment for notes on how to deploy the project on a live system. 8 | 9 | ### Prerequisites 10 | 11 | This theme is built and tested against the latest version of Hugo and currently requires a minimum version of 0.58. You can check what version you're running with 12 | 13 | ``` 14 | $ hugo version 15 | ``` 16 | 17 | Follow the [upgrade instructions on the Hugo website](https://gohugo.io/getting-started/installing/#upgrade-hugo) if necessary. 18 | 19 | ### Installing 20 | 21 | Follow the [Hugo Quickstart](https://gohugo.io/getting-started/quick-start/)'s instructions on how to add a theme; the URL you'll want to use is 22 | 23 | ``` 24 | https://github.com/AngeloStavrow/indigo.git 25 | ``` 26 | 27 | ### Setup 28 | 29 | There's a sample config.toml file in the root of the indigo theme directory (`config.toml.example`); copy it to the root of your Hugo site, and rename it to `config.toml` _after_ you've made a backup of your current config.toml file (if any). 30 | 31 | Set up the parameters in the config file, especially those in the social and `params.indieWeb` section. Social identifiers that you leave out will not be added to the footer of the site. If you prefer to use a content type other than `post`, be sure to change the `mainSections` parameter in the config file as well. For example, if you want content of type `posts` and `updates` to show up in lists: 32 | 33 | ```toml 34 | [params] 35 | ... 36 | mainSections = ["posts", "updates"] 37 | ``` 38 | 39 | You can configure the theme to show info about the author; by default, this information is shown; if you'd prefer to leave it out, set `ShowBio` to `false`. 40 | 41 | ### Customization 42 | 43 | Indigo will look for custom CSS in `/static/css/custom.css`. This will let you add/override styling to your heart's content, while making it easy to keep Indigo up-to-date. See it in action on [angelostavrow.com](https://angelostavrow.com). 44 | 45 | ## Deployment 46 | 47 | You can add a line to your `config.toml` file to set this theme as the default: 48 | 49 | ```toml 50 | theme = "indigo" 51 | ``` 52 | 53 | Or, if you use `config.yaml`: 54 | 55 | ```yaml 56 | theme: indigo 57 | ``` 58 | 59 | ## Support and Maintenance 60 | 61 | ### Support Committment 62 | 63 | Support is provided for the latest stable release of the theme on the latest stable release of Hugo. If something doesn't seem to be working right, please make sure you're using the latest version of both. 64 | 65 | You can check what version of Hugo you're using by running the `hugo version` command; visit [the Hugo website](https://gohugo.io) for upgrade instructions. 66 | 67 | To ensure you're building the latest version of Indigo, do the following from the command line: 68 | 69 | ```bash 70 | # Go to the /themes/indigo folder 71 | cd /path/to/themes/indigo 72 | 73 | # Make sure you're on the 'master' branch, then pull in any changes 74 | git checkout master 75 | git pull 76 | ``` 77 | 78 | If everything is up to date and things still don't seem to be working correctly, please [open an issue](https://github.com/AngeloStavrow/indigo/issues/) and describe what's not working as expected. 79 | 80 | Going forward, this support committment will be enforced by the `minVersion` property in **theme.toml**. 81 | 82 | ### Maintenance Process 83 | 84 | Authors whose themes are included in the [Hugo showcase gallery](https://themes.gohugo.io) will be required to keep their theme working with the latest version of Hugo. To prepare for this, the following process will be instituted: 85 | 86 | 1. With every new release of Hugo, _once the_ `brew`_/_`chocolatey` _package is available_, the development system will be updated, and the [demo site](https://hello-indigo.glitch.me/) and the [theme gallery](https://github.com/gohugoio/hugoThemes/blob/master/README.md#testing-a-theme-with-the-hugo-themes-website-build-script) will be built locally. 87 | 2. If everything looks good, a short update will be posted to the demo site to confirm compatibility, with links to the release announcements for those versions Indigo and Hugo, as well as a link to this maintenance process documentation. 88 | 3. If either site doesn't build successfully, the problem will be fixed. 89 | 90 | There are a few definitions and open questions that need to be considered here. 91 | 92 | - New releases of Hugo are [announced](https://gohugo.io/news/) and can be subscribed to via RSS. The release date _may_ be estimated by the due date of [Hugo milestones](https://github.com/gohugoio/hugo/milestones). 93 | - "Build successfully" means that the demo site renders as intended, and that the theme works as expected in the theme gallery. The gallery builds a standard site that shows off some common features of Hugo, and the demo site is meant to test and showcase features of Indigo. 94 | 95 | ## Indigo IndieWeb Features 96 | 97 | A thorough writeup of the theme has been graciously written by @infominer33. 98 | 99 | - [Indigo IndieWeb Features](https://web-work.tools/indieweb/indigo-indieweb-features/) 100 | 101 | ## Contributing 102 | 103 | Please read [CONTRIBUTING.md](https://github.com/AngeloStavrow/indigo/blob/master/CONTRIBUTING.md) for details on the code of conduct, and the process for submitting bug reports, feature requests, and having your changes merged into the project. 104 | 105 | ## Versioning 106 | 107 | We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/AngeloStavrow/indigo/tags). 108 | 109 | ## Authors 110 | 111 | - **Angelo Stavrow** - _Initial work_ - [AngeloStavrow](https://github.com/AngeloStavrow) on GitHub 112 | 113 | See also the list of [contributors](https://github.com/AngeloStavrow/indigo/contributors) who participated in this project. 114 | 115 | ## License 116 | 117 | This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details 118 | 119 | ## Acknowledgments 120 | 121 | The following open fonts are used in this theme: 122 | 123 | - [Fira Sans](https://bboxtype.com/typefaces/FiraSans/#!layout=specimen) for heading text 124 | - [Charter](https://practicaltypography.com/charter.html) for body text 125 | - [Fira Code](https://github.com/tonsky/FiraCode) for monospaced text 126 | 127 | Licenses are included in the theme’s `static/fonts` folder. 128 | 129 | Most icons in the social footer are from [Font Awesome](https://fontawesome.com/). Some come directly from the service itself (e.g., Micro.blog and Glitch). 130 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 | 8 | ## [Unreleased] 9 | 10 | ### Fixed 11 | 12 | - Improved legibility of code blocks when using language-specific backticks or Hugo's [highlight shortcode](https://github.com/AngeloStavrow/indigo/issues/89), per [#89](https://github.com/AngeloStavrow/indigo/issues/89). 13 | - Images that have height and width set in the `` tag now don't get stretched beyond their original size, and their aspect ratio is respected, per [#81](https://github.com/AngeloStavrow/indigo/issues/81). 14 | 15 | ## [1.4.0] - 2020-07-13 16 | 17 | ### Added 18 | 19 | - Added entrypoints config section as described in [#73](https://github.com/AngeloStavrow/indigo/issues/73), thanks to [@kasuboski](https://github.com/kasuboski)! 20 | - Users can now add their Instagram profile as a social network per [#59](https://github.com/AngeloStavrow/indigo/issues/59), thanks to [@TGNYC](https://github.com/TGNYC)! 21 | - If you've got a payment pointer set up for [Web Monetization](https://webmonetization.org/) you can now add it to the theme, per [#86](https://github.com/AngeloStavrow/indigo/issues/86). 22 | 23 | ### Fixed 24 | 25 | - Partial for Facebook social link now actually points to your Facebook profile as described in [#76](https://github.com/AngeloStavrow/indigo/issues/76), thanks to [@j-wang](https://github.com/j-wang)! 26 | - The date is no longer shown on pages that have no date parameter in their front matter, per [#84](https://github.com/AngeloStavrow/indigo/issues/84) 27 | 28 | ## [1.3.2] - 2019-10-17 29 | 30 | ### Added 31 | 32 | - A _Support and Maintenance_ section has been added to the README, per [#64](https://github.com/AngeloStavrow/indigo/issues/64) 33 | 34 | ### Changed 35 | 36 | - Updated the Hugo minimum version to 0.58.3 37 | 38 | ## [1.3.1] - 2019-10-03 39 | 40 | ### Fixed 41 | 42 | - Taxonomy-based lists (e.g., lists of tags or categories) now only show posts within the selected taxonomy per [#56](https://github.com/AngeloStavrow/indigo/issues/56) 43 | 44 | ## [1.3.0] - 2019-09-30 45 | 46 | ### Added 47 | 48 | - Adds a `mainSection` configuration parameter to set preferred content name per [#56](https://github.com/AngeloStavrow/indigo/issues/56) 49 | 50 | ### Changed 51 | 52 | - Updated **CONTRIBUTING.md** to reflect new contributions process per [#28](https://github.com/AngeloStavrow/indigo/issues/28) 53 | - Bumped the minimum Hugo version requirement to 0.58 to account for [#52](https://github.com/AngeloStavrow/indigo/issues/52) 54 | 55 | ### Fixed 56 | 57 | - As part of an audit of the theme's code per [#57](https://github.com/AngeloStavrow/indigo/issues/57) 58 | - Removed forward slashes (`/`) in URLs for better compatibility with sites that don't live at a domain root 59 | - Fixed the location from which the theme's fonts are loaded 60 | 61 | ### Removed 62 | 63 | - GitHub issue and pull request templates removed from the repo per [#28](https://github.com/AngeloStavrow/indigo/issues/28) 64 | 65 | ## [1.2.0] - 2019-08-31 66 | 67 | ### Added 68 | 69 | - You can now import custom CSS from `/static/css/custom.css` per [#48](https://github.com/AngeloStavrow/indigo/issues/48) 70 | 71 | ## [1.1.0] - 2019-08-28 72 | 73 | ### Changed 74 | 75 | - Metadata now shows page title and description per [#50](https://github.com/AngeloStavrow/indigo/issues/50), thanks to [@infominer33](https://github.com/infominer33)! 76 | 77 | ### Fixed 78 | 79 | - Breaking changes in article lists introduced in Hugo 0.57 per [#52](https://github.com/AngeloStavrow/indigo/issues/52) 80 | - Newer/Older links in article footers now work as expected in Hugo 0.50 and later per [#54](https://github.com/AngeloStavrow/indigo/issues/54) 81 | 82 | ## [1.0.6] - 2019-06-24 83 | 84 | ### Fixed 85 | 86 | - Fixed some copy/paste errors in CSS `font-family` definitions per [#38](https://github.com/AngeloStavrow/indigo/issues/38) 87 | - Fixed `

` font-sizing per [#41](https://github.com/AngeloStavrow/indigo/issues/41) 88 | 89 | ## [1.0.5] - 2019-06-05 90 | 91 | ### Fixed 92 | 93 | - Cleaned up some errant whitespace thanks to [@dixonge](https://github.com/dixonge)! 94 | 95 | ## [1.0.4] - 2019-10-25 96 | 97 | ### Added 98 | 99 | - Users can now add their Medium and LinkedIn accounts as social networks, thanks to [@RicardoBelchior](https://github.com/RicardoBelchior)! 100 | 101 | ### Changed 102 | 103 | - Clearer process for contributing to the project ([#28](https://github.com/AngeloStavrow/indigo/issues/28)) 104 | 105 | ### Fixed 106 | 107 | - Better instructions for users that prefer a little more YAML in their lives, thanks to [@zwbetz-gh](https://github.com/zwbetz-gh)! 108 | - Fix for broken content div in 404.html ([#21](https://github.com/AngeloStavrow/indigo/issues/21)) 109 | - The `src` URL for the site logo had an extra `/`, and now it doesn't, thanks to [@michimani](https://github.com/michimani)! 110 | 111 | ## [1.0.3] - 2019-10-21 112 | 113 | ### Added 114 | 115 | - Users can now add their Reddit account as a social network, thanks to [@sauerj](https://github.com/sauerj)! 116 | 117 | ### Fixed 118 | 119 | - The 404.html page now properly links back to the homepage, thanks to [@sauerj](https://github.com/sauerj)! 120 | - Custom fonts are now loaded correctly, hopefully speeding up rendering ([#23](https://github.com/AngeloStavrow/indigo/issues/23)) 121 | - The site expected fonts to load from the site root, even if your site was installed to a subdirectory. Now they don't. ([#27](https://github.com/AngeloStavrow/indigo/issues/27)) 122 | 123 | ## [1.0.2] - 2019-10-15 124 | 125 | ### Fixed 126 | 127 | - Broken link to compare v1.0.1 against v1.0 in this change log. 128 | - Updated example site theme name. 129 | 130 | ## [1.0.1] - 2018-10-14 131 | 132 | ### Fixed 133 | 134 | - The Fira Code font is now part of the theme download, rather than downloading from rawgit ([#17](https://github.com/AngeloStavrow/indigo/issues/17)). 135 | 136 | ## 1.0.0 - 2018-09-30 137 | 138 | ### Added 139 | 140 | - The first public release of the indigo theme for Hugo, along with related project documentation (including this changelog). 141 | 142 | [Unreleased]: https://github.com/AngeloStavrow/indigo/compare/v1.4.0...HEAD 143 | [1.4.0]: https://github.com/AngeloStavrow/indigo/compare/v1.3.2...v1.4.0 144 | [1.3.2]: https://github.com/AngeloStavrow/indigo/compare/v1.3.1...v1.3.2 145 | [1.3.1]: https://github.com/AngeloStavrow/indigo/compare/v1.3.0...v1.3.1 146 | [1.3.0]: https://github.com/AngeloStavrow/indigo/compare/v1.2.0...v1.3.0 147 | [1.2.0]: https://github.com/AngeloStavrow/indigo/compare/v1.1.0...v1.2.0 148 | [1.1.0]: https://github.com/AngeloStavrow/indigo/compare/v1.0.6...v1.1.0 149 | [1.0.6]: https://github.com/AngeloStavrow/indigo/compare/v1.0.5...v1.0.6 150 | [1.0.5]: https://github.com/AngeloStavrow/indigo/compare/v1.0.4...v1.0.5 151 | [1.0.4]: https://github.com/AngeloStavrow/indigo/compare/v1.0.3...v1.0.4 152 | [1.0.3]: https://github.com/AngeloStavrow/indigo/compare/v1.0.2...v1.0.3 153 | [1.0.2]: https://github.com/AngeloStavrow/indigo/compare/v1.0.1...v1.0.2 154 | [1.0.1]: https://github.com/AngeloStavrow/indigo/compare/v1.0...v1.0.1 155 | -------------------------------------------------------------------------------- /static/css/style.css: -------------------------------------------------------------------------------- 1 | * { 2 | box-sizing: border-box; 3 | } 4 | 5 | body { 6 | background-color: #f8f8f8; 7 | color: #3f3f3f; 8 | font-family: "Charter", Times, "Times New Roman", serif; 9 | margin: 0 auto; 10 | } 11 | 12 | /* Desktop styles */ 13 | @media only screen and (min-width: 860px) { 14 | div#sitelogo { 15 | margin-left: -96px; 16 | position: fixed; 17 | } 18 | } 19 | 20 | @media only screen and (min-width: 768px) { 21 | body { 22 | max-width: 800px; 23 | font-size: 1.3em; 24 | width: 90%; 25 | } 26 | 27 | code, 28 | pre { 29 | font-size: 0.9em; 30 | } 31 | 32 | img { 33 | display: block; 34 | height: 100%; 35 | margin: 0 auto; 36 | max-width: 100%; 37 | } 38 | 39 | blockquote { 40 | font-size: x-large; 41 | } 42 | 43 | .icon-24x24:hover { 44 | background-color: #f8f8f8; 45 | border-top: 2px solid #00416a; 46 | padding-top: 2px; 47 | } 48 | 49 | .card-content { 50 | margin-left: 25px; 51 | } 52 | } 53 | 54 | /* High-DPI mobile styles */ 55 | @media only screen and (max-width: 768px) { 56 | body { 57 | font-size: 1em; 58 | max-width: 90%; 59 | } 60 | 61 | img { 62 | max-width: 100%; 63 | } 64 | 65 | blockquote { 66 | font-size: x-large; 67 | } 68 | 69 | .card-content { 70 | margin-left: 25px; 71 | } 72 | } 73 | 74 | /* Low-DPI mobile styles */ 75 | @media only screen and (max-width: 414px) { 76 | body { 77 | font-size: 1.2em; 78 | max-width: 90%; 79 | } 80 | 81 | img { 82 | max-width: 100%; 83 | } 84 | 85 | blockquote { 86 | font-size: x-large; 87 | } 88 | 89 | .card-content { 90 | margin-left: 0; 91 | } 92 | } 93 | 94 | #sitelogo { 95 | margin: 16px auto 0 auto; 96 | width: 64px; 97 | } 98 | 99 | .glyph:hover { 100 | background-color: #f8f8f8; 101 | } 102 | 103 | h1, 104 | h2, 105 | h3, 106 | h4, 107 | h5, 108 | h6 { 109 | font-family: "Fira Sans", Helvetica, Arial, sans-serif; 110 | font-weight: bold; 111 | margin-top: 2em; 112 | padding-top: 0.15em; 113 | } 114 | 115 | h1 { 116 | font-size: 2em; 117 | } 118 | 119 | a { 120 | color: #00416a; 121 | } 122 | 123 | a:visited { 124 | color: #316586; 125 | } 126 | 127 | a:hover { 128 | background-color: #00416a; 129 | color: #dee5e9; 130 | } 131 | 132 | h1.post-title { 133 | border-top: 2px solid #3f3f3f; 134 | font-size: 2.5em; 135 | } 136 | 137 | h2.list-title > a { 138 | color: #00416a; 139 | } 140 | 141 | h2.list-title > a:visited { 142 | color: #316586; 143 | } 144 | 145 | h2.list-title > a:hover { 146 | background-color: #f8f8f8; 147 | color: #7b9cb0; 148 | } 149 | 150 | a.read-more { 151 | font-family: "Fira Sans"; 152 | font-size: smaller; 153 | text-transform: uppercase; 154 | } 155 | 156 | section.content { 157 | line-height: 1.5em; 158 | } 159 | 160 | p.post-date { 161 | background-color: #00416a; 162 | color: #dee5e9; 163 | font-family: "Fira Sans", Helvetica, Arial, sans-serif; 164 | font-size: smaller; 165 | margin: 0 0 2.5em 0; 166 | padding: 0.25em 0.5em; 167 | } 168 | 169 | a.p-author { 170 | color: #dee5e9; 171 | text-decoration: none; 172 | } 173 | 174 | h2.list-title { 175 | margin: 2em 0 0 0; 176 | padding: 0; 177 | } 178 | 179 | p.list-post-date { 180 | font-family: "Fira Sans", Helvetica, Arial, sans-serif; 181 | font-size: smaller; 182 | margin: 1em 0 1.5em 0; 183 | padding: 0; 184 | text-transform: uppercase; 185 | } 186 | 187 | #footer { 188 | width: 100%; 189 | } 190 | 191 | .copyright { 192 | font-family: "Fira Sans", Helvetica, Arial, sans-serif; 193 | font-size: smaller; 194 | margin-top: 2em; 195 | text-align: center; 196 | } 197 | 198 | div.h-card { 199 | box-shadow: 0 5px 5px #ccc; 200 | margin: 100px auto; 201 | min-height: 150px; 202 | padding: 25px; 203 | width: 90%; 204 | } 205 | 206 | img.u-photo { 207 | width: 100px; 208 | } 209 | 210 | .card-content { 211 | display: inline-block; 212 | } 213 | 214 | .card-name { 215 | margin: 0; 216 | } 217 | 218 | .card-subhead { 219 | font-family: "Fira Sans", Helvetica, Arial, sans-serif; 220 | font-size: smaller; 221 | text-transform: uppercase; 222 | } 223 | 224 | blockquote { 225 | color: #00416a; 226 | background-color: #dee5e9; 227 | border-left: 25px solid #00416a; 228 | line-height: 1.25em; 229 | margin: 2em auto; 230 | padding: 1% 5%; 231 | width: 100%; 232 | } 233 | 234 | code { 235 | font-family: "Fira Code", "Courier New", Courier, monospace; 236 | padding: 0.1em 0.2em 0.1em 0.2em; 237 | } 238 | 239 | pre { 240 | background-color: #00416a; 241 | border: 1px solid #ccc; 242 | border-radius: 5px; 243 | color: #dee5e9; 244 | font-size: 0.8em; 245 | margin: 2em auto; 246 | overflow-x: auto; 247 | padding: 1em; 248 | width: 100%; 249 | } 250 | 251 | hr.post-underline { 252 | border: 0; 253 | border-top: 1px solid #ccc; 254 | display: block; 255 | height: 1px; 256 | padding: 0; 257 | margin: 2em auto; 258 | width: 75%; 259 | } 260 | 261 | a.permalink { 262 | border-radius: 100%; 263 | text-decoration: none; 264 | } 265 | 266 | .post-tag { 267 | font-family: "Fira Sans", Helvetica, Arial, sans-serif; 268 | font-size: small; 269 | text-transform: uppercase; 270 | } 271 | 272 | a.post-tag { 273 | background-color: #dee5e9; 274 | border: 1px solid #7b9cb0; 275 | border-radius: 5px; 276 | color: #316586; 277 | padding: 0.15em 0.3em 0.1em 0.3em; 278 | text-decoration: none; 279 | } 280 | 281 | a.post-tag:hover { 282 | background-color: #7b9cb0; 283 | color: #fff; 284 | } 285 | 286 | .list-heading-type { 287 | font-size: large; 288 | text-transform: uppercase; 289 | } 290 | 291 | .list-heading-tag { 292 | background-color: #dee5e9; 293 | border: 1px solid #7b9cb0; 294 | border-radius: 5px; 295 | color: #316586; 296 | font-size: large; 297 | font-weight: 100; 298 | padding: 0.25em 0.5em; 299 | text-transform: uppercase; 300 | } 301 | 302 | div#site-header { 303 | border-top: 5px solid #3f3f3f; 304 | border-bottom: 2px solid #3f3f3f; 305 | } 306 | 307 | div#site-header > h1 { 308 | font-size: 2.5em; 309 | line-height: 1em; 310 | margin-top: 1em; 311 | } 312 | 313 | div#site-header > p { 314 | margin-top: 0; 315 | margin-bottom: 1em; 316 | } 317 | 318 | div#page-nav, 319 | #pagination { 320 | font-family: "Fira Sans", Helvetica, Arial, sans-serif; 321 | font-size: smaller; 322 | line-height: 1em; 323 | margin: 1.5em 0 2.5em 0; 324 | padding: 0; 325 | text-align: center; 326 | text-transform: uppercase; 327 | width: 100%; 328 | } 329 | 330 | #page-nav { 331 | align-items: flex-start; 332 | display: flex; 333 | flex-direction: row; 334 | flex-wrap: nowrap; 335 | justify-content: space-around; 336 | } 337 | 338 | div.page-nav-item, 339 | div.page-nav-spacer { 340 | flex: 1 1 auto; 341 | margin: 0; 342 | padding: 0; 343 | } 344 | 345 | div.page-nav-item > a { 346 | color: #00416a; 347 | display: block; 348 | text-decoration: none; 349 | width: 100%; 350 | } 351 | 352 | div.page-nav-item > a:hover { 353 | background-color: #00416a; 354 | color: #dee5e9; 355 | } 356 | 357 | div#pagination { 358 | display: inline-block; 359 | margin: 3.5em 0; 360 | } 361 | 362 | div.pagination-item:hover { 363 | background-color: #00416a; 364 | } 365 | 366 | div.pagination-item, 367 | div.pagination-item-spacer { 368 | display: inline-block; 369 | float: left; 370 | margin: 0; 371 | padding: 0; 372 | width: 20%; 373 | } 374 | 375 | div.pagination-item > a { 376 | color: #00416a; 377 | display: block; 378 | text-decoration: none; 379 | } 380 | 381 | div.pagination-item > a:hover { 382 | color: #dee5e9; 383 | } 384 | 385 | aside#social { 386 | border-top: 2px solid #3f3f3f; 387 | display: flex; 388 | height: 48px; 389 | margin: 0 auto; 390 | width: 100%; 391 | } 392 | 393 | div#social-icons { 394 | align-items: center; 395 | display: flex; 396 | flex-basis: 414px; 397 | flex-wrap: wrap; 398 | height: 24px; 399 | justify-content: space-between; 400 | margin-top: 20px; 401 | max-width: 414px; 402 | min-width: 288px; 403 | } 404 | 405 | .icon-24x24 { 406 | height: 24px; 407 | width: 24px; 408 | } 409 | 410 | nav#article-skip { 411 | align-items: flex-start; 412 | border-top: 1px solid #dee5e9; 413 | display: flex; 414 | flex-direction: row; 415 | flex-wrap: nowrap; 416 | font-family: "Fira Sans", Helvetica, Arial, sans-serif; 417 | font-size: smaller; 418 | justify-content: space-around; 419 | line-height: 1em; 420 | margin: 5em 0 0 0; 421 | padding: 0; 422 | text-align: center; 423 | text-transform: uppercase; 424 | } 425 | 426 | .next, 427 | .prev, 428 | .top { 429 | flex: 0 1 auto; 430 | margin: 0; 431 | padding: 0.5em; 432 | width: 100%; 433 | } 434 | 435 | .next { 436 | text-align: left; 437 | } 438 | 439 | .prev { 440 | text-align: right; 441 | } 442 | 443 | .top { 444 | border-left: 1px solid #dee5e9; 445 | border-right: 1px solid #dee5e9; 446 | } 447 | 448 | div.next > p, 449 | div.prev > p { 450 | margin: 0; 451 | padding: 0; 452 | } 453 | 454 | div.next > a, 455 | div.prev > a, 456 | div.top > a { 457 | color: #00416a; 458 | text-decoration: none; 459 | } 460 | 461 | div.next > a:hover, 462 | div.prev > a:hover, 463 | div.top > a:hover { 464 | background-color: #00416a; 465 | color: #dee5e9; 466 | } 467 | -------------------------------------------------------------------------------- /static/icons/glitch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Artboard 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | --------------------------------------------------------------------------------