This article refers to the traditional installation method of cloning the theme locally as Git submodule. While this installation method is still widely used, we recommend to install the theme as Hugo module.

Create a New Site from Scratch

1$ git clone https://github.com/razonyang/hugo-theme-bootstrap-skeleton myblog
2$ cd myblog
3$ git submodule add https://github.com/razonyang/hugo-theme-bootstrap themes/hugo-theme-bootstrap
4$ sed -i "s/theme:.*/theme: hugo-theme-bootstrap/g" config/_default/config.yaml
5$ rm go.mod go.sum
6$ hugo mod npm pack
7$ npm install
8$ hugo server

If you’re using Windows, use xcopy .\themes\hugo-theme-bootstrap\exampleSite /E instead.

sed replaces the theme: github.com/razonyang/hugo-theme-bootstrap with theme: hugo-theme-bootstrap.

Install on an existing site

 1$ cd myblog
 2$ git submodule add https://github.com/razonyang/hugo-theme-bootstrap themes/hugo-theme-bootstrap
 3$ git clone https://github.com/razonyang/hugo-theme-bootstrap-skeleton /tmp/hbs-skeleton
 4$ mkdir config
 5$ cp -a /tmp/hbs-skeleton/config/* ./config
 6$ cp -r /tmp/hbs-skeleton/content/* ./content
 7$ cp -r /tmp/hbs-skeleton/archetypes/* ./archetypes
 8$ cp -r /tmp/hbs-skeleton/static/* ./static
 9$ cp -r /tmp/hbs-skeleton/assets/* ./assets
10$ sed -i "s/theme:.*/theme: hugo-theme-bootstrap/g" config/_default/config.yaml
11$ hugo mod npm pack
12$ npm install
13$ hugo server

If you’re making a fresh clone, you will be need to update your submodule via git submodule update --init --recursive or clone with submodule git clone --recursive <repo>.