using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace ExWeb
{
public partial class Mod_Inline : Mod
{
protected static string[][] Extensions = new string[][]
{
new string[]{"as3","as3","shBrushAS3.js"},
new string[]{"shell","shell","shBrushBash.js"},
new string[]{"cf","cf","shBrushColdFusion.js"},
new string[]{"c","c","shBrushCpp"},
new string[]{"cpp","c","shBrushCpp"},
new string[]{"cs","csharp","shBrushCSharp"},
new string[]{"css","css","shBrushCss"},
new string[]{"scss","css","shBrushCss"},
new string[]{"delphi","delphi","shBrushDelphi.js"},
new string[]{"pas","delphi","shBrushDelphi.js"},
new string[]{"diff","diff","shBrushDiff.js"},
new string[]{"erl","erl","shBrushErlang.js"},
new string[]{"groovy","groovy","shBrushGroovy.js"},
new string[]{"java","java","shBrushJava"},
new string[]{"jfx","jfx","shBrushJavaFX.js"},
new string[]{"js","js","shBrushJScript"},
new string[]{"pl","pl","shBrushPerl"},
new string[]{"perl","perl","shBrushPerl.js"},
new string[]{"php","php","shBrushPhp"},
new string[]{"bat","ps","shBrushPowerShell"},
new string[]{"ps","ps","shBrushPowerShell"},
new string[]{"ps1","ps","shBrushPowerShell"},
new string[]{"py","py","shBrushPython"},
new string[]{"ruby","ruby","shBrushRuby.js"},
new string[]{"scala","scala","shBrushScala.js"},
new string[]{"sql","sql","shBrushSql"},
new string[]{"txt","text","shBrushPlain"},
new string[]{"text","text","shBrushPlain"},
new string[]{"bat","text","shBrushPlain"},
new string[]{"ini","text","shBrushPlain"},
new string[]{"log","text","shBrushPlain"},
new string[]{"vb","vb","shBrushVb"},
new string[]{"vbs","vb","shBrushVb"},
new string[]{"asp","xml","shBrushXml"},
new string[]{"aspx","xml","shBrushXml"},
new string[]{"ascx","xml","shBrushXml"},
new string[]{"asax","xml","shBrushXml"},
new string[]{"config","xml","shBrushXml"},
new string[]{"csproj","xml","shBrushXml"},
new string[]{"dwt","xml","shBrushXml"},
new string[]{"htm","xml","shBrushXml"},
new string[]{"html","xml","shBrushXml"},
new string[]{"master","xml","shBrushXml"},
new string[]{"user","xml","shBrushXml"},
new string[]{"xml","xml","shBrushXml"},
new string[]{"xsl","xml","shBrushXml"},
new string[]{"xslt","xml","shBrushXml"},
};
protected int GetBrushIndex(string Extension)
{
if (Extension.StartsWith(".")) Extension = Extension.Substring(1);
Extension = Extension.ToLower();
for (int i = 0; i < Extensions.Length; i++)
{
if (Extensions[i][0] == Extension)
{
return i;
}
}
return -1;
}
protected string GetPreformated(string Code)
{
return "\r\n<pre>\r\n" + Untag(Code) + "\r\n</pre>\r\n";
}
protected string GetPreformated(string Code, string BrushCode)
{
return "\r\n<pre " + "class='brush: " + BrushCode + "'>\r\n" + Untag(Code) + "\r\n</pre>\r\n";
}
protected string GetPreformatedBrush(string Code, string Extension)
{
string s = "";
int i = GetBrushIndex(Extension);
// if (Extensions[i][3] == "0") // Brush noch nicht geladen
// {
// s = "\r\n<script src='" + UrlJsHighlight + "scripts/";
// s += Extensions[i][2];
// s += ".js' type=\"text/javascript\"></" + "script>";
// }
s += GetPreformated(Code, Extensions[i][1]);
// if (Extensions[i][3] == "0") // Brush noch nicht geladen
// {
// Extensions[i][3] = "1";
// }
return s;
}
protected string LoadShScripts()
{
string ShSourceSelected = GetConfigString("ShSourceSelected");
string ShThemeSelected = GetConfigString("ShThemeSelected");
string s =
"<link href='" + ShSourceSelected + "styles/shCoreDefault.css' rel='stylesheet' type='text/css' />"
+ "\r\n<link href='" + ShSourceSelected + "styles/shTheme" + ShThemeSelected + ".css' rel='stylesheet' type='text/css' />"
+ "\r\n<script src='" + ShSourceSelected + "scripts/shCore.js' type='text/javascript'></" + "script>"
+ "\r\n<script src='" + ShSourceSelected + "scripts/shAutoloader.js' type='text/javascript'></" + "script>"
+ "\r\n<script type='text/javascript'>"
+ "\r\n SyntaxHighlighter.autoloader("
+ "\r\n 'as3 /sh/scripts/shBrushAS3.js',"
+ "\r\n 'shell /sh/scripts/shBrushBash.js',"
+ "\r\n 'cf /sh/scripts/shBrushColdFusion.js',"
+ "\r\n 'csharp /sh/scripts/shBrushCSharp.js',"
+ "\r\n 'cpp /sh/scripts/shBrushCpp.js',"
+ "\r\n 'css /sh/scripts/shBrushCss.js',"
+ "\r\n 'delphi /sh/scripts/shBrushDelphi.js',"
+ "\r\n 'diff /sh/scripts/shBrushDiff.js',"
+ "\r\n 'erl /sh/scripts/shBrushErlang.js',"
+ "\r\n 'groovy /sh/scripts/shBrushGroovy.js',"
+ "\r\n 'js /sh/scripts/shBrushJScript.js',"
+ "\r\n 'java /sh/scripts/shBrushJava.js',"
+ "\r\n 'jfx /sh/scripts/shBrushJavaFX.js',"
+ "\r\n 'perl /sh/scripts/shBrushPerl.js',"
+ "\r\n 'php /sh/scripts/shBrushPhp.js',"
+ "\r\n 'text /sh/scripts/shBrushPlain.js',"
+ "\r\n 'ps /sh/scripts/shBrushPowerShell.js',"
+ "\r\n 'py /sh/scripts/shBrushPython.js',"
+ "\r\n 'ruby /sh/scripts/shBrushRuby.js',"
+ "\r\n 'scala /sh/scripts/shBrushScala.js',"
+ "\r\n 'sql /sh/scripts/shBrushSql.js',"
+ "\r\n 'vb /sh/scripts/shBrushVb.js',"
+ "\r\n 'xml /sh/scripts/shBrushXml.js'"
+ "\r\n );"
+ "\r\n SyntaxHighlighter.all();"
+ "\r\n</script>";
return s;
}
}
}