summary refs log tree commit diff stats
path: root/lib/packages/docutils/rstgen.nim
diff options
context:
space:
mode:
authorringabout <43030857+ringabout@users.noreply.github.com>2023-07-14 20:44:02 +0800
committerGitHub <noreply@github.com>2023-07-14 14:44:02 +0200
commitf9280090f623d8fddbf753ec50e0ecd21f388d00 (patch)
treeb788da3cbf17b68888e19182dd24bed329b62c22 /lib/packages/docutils/rstgen.nim
parentdb1ce4ff1246f9b60fe6c6498c72b3e9d6abb8c8 (diff)
downloadNim-f9280090f623d8fddbf753ec50e0ecd21f388d00.tar.gz
fixes idx properly (#22280)
Diffstat (limited to 'lib/packages/docutils/rstgen.nim')
-rw-r--r--lib/packages/docutils/rstgen.nim21
1 files changed, 12 insertions, 9 deletions
diff --git a/lib/packages/docutils/rstgen.nim b/lib/packages/docutils/rstgen.nim
index ec9926863..008dff60a 100644
--- a/lib/packages/docutils/rstgen.nim
+++ b/lib/packages/docutils/rstgen.nim
@@ -591,16 +591,11 @@ proc readIndexDir*(dir: string):
     if path.endsWith(IndexExt):
       var (fileEntries, title) = parseIdxFile(path)
       # Depending on type add this to the list of symbols or table of APIs.
-      if title.kind in {ieNimTitle, ieIdxRole}:
+
+      if title.kind == ieNimTitle:
         for i in 0 ..< fileEntries.len:
-          if title.kind == ieIdxRole:
-            # Don't add to symbols TOC entries (they start with a whitespace).
-            let toc = fileEntries[i].linkTitle
-            if toc.len > 0 and toc[0] == ' ':
-              continue
-          else:
-            if fileEntries[i].kind != ieNim:
-              continue
+          if fileEntries[i].kind != ieNim:
+            continue
           # Ok, non TOC entry, add it.
           setLen(result.symbols, L + 1)
           result.symbols[L] = fileEntries[i]
@@ -618,6 +613,14 @@ proc readIndexDir*(dir: string):
         title.aux = "doc_toc_" & $result.docs.len
         result.docs[title] = fileEntries
 
+      for i in 0 ..< fileEntries.len:
+        if fileEntries[i].kind != ieIdxRole:
+          continue
+
+        setLen(result.symbols, L + 1)
+        result.symbols[L] = fileEntries[i]
+        inc L
+
 proc mergeIndexes*(dir: string): string =
   ## Merges all index files in `dir` and returns the generated index as HTML.
   ##