1
0
mirror of https://github.com/alanorth/hugo-theme-bootstrap4-blog.git synced 2025-05-11 06:56:00 +02:00

17 Commits

Author SHA1 Message Date
fe7b0c3787 CHANGELOG.md: add note about templates for Hugo v0.146.0 2025-04-14 07:56:13 +03:00
be4bbc3bca layouts/partials: use internal Hugo partials
As of Hugo v0.146.0 the template system was overhauled and it seems
we need to use different syntax here. The reason for overriding the
Hugo internal templates in the past (post images) is no longer pre-
sent, so I can revert to the internal ones, but confusingly, we do
not refer to them with "_internal" now.

See: https://github.com/gohugoio/hugo/pull/13541
2025-04-14 07:48:59 +03:00
5fd2964427 CHANGELOG.md: add note about deprecations 2024-09-17 08:00:21 +04:00
233e715e78 layouts: fix some deprecations
Fix these errors from Hugo:

    ERROR deprecated: .Site.GoogleAnalytics was deprecated in Hugo v0.120.0 and will be removed in Hugo 0.134.0. Use .Site.Config.Services.GoogleAnalytics.ID instead.
    ERROR deprecated: .Site.DisqusShortname was deprecated in Hugo v0.120.0 and will be removed in Hugo 0.134.0. Use .Site.Config.Services.Disqus.Shortname instead.
2024-09-17 08:00:11 +04:00
a8ff91e1ea CHANGELOG.md: Add note about Danish
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2022-07-29 20:15:32 +03:00
31ee2abcad Merge pull request #146 from schack/feature_danish_translation
en.yaml translated to Danish
2022-07-29 20:14:07 +03:00
915caee6dd en.yaml translated to Danish 2022-07-29 15:06:27 +02:00
08ae262312 CHANGELOG.md: add note about Bootstrap tables
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-29 10:09:02 +03:00
b781125ed8 Regenerate static assets 2022-07-29 10:07:28 +03:00
ddcae7c761 package-lock.json: run npm update 2022-07-29 10:07:16 +03:00
b415ee2879 Regenerate static assets 2022-07-29 10:05:11 +03:00
4260a7e1af source/scss/bootstrap.scss: enable tables
Requested by a user.

See: https://github.com/alanorth/hugo-theme-bootstrap4-blog/issues/145
2022-07-29 10:03:57 +03:00
a94ebccf3d Use Node.js 14 instead of 12
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-07 09:36:46 +03:00
54d3242633 CHANGELOG.md: update notes
All checks were successful
continuous-integration/drone/push Build is passing
2021-10-18 15:03:01 +03:00
1d4204a404 Regenerate static assets 2021-10-18 14:53:45 +03:00
985070b311 package.json: update cleancss options
We use -O1 instead of --level 1 now.
2021-10-18 14:52:55 +03:00
2e40f6cd69 Update npm dependencies 2021-10-18 14:52:43 +03:00
17 changed files with 947 additions and 1052 deletions

View File

@ -1,6 +1,6 @@
image: archlinux
packages:
- nodejs-lts-erbium
- nodejs-lts-fermium
- npm
sources:
- https://git.sr.ht/~alanorth/hugo-theme-bootstrap4-blog

View File

@ -1,20 +1,5 @@
kind: pipeline
type: docker
name: node12
steps:
- name: build
image: node:12-alpine
commands:
- npm --version
- npm install -g npm
- npm --version
- npm install
- npm run build
---
kind: pipeline
type: docker
name: node14
steps:

View File

@ -6,7 +6,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased Changes
### Updated
- Bootstrap v4.6.0, webpack v5.16.0, haven 0.6.2, etc
- Bootstrap v4.6.0, webpack v5, haven 0.7.0, clean-css-cli, etc
- Use Node.js 14 in CI, remove Node.js 12
## Added
- Support for Bootstrap table classes (#145)
- i18n language keys for Danish (@schack, #146)
## Fixed
- Deprecations from Hugo (DisqusShortname and GoogleAnalytics)
- Deprecations from Hugo (Templates)
## [[ 1.6.0 ]] - 2020-12-05
### Changed
@ -26,7 +35,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [[1.5.0]] - 2020-05-17
### Updated
- i18n language keys for German (#dermellor, #131)
- i18n language keys for German (@dermellor, #131)
- Boostrap v4.5.0
- Minor version bump for webpack, node-sass, and fontawesome

View File

@ -38,7 +38,7 @@ A few suggestions to help you get a good looking site quickly:
See the source code and structure of [picturingjordan.com](https://github.com/alanorth/picturingjordan.com) to get more ideas.
## Building (For Developers)
This theme uses the [Bootstrap](https://getbootstrap.com/) framework. A static version of this is already included, but if you want to bump the version, tweak the style, etc, you'll need to rebuild the assets. Make sure you have NodeJS >= v10 installed, and then run the following from inside the theme's directory:
This theme uses the [Bootstrap](https://getbootstrap.com/) framework. A static version of this is already included, but if you want to bump the version, tweak the style, etc, you'll need to rebuild the assets. Make sure you have Node.js >= v14 installed, and then run the following from inside the theme's directory:
```console
$ npm install

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

50
i18n/da.yaml Normal file
View File

@ -0,0 +1,50 @@
- id: about
translation: "Om"
- id: home
translation: "Hjem"
- id: recentPosts
translation: "Seneste indlæg"
- id: readMore
translation: "Læs mere"
- id: translations
translation: "Oversættelser"
- id: share
translation: "Del"
- id: paginatorPrevious
translation: "Forrige side"
- id: paginatorNext
translation: "Næste side"
- id: cookieMessage
translation: "Denne hjemmeside anvender cookies."
- id: cookieLink
translation: "Læs mere."
- id: cookieAccept
translation: "OK"
- id: cookieDecline
translation: "Afbryd"
- id: backToTop
translation: "Til toppen"
- id: links
translation: "Links"
- id: authoredBy
translation: "af"
- id: postedIn
translation: "i"
- id: comma
translation: ","

View File

@ -31,7 +31,7 @@
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end -}}
{{ if .Site.GoogleAnalytics }}
{{ if .Site.Config.Services.GoogleAnalytics.ID }}
{{ partial "cookie-consent.html" . }}
{{ end }}

View File

@ -83,7 +83,7 @@
</ul>
{{ end }}
{{ if or (ne ($.Param "sharingicons") false) (.Site.DisqusShortname) }}
{{ if or (ne ($.Param "sharingicons") false) (.Site.Config.Services.Disqus.Shortname) }}
<hr>
<footer>
@ -91,7 +91,7 @@
{{ partial "sharing-icons.html" . }}
{{ end }}
{{ if and (.Site.DisqusShortname) (ne .Params.comments false) }}
{{ if and (.Site.Config.Services.Disqus.Shortname) (ne .Params.comments false) }}
{{ template "_internal/disqus.html" . }}
{{ end }}
</footer>

View File

@ -28,7 +28,7 @@ Haven.create({
{
name: 'google-analytics',
options: {
id: {{ .Site.GoogleAnalytics }},
id: {{ .Site.Config.Services.GoogleAnalytics.ID }},
},
purposes: ['analytics'],
inject: true,

View File

@ -1,8 +1,8 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{{ partial "opengraph.html" . }}
{{ partial "twitter_cards.html" . }}
{{- partial "opengraph.html" . }}
{{- partial "twitter_cards.html" . }}
{{- with .Site.Params.google_verify_meta -}}
<meta name="google-site-verification" content="{{ . }}" />

View File

@ -1,73 +0,0 @@
<!--
Import Hugo's internal twitter_cards.html template to add support for resolving
images in page bundles and with falling back to the default of looking in the
static assets directory.
See: tpl/tplimpl/embedded/templates/opengraph.html
See: https://github.com/gohugoio/hugo/issues/5078
-->
<meta property="og:title" content="{{ .Title }}" />
<meta property="og:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}" />
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}" />
<meta property="og:url" content="{{ .Permalink }}" />
{{ with $.Params.images }}{{ range first 6 . -}}
{{/* try to get the image from the page bundle */}}
{{- with $.Page.Resources.GetMatch (printf "*%s*" .) -}}
<meta property="og:image" content="{{ .Permalink }}" />
{{/* otherwise, get the image from /static */}}
{{- else -}}
<meta property="og:image" content="{{ . | absURL }}" />
{{- end }}
{{ end }}{{ else -}}
{{- $images := $.Resources.ByType "image" -}}
{{- $featured := $images.GetMatch "*feature*" -}}
{{- if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}}
{{- with $featured -}}
<meta property="og:image" content="{{ $featured.Permalink }}"/>
{{ else -}}
{{- with $.Site.Params.images -}}
<meta property="og:image" content="{{ index . 0 | absURL }}"/>
{{ end }}{{ end }}{{ end }}
{{- $iso8601 := "2006-01-02T15:04:05-07:00" -}}
{{- if .IsPage }}
{{- if not .PublishDate.IsZero }}<meta property="article:published_time" {{ .PublishDate.Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />
{{ else if not .Date.IsZero }}<meta property="article:published_time" {{ .Date.Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />
{{ end }}
{{- if not .Lastmod.IsZero }}<meta property="article:modified_time" {{ .Lastmod.Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }}
{{- else }}
{{- if not .Date.IsZero }}<meta property="og:updated_time" {{ .Lastmod.Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />
{{- end }}
{{- end }}{{/* .IsPage */}}
{{- with .Params.audio }}<meta property="og:audio" content="{{ . }}" />{{ end }}
{{- with .Params.locale }}<meta property="og:locale" content="{{ . }}" />{{ end }}
{{- with .Site.Params.title }}<meta property="og:site_name" content="{{ . }}" />{{ end }}
{{- with .Params.videos }}
{{- range . }}
<meta property="og:video" content="{{ . | absURL }}" />
{{ end }}{{ end }}
{{- /* If it is part of a series, link to related articles */}}
{{- $permalink := .Permalink }}
{{- $siteSeries := .Site.Taxonomies.series }}{{ with .Params.series }}
{{- range $name := . }}
{{- $series := index $siteSeries $name }}
{{- range $page := first 6 $series.Pages }}
{{- if ne $page.Permalink $permalink }}<meta property="og:see_also" content="{{ $page.Permalink }}" />{{ end }}
{{- end }}
{{ end }}{{ end }}
{{- if .IsPage }}
{{- range .Site.Authors }}{{ with .Social.facebook }}
<meta property="article:author" content="https://www.facebook.com/{{ . }}" />{{ end }}{{ with .Site.Social.facebook }}
<meta property="article:publisher" content="https://www.facebook.com/{{ . }}" />{{ end }}
<meta property="article:section" content="{{ .Section }}" />
{{- with .Params.tags }}{{ range first 6 . }}
<meta property="article:tag" content="{{ . }}" />{{ end }}{{ end }}
{{- end }}{{ end }}
{{- /* Facebook Page Admin ID for Domain Insights */}}
{{- with .Site.Social.facebook_admin }}<meta property="fb:admins" content="{{ . }}" />{{ end }}

View File

@ -1,42 +0,0 @@
<!--
Import Hugo's internal twitter_cards.html template to add support for resolving
images in page bundles and with falling back to the default of looking in the
static assets directory.
See: tpl/tplimpl/embedded/templates/twitter_cards.html
See: https://github.com/gohugoio/hugo/issues/5078
-->
{{- with $.Params.images -}}
<meta name="twitter:card" content="summary_large_image"/>
{{/* try to get the image from the page bundle */}}
{{- with $.Page.Resources.GetMatch (printf "*%s*" .) -}}
<meta name="twitter:image" content="{{ .Permalink }}"/>
{{- else -}}
<meta name="twitter:image" content="{{ index . 0 | absURL }}"/>
{{- end -}}
{{ else -}}
{{- $images := $.Resources.ByType "image" -}}
{{- $featured := $images.GetMatch "*feature*" -}}
{{- if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}}
{{- with $featured -}}
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="{{ $featured.Permalink }}"/>
{{- else -}}
{{- with $.Site.Params.images -}}
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="{{ index . 0 | absURL }}"/>
{{ else -}}
<meta name="twitter:card" content="summary"/>
{{- end -}}
{{- end -}}
{{- end }}
<meta name="twitter:title" content="{{ .Title }}"/>
<meta name="twitter:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end -}}"/>
{{ with .Site.Social.twitter -}}
<meta name="twitter:site" content="@{{ . }}"/>
{{ end -}}
{{ range .Site.Authors }}
{{ with .twitter -}}
<meta name="twitter:creator" content="@{{ . }}"/>
{{ end -}}
{{ end -}}

1764
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -7,8 +7,8 @@
"url": "https://github.com/alanorth/hugo-theme-bootstrap4-blog.git"
},
"scripts": {
"build:css": "sass --style expanded source/scss/style.scss assets/css/style.css.tmp && cleancss --level 1 assets/css/style.css.tmp -o assets/css/style.css",
"build:rtlcss": "rtlcss -s assets/css/style.css.tmp assets/css/style.rtl.css.tmp && cleancss --level 1 assets/css/style.rtl.css.tmp -o assets/css/style.rtl.css",
"build:css": "sass --style expanded source/scss/style.scss assets/css/style.css.tmp && cleancss -O1 assets/css/style.css.tmp -o assets/css/style.css",
"build:rtlcss": "rtlcss -s assets/css/style.css.tmp assets/css/style.rtl.css.tmp && cleancss -O1 assets/css/style.rtl.css.tmp -o assets/css/style.rtl.css",
"build:cookieconsent": "cp node_modules/@chiiya/haven/dist/haven.umd.min.js assets/js",
"build:js": "webpack",
"build": "npm run build:css && npm run build:rtlcss && npm run build:js && npm run build:cookieconsent && npm run clean",
@ -18,14 +18,14 @@
"author": "Alan Orth",
"license": "CC-BY-3.0",
"devDependencies": {
"@chiiya/haven": "^0.6.2",
"@chiiya/haven": "^0.7.0",
"@fortawesome/fontawesome-svg-core": "^1.2.34",
"@fortawesome/free-brands-svg-icons": "^5.15.2",
"@fortawesome/free-solid-svg-icons": "^5.15.2",
"bootstrap": "^4.6.0",
"clean-css-cli": "^4.3.0",
"rtlcss": "^2.6.2",
"sass": "^1.32.4",
"webpack-cli": "^4.5.0"
"clean-css-cli": "^5.4.1",
"rtlcss": "^3.3.0",
"sass": "^1.43.2",
"webpack-cli": "^4.9.1"
}
}

View File

@ -14,7 +14,7 @@
@import "../../node_modules/bootstrap/scss/images";
@import "../../node_modules/bootstrap/scss/code";
@import "../../node_modules/bootstrap/scss/grid";
//@import "../../node_modules/bootstrap/scss/tables";
@import "../../node_modules/bootstrap/scss/tables";
@import "../../node_modules/bootstrap/scss/forms";
@import "../../node_modules/bootstrap/scss/buttons";
//@import "../../node_modules/bootstrap/scss/transitions";