Как я могу построить YUIDoc с автономными ресурсами?


Когда вы строите и запускаете YUIDoc, он получает часть своих ресурсов из http://yui.yahooapis.com/.... Эти ресурсы включают таблицу стилей и yui.min.js.
Как загрузить и использовать эти ресурсы в автономном режиме?

Причина этого заключается в том, что мы запускаем наши документы на HTTPS-сервере. YUIDoc обслуживает свои файлы всегда по протоколу HTTP.

1 3
yui

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, делает это, и это должно быть возможно получить работает и на местном уровне).