Pi66

merodi
A markdown-based static site generator.
git clone https://git.pi66.xyz/merodi

← back to log

refactor: move `init_config_struct()` to config.py

author: pi66
date: 2026-06-27 11:06
hash: 31826b6554fb78747da304710f44aec34eb471b3

Diffstat:

M

src/config.py
29 +++++++++++++++++++++++++++++-

M

src/init_project.py
26 +--------------------------
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
diff --git a/src/config.py b/src/config.py
index 8ca60a4..7d5ccf3 100644
--- a/src/config.py
+++ b/src/config.py
@@ -4,7 +4,34 @@ from tomllib import loads

 from .fileops import read_file
 from .log import GRAY
-from .modules import Config, Tree, Webview
+from .modules import Config, Extras, Project, Tree, Webview
+
+def init_config_struct(project_name:str) -> Config:
+    """Build a Config with default values for a newly initialized project."""
+    return Config(
+        project=Project(
+            name = project_name,
+            version = "0.1.0",
+            description = "Add your description here",
+        ),
+        tree = Tree(
+            markdown  = "src/md",
+            static    = "src/static",
+            templates = "src/templates",
+            dest      = "src/dest",
+            plugins   = "src/plugins.py",
+        ),
+        webview = Webview(
+            host = "localhost",
+            port = 8866,
+            html_path   = "/",
+            static_path = "/static"
+        ),
+        extras= Extras(
+            highlight = "monokai"
+        )
+    )
+

 def render_config(config:Config) -> str:
     return f"""[project]
diff --git a/src/init_project.py b/src/init_project.py
index 06007f6..ca90465 100644
--- a/src/init_project.py
+++ b/src/init_project.py
@@ -5,31 +5,7 @@ from .log import *
 from .errors import fatal
 from .templates import *
 from .fileops import *
-from .config import render_config
-
-
-def init_config_struct(project_name:str) -> Config:
-    """Build a Config with default values for a newly initialized project."""
-    return Config(
-        project=Project(
-            name = project_name,
-            version = "0.1.0",
-            description = "Add your description here",
-        ),
-        tree = Tree(
-            markdown  = "src/md",
-            static    = "src/static",
-            templates = "src/templates",
-            dest      = "src/dest",
-            plugins   = "src/plugins.py",
-        ),
-        webview = Webview(
-            host = "localhost",
-            port = 8866,
-            html_path   = "/",
-            static_path = "/static"
-        ) 
-    )
+from .config import init_config_struct, render_config

 def check_not_already_initialized(file_path:str) -> None:
     """raise FileExistsError when config file exists"""