1
0
Fork 0
mirror of https://github.com/gethinode/template.git synced 2026-09-05 04:48:50 -05:00
A template to get you started with Hinode quickly https://template.gethinode.com
Find a file Use this template
github-actions[bot] 46d18490c3
Merge pull request #654 from gethinode/dependabot/npm_and_yarn/globals-17.12.0
build(deps-dev): bump globals from 17.11.0 to 17.12.0
2026-09-04 19:02:27 +00:00
.github ci: bound the Hugo cache key to an ISO week 2026-08-08 08:52:24 +02:00
.husky feat: upgrade to Hinode v2 2026-03-24 09:36:34 +01:00
archetypes Upgrade to gethinode/hinode main package 2023-02-04 08:16:09 +01:00
assets Add assets folders 2023-08-15 12:45:27 +02:00
config fix(seo): let the site language decide og:locale and inLanguage 2026-08-25 16:02:01 +02:00
content Upgrade to Hinode v1 2025-07-01 13:30:51 +02:00
data fix: drop the dead HUGO_VERSION pin from the Netlify config 2026-08-02 12:57:57 +02:00
i18n Fix #40 2022-12-11 15:22:11 +01:00
layouts Add default mounts 2022-12-10 06:59:48 +01:00
static Add default mounts 2022-12-10 06:59:48 +01:00
.eslintrc.yml Update linting configuration 2023-07-21 16:37:28 +02:00
.gitignore feat: adopt hinode v3.7.0 with the js.Build script pipeline 2026-07-18 10:17:17 +02:00
.markdownlint-cli2.jsonc Disable table validation 2024-01-19 05:41:25 +01:00
.stylelintignore Update config from main repo 2023-08-15 12:36:02 +02:00
.stylelintrc.json Update linting configuration 2023-07-21 16:37:28 +02:00
eslint.config.mjs feat: upgrade to Hinode v2 2026-03-24 09:36:34 +01:00
go.mod fix: update Hugo module dependencies 2026-08-06 05:38:28 +00:00
go.sum fix: update Hugo module dependencies 2026-08-06 05:38:28 +00:00
LICENSE feat: upgrade to Hinode v2 2026-03-24 09:36:34 +01:00
netlify.toml fix: drop the dead HUGO_VERSION pin from the Netlify config 2026-08-02 12:57:57 +02:00
package-lock.json build(deps-dev): bump globals from 17.11.0 to 17.12.0 2026-09-04 18:58:52 +00:00
package.json build(deps-dev): bump globals from 17.11.0 to 17.12.0 2026-09-04 18:58:52 +00:00
README.md docs: document pnpm opt-in; keep inline CI (self-contained for external users) 2026-07-09 19:40:35 +02:00

Hinode - Template

A clean documentation and blog theme for your Hugo site based on Bootstrap 5

Hugo website Netlify Status UptimeRobot Status Last commit Issues Pulls License

About

Logo

Hinode is a clean blog theme for Hugo, an open-source static site generator. Use this template if you would like to take advantage of automation features, provided by npm and GitHub actions. Visit the docs for an alternative installation that uses Hugo only.

Prerequisites

Hinode is a theme that uses Hugo modules to install and maintain various components. The Hinode template requires the following software to be installed on your local machine. The Hugo binary itself is embedded as an npm binary.

Installation

  1. Create a new repository

    Click the button Use this template to initialize a new repository based on this template (log in to GitHub if needed).

  2. Clone a local copy

    git clone https://github.com/owner/my-hinode-site && cd my-hinode-site # replace "owner/my-hinode-site"
    
  3. Install the npm packages and hugo modules

    npm install && npm run mod:update
    

You can now run npm run start to start a local development server.

Using pnpm (optional)

This template uses npm by default. If you prefer pnpm — faster installs, a shared package store, a 24-hour supply-chain quarantine, and stricter dependency isolation — switch with the following steps.

  1. Replace the lockfile:

    pnpm import          # seed pnpm-lock.yaml from package-lock.json
    rm package-lock.json
    
  2. Pin pnpm in package.json (use your installed pnpm version):

    "packageManager": "pnpm@10.0.0"
    
  3. Add a .npmrc for the supply-chain quarantine:

    # Reject any version published less than 24h ago.
    minimum-release-age=1440
    
  4. Add pnpm-workspace.yaml:

    allowBuilds:
      hugo-extended: true # downloads the platform-specific Hugo binary
    minimumReleaseAgeExclude:
      - "@gethinode/*"
    
  5. Restore PostCSS compatibility. Hugo needs an npm-format postcss bin shim, which pnpm does not create. Add cmd-shim and a postinstall step:

    pnpm add -D cmd-shim
    

    Create scripts/fix-postcss-bin.cjs:

    const fs = require('fs');
    const path = require('path');
    const cmdShim = require('cmd-shim');
    
    const entry = path.join('node_modules', 'postcss-cli', 'index.js');
    const target = path.join('node_modules', '.bin', 'postcss');
    if (fs.existsSync(entry)) {
      fs.mkdirSync(path.dirname(target), { recursive: true });
      cmdShim(entry, target).catch((e) => {
        console.error('fix-postcss-bin:', e.message);
        process.exit(1);
      });
    }
    

    Then add to your package.json scripts: "postinstall": "node scripts/fix-postcss-bin.cjs".

  6. Install and build:

    pnpm install
    pnpm run build
    

If you use the bundled GitHub Actions workflows, update them to use pnpm as well — replace the npm ci/npm i install steps with pnpm install (which runs the postinstall shim above).