PelicanとAWSでブログサイトを作成する

March 07, 2020

AWS構成

pelican blog 構成は以下となり、 このサイト自体が静的サイトジェネレーターであるPelicanで作成したサイトとなる。(2020年3月時点)

  • Route 53

    • ドメインの取得
    • サブドメイン(blog.)の作成
  • AWS Certificate Manager(ACM)

    • CloudFrontで使用可能なバージニア北部リージョンで証明書を発行
  • S3

    • ブログの中身を格納するためのバケット作成  
  • CloudFront

AWS費用イニシャル

$18.9 また、ランニングについては 最初は1ドルも掛からない

Pelicanインストールと初期セットアップ

Pelican公式ドキュメントInstalling Pelicanに従いPelicanを使う環境をセットアップしていく。 以下のコードブロックはPelicanセットアップ時に実際に表示されるものとなる。

pelican-quickstart
Welcome to pelican-quickstart v4.0.1.

This script will help you create a new Pelican-based website.

Please answer the following questions so this script can generate the files needed by Pelican.

項目を選びながらセットアップをしていく。[]と大文字(例えばYと書いていれば)それは何も選択、入力しなかった場合のデフォルト値となる。

> Where do you want to create your new web site? [.] 
> What will be the title of this web site? blog.mitsukuni.me
> Who will be the author of this web site? mitsukuni
> What will be the default language of this web site? [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) 
> How many articles per page do you want? [10] 
> What is your time zone? [Asia/Tokyo] 
> Do you want to generate a tasks.py/Makefile to automate generation and publishing? (Y/n) 
> Do you want to upload your website using FTP? (y/N) 
> Do you want to upload your website using SSH? (y/N) 
> Do you want to upload your website using Dropbox? (y/N) 
> Do you want to upload your website using S3? (y/N) 
> Do you want to upload your website using Rackspace Cloud Files? (y/N) 
> Do you want to upload your website using GitHub Pages? (y/N)

Done. Your new project is available at /Users/mitsukuni/projects/blog_mitsukuni

以上でPelicanの初期セットアップは完了となる。

Markdown(マークダウン)でブログを書く方法について

マークダウンが使えるため、これでサイトに記載する内容を書いていく。

  • 文の末尾一行にスペースを2回入れる

改行

  • ##

見出し2

  • マークダウンのエスケープ

バックスラッシュ、\を使う。Mac USキーボードだとreturnキーの上のボタンを使う

よく使うコマンドとファイルのアップロードについて

$ make html
$ make serv
$ make publish

make htmlでhtmlを生成、servでローカルホストを立ち上げ、 ブラウザへ http://localhost:8000/ と入力し生成したhtmlを確認できる。 make publishでoutput以下に生成される公開用ファイルを CyberduckでAWSへアップロードする

今後の改善点

  • サイト、フォルダ構造の整備
  • 今はCyberduckでフォルダはアップロードしているが、ここら辺はもう少し変えていきたい
  • ブログ投稿日は自動で生成できそうだが…
  • 次は画像付きのブログを投稿してみたい
  • 自分で作成したフォルダ、例えばabout以下では投稿日時等を表示できない
  • syntaxはPygmentsに沿っているようだが、ここら辺も、もう少し理解していく必要がある
  • 行間が狭い, etc.

所感を述べていくと

私の場合マークダウンに慣れが必要だと思った。 マークダウンで書くことに総じて時間が掛かっていたような気も… 一方こうした作業は面白いと思う。 時間を使っていて集中できるし、できたものを見るのも面白い。 アウトプットの場を自分の好きなツールで作れたのは大きいと思う。 最近はプライベートではインプットばかりでアウトプットが少ないと課題に感じていたため。 学んだことを纏め発信しなおすことは考えの整理、 物事のより深い理解へ繋げていけると思う。


Profile picture

Written by Mitsukuni Ikeda who lives and works as a IT Consultant in Tokyo. You should follow them on GitHubTwitch or Steam