MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / toc_header

Function toc_header

libraries/hoedown/src/html.c:559–592  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

557}
558
559static void
560toc_header(hoedown_buffer *ob, const hoedown_buffer *content, int level, const hoedown_renderer_data *data)
561{
562 hoedown_html_renderer_state *state = data->opaque;
563
564 if (level <= state->toc_data.nesting_level) {
565 /* set the level offset if this is the first header
566 * we're parsing for the document */
567 if (state->toc_data.current_level == 0)
568 state->toc_data.level_offset = level - 1;
569
570 level -= state->toc_data.level_offset;
571
572 if (level > state->toc_data.current_level) {
573 while (level > state->toc_data.current_level) {
574 HOEDOWN_BUFPUTSL(ob, "<ul>\n<li>\n");
575 state->toc_data.current_level++;
576 }
577 } else if (level < state->toc_data.current_level) {
578 HOEDOWN_BUFPUTSL(ob, "</li>\n");
579 while (level < state->toc_data.current_level) {
580 HOEDOWN_BUFPUTSL(ob, "</ul>\n</li>\n");
581 state->toc_data.current_level--;
582 }
583 HOEDOWN_BUFPUTSL(ob,"<li>\n");
584 } else {
585 HOEDOWN_BUFPUTSL(ob,"</li>\n<li>\n");
586 }
587
588 hoedown_buffer_printf(ob, "<a href=\"#toc_%d\">", state->toc_data.header_count++);
589 if (content) hoedown_buffer_put(ob, content->data, content->size);
590 HOEDOWN_BUFPUTSL(ob, "</a>\n");
591 }
592}
593
594static int
595toc_link(hoedown_buffer *ob, const hoedown_buffer *content, const hoedown_buffer *link, const hoedown_buffer *title, const hoedown_renderer_data *data)

Callers

nothing calls this directly

Calls 2

hoedown_buffer_printfFunction · 0.85
hoedown_buffer_putFunction · 0.85

Tested by

no test coverage detected