From 4231064431a539fcfa4a3a18a91ff57c4674d754 Mon Sep 17 00:00:00 2001 From: rusefi Date: Fri, 1 May 2020 15:02:26 -0400 Subject: [PATCH] it mostly works! --- .../screen/src/com/rusefi/MdGenerator.java | 56 +++++++++++++++---- 1 file changed, 46 insertions(+), 10 deletions(-) diff --git a/java_tools/ts_screenshots/screen/src/com/rusefi/MdGenerator.java b/java_tools/ts_screenshots/screen/src/com/rusefi/MdGenerator.java index 407020d7fd..9d0ab793cf 100644 --- a/java_tools/ts_screenshots/screen/src/com/rusefi/MdGenerator.java +++ b/java_tools/ts_screenshots/screen/src/com/rusefi/MdGenerator.java @@ -7,33 +7,64 @@ import java.io.IOException; import java.util.Date; public class MdGenerator { + public static final String PREFIX = "rusEFI-project"; static String FOLDER; private static final String EOL = "\r\n"; public static void main(String[] args) throws Exception { -// FOLDER = "images/"; + //FOLDER = "images/"; FOLDER = "overview/TS_generated/"; ContentModel contentModel = XmlUtil.readModel(); - FileWriter md = new FileWriter("rusEFI_project.md"); + generateTopLevel(contentModel); for (TopLevelMenuModel topLevelMenuModel : contentModel.getTopLevelMenus()) { - md.append("# " + topLevelMenuModel.getTitle() + EOL); - md.append(getImageTag(topLevelMenuModel.getImageName())); - md.append(EOL); - } + String pageName = getPageName(topLevelMenuModel); + FileWriter md = new FileWriter(pageName + ".md"); - for (TopLevelMenuModel topLevelMenuModel : contentModel.getTopLevelMenus()) { + md.append("# [rusEFI project](rusEFI-project)"+ EOL); + + md.append("## " + topLevelMenuModel.getTitle() + EOL); + + for (DialogModel dialogModel : topLevelMenuModel.getDialogs()) { + md.append("[" + dialogModel.getDialogTitle() + "](" + "#" + safeUrl(dialogModel.getDialogTitle()) + ")" + EOL + EOL); + } - md.append("# " + topLevelMenuModel.getTitle() + EOL); for (DialogModel dialogModel : topLevelMenuModel.getDialogs()) { appendDialog(md, dialogModel); } - } + md.write(EOL); + md.write("generated by " + MdGenerator.class + " on " + new Date()); + md.write(EOL); + md.close(); + } + } + + private static String getPageName(TopLevelMenuModel topLevelMenuModel) { + return PREFIX + "-" + safeUrl(topLevelMenuModel.getTitle()); + } + + private static String safeUrl(String title) { + return title.replace(" ", "-"); + } + + private static void generateTopLevel(ContentModel contentModel) throws IOException { + FileWriter md = new FileWriter(PREFIX + ".md"); + + for (TopLevelMenuModel topLevelMenuModel : contentModel.getTopLevelMenus()) { + md.append("# [" + topLevelMenuModel.getTitle() + "](" + getPageName(topLevelMenuModel) + ")" + EOL + EOL); + md.append(getImageTag(topLevelMenuModel.getImageName())); + + for (DialogModel dialogModel : topLevelMenuModel.getDialogs()) { + md.append("[" + dialogModel.getDialogTitle() + "](" + getPageName(topLevelMenuModel) + "#" + safeUrl(dialogModel.getDialogTitle()) + ")" + EOL + EOL); + } + + md.append(EOL); + } md.write(EOL); md.write("generated by " + MdGenerator.class + " on " + new Date()); md.write(EOL); @@ -41,11 +72,16 @@ public class MdGenerator { } private static void appendDialog(FileWriter md, DialogModel dialogModel) throws IOException { - md.append(getImageTag(dialogModel.getImageName())); + md.append("### " + dialogModel.getDialogTitle() + EOL); + + md.append(getImageTag(dialogModel.getImageName()) + EOL); + for (FieldModel fieldModel : dialogModel.fields) { String tooltip = fieldModel.getTooltip(); if (tooltip.length() > 0) { + tooltip = tooltip.replace("\\n", EOL); + md.append(fieldModel.getUiName() + ": " + tooltip + EOL + EOL); } }