diff --git a/.gitignore b/.gitignore index 259ef2b..21b86ad 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ TypoML src.bin typoml +preview.html diff --git a/README.tlm b/README.tlm index 285bb06..d57942d 100644 --- a/README.tlm +++ b/README.tlm @@ -11,7 +11,7 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam blandit dolor nibh, ^ Links with no alt text $[https://krzak.org/krzak-icon.png|img] -$[https://frokfrdk.com/projects/staircase/staircase.wav] +$[/staircase.mp3] $(https://9front.org/movies/no.mp4) *italic* diff --git a/preview b/preview index d50d10f..7c1428f 100755 --- a/preview +++ b/preview @@ -35,5 +35,5 @@ script=' ' end="$script" output="$start$input$end" -echo "$output" > /tmp/preview.html -nohup xdg-open /tmp/preview.html > /dev/null 2>&1 & +echo "$output" > preview.html +nohup xdg-open preview.html > /dev/null 2>&1 & diff --git a/src/html.odin b/src/html.odin index c791386..f063879 100644 --- a/src/html.odin +++ b/src/html.odin @@ -256,12 +256,21 @@ print_html :: proc(token: ^Token) { case TokenType.FootnoteRef: if id, ok := token.value.(string); ok { - fmt.printf("%s", escape_html(id), escape_html(id), escape_html(id)) + fmt.printf( + "%s", + escape_html(id), + escape_html(id), + escape_html(id), + ) } case TokenType.FootnoteDef: if id, ok := token.value.(string); ok { - fmt.printf("
^ ", escape_html(id), escape_html(id)) + fmt.printf( + "
^ ", + escape_html(id), + escape_html(id), + ) for child in token.children { print_html(child) } @@ -317,8 +326,8 @@ print_html :: proc(token: ^Token) { case TokenType.HeaderLink: if target, ok := token.value.(string); ok { - slug := slugifyifyifyify(target) - fmt.printf("", escape_html(slug)) + slug := slugifyifyifyify(target) + fmt.printf("", escape_html(slug)) for child in token.children { print_html(child) } @@ -346,20 +355,40 @@ print_html :: proc(token: ^Token) { case TokenType.Audio: if url, ok := token.value.(string); ok { - fmt.printf("") + alt_text := strings.to_string(b) + if alt_text == "" { + alt_text = url + } + fmt.printf("\n", escape_html(url), escape_html(mime)) + fmt.printf("\n", escape_html(url)) + fmt.printf("\n") + fmt.printf("\n") + fmt.printf("%s\n", escape_html(url), escape_html(alt_text)) + fmt.print("\n") } case TokenType.Video: if url, ok := token.value.(string); ok { - fmt.printf("") + alt_text := strings.to_string(b) + if alt_text == "" { + alt_text = url + } + fmt.printf("\n", escape_html(url), escape_html(mime)) + fmt.printf("\n", escape_html(url)) + fmt.printf("\n") + fmt.printf("\n") + fmt.printf("%s\n", escape_html(url), escape_html(alt_text)) + fmt.print("\n") } case TokenType.Iframe: diff --git a/staircase.mp3 b/staircase.mp3 new file mode 100644 index 0000000..1157905 Binary files /dev/null and b/staircase.mp3 differ