Страница 1 из 2

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 04 янв 2015, 16:02
CabinetAdmin
Расширение собственного производства, позволяющее подсвечивать программный код в стандартном bbcode [cоde].

Расширение не имеет никаких настроек, так сказать - включил и пользуйся.

Для подсветки был взят давно известный скрипт от google prettify.js и принцип раскрытия блока кода от Nekstati (phpbbguru).

Версия для phpBB 3.2 и 3.3
Скачать:
highlightjs-0.0.2.zip
20.61 КБ 89 скачиваний

Версия для phpBB 3.1
Скачать:
highlightjs.zip
20.57 КБ 401 скачивание
Никаких путей изменять не надо, просто распаковать в ext/. Путь должен быть таким ext/xaocz/highlightjs. Потом в управлении расширениями найти и включить HighlightJs.

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 24 мар 2015, 09:03
eska
Не совсем понятно, что именно он подсвечивает? :milo:

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 24 мар 2015, 11:14
silver073000
Синтаксис кода подсвечивает :) Если тут этот код цветной

Код: Выделить всё

			<div id="site-description">
				<a id="logo" class="logo" href="<!-- IF U_SITE_HOME -->{U_SITE_HOME}<!-- ELSE -->{U_INDEX}<!-- ENDIF -->" title="<!-- IF U_SITE_HOME -->{L_SITE_HOME}<!-- ELSE -->{L_INDEX}<!-- ENDIF -->">{SITE_LOGO_IMG}</a>
				<h1>{SITENAME}</h1>
				<p>{SITE_DESCRIPTION}</p>
				<p class="skiplink"><a href="#start_here">{L_SKIP}</a></p>
			</div>
то без подсветки весь этот код будет просто зелёненький :) С подсветкой проще искать начало и конец элемента :)

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 24 мар 2015, 11:15
eska
silver073000, спасибо, это расширение больше подходит для форумов тех поддержки.

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 09 июл 2015, 15:59
staiki
Странно. Расширение и в rar. В zip можно? Хотел перезалить в зип увы неполучается.

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 09 июл 2015, 16:26
CabinetAdmin
Выложил в zip, в первом сообщении.

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 09 июл 2015, 16:46
staiki
Установил. Но как проверить работает или нет? Какие вв-коды он подсвечивает?

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 09 июл 2015, 17:00
CabinetAdmin
Стандартный ббкод [cоde].

Здесь на форуме это же расширение стоит, вот например:

Код: Выделить всё

	<!-- EVENT overall_header_page_body_before -->

	<a id="start_here" class="anchor"></a>
	<div id="page-body" role="main">
		<!-- IF S_BOARD_DISABLED and S_USER_LOGGED_IN and (U_MCP or U_ACP) -->
		<div id="information" class="rules">
			<div class="inner">
				<strong>{L_INFORMATION}{L_COLON}</strong> {L_BOARD_DISABLED}
			</div>
		</div>
		<!-- ENDIF -->

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 14 янв 2016, 23:38
PowerStyle
Не подскажите в чем может быть причина, на локалке - работает, переношу на хостер - не работает(

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 15 янв 2016, 15:43
CabinetAdmin
Я не знаю... :unknown На локалке и на хостере один и тот же стиль? На форуме установлено seo?

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 15 янв 2016, 16:52
PowerStyle
CabinetAdmin, Один и тот же стиль, SEO - расширение не ставил. Как я понял не работает сам скрипт не создает.

Должно создать:

Код: Выделить всё

<body> id="phpbb" class="notouch section-viewtopic ltr hasjs">

Код: Выделить всё

<code class="prettyprint linenums">
<ol class="linenums">
 <li class="L0"></li>
 <li class="L1"></li>
 <li class="L2"></li>
 ....
</ol>
</code>
Создает:

Код: Выделить всё

<body> id="phpbb" class="nojs notouch section-viewtopic ltr ">

Код: Выделить всё

<code class="prettyprint linenums">
"<div id="content">..........."
..............
"..........</div>"
</code>

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 15 янв 2016, 18:38
CabinetAdmin
PowerStyle писал(а): Должно создать:

Код: Выделить всё

<body> id="phpbb" class="notouch section-viewtopic ltr hasjs">
В данном коде есть ошибка, лишняя >. Плюс, скрипт не добавляет в боди новый класс, он работает исключительно с тегом <code> и, если он найден на странице, добавляет к нему пару классов prettyprint linenums. Скрипт может не отработать если ббкод

Код: Выделить всё

 имеет другую структуру, отличную от стандартного. В остальных случаях должен работать.
 
[quote="PowerStyle"][post]70697[/post] Создает[/quote]
Тут я немного не понял, во первых тут тоже есть ошибка. Может быть у вас эта ошибка в самом шаблоне?... И мне не понятен сам код, у вас тело сообщения добавляется в [icode]<code class="prettyprint linenums">[/icode]?

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 15 янв 2016, 22:55
PowerStyle
CabinetAdmin, вы меня не правильно поняли, я показал выдачу DOM в браузере через F12.

Если говорить о структуре в файлах шаблона overall_header.html

Код: Выделить всё

<body id="phpbb" class="nojs notouch section-{SCRIPT_NAME} {S_CONTENT_DIRECTION} {BODY_CLASS}">
viewtopic_body.html

Код: Выделить всё

		<div class="content">
			<h2 class="poll-title"><!-- EVENT viewtopic_body_poll_question_prepend -->{POLL_QUESTION}<!-- EVENT viewtopic_body_poll_question_append --></h2>
			<p class="author">{L_POLL_LENGTH}<!-- IF S_CAN_VOTE and L_POLL_LENGTH --><br /><!-- ENDIF --><!-- IF S_CAN_VOTE --><span class="poll_max_votes">{L_MAX_VOTES}</span><!-- ENDIF --></p>

			<fieldset class="polls">
			<!-- BEGIN poll_option -->
				<!-- EVENT viewtopic_body_poll_option_before -->
				<dl class="<!-- IF poll_option.POLL_OPTION_VOTED -->voted<!-- ENDIF --><!-- IF poll_option.POLL_OPTION_MOST_VOTES --> most-votes<!-- ENDIF -->"<!-- IF poll_option.POLL_OPTION_VOTED --> title="{L_POLL_VOTED_OPTION}"<!-- ENDIF --> data-poll-option-id="{poll_option.POLL_OPTION_ID}">
					<dt><!-- IF S_CAN_VOTE --><label for="vote_{poll_option.POLL_OPTION_ID}">{poll_option.POLL_OPTION_CAPTION}</label><!-- ELSE -->{poll_option.POLL_OPTION_CAPTION}<!-- ENDIF --></dt>
					<!-- IF S_CAN_VOTE --><dd style="width: auto;" class="poll_option_select"><!-- IF S_IS_MULTI_CHOICE --><input type="checkbox" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ELSE --><input type="radio" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ENDIF --></dd><!-- ENDIF -->
					<dd class="resultbar<!-- IF not S_DISPLAY_RESULTS --> hidden<!-- ENDIF -->"><div class="<!-- IF poll_option.POLL_OPTION_PCT < 20 -->pollbar1<!-- ELSEIF poll_option.POLL_OPTION_PCT < 40 -->pollbar2<!-- ELSEIF poll_option.POLL_OPTION_PCT < 60 -->pollbar3<!-- ELSEIF poll_option.POLL_OPTION_PCT < 80 -->pollbar4<!-- ELSE -->pollbar5<!-- ENDIF -->" style="width:{poll_option.POLL_OPTION_PERCENT_REL};">{poll_option.POLL_OPTION_RESULT}</div></dd>
					<dd class="poll_option_percent<!-- IF not S_DISPLAY_RESULTS --> hidden<!-- ENDIF -->"><!-- IF poll_option.POLL_OPTION_RESULT == 0 -->{L_NO_VOTES}<!-- ELSE -->{poll_option.POLL_OPTION_PERCENT}<!-- ENDIF --></dd>
				</dl>
				<!-- EVENT viewtopic_body_poll_option_after -->
			<!-- END poll_option -->

				<dl class="poll_total_votes<!-- IF not S_DISPLAY_RESULTS --> hidden<!-- ENDIF -->">
					<dt>&nbsp;</dt>
					<dd class="resultbar">{L_TOTAL_VOTES}{L_COLON} <span class="poll_total_vote_cnt">{TOTAL_VOTES}</span></dd>
				</dl>

			<!-- IF S_CAN_VOTE -->
				<dl style="border-top: none;" class="poll_vote">
					<dt>&nbsp;</dt>
					<dd class="resultbar"><input type="submit" name="update" value="{L_SUBMIT_VOTE}" class="button1" /></dd>
				</dl>
			<!-- ENDIF -->

			<!-- IF not S_DISPLAY_RESULTS -->
				<dl style="border-top: none;" class="poll_view_results">
					<dt>&nbsp;</dt>
					<dd class="resultbar"><a href="{U_VIEW_RESULTS}">{L_VIEW_RESULTS}</a></dd>
				</dl>
			<!-- ENDIF -->
			</fieldset>
			<div class="vote-submitted hidden">{L_VOTE_SUBMITTED}</div>
		</div>

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 16 янв 2016, 08:50
CabinetAdmin
Ладно, хорошо. На хостинге помимо вашего стиля есть ещё другие? Тот же просильвер, в нём та же проблема? С других браузеров?
У вас в боди стоит класс nojs, при загрузке страницы он меняется на hasjs (это работа скрипта forum_fn.js), если ему ничто не мешает... Мешать могут другие, неправильно написанные, скрипты или ошибки в коде... Тут можно только гадать :scratch:

Можно ссылку на форум, можно в теге [ghide=5]текст только для администратора[/ghide]?

HighlightJs - Подсветка кода в BBCode - [code]

Добавлено: 18 янв 2016, 19:40
PowerStyle
CabinetAdmin, извиняюсь за долгий ответ.

В любом шаблоне проблема и в prosilver тоже. На локалке работает. В шаблонах ничего не менял, в других браузерах тоже самое.

На тестовом сервере, шаблон prosilver, на локалке работает.
Вы не состоите в группах, которым доступен этот текст.
Сейчас использую мод http://www.phpbb-work.ru/topic129.html работаете.