/******************************************************************************* * Copyright 2022 Stefan Majewsky * 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", }