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 를 재기동시켜 줍니다.

어드민에서 포스트 주소를 한글로 변경 후 접속해 봤습니다.

Subscribe to X세대 신입사원

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe
774-86-01972 cinnabar.3d@gmail.com