Как запустить Google Prettify для генерации статического HTML (с CSS) вывода? - PullRequest
3 голосов
/ 18 октября 2010

Я работаю над тем, чтобы сделать некоторые автоматически сгенерированные электронные письма, в которых часто есть фрагменты кода.Я хочу использовать проект Google prettify для синтаксического выделения фрагментов кода.

Как я могу вызвать prettify на сервере перед отправкой электронного письма, чтобы пользователи все равно могли видетьвыделенный синтаксис, когда JavaScript отключен в их средствах просмотра почты (Outlook).Я думаю, мне нужен какой-то эмулятор браузера, поскольку prettify манипулирует DOM браузера.

1 Ответ

2 голосов
/ 24 мая 2011

Запуск простого JavaScript на сервере возможен с использованием Rhino или интерпретатора Google v8, но это будет означать, что вам придется сканировать электронные письма, находить все блоки кода, писать специальный вызов для предварительного преобразования, чтобы он возвращал отформатированныйкод вместо его замены в DOM ... не слишком практично, плюс вам понадобится доступ к серверу в оболочке для запуска v8.Если вы заинтересованы в этом, посмотрите здесь: Запуск автономного Javascript Engine V8

Теперь другим способом было бы использовать один из многих серверных маркеров, таких как Hyperlight (http://code.google.com/p/hyperlight/) или Pygments (http://pygments.org/)

) Наконец, вам нужно будет включить в электронные письма все CSS из тем, используемых любым из вышеперечисленных методов, что не так уж сложно,но увеличивает размер электронного письма, даже если все, что нужно выделить, было, например, именем переменной.

...