Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2014-01-23 13:16:21

nix
Участник
Зарегистрирован: 2014-01-19
Сообщений: 31

Внедрение подсветки синтаксиса в FluxBB

Так как в том треде так и не поступило ответа, решил создать тему и перенести сюда важный вопрос касающийся оформления кода, так как на форуме без этого никуда.
Нашел такой замечательный плагин под названием Highlight.js, но в гугле ничего не нашел как его прикрутить к форуму FluxBB, там только пояснния по поводу прикручивания к блогам. В ридми тоже мало информации, там только приведен сам код и вызов функции на странице. Пробовал вынести этот код в post.php, но код подсвечивается только при предварительном просмотре, стоит его отправить, как подсветка кода улетучивается. Нужна подсказка как его этот плагин правильно прикрутить. Задача эта как я понял не травиальна, так как посещяемый мною форум на движке FluxBB имеет подсветку следующего плана.


5b655113aa.png

З.Ы. Заранее Благодарен.

Offline

#2 2014-01-23 14:46:39

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Внедрение подсветки синтаксиса в FluxBB

@nix, вот в этом моде https://fluxbb.org/resources/mods/ezbbc-toolbar/ кажется встроена подсветка кода.

Offline

#3 2014-01-23 18:06:08

nix
Участник
Зарегистрирован: 2014-01-19
Сообщений: 31

Re: Внедрение подсветки синтаксиса в FluxBB

Visman

Благодарю, я уже пробовал этот мод, он немного не то чего я хочу.
Highlight.js мало того что поддерживает много языков, так в нем еще куча стилей, таких как Sublime Text, Far etc.
Поэтому вот третий день гуглю, сам ковыряюсь, пока что безуспешно.

Редактировался nix (2014-01-23 18:08:48)

Offline

#4 2014-01-23 18:57:39

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Внедрение подсветки синтаксиса в FluxBB

@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 и в третьей идет инициализация скрипта.

Offline

#5 2014-01-23 19:10:37

nix
Участник
Зарегистрирован: 2014-01-19
Сообщений: 31

Re: Внедрение подсветки синтаксиса в FluxBB

Visman

Вот я пробовал повесить на страницу, пробовал в индексную и в post.php LOL, но ничего не получилось, подсвечивалось только во время пред просмотра.

Offline

#6 2014-01-23 20:14:53

artoodetoo
Admin by chance
Зарегистрирован: 2008-09-09
Сообщений: 887
Сайт

Re: Внедрение подсветки синтаксиса в FluxBB

nix пишет:

пробовал в индексную и в post.php

нука глянь в адресную строку. ты что там видишь?


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Offline

#7 2014-01-23 20:31:22

nix
Участник
Зарегистрирован: 2014-01-19
Сообщений: 31

Re: Внедрение подсветки синтаксиса в FluxBB

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

#8 2014-01-23 21:42:51

nix
Участник
Зарегистрирован: 2014-01-19
Сообщений: 31

Re: Внедрение подсветки синтаксиса в FluxBB

Нашел парни все таки куда вешать вызов функции и подключение файлов, повесил на viewtopic.php и вуаля.
Осталось только одну траблу решить, вообщем этот стиль накладывается на старый.
Вот пример в стиле Far подсветка кода smile

731056cc6b0f.png

Offline

#9 2014-01-23 23:03:42

nix
Участник
Зарегистрирован: 2014-01-19
Сообщений: 31

Re: Внедрение подсветки синтаксиса в FluxBB

Ну все решил своими силами я эту нетравиальную задачу, а решил вот как, может кому пригодится, чтобы стиль корректно вкладывался в форму, то есть отображение стиля было на всю textarea, нужно зайти в выбранный стиль, в моем случаем это magula.css, найти  свойство display с значением block и добавить этому свойству приоритет, добавив !important. Усё. smile
Вот результат тестового рнр кода :

75e7afb89606.png

Offline

#10 2014-01-24 13:20:28

artoodetoo
Admin by chance
Зарегистрирован: 2008-09-09
Сообщений: 887
Сайт

Re: Внедрение подсветки синтаксиса в FluxBB

nix пишет:

artoodetoo

нука глянь в адресную строку. ты что там видишь?

Вижу вот что http://....../post.php?tid=2.

странно, а я вижу http: //fluxbb.qb7.ru/forum/viewtopic.php?id=3844 big_smile
но ты и сам в конце концов дошел до 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

#11 2014-01-24 13:44:53

nix
Участник
Зарегистрирован: 2014-01-19
Сообщений: 31

Re: Внедрение подсветки синтаксиса в FluxBB

artoodetoo

Да код намного читабельнее глаз радует.  smile
Кстати еще кое что вчера докрутил. Чтобы подсветка кода была и при предварительном просмотре и при правке поста, то нужно этот же код с вызовом функции, добавить в 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>

Усё. smile

Offline

#12 2014-01-24 18:50:34

nix
Участник
Зарегистрирован: 2014-01-19
Сообщений: 31

Re: Внедрение подсветки синтаксиса в FluxBB

Рано радоваться парни, еще один нюанс нашел, я люблю ошибки. smile
В общем при добавлении кода, когда появляются полосы прокрутки, в конце кода опять не до конца вложенный стиль. Нужно в общем теперь найти файлик который отвечает за auto scroll.
Ваши предложения? big_smile

Offline

#13 2014-01-24 19:10:02

nix
Участник
Зарегистрирован: 2014-01-19
Сообщений: 31

Re: Внедрение подсветки синтаксиса в FluxBB

Или же проще чтобы не мучаться в дальнейшем, найти стиль отвечающий за цвет внутри textarea и задать ему прозрачность, то есть textarea с кодом всегда будет подстраиваться под выбранный стиль из плага.

Offline

#14 2014-01-24 19:32:11

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Внедрение подсветки синтаксиса в FluxBB

Вот блок, который отвечает в стилях под Fluxbb 1.4/1.5 за цвета блока code

.pun .codebox, #punhelp .codebox code {
    background: none repeat scroll 0 0 #333333;
    color: #FFFFFF;
}

Offline

#15 2014-01-24 20:02:56

nix
Участник
Зарегистрирован: 2014-01-19
Сообщений: 31

Re: Внедрение подсветки синтаксиса в FluxBB

Visman

Вот блок, который отвечает в стилях под Fluxbb 1.4/1.5 за цвета блока code

Что я не нашел файл с такими параметрами, пользовался в np++ поиском по файлам.

Offline

#16 2014-01-24 20:19:07

nix
Участник
Зарегистрирован: 2014-01-19
Сообщений: 31

Re: Внедрение подсветки синтаксиса в FluxBB

В общем нашел, в 1.5.6 немного код отличается.

4fa0e5222a9d.png

Суть вся оказалась в том что, я считал что цвет черпается из одного стилевого файла, но оказалось что придется для каждой выбранной темы вносить сий корректив.
И transparent не получилось задать, тот фон становится белым. Для своей подсветки я прописал в Air.css цвет моего выбранного стиля для подсветки.

.pun .codebox, #punhelp .codebox code {
	background: #F0F0F0 !important;
	color: #fff;
}

Усё, вроде как пофиксили. smile
Плохо что динамики нет, так как сменив цвет темы форума, придется опять идти и править стиль.

Offline

Подвал доски

Под управлением FluxBB. Хостинг Hostens