僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
静的サイトジェネレーターで、同じサーバの違う場所に
ブログを移すこととする。
そちらが落ち着いてきたら、こちらも静的サイトに変えよう。
昨日からだけど、Pelicanを諦めてNikolaを試している。
どうやら、こちらのほうが、自分の目的には良さげに思えた。
インストールは例によって venvで$HOMEにpython3を入れて そちらから pip install "Nikola[extras]" 。
デフォルトの文書フォーマットはreStructuredText だそうだ。
*.rstという拡張子でいいらしい。
postsディレクトリの下に mkdir -pv 2023/05 として、その下に
いくつかドキュメントを書いた。
nikola build して、output/post ディレクトリの下を見ると、
nikola/output/posts$ tree . └── 2023 └── 05 ├── 2 │ └── index.html ├── 3 │ └── index.html ├── 4 │ └── index.html ├── 5 │ └── index.html └── 6 └── index.html 8 directories, 5 files
のようになった。
それにしても毎回全部リビルドするのだろうか。
キャッシュしたりして処理の重複は避けるとしても、コンテンツは増えてゆくし、
ネットワークを跨いだファイルシステムだったりするとかなりつらくなるかも。
Title: がダブってはいけないようだ。Date: や Category: を変えても駄目。
毎回違うTitleにしようとすると、確認せずにユニークにできるのは
日付と時間くらいになってしまう。
content$ grep "Title: 初め" *.md 20230509.md:Title: 初めのページ new_start.md:Title: 初めのページ
$ pelican content [16:52:35] WARNING There are 2 items "with log.py:91 slug "chu-menopezi"" with lang ja: content/20230509.md content/new_start.md WARNING There are 2 original log.py:91 (not translated) items with slug "chu-menopezi": content/20230509.md content/new_start.md CRITICAL RuntimeError: __init__.py:566 File output/chu-menopezi.html is to be overwritten
ドキュメントによれば、FILENAME_METADATA = '(?P<title>.*)' で省略できるが、そうするとファイル名から拡張子を除いた 名前がTitle: になる。ユニーク性の確保をファイルシステムに 押し付けた形だ。
Debianのパッケージで入れたPelican、デフォルトではテーマ
を読まない/吐かない。
どこか設定を追加するんだろうけど、既にこれ以上
追究する気が失せてきた。とっとと未練を断ち切らないと。
Debianで公式インストール通りにしようとしてひとしきり 試行錯誤。
pipはDebianの公式パッケージにあった(python3-pip)が、 それでもってPelicanをインストールしようとすると、 どっとエラーメッセージに見舞われてインストール できない。
結論は、「書いてあるとおりに」だった。
If you wish to install a non-Debian-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make sure you have python3-full installed.
python3.11-venvをインストールし、仮想環境を$HOMEにインストール。
$ python3 -m venv work/python/
$ ls work/python/ bin include lib lib64 pyvenv.cfg
Python一式が$HOMEに収まっている、らしい。
$HOME/work/python/bin/を$PATHの末尾に追記しておく。
...んな面倒なことをしなくても、pelicanはDebianパッケージにあった。
bullseyeのはバージョンがちと古い(4.0.1)ようだけど。
見様見真似で適当にコンテンツを作ってみた。
contentディレクトリにMarkdownのファイルを入れて、
プロジェクトのルートで pelican content と打てば
output ディレクトリに index.html やthemeや
autherが作られる。
生成されたHTMLファイル名が変だ。
Titleを"上天気で見た重星など"にすると、
生成されたHTMLファイルの名前は、"shang-tian-qi-dejian-tazhong-xing-nado.html"
となった。漢字がハイフン区切りのピンインに、かながローマ字になるようだ。
Titleを変えると、生成されたHTMLファイル名も変わった。自動では消してくれない。
少し検索しても、日本語でひっかかるのは「インストールしてみました」くらい。
開発サイトのドキュメントを読まなければ。
Markdownの記法を検索して、少しコンテンツを作ってみた。
HTMLのタイムスタンプは毎回全部更新されている。
$HOME/.cache/pip/http 配下にキャッシュが溜まるようになっていた。
output$ find . -type f -name '*.html' -exec ls -alFh {} \; -rw-r--r-- 1 user group 3.6K 5月 10 17:42 ./1xing.html -rw-r--r-- 1 user group 9.6K 5月 10 17:42 ./index.html -rw-r--r-- 1 user group 3.6K 5月 10 17:42 ./2pezimu.html -rw-r--r-- 1 user group 5.4K 5月 10 17:42 ./shang-tian-qi-dejian-tazhong-xing-nado.html -rw-r--r-- 1 user group 4.0K 5月 10 17:42 ./dxing.html -rw-r--r-- 1 user group 2.3K 5月 10 17:42 ./tags.html -rw-r--r-- 1 user group 2.4K 5月 10 17:42 ./authors.html -rw-r--r-- 1 user group 3.4K 5月 10 17:42 ./chu-menopezi.html -rw-r--r-- 1 user group 9.7K 5月 10 17:42 ./author/sato-makoto.html -rw-r--r-- 1 user group 4.6K 5月 10 17:42 ./category/test.html -rw-r--r-- 1 user group 5.0K 5月 10 17:42 ./category/guan-wang.html -rw-r--r-- 1 user group 4.9K 5月 10 17:42 ./category/ji-cai.html -rw-r--r-- 1 user group 2.5K 5月 10 17:42 ./categories.html -rw-r--r-- 1 user group 2.8K 5月 10 17:42 ./archives.html ~/.cache/pip$ find . -type f | wc -l 30 ~/.cache/pip$ du . -h | tail -n2 5.4M ./http 5.4M
近くに
スロット付きのPCが一台。10年前の東芝B652/Hノート。
遅く感じられるのでHDDモデルかと思っていたが、SSDだった。
Debian Liveで起動させ、これまた旧いCardBusカードを、起動後に突っ込んでみた。
$ sudo dmesg --ctime [月 4月 3 09:29:12 2023] pcmcia_socket pcmcia_socket0: pccard: CardBus card inserted into slot 0 [月 4月 3 09:29:12 2023] pci 0000:03:00.0: [10ec:8139] type 00 class 0x020000 [月 4月 3 09:29:12 2023] pci 0000:03:00.0: reg 0x10: [io 0x0000-0x00ff] [月 4月 3 09:29:12 2023] pci 0000:03:00.0: reg 0x14: [mem 0x00000000-0x000001ff] [月 4月 3 09:29:12 2023] pci 0000:03:00.0: supports D1 D2 [月 4月 3 09:29:12 2023] pci 0000:03:00.0: PME# supported from D1 D2 D3hot [月 4月 3 09:29:12 2023] pci 0000:03:00.0: BAR 1: assigned [mem 0xec000000-0xec0001ff] [月 4月 3 09:29:12 2023] pci 0000:03:00.0: BAR 0: assigned [io 0x2000-0x20ff] [月 4月 3 09:29:12 2023] pci 0000:03:00.0: cache line size of 64 is not supported [月 4月 3 09:29:12 2023] 8139cp: 8139cp: 10/100 PCI Ethernet driver v1.3 (Mar 22, 2004) [月 4月 3 09:29:12 2023] 8139cp 0000:03:00.0: This (id 10ec:8139 rev 10) is not an 8139C+ compatib le chip, use 8139too [月 4月 3 09:29:12 2023] 8139too: 8139too Fast Ethernet driver 0.9.28 [月 4月 3 09:29:12 2023] 8139too 0000:03:00.0: enabling device (0000 -> 0003) [月 4月 3 09:29:12 2023] 8139too 0000:03:00.0 eth0: RealTek RTL8139 at 0x00000000828a5bc4, 00:10:60:5f:15:39, IRQ 17 [月 4月 3 09:29:12 2023] 8139too 0000:03:00.0 eth0: link down
活線挿抜可能だったことを知っていたか覚えてない。
同じURLのスクリーンショットを撮り、同一縮尺で表示してみた。
MediaPadM4とS3-SHとiPhoneSEの比較。
SEはPNGになっていた。
$ find . -maxdepth 1 -mtime -1 -type f | xargs identify ./sharp.jpg PNG 1080x2160 1080x2160+0+0 8-bit sRGB 428869B 0.000u 0:00.000 ./apple.png PNG 640x1136 640x1136+0+0 8-bit sRGB 288019B 0.000u 0:00.000 ./huawei.jpg JPEG 1600x2560 1600x2560+0+0 8-bit sRGB 826545B 0.000u 0:00.000
前にやった気がするが、最近はGoogleも探してくれなくなったから
いいか。
他にファイルのない場所で実行。
$ truncate -s 0 "`echo -e "hogehoge\nfuga.txt"`" $ ls 'hogehoge'$'\n''fuga.txt' $ ls | cat hoge fuga.txt
タブ補完が効かないようだ。
$ ls ./ho [TAB] hogehoge fuga.txt
sambaを介してWindows10からアクセスすると、
ファイル名は'HF64XY~Q.TXT'に見えた。
編集しても、ファイル名はどちらも変化しない。
Windows10上でコピーしたファイル名は、'HF64XY~Q - コピー.TXT'
になった。
ついでに漢字やタブも。
$ truncate -s 0 "`echo -e "ほげ\r\nふが\tふぉお.txt"`"
エクスプローラー上では、'_IHH5T~U.TXT'になった。
このあたりで飽きてきた。
あまりよく分からず、あまり使うことがなかったのだけど。
$ for num in `seq 3` > do echo The file num is $num > $num.txt > done
$ cat ?.txt The file num is 1 The file num is 2 The file num is 3
$ find . -maxdepth 1 -type f -name '?.txt' \
xargs sed -i 's/file/File/'
$ cat ?.txt The File num is 1 The File num is 2 The File num is 3
ドメイン移管元は、まだ設定ができる状態になっていた。
移管先には既に契約情報に入っており、詳細情報として
以下のように書かれていた。
ドメインコントロールパネル登録情報 ドメイン名 ************.***** サービスコード ***************** レジストラ JPRS(日本レジストリサービス) ドメインの利用状態 転入作業開始 ステータス詳細 現在申請を行っています Whois情報の管理者担当者のメールアドレス宛に承認メールが送信されます。 承認手順はこちら をご確認ください。 承認作業完了後、5-7日ほどで転入は完了いたします。 AUTHCODE (オースコード) ******************
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。