Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Так как в том треде так и не поступило ответа, решил создать тему и перенести сюда важный вопрос касающийся оформления кода, так как на форуме без этого никуда.
Нашел такой замечательный плагин под названием Highlight.js, но в гугле ничего не нашел как его прикрутить к форуму FluxBB, там только пояснния по поводу прикручивания к блогам. В ридми тоже мало информации, там только приведен сам код и вызов функции на странице. Пробовал вынести этот код в post.php, но код подсвечивается только при предварительном просмотре, стоит его отправить, как подсветка кода улетучивается. Нужна подсказка как его этот плагин правильно прикрутить. Задача эта как я понял не травиальна, так как посещяемый мною форум на движке FluxBB имеет подсветку следующего плана.
З.Ы. Заранее Благодарен.
Offline
@nix, вот в этом моде https://fluxbb.org/resources/mods/ezbbc-toolbar/ кажется встроена подсветка кода.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Visman
Благодарю, я уже пробовал этот мод, он немного не то чего я хочу.
Highlight.js мало того что поддерживает много языков, так в нем еще куча стилей, таких как Sublime Text, Far etc.
Поэтому вот третий день гуглю, сам ковыряюсь, пока что безуспешно.
Редактировался nix (2014-01-23 18:08:48)
Offline
@nix, судя по описанию достаточно поместить три строки на страницу темы
<link rel="stylesheet" type="text/css" href="styles/default.css">
<script type="text/javascript" src="highlight.pack.js"></script>
<script type="text/javascript">hljs.initHighlightingOnLoad();</script>
В первой указывается путь до стиля, во-второй путь до самого Highlight.js и в третьей идет инициализация скрипта.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Visman
Вот я пробовал повесить на страницу, пробовал в индексную и в post.php LOL, но ничего не получилось, подсвечивалось только во время пред просмотра.
Offline
пробовал в индексную и в post.php
нука глянь в адресную строку. ты что там видишь?
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Offline
artoodetoo
нука глянь в адресную строку. ты что там видишь?
Вижу вот что http://....../post.php?tid=2.
И еще подсвечивается, только во время пред просмотра и то иногда некорректно.
Вот этот код с вызовом я вставляю в файл который находится в корне сайта в post.php:
<link rel="stylesheet" type="text/css" href="styles/default.css">
<script type="text/javascript" src="highlight.pack.js"></script>
<script type="text/javascript">hljs.initHighlightingOnLoad();</script>
Offline
Нашел парни все таки куда вешать вызов функции и подключение файлов, повесил на viewtopic.php и вуаля.
Осталось только одну траблу решить, вообщем этот стиль накладывается на старый.
Вот пример в стиле Far подсветка кода
Offline
Ну все решил своими силами я эту нетравиальную задачу, а решил вот как, может кому пригодится, чтобы стиль корректно вкладывался в форму, то есть отображение стиля было на всю textarea, нужно зайти в выбранный стиль, в моем случаем это magula.css, найти свойство display с значением block и добавить этому свойству приоритет, добавив !important. Усё.
Вот результат тестового рнр кода :
Offline
artoodetoo
нука глянь в адресную строку. ты что там видишь?
Вижу вот что http://....../post.php?tid=2.
странно, а я вижу http: //fluxbb.qb7.ru/forum/viewtopic.php?id=3844
но ты и сам в конце концов дошел до viewtopic. аминь!
p.s. добавил сюда по твоему рецепту, включая !important
крастота!
фрагмент здешнего header.php :
<?php
}
// JavaScript tricks for IE6 and older
echo '<!--[if lte IE 6]><script type="text/javascript" src="js/minmax.js"></script><![endif]-->'."\n";
if (basename($_SERVER['PHP_SELF'], '.php') == 'viewtopic') {
?>
<link rel="stylesheet" href="style/highlight/github.css">
<script src="js/highlight.pack.js"></script>
<script type="text/javascript">hljs.initHighlightingOnLoad();</script>
<?php
}
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Offline
artoodetoo
Да код намного читабельнее глаз радует.
Кстати еще кое что вчера докрутил. Чтобы подсветка кода была и при предварительном просмотре и при правке поста, то нужно этот же код с вызовом функции, добавить в edit.php and post.php :
<link rel="stylesheet" type="text/css" href="styles/default.css">
<script type="text/javascript" src="highlight.pack.js"></script>
<script type="text/javascript">hljs.initHighlightingOnLoad();</script>
Усё.
Offline
Рано радоваться парни, еще один нюанс нашел, я люблю ошибки.
В общем при добавлении кода, когда появляются полосы прокрутки, в конце кода опять не до конца вложенный стиль. Нужно в общем теперь найти файлик который отвечает за auto scroll.
Ваши предложения?
Offline
Или же проще чтобы не мучаться в дальнейшем, найти стиль отвечающий за цвет внутри textarea и задать ему прозрачность, то есть textarea с кодом всегда будет подстраиваться под выбранный стиль из плага.
Offline
Вот блок, который отвечает в стилях под Fluxbb 1.4/1.5 за цвета блока code
.pun .codebox, #punhelp .codebox code {
background: none repeat scroll 0 0 #333333;
color: #FFFFFF;
}
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Visman
Вот блок, который отвечает в стилях под Fluxbb 1.4/1.5 за цвета блока code
Что я не нашел файл с такими параметрами, пользовался в np++ поиском по файлам.
Offline
В общем нашел, в 1.5.6 немного код отличается.
Суть вся оказалась в том что, я считал что цвет черпается из одного стилевого файла, но оказалось что придется для каждой выбранной темы вносить сий корректив.
И transparent не получилось задать, тот фон становится белым. Для своей подсветки я прописал в Air.css цвет моего выбранного стиля для подсветки.
.pun .codebox, #punhelp .codebox code {
background: #F0F0F0 !important;
color: #fff;
}
Усё, вроде как пофиксили.
Плохо что динамики нет, так как сменив цвет темы форума, придется опять идти и править стиль.
Offline
Страницы 1