From 51c2d535fdcb3a04df5d40458c8eaa64959f9426 Mon Sep 17 00:00:00 2001 From: Steve Kamerman Date: Tue, 17 Dec 2024 12:11:22 -0500 Subject: [PATCH 1/2] feat: trim start to first contribution year; reduce font size --- main.go | 8 ++++++++ pkg/skyline/cad.go | 2 +- pkg/skyline/github.go | 45 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index b038030..0723af4 100644 --- a/main.go +++ b/main.go @@ -20,6 +20,7 @@ var ( token string saveContribs bool contribsFile string + trimContribs bool outputFile string startYear int endYear int @@ -45,6 +46,7 @@ func init() { flag.StringVarP(&token, "token", "t", os.Getenv("GITHUB_TOKEN"), "GitHub token") flag.BoolVarP(&saveContribs, "save", "s", false, "Save contributions to a file") flag.StringVarP(&contribsFile, "contributions", "f", "contributions.json", "File to save/load contributions") + flag.BoolVarP(&trimContribs, "trim", "T", true, "Trim years from the start that contain no contributions") flag.StringVarP(&outputFile, "output", "o", "skyline.scad", "Output file (.scad and .stl are supported, but stl requires 'openscad')") flag.IntVarP(&startYear, "start", "b", 0, "Start year") flag.IntVarP(&endYear, "end", "e", 0, "End year") @@ -126,6 +128,12 @@ func main() { } } + if trimContribs { + if contribs.TrimStartYear() { + fmt.Printf("Trimmed start year to %v\n", contribs.FirstDate[:4]) + } + } + fmt.Printf("Total contributions: %d between %v and %v\n", contribs.TotalContributions, contribs.FirstDate, contribs.LastDate) fmt.Printf("Generating OpenSCAD ...\n") diff --git a/pkg/skyline/cad.go b/pkg/skyline/cad.go index 9c69801..1644b04 100644 --- a/pkg/skyline/cad.go +++ b/pkg/skyline/cad.go @@ -228,7 +228,7 @@ var ( if (textEnable) { textOffset = baseOffset+baseMargin; - textSize = baseHeight-baseMargin; + textSize = baseHeight-baseMargin-1; rotate([90-baseAngle, 0 ,0]) translate([textOffset, 1, 0]) diff --git a/pkg/skyline/github.go b/pkg/skyline/github.go index bf505bc..e799e24 100644 --- a/pkg/skyline/github.go +++ b/pkg/skyline/github.go @@ -42,6 +42,51 @@ type Contributions struct { ByDate map[string]int `json:"by_date"` } +// TrimStartYear trims the contributions to the first year with at least one contribution +func (c *Contributions) TrimStartYear() bool { + firstContributionYear := 0 + for date, numContribs := range c.ByDate { + + if numContribs == 0 { + continue + } + + year, err := time.Parse("2006-01-02", date) + if err != nil { + panic(err) + } + + if firstContributionYear == 0 || year.Year() < firstContributionYear { + firstContributionYear = year.Year() + } + } + + fmt.Printf("First contribution year: %d\n", firstContributionYear) + + if firstContributionYear == 0 { + return false + } + + for date := range c.ByDate { + year, err := time.Parse("2006-01-02", date) + if err != nil { + panic(err) + } + + if year.Year() < firstContributionYear { + delete(c.ByDate, date) + } + } + + firstDate := fmt.Sprintf("%d-01-01", firstContributionYear) + if firstDate != c.FirstDate { + c.FirstDate = firstDate + return true + } + + return false +} + func (c *Contributions) YearRangeText() string { startYear := c.FirstDate[:4] endYear := c.LastDate[:4] From 70d6d03e76021650180a9d5d15319e6ba320b1d6 Mon Sep 17 00:00:00 2001 From: Steve Kamerman Date: Tue, 17 Dec 2024 12:12:11 -0500 Subject: [PATCH 2/2] chore: version bump --- main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.go b/main.go index 0723af4..56ff24e 100644 --- a/main.go +++ b/main.go @@ -12,7 +12,7 @@ import ( ) const ( - version = "1.1.1" + version = "1.1.2" ) var (