");
+ icons.values().forEach(iconReference -> {
+ result.append("
");
+ final Path assetPath = componentAssetsOutputPath.resolve(iconReference.icon);
+ result.append("
");
+ result.append("
");
+ });
+ result.append("
");
+ return result.toString();
+ }
+
+ record IconReference(UUID key, String icon) {
+ }
+}
diff --git a/src/main/java/com/refinedmods/refinedsites/render/IncludeProcessorImpl.java b/src/main/java/com/refinedmods/refinedsites/render/IncludeProcessorImpl.java
new file mode 100644
index 0000000..9ae3a1a
--- /dev/null
+++ b/src/main/java/com/refinedmods/refinedsites/render/IncludeProcessorImpl.java
@@ -0,0 +1,43 @@
+package com.refinedmods.refinedsites.render;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import org.asciidoctor.ast.Document;
+import org.asciidoctor.extension.IncludeProcessor;
+import org.asciidoctor.extension.PreprocessorReader;
+
+class IncludeProcessorImpl extends IncludeProcessor {
+ private static final Pattern XREF_PATTERN = Pattern.compile("xref:(.*)");
+
+ @Override
+ public boolean handles(final String target) {
+ return true;
+ }
+
+ @Override
+ public void process(final Document document,
+ final PreprocessorReader reader,
+ final String target,
+ final Map