aboutsummaryrefslogtreecommitdiff
path: root/themes/docsy/userguide/content/en/docs/Adding content
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2019-10-06 21:10:46 +0200
committerDimitri Staessens <dimitri@ouroboros.rocks>2019-10-06 21:10:46 +0200
commit568553394d0a8b34668a75c9839a0f1f426469b2 (patch)
tree175c08844f05611b059ba6900fb6519dbbc735d2 /themes/docsy/userguide/content/en/docs/Adding content
parentd5d6f70371958eec0679831abd283498ff2731e5 (diff)
downloadwebsite-568553394d0a8b34668a75c9839a0f1f426469b2.tar.gz
website-568553394d0a8b34668a75c9839a0f1f426469b2.zip
theme: Switch to docsy theme
Diffstat (limited to 'themes/docsy/userguide/content/en/docs/Adding content')
-rw-r--r--themes/docsy/userguide/content/en/docs/Adding content/Shortcodes/index.md234
-rw-r--r--themes/docsy/userguide/content/en/docs/Adding content/Shortcodes/spruce.jpgbin0 -> 124081 bytes
-rw-r--r--themes/docsy/userguide/content/en/docs/Adding content/_index.md7
-rw-r--r--themes/docsy/userguide/content/en/docs/Adding content/content.md287
-rw-r--r--themes/docsy/userguide/content/en/docs/Adding content/feedback.md133
-rw-r--r--themes/docsy/userguide/content/en/docs/Adding content/iconsimages.md75
-rw-r--r--themes/docsy/userguide/content/en/docs/Adding content/lookandfeel.md127
-rw-r--r--themes/docsy/userguide/content/en/docs/Adding content/navigation.md145
-rw-r--r--themes/docsy/userguide/content/en/docs/Adding content/repository-links.md47
9 files changed, 1055 insertions, 0 deletions
diff --git a/themes/docsy/userguide/content/en/docs/Adding content/Shortcodes/index.md b/themes/docsy/userguide/content/en/docs/Adding content/Shortcodes/index.md
new file mode 100644
index 0000000..53e2a68
--- /dev/null
+++ b/themes/docsy/userguide/content/en/docs/Adding content/Shortcodes/index.md
@@ -0,0 +1,234 @@
+---
+title: "Docsy Shortcodes"
+linkTitle: "Docsy Shortcodes"
+date: 2017-01-05
+weight: 5
+description: >
+ Use Docsy's Hugo shortcodes to quickly build site pages.
+resources:
+- src: "**spruce*.jpg"
+ params:
+ byline: "Photo: Bjørn Erik Pedersen / CC-BY-SA"
+---
+
+Rather than writing all your site pages from scratch, Hugo lets you define and use [shortcodes](https://gohugo.io/content-management/shortcodes/). These are reusable snippets of content that you can include in your pages, often using HTML to create effects that are difficult or impossible to do in simple Markdown. Shortcodes can also have parameters that let you, for example, add your own text to a fancy shortcode text box. As well as Hugo's [built-in shortcodes](https://gohugo.io/content-management/shortcodes/), Docsy provides some shortcodes of its own to help you build your pages.
+
+## Shortcode blocks
+
+The theme comes with a set of custom **Page Block** shortcodes that can be used to compose landing pages, about pages, and similar.
+
+These blocks share some common parameters:
+
+height
+: A pre-defined height of the block container. One of `min`, `med`, `max`, `full`, or `auto`. Setting it to `full` will fill the Viewport Height, which can be useful for landing pages.
+
+color
+: The block will be assigned a color from the theme palette if not provided, but you can set your own if needed. You can use all of Bootstrap's color names, theme color names or a grayscale shade. Some examples would be `primary`, `white`, `dark`, `warning`, `light`, `success`, `300`, `blue`, `orange`. This will become the **background color** of the block, but text colors will adapt to get proper contrast.
+
+### blocks/cover
+
+The **blocks/cover** shortcode creates a landing page type of block that fills the top of the page.
+
+```html
+{{</* blocks/cover title="Welcome!" image_anchor="center" height="full" color="primary" */>}}
+<div class="mx-auto">
+ <a class="btn btn-lg btn-primary mr-3 mb-4" href="{{</* relref "/docs" */>}}">
+ Learn More <i class="fas fa-arrow-alt-circle-right ml-2"></i>
+ </a>
+ <a class="btn btn-lg btn-secondary mr-3 mb-4" href="https://example.org">
+ Download <i class="fab fa-github ml-2 "></i>
+ </a>
+ <p class="lead mt-5">This program is now available in <a href="#">AppStore!</a></p>
+ <div class="mx-auto mt-5">
+ {{</* blocks/link-down color="info" */>}}
+ </div>
+</div>
+{{</* /blocks/cover */>}}
+```
+
+Note that the relevant shortcode parameters above will have sensible defaults, but is included here for completeness.
+
+{{% alert title="Hugo Tip" %}}
+> Using the bracket styled shortcode delimiter, `>}}`, tells Hugo that the inner content is HTML/plain text and needs no further processing. Changing the delimiter to `%}}` means Hugo will treat the content as Markdown. You can use both styles in your pages.
+{{% /alert %}}
+
+
+| Parameter | Default | Description |
+| ---------------- |------------| ------------|
+| title | | The main display title for the block. |
+| image_anchor | |
+| height | | See above.
+| color | | See above.
+
+
+To set the background image, place an image with the word "background" in the name in the page's [Page Bundle](/docs/adding-content/content/#page-bundles). For example, in our the example site the background image in the home page's cover block is [`featured-background.jpg`](https://github.com/google/docsy-example/tree/master/content/en), in the same directory.
+
+{{% alert title="Tip" %}}
+If you also include the word **featured** in the image name, e.g. `my-featured-background.jpg`, it will also be used as the Twitter Card image when shared.
+{{% /alert %}}
+
+For available icons, see [Font Awesome](https://fontawesome.com/icons?d=gallery&m=free).
+
+### blocks/lead
+
+The **blocks/lead** block shortcode is a simple lead/title block with centred text and an arrow down pointing to the next section.
+
+```go-html-template
+{{%/* blocks/lead color="dark" */%}}
+TechOS is the OS of the future.
+
+Runs on **bare metal** in the **cloud**!
+{{%/* /blocks/lead */%}}
+```
+
+| Parameter | Default | Description |
+| ---------------- |------------| ------------|
+| height | | See above.
+| color | | See above.
+
+### blocks/section
+
+The **blocks/section** shortcode is meant as a general-purpose content container. It comes in two "flavors", one for general content and one with styling more suitable for wrapping a horizontal row of feature sections.
+
+The example below shows a section wrapping 3 feature sections.
+
+
+```go-html-template
+{{</* blocks/section color="dark" */>}}
+{{%/* blocks/feature icon="fa-lightbulb" title="Fastest OS **on the planet**!" */%}}
+The new **TechOS** operating system is an open source project. It is a new project, but with grand ambitions.
+Please follow this space for updates!
+{{%/* /blocks/feature */%}}
+{{%/* blocks/feature icon="fab fa-github" title="Contributions welcome!" url="https://github.com/gohugoio/hugo" */%}}
+We do a [Pull Request](https://github.com/gohugoio/hugo/pulls) contributions workflow on **GitHub**. New users are always welcome!
+{{%/* /blocks/feature */%}}
+{{%/* blocks/feature icon="fab fa-twitter" title="Follow us on Twitter!" url="https://twitter.com/GoHugoIO" */%}}
+For announcement of latest features etc.
+{{%/* /blocks/feature */%}}
+{{</* /blocks/section */>}}
+```
+
+| Parameter | Default | Description |
+| ---------------- |------------| ------------|
+| height | | See above.
+| color | | See above.
+| type | | Specify "section" if you want a general container, omit this parameter if you want this section to contain a horizontal row of features.
+
+### blocks/feature
+
+```go-html-template
+
+{{%/* blocks/feature icon="fab fa-github" title="Contributions welcome!" url="https://github.com/gohugoio/hugo" */%}}
+We do a [Pull Request](https://github.com/gohugoio/hugo/pulls) contributions workflow on **GitHub**. New users are always welcome!
+{{%/* /blocks/feature */%}}
+
+```
+
+| Parameter | Default | Description |
+| ---------------- |------------| ------------|
+| title | | The title to use.
+| url | | The URL to link to.
+| icon | | The icon class to use.
+
+
+### blocks/link-down
+
+The **blocks/link-down** shortcode creates a navigation link down to the next section. It's meant to be used in combination with the other blocks shortcodes.
+
+```go-html-template
+
+<div class="mx-auto mt-5">
+ {{</* blocks/link-down color="info" */>}}
+</div>
+```
+
+| Parameter | Default | Description |
+| ---------------- |------------| ------------|
+| color | info | See above.
+
+## Shortcode helpers
+
+### alert
+
+The **alert** shortcode creates an alert block that can be used to display notices or warnings.
+
+```go-html-template
+{{%/* alert title="Warning" color="warning" */%}}
+This is a warning.
+{{%/* /alert */%}}
+
+```
+
+Renders to:
+
+{{% alert title="Warning" color="warning" %}}
+This is a warning.
+{{% /alert %}}
+
+| Parameter | Default | Description |
+| ---------------- |------------| ------------|
+| color | primary | One of the theme colors, eg `primary`, `info`, `warning` etc.
+
+### pageinfo
+
+The **pageinfo** shortcode creates a text box that you can use to add banner information for a page: for example, letting users know that the page contains placeholder content, that the content is deprecated, or that it documents a beta feature.
+
+```go-html-template
+{{%/* pageinfo color="primary" */%}}
+This is placeholder content.
+{{%/* /pageinfo */%}}
+
+```
+
+Renders to:
+
+{{% pageinfo color="primary" %}}
+This is placeholder content
+{{% /pageinfo %}}
+
+| Parameter | Default | Description |
+| ---------------- |------------| ------------|
+| color | primary | One of the theme colors, eg `primary`, `info`, `warning` etc.
+
+
+### imgproc
+
+The **imgproc** shortcode finds an image in the current [Page Bundle](/docs/adding-content/content/#page-bundles) and scales it given a set of processing instructions.
+
+
+```go-html-template
+{{</* imgproc spruce Fill "400x450" */>}}
+Norway Spruce Picea abies shoot with foliage buds.
+{{</* /imgproc */>}}
+```
+
+{{< imgproc spruce Fill "400x450" >}}
+Norway Spruce Picea abies shoot with foliage buds.
+{{< /imgproc >}}
+
+The example above has also a byline with photo attribution added. When using illustrations with a free license from [WikiMedia](https://commons.wikimedia.org/) and simlilar, you will in most situations need a way to attribute the author or licensor. You can add metadata to your page resources in the page front matter. The `byline` param is used by convention in this theme:
+
+
+```yaml
+resources:
+- src: "**spruce*.jpg"
+ params:
+ byline: "Photo: Bjørn Erik Pedersen / CC-BY-SA"
+```
+
+
+| Parameter | Description |
+| ----------------: |------------|
+| 1 | The image filename or enough of it to identify it (we do Glob matching)
+| 2 | Command. One of `Fit`, `Resize` or `Fill`. See [Image Processing Methods](https://gohugo.io/content-management/image-processing/#image-processing-methods).
+| 3 | Processing options, e.g. `400x450`. See [Image Processing Options](https://gohugo.io/content-management/image-processing/#image-processing-methods).
+
+### swaggerui
+
+The `swaggerui` shortcode can be placed anywhere inside a `swagger` layout; it renders [Swagger UI](https://swagger.io/tools/swagger-ui/) using any OpenAPI YAML or JSON file as source, which can be hosted anywhere (for example, the root `/static` folder of Hugo).
+
+```go-html-template
+{{</* swaggerui src="/openapi/openapi.yaml" */>}}
+```
+
+You can customize Swagger UI's look and feel by overriding Swagger's CSS or by editing and compiling a [Swagger UI dist](https://github.com/swagger-api/swagger-ui) yourself and replace `themes/docsy/static/css/swagger-ui.css`.
diff --git a/themes/docsy/userguide/content/en/docs/Adding content/Shortcodes/spruce.jpg b/themes/docsy/userguide/content/en/docs/Adding content/Shortcodes/spruce.jpg
new file mode 100644
index 0000000..8ba2188
--- /dev/null
+++ b/themes/docsy/userguide/content/en/docs/Adding content/Shortcodes/spruce.jpg
Binary files differ
diff --git a/themes/docsy/userguide/content/en/docs/Adding content/_index.md b/themes/docsy/userguide/content/en/docs/Adding content/_index.md
new file mode 100644
index 0000000..05ee953
--- /dev/null
+++ b/themes/docsy/userguide/content/en/docs/Adding content/_index.md
@@ -0,0 +1,7 @@
+---
+title: "Content and Customization"
+linkTitle: "Content and Customization"
+weight: 3
+description: >
+ How to add content to and customize your Docsy site.
+---
diff --git a/themes/docsy/userguide/content/en/docs/Adding content/content.md b/themes/docsy/userguide/content/en/docs/Adding content/content.md
new file mode 100644
index 0000000..3b981da
--- /dev/null
+++ b/themes/docsy/userguide/content/en/docs/Adding content/content.md
@@ -0,0 +1,287 @@
+---
+title: "Adding Content"
+linkTitle: "Adding Content"
+weight: 1
+description: >
+ Add different types of content to your Docsy site.
+---
+
+So you've got a new Hugo website with Docsy, now it's time to add some content! This page tells you how to use the theme to add and structure your site content.
+
+## Content root directory
+
+You add content for your site under the **content root directory** of your Hugo site project - either `content/` or a [language-specific](/docs/language/) root like `content/en/`. The main exception here is static files that you don't want built into your site: you can find out more about where you add these below in [Adding static content](#adding-static-content). The files in your content root directory are typically grouped in subdirectories corresponding to your site's sections and templates, which we'll look at in [Content sections and templates](#content-sections-and-templates).
+
+You can find out more about Hugo directory structure in [Directory Structure Explained](https://gohugo.io/getting-started/directory-structure/#directory-structure-explained).
+
+## Content sections and templates
+
+Hugo builds your site pages using the content files you provide plus any templates provided by your site's theme. These templates (or *"layouts"* in Hugo terminology) include things like your page's headers, footers, navigation, and links to stylesheets: essentially, everything except your page's specific content. The templates in turn can be made up of *partials*: little reusable snippets of HTML for page elements like headers, search boxes, and more.
+
+Because most technical documentation sites have different sections for different types of content, the Docsy theme comes with the [following templates](https://github.com/google/docsy/tree/master/layouts) for top-level site sections that you might need:
+
+* [`docs`](https://github.com/google/docsy/tree/master/layouts/docs) is for pages in your site's Documentation section.
+* [`blog`](https://github.com/google/docsy/tree/master/layouts/blog) is for pages in your site's Blog.
+* [`community`](https://github.com/google/docsy/tree/master/layouts/community) is for your site's Community page.
+
+It also provides a [default "landing page" type of template](https://github.com/google/docsy/tree/master/layouts/_default) with the site header and footer, but no left nav, that you can use for any other section. In this site and our example site it's used for the site [home page](/) and the [About](/about/) page.
+
+Each top-level **section** in your site corresponds to a **directory** in your site content root. Hugo automatically applies the appropriate **template** for that section, depending on which folder the content is in. For example, this page is in the `docs` subdirectory of the site's content root directory `content/en/`, so Hugo automatically applies the `docs` template. You can override this by explicitly specifying a template or content type for a particular page.
+
+If you've copied the example site, you already have appropriately named top-level section directories for using Docsy's templates, each with an index page ( `_index.md` or `index.html`) page for users to land on. These top-level sections also appear in the example site's [top-level menu](/docs/adding-content/navigation/#top-level-menu).
+
+### Custom sections
+
+If you've copied the example site and *don't* want to use one of the provided content sections, just delete the appropriate content subdirectory. Similarly, if you want to add a top-level section, just add a new subdirectory, though you'll need to specify the layout or content type explicitly in the [frontmatter](#page-frontmatter) of each page if you want to use any existing Docsy template other than the default one. For example, if you create a new directory `content/en/`**`amazing`** and want one or more pages in that custom section to use Docsy's `docs` template, you add `layout: docs` to the frontmatter of each page:
+
+```yaml
+---
+title: "My amazing new section"
+weight: 1
+layout: docs
+description: >
+ A special section with a docs layout.
+---
+```
+
+Alternatively, create your own page template for your new section in your project's `layouts` directory based on one of the existing templates.
+
+You can find out much more about how Hugo page layouts work in [Hugo Templates](https://gohugo.io/templates/). The rest of this page tells you about how to add content and use each of Docsy's templates.
+
+## Page frontmatter
+
+Each page file in a Hugo site has metadata frontmatter that tells Hugo about the page. You specify page frontmatter in TOML, YAML, or JSON (our example site and this site use YAML). Use the frontmatter to specify the page title, description, creation date, link title, template, menu weighting, and even any resources such as images used by the page. You can see a complete list of possible page frontmatter in [Front Matter](https://gohugo.io/content-management/front-matter/).
+
+For example, here's the frontmatter for this page:
+
+```
+---
+title: "Adding Content"
+linkTitle: "Adding Content"
+weight: 1
+description: >
+ How to add content to your Docsy site.
+---
+```
+
+The minimum frontmatter you need to provide is a title: everything else is up to you! (though if you leave out the page weight your [navigation](/docs/adding-content/navigation) may get a little disorganized).
+
+
+## Page contents and markup
+
+By default you create pages in a Docsy site as simple [Markdown or HTML files](https://gohugo.io/content-management/formats/) with [page frontmatter](#page-frontmatter), as described above. Hugo currently uses [BlackFriday](https://github.com/russross/blackfriday) as its default Markdown parser.
+
+In addition to your marked-up text, you can also use Hugo and Docsy's [shortcodes](/docs/adding-content/shortcodes): reusable chunks of HTML that you can use to quickly build your pages. Find out more about shortcodes in [Docsy Shortcodes](/docs/adding-content/shortcodes).
+
+{{% alert title="Note" color="info" %}}
+Hugo also supports adding content using other markups using [external parsers as helpers](https://gohugo.io/content-management/formats/#additional-formats-through-external-helpers). For example, you can add content in RST using `rst2html` as an external parser (though be aware this does not support all flavors of RST, such as Sphinx RST). Similarly, you can use `asciidoctor` to parse Asciidoc files, or `pandoc` for other formats.
+
+External parsers may not be suitable for use with all deployment options, as you'll need to install the external parser and run Hugo yourself to generate your site (so, for example, you won't be able to use [Netlify's continuous deployment feature](/docs/deployment/#deployment-with-netlify)). In addition, adding an external parser may cause performance issues building larger sites.
+{{% /alert %}}
+
+### Working with links
+
+Hugo and Blackfriday let you specify links using normal Markdown syntax, though remember that you need to specify links relative to your site's root URL, and that relative URLs are left unchanged by Hugo in your site's generated HTML.
+
+Alternatively you can use Hugo's helper [`ref` and `relref` shortcodes](https://gohugo.io/content-management/cross-references/) for creating internal links that resolve to the correct URL. However, be aware this means your links will not appear as links at all if a user views your page outside your generated site, for example using the rendered Markdown feature in GitHub's web UI.
+
+You can find (or add!) tips and gotchas for working with Hugo links in [Hugo Tips](/docs/best-practices/site-guidance).
+
+### Content style
+
+We don't mandate any particular style for your page contents. However, if you'd like some guidance on how to write and format clear, concise technical documentation, we recommend the [Google Developer Documentation Style Guide](https://developers.google.com/style/), particularly the [Style Guide Highlights](https://developers.google.com/style/highlights).
+
+## Page bundles
+
+You can create site pages as standalone files in their section or subsection directory, or as folders where the content is in the folder's index page. Creating a folder for your page lets you [bundle](https://gohugo.io/content-management/page-bundles/) images and other resources together with the content.
+
+You can see examples of both approaches in this and our example site. For example, the source for this page is just a standalone file `/content/en/docs/adding-content.md`. However the source for [Docsy Shortcodes](/docs/adding-content/shortcodes/) in this site lives in `/content/en/docs/adding-content/shortcodes/index.md`, with the image resource used by the page in the same `/shortcodes/` directory. In Hugo terminology, this is called a *leaf bundle* because it's a folder containing all the data for a single site page without any child pages (and uses `index.md` without an underscore).
+
+You can find out much more about managing resources with Hugo bundles in [Page Bundles](https://gohugo.io/content-management/page-bundles/).
+
+## Adding docs and blog posts
+
+The template you'll probably use most often is the [`docs` template](https://github.com/google/docsy/blob/master/layouts/docs/baseof.html) (as used in this page) or the very similar [`blog` template](https://github.com/google/docsy/blob/master/layouts/blog/baseof.html). Both these templates include:
+
+* a left nav
+* GitHub links (populated from your site config) for readers to edit the page or create issues
+* a page menu
+
+as well as the common header and footer used by all your site's pages. Which template is applied depends on whether you've added the content to the `blog` or `docs` content directory. You can find out more about how the nav and page menu are created in [Navigation and Search](/docs/adding-content/navigation/).
+
+### Organizing your documentation
+
+While Docsy's top-level sections let you create site sections for different types of content, you may also want to organize your docs content within your `docs` section. For example, this site's `docs` section directory has multiple subdirectories for **Getting Started**, **Content and Customization**, and so on. Each subdirectory has an `_index.md` (it could also be an `_index.html`), which acts as a section index page and tells Hugo that the relevant directory is a subsection of your docs.
+
+Docsy's `docs` layout gives you a left nav pane with an autogenerated nested menu based on your `docs` file structure. Each standalone page or subsection `_index.md` or `_index.html` page in the `docs/` directory gets a top level menu item, using the link name and `weight` metadata from the page or index.
+
+To add docs to a subsection, just add your page files to the relevant subdirectory. Any pages that you add to a subsection in addition to the subsection index page will appear in a submenu (look to the left to see one in action!), again ordered by page `weight`. Find out more about adding Docsy's navigation metadata in [Navigation and Search](/docs/adding-content/navigation/)
+
+If you've copied the example site, you'll already have some suggested subdirectories in your `docs` directory, with guidance for what types of content to put in them and some example Markdown pages. You can find out more about organizing your content with Docsy in [Organizing Your Content](/docs/organizing/).
+
+#### Docs section landing pages
+
+By default a docs section landing page (the `_index.md` or `_index.html` in the section directory) uses a layout that adds a formatted list of links to the pages in the section, with their frontmatter descriptions. The [Content and Customization](/docs/adding-content/) landing page in this site is a good example.
+
+To display a simple bulleted list of links to the section's pages instead, specify `simple_list: true` in the landing page's frontmatter:
+
+```
+---
+title: "Simple List Page"
+simple_list: true
+weight: 20
+---
+```
+
+To display no links at all, specify `no_list: true` in the landing page's frontmatter:
+
+```
+---
+title: "No List Page"
+no_list: true
+weight: 20
+---
+```
+
+### Organizing your blog posts
+
+Docsy's `blog` layout also gives you a left nav menu (like the `docs` layout), and a list-type index page for your blog that's applied to `/blog/_index.md` and automatically displays snippets of all your recent posts in reverse chronological order.
+
+To create different blog categories to organize your posts, create subfolders in `blog/`. For instance, in our [example site](https://github.com/google/docsy-example/tree/master/content/en/blog) we have `news` and `releases`. Each category needs to have its own `_index.md` or `_index.html` landing page file specifying the category title for it to appear properly in the left nav and top-level blog landing page. Here's the index page for `releases`:
+
+```
+---
+title: "New Releases"
+linkTitle: "Releases"
+weight: 20
+---
+```
+
+To add author and date information to blog posts, add them to the page frontmatter:
+
+```
+---
+date: 2018-10-06
+title: "Easy documentation with Docsy"
+linkTitle: "Announcing Docsy"
+description: "The Docsy Hugo theme lets project maintainers and contributors focus on content, not on reinventing a website infrastructure from scratch"
+author: Riona MacNamara
+resources:
+- src: "**.{png,jpg}"
+ title: "Image #:counter"
+ params:
+ byline: "Photo: Riona MacNamara / CC-BY-CA"
+---
+```
+
+If you've copied the example site and you don't want a blog section, or want to link to an external blog instead, just delete the `blog` subdirectory.
+
+
+## Working with top-level landing pages.
+
+Docsy's [default page template](https://github.com/google/docsy/blob/master/layouts/docs/baseof.html) has no left nav and is useful for creating a home page for your site or other "landing" type pages.
+
+### Customizing the example site pages
+
+If you've copied the example site, you already have a simple site landing page in `content/en/_index.html`. This is made up of Docsy's provided Hugo shortcode [page blocks](/docs/adding-content/shortcodes).
+
+To customize the large landing image, which is in a [cover](#blocks-cover) block, replace the `content/en/featured-background.jpg` file in your project with your own image (it can be called whatever you like as long as it has `background` in the file name). You can remove or add as many blocks as you like, as well as adding your own custom content.
+
+The example site also has an About page in `content/en/about/_index.html` using the same Docsy template. Again, this is made up of [page blocks](/docs/adding-content/shortcodes), including another background image in `content/en/about/featured-background.jpg`. As with the site landing page, you can replace the image, remove or add blocks, or just add your own content.
+
+### Building your own landing pages
+
+If you've just used the theme, you can still use all Docsy's provided [page blocks](/docs/adding-content/shortcodes) (or any other content you want) to build your own landing pages in the same file locations.
+
+## Adding a community page
+
+The `community` landing page template has boilerplate content that's automatically filled in with the project name and community links specified in `config.toml`, providing your users with quick links to resources that help them get involved in your project. The same links are also added by default to your site footer.
+
+```toml
+[params.links]
+# End user relevant links. These will show up on left side of footer and in the community page if you have one.
+[[params.links.user]]
+ name = "User mailing list"
+ url = "https://example.org/mail"
+ icon = "fa fa-envelope"
+ desc = "Discussion and help from your fellow users"
+[[params.links.user]]
+ name ="Twitter"
+ url = "https://example.org/twitter"
+ icon = "fab fa-twitter"
+ desc = "Follow us on Twitter to get the latest news!"
+[[params.links.user]]
+ name = "Stack Overflow"
+ url = "https://example.org/stack"
+ icon = "fab fa-stack-overflow"
+ desc = "Practical questions and curated answers"
+# Developer relevant links. These will show up on right side of footer and in the community page if you have one.
+[[params.links.developer]]
+ name = "GitHub"
+ url = "https://github.com/google/docsy"
+ icon = "fab fa-github"
+ desc = "Development takes place here!"
+[[params.links.developer]]
+ name = "Slack"
+ url = "https://example.org/slack"
+ icon = "fab fa-slack"
+ desc = "Chat with other project developers"
+[[params.links.developer]]
+ name = "Developer mailing list"
+ url = "https://example.org/mail"
+ icon = "fa fa-envelope"
+ desc = "Discuss development issues around the project"
+```
+
+If you're creating your own site and want to add a page using this template, add a `/community/_index.md` file in your content root directory. If you've copied the example site and *don't* want a community page, just delete the `/content/en/community/` directory in your project repo.
+
+## Adding static content
+
+You may want to serve some non-Hugo-built content along with your site: for example, if you have generated reference docs using Doxygen, Javadoc, or other doc generation tools.
+
+To add static content to be served "as-is", just add the content as a folder and/or files in your site's `static` directory. When your site is deployed, content in this directory is served at the site root path. So, for example, if you have added content at `/static/reference/cpp/`, users can access that content at `http://{server-url}/reference/cpp/` and you can link to pages in this directory from other pages at `/reference/cpp/{file name}`.
+
+You can also use this directory for other files used by your project, including image files. You can find out more about serving static files, including configuring multiple directories for static content, in [Static Files](https://gohugo.io/content-management/static-files/).
+
+## RSS feeds
+
+Hugo will, by default, create an RSS feed for the home page and any section. For the main RSS feed you can control which sections to include by setting a site param in your `config.toml`. This is the default configuration:
+
+```toml
+rss_sections = ["blog"]
+```
+To disable all RSS feeds, add the following to your `config.toml`:
+
+```toml
+disableKinds = ["RSS"]
+```
+
+## Sitemap
+
+Hugo creates a `sitemap.xml` file for your generated site by default: for example, [here's the sitemap](/sitemap.xml) for this site.
+
+You can configure the frequency with which your sitemap is updated, your sitemap filename, and the default page priority in your `config.toml`:
+
+```toml
+[sitemap]
+ changefreq = "monthly"
+ filename = "sitemap.xml"
+ priority = 0.5
+```
+
+To override any of these values for a given page, specify it in page frontmatter:
+
+```yaml
+---
+title: "Adding Content"
+linkTitle: "Adding Content"
+weight: 1
+description: >
+ Add different types of content to your Docsy site.
+sitemap:
+ priority: 1.0
+---
+```
+
+To learn more about configuring sitemaps, see [Sitemap Template](https://gohugo.io/templates/sitemap-template/).
+
diff --git a/themes/docsy/userguide/content/en/docs/Adding content/feedback.md b/themes/docsy/userguide/content/en/docs/Adding content/feedback.md
new file mode 100644
index 0000000..62df817
--- /dev/null
+++ b/themes/docsy/userguide/content/en/docs/Adding content/feedback.md
@@ -0,0 +1,133 @@
+---
+title: "Analytics and User Feedback"
+date: 2019-06-05
+weight: 7
+description: >
+ Add Google Analytics tracking to your site, use the "was this page helpful?" widget data, disable the widget on a single
+ page or all pages, and change the response text.
+---
+
+## Adding Analytics
+
+The Docsy theme contains built-in support for [Google Analytics](https://analytics.google.com/analytics/web/) via Hugo's [internal template](https://gohugo.io/templates/internal/#google-analytics), which is included in the theme. Once you set Analytics up as described below, usage information for your site (such as page views) is sent to your Google Analytics account.
+
+### Setup
+
+1. Ensure you have [set up a Google Analytics property](https://support.google.com/analytics/answer/1042508) for your site: this gives you an Analytics ID to add to your config, which Docsy in turn adds to all your site's pages.
+1. Open `config.toml`.
+1. Enable Google Analytics by setting the Tracking ID property to your site's Analytics ID.
+
+ [services.googleAnalytics]
+ id = "UA-00000000-0"
+
+1. Save and close `config.toml`.
+1. Ensure that your site is built with `HUGO_ENV="production"`, as Docsy only adds Analytics tracking to production-ready sites. You can specify this variable as a command line flag to Hugo:
+
+ ```
+ $ env HUGO_ENV="production" hugo
+ ```
+
+ Alternatively, if you're using Netlify, you can specify it as a Netlify [deployment setting](https://www.netlify.com/docs/continuous-deployment/#build-environment-variables) in `netlify.toml` or the Netlify UI, along with the Hugo version.
+
+
+## User Feedback
+
+By default Docsy puts a "was this page helpful?" feedback widget at the bottom of every
+documentation page, as shown in Figure 1.
+
+<figure>
+ <img src="/images/feedback.png"
+ alt="The user is presented with the text 'Was this page helpful?' followed
+ by 'Yes' and 'No' buttons."/>
+ <figcaption>Figure 1. The feedback widget, outlined in red</figcaption>
+</figure>
+
+After clicking **Yes** the user should see a response like Figure 2. You can configure the
+response text in `config.toml`.
+
+<figure>
+ <img src="/images/yes.png"
+ alt="After clicking 'Yes' the widget responds with 'Glad to hear it!
+ Please tell us how we can improve.' and the second sentence is a link which,
+ when clicked, opens GitHub and lets the user create an issue on the
+ documentation repository."/>
+ <figcaption>
+ Figure 2. An example <b>Yes</b> response
+ </figcaption>
+</figure>
+
+### How is this data useful?
+
+When you have a lot of documentation, and not enough time to update it all, you can use the
+"was this page helpful?" feedback data to help you decide which pages to prioritize. In general,
+start with the pages with a lot of pageviews and low ratings. "Low ratings" in this context
+means the pages where users are clicking **No** --- the page wasn't helpful --- more often than
+**Yes** --- the page was helpful. You can also study your highly-rated pages to develop hypotheses
+around why your users find them helpful.
+
+In general, you can develop more certainty around what patterns your users find helpful or
+unhelpful if you introduce isolated changes in your documentation whenever possible. For example,
+suppose that you find a tutorial that no longer matches the product. You update the instructions,
+check back in a month, and the score has improved. You now have a correlation between up-to-date
+instructions and higher ratings. Or, suppose you study your highly-rated pages and discover that
+they all start with code samples. You find 10 other pages with their code samples at the bottom,
+move the samples to the top, and discover that each page's score has improved. Since
+this was the only change you introduced on each page, it's more reasonable to believe that
+your users find code samples at the top of pages helpful. The scientific method, applied to
+technical writing, in other words!
+
+### Setup
+
+1. Open `config.toml`.
+1. Ensure that Google Analytics is enabled, as described [above](#setup).
+1. Set the response text that users see after clicking **Yes** or **No**.
+
+ [params.ui.feedback]
+ enable = true
+ yes = 'Glad to hear it! Please <a href="https://github.com/USERNAME/REPOSITORY/issues/new">tell us how we can improve</a>.'
+ no = 'Sorry to hear that. Please <a href="https://github.com/USERNAME/REPOSITORY/issues/new">tell us how we can improve</a>.'
+1. Save and close `config.toml`.
+
+### Access the feedback data
+
+This section assumes basic familiarity with Google Analytics. For example, you should know how
+to check pageviews over a certain time range and navigate between accounts if you have access to
+multiple documentation sites.
+
+1. Open Google Analytics.
+1. Open **Behavior** > **Events** > **Overview**.
+1. In the **Event Category** table click the **Helpful** row. Click **view full report** if
+ you don't see the **Helpful** row.
+1. Click **Event Label**. You now have a page-by-page breakdown of ratings.
+
+Here's what the 4 columns represent:
+
+* **Total Events** is the total number of times that users clicked *either* **Yes** or **No**.
+* **Unique Events** provides a rough indication of how frequenly users are rating your pages per
+ session. For example, suppose your **Total Events** is 5000, and **Unique Events** is 2500.
+ This means that you have 2500 users who are rating 2 pages per session.
+* **Event Value** isn't that useful.
+* **Avg. Value** is the aggregated rating for that page. The value is always between 0
+ and 1. When users click **No** a value of 0 is sent to Google Analytics. When users click
+ **Yes** a value of 1 is sent. You can think of it as a percentage. If a page has an
+ **Avg. Value** of 0.67, it means that 67% of users clicked **Yes** and 33% clicked **No**.
+
+[events]: https://developers.google.com/analytics/devguides/collection/analyticsjs/events
+[PR]: https://github.com/google/docsy/pull/1/files
+
+The underlying Google Analytics infrastructure that stores the "was this page helpful?" data is
+called [Events][events]. See [docsy pull request #1][PR] to see exactly
+what happens when a user clicks **Yes** or **No**. It's just a `click` event listener that
+fires the Google Analytics JavaScript function for logging an Event, disables the **Yes** and
+**No** buttons, and shows the response text.
+
+### Disable feedback on a single page
+
+Add `hide_feedback: true` to the page's front matter.
+
+### Disable feedback on all pages
+
+Set `params.ui.feedback.enable` to `false` in `config.toml`:
+
+ [params.ui.feedback]
+ enable = false
diff --git a/themes/docsy/userguide/content/en/docs/Adding content/iconsimages.md b/themes/docsy/userguide/content/en/docs/Adding content/iconsimages.md
new file mode 100644
index 0000000..b54aeec
--- /dev/null
+++ b/themes/docsy/userguide/content/en/docs/Adding content/iconsimages.md
@@ -0,0 +1,75 @@
+---
+title: "Logos and Images"
+linkTitle: "Logos and Images"
+date: 2017-01-05
+weight: 6
+description: >
+ Add and customize logos, icons, and images in your project.
+---
+
+## Add your logo
+
+Add your project logo as `assets/icons/logo.svg` in your project. This overrides the default Docsy logo in the theme. If you don't want a project logo, set `navbar_logo` to `false` (or delete the variable) in your `config.toml`:
+
+```
+navbar_logo = false
+```
+
+If you decide at a later stage that you'd like to add a logo to your navbar, you can set the parameter to `true`:
+
+```
+navbar_logo = true
+```
+
+{{% alert title="Tip" %}}
+Your logo is included in the default Docsy navbar as an inline SVG with the following CSS styling (from [`_nav.scss`](https://github.com/google/docsy/blob/master/assets/scss/_nav.scss)):
+
+```
+svg {
+ display: inline-block;
+ margin: 0 10px;
+ height: 30px;
+}
+```
+
+To ensure your logo displays correctly, you may want to resize it, ensure it doesn't have height and width attributes so that its size is fully responsive, or override the default styling with your own CSS.
+{{% /alert %}}
+
+## Add your favicons
+
+The easiest way to do this is to create a set of favicons via http://cthedot.de/icongen (which lets you create a huge range of icon sizes and options from a single image) and/or https://favicon.io/, and put them in your site project's `static/favicons` directory. This will override the default favicons from the theme.
+
+Note that https://favicon.io/ doesn't create as wide a range of sizes as Icongen but *does* let you quickly create favicons from text: if you want to create text favicons you can use this site to generate them, then use Icongen to create more sizes (if necessary) from your generated `.png` file.
+
+If you have special favicon requirements, you can create your own `layouts/partials/favicons.html` with your links.
+
+## Add images
+
+### Landing pages
+
+Docsy's [`blocks/cover` shortcode](/docs/adding-content/shortcodes/#blocks-cover) make it easy to add large cover images to your landing pages. The shortcode looks for an image with the word "background" in the name inside the landing page's [Page Bundle](https://gohugo.io/content-management/page-bundles/) - so, for example, if you've copied the example site, the landing page image in `content/en/_index.html` is `content/en/featured-background.jpg`.
+
+You specify the preferred display height of a cover block container (and hence its image) using the block's `height` parameter. For a full viewport height, use `full`:
+
+```html
+{{</* blocks/cover title="Welcome to the Docsy Example Project!" image_anchor="top" height="full" color="orange" */>}}
+...
+{{</* /blocks/cover */>}}
+```
+
+For a shorter image, as in the example site's About page, use one of `min`, `med`, `max` or `auto` (the actual height of the image):
+
+```html
+{{</* blocks/cover title="About the Docsy Example" image_anchor="bottom" height="min" */>}}
+...
+{{</* /blocks/cover */>}}
+```
+
+### Other pages
+
+To add inline images to other pages, use the [`imgproc` shortcode](/docs/adding-content/shortcodes/#imgproc). Alternatively, if you prefer, just use regular Markdown or HTML images and add your image files to your project's `static` directory. You can find out more about using this directory in [Adding static content](/docs/adding-content/content/#adding-static-content).
+
+## Images used on this site
+
+Images used as background images in this site are in the [public domain](https://commons.wikimedia.org/wiki/User:Bep/gallery#Wed_Aug_01_16:16:51_CEST_2018) and can be used freely. The porridge image in the example site is by <a href="https://pixabay.com/users/iha31-560629/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=531209">iha31</a> from <a href="https://pixabay.com/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=531209">Pixabay</a>
+
diff --git a/themes/docsy/userguide/content/en/docs/Adding content/lookandfeel.md b/themes/docsy/userguide/content/en/docs/Adding content/lookandfeel.md
new file mode 100644
index 0000000..d104805
--- /dev/null
+++ b/themes/docsy/userguide/content/en/docs/Adding content/lookandfeel.md
@@ -0,0 +1,127 @@
+---
+title: "Look and Feel"
+linkTitle: "Look and Feel"
+date: 2017-01-05
+weight: 2
+description: >
+ Customize colors, fonts, and more for your site.
+---
+
+By default, a site using Docsy has the theme's default fonts, colors, and general look and feel. However, if you want your own color scheme (and you probably will!) you can very easily override the theme defaults with your own project-specific values - Hugo will look in your project files first when looking for information to build your site. Also because Docsy uses Bootstrap 4 and SCSS for styling, you can override just single values in its special SCSS project variables file, or do more serious customization by creating your own versions of entire SCSS files.
+
+## Color palette and other styles
+
+To quickly change your site's colors, add SCSS variable project overrides to `assets/scss/_variables_project.scss`. A simple example changing the primary and secondary color to two shades of purple:
+
+```scss
+$primary: #390040;
+$secondary: #A23B72;
+```
+
+* See `assets/scss/_variables.scss` in the theme for color variables etc. that can be set to change the look and feel.
+* Also see available variables in Bootstrap 4: https://getbootstrap.com/docs/4.0/getting-started/theming/ and https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss
+
+The theme has features suchs as rounded corners and gradient backgrounds enabled by default. These can also be toggled in your project variables file:
+
+```scss
+$enable-gradients: true;
+$enable-rounded: true;
+$enable-shadows: true;
+```
+
+{{% alert title="Tip" %}}
+PostCSS (autoprefixing of CSS browser-prefixes) is not enabled when running in server mode (it is a little slow), so Chrome is the recommended choice for development.
+{{% /alert %}}
+
+Also note that any SCSS import will try the project before the theme, so you can -- as one example -- create your own `_assets/scss/_content.scss` and get full control over how your Markdown content is styled.
+
+## Fonts
+
+The theme uses [Open Sans](https://fonts.google.com/specimen/Open+Sans) as its primary font. To disable Google Fonts and use a system font, set this SCSS variable in `assets/scss/_variables_project.scss`:
+
+```scss
+$td-enable-google-fonts: false;
+```
+
+To configure another Google Font:
+
+```scss
+$google_font_name: "Open Sans";
+$google_font_family: "Open+Sans:300,300i,400,400i,700,700i";
+```
+
+Note that if you decide to go with a font with different weights (in the built-in configuration this is `300` (light), `400` (medium) and `700` (bold)), you also need to adjust the weight related variables, i.e. variables starting with `$font-weight-`.
+
+## CSS utilities
+
+For documentation of available CSS utility classes, see the [Bootstrap Documentation](https://getbootstrap.com/). This theme adds very little on its own in this area. However, we have added some some color state CSS classes that can be useful in a dynamic context:
+
+* `.-bg-<color>`
+* `.-text-<color>`
+
+You can use these classes, for example, to style your text in an appropriate color when you don't know if the `primary` color is dark or light, to ensure proper color contrast. They are also useful when you receive the color code as a [shortcode](/docs/adding-content/shortcodes/) parameter.
+
+The value of `<color>` can be any of the color names, `primary`, `white`, `dark`, `warning`, `light`, `success`, `300`, `blue`, `orange` etc.
+
+When you use `.-bg-<color>`, the text colors will be adjusted to get proper contrast:
+
+```html
+<div class="-bg-primary p-3 display-4">Background: Primary</div>
+<div class="-bg-200 p-3 display-4">Background: Gray 200</div>
+```
+
+<div class="-bg-primary p-3 display-4 w-75">Background: Primary</div>
+<div class="-bg-200 p-3 display-4 mb-5 w-50 w-75">Background: Gray 200</div>
+
+`.-text-<color>` sets the text color only:
+
+```html
+<div class="-text-blue pt-3 display-4">Text: Blue</div>
+```
+
+<div class="-text-blue pt-3 display-4">Text: Blue</div>
+
+## Customizing templates
+
+### Add code to head or before body end
+
+If you need to add some code (CSS import or similar) to the `head` section on every page, add a partial to your project:
+
+```
+layouts/partials/hooks/head-end.html
+```
+
+And add the code you need in that file. Your partial code is automatically included at the end of the theme partial [head.html](https://github.com/google/docsy/blob/master/layouts/partials/head.html) (the [theme version](https://github.com/google/docsy/blob/master/layouts/partials/head.html) of `head-end.html` is empty):
+
+
+Similar, if you want to add some code right before the `body` end, create your own version of the following file:
+
+```
+layouts/partials/hooks/body-end.html
+```
+
+Any code in this file is included automatically at the end of the theme partial [`scripts.html`](https://github.com/google/docsy/blob/master/layouts/partials/head.html).
+
+Both `head.html` and `scripts.html` are then used to build Docsy's [base page layout](https://github.com/google/docsy/blob/master/layouts/_default/baseof.html), which is used by all the other page templates:
+
+```html
+<!doctype html>
+<html lang="{{ .Site.Language.Lang }}" class="no-js">
+ <head>
+ {{ partial "head.html" . }}
+ </head>
+ <body class="td-{{ .Kind }}">
+ <header>
+ {{ partial "navbar.html" . }}
+ </header>
+ <div class="container-fluid td-default td-outer">
+ <main role="main" class="td-main">
+ {{ block "main" . }}{{ end }}
+ </main>
+ {{ partial "footer.html" . }}
+ </div>
+ {{ partialCached "scripts.html" . }}
+ </body>
+</html>
+```
+
diff --git a/themes/docsy/userguide/content/en/docs/Adding content/navigation.md b/themes/docsy/userguide/content/en/docs/Adding content/navigation.md
new file mode 100644
index 0000000..fcbf4f2
--- /dev/null
+++ b/themes/docsy/userguide/content/en/docs/Adding content/navigation.md
@@ -0,0 +1,145 @@
+---
+title: "Navigation and Search"
+date: 2017-01-05
+weight: 3
+description: >
+ Customize site navigation and search for your Docsy site.
+---
+
+## Top-level menu
+
+The top level menu (the one that appears in the top navigation bar for the entire site) uses your site's [`main` menu](https://gohugo.io/content-management/menus/). All Hugo sites have a `main` menu array of menu entries, accessible via the `.Site.Menus` site variable and populatable via page front matter or your site's `config.toml`.
+
+To add a page or section to this menu, add it to the site's `main` menu in either `config.toml` or in the destination page's front matter (in `_index.md` or `_index.html` for a section, as that's the section landing page). For example, here's how we added the Documentation section landing page to the main menu in this site:
+
+```yaml
+---
+title: "Docsy Documentation"
+linkTitle: "Documentation"
+menu:
+ main:
+ weight: 20
+---
+```
+
+The menu is ordered from left to right by page `weight`. So, for example, a section index or page with `weight: 30` would appear after the Documentation section in the menu, while one with `weight: 10` would appear before it.
+
+If you want to add a link to an external site to this menu, add it in `config.toml`, specifying the `weight`.
+
+```yaml
+[[menu.main]]
+ name = "GitHub"
+ weight = 50
+ url = "https://github.com/google/docsy/"
+```
+
+### Adding a version drop-down
+
+Depending on your project's releases and versioning, you may want to let your users access "old" versions of your site (how you deploy your archived sites is up to you) to read about previous versions of your project.
+
+If you add some `[params.versions]` in `config.toml`, the Docsy theme adds a version selector drop down to the top-level menu. You specify a URL and a name for each version you would like to add to the menu, as in the following example:
+
+```
+# Add your release versions here
+[[params.versions]]
+ version = "master"
+ url = "https://master.kubeflow.org"
+
+[[params.versions]]
+ version = "v0.2"
+ url = "https://v0-2.kubeflow.org"
+
+[[params.versions]]
+ version = "v0.3"
+ url = "https://v0-3.kubeflow.org"
+```
+
+(don't forget to add your current version so users can navigate back!)
+
+The default version drop-down menu title is `Releases`. To change this, change the `version_menu` parameter in `config.toml`:
+
+```
+version_menu = "Releases"
+```
+
+
+### Adding a language drop-down
+
+If you configure more than one language in `config.toml`, the Docsy theme adds a language selector drop down to the top-level menu. Selecting a language takes the user to the translated version of the current page, or the home page for the given language.
+
+You can find out more in [Multi-language support](/docs/language/).
+
+## Section menu
+
+The section menu, as shown in the left side of the `docs` section, is automatically built from the `content` tree. Like the top-level menu, it is ordered by page or section index `weight` (or by page creation `date` if `weight` is not set), with the page or index's `Title`, or `linkTitle` if different, as its link title in the menu. If a section subfolder has pages other than `_index.md` or `_index.html`, those pages will appear as a submenu, again ordered by `weight`. For example, here's the metadata for this page showing its `weight` and `title`:
+
+```yaml
+---
+title: "Navigation and Search"
+linkTitle: "Navigation and Search"
+date: 2017-01-05
+weight: 3
+description: >
+ Customize site navigation and search for your Docsy site.
+---
+```
+
+To hide a page or section from the menu, set `toc_hide: true` in front matter.
+
+By default, the section menu will show the current section fully expanded all the way down. This may make the left nav too long and difficult to scan for bigger sites. Try setting site param `ui.sidebar_menu_compact = true` in `config.toml`.
+
+## Breadcrumb navigation
+
+Breadcrumb navigation is enabled by default. To disable breadcrumb navigation, set site param `ui.breadcrumb_disable = true` in `config.toml`.
+
+## Configure search
+
+By default Docsy uses a [Google Custom Search Engine](https://cse.google.com/cse/all) to search your site. To enable this feature, you'll first need to make sure that you have built a public production version of your site, as otherwise your site won't be crawled and indexed.
+
+### Setting up site search
+
+1. Deploy your site and ensure that it's built with `HUGO_ENV="production"`, as Google will only crawl and index Docsy sites built with this setting (you probably don't want your not-ready-for-prime-time site to be searchable!). You can specify this variable as a command line flag to Hugo:
+
+ ```
+ $ env HUGO_ENV="production" hugo
+ ```
+
+ Alternatively, if you're using Netlify, you can specify it as a Netlify [deployment setting](https://www.netlify.com/docs/continuous-deployment/#build-environment-variables) in `netlify.toml` or the Netlify UI, along with the Hugo version. It may take a day or so before your site has actual search results available.
+2. Create a Google Custom Search Engine for your deployed site by clicking **New search engine** on the [Custom Search page](https://cse.google.com/cse/all) and following the instructions. Make a note of the ID for your new search engine.
+3. Add any further configuration you want to your search engine using the **Edit search engine** options. In particular you may want to do the following:
+
+ * Select **Look and feel**. Change from the default **Overlay** layout to **Results only**, as this option means your search results are embedded in your search page rather than appearing in a separate box. Click **Save** to save your changes.
+ * Edit the default result link behavior so that search results from your site don't open in a new tab. To do this, select **Search Features** - **Advanced** - **Websearch Settings**. In the **Link Target** field, type "\_parent". Click **Save** to save your changes.
+
+
+### Adding the search page
+
+Once you have your search engine set up, you can add the feature to your site:
+
+1. Ensure you have a Markdown file in `content/en/search.md` (and one per other languages if needed) to display your search results. It only needs a title and `layout: search`, as in the following example:
+
+ ```
+ ---
+ title: Search Results
+ layout: search
+ ---
+ ```
+
+1. Add your Google Custom Search Engine ID to the site params in `config.toml`. You can add different values per language if needed.
+
+ ```
+ # Google Custom Search Engine ID. Remove or comment out to disable search.
+ gcs_engine_id = "011737558837375720776:fsdu1nryfng"
+ ```
+
+### Disabling search
+
+If you don't specify a Google Custom Search Engine ID for your project, the search box won't appear in your site. If you're using the default `config.toml` from the example site and want to disable search, just comment out or remove the relevant line.
+
+### Disabling the sidebar search box
+
+By default, the search box appears in both the top navigation bar and at the top of the sidebar left navigation pane. If you don't want the sidebar search box, set `sidebar_search_disable` to `true` in `config.toml`:
+
+```
+sidebar_search_disable = true
+```
diff --git a/themes/docsy/userguide/content/en/docs/Adding content/repository-links.md b/themes/docsy/userguide/content/en/docs/Adding content/repository-links.md
new file mode 100644
index 0000000..72eb305
--- /dev/null
+++ b/themes/docsy/userguide/content/en/docs/Adding content/repository-links.md
@@ -0,0 +1,47 @@
+---
+title: "Repository Links"
+linkTitle: "Repository Links"
+weight: 8
+description: >
+ Help your users interact with your source repository.
+---
+
+The Docsy [docs and blog layouts](/docs/adding-content/content/#adding-docs-and-blog-posts) include links for readers to edit the page or create issues for your docs or project via your site's source repository. The current generated links for each docs or blog page are:
+
+* **Edit this page**: Brings the user to an editable version of the page content in their fork (if available) of your docs repo. If the user doesn't have a current fork of your docs repo, they are invited to create one before making their edit. The user can then create a pull request for your docs.
+* **Create documentation issue**: Brings the user to a new issue form in your docs repo with the name of the current page as the issue's title.
+* **Create project issue** (optional): Brings the user to a new issue form in your project repo. This can be useful if you have separate project and docs repos and your users want to file issues against the project feature being discussed rather than your docs.
+
+This page shows you how to configure these links using your `config.toml` file.
+
+Currently Docsy supports only GitHub repository links "out of the box". If you are using another repository such as Bitbucket and would like generated repository links, feel free to [add a feature request or update our theme](/docs/contribution-guidelines/).
+
+## Link configuration
+
+There are three variables you can configure in `config.toml` to set up links:
+
+### `github_repo`
+
+The URL for your site's source repository. This is used to generate the **Edit this page** and **Create documentation issue** links.
+
+```toml
+github_repo = "https://github.com/google/docsy"
+```
+
+### `github_subdir` (optional)
+
+Specify a value here if your content directory is not in your repo's root directory. For example, this site is in the `userguide` subdirectory of its repo. Setting this value means that your edit links will go to the right page.
+
+```toml
+github_subdir = "userguide"
+```
+
+### `github_project_repo` (optional)
+
+Specify a value here if you have a separate project repo and you'd like your users to be able to create issues against your project from the relevant docs. The **Create project issue** link appears only if this is set.
+
+```toml
+github_project_repo = "https://github.com/google/docsy"
+```
+
+