Knowledge Map

티스토리에 코드 입력하기 본문

기타

티스토리에 코드 입력하기

2016.02.28 19:48

코딩 관련 내용을 기록하다보니 그냥 코드쓰는것 보다는 다른 방도를 찾아보게 되었다.


검색을 하면 주로 syntaxhighlighter 또는 gist 을 많이 쓰는데 하나는 너무 복잡하고 하나는 계속 등록한다는게 좀 그래서 다른 것을 찾아 보았는데


원하는 방식의 것이 딱 있길래 기록해 본다.


http://colorscripter.com/


위의 사이트를 들어가게 되면 바로 웹상에서 코드를 입력할수 있고 하단의 [클립보드에 복사]를 클릭해서 넣으면 코드가 적당히 채색(?)되어 나온다.

기존의 방식이 별로 이고 간단히 변환하고 싶은 사람들에게는 좋은거 같다.


ex)

글작성하기 에서 개발자 도구 들어가서 적당한 코드로 해본 것이다. 격방식도 있던데 개인적으로 심플이 좋은거 같다. 이전글에서는 구버전을 해보았는데 신버전이 더 이쁘다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
var PHON = new function () {
}
 
PHON.serialize = function (object) {
    switch (object) {
        case null:
            return "N;";
    }
    switch (typeof object) {
        case "boolean":
            return "b:" + (object ? "1;" : "0;");
        case "number":
            if ((object % 1== 0)
                return "i:" + object + ";";
            else
                return "d:" + object + ";";
        case "string":
            return "s:" + this.strlen(object) + ':"' + object + '";';
        case "object":
            if (object.constructor == Array) {
                var length = 0;
                var notation = "";
                for (var key in object) {
                    length++;
                    if ((Number(key) == NaN) || ((Number(key) % 1!= 0))
                        notation += this.serialize(key);
                    else
                        notation += this.serialize(Number(key));
                    notation += this.serialize(object[key]);
                }
                return "a:" + length + ":{" + notation + "}";
            } else {
                var className = object.toString();
                var length = 0;
                var notation = "";
                for (var key in object) {
                    length++;
                    notation += this.serialize(key);
                    notation += this.serialize(object[key]);
                }
                return "O:" + className.length + ':"' + className + '":' + length + ":{" + notation + "}";
            }
            break;
        default:
            alert(typeof object);
            break;
    }
    return null;
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
var PHON = new function () {
}
 
PHON.serialize = function (object) {
    switch (object) {
        case null:
            return "N;";
    }
    switch (typeof object) {
        case "boolean":
            return "b:" + (object ? "1;" : "0;");
        case "number":
            if ((object % 1== 0)
                return "i:" + object + ";";
            else
                return "d:" + object + ";";
        case "string":
            return "s:" + this.strlen(object) + ':"' + object + '";';
        case "object":
            if (object.constructor == Array) {
                var length = 0;
                var notation = "";
                for (var key in object) {
                    length++;
                    if ((Number(key) == NaN) || ((Number(key) % 1!= 0))
                        notation += this.serialize(key);
                    else
                        notation += this.serialize(Number(key));
                    notation += this.serialize(object[key]);
                }
                return "a:" + length + ":{" + notation + "}";
            } else {
                var className = object.toString();
                var length = 0;
                var notation = "";
                for (var key in object) {
                    length++;
                    notation += this.serialize(key);
                    notation += this.serialize(object[key]);
                }
                return "O:" + className.length + ':"' + className + '":' + length + ":{" + notation + "}";
            }
            break;
        default:
            alert(typeof object);
            break;
    }
    return null;
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
var PHON = new function () {
}
 
PHON.serialize = function (object) {
    switch (object) {
        case null:
            return "N;";
    }
    switch (typeof object) {
        case "boolean":
            return "b:" + (object ? "1;" : "0;");
        case "number":
            if ((object % 1== 0)
                return "i:" + object + ";";
            else
                return "d:" + object + ";";
        case "string":
            return "s:" + this.strlen(object) + ':"' + object + '";';
        case "object":
            if (object.constructor == Array) {
                var length = 0;
                var notation = "";
                for (var key in object) {
                    length++;
                    if ((Number(key) == NaN) || ((Number(key) % 1!= 0))
                        notation += this.serialize(key);
                    else
                        notation += this.serialize(Number(key));
                    notation += this.serialize(object[key]);
                }
                return "a:" + length + ":{" + notation + "}";
            } else {
                var className = object.toString();
                var length = 0;
                var notation = "";
                for (var key in object) {
                    length++;
                    notation += this.serialize(key);
                    notation += this.serialize(object[key]);
                }
                return "O:" + className.length + ':"' + className + '":' + length + ":{" + notation + "}";
            }
            break;
        default:
            alert(typeof object);
            break;
    }
    return null;
}
 
cs


1 Comments
댓글쓰기 폼