代码发芽网更新 - 界面主题,支持ChinaUnix论坛发帖(BBcode)

代码发芽网更新 - 界面主题,支持ChinaUnix论坛发帖(BBcode)

代码发芽网是致力于简单代码高亮、代码共享的站点。
基于Django + Pygments + jQuery

想做这个很久了,最近做完界面更新以后,就开始着手HTML和BBcode功能的支持
经过一番研究与尝试,终于初步搞定了。

现在用代码发芽网在ChinaUnix上贴高亮代码的方法是(目前需要注册才有这个功能,匿名的那块代码还没来得及更新):
1. 到这里去进行代码高亮: http://www.fayaa.com/code/new/
2. 然后点击结果页面里面的 复制"BBCode(Discuz!)"链接,完成会有提示
3. 到ChinaUnix上Discuz!代码模式来贴

下面是两个例子,每个例子顶端的链接点过去就可以看到原本的代码:

Python语言: Python - 人性化的时间(比如:两分钟以前)
01  #人性化的时间:2008-01-27 08:37:29
02  #发芽网使用此函数来显示人性化的时间:比如1分钟以前,三天前,等等
03  def  time_span(ts):
04    delta  = datetime .now()  - ts
05     if delta .days  >=  365:
06         return  ' %d 年前'  % (delta .days  /  365)
07     elif delta .days  >=  30:
08         return  ' %d 个月前'  % (delta .days  /  30)
09     elif delta .days  >  0:
10         return  ' %d 天前'  % delta .days
11     elif delta .seconds  <  60:
12         return  " %d 秒前"  % delta .seconds
13     elif delta .seconds  <  60  *  60:
14         return  " %d 分钟前"  % (delta .seconds  /  60)
15     else:
16         return  " %d 小时前"  % (delta .seconds  /  60  /  60)

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



复制代码之前可以切换主题,比如Wombat主题效果如下:

JavaScript语言: RGB颜色值转HTML十六进制(HEX)代码的JS函数
01  //转到固定长度的十六进制字符串,不够则补0
02  function zero_fill_hex ( num , digits ) {
03    var s = num . toString ( 16 );
04    while ( s . length < digits )
05      s = "0" + s ;
06    return s ;
07  }
08
09  //妈的,怎么都没搜到怎么用javascript找出一个背景色的数值,只好自己解析
10  function rgb2hex ( rgb ) {
11    var n = Number ( rgb );
12    var ds = rgb . split ( /\D+/ );
13    var decimal = Number ( ds [ 1 ]) * 65536 + Number ( ds [ 2 ]) * 256 + Number ( ds [ 3 ]);
14    return zero_fill_hex ( decimal , 6 );
15  }

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


欢迎大家进行测试。

貌似不错,去看看。。
听说了,在google-py里也发过这样的帖子把。。。。
对,我在Google-py发过不止一次,因为那是我学Python起步的地方

这次更新主要是针对Discuz这样的论坛的。
去掉了背景和行号,搞了一个搞笑的字体:

JavaScript语言: RGB颜色值转HTML十六进制(HEX)代码的JS函数
  //转到固定长度的十六进制字符串,不够则补0
  function zero_fill_hex(num , digits) {
   var s  = num.toString( 16);
   while (s.length  < digits)
    s  =  "0"  + s ;
   return s ;
}

  //妈的,怎么都没搜到怎么用javascript找出一个背景色的数值,只好自己解析
  function rgb2hex(rgb) {
   var n  =  Number(rgb);
   var ds  = rgb.split( /\D+/);
   var decimal  =  Number(ds[ 1])  *  65536  +  Number(ds[ 2])  *  256  +  Number(ds[ 3]);
   return zero_fill_hex(decimal ,  6);
}


试试Courier New这个常见的等宽字体:

JavaScript语言: RGB颜色值转HTML十六进制(HEX)代码的JS函数
//转到固定长度的十六进制字符串,不够则补0
function zero_fill_hex(num, digits) {
  var s = num.toString(16);
  while (s.length < digits)
    s = "0" + s;
  return s;
}

//妈的,怎么都没搜到怎么用javascript找出一个背景色的数值,只好自己解析
function rgb2hex(rgb) {
  var n = Number(rgb);
  var ds = rgb.split(/\D+/);
  var decimal = Number(ds[1]) * 65536 + Number(ds[2]) * 256 + Number(ds[3]);
  return zero_fill_hex(decimal, 6);
}