ghost 5 한글주소 사용하기
ghost 에서 /뒤에 붙는 주소를 한글로 하면 검색시 유리하다는 루머( ? )를 들었습니다.
실행에 옮겨 봅니다.
- 환경 : ubuntu 22.04
- 버전 : ghost 5.2.2
ghost 4 의 수정방법과 조금 다릅니다.
수정할 파일은 2개입니다.
- /var/www/[블로그명]/versions/[버전]/node_modules/@tryghost/string/lib/slugify.js
- /var/www/[블로그명]/versions/[버전]/node_modules/@tryghost/validator/lib/validator.js
slugify.js 수정
ghostrun@m6:/$ cd /var/www
cd /var/www 로 이동합니다.
ghostrun@m6:/var/www$ find . -name "*.js" -type f | xargs grep "string = unidecode(string)"
./blog/versions/5.2.2/node_modules/@tryghost/string/lib/slugify.js:// string = unidecode(string);
find 명령어를 이용해 해당 파일 위치를 찾습니다.
ghostrun@m6:/var/www$ sudo vi /blog/versions/5.2.2/node_modules/@tryghost/string/lib/slugify.js
해당 파일을 vi 를 이용해 편집합니다.
string = unidecode(string);
vi 검색모드로 "string = uni" 를 검색해서 위 라인을 찾습니다.
// 한글주소 입력
// string = unidecode(string);
해당 라인을 주석처리하고 esc -> ":wq" 엔터로 저장 후 종료를 합니다.
validator.js 수정
ghostrun@m6:/var/www$ cd /var/www
ghostrun@m6:/var/www$ find . -name "validator.js" -type f | xargs grep "str, /^"
/var/www 로 이동해서 해당 파일을 찾습니다.
./blog/versions/5.2.2/node_modules/@tryghost/validator/lib/validator.js: return validators.matches(str, /^[a-z0-9\-_ㄱ-ㅎㅏ-ㅣ가-힣]+$/);
파일의 위치입니다.
ghostrun@m6:/var/www$ sudo vi /var/www/blog/versions/5.2.2/node_modules/@tryghost/validator/lib/validator.js
vi 를 이용해 편집모드로 들어갑니다.
validators.isSlug = function isSlug(str) {
assertString(str);
return validators.matches(str, /^[a-z0-9\-_]+$/);
};
이부분을 아래 코드로 수정해 줍니다.
validators.isSlug = function isSlug(str) {
assertString(str);
return validator.matches(str, /^[a-z0-9\-_ㄱ-ㅎㅏ-ㅣ가-힣]+$/);
};
esc -> wq! 로 저장 후 종료시킵니다.
ghostrun@m6:/var/www$ cd /var/www/blog
ghostrun@m6:/var/www/blog$ ghost restart
ghost 를 재기동시켜 줍니다.
어드민에서 포스트 주소를 한글로 변경 후 접속해 봤습니다.