Как я могу построить YUIDoc с автономными ресурсами?
Когда вы строите и запускаете YUIDoc, он получает часть своих ресурсов из http://yui.yahooapis.com/...
. Эти ресурсы включают таблицу стилей и yui.min.js
.
Как загрузить и использовать эти ресурсы в автономном режиме?
Причина этого заключается в том, что мы запускаем наши документы на HTTPS-сервере. YUIDoc обслуживает свои файлы всегда по протоколу HTTP.
1 ответ:
У меня была та же проблема, и я действительно не понимаю, почему у меня нет действительного сертификата для
yui.yahooapis.com
. Вот что работает для меня (с YUIDoc 0.5.0):Создайте пользовательскую тему
Прежде всего, вам нужно создать новую тему, которая переопределяет некоторые части темы по умолчанию.
Создайте следующую структуру папок:
my_theme ├── assets │ ├── css │ └── yui └── layouts
Изменить основную компоновку
Чтобы избежать загрузки удаленных CSS и скриптов, вам нужно изменить основной расположение.
Скопируйте файл с именем
main.handlebars
из исходной темы в папкуmy_theme/layouts/
. Если вы установили YUIDoc через узел, исходный файл находится вnode_modules/yuidocjs/themes/default/layouts/
. Кроме того, вы можете захватить его из РЕПО yuidoc GitHub.Внесите следующие изменения в этот файл:
1.) Замените тег
link
, ссылающийся на удаленную таблицу стилей:
<link rel="stylesheet" href="{{yuiGridsUrl}}">
<link rel="stylesheet" href="{{projectAssets}}/css/cssgrids-min.css">
2.) Замените тег
script
, ссылающийся на удаленный YUI библиотека:
<script src="{{yuiSeedUrl}}"></script>
<script src="{{projectAssets}}/yui/build/yui-base/yui-base-min.js"></script>
Добавьте локальную копию удаленных ресурсов
1.) Извлеките CSS из CDN Yahoo
Скачать cssgrids-мин.css из Yahoo CDN и поместите его в свою папку
my_theme/assets/css
.2.) Скачать библиотеку YUI 3.9.1
Скачать YUI 3.9.1 из http://yui.zenfs.com/releases/yui3/yui_3.9.1.zip (примечания к выпуску ) и поместите папку
build
из архив вmy_theme/assets/yui
.Создайте свои документы
При создании документов убедитесь, что вы указали свою пользовательскую тему:
$ yuidoc my_js_folder --themedir my_theme
Возможные улучшения
Поскольку это добавляет кучу файлов в ваш проект, возможно, имеет смысл немного глубже погрузиться в YUIDoc и посмотреть, какие модули YUI действительно требуются, а все остальное удалить. Кроме того, объединение файлов было бы желательно (библиотека, служащая формой CDN Yahoo, делает это, и это должно быть возможно получить работает и на местном уровне).