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);
}