Python으로 만든 Pelican으로 시원하게 블로그를 공개합니다.

Pelican


Python에서 만든 정적 사이트 생성기입니다.그것은 루비가 생산한 Jekyll과 Octropress와 유사하지만, Pelican은 Python만 있으면 작동할 수 있다.GitHub Pages에 공개하는 것도 간단하다.
공식 홈페이지는 충실하지만 일본어 자료가 적어 비망록으로 남겼다.
공식.
http://docs.getpelican.com/en/4.0.1/
▪️작업 환경
macOS Mojave
python 3.6.5
pelican 4.0.1

GitHub Pages


먼저 사이트를 업로드할 GitHub Pages를 만듭니다.
GitHub Pages는 정적 사이트 관리 서비스입니다.GitHub 계정만 있으면 정적 사이트를 바로 공개할 수 있습니다.
그리고 작년부터 독자적인 도메인의 HTTPS화도 대응했다.
https://github.blog/2018-05-01-github-pages-custom-domains-https/
GitHub 사용 방법은 아래 글을 참조하십시오.
[GitHub 초초보자 입문] 그동안 처음 GitHub를 사용하기 시작한 엔지니어 견습생이 쓴 GitHub의 사용법과 실천~ 아무튼 같이 행동하자!
GitHub Pages를 사용하여 웹 사이트를 만들 때 Repository name[ユーザ名].github.io 로 설정합니다.
이에 따라 실제 공개된 사이트 URL은 https://[ユーザ名].github.io 입니다.

설치


venv에서 가상 환경을 만들고 그 중에서 환경을 구축합니다.
venv:Python 가상 환경 관리
여기는pelican을 제외하고markdownghp-import도 설치되어 있습니다.
- Markdown: Markdown 형식으로 글을 씁니다.
- ghp-import: GitHub Pages의 공개 작업
$ pip install pelican markdown ghp-import

quickstart


프로젝트 폴더를 만들고 들어가기pelican-quickstart
$ mkdir project
$ cd project
$ pelican-quickstart
그래서 사이트를 설정하기 위해서는 상당한 문제가 있을 수 있다.(나중에 변경할 수 있음)
> Where do you want to create your new web site? [.] .
   どこにプロジェクトを作成しますか? [ . ]で、カレントディレクトリ。
> What will be the title of this web site? TestBlog
   Webサイトのタイトルは?
> Who will be the author of this web site? TestUser
   Webサイトの著者は?
> What will be the default language of this web site? [English] ja
   使う言語は?
> Do you want to specify a URL prefix? e.g., https://example.com   (Y/n) n
   URLプレフィックスを指定するか?
> 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
   自動生成・公開用の'task.py/Makefile'を作成するか?
> Do you want to upload your website using FTP? (y/N) N
   アップロードにFTPを使うか?
> Do you want to upload your website using SSH? (y/N) N
   アップロードにSSHを使うか?
> Do you want to upload your website using Dropbox? (y/N) N
   アップロードにDropboxを使うか?
> Do you want to upload your website using S3? (y/N) N
   アップロードにS3を使うか?
> Do you want to upload your website using Rackspace Cloud Files? (y/N) N
   アップロードにRackspace Cloud Filesを使うか?
> Do you want to upload your website using GitHub Pages? (y/N) y
   アップロードにGitHub Pagesを使うか?
> Is this your personal page (username.github.io)? (y/N) y
   個人サイトか?

Done. Your new project is available at /Users/TestUser/project
   設定終わり。

문서 작성


마크 다운으로 기사를 써보세요.글은 프로젝트 폴더에 확장자.md로 저장됩니다 content.참고로 세 번째 줄 이후의 [Category:]~[Summary:]는 생략할 수 있습니다.
firstpost.md
Title: 最初の投稿
Date: 2019-02-24
Category: テスト
Tags: テスト, 投稿
Slug: FirstPost
Authors: UserName
Summary: 簡単にブログ作成

## 最初の投稿です。

Hello **world!** My name is *User* @Japan.

|テスト1|テスト2|テスト3|
|---|---|---|
|テスト|テスト|テスト|

**ペリカンを使ってみた.**

    :::python
    print('hello world!')

make html & serve

content에 글을 저장한 후 테스트 페이지를 시작합니다.
makehtml에 저장된 보도 내용은 output 디렉터리에 html 파일군을 생성합니다.serve에서 내장 웹 서버를 시작합니다.
$ make html
$ make serve
좋아하는 웹 브라우저에서 액세스http://localhost:8000.
그리고 아래의 화면을 표시합니다.Markdown에서 기술한 내용을 반영한 것으로 볼 수 있습니다.그리고 같은 순서로 기사를 content에 추가하고 중복make html만 추가 투고 페이지에 추가합니다.

GitHub 페이지에 게시

make publish, 공개용 html 파일 그룹 생성.
프로젝트 디렉터리에 저장소를 만듭니다.그래서 .git 라는 하위 디렉토리를 만듭니다.그리고 ghp-import를 이용하여push를 원격 저장소로 이동합니다.
$ make publish
$ git init
  => Initialized empty Git repository in /Users/TestUser/project/.git/
$ ghp-import output
$ git push https://github.com/[ユーザ名]/[ユーザ名].github.io.git gh-pages:master
이렇게 하면 필요한 파일만 GitHub의 저장소로 push되고 https://[ユーザ名].github.io 공개됩니다.
※ 반영 시간 지연(길게는 10분 정도?)있기 때문에 이따가 다시 방문하겠습니다.

테마 변경


저는 개인적으로 Pelican의 기본 주제가 미묘하다고 생각하지만 여러 가지 주제를 간단하게 도입할 수 있습니다.
블로그에 주제 도입

좋은 웹페이지 즐겨찾기