1
0
mirror of https://github.com/alanorth/hugo-theme-bootstrap4-blog.git synced 2024-12-19 00:52:19 +01:00
Commit Graph

54 Commits

Author SHA1 Message Date
a81ed6803b
layouts/_default/baseof.html: Allow disabling of SRI
Some sites using edge caching like that on a CDN or S3 might have
issues with assets being cached too long, causing user agents to
refuse to load assets due to SRI hash mismatch. These sites should
disable the use of sub-resource integrity hashes using this config
option in their config:

    disable_sri = true
2017-04-12 21:38:10 +03:00
mathew
6d027091d4 Add caching of last N posts in sidebar to improve performance 2017-03-11 16:20:50 -06:00
04ff763688
Revert to using Hugo's own OpenGraph template
I had overridden Hugo's OpenGraph template to improve it, but those
changes have been upstreamed in Hugo 0.19. We can use theirs now.

See: https://github.com/spf13/hugo/pull/3073
2017-02-21 16:14:13 +02:00
18863075c5
Revert to Hugo's own Twitter Cards partial
I had overridden it in the theme to improve the metadata generated
by it. Hugo has accepted the changes upstream so we can use theirs
now.

See: https://github.com/spf13/hugo/pull/2984
2017-02-21 15:03:17 +02:00
40864e252e
layouts/partials/twitter_cards.html: Remove twitter:domain
This apparently used to exist but is no longer mentioned on the doc
page for Twitter Cards markup.

See: https://dev.twitter.com/cards/markup
2017-01-23 14:52:27 +02:00
a709b3b6a2
Import Hugo's Twitter cards partial from tpl/template_embedded.go
I want to see if I can improve the metadata here.
2017-01-23 14:51:44 +02:00
527bc0d824
layouts/partials/opengraph.html: Fix date for nodes
.Site.LastChange is the date of the last modification on the entire
site, not necessarily on the node we're currently showing, such as
a taxonomy list.
2017-01-22 16:31:38 +02:00
64d8bdab83
layouts/partials/opengraph.html: Work on OpenGraph tags
Better use of dates for ALL nodes/pages. I wrote extensive comments
as a note for when I eventually submit this upstream to Hugo.
2017-01-22 15:48:21 +02:00
868b5b3c13 layouts/partials/opengraph.html: Adjust .Params.audio block
Bring it back on the same line as the above, to make it more like
the Hugo template that we stole it from.

See: tpl/template_embedded.go
2017-01-22 14:01:28 +02:00
64541ef84e layouts/partials/opengraph.html: Improve date handling
Both the Facebook and OpenGraph documentation specify the usage of
article:published_time and article:modified_time tags for articles.
For websites, however, the Facebook documentation recommends the
og:updated_time tag instead.

See: https://developers.facebook.com/docs/reference/opengraph/object-type/article
See: http://ogp.me
See: https://developers.facebook.com/docs/reference/opengraph/object-type/website
2017-01-22 14:01:28 +02:00
2e04a8ce26 Import opengraph partial from Hugo
Hugo's current handling of dates in the opengraph partial needs
nome work to be more correct—for example: the usage of published
and updated times. This comes verbatim from the Hugo source tree.

See: tpl/template_embedded.go
2017-01-22 14:01:28 +02:00
5fadea283d
layouts/partials/sharing-icons.html: Icons are no longer configurable 2017-01-21 19:26:40 +02:00
8ab05ae625
Add Schema.org implementation based on JSON-LD
This replaces the metadata that Hugo's own schema.html template had
been providing, but does so in JSON-LD notation rather than via the
use of <meta> tags (this is Google's currently recommended form of
specifying this markup). There are a few exceptions where I did not
follow the conventions used in Hugo's template, for example the use
of up to six images from a post's frontmatter, because Google's tool
only recognizes one image, as well as different logic for a post's
publish and modified dates (using enableGitInfo = true).

Using this new markup, Google's Structured Data Testing Tool is now
able to understand site metadata much better (before it was reading
none).

The implementation here is a mix of the elements and types from the
official Schema.org types—for example, Blog and BlogPosting—as well
as from Google's search documentation. Note that Google's docs are
geared towards AMP, where some metadata is required, while for non-
AMP pages the metadata is just recommended.

We will have to re-evaluate this in the future, for example to add
height and width information to image metadata.

See: https://schema.org/Blog
See: https://schema.org/BlogPosting
See: https://developers.google.com/search/docs/data-types/data-type-selector
See: https://search.google.com/structured-data/testing-tool
2017-01-20 15:58:30 +02:00
4b768d9da4
layouts/partials/sidebar.html: Use .Site.RegularPages instead of .Site.Pages
As of Hugo 0.18 .Site.Pages now returns all pages, including pages,
home, taxonomies, etc, and you are expected to filter them by their
"kind". There is a new variable .Site.RegularPages which returns a
range of "regular" pages like in pre-0.18 Hugo.

In this instance we are limiting the range to pages with the type
"post", so our current behavior works, but I'd rather be consistent
with other ranges we're using, like on the homepage and taxonomy
list pages.

See: https://github.com/spf13/hugo/releases/tag/v0.18
2017-01-19 15:08:55 +02:00
b1f07d1bbc
layouts/partials/head-meta.html: Trim whitespace around tags
It's the right thing to do.
2017-01-19 14:57:03 +02:00
113eac717b
layouts/partials/head-meta.html: Use with insted of if
This is a more Hugo-like construct.
2017-01-19 14:54:49 +02:00
0e381ab120
Start using SRI hashes for CSS/JS assets
Uses Hugo's site data mechanism to load pre-generated asset hashes.
2017-01-11 10:42:49 +02:00
a6a384cc82 Update margin around sharing icons for Bootstrap v4 Alpha 6
As of Alpha 6 there is no longer .nav-inline, so we need to add our
own class and apply our own margin.
2017-01-09 16:54:20 +02:00
a3bd024e29 layouts/partials/head-meta.html: Remove IE meta tags
Bootstrap v4 Alpha 6 removes support for IE 8 and 9 and these tags
are no longer necessary.

See: https://github.com/twbs/bootstrap/pull/21483
2017-01-09 16:54:20 +02:00
c9c5771782
layouts/partials/sidebar.html: Check before using sidebar params
If the user's config doesn't have [params.sidebar] defined they get
errors when trying to build the site. It's better if we just check
that this config block is defined before trying to use it, and then
add something to the docs telling people that the site looks really
bad without this defined.
2017-01-09 00:14:11 +02:00
325c5977c1
layouts/partials/sharing-icons.html: Adjust sharing block
Now the sharing block is siblings with the Disqus block and needs
to share its header.
2017-01-07 11:23:54 +02:00
Mathieu GAUTHIER-LAFAYE
65b9847333 links in sidebar is now tranlatable 2016-12-09 16:35:13 +01:00
b52fac69b1
layouts: retab after addition of modelines
Done in vim using `gg=G` and then `:retab`.
2016-11-24 14:39:39 +02:00
DeedleFake
663f3db2a0 Add Vim Modeline Comments to Files (#18)
* Add Vim modeline comments to all relevent template files.

* Add Vim modeline comments to a few other files.

* Move modeline comments inside the template definitions in list and single.

For some odd reason, putting them outside breaks the page generation.

* Use template comments for modeline comments in templates.

* Fix form 2 modelines.
2016-11-24 14:33:56 +02:00
DeedleFake
b83b1683a7 Add ability to insert custom code into the global <head>. (#17)
* Add ability to insert custom code into the global <head>.
* Fix indentation.
2016-11-22 21:11:50 +02:00
a66be324cc
Add plumbing for cookie consent
Set the cookie_consent_info_url parameter in your site's config to
display a message about cookie usage to your users. See the config
in `exampleSite/config.toml` for more info.
2016-11-13 14:13:17 +02:00
Frank Tegtmeyer
b81d5c54da Disqus integration for single nodes. 2016-11-01 15:25:44 +01:00
b637dd5eb1
layouts/partials/head-meta.html: Use Hugo's templates
Instead of writing my own logic for metadata and Twitter cards, I
should be using Hugo's own. This makes my theme code cleaner, but
means I have to adjust some of the configuration conventions that
I have been using. An added bonus is that my theme will work with
more sites now, as long as they are using Hugo's config conventions.
2016-10-14 23:07:39 -04:00
7194b5926d
layouts/partials/head-meta.html: Add site verification support
I had added Google Webmaster verify support but it got lost when I
was re-organizing the head meta stuff. I'm adding it back now plus
support for Bing and Yandex.
2016-10-08 16:57:10 +03:00
3a6bed5be7
layouts: Use Markdown filter on titles
This makes it possible to have Black Friday config options like
quote style also affect post titles.
2016-10-06 14:17:59 +03:00
577e168da5
Use i18n to translate some strings
Hugo 0.17 allows for easy multi-lingual sites. Strings can be
translated either in the theme or in the site, and missing strings
will fall back to the default language.

See: https://github.com/spf13/hugo/blob/master/docs/content/content/multilingual.md
2016-10-03 22:58:22 +03:00
d99cf5df11
layouts/partials/meta-terms.html: use relLangURL for categories/tags
Fixes generation of links to language-specific tags.
2016-10-03 22:28:35 +03:00
6a25f3eef1
layouts: Move all meta tags to head-meta.html partial 2016-09-26 09:26:00 +03:00
71413f55b6
layouts: Rename metadata partial 2016-09-26 09:23:13 +03:00
884713fc2a
layouts: Add theme support for categories and tags
Add categories/tags to front matter and they will be displayed on
summary and post pages, with links to taxonomy pages. Example:

  +++
  date = "2016-09-24T21:28:31+03:00"
  title = "Post title"
  categories = ["Nature"]
  tags = ["Wetland", "Oasis"]
  +++

For some reason if you add tags singularly, like:

  categories = "Nature"

you get index errors from Hugo. Not sure if I need to parse the
tags differently or just add more logic to test if the terms are
singular or not.
2016-09-26 08:32:46 +03:00
72d5c94cc5
Add basic sharing icons to the bottom of posts
By default they are on, but you can disable them by adding the
following configuration value:

  [params.sharingicons]
    hide = true

If this parameter is undefined (or "false") then the icons will be
shown. Furthermore, you can disable specific icons by setting their
value to "false", ie:

  [params.sharingicons]
    facebook = false

Any icons not named will be shown. Currently there a four icons
configureg: facebook, googleplus, linkedin, and twitter.
2016-09-18 17:11:08 +03:00
731af8c564
layouts: Add basic support for OpenGraph and Twitter card metadata
Uses basic data like title, description, author, and date that we
are using with existing vanilla meta tags, but extends them to OG
and Twitter Card tags. See [0] and [1].

For the Twitter summary cards specifically, you can optionally add
attribution for your username by adding something like this to your
configuration:

  [params.social]
    twitter_username = "@mralanorth"

... and for posts with images, you can specify an "image" in the
post's front matter like so:

  image = "/2016/09/IMG_20160916_174409.jpg"

And then the theme will opt to use Twitter's "large" summary card.

[0] http://ogp.me/
[1] https://dev.twitter.com/cards/getting-started
2016-09-17 18:05:22 +03:00
826bd2de54
layouts/partials/sidebar.html: Use "Type" instead of "Section"
Both work similarly here, but "Type" is more obvious to me.
2016-09-17 16:56:27 +03:00
42c06c260c
layouts: Only list posts on front page and sidebar
We don't want to list other top-level pages like "About" here, they
will be enumerated in the header.
2016-09-14 16:35:04 +03:00
192d0bbee6
Allow configuration of optional sidebar links
Add something like the following to your config:

  [[menu.sidebar]]
    name = "Link 1"
    url = "https://link1.com"

  [[menu.sidebar]]
    name = "Link 2"
    url = "https://link2.com"

See the Hugo docs for more examples: https://gohugo.io/extras/menus/
2016-09-08 15:00:23 +03:00
d214834089
Allow configuration of recent posts on sidebar
By default it shows the latest five posts, but you can set this
property in your config to override it:

  [params.sidebar]
    num_recent_posts = 7

Still no way to disable it, as I don't understand golang's HTML
templating stuff yet. The Hugo docs are a bit confusing, but it
seems like conditionals are a bit tricky because both false and
0 return a boolean false... hmm.

See: https://gohugo.io/templates/go-templates/
2016-09-07 23:54:55 +03:00
15a41a86a2
Allow optional configuration of "About" block in sidebar
Add something like the following to your config to enable the about
block in the sidebar:

  [params.sidebar]
    about = "*My site* is really cool. Adios!"

Can be formatted in Markdown.
2016-09-07 16:41:04 +03:00
a942707278
Remove static archives from sidebar
I need to figure out how to generate a list of posts grouped by
month, ie "August 2016", as well as a list template to show the
posts for each month for when the user clicks the link.
2016-09-03 19:15:09 +03:00
6059f6cbea
Use HTML5 aside and section tags for sidebar
The HTML5 aside tag is for content that is tangentially related to
the content around the aside tag, but is considered separate from
that content. Section tags are semantic HTML5 elements that inform
computers about content structure, as opposed to div tags which
can be used for structure OR style.

See: http://diveinto.html5doctor.com/semantics.html
2016-09-02 10:18:18 +03:00
412cc18cf9
Start using Go 1.6's blocks
Partials are nice, but blocks are a better base construct. Right
now there is basically only layouts/_default/baseof.html that is
doing most of the work.

See: https://gohugo.io/templates/blocks
2016-09-01 17:37:27 +03:00
3042101003
Use H2 for blog post heading
I think this should be an H1 since it's in a standalone article tag
but for some reason WordPress' latest themes use an H2, so I'll use
one too until I go read the W3C docs.
2016-08-30 22:45:30 +03:00
e4cd676f3a
Reorganize summary and single post layouts
Now shows blog posts on their target page.
2016-08-30 12:45:13 +03:00
4043f1b1f4
Use site title in header, not context's title
Depending on the context the ".Title" could be the post or page's
title, but here we actually want the site's title.
2016-08-30 00:39:48 +03:00
b164ceb53c
Add common HTML tags to head and footer so we can re-use them 2016-08-30 00:31:01 +03:00
bfaa9ac247
layouts: Allow hiding the sidebar
Set the following parameter to hide the sidebar:

  [params.sidebar]
    hide = true
2016-08-28 23:41:34 +03:00