Author: diegoastiazaran Date: Fri Aug 9 13:52:28 2019 New Revision: 368484
URL: http://llvm.org/viewvc/llvm-project?rev=368484&view=rev Log: [clang-doc] Generate an HTML index file 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. Differential Revision: https://reviews.llvm.org/D65918 Modified: clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp Modified: clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp?rev=368484&r1=368483&r2=368484&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp (original) +++ clang-tools-extra/trunk/clang-doc/HTMLGenerator.cpp Fri Aug 9 13:52:28 2019 @@ -813,6 +813,24 @@ static bool SerializeIndex(ClangDocConte 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); @@ -831,7 +849,7 @@ static bool CopyFile(StringRef FilePath, } 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)) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits