Skip to content

Commit

Permalink
Fix HTML Structure in HTML Exporter (#145)
Browse files Browse the repository at this point in the history
  • Loading branch information
dst97 authored Oct 22, 2022
1 parent cce6b9a commit 497ff98
Showing 1 changed file with 10 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class BasicHTMLExporter : GradedRubricExporter.HTML {

override fun export(gradedRubric: GradedRubric): Resource {
val builder = StringBuilder()
builder.pageStart()
builder.pageStart("Grading Result")
builder.table(gradedRubric)
builder.pageEnd()
return buildResource {
Expand Down Expand Up @@ -49,17 +49,18 @@ class BasicHTMLExporter : GradedRubricExporter.HTML {
titleEntry(rubric.rubric.range())
titleEntry(rubric.grade.range())
titleEntry()
rowEnd()
tableBodyEnd()
tableEnd()
}

private fun StringBuilder.pageStart() {
append("<!DOCTYPE html>")
private fun StringBuilder.pageStart(title: String) {
append("<html>")
append("<head>")
append("""<meta charset="utf-8">""")
append("</head>")
append("<html>")
append("""<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">""")
append("<title>$title</title>")
append("</head>")
append("<body>")
append("""<div class="container">""")
}
Expand All @@ -75,7 +76,7 @@ class BasicHTMLExporter : GradedRubricExporter.HTML {
}

private fun StringBuilder.tableStart(classes: List<String> = listOf()) {
append("""<table class="${classes.joinToString(separator = " ")}"><thead>""")
append("""<table class="${classes.joinToString(separator = " ")}">""")
}

private fun StringBuilder.tableEnd() = append("</table>")
Expand All @@ -84,7 +85,7 @@ class BasicHTMLExporter : GradedRubricExporter.HTML {
private fun StringBuilder.tableHeadEnd() = append("</thead>")

private fun StringBuilder.tableBodyStart() = append("<tbody>")
private fun StringBuilder.tableBodyEnd() = append("<tbody>")
private fun StringBuilder.tableBodyEnd() = append("</tbody>")

private fun StringBuilder.tableEntry(r: GradedCriterion) {
rowStart()
Expand All @@ -93,14 +94,15 @@ class BasicHTMLExporter : GradedRubricExporter.HTML {
titleEntry(r.criterion.range())
titleEntry(r.grade.range())
titleEntry(r.comments())
rowEnd()
r.childCriteria.forEach { this.tableEntry(it) }
} else {
entry("""${badge((++criterionCounter).toString())} ${r.description()}""")
entry(r.criterion.range())
entry(r.grade.range(), classes = r.rowClasses())
entry(r.comments())
rowEnd()
}
rowEnd()
}

private fun badge(text: String): String = """<span class="badge">$text</span>"""
Expand Down

0 comments on commit 497ff98

Please sign in to comment.