Implement generating single-page Build Encyclopedia.
* Adds a --single_page flag to the BE docgen for generating a single-page
version of the Build Encyclopedia.
* Refactor BuildEncyclopediaProcessor common logic into a base class and add
subclasses for generating single- and multi-page BE respectively.
* Enable RuleLinkExpander to expand rule references to single-page hrefs
(headings on the current page).
* Update docgen velocity templates to use RuleLinkExpander to ensure links are
correct on both single- and multi-page versions of the BE.
--
MOS_MIGRATED_REVID=131574793
diff --git a/src/main/java/com/google/devtools/build/docgen/DocgenConsts.java b/src/main/java/com/google/devtools/build/docgen/DocgenConsts.java
index 610c15c..5209d4f 100644
--- a/src/main/java/com/google/devtools/build/docgen/DocgenConsts.java
+++ b/src/main/java/com/google/devtools/build/docgen/DocgenConsts.java
@@ -18,7 +18,6 @@
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.util.FileType;
import com.google.devtools.build.lib.util.FileTypeSet;
-
import java.util.Map;
import java.util.regex.Pattern;
@@ -29,14 +28,14 @@
public static final String LS = "\n";
+ public static final String BE_TEMPLATE_DIR =
+ "com/google/devtools/build/docgen/templates/be";
+ public static final String SINGLE_BE_TEMPLATE = BE_TEMPLATE_DIR + "/single-page.vm";
public static final String COMMON_DEFINITIONS_TEMPLATE =
- "com/google/devtools/build/docgen/templates/be/common-definitions.vm";
- public static final String OVERVIEW_TEMPLATE =
- "com/google/devtools/build/docgen/templates/be/overview.vm";
- public static final String RULES_TEMPLATE =
- "com/google/devtools/build/docgen/templates/be/rules.vm";
- public static final String BE_NAV_TEMPLATE =
- "com/google/devtools/build/docgen/templates/be/be-nav.vm";
+ BE_TEMPLATE_DIR + "/common-definitions.vm";
+ public static final String OVERVIEW_TEMPLATE = BE_TEMPLATE_DIR + "/overview.vm";
+ public static final String RULES_TEMPLATE = BE_TEMPLATE_DIR + "/rules.vm";
+ public static final String BE_NAV_TEMPLATE = BE_TEMPLATE_DIR + "/be-nav.vm";
public static final String SKYLARK_LIBRARY_TEMPLATE =
"com/google/devtools/build/docgen/templates/skylark-library.vm";