Можно ли так сделать?
Есть достойный плагин на этот случай http://wordpress.org/plugins/crayon-syntax-highlighter/
Автор
still
(@abdulgalimov)
Спасибо за ответ, у меня стоит именно этот плагин, я даже нашел интересную статью в блоге автора плагина: http://aramk.com/blog/2012/05/03/using-crayon-manually-in-php/
Сделал как там сказано, поменял пути — но не сработало 🙁 кто может помочь с тем как правильно использовать этот пример? Я сам не пишу на php, поэтому такие сложные примеры мне даются с трудом 🙁
поменял пути — но не сработало
Какие пути? Вы же хотели подсветить файл, CRAYON позволяет это делать, даже с УРЛа.. В доках всё есть.
Или о другом речь?
Автор
still
(@abdulgalimov)
Наверно мы не понимаем друг друга)
У меня в блоге установлен CRAYON, и когда в записи я пишу
<pre class="lang:xx">
...
</pre>
то все работает.
Мне необходимо сделать так, что бы я мог из клиента(например JavaScript-а), обратится к какому то php скрипту, передать ему в _GET ссылку на файл с кодом, и этот скрипт мне в ответ должен вернуть HTML с подсвеченным кодом.
Автор
still
(@abdulgalimov)
Идея этого в том, что мне нужно динамически загружать и отображать файлы с кодом, так вот если загрузить файл с кодом и отобразить его с помощью JS — подсветка от CRAYON не работает. Может есть другие способы решения проблемы?
По-моему, использовать плагин Crayon для решения поставленной задачи не совсем оптимальное решение, попробуйте использовать какой-нибудь js-highlighter, их тоже немало..
Размышления выше основаны на соображении, что реальной загрузки файлов на сервер не осуществляется.
Автор
still
(@abdulgalimov)
А загрузка на сервер и так не происходит, файлы с кодом уже лежат на этом же сервере. Клиент передает php скрипту относительную ссылку на файл. Скрипт лежит в каталоге /wp-content/plugins/… а файлы с кодом в /content/classes/…
Автор
still
(@abdulgalimov)
да и к тому же очень не хочется что бы подсветка в разных местах была разная, у меня уже по всех записях используется подсветка от Crayon
А загрузка на сервер и так не происходит, файлы с кодом уже лежат на этом же сервере.
К слову, Crayon позволяет и локальные файлы парсить. )
Ну да ладно, не в этом суть.
А можете более наглядно показать, что хочется? Например, скрин или что-нибудь еще.. И как понимать — «передать в запросе ссылку на файл»? Реализовано через меню?
Как выводится раскраска? На той-же странице, или всплывающее окошко? Или как-то иначе?
Автор
still
(@abdulgalimov)
Здесь http://flashpress.ru/blog/libs/tween/dev/?class=FPTState&detail=position#asdoc если кликнуть на кнопки
— Анимация цвета
— Анимация фильтра
(http://screencast.com/t/SOwCH30o7Gor)
загружаются и отображаются соответствующие файлы с кодом. Как сделать так, что бы этот(загружаемый по клику) код был подсвеченным Crayon?
Судя по статусу топика (отсутствует метка «решенная»), попробую еще сделать подсказку 🙂
Обновлю свое видение вашей фразы
да и к тому же очень не хочется что бы подсветка в разных местах была разная, у меня уже по всех записях используется подсветка от Crayon
Берете любой js-highlighter, например, этот http://highlightjs.org/static/test.html
в нём выбираете тот-же шаблон подсветки, что и у Crayon, и дело решено двумя строчками кода. )
—
Кстати, насколько я помню, вышеуказанный скрипт хостится на Яндексе (u can save bandwidth 🙂
Автор
still
(@abdulgalimov)
Спасибо за подсказки 🙂 я кажется начал понимать что нужно сделать)
Загрузил библиотеку highlightjs, и преобразовал код:
var codeHtml = hljs.highlight('actionscript', codeText).value;
console.log(codeHtml);
codeElement.innerHTML = codeHtml;
В консоль код пишется преобразованный в html, а вот на странице отображается не форматированный текст, почему так?
Я не скриптолог, подсказать здесь не смогу, но может из-за фрейма?
Да и div
это, как ни крути, не тег pre
.. )
Автор
still
(@abdulgalimov)
И еще раз спасибо за наводку) решил проблему.
Осталась последняя проблема — сделать так, что бы подсветка визуально была похожа на подсветку от Crayon