# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0

[book]
authors = ["lowRISC"]
language = "en"
multilingual = false
src = "."
title = "OpenTitan Documentation"

[output.html]
site-url = "book/"
fold = { enable = true}
git-repository-url = "https://github.com/lowrisc/opentitan"
edit-url-template = "https://github.com/lowrisc/opentitan/edit/master/{path}"
curly-quotes = true
