Jekyll перезаписывает папку вывода и CSS, сгенерированный Compass - PullRequest
1 голос
/ 02 июня 2011

Я пытаюсь использовать Джекилла вместе с Компасом. В одной командной строке я запускаю jekyll --auto, а в другой compass watch. Файлы SASS расположены в /stylesheets и скомпилированы в /_site/stylesheets. Jekyll настроен на игнорирование /stylesheets.

Компиляция таблиц стилей вначале работает нормально, но каждый раз, когда я изменяю что-то, что заставляет Джекилла регенерировать сайт, он перезаписывает всю папку /_site и /_site/stylesheets исчезает. Компас не восстанавливает его, так как исходные файлы SASS не изменились.

Есть ли другой способ использовать Jekyll вместе с Compass? Могу ли я настроить Jekyll не перезаписывать всю выходную папку, а только файлы, которые изменились?

Ответы [ 2 ]

1 голос
/ 14 июня 2011

Проблема в том, что Jekyll при запуске удаляет все содержимое каталога _site.Для этого я использовал rake для развертывания, а затем в моем rakefile было следующее:

task :generate => :clear do
    sh 'jekyll'
    sh 'compass compile'
end

Затем я просто запустил:

$ rake generate

, который заполняет каталог jekyll, а затем помещает файлы компаса поверх.

Более подходящее решение может заключаться в том, чтобы ваш процесс компас-часы (предполагая, что это то, что вы запускаете) компилирует компас в projectdir / css.Когда вы затем запустите jekyll, он просто перетянет этот каталог css прямо в _site / css, и все готово, проблем нет (см. Ниже структуру dir).

projectdir/
    css/
    stylesheets/

Если вы поместите что-нибудь в _site / cssи затем запустите jekyll после того, как он будет удален, поэтому вам нужно либо запустить compass after, либо поместить файлы компаса в папку css в корневом каталоге, а затем jekyll просто скопирует файлы правильно.

1 голос
/ 12 июня 2011

Я использую Jekyll & Compass для моей страницы github. здесь: https://github.com/ardianzzz/ardianzzz.github.com

Простой, Я просто положил сгенерированную папку css в корневую папку. Jekyll создаст файл в папке _site.

Как вы можете видеть в моем хранилище.

Просто вызовите CSS с помощью следующего кода

<link href = "/css/screen.css" ...

плохой английский, извините. :)

...