diff options
author | ringabout <43030857+ringabout@users.noreply.github.com> | 2023-07-14 20:44:02 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-14 14:44:02 +0200 |
commit | f9280090f623d8fddbf753ec50e0ecd21f388d00 (patch) | |
tree | b788da3cbf17b68888e19182dd24bed329b62c22 | |
parent | db1ce4ff1246f9b60fe6c6498c72b3e9d6abb8c8 (diff) | |
download | Nim-f9280090f623d8fddbf753ec50e0ecd21f388d00.tar.gz |
fixes idx properly (#22280)
-rw-r--r-- | lib/packages/docutils/rstgen.nim | 21 | ||||
-rw-r--r-- | lib/packages/docutils/rstidx.nim | 2 |
2 files changed, 13 insertions, 10 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. ## diff --git a/lib/packages/docutils/rstidx.nim b/lib/packages/docutils/rstidx.nim index c48f44300..236b8361a 100644 --- a/lib/packages/docutils/rstidx.nim +++ b/lib/packages/docutils/rstidx.nim @@ -121,7 +121,7 @@ proc parseIdxFile*(path: string): result.fileEntries[f].linkDesc = cols[4].unquoteIndexColumn result.fileEntries[f].line = parseInt(cols[5]) - if result.fileEntries[f].kind in {ieNimTitle, ieMarkupTitle, ieIdxRole}: + if result.fileEntries[f].kind in {ieNimTitle, ieMarkupTitle}: result.title = result.fileEntries[f] inc f |