Skip to content

Commit 45dcaea

Browse files
committed
add mkdocs to cli
1 parent 9e140c7 commit 45dcaea

4 files changed

Lines changed: 37 additions & 1 deletion

File tree

src/somesy/cli/init.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,12 @@ def config():
7878
if pom_xml_file := typer.prompt("pom.xml file path", default="pom.xml"):
7979
options["pom_xml_file"] = pom_xml_file
8080

81+
options["no_sync_mkdocs"] = not typer.confirm(
82+
"Do you want to sync to a mkdocs.yml file?", default=True
83+
)
84+
if mkdocs_file := typer.prompt("mkdocs.yml file path", default="mkdocs.yml"):
85+
options["mkdocs_file"] = mkdocs_file
86+
8187
# ----
8288

8389
options["show_info"] = typer.confirm(

src/somesy/cli/sync.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,19 @@ def sync(
9494
help="Custom pom.xml (Java Maven) file path (default: pom.xml)",
9595
**existing_file_arg_config,
9696
),
97+
no_sync_mkdocs: bool = typer.Option(
98+
None,
99+
"--no-sync-mkdocs",
100+
"-X",
101+
help="Do not sync mkdocs.yml file (default: False)",
102+
),
103+
mkdocs_file: Path = typer.Option(
104+
None,
105+
"--mkdocs-file",
106+
"-x",
107+
help="Custom mkdocs.yml file path (default: mkdocs.yml)",
108+
**existing_file_arg_config,
109+
),
97110
no_sync_cff: bool = typer.Option(
98111
None,
99112
"--no-sync-cff",
@@ -138,6 +151,8 @@ def sync(
138151
fortran_file=fortran_file,
139152
no_sync_pom_xml=no_sync_pom_xml,
140153
pom_xml_file=pom_xml_file,
154+
no_sync_mkdocs=no_sync_mkdocs,
155+
mkdocs_file=mkdocs_file,
141156
)
142157
run_sync(somesy_input)
143158

@@ -167,6 +182,10 @@ def run_sync(somesy_input: SomesyInput):
167182
logger.info(
168183
f" - [italic]pom.xml[/italic]:\t[grey]{conf.pom_xml_file}[/grey]\n"
169184
)
185+
if not conf.no_sync_mkdocs:
186+
logger.info(
187+
f" - [italic]mkdocs.yml[/italic]:\t[grey]{conf.mkdocs_file}[/grey]"
188+
)
170189

171190
if not conf.no_sync_cff:
172191
logger.info(f" - [italic]CITATION.cff[/italic]:\t[grey]{conf.cff_file}[/grey]")

src/somesy/commands/sync.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from somesy.core.writer import ProjectMetadataWriter
1212
from somesy.fortran.writer import Fortran
1313
from somesy.julia.writer import Julia
14+
from somesy.mkdocs import MkDocs
1415
from somesy.package_json.writer import PackageJSON
1516
from somesy.pom_xml.writer import POM
1617
from somesy.pyproject.writer import Pyproject
@@ -54,8 +55,10 @@ def sync(somesy_input: SomesyInput):
5455
if conf.pom_xml_file.is_file() and not conf.no_sync_pom_xml:
5556
_sync_file(metadata, conf.pom_xml_file, POM)
5657

57-
# create these by default if they are missing:
58+
if conf.mkdocs_file.is_file() and not conf.no_sync_mkdocs:
59+
_sync_file(metadata, conf.mkdocs_file, MkDocs)
5860

61+
# create these by default if they are missing:
5962
if not conf.no_sync_cff:
6063
_sync_file(metadata, conf.cff_file, CFF)
6164

src/somesy/core/models.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ def model_dump_json(self, *args, **kwargs):
128128
"julia",
129129
"fortran",
130130
"pom_xml",
131+
"mkdocs",
131132
]
132133

133134

@@ -201,6 +202,13 @@ def at_least_one_target(cls, values):
201202
"pom.xml"
202203
)
203204

205+
no_sync_mkdocs: Annotated[
206+
bool, Field(description="Do not sync with mkdocs.yml.")
207+
] = False
208+
mkdocs_file: Annotated[Path, Field(description="mkdocs.yml file path.")] = Path(
209+
"mkdocs.yml"
210+
)
211+
204212
no_sync_cff: Annotated[bool, Field(description="Do not sync with CFF.")] = False
205213
cff_file: Annotated[Path, Field(description="CFF file path.")] = Path(
206214
"CITATION.cff"

0 commit comments

Comments
 (0)