{"id":98,"date":"2007-07-17T10:17:25","date_gmt":"2007-07-17T10:17:25","guid":{"rendered":"http:\/\/newblog.mix1009.net\/?p=98"},"modified":"2020-10-27T21:24:37","modified_gmt":"2020-10-27T12:24:37","slug":"trac-%ec%97%85%ea%b7%b8%eb%a0%88%ec%9d%b4%eb%93%9c-plugin","status":"publish","type":"post","link":"https:\/\/mix1009.net\/?p=98","title":{"rendered":"trac \uc5c5\uadf8\ub808\uc774\ub4dc &#038; plugin"},"content":{"rendered":"<p>trac \uc0ac\uc6a9\ud558\uba74\uc11c \uaf2d \uc54c\uc544\uc57c\ud560 \uc0ac\uc774\ud2b8\uc778 <a href=\"http:\/\/trac-hacks.org\">trac-hacks.org<\/a> \uc5d0 \ub300\ud574\uc11c\ub294 \uc624\ub798\uc804\ubd80\ud130 \uc54c\uace0 \uc788\uc5c8\uc9c0\ub9cc \ud06c\uac8c \ud544\uc694\uac00 \uc5c6\uc5b4\uc11c \ud50c\ub7ec\uadf8\uc778\uc740 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc558\uc5c8\uc2b5\ub2c8\ub2e4. \ud2f0\ucf13\uc5d0\uc11c \uc608\uc0c1\uc644\ub8cc\uc77c\uc790\ub97c \uc124\uc815\ud558\ub824\uace0 \ud558\ub2c8 \ub2ec\ub825\uc5d0\uc11c \ubcf4\uace0 \uc124\uc815\ud560\uc218 \uc788\uc73c\uba74 \uc88b\uaca0\ub2e4\ub294 \uc0dd\uac01\uc774 \ub4e4\uc5c8\uc2b5\ub2c8\ub2e4. \uadf8\ub798\uc11c trac-hacks\ub97c \ucc3e\uc544\ubcf4\ub2c8 \uc5ed\uc2dc \ud50c\ub7ec\uadf8\uc778 \uc788\ub124\uc694 ^^. \ubb3c\ub860 trac \uc790\uccb4\uc5d0\uc11c\ub3c4 custom field\ub97c \uc9c0\uc6d0\ud558\uc9c0\ub9cc, \ub2ec\ub825\uc5d0\uc11c \ub0a0\uc9dc\ub97c \uace0\ub97c\uc218 \uc788\ub294 \ud50c\ub7ec\uadf8\uc778\uc778 TracDatePlugin\uc740 \uaf2d \uc124\uce58\ud558\uace0 \uc2f6\ub354\uad70\uc694. \uadf8\ub7f0\ub370 \ud50c\ub7ec\uadf8\uc778\uc744 \uc124\uce58\ud558\ub824\uace0 \ubcf4\ub2c8 0.9.X\uc5d0\uc11c\ub294 \ub3d9\uc791\uc744 \uc548\ud55c\ub2e4\uace0 \ud558\ub354\uad70\uc694. \uadf8\ub798\uc11c \uc5c5\uadf8\ub808\uc774\ub4dc\ub97c \ud588\uc2b5\ub2c8\ub2e4. \ubb3c\ub860 \uc77c\ub2e8 \ubc31\uc5c5\ubc1b\uace0 \uc2dc\uc791\ud588\uc8e0.<\/p>\n<p>\uc804\uc5d0 \uc0ac\uc6a9\ud558\ub358 \ubc84\uc804\uc774 0.9.6\uc774 \uc600\ub294\ub370 FreeBSD ports\ub97c \ud1b5\ud574\uc11c 0.10.4 \ubc84\uc804\uc73c\ub85c \uc5c5\uadf8\ub808\uc774\ub4dc\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<div style=\"padding: 10px; background-color: rgb(228, 228, 228)\"># cd \/usr\/ports\/www\/trac<br \/>\n# make deinstall<br \/>\n# make install<br \/>\n# trac-admin \/TRAC\/PATH upgrade<br \/>\n# \/usr\/local\/etc\/rc.d\/lighttpd restart\n<\/div>\n<p>\ntrac-admin \uc2e4\ud589\ud574\uc8fc\uace0 \uc6f9\uc11c\ubc84 \uc7ac\uc2dc\uc791\ud558\ub2c8 \uc5c5\uadf8\ub808\uc774\ub4dc\uac00 \uc815\uc0c1\uc801\uc73c\ub85c \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<p>trac plugin\uc740 egg\ub77c\uace0 zip \ud30c\uc77c \ud615\ud0dc\uc758 \ud328\ud0a4\uc9c0\ub97c \uc774\uc6a9\ud558\ub3c4\ub85d \ub418\uc5b4\uc788\uc2b5\ub2c8\ub2e4. python\uc740 \uc624\ub798\uc804\ubd80\ud130 \uc0ac\uc6a9\ud588\uc9c0\ub9cc, egg \ud328\ud0a4\uc9c0\ub294 \ucc98\uc74c \uc0ac\uc6a9\ud574\ubcf4\ub294\ub370 java\uc758 jar \uc815\ub3c4 \ub418\ub294\uac70 \uac19\ub124\uc694. \ud328\ud0a4\uc9c0\uc758 \uc885\uc18d\uc131\ub4f1\uc758 \uba54\ud0c0 \uc815\ubcf4\ub97c \ub123\uc744\uc218 \uc788\ub2e4\uace0 \ud569\ub2c8\ub2e4. \ud558\uc9c0\ub9cc, \uc18c\uc2a4\uc5d0\uc11c \ubb58 \ubc14\uafb8\ub824\ud574\ub3c4 zip \uc548\uc5d0 \ub4e4\uc5b4\uc788\uc5b4\uc11c \ubc14\ub85c \ud3b8\uc9d1\ud558\uae30 \uc5b4\ub824\uc6b8\ub4ef\ud558\ub124\uc694. Egg\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 <a href=\"http:\/\/peak.telecommunity.com\/DevCenter\/PythonEggs\">\uc5ec\uae30<\/a>\ub97c \ucc38\uace0\ud558\uc138\uc694.<\/p>\n<p>egg \ud30c\uc77c\uc740 \ub2e8\uc21c\ud788 py, pyc \ud30c\uc77c\ub4f1\uacfc \uba54\ud0c0 \uc815\ubcf4\ub97c \uc555\ucd95\ud55c zip \ud30c\uc77c\uc785\ub2c8\ub2e4. egg \ud30c\uc77c\uc744 \ub9cc\ub4e4\uae30 \uc704\ud574\uc11c\ub294 setuptools\uac00 \ud544\uc694\ud558\ub2e4\uace0 \ud569\ub2c8\ub2e4. \uc5ed\uc2dc FreeBSD ports\ub97c \uc774\uc6a9\ud574 \uc124\uce58\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<div style=\"padding: 10px; background-color: rgb(228, 228, 228)\"># cd \/usr\/ports\/devel\/py-setuptools<br \/>\n# make install\n<\/div>\n<p>\n\uadf8\ub9ac\uace0 <a href=\"http:\/\/trac.edgewall.org\/wiki\/TracPlugins\">trac plugin \uc124\uba85 \ud398\uc774\uc9c0<\/a>\uc5d0\uc11c \uc124\uba85\ud55c \ub300\ub85c ez_setup\uc744 \uc124\uce58\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<div style=\"padding: 10px; background-color: rgb(228, 228, 228)\"># wget http:\/\/peak.telecommunity.com\/dist\/ez_setup.py<br \/>\n# python ez_setup.py\n<\/div>\n<p>\n\uc774\ub807\uac8c \ud558\uace0 \ud544\uc694\ud55c \ud50c\ub7ec\uadf8\uc778\uc744 \ubc1b\uace0 egg \ud30c\uc77c\uc744 \uc544\ub798\uc640 \uac19\uc774 \ub9cc\ub4e4\uba74 \ub429\ub2c8\ub2e4.<\/p>\n<div style=\"padding: 10px; background-color: rgb(228, 228, 228)\">$ unzip datefieldplugin.zip<br \/>\n$ cd datefieldplugin\/0.10<br \/>\n$ python setup.py bdist_egg<br \/>\n$ cd dist<br \/>\n$ cp TracDateField-1.0.1-py2.4.egg \/TRAC\/PATH\/plugins\n<\/div>\n<p>\n\ud50c\ub7ec\uadf8\uc778 \uc18c\uc2a4 \ubc1b\uc740\ud6c4 \uc555\ucd95\ud480\uace0, setup.py\ub97c \ucc3e\uc544\uc11c \uc704\ucc98\ub7fc \uc2e4\ud589\ud574\uc8fc\uba74 dist \ub514\ub809\ud1a0\ub9ac \ubc11\uc5d0 egg \ud30c\uc77c\uc774 \ub9cc\ub4e4\uc5b4\uc9c0\uace0, \uc774 \ud30c\uc77c\uc744 trac plugin \ub514\ub809\ud1a0\ub9ac\uc5d0 \uc62e\uaca8\uc8fc\uace0 \uc6f9\uc11c\ubc84\ub97c \uc7ac\uc2dc\uc791\ud558\uba74 \ub429\ub2c8\ub2e4.<\/p>\n<p>\ud50c\ub7ec\uadf8\uc778 \uc911\uc5d0 \uc81c\uac00 \uc0ac\uc6a9\uc911\uc778 \uac83 2\uac1c\ub9cc \uc18c\uac1c\ud569\ub2c8\ub2e4.<\/p>\n<p><a href=\"http:\/\/projects.edgewall.com\/trac\/wiki\/WebAdmin\">TracWebAdmin<\/a> 0.1.2dev-r4240 : trac-admin\uc744 \uc6f9\ud398\uc774\uc9c0\ub97c \ud1b5\ud574\uc11c \ud560\uc218 \uc788\ub3c4\ub85d \ud574\uc8fc\ub294 \ud50c\ub7ec\uadf8\uc778\uc73c\ub85c trac\uc744 \uac1c\ubc1c\ud55c edgewall\uc5d0\uc11c \uac1c\ubc1c\ud55c \uac70\uace0, trac 0.11\uc5d0\uc11c\ubd80\ud130\ub294 \uae30\ubcf8\uc73c\ub85c \ud3ec\ud568\ub41c\ub2e4\uace0 \ud569\ub2c8\ub2e4. trac-admin \uc0ac\uc6a9\ud558\uba74 \uc774 \uc815\ub3c4 \uae30\ub2a5\uc740 \uc6f9\uc5d0\uc11c \uac00\ub2a5\ud574\uc57c\ud55c\ub2e4\uace0 \uc0dd\uac01\ud588\uc5c8\ub294\ub370, \uaf2d \uc124\uce58\ud574\uc57c\ud560 \ud544\uc218 \ud50c\ub7ec\uadf8\uc778\uc774\ub124\uc694.<\/p>\n<p><img loading=\"lazy\" src=\"https:\/\/mix1009.net\/wp-content\/uploads\/1\/1009161107.png\" class=\"aligncenter\" width=\"500\" height=\"357\" alt=\"\" \/><\/p>\n<p>\n<a href=\"http:\/\/trac-hacks.org\/wiki\/DateFieldPlugin\">TracDateField<\/a> 1.0.1 : custom field\uc5d0 \ub0a0\uc9dc\ub97c \uc124\uc815\ud560\uc218 \uc788\uac8c \ud574\uc90d\ub2c8\ub2e4. \uc544\ub798\uc640 \uac19\uc774 \ud2f0\ucf13 \ub9cc\ub4e4\ub54c custom field\ub85c date\ub85c \uc124\uc815\ud558\uba74 \ub2ec\ub825\uc744 \ubcf4\uace0 \ub0a0\uc9dc\ub97c \uc124\uc815\ud560\uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" src=\"https:\/\/mix1009.net\/wp-content\/uploads\/1\/1132147135.png\" class=\"aligncenter\" width=\"500\" height=\"409\" alt=\"\" \/><br \/>\n<input name=\"plugin_filename\" value=\"TracThemeEngine-1.0-py2.4.egg\" type=\"hidden\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>trac \uc0ac\uc6a9\ud558\uba74\uc11c \uaf2d \uc54c\uc544\uc57c\ud560 \uc0ac\uc774\ud2b8\uc778 trac-hacks.org \uc5d0 \ub300\ud574\uc11c\ub294 \uc624\ub798\uc804\ubd80\ud130 \uc54c\uace0 \uc788\uc5c8\uc9c0\ub9cc \ud06c\uac8c \ud544\uc694\uac00 \uc5c6\uc5b4\uc11c \ud50c\ub7ec\uadf8\uc778\uc740 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc558\uc5c8\uc2b5\ub2c8\ub2e4. \ud2f0\ucf13\uc5d0\uc11c \uc608\uc0c1\uc644\ub8cc\uc77c\uc790\ub97c \uc124\uc815\ud558\ub824\uace0 \ud558\ub2c8 \ub2ec\ub825\uc5d0\uc11c \ubcf4\uace0 \uc124\uc815\ud560\uc218 \uc788\uc73c\uba74 \uc88b\uaca0\ub2e4\ub294 \uc0dd\uac01\uc774 \ub4e4\uc5c8\uc2b5\ub2c8\ub2e4. \uadf8\ub798\uc11c trac-hacks\ub97c \ucc3e\uc544\ubcf4\ub2c8 \uc5ed\uc2dc \ud50c\ub7ec\uadf8\uc778 \uc788\ub124\uc694 ^^. \ubb3c\ub860 trac \uc790\uccb4\uc5d0\uc11c\ub3c4 custom field\ub97c \uc9c0\uc6d0\ud558\uc9c0\ub9cc, \ub2ec\ub825\uc5d0\uc11c \ub0a0\uc9dc\ub97c \uace0\ub97c\uc218 \uc788\ub294 \ud50c\ub7ec\uadf8\uc778\uc778 TracDatePlugin\uc740 \uaf2d \uc124\uce58\ud558\uace0 \uc2f6\ub354\uad70\uc694. \uadf8\ub7f0\ub370 \ud50c\ub7ec\uadf8\uc778\uc744 \uc124\uce58\ud558\ub824\uace0 \ubcf4\ub2c8 0.9.X\uc5d0\uc11c\ub294 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[19],"tags":[31,89],"_links":{"self":[{"href":"https:\/\/mix1009.net\/index.php?rest_route=\/wp\/v2\/posts\/98"}],"collection":[{"href":"https:\/\/mix1009.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mix1009.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mix1009.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mix1009.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=98"}],"version-history":[{"count":1,"href":"https:\/\/mix1009.net\/index.php?rest_route=\/wp\/v2\/posts\/98\/revisions"}],"predecessor-version":[{"id":314,"href":"https:\/\/mix1009.net\/index.php?rest_route=\/wp\/v2\/posts\/98\/revisions\/314"}],"wp:attachment":[{"href":"https:\/\/mix1009.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=98"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mix1009.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=98"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mix1009.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}