mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
Using table of contents within the documentation.
This commit is contained in:
parent
1882ffabc6
commit
18b9948f1e
17 changed files with 59 additions and 9 deletions
|
@ -31,7 +31,7 @@ When you're ready to create a pull request, be sure to:
|
||||||
|
|
||||||
# Building from source
|
# Building from source
|
||||||
|
|
||||||
### Clone locally (for contributors):
|
## Clone locally (for contributors):
|
||||||
|
|
||||||
git clone https://github.com/spf13/hugo
|
git clone https://github.com/spf13/hugo
|
||||||
cd hugo
|
cd hugo
|
||||||
|
@ -44,13 +44,13 @@ of the following paths:
|
||||||
* ln -s /path/to/your/hugo $GOPATH/src/github.com/spf13/hugo
|
* ln -s /path/to/your/hugo $GOPATH/src/github.com/spf13/hugo
|
||||||
* ln -s /path/to/your/hugo $GOROOT/src/pkg/github.com/spf13/hugo
|
* ln -s /path/to/your/hugo $GOROOT/src/pkg/github.com/spf13/hugo
|
||||||
|
|
||||||
### Running Hugo
|
## Running Hugo
|
||||||
|
|
||||||
cd /path/to/hugo
|
cd /path/to/hugo
|
||||||
go install github.com/spf13/hugo/hugolibs
|
go install github.com/spf13/hugo/hugolibs
|
||||||
go run main.go
|
go run main.go
|
||||||
|
|
||||||
### Building Hugo
|
## Building Hugo
|
||||||
|
|
||||||
cd /path/to/hugo
|
cd /path/to/hugo
|
||||||
go build -o hugo main.go
|
go build -o hugo main.go
|
||||||
|
|
|
@ -4,6 +4,7 @@ date: "2013-07-01"
|
||||||
aliases: ["/doc/contributors/", "/meta/contributors/"]
|
aliases: ["/doc/contributors/", "/meta/contributors/"]
|
||||||
groups: ["community"]
|
groups: ["community"]
|
||||||
groups_weight: 40
|
groups_weight: 40
|
||||||
|
notoc: true
|
||||||
---
|
---
|
||||||
|
|
||||||
Hugo was built with love and golang by:
|
Hugo was built with love and golang by:
|
||||||
|
|
|
@ -5,6 +5,7 @@ aliases: ["/doc/example/"]
|
||||||
linktitle: "Example"
|
linktitle: "Example"
|
||||||
groups: ['content']
|
groups: ['content']
|
||||||
groups_weight: 50
|
groups_weight: 50
|
||||||
|
notoc: true
|
||||||
---
|
---
|
||||||
|
|
||||||
Somethings are better shown than explained. The following is a very basic example of a content file:
|
Somethings are better shown than explained. The following is a very basic example of a content file:
|
||||||
|
|
|
@ -3,6 +3,7 @@ title: "Sections"
|
||||||
date: "2013-07-01"
|
date: "2013-07-01"
|
||||||
groups: ['content']
|
groups: ['content']
|
||||||
groups_weight: 20
|
groups_weight: 20
|
||||||
|
notoc: true
|
||||||
---
|
---
|
||||||
|
|
||||||
Hugo thinks that you organize your content with a purpose. The same structure
|
Hugo thinks that you organize your content with a purpose. The same structure
|
||||||
|
|
|
@ -5,6 +5,7 @@ aliases:
|
||||||
- "/doc/permalinks/"
|
- "/doc/permalinks/"
|
||||||
groups: ["extras"]
|
groups: ["extras"]
|
||||||
groups_weight: 30
|
groups_weight: 30
|
||||||
|
notoc: true
|
||||||
---
|
---
|
||||||
|
|
||||||
By default, content is laid out into the target `publishdir` (public)
|
By default, content is laid out into the target `publishdir` (public)
|
||||||
|
|
|
@ -5,6 +5,7 @@ aliases:
|
||||||
- "/doc/urls/"
|
- "/doc/urls/"
|
||||||
groups: ["extras"]
|
groups: ["extras"]
|
||||||
groups_weight: 40
|
groups_weight: 40
|
||||||
|
notoc: true
|
||||||
---
|
---
|
||||||
By default, all relative URLs encountered in the input will be canonicalized
|
By default, all relative URLs encountered in the input will be canonicalized
|
||||||
using `baseurl`, so that a link `/css/foo.css` becomes
|
using `baseurl`, so that a link `/css/foo.css` becomes
|
||||||
|
|
|
@ -9,7 +9,7 @@ groups_weight: 60
|
||||||
|
|
||||||
This page demonstrates what would be required to add a new index called "categories" to your site.
|
This page demonstrates what would be required to add a new index called "categories" to your site.
|
||||||
|
|
||||||
### config.yaml
|
## config.yaml
|
||||||
First step is to define the index in your config file.
|
First step is to define the index in your config file.
|
||||||
*Because we use both the singular and plural name of the index in our rendering it's
|
*Because we use both the singular and plural name of the index in our rendering it's
|
||||||
important to provide both here. We require this, rather than using inflection in
|
important to provide both here. We require this, rather than using inflection in
|
||||||
|
@ -24,7 +24,7 @@ title: "Steve Francia is spf13.com"
|
||||||
---
|
---
|
||||||
{{% /highlight %}}
|
{{% /highlight %}}
|
||||||
|
|
||||||
### /layouts/indexes/category.html
|
## /layouts/indexes/category.html
|
||||||
|
|
||||||
For each index type a template needs to be provided to render the index page.
|
For each index type a template needs to be provided to render the index page.
|
||||||
In the case of categories, this will render the content for /categories/`CATEGORYNAME`/.
|
In the case of categories, this will render the content for /categories/`CATEGORYNAME`/.
|
||||||
|
@ -46,7 +46,7 @@ In the case of categories, this will render the content for /categories/`CATEGOR
|
||||||
{{% /highlight %}}
|
{{% /highlight %}}
|
||||||
|
|
||||||
|
|
||||||
### Assigning indexes to content
|
## Assigning indexes to content
|
||||||
|
|
||||||
Make sure that the index is set in the front matter:
|
Make sure that the index is set in the front matter:
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ Hugo can order the meta data in two different ways. It can be ordered by the
|
||||||
number of content assigned to that key or alphabetically.
|
number of content assigned to that key or alphabetically.
|
||||||
|
|
||||||
|
|
||||||
### Example indexes.html file (alphabetical)
|
## Example indexes.html file (alphabetical)
|
||||||
|
|
||||||
{{% highlight html %}}
|
{{% highlight html %}}
|
||||||
{{ template "chrome/header.html" . }}
|
{{ template "chrome/header.html" . }}
|
||||||
|
@ -42,7 +42,7 @@ number of content assigned to that key or alphabetically.
|
||||||
{{ template "chrome/footer.html" }}
|
{{ template "chrome/footer.html" }}
|
||||||
{{% /highlight %}}
|
{{% /highlight %}}
|
||||||
|
|
||||||
### Example indexes.html file (ordered)
|
## Example indexes.html file (ordered)
|
||||||
|
|
||||||
{{% highlight html %}}
|
{{% highlight html %}}
|
||||||
{{ template "chrome/header.html" . }}
|
{{ template "chrome/header.html" . }}
|
||||||
|
@ -63,7 +63,7 @@ number of content assigned to that key or alphabetically.
|
||||||
{{ template "chrome/footer.html" }}
|
{{ template "chrome/footer.html" }}
|
||||||
{{% /highlight %}}
|
{{% /highlight %}}
|
||||||
|
|
||||||
### Variables available to list of indexes pages.
|
## Variables available to list of indexes pages.
|
||||||
|
|
||||||
**.Title** The title for the content. <br>
|
**.Title** The title for the content. <br>
|
||||||
**.Date** The date the content is published on.<br>
|
**.Date** The date the content is published on.<br>
|
||||||
|
|
|
@ -3,6 +3,7 @@ title: "Homepage Templates"
|
||||||
date: "2013-07-01"
|
date: "2013-07-01"
|
||||||
groups: ["layout"]
|
groups: ["layout"]
|
||||||
groups_weight: 30
|
groups_weight: 30
|
||||||
|
notoc: true
|
||||||
---
|
---
|
||||||
|
|
||||||
Home pages are of the type "node" and have all the [node
|
Home pages are of the type "node" and have all the [node
|
||||||
|
|
|
@ -3,6 +3,7 @@ title: "RSS (feed) Templates"
|
||||||
date: "2013-07-01"
|
date: "2013-07-01"
|
||||||
groups: ["layout"]
|
groups: ["layout"]
|
||||||
groups_weight: 40
|
groups_weight: 40
|
||||||
|
notoc: "one"
|
||||||
---
|
---
|
||||||
|
|
||||||
A single RSS template is used to generate all of the RSS content for the entire
|
A single RSS template is used to generate all of the RSS content for the entire
|
||||||
|
|
|
@ -4,6 +4,7 @@ date: "2013-07-01"
|
||||||
aliases: ["/doc/roadmap/"]
|
aliases: ["/doc/roadmap/"]
|
||||||
groups: ["meta"]
|
groups: ["meta"]
|
||||||
groups_weight: 20
|
groups_weight: 20
|
||||||
|
notoc: true
|
||||||
---
|
---
|
||||||
|
|
||||||
In no particular order, here is what we are working on:
|
In no particular order, here is what we are working on:
|
||||||
|
|
|
@ -5,6 +5,7 @@ aliases: ["/doc/configuration/"]
|
||||||
groups: ['gettingStarted']
|
groups: ['gettingStarted']
|
||||||
linktitle: "Configuration"
|
linktitle: "Configuration"
|
||||||
groups_weight: 40
|
groups_weight: 40
|
||||||
|
notoc: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The directory structure and templates provide the majority of the
|
The directory structure and templates provide the majority of the
|
||||||
|
|
|
@ -4,6 +4,7 @@ date: "2013-07-01"
|
||||||
aliases: ["/doc/source-directory/"]
|
aliases: ["/doc/source-directory/"]
|
||||||
groups: ['gettingStarted']
|
groups: ['gettingStarted']
|
||||||
groups_weight: 50
|
groups_weight: 50
|
||||||
|
notoc: true
|
||||||
---
|
---
|
||||||
|
|
||||||
Hugo takes a single directory and uses it as the input for creating a complete website.
|
Hugo takes a single directory and uses it as the input for creating a complete website.
|
||||||
|
|
|
@ -4,6 +4,7 @@ date: "2013-07-01"
|
||||||
aliases: ["/doc/usage/"]
|
aliases: ["/doc/usage/"]
|
||||||
groups: ['gettingStarted']
|
groups: ['gettingStarted']
|
||||||
groups_weight: 30
|
groups_weight: 30
|
||||||
|
notoc: true
|
||||||
---
|
---
|
||||||
|
|
||||||
Make sure either hugo is in your path or provide a path to it.
|
Make sure either hugo is in your path or provide a path to it.
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
{{ template "chrome/header.html" . }}
|
{{ template "chrome/header.html" . }}
|
||||||
|
{{ if .Params.notoc }}
|
||||||
|
{{ else }}
|
||||||
|
<div id="toc" class="well col-md-4 col-sm-6">
|
||||||
|
{{ .TableOfContents }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
<h1>{{ .Title }}</h1>
|
<h1>{{ .Title }}</h1>
|
||||||
{{ .Content }}
|
{{ .Content }}
|
||||||
{{ template "chrome/footer.html" . }}
|
{{ template "chrome/footer.html" . }}
|
||||||
|
|
|
@ -12,7 +12,21 @@
|
||||||
</div>
|
</div>
|
||||||
<script src="/static/js/jquery.js"></script>
|
<script src="/static/js/jquery.js"></script>
|
||||||
<script src="/static/js/bootstrap.min.js"></script>
|
<script src="/static/js/bootstrap.min.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
$("nav#TableOfContents a").click(function() {
|
||||||
|
$("html, body").animate({
|
||||||
|
scrollTop: $($(this).attr("href")).offset().top-25 + "px"
|
||||||
|
}, {
|
||||||
|
duration: 450,
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
{{ template "chrome/analytics.html" . }}
|
{{ template "chrome/analytics.html" . }}
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
19
docs/static/static/css/styles.css
vendored
19
docs/static/static/css/styles.css
vendored
|
@ -113,6 +113,25 @@ nav.navbar {
|
||||||
background-color: #fdfdfb !important;
|
background-color: #fdfdfb !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#toc {
|
||||||
|
float: right;
|
||||||
|
margin-left: 1em;
|
||||||
|
padding: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TableOfContents > ul {
|
||||||
|
margin-left: -1em;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TableOfContents>ul>li {
|
||||||
|
list-style: none outside none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TableOfContents > ul > li > a {
|
||||||
|
padding-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
#main table{width:100%;margin-bottom:20px;}#main table thead>tr>th,#main table tbody>tr>th,#main table tfoot>tr>th,#main table thead>tr>td,#main table tbody>tr>td,#main table tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #dddddd;}
|
#main table{width:100%;margin-bottom:20px;}#main table thead>tr>th,#main table tbody>tr>th,#main table tfoot>tr>th,#main table thead>tr>td,#main table tbody>tr>td,#main table tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #dddddd;}
|
||||||
#main table thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd;}
|
#main table thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd;}
|
||||||
#main table caption+thead tr:first-child th,#main table colgroup+thead tr:first-child th,#main table thead:first-child tr:first-child th,#main table caption+thead tr:first-child td,#main table colgroup+thead tr:first-child td,#main table thead:first-child tr:first-child td{border-top:0;}
|
#main table caption+thead tr:first-child th,#main table colgroup+thead tr:first-child th,#main table thead:first-child tr:first-child th,#main table caption+thead tr:first-child td,#main table colgroup+thead tr:first-child td,#main table thead:first-child tr:first-child td{border-top:0;}
|
||||||
|
|
Loading…
Reference in a new issue