Compare commits

...

9 Commits

Author SHA1 Message Date
Mark Dumay
32fd60bb58 Merge pull request #1485 from gethinode/develop
Semantic release
2025-07-01 12:54:41 +02:00
Mark Dumay
8fa19c9ed1 Merge branch 'main' into develop 2025-07-01 12:44:56 +02:00
Mark Dumay
d36fcd894b feat: introduce semantic releases 2025-07-01 12:40:19 +02:00
Mark Dumay
7378a61542 ci: update Netlify build environment 2025-07-01 12:33:06 +02:00
Mark Dumay
fb63e36c56 Merge pull request #1484 from gethinode/develop
Fix kbd rendering
2025-07-01 11:42:27 +02:00
Mark Dumay
ae1cda1f5a Merge branch 'main' into develop 2025-07-01 11:36:04 +02:00
Mark Dumay
4846d1b016 Bump package release 2025-07-01 11:35:04 +02:00
Mark Dumay
01522dad71 Update build stats 2025-07-01 11:34:38 +02:00
Mark Dumay
0bbef1dad2 FIx kbd rendering 2025-07-01 11:34:29 +02:00
14 changed files with 7514 additions and 435 deletions

View File

@@ -1,41 +0,0 @@
# This workflow will run tests using node and then publish a package to npmjs.org when a release is created
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
name: Publish package to npmjs
on:
workflow_dispatch:
release:
types: [published]
env:
REGISTRY_URL: 'https://registry.npmjs.org/'
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
node-version: [20.x]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup .npmrc file to publish to npm
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
registry-url: ${{ env.REGISTRY_URL }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
# [27/AUG/23] Adjusted from npm ci to prevent EBADPLATFORM error due to fsevents
- name: Install npm
run: npm i
- name: Publish package to npm
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

44
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
name: Release
on:
workflow_dispatch:
push:
branches:
- main
env:
HUSKY: 0
permissions:
contents: read # for checkout
jobs:
release:
name: Release
runs-on: ubuntu-latest
permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
id-token: write # to enable use of OIDC for npm provenance
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "lts/*"
- name: Install dependencies
run: npm clean-install
- name: Verify the integrity of provenance attestations and registry signatures for installed dependencies
run: npm audit signatures
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx semantic-release

1
.gitignore vendored
View File

@@ -1,5 +1,6 @@
_vendor/
prebuild/
prebuild-headers/
public/
resources/
node_modules/

1
.husky/commit-msg Normal file
View File

@@ -0,0 +1 @@
npx --no -- commitlint --edit $1

6
.husky/install.mjs Normal file
View File

@@ -0,0 +1,6 @@
// Skip Husky install in production and CI
if (process.env.NODE_ENV === 'production' || process.env.CI === 'true') {
process.exit(0)
}
const husky = (await import('husky')).default
console.log(husky())

1
.husky/pre-commit Normal file
View File

@@ -0,0 +1 @@
npm test

1
commitlint.config.js Normal file
View File

@@ -0,0 +1 @@
module.exports = {extends: ['@commitlint/config-conventional']}

View File

@@ -4,12 +4,12 @@
command = "npm run build:example"
[build.environment]
DART_SASS_VERSION = "1.83.1"
HUGO_VERSION = "0.140.2"
DART_SASS_VERSION = "1.89.2"
HUGO_VERSION = "0.147.9"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"
NODE_VERSION = "22.12.0"
NPM_VERSION = "10.9.0"
NODE_VERSION = "22.13.0"
NPM_VERSION = "10.9.2"
# toml-docs-end netlify
[context.deploy-preview]

View File

@@ -615,16 +615,11 @@
"fab-medium",
"fab-whatsapp",
"fab-x-twitter",
"faq-0a7097f76883a213c55ec2c34a30493c",
"faq-0a7097f76883a213c55ec2c34a30493c-heading-faq-0a7097f76883a213c55ec2c34a30493c",
"faq-0a7097f76883a213c55ec2c34a30493c-item-0",
"faq-0a7097f76883a213c55ec2c34a30493c-item-1",
"faq-0a7097f76883a213c55ec2c34a30493c-item-2",
"faq-f7b9efada37955325b04f32aa6566814",
"faq-f7b9efada37955325b04f32aa6566814-heading-faq-f7b9efada37955325b04f32aa6566814",
"faq-f7b9efada37955325b04f32aa6566814-item-0",
"faq-f7b9efada37955325b04f32aa6566814-item-1",
"faq-f7b9efada37955325b04f32aa6566814-item-2",
"faq-46cc9ad0fb899a0f4539dbaa956f4df4",
"faq-46cc9ad0fb899a0f4539dbaa956f4df4-heading-faq-46cc9ad0fb899a0f4539dbaa956f4df4",
"faq-46cc9ad0fb899a0f4539dbaa956f4df4-item-0",
"faq-46cc9ad0fb899a0f4539dbaa956f4df4-item-1",
"faq-46cc9ad0fb899a0f4539dbaa956f4df4-item-2",
"fas-1",
"fas-2",
"fas-3",

View File

@@ -1,214 +1,7 @@
{
"htmlElements": {
"tags": [
"a",
"body",
"button",
"div",
"footer",
"form",
"head",
"html",
"img",
"input",
"label",
"li",
"link",
"meta",
"nav",
"ol",
"p",
"path",
"script",
"section",
"small",
"span",
"strong",
"svg",
"symbol",
"title",
"ul",
"use"
],
"classes": [
"active",
"align-items-center",
"align-items-start",
"align-self-center",
"align-self-end",
"ball",
"bg-body",
"bg-opacity-10",
"bg-primary",
"bg-primary-subtle",
"bottom-0",
"bottom-bar",
"breadcrumb",
"breadcrumb-item",
"btn",
"btn-close",
"btn-primary",
"checkbox",
"col",
"col-12",
"col-6",
"col-8",
"col-md-1",
"col-md-11",
"col-md-2",
"col-md-6",
"col-md-8",
"col-sm-12",
"collapse",
"collapsed",
"container-fluid",
"container-xxl",
"d-flex",
"d-inline",
"d-md-block",
"d-md-none",
"d-none",
"d-sm-block",
"d-sm-none",
"display-1",
"display-4",
"emphasis",
"end-0",
"fa",
"fa-10x",
"fa-2x",
"fa-angle-left",
"fa-book-open",
"fa-chevron-right",
"fa-ellipsis",
"fa-face-frown",
"fa-fw",
"fa-github",
"fa-linkedin",
"fa-medium",
"fa-moon",
"fa-sun",
"fab",
"fas",
"fixed-top",
"flex-column",
"flex-fill",
"flex-grow-1",
"footer",
"form-control",
"fs-3",
"fw-30",
"fw-bold",
"h-100",
"hero",
"hero-content",
"hero-image",
"hero-image-container",
"hero-title",
"hstack",
"img-fluid",
"img-wrap",
"invisible",
"is-search",
"justify-content-center",
"justify-content-end",
"justify-content-md-start",
"justify-content-start",
"label",
"lead",
"link-bg-footer",
"link-secondary",
"m-auto",
"main",
"main-nav-toggler",
"me-auto",
"middle-bar",
"mode-switch",
"ms-auto",
"ms-md-3",
"mt-3",
"mt-4",
"mt-5",
"mt-md-0",
"mx-auto",
"mx-md-0",
"my-auto",
"my-md-auto",
"nav-item",
"nav-link",
"navbar",
"navbar-brand",
"navbar-collapse",
"navbar-container",
"navbar-expand-md",
"navbar-fixed-top",
"navbar-mode-selector",
"navbar-nav",
"navbar-toggler",
"no-js",
"order-0",
"order-1",
"order-md-0",
"order-md-1",
"p-0",
"p-2",
"p-3",
"p-4",
"position-fixed",
"position-relative",
"ps-1",
"pt-1",
"pt-4",
"pt-md-0",
"px-4",
"px-xxl-0",
"py-3",
"py-4",
"rounded",
"row",
"row-cols-1",
"row-cols-2",
"row-cols-sm-3",
"search",
"search-input",
"search-suggestions",
"section-cover",
"shadow",
"svg-inline--fa",
"text-",
"text-body",
"text-center",
"text-decoration-none",
"text-md-start",
"text-muted",
"text-secondary",
"text-sm-start",
"text-start",
"toast",
"toast-body",
"toast-container",
"toast-header",
"toggler-icon",
"top-bar"
],
"ids": [
"container",
"fa-face-frown",
"fab-github",
"fab-linkedin",
"fab-medium",
"fas-angle-left",
"fas-book-open",
"fas-chevron-right",
"fas-ellipsis",
"fas-moon",
"fas-sun",
"navbar-0-collapse",
"navbar-mode",
"navbar-mode-checkbox",
"toast-container",
"toast-copied-code-message",
"welcome-to-hinode"
]
"tags": null,
"classes": null,
"ids": null
}
}

View File

@@ -21,7 +21,7 @@
{{- end -}}
{{/* Initialize local arguments */}}
{{- $text := or $args.text $args.title }}
{{- $text := trim (or $args.text $args.title) " \n\r" }}
{{- if not $text -}}
{{- partial "utilities/LogErr.html" (dict
"partial" "shortcodes/kbd.html"
@@ -36,6 +36,6 @@
{{/* Main code */}}
{{- if not $error }}
<kbd {{ if or $args.color $args.class }}class="{{ with $args.color }}text-bg-{{ . }} {{ end }}{{ $args.class }}"{{ end }}>
{{ $text | plainify }}
{{- $text -}}
</kbd>
{{ end -}}

View File

@@ -4,12 +4,12 @@
publish = 'exampleSite/public'
[build.environment]
DART_SASS_VERSION = '1.78.0'
DART_SASS_VERSION = '1.89.2'
HUGO_ENABLEGITINFO = 'true'
HUGO_ENV = 'production'
HUGO_VERSION = '0.134.1'
NODE_VERSION = '20.17.0'
NPM_VERSION = '10.8.2'
HUGO_VERSION = '0.147.9'
NODE_VERSION = '22.13.0'
NPM_VERSION = '10.9.2'
[context]
[context.branch-deploy]
@@ -39,17 +39,17 @@
Access-Control-Allow-Origin = '*'
Content-Security-Policy = """
base-uri 'self'; \
connect-src 'self' *.cookieyes.com cdn-cookieyes.com *.google-analytics.com *.analytics.google.com *.googletagmanager.com; \
connect-src 'self' *.analytics.google.com *.google.com *.google-analytics.com *.googletagmanager.com; \
default-src 'none'; \
font-src 'self' fonts.gstatic.com; \
font-src 'self' fonts.gstatic.com data:; \
form-action 'self'; \
frame-src player.cloudinary.com www.youtube-nocookie.com www.youtube.com player.vimeo.com; \
img-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.ytimg.com tile.openstreetmap.org i.vimeocdn.com; \
frame-src *.googletagmanager.com player.cloudinary.com www.youtube-nocookie.com www.youtube.com player.vimeo.com; \
img-src 'self' *.google-analytics.com *.googletagmanager.com googletagmanager.com ssl.gstatic.com www.gstatic.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.ytimg.com tile.openstreetmap.org i.vimeocdn.com; \
manifest-src 'self'; \
media-src 'self'; \
object-src 'none'; \
script-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com player.vimeo.com; \
style-src 'self' 'unsafe-inline' www.youtube.com; \
script-src 'self' *.google-analytics.com *.googletagmanager.com *.analytics.google.com googletagmanager.com tagmanager.google.com player.vimeo.com; \
style-src 'self' googletagmanager.com tagmanager.google.com fonts.googleapis.com www.youtube.com; \
"""
Permissions-Policy = 'geolocation=(), midi=(), sync-xhr=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), fullscreen=(), payment=() '
Referrer-Policy = 'strict-origin'
@@ -59,23 +59,3 @@
X-XSS-Protection = '1; mode=block'
cache-control = 'max-age=0, no-cache, no-store, must-revalidate '
[[redirects]]
from = '/fr/*'
status = 404
to = '/fr/404.html'
[[redirects]]
from = '/nl/*'
status = 404
to = '/nl/404.html'
[[redirects]]
from = '/en/*'
status = 404
to = '/en/404.html'
[[redirects]]
from = '/*'
status = 404
to = '/en/404.html'

7530
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "@gethinode/hinode",
"version": "1.0.0-beta6",
"version": "0.0.0-semantically-released",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [
"hugo",
@@ -12,6 +12,7 @@
"documentation"
],
"main": "index.js",
"private": true,
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org/"
@@ -28,7 +29,7 @@
"build:example": "npm run -s prebuild && hugo --gc --minify -s exampleSite",
"build:example:ci": "npm run -s prebuild && hugo --gc --minify -s exampleSite -e ci",
"build:debug": "hugo -e debug --debug",
"build:headers": "hugo --renderSegments headers -d prebuild && cpy prebuild/server.toml config/_default/ --flat",
"build:headers": "hugo --renderSegments headers -d prebuild-headers -e headers && cpy prebuild-headers/netlify.toml ./ --flat && cpy prebuild-headers/server.toml config/_default/ --flat",
"build:example:headers": "hugo -s exampleSite --renderSegments headers -d prebuild && cpy exampleSite/prebuild/netlify.toml ./ --flat && cpy exampleSite/prebuild/server.toml exampleSite/config/_default/ --flat",
"build:preview": "npm run build -D -F",
"clean:public": "rimraf public exampleSite/public",
@@ -44,6 +45,7 @@
"test": "npm run -s lint",
"env": "hugo env",
"precheck": "npm version",
"prepare": "node .husky/install.mjs",
"check": "hugo version",
"create:syntax": "npm-run-all update:syntax:**",
"update:syntax:light1": "hugo gen chromastyles --style=github > ./assets/scss/components/_syntax-light.scss",
@@ -77,9 +79,16 @@
"purgecss-whitelister": "^2.4.0"
},
"devDependencies": {
"@commitlint/cli": "^19.8.1",
"@commitlint/config-conventional": "^19.8.1",
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
"@semantic-release/exec": "^7.1.0",
"@semantic-release/git": "^10.0.1",
"commitizen": "^4.3.1",
"cpy-cli": "^5.0.0",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^9.30.0",
"husky": "^9.1.7",
"markdownlint-cli2": "^0.18.1",
"neostandard": "^0.12.1",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
@@ -87,6 +96,7 @@
"postcss-cli": "^11.0.1",
"replace-in-files-cli": "^3.0.0",
"rimraf": "^6.0.1",
"semantic-release": "^24.2.6",
"shx": "^0.4.0",
"stylelint": "^16.21.0",
"stylelint-config-standard-scss": "^15.0.1"
@@ -98,5 +108,35 @@
},
"hugo-bin": {
"buildTags": "extended"
},
"release": {
"branches": "main",
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/github",
[
"@semantic-release/exec",
{
"prepare": "npm install"
}
],
[
"@semantic-release/git",
{
"assets": [
"dist",
"package.json",
"package-lock.json"
],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
]
]
},
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
}
}
}