Meadows of wild horses

Blog...

Catalyst

| Comments

init catalyst project in silex

카탈리스트 시작을 위해 Helper를 준비합니다.

$ git clone git://github.com/aanoaa/Catalyst-Helper-View-TTSilex.git
...
$ git clone git://github.com/aanoaa/Catalyst-Helper-Carton.git
...
$ cd Catalyst-Helper-View-TTSilex/
$ git checkout develop
$ dzil build
...
$ cd Catalyst-Helper-View-TTSilex-v0.0.1/
$ perl Makefile.PL
...
$ make && make install
...
$ cd ../../Catalyst-Helper-Carton/
$ dzil build
$ cd Catalyst-Helper-Carton-v0.0.1/
$ perl Makefile.PL
...
$ make && make install

catalyst.pl을 사용 하여 Foo::Web을 생성합니다.

$ cd ~/yourworkspace/
$ catalyst.pl Foo::Web
...

파일명을 수정하여 줍니다.

$ cd Foo-Web/
$ mv foo_web.psgi app.psgi

스크립트를 사용하게 되면 .conf.new 파일이 생성이 되며 .conf파일에 붙여줍니다.

$ script/foo_web_create.pl view Bootstrap TTSilex
...
$ vi foo_web.conf <<--- foo_web.conf.new

카툰을 설치 하고 Make 파일에 추가 하라는 메세지가 나옵니다.

$ script/foo_web_create.pl Carton
...
$ vim Makefile.PL    # add dependencies

위의 단계에서 명시된 모듈 및 추가 필요 모듈

//명시
requires "Starman";
requires "Devel::Cover";
requires "Perl::Metrics::Lite";
requires "TAP::Formatter::JUnit";

//추가
requires 'Catalyst::Plugin::Unicode::Encoding';
requires "Catalyst::View::TT";

한글 인코딩 문제

$ lib/Foo/Web.pm

use utf8;
use Catalyst qw/
-Debug
ConfigLoader
Static::Simple
#추가
Unicode::Encoding
/;

인스톨

$ carton install
...

부분 인스톨

$ carton install <모듈네임> 합니다.

Controller 생성

$ script/foo_web_create.pl controller List

$ cd lib/Foo/Web/Controller
$ vi List.pm
// 주석처리
# $c->response->body('Matched Foo::Web::Controller::List in List.');

View 생성

$ mkdir root/templates/bootstap/src/list
$ cd root/templates/bootstrap/src/list
$ vi index.tt
  <p>나는 지금 한글을 테스트 중입니다.</p> 작성

실행

$ ./run

.gitignore

# inspire by github/gitignore
blib/
.build/
_build/
cover_db/
inc/
Build
Build.bat
.last_cover_stats
Makefile
Makefile.old
MANIFEST.bak
META.yml
MYMETA.yml
nytprof.out
pm_to_blib
# custom
local/
.sass-cache/
tt_cache/
.carton/
*.log
session
MYMETA.json
carton.lock

script/bootstrap.pl

이건 헬퍼 없습니다. 프로젝트마다 손으로 복사합니다.

https://gist.github.com/2761721

Comments