Python으로 만든 Pelican으로 시원하게 블로그를 공개합니다.
7772 단어 GitHubgithubpagespelicanPython
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을 제외하고markdown
과ghp-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.mdTitle: 最初の投稿
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의 기본 주제가 미묘하다고 생각하지만 여러 가지 주제를 간단하게 도입할 수 있습니다.
블로그에 주제 도입
Reference
이 문제에 관하여(Python으로 만든 Pelican으로 시원하게 블로그를 공개합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/saira/items/71faa202efb4320cb41d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ pip install pelican markdown ghp-import
$ 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
設定終わり。
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
$ make serve
$ 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
Reference
이 문제에 관하여(Python으로 만든 Pelican으로 시원하게 블로그를 공개합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/saira/items/71faa202efb4320cb41d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)