Implemented ordered lists
This commit is contained in:
26
Render.go
26
Render.go
@ -17,6 +17,7 @@ type renderer struct {
|
||||
paragraphLevel int
|
||||
quoteLevel int
|
||||
listLevel int
|
||||
olistLevel int
|
||||
tableLevel int
|
||||
codeLines int
|
||||
tableHeaderWritten bool
|
||||
@ -200,6 +201,26 @@ func (r *renderer) processLine(line string) {
|
||||
}
|
||||
}
|
||||
|
||||
pos := 0
|
||||
|
||||
for pos < len(line) && line[pos] >= '0' && line[pos] <= '9' {
|
||||
pos++
|
||||
|
||||
if pos < len(line) && (line[pos] == '.' || line[pos] == ')') {
|
||||
line = strings.TrimSpace(line[pos+1:])
|
||||
|
||||
if r.olistLevel == 0 {
|
||||
r.WriteString("<ol>")
|
||||
r.olistLevel++
|
||||
}
|
||||
|
||||
r.WriteString("<li>")
|
||||
r.writeText(line)
|
||||
r.WriteString("</li>")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if r.paragraphLevel == 0 {
|
||||
r.WriteString("<p>")
|
||||
r.paragraphLevel++
|
||||
@ -233,7 +254,12 @@ func (r *renderer) closeLists() {
|
||||
r.WriteString("</ul>")
|
||||
}
|
||||
|
||||
for range r.olistLevel {
|
||||
r.WriteString("</ol>")
|
||||
}
|
||||
|
||||
r.listLevel = 0
|
||||
r.olistLevel = 0
|
||||
}
|
||||
|
||||
// closeTables closes open tables.
|
||||
|
Reference in New Issue
Block a user