number = {
    // To recognize a number...
    ASCII_ALPHANUMERIC+ // take as many ASCII digits as possible (at least one).
}

WHITESPACE = { " " }

text = {
    (ANY)+
}

citate = {
    ">" ~ text ~ NEWLINE
}

link = {
    ">>" ~ ASCII_DIGIT+
}

// 1
code = {
    "`" ~ text ~ "`"
}

// 2
url = {
    text // todo: implement url
}

// 3
semibold = {
    "**" ~ text ~ "**"
}

// 4
coursive = {
    "*" ~ text ~ "*"
}

// 5
spoiler = {
    "%%" ~ text ~ "%%"
}
// 6
strike = {
    text ~ ("^H"+)
}

post_content = {
    SOI ~ (link | citate | code | semibold | coursive | spoiler | strike | text)* ~ EOI
}

Изменить пасту