Wszystkie wtyczki na dzisiaj nie mają kolorowania dla Hollywood. Znalazłem nawet taką co obsługuje 259 formatowań i też nie ma. Rozwiązaniem jest znalezienie dobrej, która umożliwia kolorowanie ręczne i formułowanie własnych definicji.
I taki jest Code Snippets. Ma milion instalacji więc nie zniknie sobie.
Tworzenie szablonu kolorującego kod
Po instalacji w panelu WordPressa pojawi sie w menu po lewej nowa pozycja z ikonką nożyczek i opisana „Fragmenty kodu”. Są w niej podpunkty, nie rozpisując się można dodawać nowe definicje i zarządzać nimi. W darmowej wersji obsługiwane są PHP i HTML, płatne Pro dodaje CSS i JS. Darmowa wersja nam wystarczy.

Kod w PHP będzie wyglądał tak:
function custom_hollywood_block() { // Funkcja dodająca kolorowanie składni dla języka Hollywood w blokach kodu WordPress ?> <script type="text/javascript"> document.addEventListener("DOMContentLoaded", function() { // Poczekaj na załadowanie strony, aby przetworzyć bloki kodu const codeBlocks = document.querySelectorAll("pre code.language-hollywood"); codeBlocks.forEach(function(block) { let code = block.innerHTML.trim(); // Pobierz kod i usuń białe znaki na końcach const lines = code.split("\n"); // Podziel na linie const formattedLines = lines.map(function(line) { const leadingWhitespace = line.match(/^\s*/)[0]; // Zachowaj wcięcia let trimmedLine = line.trim(); // Usuń białe znaki z początku i końca linii if (!trimmedLine) return line; // Jeśli linia pusta, zwróć bez zmian // Kolorowanie komentarzy zaczynających się od ';' if (trimmedLine.startsWith(";")) { return `${leadingWhitespace}<span class="custom-comment">${trimmedLine}</span>`; } // Kolorowanie stringów w cudzysłowach trimmedLine = trimmedLine.replace(/"([^"]*)"/g, '<span class="custom-string">"$1"</span>'); // Kolorowanie słów kluczowych języka Hollywood trimmedLine = trimmedLine.replace( /\b(Local|Function|EndFunction|If|ElseIf|EndIf|Repeat|WaitEvent|Forever|InstallEventHandler)\b/g, '<span class="custom-keyword">$1</span>' ); // Kolorowanie wbudowanych funkcji Hollywood trimmedLine = trimmedLine.replace( /\b(MouseX|MouseY|IsLeftMouse|IsRightMouse|Line)\b/g, '<span class="custom-function">$1</span>' ); // Kolorowanie liczb trimmedLine = trimmedLine.replace( /\b(\d+)\b/g, '<span class="custom-number">$1</span>' ); // Kolorowanie parametrów zaczynających się od '#' (np. #BLACK, #WHITE) trimmedLine = trimmedLine.replace( /(#\w+)/g, // Poprawione wyrażenie regularne dla #nazwa '<span class="custom-parameter">$1</span>' ); return `${leadingWhitespace}${trimmedLine}`; }); block.innerHTML = formattedLines.join("\n"); // Połącz linie z powrotem }); }); </script> <style> /* Styl dla bloków kodu Hollywood */ pre code.language-hollywood { display: block; padding: 1em; /* Wewnętrzny odstęp */ background: #f5f5f5; /* Jasnoszare tło */ border-radius: 4px; /* Zaokrąglone rogi */ font-family: Tahoma, sans-serif; /* Czcionka Tahoma */ font-size: 0.9em; /* Rozmiar czcionki 90% tekstu strony */ line-height: 1.4; /* Wysokość linii dla czytelności */ } .custom-comment { color: #008000 !important; /* Zielony kolor dla komentarzy */ } .custom-keyword { color: #0000FF !important; /* Niebieski dla słów kluczowych */ font-weight: bold; /* Pogrubienie */ } .custom-function { color: #8B4513 !important; /* Brązowy dla funkcji */ } .custom-number { color: #FF0000 !important; /* Czerwony dla liczb */ } .custom-string { color: #800080 !important; /* Purpurowy dla stringów */ } .custom-parameter { color: #FFA500 !important; /* Pomarańczowy dla parametrów typu #BLACK, #WHITE */ } </style> <?php } add_action('wp_footer', 'custom_hollywood_block'); // Podłącz funkcję do stopki WordPress
Niestety style nadrzędne używane w szablonie WordPressa czasami brużdżą i trzeba trochę pokombinować. Powyższy kod jest pokolorowany wtyczką Enlighter – Customizable Syntax Highlighter. Jest dobra (choć tu w jednym miejscu zagubiła się z kolorami), ale nie uwzględnia Hollywood. Pokazuje ją, bo musiałem pokazać kod PHP, przecież nie będę pisał specjalnie formatowania do Code Snippets jak to leży w sieci.
Wykorzystanie szablonu kodu we wpisie na blogu
Podczas edycji posta kod w Hollywood musi być wklejany jako HTML. I musi być obudowany z dwóch stron.
<pre class="wp-block-custom-hollywood"> <code class="language-hollywood"> Tutaj cały kod w Hollywood </code></pre>
Jak wygląda efekt kolorowania kodu
Ja sobie ustawiłem podobnie, tak jak mam w IDE Hollywood.
– Komentarze zaczynające się od ; są wyświetlane na zielono (#008000).
– Słowa kluczowe języka Hollywood są niebieskie (#0000FF) i pogrubione.
– Wbudowane funkcje mają kolor brązowy (#8B4513).
– Liczby są czerwone (#FF0000).
– Stringi w cudzysłowach są purpurowe (#800080).
– Parametry zaczynające się od # są pomarańczowe (#FFA500).
– Cały kod używa czcionki Tahoma i ma jasnoszare tło.
Konieczne było pomniejszenie czcionki na rozmiar 90% tekstu strony. Niestety nie udało mi sie ustawić kolorowania dla komend preprocesora, znak @ jest problematyczny i próby psuły resztę.
Wyszło jak poniżej:
@VERSION 7, 0
@DISPLAY {Width = 800, Height = 600}
EscapeQuit(True)
SetFillStyle(#FILLCOLOR)
v = {}
v[0] = 100 ;X1
v[1] = 300 ;Y1
v[2] = 200 ;X2
v[3] = 100 ;Y2
v[4] = 300 ;X3
v[5] = 300 ;Y3
v[6] = 100 ;X4
v[7] = 300 ;Y4
While obracanie < 360
Polygon(#CENTER, #CENTER, v, 4, #BLUE, {Rotate = obracanie})
obracanie = obracanie + 5
Wend
LeftMouseQuit(True)
Repeat
WaitEvent
Forever
I rezultat działania kodu:

Powyższy przykład pochodzi z "Podręcznika do Hollywood", strona 81. Można go "kupić" za 0 zł w naszym sklepiku:
https://sklep.amiga.org.pl/wp/produkt/hollywood/
Co dalej
Zasadniczo dałem dzisiaj narzędzia i gotowy szablon. Jeśli ktoś chce, może sobie przerabiać dalej. Na przykład zmieniać czcionkę, dodać kolory do większej liczby poleceń. Jest możliwość eksportu - z poziomu edytowanego szablonu PHP jako PHP, a z poziomu listy fragmentów kodów jako JSON.
W przyszłości może któraś wtyczka dorobi się kolorowania Hollywood. Wtedy cały powyższy artykuł pozostanie jedynie jako niepotrzebny "ślad węglowy". Na razie jest potrzebny.