Doctave 2.0 Migration Guide
We're tried to make it as easy as possible to migrate your documentation to the new version. This guide will walk you through the process of migrating your documentation over to Doctave 2.0.
Updating your doctave.yaml
The first step is to update your project to use Doctave 2.0 in your doctave.yaml:
Update the version field to 2
title: Acme Docs
version: 2 # <= Add this line
# ...rest of your configNote: This will cause your project to have errors. Not to worry! We will walk through how to fix the issues step by step.
This will cause a number of issues to show up in Doctave Studio. Let's walk through the changes you have to make.
Update your theme
The color, logo, and favicon fields are moved under a new theme field in 2.0.
Let's update this:
- Create a new
themefield - Move the
color,logo, andfaviconfields under it - Update your
maincolor toaccentin thecolorobject
colors:
main: "#FA5B30"
main_dark: "#FA5B30"
favicon:
src: _assets/favicon.ico
logo:
src: _assets/logo.svg
src_dark: _assets/logo-dark.svgDoctave now computes a color palette for both light and dark mode from your main brand color.
Migrate your structure.yaml to doctave.yaml
The structure.yaml is deprecated in 2.0 and your tab configuration is moved into your doctave.yaml under a tabs field.
The structure of the tabs field is also slightly changed: you no longer have to mention subtabs unless you visually want to have a subtab in your docs.
tabs:
- label: Guides
subtabs:
- label: Guides
path: /
- label: API Reference
subtabs:
- label: References
path: /reference/
- label: Libraries & SDKs
subtabs:
- label: Overview
path: /sdks/
- label: Python
path: /sdks/python/
icon:
set: devicon
name: python
- label: Ruby
path: /sdks/suby/
icon:
set: devicon
name: rubyUpdating your content
Next is your actual content. The amount of effort needed to migrate depends on how much you use Liquid components, as they will have to be migrated to the new component syntax.
Liquid changes
The Liquid template syntax is no longer supported in Doctave 2.0. You will have to migrate your Liquid partials to Doctave's new component syntax.
Opt-in to backwards compatibility mode
To make your migration easier, you can opt-in to the legacy liquid engine on a per-page basis by adding the following attributes to your Markdown file's frontmatter:
---
experimental:
v2_templates: false
---
...Markdown changes
If you are only using standard Markdown in your pages, there is very little you need to do any more!
The only change that can impact you is Doctave no longer supports indented code blocks. We chose to disable this Markdown feature in order to support nicer indentation in the new component syntax.
This is easy to update:
## Code example
if (powerlevel > 9000) {
throw "I can't be that high"
}