528
529
530
531
532
533
534
535
536
537
538
539
540
541
|
if( link ) BLOB_APPEND_BLOB(ob, link);
}else{
BLOB_APPEND_BLOB(ob, content);
}
blob_append(ob, zClose, -1);
return 1;
}
static int html_triple_emphasis(
struct Blob *ob,
struct Blob *text,
char c,
void *opaque
){
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
|
if( link ) BLOB_APPEND_BLOB(ob, link);
}else{
BLOB_APPEND_BLOB(ob, content);
}
blob_append(ob, zClose, -1);
return 1;
}
/* Invoked for @name and #tag tagged words, marked up in the
** output text in a way that JS and CSS can do something
** interesting with them. This isn't standard Markdown, so
** it's implementation-specific what occurs here. More, each
** Fossil feature using Markdown is free to apply markup and
** behavior to these in feature-specific ways.
*/
static int html_tagspan(
struct Blob *ob, /* Write the output here */
struct Blob *text, /* The stuff in between the code span marks */
enum mkd_tagspan type, /* which type of tagspan we're creating */
void *opaque
){
if( text==0 ){
/* no-op */
}else{
BLOB_APPEND_LITERAL(ob, "<span data-");
switch (type) {
case MKDT_ATREF: BLOB_APPEND_LITERAL(ob, "atref"); break;
case MKDT_HASH: BLOB_APPEND_LITERAL(ob, "hash"); break;
}
BLOB_APPEND_LITERAL(ob, "=\"");
html_quote(ob, blob_buffer(text), blob_size(text));
BLOB_APPEND_LITERAL(ob, "\"");
blob_appendf(ob, ">%b</span>", text);
}
return 1;
}
static int html_triple_emphasis(
struct Blob *ob,
struct Blob *text,
char c,
void *opaque
){
|
584
585
586
587
588
589
590
591
592
593
594
595
596
597
|
html_codespan,
html_double_emphasis,
html_emphasis,
html_image,
html_linebreak,
html_link,
html_raw_html_tag,
html_triple_emphasis,
/* low level elements */
0, /* entity */
html_normal_text,
/* misc. parameters */
|
>
|
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
|
html_codespan,
html_double_emphasis,
html_emphasis,
html_image,
html_linebreak,
html_link,
html_raw_html_tag,
html_tagspan,
html_triple_emphasis,
/* low level elements */
0, /* entity */
html_normal_text,
/* misc. parameters */
|