github.com/vlifesystems/rulehunter@v0.0.0-20180501090014-673078aa4a83/html/activity.go (about) 1 // Copyright (C) 2016-2017 vLife Systems Ltd <http://vlifesystems.com> 2 // Licensed under an MIT licence. Please see LICENSE.md for details. 3 4 package html 5 6 import ( 7 "html/template" 8 "path/filepath" 9 "time" 10 11 "github.com/vlifesystems/rulehunter/config" 12 "github.com/vlifesystems/rulehunter/progress" 13 ) 14 15 func generateActivityPage( 16 cfg *config.Config, 17 pm *progress.Monitor, 18 ) error { 19 type TplExperiment struct { 20 Title string 21 Category string 22 CategoryURL string 23 Tags map[string]string 24 Stamp string 25 Filename string 26 Status string 27 Msg string 28 Percent float64 29 } 30 31 type TplData struct { 32 Experiments []*TplExperiment 33 Html map[string]template.HTML 34 } 35 36 experiments := pm.GetExperiments() 37 tplExperiments := make([]*TplExperiment, len(experiments)) 38 39 for i, experiment := range experiments { 40 tplExperiments[i] = &TplExperiment{ 41 experiment.Title, 42 experiment.Category, 43 makeCategoryLink(experiment.Category), 44 makeTagLinks(experiment.Tags), 45 experiment.Status.Stamp.Format(time.RFC822), 46 experiment.Filename, 47 experiment.Status.State.String(), 48 experiment.Status.Msg, 49 experiment.Status.Percent, 50 } 51 } 52 tplData := TplData{tplExperiments, makeHtml(cfg, "activity")} 53 54 outputFilename := filepath.Join("activity", "index.html") 55 return writeTemplate(cfg, outputFilename, activityTpl, tplData) 56 }