Pour ceux et celles qui souhaitent afficher du code prolog sur des pages html, à l'aide du fabuleux highlighter Syntax HighLighter, je vous propose un fichier Brush shBrushGnuProlog.jsque vous aurez à copier dans le repertoire des scripts de Syntax HighLighter
Dans la page html sur laquelle vous souhaitez mettre en relief votre code Prolog, incluez les fichiers requis par Syntax HighLighter, comme par exemple:
<script type="text/javascript" src="syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="syntaxhighlighter/scripts/shBrushGnuProlog.js"></script> <link type="text/css" rel="stylesheet" href="syntaxhighlighter/styles/shCore.css"/> <link type="text/css" rel="stylesheet" href="syntaxhighlighter/styles/shThemeDefault.css"/> <script type="text/javascript"> SyntaxHighlighter.config.clipboardSwf = 'syntaxhighlighter/scripts/clipboard.swf'; SyntaxHighlighter.all(); </script>
start_default_server :- start_server(8080). start_server(Port) :- socket('AF_INET', Socket), socket_bind(Socket, 'AF_INET'(Host, Port)), print_server_info(Host,Port), write('Waiting for an http request...'),nl, socket_listen(Socket,10), server_loop(Socket). server_loop(Socket):- repeat, % Ouverture du socket de comunication socket_accept(Socket, Client, StreamIn, StreamOut), set_stream_type(StreamOut, binary), set_stream_buffering(StreamOut,block), nl, write('Connected with '), write(Client), %Recuperation de requete http get_http_request(StreamIn,HttpRequest), [Method,Request,Version,HeaderLines,PostBody] = HttpRequest, %Traitement 'sécurisé' de la requete catch(process(StreamOut,Request),E,(write('Fail Processing request'), nl)), %Vidage du buffer de sortie et fermeture des fluxs flush_output(StreamOut), catch(close(StreamOut),E,(write('Fail close StreamOut'), nl)), catch(close(StreamIn),E,(write('Fail close StreamIn'), nl)), fail.