Become a backer or sponsor to support our work.
This shortcode generates the code blocks in multiple languages from one code base.
It is useful for projects that support configuring in multiple languages, such as TOML
, JSON
and YAML
.
Currently, TOML
, YAML
and JSON
are supported.
1{{< bs/config-toggle >}}
2PUT YAML/TOML/JSON CODE HERE.
3{{< /bs/config-toggle >}}
hugo.yaml
1params:
2 bootstrap:
3 config_toggle:
4 langs:
5 - yaml
6 - toml
7 - json
hugo.toml
1[params]
2 [params.bootstrap]
3 [params.bootstrap.config_toggle]
4 langs = ['yaml', 'toml', 'json']
hugo.json
1{
2 "params": {
3 "bootstrap": {
4 "config_toggle": {
5 "langs": [
6 "yaml",
7 "toml",
8 "json"
9 ]
10 }
11 }
12 }
13}
Name | Type | Required | Default | Description |
---|---|---|---|---|
langs | array | - | ["toml", "yaml", "json"] | The target languages, can be used to exclude and sort languages globally. |
The following parameters are supported.
Position | Name | Type | Required | Default | Description |
---|---|---|---|---|---|
#0 | filename | string | - | - | The filename. |
#1 | langs | string | - | toml,yaml,json | The target languages, separated by comma, can be used to exclude and sort languages. |
- | style | string | - | tabs | tabs , pills or underline . |
- | fill | boolean | - | false | When true the nav items take full width. |
- | title | string | - | - | The title of configuration. |
- | delimiter | boolean | - | false | When true , wraps code with delimiters. |
1{{< bs/config-toggle hello >}}
2{
3 "hello": "world"
4}
5{{< /bs/config-toggle >}}
hello.yaml
1hello: world
hello.toml
1hello = 'world'
hello.json
1{
2 "hello": "world"
3}
1{{< bs/config-toggle langs=json,toml >}}
2langs = ["toml", "json"]
3{{< /bs/config-toggle >}}
1{
2 "langs": [
3 "toml",
4 "json"
5 ]
6}
1langs = ['toml', 'json']
1{{< bs/config-toggle filename=hugo title="Configuration" style=pills fill=true >}}
2module:
3 imports:
4 - path: github.com/hugomods/bootstrap
5{{< /bs/config-toggle >}}
hugo.yaml
1module:
2 imports:
3 - path: github.com/hugomods/bootstrap
hugo.toml
1[module]
2 [[module.imports]]
3 path = 'github.com/hugomods/bootstrap'
hugo.json
1{
2 "module": {
3 "imports": [
4 {
5 "path": "github.com/hugomods/bootstrap"
6 }
7 ]
8 }
9}
1{{< bootstrap/config-toggle title="Front Matter" delimiter=true >}}
2title: Hello World!
3{{< /bootstrap/config-toggle >}}
1---
2title: Hello World!
3---
1+++
2title = 'Hello World!'
3+++
1{
2 "title": "Hello World!"
3}