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":