Skip to content

Instantly share code, notes, and snippets.

@kojp
Last active June 7, 2022 03:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kojp/f80ee22c2efcad8f8fae71e9e0fd4b88 to your computer and use it in GitHub Desktop.
Save kojp/f80ee22c2efcad8f8fae71e9e0fd4b88 to your computer and use it in GitHub Desktop.
Logseqの当日の日誌ページに1行書きます。詳しい説明は https://ich.hatenadiary.com/entry/logseq-journal-capture にあります。
import datetime
import os
import re
# Logseqのjournalsディレクトリのパスを指定する
os.chdir("C:/Users/username/iCloudDrive/iCloud~com~logseq~logseq/journals")
# 当日の日誌ページに相当するファイル名を設定する
today = datetime.datetime.today()
filename = today.strftime("%Y_%m_%d.md")
print(filename + " 1行記入\n")
# 記入する内容を取得する
content = input('>>')
# Logseqの箇条書きフォーマットに合わせるために、行頭に"- "を加える
# 記入する内容をLogseqの新しいBlock(項目)にするために、行頭に"\n"も加える
content = "\n- " + content
# 当日の日付の.mdファイルへ記入する
# 当日の日付の.mdファイルが存在しなければ、自動で作成されてから記入される
with open(filename, 'a', encoding='utf-8') as f:
print(content, file=f)
# ファイルへの記入時にファイルが空だった場合、先頭行は空行になっている
# 先頭行が空行であれば、その空行を消す
with open(filename, encoding="UTF-8") as f:
data_lines = f.read()
data_lines = (re.sub('^(\n)', r'', data_lines))
# 同じファイル名で保存する
with open(filename, mode="w", encoding="UTF-8") as f:
f.write(data_lines)
# 記入後のファイル内容を表示する
print('\n[OK]')
with open(filename, 'r', encoding='utf-8') as f:
print(f.read())
input() # Enterキーを押すまで画面を閉じない
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment