103 lines
3.3 KiB
Go
103 lines
3.3 KiB
Go
/*******************************************************************************
|
|
* Copyright 2022 Stefan Majewsky <majewsky@gmx.net>
|
|
* SPDX-License-Identifier: GPL-3.0-only
|
|
* Refer to the file "LICENSE" for details.
|
|
*******************************************************************************/
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strings"
|
|
|
|
"github.com/sapcc/go-bits/logg"
|
|
"github.com/sapcc/go-bits/must"
|
|
)
|
|
|
|
func main() {
|
|
input := string(must.Return(os.ReadFile("../pad.md")))
|
|
must.Succeed(os.MkdirAll("../out", 0777))
|
|
|
|
//each shownotes start with a second-level header, e.g. `## Juli 2018`
|
|
for idx, section := range strings.Split(input, "\n## ") {
|
|
//ignore the part before the first header
|
|
if idx == 0 {
|
|
continue
|
|
}
|
|
|
|
//derive the filename from the rest of the header line
|
|
headerText, _, _ := strings.Cut(section, "\n")
|
|
headerText = strings.TrimSpace(headerText)
|
|
switch dateForHeaderText[headerText] {
|
|
case "":
|
|
logg.Fatal("no date known for header text %q", headerText)
|
|
case "skip":
|
|
continue //this section is not a shownotes, so do not write a file
|
|
}
|
|
filename := fmt.Sprintf("../out/shownotes-historic-%s.txt", dateForHeaderText[headerText])
|
|
|
|
//put in the characters that we lost in the split
|
|
section = "## " + section + "\n"
|
|
must.Succeed(os.WriteFile(filename, []byte(section), 0666))
|
|
}
|
|
}
|
|
|
|
var dateForHeaderText = map[string]string{
|
|
"April 2015": "2015-04",
|
|
"April(, April) 2016": "2016-04",
|
|
"April 2017": "2017-04",
|
|
"April 2018": "2018-04",
|
|
"August 2014": "2014-08",
|
|
"August 2016": "2016-08",
|
|
"August 2017": "skip", // no show
|
|
"August 2018": "2018-08",
|
|
"Dezember 2014": "2014-12",
|
|
"Schneezember 2015": "2015-12",
|
|
"Dezember 2016": "2016-12",
|
|
"Dezember 2017": "2017-12",
|
|
"Februar 2015": "2015-02",
|
|
"Fairbrew 2016": "2016-02",
|
|
"Februar 2017": "2017-02",
|
|
"Februar 2018": "2018-02",
|
|
"Februar 2019": "2019-02",
|
|
"Januar 2015": "2015-01",
|
|
"Janvier 2016": "2016-01",
|
|
"Januar 2017": "2017-01",
|
|
"Januar 2018": "2018-01",
|
|
"Januar 2019": "2019-01",
|
|
"Juli 2014": "2014-07",
|
|
"Juli 2015": "2015-07",
|
|
"Juli 2016": "2016-07",
|
|
"Juli 2017": "2017-07",
|
|
"Juli 2018": "2018-07",
|
|
"Juni 2015": "2015-06",
|
|
"Juni 2016": "2016-06",
|
|
"Juni 2018": "2018-06",
|
|
"Mai 2015": "2015-05",
|
|
"May(hem) 2016": "2016-05",
|
|
"Mai 2017": "2017-05",
|
|
"Mai 2018": "2018-05",
|
|
"März 2015": "2015-03",
|
|
"M(ehr H)erz 2016": "2016-03",
|
|
"März 2017": "2017-03",
|
|
"März 2018": "2018-03",
|
|
"November 2014": "2014-11",
|
|
"Movember 2015": "2015-11",
|
|
"November 2016": "2016-11",
|
|
"November 2017": "2017-11",
|
|
"November 2018": "2018-11",
|
|
"Octobre 2014": "2014-10",
|
|
"Oktober 2015": "2015-10",
|
|
"Oktober 2016": "2016-10",
|
|
"Oktober 2017": "skip", //no show
|
|
"Oktober 2018": "2018-10",
|
|
"September 2014": "2014-09",
|
|
"September 2015": "2015-09",
|
|
"September 2016": "2016-09",
|
|
"September 2017": "skip", //no show
|
|
"September 2018": "2018-09",
|
|
"Themenvorschläge": "skip",
|
|
"geplant für Januar 2019, aber zurückgestellt wegen Terminkonflikt": "skip",
|
|
}
|