本サイトのディレクトリ構造 (WebsiteWithPython #2)

icon

本ホームページの構成を紹介する. pythonで作る静的高速サイト というシリーズで執筆している.

テンプレートのcodesはGitHub: Website with Pythonで公開している.

#2は本サイトのディレクトリ構造について記す.

サイト構造

全体像

テンプレートのcodesはGitHub: Website with Pythonで公開している.

  • _draft: 記事のテンプレートファイルの置き場所
  • convert: 変換用のpythonファイル, サイト内のヘッダー等のtemlateのhtml等の置き場所
  • public: 公開する場所. サーバの設定などでここを公開用のディレクトリとすれば, この直下がトップページとなる

 

全ディレクトリの詳細

 

記事テンプレート _draft

dataディレクトリ

記事内の画像等を格納するディレクトリ

 

_generate-icon.command

iconを作成するcommandファイル

詳細は コマンドでテキスト入り画像を作る に記載している.

 

_width2000.command

同ディレクトリにある画像のwidthを2000pxに統一するcommandファイル.

2000という箇所を変えれば他のpxサイズに統一できる

 

index-article-meta.json

記事のメタ情報に関するjsonファイル.

  • published-datetime: 記事の公開日時
  • upadte-datetime: 記事の更新日時
  • description: 記事の概要を書く. 記事のhtmlのhead内のdescriptionに書き込まれる.
  • keywords: 記事のキーワードを書く. 記事のhtmlのhead内のkeywordsに書き込まれる.

 

index-article.md

記事の本編. typoraで執筆し, stylesheet付きでindex-article.htmlというファイルにexportする.

 

変換ディレクトリ convert

convert_settings.json

ウェブサイトの設定についてのjson

 

articleListsMaker.py

ウェブサイトの記事リストを作成するpythonファイル

 

templates/templates.html

ウェブサイトの元となるテンプレートhtml

という文字列で分けられている.

この順番に沿って, convert_to_index.py 内で読み込むため, 必要があれば適宜連動して修正する必要がある.

 

  • Author部分
  • Google AdSenseの情報部分

は適宜自分の情報に置き換える必要がある.

 

convert_to_index.py

1つページを変換するpythonファイル

のように使用する.

 

templates.html内の分割文字列によって

として内部に処理される. templates.htmlでの修正に応じて適宜変更する必要がある.

 

convert_all.py

全てのページを更新し, sitemapを作成するpythonファイル

のように使用する.

 

_convert_all.command

ダブルクリックするだけで convert_all.py を実行するcommandファイル

 

outディレクトリ

記事情報がまとめられたエクセルファイルが出力される場所.

articleListsMaker.pyによって作成され, convert_all.pyで読み込んで使用する.

 

公開ディレクトリ public

概要

 

もう少し詳細版

 

public

サイトのトップディレクトリ

 

sitemap.xml

サイトマップのxmlファイル.

GoogleのURL検査ツール内にウェブサイトのサイトマップを登録する際に利用.

 

ads.txt

Google AdSense用のファイル

 

css

サイトで利用しているcss集

 

data/favicon.ico

サイトのfaviconファイル

 

aboutme

固定ページの例: 自己紹介

 

blog

記事ディレクトリの例1. blogディレクトリ配下に記事執筆年のディレクトリ(2018, 2021など) の直下に各記事ディレクトリを置いていく.

 

blog/nestTest

記事ディレクトリの例2. blog/nestTestのようにネストしたディレクトリに記事ディレクトリを作成できる.

 

blog2

記事ディレクトリの例3. 記事ディレクトリは複数作成可能.

 

続く

次回はもう少し細かい内容を書いていく予定...?