代表の佐野です。好きなプログラミング言語はPythonです!
技術ブログをはじめるにあたって、最初にどうやってブログを作ろうかなと考えていました。最近だとNoteやStudioのようなSaaS、WordPressのようなサーバーを用意して利用するサーバーアプリケーションがあります。このサイトはどうやって作っているかというと、静的サイトジェネレーターというものを使っています。
静的サイトジェネレーターとは
静的サイトジェネレーターは、サーバーとして動作するWEBアプリとは異なり、WEBサイトを構成するファイルのみを生成し、WEBサーバーへ公開できるジェネレーターアプリです。
メリットは動的に動作するWEBアプリケーションに比べ、サーバーの負荷が低く(これによりコストも削減できます)、セキュリティが高く、デプロイが簡単です。デメリットは、CMS(コンテンツマネジメントシステム)のように直感的に操作できるわけではなく、技術的な知識も多く求められます。
Pelicanを使ってブログを作る
このサイトはPelicanというPythonで書かれた静的サイトジェネレーターを利用して作られています。reStructuredTextやMarkdownで記事を書いて、テーマを適用してWEBサイトを生成できます。
また弊社WEBサイトはAmazon Web Services(AWS)S3というストレージサービスを使って公開しています。AWS S3は静的WEBホスティングができるので、こういった生成したHTMLファイルのみを使ったWEBサイトを公開するときには便利です。
Pythonのインストール(本当は仮想環境などの話が少しあったり)やAWS S3の設定などは割愛しますが、Pelicanを使ってブログを作る手順を簡単に紹介します。
前準備
- Pythonのインストール。3.12がこの記事での最新です。
- pipx:Pythonで作られるコマンドラインツールを管理するツールがあると便利です。インストールされていることを前提に進めます。
メインの作業
pipx install "pelican[markdown]"
mkdir myblog
cd myblog
pelican-quickstart
# (必要な質問に答えていきます。英語での質問になります。
Pelicanの環境が作られたら、大体が以下のようなディレクトリ構成になると思われます。
myblog/
├── content
│ └── (Markdownファイル)
├── output
├── pelicanconf.py
├── publishconf.py
└── Makefile
contentフォルダーの中にstart-blog.md
というファイルをつくって、以下を書いてみます。
---
Title: はじめてのブログ
Date: 2024-04-12
Category: ブログ
Tags: ブログ, Pelican
Slug: start-blog
Summary: はじめてのブログを書いてみました。
---
はじめてのブログを書いてみました。これからもよろしくお願いします。
ブログの記事を書いたら、以下のコマンドでWEBサイトを生成してプレビューを表示してみましょう(開発サーバーを起動します)。
pelican -lr
http://127.0.0.1/8000
へアクセスすると、ブログの記事が表示されます。
終わりに
設計事務所のテックブログで(想定読者のことなど考えずに)いきなりPythonの話やWEBサイトの話を書いてしまいましたが、会社WEBサイトの改修をしていたので、どうせならとまとめてみました。
設定やサイトのデザインを含めて、静的サイトジェネレーターのサイト構築には知識が求められる方法ですが、PythonでWEBサイトを作りたいときの選択肢の1つとして、Pelicanを使ってみてはいかがでしょうか。