Syntax Highlighter 3.0.83

naohiro19
記事: 256
登録日時: 14年前
住所: 愛知県

Syntax Highlighter 3.0.83

投稿記事 by naohiro19 » 10年前

Syntax Highlighter 3.0.83を「ゲームプログラミングの館」や「龍神録プログラミングの館」で用いることでソースコードが見やすくなります。以下のHTMLは配布サイトのHTMLファイルのソースをそのまま流用しました。

CODE:




	
	Hello SyntaxHighlighter
	
	
	
	SyntaxHighlighter.all();




Hello SyntaxHighlighter

function helloSyntaxHighlighter()
{
	return "hi!";
}



C/C++の場合は

CODE:

の部分を

CODE:

に変えて

CODE:

CODE:

に変えてC/C++のコードを貼り付けるだけです。
最後に編集したユーザー naohiro19 on 2014年10月14日(火) 15:18 [ 編集 3 回目 ]

アバター
みけCAT
記事: 6734
登録日時: 14年前

Re: Syntax Highlighter 3.0.83

投稿記事 by みけCAT » 10年前

とりあえずGreasemonkeyでhttp://dixq.net/g/01_02.htmlに適用しようとしましたが、うまくいかないです。

CODE:

// ==UserScript==
// @name        Syntax Highligter
// @description a
// @include     http://dixq.net/g/01_02.html
// @version     1
// @grant       none
// ==/UserScript==

try {
var baseURI = "http://agorbatchev.typepad.com/pub/sh/3_0_83/";

if (document.body && document.head) {
  var pre = document.getElementsByTagName("pre");
  for (var i = 0; i < pre.length; i++) {
    var nowpre = pre[i];
    nowpre.className = "brush: cpp;";
  }
  var css = document.createElement("link");
  css.setAttribute("type","text/css");
  css.setAttribute("rel","stylesheet");
  css.setAttribute("src",baseURI + "styles/shCoreDefault.css");
  document.head.appendChild(css);
  var script_core = document.createElement("script");
  script_core.setAttribute("type","text/javascript");
  script_core.setAttribute("src",baseURI + "scripts/shCore.js");
  document.body.appendChild(script_core);
  /*
  var script_brush = document.createElement("script");
  script_brush.setAttribute("type","text/javascript");
  script_brush.setAttribute("src",baseURI + "scripts/shBrushCpp.js");
  document.body.appendChild(script_brush);
  var script_run = document.createElement("script");
  script_run.setAttribute("type","text/javascript");
  script_run.textContent ="setTimeout('try{SyntaxHighlighter.all();}catch(e){alert(e);}',1000);";
  document.head.appendChild(script_run);
  */
  var script_run = document.createElement("script");
  script_run.setAttribute("type","text/javascript");
  script_run.textContent = "setTimeout(function(){"+
    "var s = document.createElement('script');"+
    "s.setAttribute('type','text/javascript');"+
    "s.setAttribute('src','"+baseURI+"scripts/shBrushCpp.js');"+
    "document.body.appendChild(s);"+
    "setTimeout(function(){try{SyntaxHighlighter.all();}catch(e){alert(e);}alert('ok');},100);"+
    "},100)";
  document.body.appendChild(script_run);
}
}catch(e){alert(e);}
Firefox 32.0.3
JavaScriptの実行のしかたは
UserScriptのGreasemonkey 2.0対応 | monoの開発ブログ
を参考にしました。
エラーは観測されず、okが表示されますが、ソースコードの見た目が変わりません。
工夫しないとSyntaxHighlighterがundefinedだと怒られるので、
とりあえず適当な時間の遅延を入れています(ネットワークが遅いと間に合わない可能性がある)。
なんとかならないでしょうか…?
最後に編集したユーザー みけCAT on 2014年10月14日(火) 22:42 [ 編集 1 回目 ]
理由: ソースコードを微調整。ついでに参考サイトを追加