diff --git a/pom.xml b/pom.xml
index 573e70e..0d00270 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,9 +36,9 @@
3.2.3
- org.json
- json
- 20250107
+ org.snakeyaml
+ snakeyaml-engine
+ 2.9
commons-io
diff --git a/src/main/java/eu/m724/blog/BlogBuilder.java b/src/main/java/eu/m724/blog/BlogBuilder.java
index 2527a3d..74510d8 100644
--- a/src/main/java/eu/m724/blog/BlogBuilder.java
+++ b/src/main/java/eu/m724/blog/BlogBuilder.java
@@ -116,7 +116,7 @@ public class BlogBuilder {
*/
public void build() throws IOException {
if (site == null)
- this.site = Site.fromConfig(workingDirectory.resolve("site-config.json"));
+ this.site = Site.fromConfig(workingDirectory.resolve("site-config.yml"));
if (template == null)
this.template = new TemplateRenderer(templateDirectory);
diff --git a/src/main/java/eu/m724/blog/data/Site.java b/src/main/java/eu/m724/blog/data/Site.java
index 9dc5f74..037b227 100644
--- a/src/main/java/eu/m724/blog/data/Site.java
+++ b/src/main/java/eu/m724/blog/data/Site.java
@@ -1,6 +1,7 @@
package eu.m724.blog.data;
-import org.json.JSONObject;
+import org.snakeyaml.engine.v2.api.Load;
+import org.snakeyaml.engine.v2.api.LoadSettings;
import java.io.IOException;
import java.nio.file.Files;
@@ -30,15 +31,15 @@ public record Site(
* @throws IOException if an error occurs during file reading
*/
public static Site fromConfig(Path path) throws IOException {
- var content = Files.readString(path);
- var json = new JSONObject(content);
+ var load = new Load(LoadSettings.builder().build());
+ var yaml = (Map) load.loadFromInputStream(Files.newInputStream(path));
String name = null;
String baseUrl = null;
var custom = new HashMap();
- for (var key : json.keySet()) {
- var value = json.get(key);
+ for (var key : yaml.keySet()) {
+ var value = yaml.get(key);
switch (key) {
case "name":