Сохраните пробелы с помощью Rails, Datamapper & Coderay (О, да и Haml тоже) - PullRequest
1 голос
/ 25 июля 2011

Я пытаюсь показать выделенный синтаксис C-кода в приложении ruby. Coderay выглядел как решение де-факто, поскольку я не делаю ничего особенного со стилем.

Следующий код дает мне выделенный код в div, но без начальных пробелов. (Пробел присутствует в БД при просмотре с помощью Sequel Pro)

Код сохраняется в обычном текстовом столбце:

class Project
  include DataMapper::Resource

  property :id,     Serial
  property :name,   String,   :required => true
  property code,    Text
end

И представление отображается в хамле через:

~ CodeRay.scan(@project.code, :c).div(:css => :class).html_safe

EDIT

См. Решение ниже, это было из-за сброса шаблона html5 css

1 Ответ

1 голос
/ 25 июля 2011

Я пут, все примеры кода верны, это был шаблон html5 css, удаляющий пробелы. В частности:

pre {  padding: 15px;  white-space: pre;  white-space: pre-wrap;  white-space: pre-line;  word-wrap: break-word; }

удаление пробела: предварительная линия; исправляет это

...