File indexing completed on 2024-04-28 11:21:08

0001 #include <stdio.h>
0002 #include "markdown.h"
0003 
0004 static Paragraph *
0005 mkd_h1(Paragraph *p)
0006 {
0007     Paragraph *found;
0008 
0009     while ( p ) {
0010     if ( p->typ == HDR && p->hnumber == 1 )
0011          return p;
0012        if ( p->down && (found = mkd_h1(p->down)) )
0013        return found;
0014     p = p->next;
0015     }
0016     return 0;
0017 }
0018 
0019 char *
0020 mkd_h1_title(Document *doc, int flags)
0021 {
0022     Paragraph *title;
0023 
0024     if (doc && (title = mkd_h1(doc->code)) ) {
0025       char *generated;
0026       int size;
0027 
0028       /* assert that a H1 header is one line long, so that's
0029        * the only thing needed
0030         */
0031       size = mkd_line(T(title->text->text),
0032               S(title->text->text), &generated, flags|MKD_TAGTEXT);
0033       if ( size ) return generated;
0034     }
0035     return 0;
0036 }