Не удается добавить пользовательские файлы шаблонов в темах gitbook
Я пытаюсь создать собственную тему gitbook, и я также хочу изменить макет так, чтобы книга, которую я создаю с использованием темы, имела нужный мне макет. Я скопировал каталог шаблонов по умолчанию в свой каталог пользовательских тем, а затем изменил файлы layout.html и header.html так, как мне хотелось. Затем, чтобы включить измененные файлы шаблонов, я добавил следующий атрибут в файл index.js
module.exports = {
book: {
assets: "./assests",
templates: {
"layout":"templates/layout.html",
"header":"templates/includes/book/header.html",
},
......
......
Однако с этой конфигурацией сгенерированная книга не выбирает изменения файла шаблона. Однако я вижу изменения css/js, которые я сделал.
2 ответа
Шаблоны "макет" и "заголовок" не существуют. Вы можете изменить только:
- сайт: шаблон для сайта
- глоссарий: шаблон для глоссария
- langs: шаблон для выбора языков
- страница: шаблон для книги
Менять шаблоны на самом деле не рекомендуется, вы должны использовать плагины только для расширения html,css,js, используя: https://github.com/GitbookIO/plugin/blob/master/index.js#L2
Для записи файлы макета и шаблонов заголовков существуют, если вы идете по "неосведомленному" (подчеркивая неосознанный характер) маршруту:
- Добавьте "theme": "./customtheme" в свой файл book.json.
- Создайте в корне папку customtheme с файлами из репозитория Gitbook
- Редактировать оттуда
Пока это единственный способ, которым я нашел, отредактировать ваши значки избранного, боковую панель, заголовок и файлы макета. Это не рекомендуется, потому что вы больше не используете файлы в репозитории, поэтому обновления могут сломать его, но некоторые вещи либо не легко, либо невозможно внести изменения, не делая что-то грязное и хакерское, как это. Надеемся, что такие простые вещи, как обновление иконки, заголовка или боковой панели, могут быть упрощены в будущем. Я нашел это решение только после многих, многих поисков в Google и сравнений плагинов, так что, возможно, у кого-то есть лучшее решение, которого я еще не нашел.