package kkmarkdown

  1. Overview
  2. Docs
A safe markdown engine

Install

Dune Dependency

Authors

Maintainers

Sources

1.1.0.tar.gz
md5=a20517d95590d03ff5b7670323b8b0dd
sha512=97b3faa09e23ab88c5b4dcabe88f29e5c675b6bb4b0c9230ec105a70b01b37b54274cc0ab4a5eed84a754a99e3664e116a7aba6c9697e3669229985f1bf749be

doc/src/kkmarkdown.lib/BlockRuleQuote.ml.html

Source file BlockRuleQuote.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
let is_safe = true
let first_char = FirstChar.One '>'
let force_construct = true

type state = unit

let start line : state BlockRule.res =
  if String.starts_with ~prefix:"> " line then
    Go { state = (); handle_line = `Keep }
  else Die

let continue () line : state BlockRule.res =
  if Utils.is_empty_line line then Stop { state = (); handle_line = `Discard }
  else Go { state = (); handle_line = `Keep }

let re = Str.regexp "> ?\\|  ?"

let remove_indent line =
  if Str.string_match re line 0 then Str.string_after line (Str.match_end ())
  else line

let construct { BlockRule.trans_blocks } () lines =
  let lines = List.map remove_indent lines in
  Typ.Quote (trans_blocks lines)
OCaml

Innovation. Community. Security.