pelican과 GiitHub Pages로 블로그를 만들었어요.

GiitHub,zen에서도 반영할 수 있는 기능을 들어서 기사를 만드는 좋은 체험입니다.
기사를 관리하거나 GiitHub의 GiitHub Actions를 사용하여 오타 감지
그리고 익숙한 편집기로 글을 써서 올릴 수 있다
하지만, 나는 지금 알고 있다. 이 서비스를 할 수 있는 것은zen뿐이다.
엔지니어 관련 기사 외에는 이런 경험이 없다는 것이다.
그래서 pelican과 GiitHub Pages로 제 블로그를 써봤어요.

필요조건


대충 정리를 해보면 ↓ 느낌이 들어요.
  • 로컬에서 글을 쓸 수 있음
  • markdown에 글을 쓸 수 있음
  • 한 명령으로 공개적으로 쓸 수 있는 글
  • 어느 정도 디자인에 유연함
  • 이후 플러그인 등을 통해 블로그를 확장할 수 있음
  • 다음 두 가지는 꼭 필요한 것이 아니지만, 최초의 세 가지는 일의 시작이므로, 만약 안 된다면 말할 수 없다

    pelican


    그래서 찾아봤는데 간단했어요. 파이톤pelican이라는 정적 사이트 생성기였어요.
    파이톤제 포장이기 때문에 pip를 거쳐야 합니다.
    또한, 기본적으로markdown의 출력은 지원되지 않으며, 이에 대응하기 위해markdown의 포장도 추가할 수 있습니다
    pip install pelican markdown
    

    환경 구조

    pelicanmarkdown 설치 후 pelican로 블로그 환경 만들기
    말은 그렇지만, 하는 것은 단지 아래의 명령과 몇 가지 문제에 대답할 뿐이다
    우선 다음 명령을 집행한다
    pelican-quickstart
    
    이렇게 하면 기본적으로 다음과 같은 질문을 받을 수 있다(내가 안 물어보기로 설정했기 때문에 대답에 따라 증감될 수 있다)
    > Where do you want to create your new web site? [.] .
    > What will be the title of this web site? samplesite
    > Who will be the author of this web site? lunachevalier
    > What will be the default language of this web site? [ja] ja
    > Do you want to specify a URL prefix? e.g., https://example.com   (Y/n) n
    > Do you want to enable article pagination? (Y/n) Y
    > How many articles per page do you want? [10] 10
    > What is your time zone? [Europe/Paris] Asia/Tokyo
    > Do you want to generate a tasks.py/Makefile to automate generation and publishing? (Y/n) Y
    > Do you want to upload your website using FTP? (y/N) n
    > Do you want to upload your website using SSH? (y/N) n
    > Do you want to upload your website using Dropbox? (y/N) n
    > Do you want to upload your website using S3? (y/N) n
    > Do you want to upload your website using Rackspace Cloud Files? (y/N) n
    > Do you want to upload your website using GitHub Pages? (y/N) y
    > Is this your personal page (username.github.io)? (y/N) y
    
    또한, 이 설정은 이후에 변경할 수 있기 때문에 특별히 결정되지 않은 항목은 설정하지 않아도 문제가 없다
    초기 형태를 생성하면 다음 디렉터리와 파일을 생성합니다
  • Makefile
  • conntent(마크다운 파일 설정)
  • output(markdown의 출력 결과)
  • pelicanconf.py(pelican의 설정 파일)
  • publishconf.py(공개에 사용된 설정 파일)
  • tasks.py(이번에는 사용하지 않았기 때문에 설명하지 않음)
  • 기사를 쓰다

    content 부하에서 mardown으로 글을 쓰다
    파일의 첫 번째 부분pelican의 문장 규칙은 약간의 정보를 써야 하며, 이외에 여느 때처럼markedown으로 쓸 수 있다.
    Title: 最初の投稿
    Date: 2019-02-24
    Category: テスト
    Tags: テスト, 投稿
    Slug: FirstPost
    Authors: lunachevalier
    Summary: 簡単にブログ作成
    
    # これで簡単に記事が作成できます
    
    デフォルトだと、こんなデザインで出力されます
    

    문장을 만들다


    markdown이 준비되면 다음 명령으로 HTML 파일을 생성합니다
    make html
    
    참고로 이 명령은 로컬에 사용됩니다.

    확인 기사


    성공하면 output 생성된 결과가 나온다
    확인 후 다음 명령을 사용하여 로컬 서버를 시작합니다
    열기
    make serve
    
    http://localhost:8000는 다음과 같이 출력이 성공적입니다.

    pelican 기본 디자인, 마음에 안 들면 ↓ 자원봉사자들이 총괄
    https://github.com/getpelican/pelican-themes
    설계의 변경에 관하여 이번에는 말하지 않겠다

    GiitHub Pages에 공개


    지금까지 현지에서 블로그를 쓰는 환경은 이미 정돈되었지만, 아직 공개되지 않은 환경은
    공개를 위해ghp-import는 GiitHub Pages에 대한 공개 조작을 간소화하는 소프트웨어 패키지로Makefile에서 사용하기 때문에 넣는다
    pip install ghp-import
    
    공개 시 GiitHub Pages, 즉 GiitHub의 창고가 필요하므로 git remote add에 원격 창고가 추가됩니다.
    추가 후 아래 명령으로 공개
    make github
    
    기본적으로 main 분기는 GiitHub Pages에 사용되는 분기이기 때문에 GiitHub의 창고 설정 화면에 지정main 분기
    https://username.github.io/repositoryname/(창고명을 username.github.io로 정하면 repositoryname 방문이 필요하지 않으면 붕괴된 상태로 디자인할 수 있을 것 같아요.
    붕괴된 경우 publishconf.py에 다음과 같은 내용을 추가한다.
    SITEURL = 'https://username.github.io/repositoryname/'
    
    이렇게 한 번 더 make github하면 안전하게 디자인 상태를 반영하여 공개할 수 있다
    도입한 디자인 주제에 따라 상술한 방법으로 반영할 수 없을 것이다

    최후


    공개된 블로그와 그 창고는 ↓
    https://lunachevalier.github.io/markdown-blog/
    https://github.com/LunaChevalier/markdown-blog

    좋은 웹페이지 즐겨찾기