Diễn Đàn Hỗ Trợ FM
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.


[Code] Số dòng đánh dấu cho khung code

Tác giả: - vào lúc:
Giựt
Bài viết : 272
Points : 440
Like : 89
Punbb
Cẩn thận
Status : Giựt đẹp trai
GiựtMOD
9/22/2016, 11:55
#1

Demo


[Code] Số dòng đánh dấu cho khung code PGTne7m

Cách làm


Admin panel > Modules > JavaScript codes management > create a new script

Placement : In all the pages


Code:

$(function() {
  var s = document.createElement('STYLE'),
      code = document.getElementsByTagName('CODE'),
      i = 0,
      j = code.length,
      txt;
 
  if (j) {
    s.appendChild(document.createTextNode('dl.codebox code.prettyprint{font-family:Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono","Lucida Console",monospace;font-size:13px;padding:3px;white-space:normal}.prettyprint .pln{color:#333}.prettyprint .str{color:#080}.prettyprint .kwd{color:#008}.prettyprint .com{color:#800}.prettyprint .typ{color:#606}.prettyprint .lit{color:#066}.prettyprint .pun{color:#660}.prettyprint .tag{color:#008}.prettyprint .atn{color:#606}.prettyprint .atv{color:#080}.prettyprint .dec{color:#606}.prettyprint .linenums li{border-left:3px solid #DDD;padding-left:5px}.prettyprint ol.linenums{margin:0px 0px 0px 50px}'));
    document.getElementsByTagName('HEAD')[0].appendChild(s);
 
    for (; i < j; i++) {
      txt = $(code[i]).text();
      code[i].className += ' prettyprint ' + (txt.indexOf('<') == -1 && /[\s\S]+{[\s\S]+:[\s\S]+}/.test(txt) ? 'lang-css ' : '') + ($(code[i]).closest('.inline-code').length ? '' : 'linenums');
    }
 
    var q = null;
    window.PR_SHOULD_USE_CONTINUATION = !0;
    (function() {
      function L(a) {
        function m(a) {
          var f = a.charCodeAt(0);
          if (f !== 92) {
            return f
          }
          var b = a.charAt(1);
          return (f = r[b]) ? f : "0" <= b && b <= "7" ? parseInt(a.substring(1), 8) : b === "u" || b === "x" ? parseInt(a.substring(2), 16) : a.charCodeAt(1)
        };
 
        function e(a) {
          if (a < 32) {
            return (a < 16 ? "\\x0" : "\\x") + a.toString(16)
          }
          a = String.fromCharCode(a);
          if (a === "\\" || a === "-" || a === "[" || a === "]") {
            a = "\\" + a
          }
          return a
        };
 
        function h(a) {
          for (var f = a.substring(1, a.length - 1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g), a = [], b = [], o = f[0] === "^", c = o ? 1 : 0, i = f.length; c < i; ++c) {
            var j = f[c];
            if (/\\[bdsw]/i.test(j)) {
              a.push(j)
            } else {
              var j = m(j), d;
              c + 2 < i && "-" === f[c + 1] ? (d = m(f[c + 2]),
              c += 2) : d = j;
              b.push([j, d]);
              d < 65 || j > 122 || (d < 65 || j > 90 || b.push([Math.max(65, j) | 32, Math.min(d, 90) | 32]),
              d < 97 || j > 122 || b.push([Math.max(97, j) & -33, Math.min(d, 122) & -33]))
            }
          }
 
          b.sort(function(a, f) {
            return a[0] - f[0] || f[1] - a[1]
          });
          f = [];
          j = [NaN, NaN];
          for (c = 0; c < b.length; ++c) {
            i = b[c],
            i[0] <= j[1] + 1 ? j[1] = Math.max(j[1], i[1]) : f.push(j = i)
          }
          b = ["["];
          o && b.push("^");
          b.push.apply(b, a);
          for (c = 0; c < f.length; ++c) {
            i = f[c],
            b.push(e(i[0])),
            i[1] > i[0] && (i[1] + 1 > i[0] && b.push("-"),
            b.push(e(i[1])))
          }
          b.push("]");
          return b.join("")
        };
 
        function y(a) {
          for (var f = a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g), b = f.length, d = [], c = 0, i = 0; c < b; ++c) {
            var j = f[c];
            j === "(" ? ++i : "\\" === j.charAt(0) && (j = +j.substring(1)) && j <= i && (d[j] = -1)
          }
          for (c = 1; c < d.length; ++c) {
            -1 === d[c] && (d[c] = ++t)
          }
          for (i = c = 0; c < b; ++c) {
            j = f[c],
            j === "(" ? (++i,
            d[i] === void 0 && (f[c] = "(?:")) : "\\" === j.charAt(0) && (j = +j.substring(1)) && j <= i && (f[c] = "\\" + d[i])
          }
          for (i = c = 0; c < b; ++c) {
            "^" === f[c] && "^" !== f[c + 1] && (f[c] = "")
          }
          if (a.ignoreCase && s) {
            for (c = 0; c < b; ++c) {
              j = f[c],
              a = j.charAt(0),
              j.length >= 2 && a === "[" ? f[c] = h(j) : a !== "\\" && (f[c] = j.replace(/[A-Za-z]/g, function(a) {
                a = a.charCodeAt(0);
                return "[" + String.fromCharCode(a & -33, a | 32) + "]"
              }
              ))
            }
          }
          return f.join("")
        };
 
        for (var t = 0, s = !1, l = !1, p = 0, d = a.length; p < d; ++p) {
          var g = a[p];
          if (g.ignoreCase) {
            l = !0
          } else {
            if (/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi, ""))) {
              s = !0;
              l = !1;
              break
            }
          }
        }
        for (var r = {
          b: 8,
          t: 9,
          n: 10,
          v: 11,
          f: 12,
          r: 13
        }, n = [], p = 0, d = a.length; p < d; ++p) {
          g = a[p];
          if (g.global || g.multiline) {
            throw Error("" + g)
          }
          n.push("(?:" + y(g) + ")")
        }
        return RegExp(n.join("|"), l ? "gi" : "g")
      };
 
      function M(a) {
        function m(a) {
          switch (a.nodeType) {
          case 1:
            if (e.test(a.className)) {
              break
            }
            for (var g = a.firstChild; g; g = g.nextSibling) {
              m(g)
            }
            g = a.nodeName;
            if ("BR" === g || "LI" === g) {
              h[s] = "\n",
              t[s << 1] = y++,
              t[s++ << 1 | 1] = a
            }
            break;
          case 3:
            ;
          case 4:
            g = a.nodeValue,
            g.length && (g = p ? g.replace(/\r\n?/g, "\n") : g.replace(/[\t\n\r ]+/g, " "),
            h[s] = g,
            t[s << 1] = y,
            y += g.length,
            t[s++ << 1 | 1] = a)
          }
        };
 
        var e = /(?:^|\s)nocode(?:\s|$)/, h = [], y = 0, t = [], s = 0, l;
        a.currentStyle ? l = a.currentStyle.whiteSpace : window.getComputedStyle && (l = document.defaultView.getComputedStyle(a, q).getPropertyValue("white-space"));
        var p = l && "pre" === l.substring(0, 3);
        m(a);
        return {
          a: h.join("").replace(/\n$/, ""),
          c: t
        }
      };
 
      function B(a, m, e, h) {
        m && (a = {
          a: m,
          d: a
        },
        e(a),
        h.push.apply(h, a.e))
      };
 
      function x(a, m) {
        function e(a) {
          for (var l = a.d, p = [l, "pln"], d = 0, g = a.a.match(y) || [], r = {}, n = 0, z = g.length; n < z; ++n) {
            var f = g[n], b = r[f], o = void 0, c;
            if (typeof b === "string") {
              c = !1
            } else {
              var i = h[f.charAt(0)];
              if (i) {
                o = f.match(i[1]),
                b = i[0]
              } else {
                for (c = 0; c < t; ++c) {
                  if (i = m[c],
                  o = f.match(i[1])) {
                    b = i[0];
                    break
                  }
                }
                o || (b = "pln")
              }
              if ((c = b.length >= 5 && "lang-" === b.substring(0, 5)) && !(o && typeof o[1] === "string")) {
                c = !1,
                b = "src"
              }
              c || (r[f] = b)
            }
            i = d;
            d += f.length;
            if (c) {
              c = o[1];
              var j = f.indexOf(c)
                , k = j + c.length;
              o[2] && (k = f.length - o[2].length,
              j = k - c.length);
              b = b.substring(5);
              B(l + i, f.substring(0, j), e, p);
              B(l + i + j, c, C(b, c), p);
              B(l + i + k, f.substring(k), e, p)
            } else {
              p.push(l + i, b)
            }
          }
          a.e = p
        };
 
        var h = {}, y;
        (function() {
          for (var e = a.concat(m), l = [], p = {}, d = 0, g = e.length; d < g; ++d) {
            var r = e[d]
              , n = r[3];
            if (n) {
              for (var k = n.length; --k >= 0; ) {
                h[n.charAt(k)] = r
              }
            }
            r = r[1];
            n = "" + r;
            p.hasOwnProperty(n) || (l.push(r),
            p[n] = q)
          }
          l.push(/[\S\s]/);
          y = L(l)
        }
        )();
        var t = m.length;
        return e
      };
 
      function u(a) {
        var m = []
          , e = [];
        a.tripleQuotedStrings ? m.push(["str", /^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/, q, "'\""]) : a.multiLineStrings ? m.push(["str", /^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, q, "'\"`"]) : m.push(["str", /^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/, q, "\"'"]);
        a.verbatimStrings && e.push(["str", /^@"(?:[^"]|"")*(?:"|$)/, q]);
        var h = a.hashComments;
        h && (a.cStyleComments ? (h > 1 ? m.push(["com", /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, q, "#"]) : m.push(["com", /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/, q, "#"]),
        e.push(["str", /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/, q])) : m.push(["com", /^#[^\n\r]*/, q, "#"]));
        a.cStyleComments && (e.push(["com", /^\/\/[^\n\r]*/, q]),
        e.push(["com", /^\/\*[\S\s]*?(?:\*\/|$)/, q]));
        a.regexLiterals && e.push(["lang-regex", /^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);
        (h = a.types) && e.push(["typ", h]);
        a = ("" + a.keywords).replace(/^ | $/g, "");
        a.length && e.push(["kwd", RegExp("^(?:" + a.replace(/[\s,]+/g, "|") + ")\\b"), q]);
        m.push(["pln", /^\s+/, q, " \r\n\t\u00a0"]);
        e.push(["lit", /^@[$_a-z][\w$@]*/i, q], ["typ", /^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/, q], ["pln", /^[$_a-z][\w$@]*/i, q], ["lit", /^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i, q, "0123456789"], ["pln", /^\\[\S\s]?/, q], ["pun", /^.[^\s\w"-$'./@\\`]*/, q]);
        return x(m, e)
      };
 
      function D(a, m) {
        function e(a) {
          switch (a.nodeType) {
          case 1:
            if (k.test(a.className)) {
              break
            }
            if ("BR" === a.nodeName) {
              h(a),
              a.parentNode && a.parentNode.removeChild(a)
            } else {
              for (a = a.firstChild; a; a = a.nextSibling) {
                e(a)
              }
            }
            break;
          case 3:
            ;
          case 4:
            if (p) {
              var b = a.nodeValue
                , d = b.match(t);
              if (d) {
                var c = b.substring(0, d.index);
                a.nodeValue = c;
                (b = b.substring(d.index + d[0].length)) && a.parentNode.insertBefore(s.createTextNode(b), a.nextSibling);
                h(a);
                c || a.parentNode.removeChild(a)
              }
            }
          }
        };
 
        function h(a) {
          function b(a, d) {
            var e = d ? a.cloneNode(!1) : a
              , f = a.parentNode;
            if (f) {
              var f = b(f, 1)
                , g = a.nextSibling;
              f.appendChild(e);
              for (var h = g; h; h = g) {
                g = h.nextSibling,
                f.appendChild(h)
              }
            }
            return e
          }
          for (; !a.nextSibling; ) {
            if (a = a.parentNode,
            !a) {
              return
            }
          }
          for (var a = b(a.nextSibling, 0), e; (e = a.parentNode) && e.nodeType === 1; ) {
            a = e
          }
          d.push(a)
        };
 
        var k = /(?:^|\s)nocode(?:\s|$)/, t = /\r\n?|\n/, s = a.ownerDocument, l;
        a.currentStyle ? l = a.currentStyle.whiteSpace : window.getComputedStyle && (l = s.defaultView.getComputedStyle(a, q).getPropertyValue("white-space"));
        var p = l && "pre" === l.substring(0, 3);
        for (l = s.createElement("LI"); a.firstChild; ) {
          l.appendChild(a.firstChild)
        }
        for (var d = [l], g = 0; g < d.length; ++g) {
          e(d[g])
        }
        m === (m | 0) && d[0].setAttribute("value", m);
        var r = s.createElement("OL");
        r.className = "linenums";
        for (var n = Math.max(0, m - 1 | 0) || 0, g = 0, z = d.length; g < z; ++g) {
          l = d[g],
          l.className = "L" + (g + n) % 10,
          l.firstChild || l.appendChild(s.createTextNode("\u00a0")),
          r.appendChild(l)
        }
        a.appendChild(r)
      };
 
      function k(a, m) {
        for (var e = m.length; --e >= 0; ) {
          var h = m[e];
          A.hasOwnProperty(h) ? window.console && console.warn("cannot override language handler %s", h) : A[h] = a
        }
      };
 
      function C(a, m) {
        if (!a || !A.hasOwnProperty(a)) {
          a = /^\s*</.test(m) ? "default-markup" : "default-code"
        }
        return A[a]
      };
 
      function E(a) {
        var m = a.g;
        try {
          var e = M(a.h)
            , h = e.a;
          a.a = h;
          a.c = e.c;
          a.d = 0;
          C(m, h)(a);
          var k = /\bMSIE\b/.test(navigator.userAgent)
            , m = /\n/g
            , t = a.a
            , s = t.length
            , e = 0
            , l = a.c
            , p = l.length
            , h = 0
            , d = a.e
            , g = d.length
            , a = 0;
          d[g] = s;
          var r, n;
          for (n = r = 0; n < g; ) {
            d[n] !== d[n + 2] ? (d[r++] = d[n++],
            d[r++] = d[n++]) : n += 2
          }
          g = r;
          for (n = r = 0; n < g; ) {
            for (var z = d[n], f = d[n + 1], b = n + 2; b + 2 <= g && d[b + 1] === f; ) {
              b += 2
            }
            d[r++] = z;
            d[r++] = f;
            n = b
          }
          for (d.length = r; h < p; ) {
            var o = l[h + 2] || s, c = d[a + 2] || s, b = Math.min(o, c), i = l[h + 1], j;
            if (i.nodeType !== 1 && (j = t.substring(e, b))) {
              k && (j = j.replace(m, "\r"));
              i.nodeValue = j;
              var u = i.ownerDocument
                , v = u.createElement("SPAN");
              v.className = d[a + 1];
              var x = i.parentNode;
              x.replaceChild(v, i);
              v.appendChild(i);
              e < o && (l[h + 1] = i = u.createTextNode(t.substring(b, o)),
              x.insertBefore(i, v.nextSibling))
            }
            e = b;
            e >= o && (h += 2);
            e >= c && (a += 2)
          }
        } catch (w) {
          "console" in window && console.log(w && w.stack ? w.stack : w)
        }
      };
 
      var v = ["break,continue,do,else,for,if,return,while"]
        , w = [[v, "auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"]
        , F = [w, "alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"]
        , G = [w, "abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"]
        , H = [G, "as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"]
        , w = [w, "debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"]
        , I = [v, "and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"]
        , J = [v, "alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"]
        , v = [v, "case,done,elif,esac,eval,fi,function,in,local,set,then,until"]
        , K = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/
        , N = /\S/
        , O = u({
        keywords: [F, H, w, "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END" + I, J, v],
        hashComments: !0,
        cStyleComments: !0,
        multiLineStrings: !0,
        regexLiterals: !0
      })
        , A = {};
      k(O, ["default-code"]);
      k(x([], [["pln", /^[^<?]+/], ["dec", /^<!\w[^>]*(?:>|$)/], ["com", /^<\!--[\S\s]*?(?:--\>|$)/], ["lang-", /^<\?([\S\s]+?)(?:\?>|$)/], ["lang-", /^<%([\S\s]+?)(?:%>|$)/], ["pun", /^(?:<[%?]|[%?]>)/], ["lang-", /^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i], ["lang-js", /^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i], ["lang-css", /^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i], ["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i]]), "default-markup,htm,html,mxml,xhtml,xml,xsl".split(","));
      k(x([["pln", /^\s+/, q, " \t\r\n"], ["atv", /^(?:"[^"]*"?|'[^']*'?)/, q, "\"'"]], [["tag", /^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i], ["atn", /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i], ["lang-uq.val", /^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/], ["pun", /^[/<->]+/], ["lang-js", /^on\w+\s*=\s*"([^"]+)"/i], ["lang-js", /^on\w+\s*=\s*'([^']+)'/i], ["lang-js", /^on\w+\s*=\s*([^\s"'>]+)/i], ["lang-css", /^style\s*=\s*"([^"]+)"/i], ["lang-css", /^style\s*=\s*'([^']+)'/i], ["lang-css", /^style\s*=\s*([^\s"'>]+)/i]]), ["in.tag"]);
      k(x([], [["atv", /^[\S\s]+/]]), ["uq.val"]);
      k(u({
        keywords: F,
        hashComments: !0,
        cStyleComments: !0,
        types: K
      }), "c,cc,cpp,cxx,cyc,m".split(","));
      k(u({
        keywords: "null,true,false"
      }), ["json"]);
      k(u({
        keywords: H,
        hashComments: !0,
        cStyleComments: !0,
        verbatimStrings: !0,
        types: K
      }), ["cs"]);
      k(u({
        keywords: G,
        cStyleComments: !0
      }), ["java"]);
      k(u({
        keywords: v,
        hashComments: !0,
        multiLineStrings: !0
      }), ["bsh", "csh", "sh"]);
      k(u({
        keywords: I,
        hashComments: !0,
        multiLineStrings: !0,
        tripleQuotedStrings: !0
      }), ["cv", "py"]);
      k(u({
        keywords: "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",
        hashComments: !0,
        multiLineStrings: !0,
        regexLiterals: !0
      }), ["perl", "pl", "pm"]);
      k(u({
        keywords: J,
        hashComments: !0,
        multiLineStrings: !0,
        regexLiterals: !0
      }), ["rb"]);
      k(u({
        keywords: w,
        cStyleComments: !0,
        regexLiterals: !0
      }), ["js"]);
      k(u({
        keywords: "all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
        hashComments: 3,
        cStyleComments: !0,
        multilineStrings: !0,
        tripleQuotedStrings: !0,
        regexLiterals: !0
      }), ["coffee"]);
      k(x([], [["str", /^[\S\s]+/]]), ["regex"]);
      window.prettyPrintOne = function(a, m, e) {
        var h = document.createElement("PRE");
        h.innerHTML = a;
        e && D(h, e);
        E({
          g: m,
          i: e,
          h: h
        });
        return h.innerHTML
      };
 
      window.prettyPrint = function(a) {
        function m() {
          for (var e = window.PR_SHOULD_USE_CONTINUATION ? l.now() + 250 : Infinity; p < h.length && l.now() < e; p++) {
            var n = h[p]
              , k = n.className;
            if (k.indexOf("prettyprint") >= 0) {
              var k = k.match(g), f, b;
              if (b = !k) {
                b = n;
                for (var o = void 0, c = b.firstChild; c; c = c.nextSibling) {
                  var i = c.nodeType
                    , o = i === 1 ? o ? b : c : i === 3 ? N.test(c.nodeValue) ? b : o : o
                }
                b = (f = o === b ? void 0 : o) && "CODE" === f.tagName
              }
              b && (k = f.className.match(g));
              k && (k = k[1]);
              b = !1;
              for (o = n.parentNode; o; o = o.parentNode) {
                if ((o.tagName === "pre" || o.tagName === "code" || o.tagName === "xmp") && o.className && o.className.indexOf("prettyprint") >= 0) {
                  b = !0;
                  break
                }
              }
              b || ((b = (b = n.className.match(/\blinenums\b(?::(\d+))?/)) ? b[1] && b[1].length ? +b[1] : !0 : !1) && D(n, b),
              d = {
                g: k,
                h: n,
                i: b
              },
              E(d))
            }
          }
          p < h.length ? setTimeout(m, 250) : a && a()
        }
        for (var e = [document.getElementsByTagName("pre"), document.getElementsByTagName("code"), document.getElementsByTagName("xmp")], h = [], k = 0; k < e.length; ++k) {
          for (var t = 0, s = e[k].length; t < s; ++t) {
            h.push(e[k][t])
          }
        }
        var e = q
          , l = Date;
        l.now || (l = {
          now: function() {
            return +new Date
          }
        });
        var p = 0, d, g = /\blang(?:uage)?-([\w.]+)(?!\S)/;
        m()
      };
 
      window.PR = {
        createSimpleLexer: x,
        registerLangHandler: k,
        sourceDecorator: u,
        PR_ATTRIB_NAME: "atn",
        PR_ATTRIB_VALUE: "atv",
        PR_COMMENT: "com",
        PR_DECLARATION: "dec",
        PR_KEYWORD: "kwd",
        PR_LITERAL: "lit",
        PR_NOCODE: "nocode",
        PR_PLAIN: "pln",
        PR_PUNCTUATION: "pun",
        PR_SOURCE: "src",
        PR_STRING: "str",
        PR_TAG: "tag",
        PR_TYPE: "typ"
      }
    })();
    PR.registerLangHandler(PR.createSimpleLexer([["pln", /^[\t\n\f\r ]+/, null , " \t\r\n\u000c"]], [["str", /^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/, null ], ["str", /^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/, null ], ["lang-css-str", /^url\(([^"')]*)\)/i], ["kwd", /^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i, null ], ["lang-css-kw", /^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i], ["com", /^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//], ["com", /^(?:<\!--|--\>)/], ["lit", /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i], ["lit", /^#[\da-f]{3,6}/i], ["pln", /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i], ["pun", /^[^\s\w"']+/]]), ["css"]);
    PR.registerLangHandler(PR.createSimpleLexer([], [["kwd", /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]), ["css-kw"]);
    PR.registerLangHandler(PR.createSimpleLexer([], [["str", /^[^"')]+/]]), ["css-str"]);
    prettyPrint();
  }
});


CSS :

Code:

.prettyprint ol.linenums {
  list-style-type: decimal !important;
}
 
.codebox code li { white-space:nowrap; }


XOng :)
Admin
Bài viết : 431
Points : 820
Like : 120
Punbb
Quản trị
Status : test
AdminACP
9/22/2016, 12:50
#2
sao ko dùng chức năng up ảnh của hotro e :)
Giựt
Bài viết : 272
Points : 440
Like : 89
Punbb
Cẩn thận
Status : Giựt đẹp trai
GiựtMOD
9/22/2016, 12:56
#3
Tại e mở forum cũ ra thấy ảnh này thế là lấy làm demo lun Smile
Sponsored content
#4