Skip to content

Commit 8bde953

Browse files
Efnilitesovdeeth
andauthored
Improve generated json by JSONGenerator (#7633)
* init commit * Standardize * add cancellable to events * fix reviews * add event-values * make EventValueInfo public * reviews * oops * forgot to add * fix error on generate * made convertToJsonArray return null if strings is empty, not null * use getClassInfoName * add semver * add keywords, deprecated * add cleaning patterns * escape html * fix links in patterns * fix generating test-only functions * add doc * fix function parameters getting removed * add times to event-values, remove duplicates * remove eventvalues with empty name * remove test elements from docs * switch to class NoDoc check * i forgor 💀 * fix method * Delete .github/workflows/release-docs2.yml * revert to using TestMode.ENABLED (oops) * remove unnecessary testmode checks * Update src/main/java/ch/njol/skript/test/runner/TestMode.java Co-authored-by: sovdee <[email protected]> --------- Co-authored-by: sovdee <[email protected]>
1 parent 2e50409 commit 8bde953

File tree

7 files changed

+259
-68
lines changed

7 files changed

+259
-68
lines changed

src/main/java/ch/njol/skript/SkriptCommand.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -382,19 +382,21 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
382382

383383
} else if (args[0].equalsIgnoreCase("gen-docs")) {
384384
File templateDir = Documentation.getDocsTemplateDirectory();
385+
File outputDir = Documentation.getDocsOutputDirectory();
386+
outputDir.mkdirs();
387+
388+
Skript.info(sender, "Generating docs...");
389+
JSONGenerator jsonGenerator = new JSONGenerator(templateDir, outputDir);
390+
jsonGenerator.generate();
391+
385392
if (!templateDir.exists()) {
386-
Skript.error(sender, "Cannot generate docs! Documentation templates not found at '" + Documentation.getDocsTemplateDirectory().getPath() + "'");
387-
TestMode.docsFailed = true;
393+
Skript.info(sender, "JSON-only documentation generated!");
388394
return true;
389395
}
390-
File outputDir = Documentation.getDocsOutputDirectory();
391-
outputDir.mkdirs();
396+
392397
HTMLGenerator htmlGenerator = new HTMLGenerator(templateDir, outputDir);
393-
JSONGenerator jsonGenerator = new JSONGenerator(templateDir, outputDir);
394-
Skript.info(sender, "Generating docs...");
395398
htmlGenerator.generate(); // Try to generate docs... hopefully
396-
jsonGenerator.generate();
397-
Skript.info(sender, "Documentation generated!");
399+
Skript.info(sender, "All documentation generated!");
398400
} else if (args[0].equalsIgnoreCase("test") && TestMode.DEV_MODE) {
399401
File scriptFile;
400402
if (args.length == 1) {

src/main/java/ch/njol/skript/doc/Documentation.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,10 @@ protected static String cleanPatterns(final String patterns) {
179179
}
180180

181181
protected static String cleanPatterns(String patterns, boolean escapeHTML) {
182+
return cleanPatterns(patterns, escapeHTML, true);
183+
}
182184

185+
protected static String cleanPatterns(String patterns, boolean escapeHTML, boolean useLinks) {
183186
String cleanedPatterns = escapeHTML ? escapeHTML(patterns) : patterns;
184187

185188
cleanedPatterns = CP_PARSE_MARKS_PATTERN.matcher(cleanedPatterns).replaceAll(""); // Remove marks
@@ -268,8 +271,13 @@ protected static String cleanPatterns(String patterns, boolean escapeHTML) {
268271
first = false;
269272
final NonNullPair<String, Boolean> p = Utils.getEnglishPlural(c);
270273
final ClassInfo<?> ci = Classes.getClassInfoNoError(p.getFirst());
274+
271275
if (ci != null && ci.hasDocs()) { // equals method throws null error when doc name is null
272-
b.append("<a href='./classes.html#").append(p.getFirst()).append("'>").append(ci.getName().toString(p.getSecond())).append("</a>");
276+
if (useLinks) {
277+
b.append("<a href='./classes.html#").append(p.getFirst()).append("'>").append(ci.getName().toString(p.getSecond())).append("</a>");
278+
} else {
279+
b.append(ci.getName().toString(p.getSecond()));
280+
}
273281
} else {
274282
b.append(c);
275283
if (ci != null && ci.hasDocs())

0 commit comments

Comments
 (0)