Sun Mon Tue Wed Thu Fri Sat
Apr
2025-04-27 2
2025-04-28 1
2025-04-29 3
2025-04-30 5
2025-05-01 0
2025-05-02 3
2025-05-03 4
May
2025-05-04 5
2025-05-05 2
2025-05-06 1
2025-05-07 1
2025-05-08 3
2025-05-09 1
2025-05-10 2
2025-05-11 1
2025-05-12 1
2025-05-13 0
2025-05-14 1
2025-05-15 1
2025-05-16 1
2025-05-17 2
2025-05-18 2
2025-05-19 0
2025-05-20 2
2025-05-21 4
2025-05-22 2
2025-05-23 0
2025-05-24 0
2025-05-25 3
2025-05-26 0
2025-05-27 1
2025-05-28 2
2025-05-29 2
2025-05-30 8
2025-05-31 3
Jun
2025-06-01 2
2025-06-02 8
2025-06-03 2
2025-06-04 1
2025-06-05 0
2025-06-06 4
2025-06-07 2
2025-06-08 3
2025-06-09 0
2025-06-10 3
2025-06-11 3
2025-06-12 0
2025-06-13 1
2025-06-14 2
2025-06-15 6
2025-06-16 3
2025-06-17 4
2025-06-18 1
2025-06-19 6
2025-06-20 2
2025-06-21 2
2025-06-22 4
2025-06-23 2
2025-06-24 0
2025-06-25 4
2025-06-26 2
2025-06-27 1
2025-06-28 1
2025-06-29 2
2025-06-30 3
2025-07-01 6
2025-07-02 2
2025-07-03 6
2025-07-04 0
2025-07-05 0
Jul
2025-07-06 6
2025-07-07 1
2025-07-08 1
2025-07-09 0
2025-07-10 0
2025-07-11 1
2025-07-12 2
2025-07-13 1
2025-07-14 2
2025-07-15 1
2025-07-16 2
2025-07-17 1
2025-07-18 1
2025-07-19 2
2025-07-20 1
2025-07-21 0
2025-07-22 0
2025-07-23 0
2025-07-24 1
2025-07-25 0
2025-07-26 0
2025-07-27 2
2025-07-28 0
2025-07-29 0
2025-07-30 1
2025-07-31 5
2025-08-01 2
2025-08-02 3
Aug
2025-08-03 6
2025-08-04 4
2025-08-05 0
2025-08-06 1
2025-08-07 1
2025-08-08 1
2025-08-09 2
2025-08-10 6
2025-08-11 3
2025-08-12 0
2025-08-13 1
2025-08-14 0
2025-08-15 0
2025-08-16 3
2025-08-17 3
2025-08-18 8
2025-08-19 1
2025-08-20 1
2025-08-21 3
2025-08-22 1
2025-08-23 1
2025-08-24 0
2025-08-25 2
2025-08-26 1
2025-08-27 1
2025-08-28 3
2025-08-29 0
2025-08-30 2
2025-08-31 3
2025-09-01 3
2025-09-02 2
2025-09-03 0
2025-09-04 4
2025-09-05 1
2025-09-06 2
Sep
2025-09-07 0
2025-09-08 1
2025-09-09 3
2025-09-10 3
2025-09-11 1
2025-09-12 0
2025-09-13 3
2025-09-14 0
2025-09-15 1
2025-09-16 1
2025-09-17 0
2025-09-18 3
2025-09-19 1
2025-09-20 0
2025-09-21 3
2025-09-22 6
2025-09-23 14
2025-09-24 1
2025-09-25 0
2025-09-26 0
2025-09-27 0
2025-09-28 8
2025-09-29 2
2025-09-30 3
2025-10-01 1
2025-10-02 0
2025-10-03 0
2025-10-04 2
Oct
2025-10-05 6
2025-10-06 1
2025-10-07 0
2025-10-08 0
2025-10-09 1
2025-10-10 0
2025-10-11 3
2025-10-12 0
2025-10-13 0
2025-10-14 1
2025-10-15 0
2025-10-16 2
2025-10-17 0
2025-10-18 1
2025-10-19 0
2025-10-20 0
2025-10-21 0
2025-10-22 3
2025-10-23 5
2025-10-24 0
2025-10-25 0
2025-10-26 0
2025-10-27 0
2025-10-28 0
2025-10-29 0
2025-10-30 2
2025-10-31 1
2025-11-01 0
Nov
2025-11-02 0
2025-11-03 1
2025-11-04 0
2025-11-05 1
2025-11-06 0
2025-11-07 5
2025-11-08 0
2025-11-09 1
2025-11-10 4
2025-11-11 1
2025-11-12 0
2025-11-13 0
2025-11-14 0
2025-11-15 0
2025-11-16 2
2025-11-17 0
2025-11-18 1
2025-11-19 2
2025-11-20 2
2025-11-21 0
2025-11-22 0
2025-11-23 0
2025-11-24 0
2025-11-25 0
2025-11-26 0
2025-11-27 2
2025-11-28 1
2025-11-29 1
2025-11-30 1
2025-12-01 0
2025-12-02 5
2025-12-03 3
2025-12-04 7
2025-12-05 0
2025-12-06 2
Dec
2025-12-07 4
2025-12-08 2
2025-12-09 0
2025-12-10 2
2025-12-11 1
2025-12-12 0
2025-12-13 0
2025-12-14 1
2025-12-15 2
2025-12-16 1
2025-12-17 0
2025-12-18 0
2025-12-19 0
2025-12-20 0
2025-12-21 0
2025-12-22 0
2025-12-23 1
2025-12-24 0
2025-12-25 3
2025-12-26 2
2025-12-27 4
2025-12-28 1
2025-12-29 7
2025-12-30 4
2025-12-31 1
2026-01-01 3
2026-01-02 11
2026-01-03 2
Jan
2026-01-04 3
2026-01-05 2
2026-01-06 2
2026-01-07 9
2026-01-08 2
2026-01-09 1
2026-01-10 11
2026-01-11 3
2026-01-12 3
2026-01-13 3
2026-01-14 5
2026-01-15 6
2026-01-16 3
2026-01-17 3
2026-01-18 13
2026-01-19 6
2026-01-20 2
2026-01-21 1
2026-01-22 1
2026-01-23 3
2026-01-24 8
2026-01-25 4
2026-01-26 4
2026-01-27 5
2026-01-28 1
2026-01-29 3
2026-01-30 1
2026-01-31 5
Feb
2026-02-01 5
2026-02-02 4
2026-02-03 2
2026-02-04 2
2026-02-05 2
2026-02-06 3
2026-02-07 0
2026-02-08 0
2026-02-09 5
2026-02-10 2
2026-02-11 2
2026-02-12 0
2026-02-13 0
2026-02-14 0
2026-02-15 1
2026-02-16 0
2026-02-17 1
2026-02-18 0
2026-02-19 2
2026-02-20 1
2026-02-21 3
2026-02-22 0
2026-02-23 4
2026-02-24 4
2026-02-25 3
2026-02-26 3
2026-02-27 0
2026-02-28 3
Mar
2026-03-01 4
2026-03-02 0
2026-03-03 5
2026-03-04 1
2026-03-05 0
2026-03-06 1
2026-03-07 1
2026-03-08 0
2026-03-09 0
2026-03-10 1
2026-03-11 3
2026-03-12 1
2026-03-13 1
2026-03-14 2
2026-03-15 1
2026-03-16 1
2026-03-17 1
2026-03-18 4
2026-03-19 0
2026-03-20 1
2026-03-21 2
2026-03-22 1
2026-03-23 1
2026-03-24 1
2026-03-25 0
2026-03-26 1
2026-03-27 2
2026-03-28 0
2026-03-29 3
2026-03-30 1
2026-03-31 3
2026-04-01 4
2026-04-02 0
2026-04-03 2
2026-04-04 3
Apr
2026-04-05 1
2026-04-06 1
2026-04-07 0
2026-04-08 1
2026-04-09 0
2026-04-10 4
2026-04-11 5
2026-04-12 7
2026-04-13 3
2026-04-14 2
2026-04-15 1
2026-04-16 2
2026-04-17 1
2026-04-18 1
2026-04-19 2
2026-04-20 0
2026-04-21 0
2026-04-22 1
2026-04-23 0
2026-04-24 2
2026-04-25 2
2026-04-26 2
2026-04-27 1
2026-04-28 3
2026-04-29 1
2026-04-30 2
2026-05-01 0
2026-05-02 5
5428です。てがろぐ自体がnickyのように自分でサーバーに設置して使うCGIツールなのと、nickyのログファイルが1日1ファイル式で多そうなことから、サーバー上・ブラウザ上だけでnicky→てがろぐへ1クリックで引っ越しを完結させる方法は私には思いつけないのですが、Macでも移植・引っ越し作業自体は可能です。ローカルで作業をする場合、とにかくまずは てがろぐのダウンロードと、FTPでnickyのログファイル群をダウンロードをして下さい。にししさんが5430でおっしゃっている画像を見て「ああ、簡単だ」と思えるようでしたらここから先の作業も簡単かと思います。(私が入力している間に にししさんの投稿が…/笑)
大まかに言うと
①ローカルでnkyファイル群をてがろぐの書式沿って変換・統合
②ダウンロードしたてがろぐのzipを解凍し、説明に従ってサーバーに設置 ・動作確認をする
③ローカル側のてがろぐフォルダにあるtegalog.xml(てがろぐのログファイル)をテキストエディタで開き、①で変換したnickyのログを貼り付けて保存
④ ③で更新したtegalog.xmlと、nickyで使っていた画像ファイル群をFTPでサーバーにアップロード
⑤サーバー上のてがろぐで、nickyのログが表示されるか確認
という流れです。
当方にMac環境がないので実際の動作確認はできないのですが、AIに尋ねてみたらMacなら最初から入っているPythonで>>5428で書いたWindowsPowerShellと同等の処理ができるとのことです。
以下、AIからの回答を引用・整理しました。
✅Miで変換用のPythonスクリプトを用意する(上記①の部分にあたります)
Miを起動して、下記のコードを貼り付けて「convert_nicky.py」というファイル名で保存します。
長いので折り畳み
import re
def normalize_date(jp_date):
# 例: "2020年04月22日(水)13:14"
match = re.match(r'(\d{4})年(\d{2})月(\d{2})日.*?(\d{2}):(\d{2})', jp_date)
if match:
yyyy, mm, dd, hh, mi = match.groups()
return f"{yyyy}/{mm}/{dd} {hh}:{mi}:00"
return jp_date.strip() # 変換できなかった場合はそのまま返す
output = "nicky2tegalog.txt"
lines = []
for fname in sorted(glob.glob("*.nky")):
with open(fname, "rb") as f:
raw = f.read()
text = raw.decode("euc_jp")
text = text.replace("<br>", "<br/>")
for line in text.splitlines():
fields = line.split("\x01")
if len(fields) >= 4:
date = normalize_date(fields[].strip())
title = fields[1].strip()
body = fields[2].strip()
image = fields[3].strip()
if image:
body += "<br/>[PICT:" + image + "]"
lines.append((date, title, body))
with open(output, "w", encoding="utf-8") as out:
for i, (date, title, body) in enumerate(reversed(lines), 1):
out.write(f"<log><date>{date}</date><id>{i}</id><user>admin</user><cat></cat><comment>{title}<br/>{body}</comment></log>\n")
✅ nkyファイルをまとめたフォルダを作る
デスクトップに nicky_logs というフォルダを作って、そこにFTPでダウンロードしてきた.nkyファイル群と、先ほど作ったconvert_nicky.py を一緒に入れます。
✅ ターミナル上でnicky_logsフォルダを開く
ターミナルを起動して、下記のコードを入力してEnterを押します。
✅ ターミナルでPythonスクリプトを実行する
下記のコードを入力してEnterを押します。
するとconvert_nicky.pyが実行されて、デスクトップのnicky_logsフォルダ内に「nicky2tegalog.txt」というファイルが生成されているはずです。
✅ txtファイルの中身をtegalog.xmlに貼り付けて保存(上記③の部分にあたります)
Miでnicky2tegalog.txtを開いて、中身をすべて選択してコピーしておきます。
次にMiでローカルのてがろぐフォルダにあるtegalog.xmlを開きます。
画像で濃くなっている部分のように、
<?xml version="1.0" encoding="UTF-8" ?>
<tegalog>
と
</tegalog>
の間に、先ほどコピーしておいたnicky2tegalog.txtの中身を貼り付けます。先頭の2行や</tegalog>を消してしまわないように注意して下さい。貼り付けたら上書き保存をします。
✅ 更新したxmlとnickyの画像群をFTPでアップロード(上記④の部分にあたります)
FTPソフトを起動し、更新したtegalog.xmlをアップロードします。
そして同じくFTPで、nickyで使用していた画像ファイルをサーバー上のimagesフォルダの中にすべてアップロードします。
✅ ブラウザで動作確認(上記⑤の部分にあたります)
ブラウザからサーバーに設置したてがろぐにアクセスして、正常に表示されるか確認して下さい。nickyのログが正常に移植・表示されていた場合は、てがろぐの管理画面にアクセスして
全投稿の一括調整(投稿日時順ソート、投稿番号の再採番) を行って下さい。