M scraper.go => scraper.go +1 -1
@@ 106,7 106,7 @@ func Build() (db DB, err error) {
Rating: Rating(rating),
GradeLevels: strings.Split(strings.Replace(gradeLevels, " ", "", -1), ","),
Subjects: strings.Split(strings.Replace(subjects, " ", "", -1), ","),
- Description: desc,
+ Description: strings.Replace(desc, " |", "", -1),
URL: link,
}
mu.Lock()
M serve.go => serve.go +32 -1
@@ 20,6 20,22 @@ var pageTmpl = `<html>
tr:nth-child(even) {
background-color: #c0c0c0;
}
+
+ .ratingNotSecular {
+ background-color: #f54646;
+ }
+ .ratingNeutral {
+ background-color: #f9ac63;
+ }
+ .ratingMostlySecular {
+ background-color: #ecec58;
+ }
+ .ratingSecular {
+ background-color: #d0f172;
+ }
+ .ratingSuperSecular {
+ background-color: #60bd60;
+ }
</style>
</head>
<body>
@@ 43,7 59,7 @@ var pageTmpl = `<html>
{{else}}
<td>{{.Name}}</td>
{{end}}
- <td>{{.Rating}}</td>
+ <td class="{{.Rating | ratingClass}}">{{.Rating}}</td>
<td>{{join .GradeLevels}}</td>
<td>{{joinbr .Subjects}}</td>
<td>{{.Description}}</td>
@@ 64,6 80,21 @@ func WriteHTML(w io.Writer, db DB) error {
"joinbr": func(v []string) template.HTML {
return template.HTML(strings.Join(v, "<br />"))
},
+ "ratingClass": func(v Rating) string {
+ switch v {
+ case RatingNotSecular:
+ return "ratingNotSecular"
+ case RatingNeutral:
+ return "ratingNeutral"
+ case RatingMostlySecular:
+ return "ratingMostlySecular"
+ case RatingSecular:
+ return "ratingSecular"
+ case RatingSuperSecular:
+ return "ratingSuperSecular"
+ }
+ return ""
+ },
}).Parse(pageTmpl))
if err := t.Execute(w, db); err != nil {
return fmt.Errorf("could not generate page: %v", err)