vdoc: fancier attributes (#10789)
parent
5589c18b6b
commit
78a41969f6
|
@ -441,9 +441,9 @@ fn doc_node_html(dn doc.DocNode, link string, head bool, include_examples bool,
|
||||||
highlighted_code := html_highlight(dn.content, tb)
|
highlighted_code := html_highlight(dn.content, tb)
|
||||||
node_class := if dn.kind == .const_group { ' const' } else { '' }
|
node_class := if dn.kind == .const_group { ' const' } else { '' }
|
||||||
sym_name := get_sym_name(dn)
|
sym_name := get_sym_name(dn)
|
||||||
mut tags := dn.tags
|
has_deprecated := 'deprecated' in dn.tags
|
||||||
|
mut tags := dn.tags.filter(it != 'deprecated')
|
||||||
tags.sort()
|
tags.sort()
|
||||||
tags_str := ' ' + tags.map('<span class="$it-attribute-tag">[$it]</span>').join('') + ' '
|
|
||||||
mut node_id := get_node_id(dn)
|
mut node_id := get_node_id(dn)
|
||||||
mut hash_link := if !head { ' <a href="#$node_id">#</a>' } else { '' }
|
mut hash_link := if !head { ' <a href="#$node_id">#</a>' } else { '' }
|
||||||
if head && is_module_readme(dn) {
|
if head && is_module_readme(dn) {
|
||||||
|
@ -453,15 +453,24 @@ fn doc_node_html(dn doc.DocNode, link string, head bool, include_examples bool,
|
||||||
dnw.writeln('${tabs[1]}<section id="$node_id" class="doc-node$node_class">')
|
dnw.writeln('${tabs[1]}<section id="$node_id" class="doc-node$node_class">')
|
||||||
if dn.name.len > 0 {
|
if dn.name.len > 0 {
|
||||||
if dn.kind == .const_group {
|
if dn.kind == .const_group {
|
||||||
dnw.write_string('${tabs[2]}<div class="title"><$head_tag>$sym_name$tags_str$hash_link</$head_tag>')
|
dnw.write_string('${tabs[2]}<div class="title"><$head_tag>$sym_name$hash_link</$head_tag>')
|
||||||
} else {
|
} else {
|
||||||
dnw.write_string('${tabs[2]}<div class="title"><$head_tag>$dn.kind $sym_name$tags_str$hash_link</$head_tag>')
|
dnw.write_string('${tabs[2]}<div class="title"><$head_tag>$dn.kind $sym_name$hash_link</$head_tag>')
|
||||||
}
|
}
|
||||||
if link.len != 0 {
|
if link.len != 0 {
|
||||||
dnw.write_string('<a class="link" rel="noreferrer" target="_blank" href="$link">$link_svg</a>')
|
dnw.write_string('<a class="link" rel="noreferrer" target="_blank" href="$link">$link_svg</a>')
|
||||||
}
|
}
|
||||||
dnw.write_string('</div>')
|
dnw.write_string('</div>')
|
||||||
}
|
}
|
||||||
|
if tags.len > 0 || has_deprecated {
|
||||||
|
mut attributes := if has_deprecated {
|
||||||
|
'<div class="attribute attribute-deprecated">deprecated</div>'
|
||||||
|
} else {
|
||||||
|
''
|
||||||
|
}
|
||||||
|
attributes += tags.map('<div class="attribute">$it</div>').join('')
|
||||||
|
dnw.writeln('<div class="attributes">$attributes</div>')
|
||||||
|
}
|
||||||
if !head && dn.content.len > 0 {
|
if !head && dn.content.len > 0 {
|
||||||
dnw.writeln('<pre class="signature"><code>$highlighted_code</code></pre>')
|
dnw.writeln('<pre class="signature"><code>$highlighted_code</code></pre>')
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -265,9 +265,6 @@ pub fn (mut d Doc) stmt(stmt ast.Stmt, filename string) ?DocNode {
|
||||||
if stmt.is_unsafe {
|
if stmt.is_unsafe {
|
||||||
node.tags << 'unsafe'
|
node.tags << 'unsafe'
|
||||||
}
|
}
|
||||||
if node.tags.len > 0 {
|
|
||||||
eprintln(node.tags)
|
|
||||||
}
|
|
||||||
node.kind = .function
|
node.kind = .function
|
||||||
node.return_type = d.type_to_str(stmt.return_type)
|
node.return_type = d.type_to_str(stmt.return_type)
|
||||||
if stmt.receiver.typ !in [0, 1] {
|
if stmt.receiver.typ !in [0, 1] {
|
||||||
|
|
Loading…
Reference in New Issue