Hexo .DS_Store TypeError 해결 방법
오늘도 Hexo 블로그를 열심히 하던 중에 알 수 없는 에러를 만났습니다. 이것 때문에 generate 는 커녕 로컬 서버도 안되더군요. 별로 바꾼 것도 없는데 이렇게 되니 당황스러웠습니다.
Hexo .DS_Store TypeError 해결 방법
오늘도 Hexo 블로그를 열심히 하던 중에 알 수 없는 에러를 만났습니다. 이것 때문에 generate 는 커녕 로컬 서버도 안되더군요. 별로 바꾼 것도 없는데 이렇게 되니 당황스러웠습니다.
이전 포스트에서 검색과 웹 사이트 최적화에 대해 이야기를 했습니다. 구글 검색 엔진이 어떻게 동작하는지, 내 블로그가 검색이 잘 되게 하기 위해서 구글/네이버 웹 마스터 도구를 이용해서 페이지를 최적화했습니다.
Hexo 에 Github 저장소 타임라인 (Repository timeline) 정보 추가하기
이전 포스트에서 github 유저 혹은 리파지토리의 정보를 가지고 있는 네임카드를 Hexo 블로그에 달아봤습니다. 저는 사이드바에 달아서 지금 블로그를 보시면 네임카드를 확인해보실 수 있습니다. Github 관련 유용한 플러그인이 하나 또 있어서 추천드리려고 합니다.
Hexo 는 이전 포스트 에서 알아본 간단한 커맨드만 있어도 충분히 사용 가능합니다. 하지만 Hexo 는 편하게 블로깅할 수 있는 여러가지 기능을 제공합니다. 이번 포스트에서는 기본적인 사용법을 좀 더 자세히 알아보겠습니다. 알아볼 기능들은 다음과 같습니다.
마크다운을 작성할 파일을 만드는 것부터 시작합니다. 다음 명령어를 통해 작성할 마크다운 파일이 해당 경로에 생성됩니다.
1 | $ hexo new [layout] <title> |
| 레이아웃 | 파일 경로 |
|---|---|
| post | source/_posts |
| page | source |
| draft | source/_drafts |
홈페이지에 게시가 되는 기본적인 글입니다. 블로그에 새 글을 작성하는 것이라고 볼 수 있습니다. 기본 레이아웃이라서 레이아웃 종류를 입력하지 않아도 포스트로 자동 인식합니다. 기본 레이아웃은 _config.yml 의 default_layout 항목에서 변경 가능합니다.
포스트처럼 새 글을 추가하는 것이 아니라 해당 경로로 접근해야 볼 수 있는 페이지를 작성할 때 사용합니다.
draft 는 바로 게시하지 않고 작성할 수 있는 초안입니다. 따라서 포스트를 작성할 때 먼저 초안으로 작성하고, 다 작성한 후에 publish 명령어로 배포하는 형식으로 게시할 수 있습니다. 여러 개의 포스트를 작성 중일 때, 바로 반영 안할 포스트는 로컬에 따로 저장해놨다가 나중에 복붙하는 작업이 귀찮았는데 그럴 필요가 없었군요.
저는 초안을 자주 사용해서 draft 를 기본 레이아웃으로 변경했습니다. _config.yml 의 default_layout 을 draft 로 변경하면, hexo new <title> 로 생성했을 때 포스트가 아닌 드래프트가 만들어집니다.
하지만 작업하면서 실제 화면에서 어떻게 보일지 궁금합니다. 로컬 서버 돌릴 때 --draft 옵션을 주면 로컬서버에서 draft 로 작성한 것도 확인할 수 있습니다.
1 | $ hexo server --draft |
매번 이렇게 실행하는 것이 귀찮으시다면, _config.yml 파일에서 render_drafts 항목을 true 로 주시면 됩니다. 하지만 이 경우에는 원격 서버에도 초안이 드러나기 때문에 굳이 이렇게 설정할 필요는 없을 것 같네요.
1 | # Writing |
1 | $ hexo new [layout] <title> |
여기서 입력하는 title 이 기본적으로 파일명이 됩니다. 파일명이 곧 페이지의 url 이 되기 때문에 파일명은 본문 내용의 핵심 키워드를 조합해서 만드는 것이 좋습니다. 그래야 검색에 잘 노출되기 때문이죠.
1 | $ hexo new post 'test page' |
위와 같은 명령어를 치면, test-page.md 라는 파일이 생성됩니다. 만약 날짜로 prefix 를 붙이고 싶다면 :year:month:day-:title.md 이런 식으로 placeholder 를 이용해서 커스터마이징 할 수 있습니다. 제가 현재 사용하는 방법인데 앞에 날짜가 붙어 있으면 날짜 별로 구분할 수 있어서 좋습니다.
1 | # Writing |
사용할 수 있는 placeholder 는 다음과 같습니다.
| Placeholder | 설명 |
|---|---|
| :title | 포스트 제목 (소문자만 가능, 공백 (space)은 하이픈 (-)으로 변경됨) |
| :year | 생성 연도, e.g. 2015 |
| :month | 생성 월 (0 포함), e.g. 04 |
| :i_month | 생성 월, e.g. 4 |
| :day | 생성 날짜 (0 포함), e.g. 07 |
| :i_day | 생성 날짜, e.g. 7 |
스캐폴드는 사전에서 찾아보면 ‘높은 곳에서 공사를 할 수 있도록 임시로 설치한 가설물’ 이라고 나옵니다. 즉, 포스트, 페이지, 드래프트를 만들 때 처음에 나오는 구조를 정의하는 파일입니다. 물론 커스텀 스캐폴드를 만들어서 사용할 수도 있겠죠.
1 | --- |
Hexo 태그 플러그인 (Tag plugins) 살펴보기
Hexo 는 마크다운 외에 포스트를 작성하기 위한 자체적인 문법을 지원합니다. 그것을 태그 플러그인 이라고 합니다. 처음에는 마크다운이면 충분하지 않을까 싶어서 사용하지 않았었는데 유용한 기능들이 꽤 있더군요. 익숙해지시면 편하게 사용할 수 있는 태그 플러그인을 살펴보겠습니다.
Hexo 블로그에 구글 애드센스(Adsense) 추가하기
블로그가 광고로 지저분해지는 게 마냥 좋은 건 아니지만, 그래도 광고 수입을 포기할 수 없죠. 인터넷 뉴스 사이트처럼 광고로 점칠되어 있는 정도가 아니라면 괜찮을 것 같습니다. 내용에 읽는데 무리가 없되 적당히 눈에 잘 띄는 곳에 설치해보겠습니다.
오픈 그래프 (Open Graph) 태그와 페이스북 도메인 인사이트 (Domain Insight)