mirror of
https://github.com/CaiJimmy/hugo-theme-stack.git
synced 2025-02-06 20:03:31 +08:00
692804498d
Demo site will be generated in subfolder /demo
92 lines
3.5 KiB
Markdown
92 lines
3.5 KiB
Markdown
# Getting Started
|
|
|
|
::: tip
|
|
Try this quickstart template to get started with Stack and Hugo in a few minutes:
|
|
https://github.com/CaiJimmy/hugo-theme-stack-starter
|
|
:::
|
|
|
|
## Requirements
|
|
Before you start, make sure you have installed Hugo **extended version**. For more information, see [Hugo's documentation](https://gohugo.io/getting-started/installing/).
|
|
|
|
This theme uses SCSS and TypeScript, that's why Hugo extended version is required. If you are using a non-extended Hugo installation, you will get the following error:
|
|
|
|
```
|
|
Error: Error building site: TOCSS: failed to transform "scss/style.scss" (text/x-scss): this feature is not available in your current Hugo version
|
|
```
|
|
|
|
Once you have installed Hugo, you can check the version by running the following command:
|
|
|
|
```bash
|
|
hugo version
|
|
```
|
|
|
|
Which should output something like this (the version number may be different), notice the `extended` keyword:
|
|
|
|
```
|
|
hugo v0.102.3-b76146b129d7caa52417f8e914fc5b9271bf56fc+extended windows/amd64 BuildDate=2022-09-01T10:16:19Z VendorInfo=gohugoio
|
|
```
|
|
|
|
The minimum required Hugo version can be seen in the [theme's `theme.toml` file](https://github.com/CaiJimmy/hugo-theme-stack/blob/master/theme.toml#L23)
|
|
|
|
## Installation
|
|
|
|
### Git
|
|
On the master branch, you can find the theme's latest source code. To use the latest version, you can clone the repository to `themes/hugo-theme-stack` by running the following command in the root directory of your Hugo site:
|
|
|
|
```bash
|
|
git clone https://github.com/CaiJimmy/hugo-theme-stack/ themes/hugo-theme-stack
|
|
```
|
|
|
|
If you are already using Git for your site, you can add the theme as a submodule by running the following command in the root directory of your Hugo site:
|
|
|
|
```bash
|
|
git submodule add https://github.com/CaiJimmy/hugo-theme-stack/ themes/hugo-theme-stack
|
|
```
|
|
|
|
### Hugo module
|
|
|
|
::: warning
|
|
Using this method, there won't be any file under `themes` directory. In order to modify the theme, you will have to copy the file you want to modify to the same directory under `layouts` directory.
|
|
|
|
For example, in order to modify the `themes/hugo-theme-stack/layouts/partials/header.html` file, you will have to copy it to `layouts/partials/header.html` and modify it there (copy the code from theme's repository). The same applies to `assets` and `static` directories.
|
|
:::
|
|
|
|
This theme is also available as a [Hugo module](https://gohugo.io/hugo-modules/). Run the following command in the root directory of your Hugo site:
|
|
|
|
First turn your site into a Hugo module (in case you haven't done it yet):
|
|
|
|
```sh
|
|
hugo mod init github.com/me/my-new-blog
|
|
```
|
|
|
|
Then import the theme as a dependency adding the following line to the `module` section of your site's configuration file.
|
|
|
|
```toml
|
|
# config.toml
|
|
[[module.imports]]
|
|
path = "github.com/CaiJimmy/hugo-theme-stack/v3"
|
|
```
|
|
|
|
```yaml
|
|
# config.yaml
|
|
module:
|
|
imports:
|
|
- path: github.com/CaiJimmy/hugo-theme-stack/v3
|
|
```
|
|
|
|
This makes Hugo use the latest stable `v3` version of the theme (available in release page, which probably won't coincide with the latest commit in the `master` branch).
|
|
|
|
To update the theme to the latest version, run the following command:
|
|
|
|
```sh
|
|
hugo mod get -u github.com/CaiJimmy/hugo-theme-stack/v3
|
|
hugo mod tidy
|
|
```
|
|
|
|
::: info
|
|
In the future, if a new major version of the theme is released, you will need to manually update the version number in the `path` field.
|
|
:::
|
|
|
|
### Download manually (not recommended)
|
|
|
|
You can also download the theme from the [release page](https://github.com/CaiJimmy/hugo-theme-stack/releases) and extract it to `themes/hugo-theme-stack` directory. |