Для автоматической загрузки Genshi css/js необходимо исключить определенный файл

Я делаю загрузочную тему для установки Trac. Я впервые использую Genshi, поэтому, пожалуйста, наберитесь терпения :)

Итак, я следую:

<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, который должен использовать trac.

Итак, результат такой:

      <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 знает, что загружать? Где находится список всех файлов css/js, которые он отображает. 2. Генши или питон делают это?

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

Спасибо!


person Community    schedule 21.09.2014    source источник
comment
Вы можете посмотреть, как CSS удален в Apache Bloodhound, тема которого создана с использованием Bootstrap.   -  person RjOllos    schedule 20.10.2014


Ответы (1)


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

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

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

person hasienda    schedule 25.09.2014