2014-09-21 2 views
0

Я создаю тему начальной загрузки для установки Trac. Это мой первый раз, используя Genshi поэтому наберитесь терпения :)Genshi auto load css/js необходимо исключить конкретный файл

Так я следующее:

<head py:match="head" py:attrs="select('@*')"> 
     ${select('*|comment()|text()')} 
     <link rel="stylesheet" type="text/css" href="${chrome.htdocs_location}css/bootstrap.min.css" /> 
     <link rel="stylesheet" type="text/css" href="${chrome.htdocs_location}css/style.css" /> 
</head> 

Это загружает мои пользовательские CSS, но JS/CSS необходимо, что ПРОФ использовать.

Так результат:

 <link rel="help" href="/pixelperfect/wiki/TracGuide" /> 
     <link rel="start" href="/pixelperfect/wiki" /> 
     <link rel="stylesheet" href="/pixelperfect/chrome/common/css/trac.css" type="text/css" /> 
     <link rel="stylesheet" href="/pixelperfect/chrome/common/css/wiki.css" type="text/css" /> 
     <link rel="stylesheet" type="text/css" href="/pixelperfect/chrome/common/css/bootstrap.min.css" /> 
     <link rel="stylesheet" type="text/css" href="/pixelperfect/chrome/common/css/style.css" /> 

Все хорошо, за исключением того, что я хотел бы, чтобы исключить trac.css из там полностью.

Так что мой вопрос двоякий: 1. Как genshi знает, что загрузить? Где находится manfest всех файлов css/js, которые он отображает. 2. Является ли это genshi или python?

Любая помощь и соответствующее чтение оценены! :)

Спасибо!

+0

Возможно, вы захотите посмотреть, как [CSS удален] (https://issues.apache.org/bloodhound/browser/trunk/bloodhound_theme/bhtheme/theme.py?rev=1599098#L305) в [Apache Bloodhound] (http://bloodhound.apache.org/), которая имеет тему, которая создается с использованием Bootstrap. – RjOllos

ответ

1

1: Информация о файлах CSS накапливается в словаре ссылок из свойства Chrome запроса (req.chrome ['links']), для JS-файлов это словарь «скриптов». См. add_link и add_script функции от trac.web.chrome соответственно.

Строка стиля по умолчанию добавляется непосредственно к объекту Chrome. См. Вызов add_stylesheet в методе trac.web.chrome.Chrome.prepare_request().

2: Его часть объекта Request, обрабатываемая Genshi. В любом случае подготовка выполняется на Python, но она находится в домене сценариев Trac Python, а не в сценариях Genshi Python.

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

  • Нет связанных вопросов^_^