<$head_tag>$dd.kind $sym_name$hash_link$head_tag>')
+ }
if link.len != 0 {
dnw.write('
$link_svg')
}
@@ -412,19 +416,21 @@ fn (cfg DocConfig) readme_idx() int {
return -1
}
-fn write_toc(cn doc.DocNode, nodes []doc.DocNode, mut toc strings.Builder) {
- mut toc_slug := if cn.name.len == 0 || cn.content.len == 0 { '' } else { slug(cn.name) }
- if toc_slug == '' && cn.children.len > 0 {
- toc_slug = slug(cn.name + '.' + cn.children[0].name)
+fn write_toc(dn doc.DocNode, nodes []doc.DocNode, mut toc strings.Builder) {
+ mut toc_slug := if dn.name.len == 0 || dn.content.len == 0 { '' } else { slug(dn.name) }
+ if toc_slug == '' && dn.children.len > 0 {
+ toc_slug = slug(dn.name + '.' + dn.children[0].name)
}
- toc.write('
$cn.name')
- if cn.name != 'Constants' {
+ if dn.name != 'Constants' {
+ toc.write('$dn.kind $dn.name')
toc.writeln(' ')
- for child in cn.children {
- cname := cn.name + '.' + child.name
- toc.writeln('- $child.name
')
+ for child in dn.children {
+ cname := dn.name + '.' + child.name
+ toc.writeln('- $child.kind $child.name
')
}
toc.writeln('
')
+ } else {
+ toc.write('$dn.name')
}
toc.writeln('')
}
diff --git a/vlib/v/doc/doc.v b/vlib/v/doc/doc.v
index d8d993925b..d9c0187082 100644
--- a/vlib/v/doc/doc.v
+++ b/vlib/v/doc/doc.v
@@ -28,6 +28,18 @@ pub enum SymbolKind {
struct_field
}
+pub fn (sk SymbolKind) str() string {
+ return match sk {
+ .const_group { 'Constants' }
+ .function, .method { 'fn' }
+ .interface_ { 'interface' }
+ .typedef { 'type' }
+ .enum_ { 'enum' }
+ .struct_ { 'struct' }
+ else { '' }
+ }
+}
+
pub struct Doc {
prefs &pref.Preferences = new_vdoc_preferences()
pub mut: