public static void main()

in html-convert/src/main/java/org/netbeans/tools/tutorials/HTMLConverter.java [212:274]


    public static void main(String[] args) throws Exception {
        if (args.length != 1) {
            usage();
        }

        File docsDirectory = new File(new File(args[0]), "docs");
        checkDirectoryExists("Incorrect 'docs' donation directory ", docsDirectory);
        
        File docsTutorialsDirectory = new File(docsDirectory, "tutorials");
        checkDirectoryExists("Incorrect 'docs/tutorials' donation directory ", docsTutorialsDirectory);

        File docsTutorialsImagesDirectory = new File(docsTutorialsDirectory, "images");
        checkDirectoryExists("Incorrect 'docs/tutorials/images' donation directory ", docsTutorialsImagesDirectory);

        File docsTutorialsDocsDirectory = new File(docsTutorialsDirectory, "docs");
        checkDirectoryExists("Incorrect 'docs/tutorials/docs' donation directory ", docsTutorialsDocsDirectory);

        File docsTutorialsTrailsDirectory = new File(docsTutorialsDirectory, "trails");
        checkDirectoryExists("Incorrect 'docs/tutorials/trails' donation directory", docsTutorialsTrailsDirectory);

        File currentDirectory = new File(System.getProperty("user.dir"));
        File dest = new File(currentDirectory, "tutorials-asciidoc");

        if (!dest.exists()) {
            if (!dest.mkdirs()) {
                throw new IllegalStateException("Cannot create directory " + dest.getAbsolutePath());
            }
        }

        checkDirectoryExists("Output directory", dest);
        if (!dest.canWrite()) {
            throw new IllegalStateException("Cannot write to " + dest.getAbsolutePath());
        }

        ExternalLinksMap externalLinks = new ExternalLinksMap();

        convert(docsTutorialsDocsDirectory, docsTutorialsImagesDirectory, dest, externalLinks);
        
        convertTrails(docsTutorialsTrailsDirectory, docsTutorialsImagesDirectory, dest, externalLinks);

        LOG.info("Generating 'external-links.txt' with list of external links...");
        
        try ( PrintWriter ef = new PrintWriter(new FileWriter("external-links.yml"))) {
            for (String domain : externalLinks.getDomains()) {
                ef.format("- domain: \"%s\"%n", domain);
                ef.format("  links:%n");
                for (String href : externalLinks.getHrefs(domain)) {
                    ef.format("    link: \"%s\"%n", href);
                    ef.format("    used-at:%n");
                    for (String tutorial : externalLinks.getTutorials(href)) {
                        ef.format("      - \"%s\"%n", tutorial);
                    }
                }
            }
        }

        /* Remove a hand-made "content" section, that is not replaced by the asciidoc 'toc' stuff */
        Map<File, String> titles = AsciidocPostProcessor.removeContentSetcion(dest);
        
        /* Generate some "index.asciidoc" files with the list of tutorials on each directory. */
        AsciidocPostProcessor.generateIndexes(dest, titles);
        
    }