Skip to content

Commit dc4dde5

Browse files
committed
bugfix
1 parent dae8088 commit dc4dde5

74 files changed

Lines changed: 6632 additions & 271 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/main/java/com/hfstudio/guidenh/guide/PageCollection.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,8 @@ public interface PageCollection {
2828
NavigationTree getNavigationTree();
2929

3030
boolean pageExists(ResourceLocation pageId);
31+
32+
default boolean isPageFailed(ResourceLocation pageId) {
33+
return false;
34+
}
3135
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.hfstudio.guidenh.guide.compiler;
2+
3+
import java.util.HashMap;
4+
import java.util.List;
5+
import java.util.Map;
6+
7+
import org.jetbrains.annotations.Nullable;
8+
9+
import com.hfstudio.guidenh.libs.mdast.model.MdAstAnyContent;
10+
import com.hfstudio.guidenh.libs.mdast.model.MdAstDefinition;
11+
import com.hfstudio.guidenh.libs.mdast.model.MdAstParent;
12+
13+
public final class GuideMarkdownDefinitions {
14+
15+
private GuideMarkdownDefinitions() {}
16+
17+
public static Map<String, MdAstDefinition> collect(MdAstParent<?> parent) {
18+
return collect(parent.children());
19+
}
20+
21+
public static Map<String, MdAstDefinition> collect(List<? extends MdAstAnyContent> children) {
22+
Map<String, MdAstDefinition> definitions = new HashMap<>();
23+
for (MdAstAnyContent child : children) {
24+
if (child instanceof MdAstDefinition definition && definition.identifier != null) {
25+
definitions.putIfAbsent(definition.identifier, definition);
26+
}
27+
}
28+
return definitions;
29+
}
30+
31+
public static @Nullable MdAstDefinition find(Map<String, MdAstDefinition> definitions,
32+
@Nullable String identifier) {
33+
return identifier != null ? definitions.get(identifier) : null;
34+
}
35+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.hfstudio.guidenh.guide.compiler;
2+
3+
import com.hfstudio.guidenh.libs.mdast.MdastOptions;
4+
import com.hfstudio.guidenh.libs.mdast.YamlFrontmatterExtension;
5+
import com.hfstudio.guidenh.libs.mdast.gfm.GfmTableMdastExtension;
6+
import com.hfstudio.guidenh.libs.mdast.gfmstrikethrough.GfmStrikethroughMdastExtension;
7+
import com.hfstudio.guidenh.libs.mdast.mdx.MdxMdastExtension;
8+
import com.hfstudio.guidenh.libs.mdx.MdxSyntax;
9+
import com.hfstudio.guidenh.libs.micromark.extensions.YamlFrontmatterSyntax;
10+
import com.hfstudio.guidenh.libs.micromark.extensions.gfm.GfmTableSyntax;
11+
import com.hfstudio.guidenh.libs.micromark.extensions.gfmstrikethrough.GfmStrikethroughSyntax;
12+
13+
public final class GuideMarkdownOptions {
14+
15+
private static final MdastOptions RUNTIME = createBaseOptions();
16+
private static final MdastOptions SCENE_EDITOR = createBaseOptions();
17+
18+
private GuideMarkdownOptions() {}
19+
20+
public static MdastOptions runtime() {
21+
return RUNTIME;
22+
}
23+
24+
public static MdastOptions sceneEditor() {
25+
return SCENE_EDITOR;
26+
}
27+
28+
private static MdastOptions createBaseOptions() {
29+
return new MdastOptions().withSyntaxExtension(MdxSyntax.INSTANCE)
30+
.withSyntaxExtension(YamlFrontmatterSyntax.INSTANCE)
31+
.withSyntaxExtension(GfmTableSyntax.INSTANCE)
32+
.withSyntaxExtension(GfmStrikethroughSyntax.INSTANCE)
33+
.withMdastExtension(MdxMdastExtension.INSTANCE)
34+
.withMdastExtension(YamlFrontmatterExtension.INSTANCE)
35+
.withMdastExtension(GfmTableMdastExtension.INSTANCE)
36+
.withMdastExtension(GfmStrikethroughMdastExtension.INSTANCE);
37+
}
38+
}

0 commit comments

Comments
 (0)