1
0
mirror of https://github.com/alanorth/hugo-theme-bootstrap4-blog.git synced 2024-11-15 08:47:03 +01:00
Commit Graph

402 Commits

Author SHA1 Message Date
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
86b6689ebe
README.md: Update features with native fonts 2016-09-25 09:17:54 +03:00
26902c5a87
README.md: Update license section for Font Awesome 2016-09-25 09:07:12 +03:00
b3eb0fe23f
README.md: Add link to my blog for an example of this theme in use 2016-09-25 09:02:13 +03:00
d6eb31a890
README.md: Link another TODO to GitHub issue 2016-09-25 07:48:29 +03:00
696a32dcf6
README.md: Link one TODO to GitHub issue 2016-09-24 19:18:30 +03:00
acde63b34f
layouts/_default/baseof.html: Make sidebar logic more robust
Check if the params.sidebar is defined before checking to see if
params.sidebar.hide is true or false. New sites might not have
their config set up properly, so this avoids an error in the case
that params.sidebar isn't defined yet.
2016-09-22 09:19:20 +03:00
13e1a2977d
README.md: Update TODOs 2016-09-21 22:47:25 +03:00
fce7fce694
README.md: Add note about robots.txt 2016-09-21 22:47:02 +03:00
d6d94ff087
Add robots.txt template
Advertises the XML sitemap and allows all user agents, but is only
enabled if the site sets this property in their config:

  enableRobotsTXT = true

See: https://gohugo.io/extras/robots-txt/
2016-09-21 22:37:39 +03:00
92b95a2670
static/css/style.css: Regenerate 2016-09-21 08:30:38 +03:00
435ba0f706
Build a custom Bootstrap
We don't use all the Bootstrap stuff, so let's just build a custom
one with the components we need. This saves about 50k.
2016-09-21 08:29:27 +03:00
b1db1f9637
Change theme name to "hugo-theme-bootstrap4-blog"
This reflects the target usage better, and pays homage to the fact
that it was based on the Bootstrap v4 Alpha blogging example:

http://v4-alpha.getbootstrap.com/examples/blog/
2016-09-19 10:27:28 +03:00
9bb8294089
Add RSS feed for posts to base layout
Not sure who uses RSS anymore but Hugo automatically generates the
feed so we might as well advertise it.
2016-09-19 10:00:28 +03:00
4e4d20dce1
exampleSite/config.toml: Update config options for new features 2016-09-19 08:02:40 +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
0b2d424c62
README.md: Update description 2016-09-18 17:09:53 +03:00
9df02b7ada
README.md: Start a "Features" section 2016-09-18 14:04:04 +03:00
0f038d62e5
static/css/style.css: Regenerate 2016-09-18 13:57:23 +03:00
65ac071b7e
package.json: Remove cleancss
It has problems parsing the output from node-sass when I add the
font-awesome SASS to my imports.
2016-09-18 13:54:07 +03:00
ba5595bfbd
package.json: node-sass to 3.10.0
Release notes: https://github.com/sass/node-sass/releases/tag/v3.10.0
2016-09-18 12:57:08 +03:00
ead16edf97
package.json: Don't use semver magic for package versions
I don't really get it, and I don't really care right now, so I'll
just pin the versions down.
2016-09-18 12:56:13 +03:00
56f663db62
Update theme name 2016-09-18 12:25:19 +03:00
b2bb749638
package.json: Bootstrap is actually a dev dependency
You actually only need it if you want to recompile the theme, as
the generated style is already stored in `static/css/style.css`.
2016-09-18 12:20:44 +03:00
127ed38b0a
README.md: Update TODOs
Still need to do some work on OpenGraph metadata though...
2016-09-17 18:18:18 +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
d7a526f9fd
README.md: Update TODOs 2016-09-17 15:31:06 +03:00
6e9754edc3
Regenerate static assets for font-awesome 4.6.3 2016-09-15 16:32:54 +03:00
4801700449
source/scss/style.scss: Import font-awesome to style.scss 2016-09-15 16:32:26 +03:00
51cf7465b1
package.json: Add run script to copy font-awesome fonts 2016-09-15 16:31:11 +03:00
db577798e2
package.json: Add font-awesome to dev dependencies 2016-09-15 16:29:45 +03:00
1da527c449
README.md: Update TODOs 2016-09-14 23:45:34 +03:00
4427040041
layouts/_default/baseof.html: Enumerate non-post pages in header nav menu
Still need to figure out how to determine which page we're on so we
can set the "active" class accordingly (for Home we have the IsHome
variable the we can check).
2016-09-14 23:43:26 +03:00
d31626c5a3
layouts/_default/list.html: Check for page type instead of "section"
Both work effectively the same for my use case, but the "type" is
more obvious when looking at the code. See the documentation for
Hugo's page variables for more info[0].

[0] http://gohugo.io/templates/variables/#page-variables
2016-09-14 23:39:39 +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
5b0405e69c
README.md: Add note about example config.toml 2016-09-14 16:03:58 +03:00
c10bcc8b68
README.md: Update TODOs 2016-09-14 16:02:07 +03:00
d62ecc6f1e
Add exampleSite with config showing theme's options 2016-09-14 16:00:42 +03:00
baa2cb3329
Update screenshot 2016-09-14 15:57:13 +03:00
2b25241f3c
style: Don't highlight links when they are in headers
This uses some SASS magic instead of the previous single rule
because I need it for both the blog title as well as each post's
title link. Yay, SASS?!
2016-09-14 15:14:13 +03:00
2bb9509bbb
layouts/_default/baseof.html: Add "active" class to nav if page is home
Not sure how to do this for other pages yet, but I'll solve that
once I start enumerating pages into the nav.
2016-09-14 14:55:29 +03:00
6d2693465c
README.md: Update TODOs 2016-09-14 14:39:41 +03:00
e9cf00ca7f
README.md: Update TODOs 2016-09-14 14:23:49 +03:00
e8ee0c68b7
layouts/_default/baseof.html: Smarter meta author tag
Use the post's author from frontmatter, or else use the author from
the site's config. You MUST have one of these set or else you will
get an error during site generation. I think it's better to force
the user to define an author tag rather than only printing it if
it is defined because it is a good practice to help bots understand
content.
2016-09-14 14:05:36 +03:00
c5bacecad6
layouts/_default/baseof.html: Smarter meta description
Use the post's meta description if it exists, otherwise use the
one from the site's config. Set them using the "description" key
in frontmatter or site config.

Note: this means there is no way to NOT have a description. You
must have *at least* a site-wide description and *optionally* a
description for each page/post's front matter.
2016-09-14 13:45:34 +03:00
cd3e327553
layouts: Use HTML5-compatible datetime format for posts
The W3C validator was complaining.

See: https://validator.w3.org
See: https://html.spec.whatwg.org/multipage/semantics.html#the-time-element
2016-09-14 13:12:27 +03:00
8c4b423173
layouts/_default/summary.html: Fix W3C validation error
The validator[0] says:

  Element nobr not allowed as child of element a in this context.

... so I'll just remove it.

[0] https://validator.w3.org
2016-09-14 12:39:40 +03:00
5ab29ec867
README.md: Update TODOs 2016-09-14 12:31:37 +03:00
d37e111ff4
Adjust header levels for post summary and page
The W3C's HTML5 documentation says that header strength (h1–h6) is
only important per section, but their validator[0] recommends only
using one h1.

[0] https://validator.w3.org/
2016-09-14 12:28:15 +03:00