example_03.bmx 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. SuperStrict
  2. Framework brl.standardio
  3. Import text.markdown
  4. Import text.pikchr
  5. Local sb:TStringBuilder = New TStringBuilder
  6. Local highlighter:THighlighter = New THighlighter
  7. sb.Append("<!DOCTYPE html><html><head><meta charset=~qutf-8~q><title>Markdown</title>")
  8. sb.Append("<body>")
  9. TMarkdown.ParseToHtml("""
  10. Hello !
  11. ```pikchr
  12. arrow right 200% "Markdown" "Source"
  13. box rad 10px "Markdown" "Formatter" "(markdown.c)" fit
  14. arrow right 200% "HTML+SVG" "Output"
  15. arrow <-> down 70% from last box.s
  16. box same "Pikchr" "Formatter" "(pikchr.c)" fit
  17. ```
  18. hmm...
  19. ```csharp
  20. Console.WriteLine("Hello World!");
  21. ```
  22. World!
  23. """, sb,,,,highlighter)
  24. sb.Append("</body></html>")
  25. SaveString(sb.ToString(), "markdown.html")
  26. Type THighlighter Extends TMDHtmlCodeHighlighter
  27. Method Text:Int(lang:String, txt:String, output:TStringBuilder)
  28. If lang = "pikchr" Then
  29. Local width:Int, height:Int
  30. Local out:String = Pikchr(txt, Null, EPikChrFlags.NONE, width, height)
  31. output.Append("<div style=~qmax-width:").Append(width).Append("px~q>")
  32. output.Append(out)
  33. output.Append("</div>")
  34. Return True
  35. End If
  36. Return False
  37. End Method
  38. End Type