Ajoute la gestion des brouillons
This commit is contained in:
36
main.py
36
main.py
@@ -2,6 +2,7 @@
|
||||
|
||||
import os
|
||||
import argparse
|
||||
import subprocess
|
||||
from pathlib import Path
|
||||
from blog.page import new_page
|
||||
from blog.config import Config
|
||||
@@ -18,35 +19,42 @@ def load_args():
|
||||
parser = argparse.ArgumentParser(description="Gestion du blog")
|
||||
parser.add_argument("action", choices=actions_list, help="L'action a réaliser.")
|
||||
parser.add_argument(
|
||||
"-c",
|
||||
"--config",
|
||||
default=".blog",
|
||||
help="Chemin vers le fichier de configuration",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-i",
|
||||
"--inbox",
|
||||
default="./inbox",
|
||||
help="Chemin vers les fichiers markdown du blog",
|
||||
)
|
||||
parser.add_argument("all", nargs=argparse.REMAINDER)
|
||||
parser.add_argument(
|
||||
"-d",
|
||||
action="store_true",
|
||||
help="Construit le blog avec les brouillons si spécifié.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--draft",
|
||||
default="./draft",
|
||||
help="Chemin vers les brouillons",
|
||||
)
|
||||
parser.add_argument("all", nargs=argparse.REMAINDER, help=argparse.SUPPRESS)
|
||||
return vars(parser.parse_args())
|
||||
|
||||
|
||||
def load_make_args(args: str) -> dict:
|
||||
"""Charge les paramêtres spécifiques à l'action make"""
|
||||
parser = argparse.ArgumentParser(description="Compile le blog")
|
||||
|
||||
parser.add_argument(
|
||||
"-t",
|
||||
"--theme",
|
||||
default="./themes/default",
|
||||
help="Chemin vers le theme utilisé pour exporter le blog",
|
||||
help="Chemin vers le theme utilisé",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-o",
|
||||
"--output",
|
||||
default="./output",
|
||||
help="Nom du dossier ou sera exporté le blog en html",
|
||||
help="Nom du dossier où sera exporté le blog en html",
|
||||
)
|
||||
return vars(parser.parse_args(args))
|
||||
|
||||
@@ -65,15 +73,21 @@ def main():
|
||||
match args["action"]:
|
||||
case "new":
|
||||
page_title = " ".join(args["all"])
|
||||
new_page(page_title)
|
||||
|
||||
path = conf.inbox
|
||||
if args["d"]:
|
||||
path = conf.draft
|
||||
subprocess.run(
|
||||
["nvim", "+normal G$", "+startinsert", new_page(page_title, path)]
|
||||
)
|
||||
os._exit(0)
|
||||
|
||||
case "make":
|
||||
args = load_make_args(args["all"])
|
||||
conf.overload(args)
|
||||
make_args = load_make_args(args["all"])
|
||||
conf.overload(make_args)
|
||||
|
||||
blog = Blog(conf)
|
||||
blog.make()
|
||||
blog.make(draft=args["d"])
|
||||
|
||||
os._exit(0)
|
||||
|
||||
|
Reference in New Issue
Block a user