Пример подсветки кода языка PureBasic.
Для подсветки синтаксиса языка используем библиотеку SyntaxHighlighter 3.0.83
Подключение:
Скачиваем архив, разархивируем его и помещаем у себя на сайте в любую папку файлы
shCore.j
shBrushPB.js
shCoreDefault.css
На странице, где будет код, между тегами <head> и </head>
прописываем пути к файлам скрипта и таблице стилей, у меня это выглядит так:
(папка syntaxhighlighter)
<script type="text/javascript" src="/syntaxhighlighter/shCore.js"></script>
<script type="text/javascript" src="/syntaxhighlighter/shBrushPB.js"></script>
<link type="text/css" rel="stylesheet" href="/syntaxhighlighter/shCoreDefault.css">
Непосредственно сам код помещаем между тегами
<DIV style="border: 1px solid #CCCCCC; width: 600px; padding: 10px;">
<PRE class="brush: PB; gutter: true; highlight: [3,0] collapse: false;">
строка кода
строка кода
строка кода
строка кода
</PRE></DIV>
gutter: true или false - показать или скрыть нумерацию строк
true; highlight: [1,0,3] - выделяем первую и третью строку
collapse: false или true - показать или свернуть код при обновлении страницы
brush: PB - выбор языка PB ( для других языков нужны другие файлы
shBrushXX.js )
Подсветка языка ( файл shBrushPB.js) полностью мной переписана, так как в стандартную библиотеку PB не включен.
Результат:
UsePNGImageDecoder() UseJPEGImageDecoder() Enumeration #Window_0 #Hyp #But_1 #But_2 EndEnumeration Procedure ProsWB() EndProcedure ;CatchImage(1, ?Im1, ?Im1End -?Im1 ) OpenWindow (#Window_0, 0, 0, 380, 200, "Заглавие", #PB_Window_MinimizeGadget |#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered|#PB_Window_SizeGadget) ;SetWindowColor(#Window_0,RGB(255, 255, 255)) HyperLinkGadget(#Hyp, 45, 10, 80, 20, "ссылка",RGB(52, 25, 226)) ButtonGadget(#But_1,10, 30, 110, 25, "кнопка") ;ButtonImageGadget(#But_2,10, 60, 110, 25,ImageID(1)) Repeat Event = WaitWindowEvent() Window = EventWindow() Gadget = EventGadget() Select Event Case #PB_Event_Gadget Select EventGadget() Case 1 Case 2 Case 3 EndSelect EndSelect If Event = #PB_Event_CloseWindow Break ;CloseWindow(Window) ; если много окон EndIf ForEver ;Until Event=#PB_Event_CloseWindow And Window=#Window_0 ; если много окон DataSection Im1: ;IncludeBinary "изображение.png" Im1End: EndDataSection