#50, Change example in README from yaml to toml, fix outdated menu config example
This commit is contained in:
parent
612814aa59
commit
561fdd7b99
1 changed files with 92 additions and 74 deletions
166
README.md
166
README.md
|
@ -1,57 +1,67 @@
|
||||||
# Hugo Book Theme
|
# Hugo Book Theme
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/alex-shpak/hugo-book.svg?branch=master)](https://travis-ci.org/alex-shpak/hugo-book)
|
[![Build Status](https://travis-ci.org/alex-shpak/hugo-book.svg?branch=master)](https://travis-ci.org/alex-shpak/hugo-book)
|
||||||
|
|
||||||
### [Hugo](https://gohugo.io) documentation theme as simple as plain book
|
### [Hugo](https://gohugo.io) documentation theme as simple as plain book
|
||||||
|
|
||||||
![Screenshot](https://github.com/alex-shpak/hugo-book/blob/master/images/screenshot.png)
|
![Screenshot](https://github.com/alex-shpak/hugo-book/blob/master/images/screenshot.png)
|
||||||
|
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
* Clean simple design
|
|
||||||
* Mobile friendly
|
|
||||||
* Customisable
|
|
||||||
* Designed to not interfere with other layouts
|
|
||||||
* Zero initial configuration
|
|
||||||
|
|
||||||
|
- Clean simple design
|
||||||
|
- Mobile friendly
|
||||||
|
- Customisable
|
||||||
|
- Designed to not interfere with other layouts
|
||||||
|
- Zero initial configuration
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
* Hugo 0.48 or higher
|
|
||||||
* Hugo extended version, read more [here](https://gohugo.io/news/0.43-relnotes/)
|
|
||||||
|
|
||||||
|
- Hugo 0.48 or higher
|
||||||
|
- Hugo extended version, read more [here](https://gohugo.io/news/0.43-relnotes/)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
Navigate to your hugo project root and run:
|
Navigate to your hugo project root and run:
|
||||||
|
|
||||||
```
|
```
|
||||||
git submodule add https://github.com/alex-shpak/hugo-book themes/book
|
git submodule add https://github.com/alex-shpak/hugo-book themes/book
|
||||||
```
|
```
|
||||||
|
|
||||||
Then run hugo (or set `theme: book` in configuration file)
|
Then run hugo (or set `theme: book` in configuration file)
|
||||||
|
|
||||||
```
|
```
|
||||||
hugo server --minify --theme book
|
hugo server --minify --theme book
|
||||||
```
|
```
|
||||||
|
|
||||||
### Creating site from scratch
|
### Creating site from scratch
|
||||||
|
|
||||||
Below is example how to create new site from scratch
|
Below is example how to create new site from scratch
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
hugo new site mydocs; cd mydocs
|
hugo new site mydocs; cd mydocs
|
||||||
git init
|
git init
|
||||||
git submodule add https://github.com/alex-shpak/hugo-book themes/book
|
git submodule add https://github.com/alex-shpak/hugo-book themes/book
|
||||||
cp -R themes/book/exampleSite/content .
|
cp -R themes/book/exampleSite/content .
|
||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
hugo server --minify --theme book
|
hugo server --minify --theme book
|
||||||
```
|
```
|
||||||
|
|
||||||
## Menu
|
## Menu
|
||||||
|
|
||||||
### File tree menu (default)
|
### File tree menu (default)
|
||||||
|
|
||||||
By default theme will render pages from `content/docs` section as menu in a tree structure.
|
By default theme will render pages from `content/docs` section as menu in a tree structure.
|
||||||
You can set `title` and `weight` in front matter of pages to adjust order and titles in menu.
|
You can set `title` and `weight` in front matter of pages to adjust order and titles in menu.
|
||||||
|
|
||||||
|
|
||||||
### Leaf bundle menu
|
### Leaf bundle menu
|
||||||
You can also use leaf bundle and content of it's `index.md` as
|
|
||||||
|
You can also use leaf bundle and content of it's `index.md` as
|
||||||
menu.
|
menu.
|
||||||
|
|
||||||
Given you have this file structure
|
Given you have this file structure
|
||||||
|
|
||||||
```
|
```
|
||||||
├── content
|
├── content
|
||||||
│ ├── docs
|
│ ├── docs
|
||||||
|
@ -63,10 +73,11 @@ Given you have this file structure
|
||||||
```
|
```
|
||||||
|
|
||||||
Create file `content/docs/menu/index.md` with content
|
Create file `content/docs/menu/index.md` with content
|
||||||
|
|
||||||
```md
|
```md
|
||||||
---
|
+++
|
||||||
headless: true
|
headless = true
|
||||||
---
|
+++
|
||||||
|
|
||||||
- [Book Example](/docs/)
|
- [Book Example](/docs/)
|
||||||
- [Page One](/docs/page-one)
|
- [Page One](/docs/page-one)
|
||||||
|
@ -74,121 +85,128 @@ headless: true
|
||||||
- [Blog](/posts)
|
- [Blog](/posts)
|
||||||
```
|
```
|
||||||
|
|
||||||
And Enable it by settings `BookMenuBundle: /docs/menu` in Site configuration
|
And Enable it by settings `BookMenuBundle: /menu` in Site configuration
|
||||||
|
|
||||||
- [Example menu](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/content/menu/index.md)
|
- [Example menu](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/content/menu/index.md)
|
||||||
- [Example config file](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/config.yml)
|
- [Example config file](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/config.yml)
|
||||||
- [Leaf bundles](https://gohugo.io/content-management/page-bundles/)
|
- [Leaf bundles](https://gohugo.io/content-management/page-bundles/)
|
||||||
|
|
||||||
|
|
||||||
## Blog
|
## Blog
|
||||||
|
|
||||||
Simple blog supported for section `posts`
|
Simple blog supported for section `posts`
|
||||||
|
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
### Site Configuration
|
### Site Configuration
|
||||||
There are few configuration options you can add to your `config.yml|json|toml` file
|
|
||||||
```yaml
|
There are few configuration options you can add to your `config.yml|json|toml` file.
|
||||||
|
See `yaml` example [here](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/config.yml)
|
||||||
|
|
||||||
|
```toml
|
||||||
# (Optional) Set this to true if you use capital letters in file names
|
# (Optional) Set this to true if you use capital letters in file names
|
||||||
disablePathToLower: true
|
disablePathToLower = true
|
||||||
|
|
||||||
# (Optional) Set this to true to enable 'Last Modified by' date and git author
|
# (Optional) Set this to true to enable 'Last Modified by' date and git author
|
||||||
# information on 'doc' type pages.
|
# information on 'doc' type pages.
|
||||||
enableGitInfo: true
|
enableGitInfo = true
|
||||||
|
|
||||||
# (Warnings) Theme is intended for documentation use, there for it doesn't render taxonomy.
|
# (Warnings) Theme is intended for documentation use, there for it doesn't render taxonomy.
|
||||||
# You can hide related warning with config below
|
# You can hide related warning with config below
|
||||||
disableKinds: ["taxonomy", "taxonomyTerm"]
|
disableKinds = ["taxonomy", "taxonomyTerm"]
|
||||||
|
|
||||||
params:
|
[params]
|
||||||
# (Optional, default true) Show or hide table of contents globally
|
# (Optional, default true) Show or hide table of contents globally
|
||||||
# You can also specify this parameter per page in front matter
|
# You can also specify this parameter per page in front matter
|
||||||
BookShowToC: true
|
BookShowToC = true
|
||||||
|
|
||||||
# (Optional, default none) Set leaf bundle to render as side menu
|
# (Optional, default none) Set leaf bundle to render as side menu
|
||||||
# When not specified file structure and weights will be used
|
# When not specified file structure and weights will be used
|
||||||
BookMenuBundle: /menu
|
BookMenuBundle = /menu
|
||||||
|
|
||||||
# (Optional, default docs) Specify section of content to render as menu
|
# (Optional, default docs) Specify section of content to render as menu
|
||||||
# You can also set value to "*" to render all sections to menu
|
# You can also set value to "*" to render all sections to menu
|
||||||
BookSection: docs
|
BookSection = docs
|
||||||
|
|
||||||
# (Optional) This value is duplicate of $link-color for making active link highlight in menu bundle mode
|
# (Optional) This value is duplicate of $link-color for making active link highlight in menu bundle mode
|
||||||
# BookMenuBundleActiveLinkColor: \#004ed0
|
# BookMenuBundleActiveLinkColor = \#004ed0
|
||||||
|
|
||||||
# (Optional, default false) Include JS scripts in pages. Disabled by default.
|
# (Optional, default false) Include JS scripts in pages. Disabled by default.
|
||||||
# - Keep side menu on same scroll position during navigation
|
# - Keep side menu on same scroll position during navigation
|
||||||
BookEnableJS: true
|
BookEnableJS = true
|
||||||
|
|
||||||
# Set source repository location.
|
# Set source repository location.
|
||||||
# Used for 'Last Modified' and 'Edit this page' links.
|
# Used for 'Last Modified' and 'Edit this page' links.
|
||||||
BookRepo: https://github.com/alex-shpak/hugo-book
|
BookRepo = https://github.com/alex-shpak/hugo-book
|
||||||
|
|
||||||
# Enable "Edit this page" links for 'doc' page type.
|
# Enable "Edit this page" links for 'doc' page type.
|
||||||
# Disabled by default. Uncomment to enable. Requires 'BookRepo' param.
|
# Disabled by default. Uncomment to enable. Requires 'BookRepo' param.
|
||||||
# Path must point to 'content' directory of repo.
|
# Path must point to 'content' directory of repo.
|
||||||
BookEditPath: edit/master/exampleSite/content
|
BookEditPath = edit/master/exampleSite/content
|
||||||
|
|
||||||
# (Optional, default January 2, 2006) Configure the date format used on the pages
|
# (Optional, default January 2, 2006) Configure the date format used on the pages
|
||||||
# - In git information
|
# - In git information
|
||||||
# - In blog posts
|
# - In blog posts
|
||||||
BookDateFormat: "Jan 2, 2006"
|
BookDateFormat = "Jan 2, 2006"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Page Configuration
|
### Page Configuration
|
||||||
|
|
||||||
You can specify additional params per page in front matter
|
You can specify additional params per page in front matter
|
||||||
```yaml
|
|
||||||
---
|
```md
|
||||||
|
+++
|
||||||
# Set type to 'docs' if you want to render page outside of configured section or if you render section other than 'docs'
|
# Set type to 'docs' if you want to render page outside of configured section or if you render section other than 'docs'
|
||||||
type: docs
|
type = docs
|
||||||
|
|
||||||
# Set page weight to re-arrange items in file-tree menu (if BookMenuBundle not set)
|
# Set page weight to re-arrange items in file-tree menu (if BookMenuBundle not set)
|
||||||
weight: 10
|
weight = 10
|
||||||
|
|
||||||
# (Optional) Set to mark page as flat section in file-tree menu (if BookMenuBundle not set)
|
# (Optional) Set to mark page as flat section in file-tree menu (if BookMenuBundle not set)
|
||||||
bookFlatSection: true
|
bookFlatSection = true
|
||||||
|
|
||||||
# (Optional) Set true to hide page or section from side menu (if BookMenuBundle not set)
|
# (Optional) Set true to hide page or section from side menu (if BookMenuBundle not set)
|
||||||
bookHidden: true
|
bookHidden = true
|
||||||
|
|
||||||
# (Optional) Set true to hide table of contents, overrides global value
|
# (Optional) Set true to hide table of contents, overrides global value
|
||||||
bookShowToC: false
|
bookShowToC = false
|
||||||
---
|
+++
|
||||||
|
|
||||||
|
# Markdown content below
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Partials
|
### Partials
|
||||||
|
|
||||||
There are few empty partials you can override in `layouts/partials/`
|
There are few empty partials you can override in `layouts/partials/`
|
||||||
|
|
||||||
| Partial | Placement |
|
| Partial | Placement |
|
||||||
| -- | -- |
|
| ----------------------------------------------- | -------------------------------------- |
|
||||||
| `layouts/partials/docs/inject/head.html` | Before closing `<head>` tag |
|
| `layouts/partials/docs/inject/head.html` | Before closing `<head>` tag |
|
||||||
| `layouts/partials/docs/inject/body.html` | Before closing `<body>` tag |
|
| `layouts/partials/docs/inject/body.html` | Before closing `<body>` tag |
|
||||||
| `layouts/partials/docs/inject/footer.html` | After page content |
|
| `layouts/partials/docs/inject/footer.html` | After page content |
|
||||||
| `layouts/partials/docs/inject/menu-before.html` | At the beginning of `<nav>` menu block |
|
| `layouts/partials/docs/inject/menu-before.html` | At the beginning of `<nav>` menu block |
|
||||||
| `layouts/partials/docs/inject/menu-after.html` | At the end of `<nav>` menu block |
|
| `layouts/partials/docs/inject/menu-after.html` | At the end of `<nav>` menu block |
|
||||||
|
|
||||||
|
|
||||||
### Extra Customisation
|
### Extra Customisation
|
||||||
| File | Description |
|
|
||||||
| -- | -- |
|
|
||||||
| `static/favicon.png` | Override default favicon |
|
|
||||||
| `assets/custom.scss` | Customise or override scss styles |
|
|
||||||
| `assets/_fonts.scss` | Load custom font files (e.g. from files hosted locally in your `static` folder) |
|
|
||||||
|
|
||||||
|
| File | Description |
|
||||||
|
| --------------------- | ------------------------------------------------------------------------------------- |
|
||||||
|
| `static/favicon.png` | Override default favicon |
|
||||||
|
| `assets/_custom.scss` | Customise or override scss styles |
|
||||||
|
| `assets/_fonts.scss` | Replace default font with custom fonts (e.g. local files or remote like google fonts) |
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
### [Extra credits to contributors](https://github.com/alex-shpak/hugo-book/graphs/contributors)
|
### [Extra credits to contributors](https://github.com/alex-shpak/hugo-book/graphs/contributors)
|
||||||
|
|
||||||
Contributions are welcome and I will review and consider pull requests.
|
Contributions are welcome and I will review and consider pull requests.
|
||||||
Primary goals are:
|
Primary goals are:
|
||||||
- Keep it simple
|
|
||||||
- Keep minimal (or zero) default configuration
|
- Keep it simple
|
||||||
- Avoid interference with user-defined layouts
|
- Keep minimal (or zero) default configuration
|
||||||
|
- Avoid interference with user-defined layouts
|
||||||
|
|
||||||
Feel free to open issue if you missing some configuration or customisation option.
|
Feel free to open issue if you missing some configuration or customisation option.
|
||||||
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
[MIT](LICENSE)
|
[MIT](LICENSE)
|
||||||
|
|
Loading…
Reference in a new issue