이제야 발견된 사실인데..
보드 스킨에 view.skin.php에는 echo get_view_thumbnail(na_view($view)); 이게 있는데요
na_view 함수를 보니 na_content 함수를 부르는게 있고 여기보니
//Show Contents
function na_content($str) {
$str = na_url_auto_link($str);
$str = preg_replace_callback("/{(첨부|attach)\:([^}]*)}/is", "na_callback_attach", $str); // Attach
$str = preg_replace_callback("/{(지도|map)\:([^}]*)}/is", "na_callback_map", $str); // Map
$str = preg_replace_callback("/{(동영상|video)\:([^}]*)}/is", "na_callback_video", $str); // Video
$str = preg_replace_callback("/{(아이콘|icon)\:([^}]*)}/is", "na_callback_icon", $str); // FA Icon
$str = preg_replace_callback("/{(이모티콘|emo)\:([^}]*)}/is", "na_callback_emo", $str); // Emoticon
$str = preg_replace_callback("/\[soundcloud([^\]]*)\]/is", "na_callback_soundcloud", $str); // SoundCloud
$str = preg_replace_callback("/(\[code\]|\[code=(.*)\])(.*)\[\/code\]/iUs", "na_syntaxhighlighter", $str); // SyntaxHighlighter
return $str;
}
이렇게 되어있는데 여기서 가르키는 na_syntaxhighlighter 함수는 이렇네요
//Syntaxhighlighter
function na_syntaxhighlighter($m) {
$str = isset($m[3]) ? $m[3] : '';
if(!$str)
return;
$str = stripslashes($str);
$str = preg_replace("/(<br>|<br \/>|<br\/>|<p>)/i", "\n", $str);
$str = preg_replace("/(<div>|<\/div>|<\/p>)/i", "", $str);
$str = str_replace(" ", " ", $str);
$str = str_replace("/</", "<", $str);
$str = str_replace("/[/", "[", $str);
$str = str_replace("/{/", "{", $str);
if(!$str)
return;
$brush = isset($m[2]) ? strtolower(trim($m[2])) : 'html';
//$brush_arr = array('css', 'js', 'jscript', 'javascript', 'php', 'xml', 'xhtml', 'xslt', 'html');
//$brush = ($brush && in_array($brush, $brush_arr)) ? $brush : 'html';
na_script('code');
//return '<pre class="brush: '.$brush.';">'.$str.'</pre>'.PHP_EOL;
return '<div class="line-numbers"><pre><code class="language-'.$brush.'">'.$str.'</code></pre></div>'.PHP_EOL;
}
여기서 또 na_script를 부르는게 있는데 그곳의 'code' 부분을 보니 이렇네요
} else if($id == 'code') {
if(!defined('NA_CODE')) {
define('NA_CODE', true);
/*
add_stylesheet('<link rel="stylesheet" href="'.NA_URL.'/app/syntaxhighlighter/styles/shCoreDefault.css">', -2);
$sh = '<script src="'.NA_URL.'/app/syntaxhighlighter/scripts/shCore.js"></script>'.PHP_EOL;
$sh .= '<script src="'.NA_URL.'/app/syntaxhighlighter/scripts/shBrushJScript.js"></script>'.PHP_EOL;
$sh .= '<script src="'.NA_URL.'/app/syntaxhighlighter/scripts/shBrushPhp.js"></script>'.PHP_EOL;
$sh .= '<script src="'.NA_URL.'/app/syntaxhighlighter/scripts/shBrushCss.js"></script>'.PHP_EOL;
$sh .= '<script src="'.NA_URL.'/app/syntaxhighlighter/scripts/shBrushXml.js"></script>'.PHP_EOL;
$sh .= '<script>var is_SyntaxHighlighter = true; SyntaxHighlighter.all(); </script>';
add_javascript($sh, 99);
*/
add_stylesheet('<link rel="stylesheet" href="'.NA_URL.'/app/prism/prism.css">', -2);
$sh = '<script src="'.NA_URL.'/app/prism/prism.js"></script>'.PHP_EOL;
$sh .= '<script>var is_SyntaxHighlighter = true;</script>';
add_javascript($sh, 0);
}
} else if($id == 'bgvideo') {
prism을 쓰긴 하는거 같은데 왜 어째서 언어 감지를 못하고 Plain text로 인식되는지 모르겠습니다 ㅜㅜ