[PATCH] D65918: [clang-doc] Generate an HTML index file

Diego Astiazarán via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 7 18:34:55 PDT 2019


DiegoAstiazaran created this revision.
DiegoAstiazaran added reviewers: juliehockett, jakehehrlich.
DiegoAstiazaran added a project: clang-tools-extra.
Herald added a subscriber: arphaman.

clang-doc now generates a file that contains only an index to all the infos that can be used as the landing page for the generated website.


https://reviews.llvm.org/D65918

Files:
  clang-tools-extra/clang-doc/HTMLGenerator.cpp


Index: clang-tools-extra/clang-doc/HTMLGenerator.cpp
===================================================================
--- clang-tools-extra/clang-doc/HTMLGenerator.cpp
+++ clang-tools-extra/clang-doc/HTMLGenerator.cpp
@@ -693,6 +693,24 @@
   return true;
 }
 
+static bool GenIndex(const ClangDocContext &CDCtx) {
+  std::error_code FileErr, OK;
+  llvm::SmallString<128> IndexPath;
+  llvm::sys::path::native(CDCtx.OutDirectory, IndexPath);
+  llvm::sys::path::append(IndexPath, "index.html");
+  llvm::raw_fd_ostream IndexOS(IndexPath, FileErr, llvm::sys::fs::F_None);
+  if (FileErr != OK) {
+    llvm::errs() << "Error creating main index: " << FileErr.message() << "\n";
+    return false;
+  }
+  HTMLFile F;
+  std::vector<std::unique_ptr<TagNode>> BasicNodes =
+      genCommonFileNodes("Index", "", CDCtx);
+  AppendVector(std::move(BasicNodes), F.Children);
+  F.Render(IndexOS);
+  return true;
+}
+
 static bool CopyFile(StringRef FilePath, StringRef OutDirectory) {
   llvm::SmallString<128> PathWrite;
   llvm::sys::path::native(OutDirectory, PathWrite);
@@ -711,7 +729,7 @@
 }
 
 bool HTMLGenerator::createResources(ClangDocContext &CDCtx) {
-  if (!SerializeIndex(CDCtx))
+  if (!SerializeIndex(CDCtx) || !GenIndex(CDCtx))
     return false;
   for (const auto &FilePath : CDCtx.UserStylesheets)
     if (!CopyFile(FilePath, CDCtx.OutDirectory))


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65918.214050.patch
Type: text/x-patch
Size: 1365 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190808/1697f11c/attachment.bin>


More information about the cfe-commits mailing list