2015-01-19 2 views
3

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

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

ответ

5

У меня была такая же проблема, и я действительно не понимаю, почему у вас нет действительного сертификата для 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 repo.

Внести следующие изменения в этом файле:

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 от Yahoo, CDN

Скачать cssgrids-min.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 (Release Notes) и положить папку build из архива my_theme/assets/yui.

Построить Документах

При создании ваши документы, убедитесь, что вы указываете пользовательскую тему:

$ yuidoc my_js_folder --themedir my_theme 

Возможные улучшения

Поскольку это добавляет кучу файлов в проект, это может есть смысл немного погрузиться в YUIDoc и посмотреть, какие модули YUI действительно необходимы и удалить все остальное. Кроме того, объединение файлов было бы желательно (библиотека, поданная в форме CDN от Yahoo, делает это, и должно быть возможно, чтобы эта работа также работала локально).

+0

Спасибо @ aaronk6, я пробовал что-то вроде этого вчера, а 'yui.js' все еще выполнял некоторые HTTP-запросы ajax. Я сейчас попробую ваше решение :) – A1rPun

+0

Это сработало для вас? – aaronk6

+0

Да, это сработало отлично :) Спасибо за прекрасный ответ и беспокойство. – A1rPun

Смежные вопросы