Add script to create zttelkasten notes
This commit is contained in:
45
.local/bin/on
Executable file
45
.local/bin/on
Executable file
@@ -0,0 +1,45 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import os
|
||||||
|
import textwrap
|
||||||
|
import argparse
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
from datetime import date
|
||||||
|
|
||||||
|
def load_args():
|
||||||
|
"""loads cli parameters"""
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
description="Takes a snapshot of all pad contents"
|
||||||
|
)
|
||||||
|
parser.add_argument('all', nargs=argparse.REMAINDER)
|
||||||
|
args = parser.parse_args()
|
||||||
|
return vars(args)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
args = load_args()
|
||||||
|
name = ' '.join(args['all'])
|
||||||
|
today = date.today().strftime('%Y-%m-%d')
|
||||||
|
filename = f'/home/bredow/nextcloud/perso/notes/zettelkasten/inbox/{today}_{name}.md'
|
||||||
|
|
||||||
|
content = textwrap.dedent(f"""\
|
||||||
|
---
|
||||||
|
date: {today}
|
||||||
|
tags:
|
||||||
|
-
|
||||||
|
---
|
||||||
|
|
||||||
|
""")
|
||||||
|
|
||||||
|
if not os.path.exists(filename):
|
||||||
|
with open(filename, 'w') as file:
|
||||||
|
file.write(content)
|
||||||
|
|
||||||
|
subprocess.run(['nvim', '+normal G$', '+startinsert', filename])
|
||||||
|
os._exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
Reference in New Issue
Block a user