1

Update for new goldsmith

This commit is contained in:
Alex Yatskov 2022-01-08 18:33:05 -08:00
parent 13e755f706
commit 8e8b59182a
11 changed files with 98 additions and 94 deletions

View File

@ -3,7 +3,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
<title>{{.Meta.Title}}</title>
<title>{{.Props.Title}}</title>
</head>
<body>
{{end}}
@ -15,7 +15,7 @@
{{define "page"}}
{{template "header" .}}
<h1>{{.Meta.Title}}</h1>
{{.Meta.Content}}
<h1>{{.Props.Title}}</h1>
{{.Props.Content}}
{{template "footer" .}}
{{end}}

View File

@ -17,16 +17,16 @@ type builder struct {
dist bool
}
func (b *builder) Build(srcDir, dstDir, cacheDir string) {
func (self *builder) Build(srcDir, dstDir, cacheDir string) {
errs := goldsmith.
Begin(srcDir). // read files from srcDir
Chain(frontmatter.New()). // extract frontmatter and store it as metadata
Chain(markdown.New()). // convert *.md files to *.html files
Chain(layout.New()). // apply *.gohtml templates to *.html files
FilterPush(condition.New(b.dist)). // push a dist-only conditional filter onto the stack
Chain(minify.New()). // minify *.html, *.css, *.js, etc. files
FilterPop(). // pop off the last filter pushed onto the stack
End(dstDir) // write files to dstDir
Begin(srcDir). // read files from srcDir
Chain(frontmatter.New()). // extract frontmatter and store it as metadata
Chain(markdown.New()). // convert *.md files to *.html files
Chain(layout.New()). // apply *.gohtml templates to *.html files
FilterPush(condition.New(self.dist)). // push a dist-only conditional filter onto the stack
Chain(minify.New()). // minify *.html, *.css, *.js, etc. files
FilterPop(). // pop off the last filter pushed onto the stack
End(dstDir) // write files to dstDir
for _, err := range errs {
log.Print(err)

View File

@ -1,14 +1,14 @@
{{define "breadcrumbs"}}
{{if and .Meta.CrumbParent .Meta.Crumbs}}
{{if and .Props.CrumbParent .Props.Crumbs}}
<div>
<nav class="breadcrumb">
{{range .Meta.Crumbs.Ancestors}}
<a href="/{{.File.Path}}" class="breadcrumb-item">{{.File.Meta.Title}}</a>
{{range .Props.Crumbs.Ancestors}}
<a href="/{{.File.Path}}" class="breadcrumb-item">{{.File.Props.Title}}</a>
{{end}}
{{if .Meta.Title}}
<span class="breadcrumb-item active">{{.Meta.Title}}</span>
{{else if eq .Meta.Layout "tag"}}
<span class="breadcrumb-item active">Tagged &ldquo;{{.Meta.TagState.CurrentTag.RawName}}&rdquo;</span>
{{if .Props.Title}}
<span class="breadcrumb-item active">{{.Props.Title}}</span>
{{else if eq .Props.Layout "tag"}}
<span class="breadcrumb-item active">Tagged &ldquo;{{.Props.TagState.CurrentTag.RawName}}&rdquo;</span>
{{end}}
</nav>
</div>

View File

@ -1,7 +1,7 @@
{{define "cloud"}}
{{if .Meta.TagState.CurrentTags}}
{{if .Props.TagState.CurrentTags}}
<div>
{{range .Meta.TagState.CurrentTags}}
{{range .Props.TagState.CurrentTags}}
<a class="badge badge-secondary" href="/{{.IndexFile.Path}}">{{.RawName}}</a>
{{end}}
</div>

View File

@ -2,11 +2,11 @@
{{template "header" .}}
{{template "navbar" .}}
<div class="container">
{{range .Meta.Groups.Blog}}
{{range .Props.Groups.Blog}}
<div>
<h2><a href="{{.Path}}">{{.Meta.Title}}</a></h2>
<h2><a href="{{.Path}}">{{.Props.Title}}</a></h2>
<p>
{{.Meta.Summary}}
{{.Props.Summary}}
<a href="{{.Path}}">&hellip;</a>
</p>
</div>

View File

@ -4,14 +4,14 @@
{{template "github" .}}
<div class="container">
<h1>
{{.Meta.Title}}
{{if .Meta.SubTitle}}
<small>{{.Meta.SubTitle}}</small>
{{.Props.Title}}
{{if .Props.SubTitle}}
<small>{{.Props.SubTitle}}</small>
{{end}}
</h1>
{{template "cloud" .}}
<hr>
{{.Meta.Content}}
{{.Props.Content}}
{{template "breadcrumbs" .}}
</div>
{{template "footer" .}}
@ -21,11 +21,11 @@
{{template "header" .}}
{{template "navbar" .}}
<div class="container">
<h1>Tagged &ldquo;{{.Meta.TagState.CurrentTag.RawName}}&rdquo;</h1>
<h1>Tagged &ldquo;{{.Props.TagState.CurrentTag.RawName}}&rdquo;</h1>
<hr>
<ul>
{{range .Meta.TagState.CurrentTag.TaggedFiles}}
<li><a href="/{{.Path}}">{{.Meta.Title}}</a></li>
{{range .Props.TagState.CurrentTag.TaggedFiles}}
<li><a href="/{{.Path}}">{{.Props.Title}}</a></li>
{{end}}
</ul>
{{template "breadcrumbs" .}}
@ -40,7 +40,7 @@
<h1>Tags</h1>
<hr>
<ul>
{{range .Meta.TagState.TagsByCount}}
{{range .Props.TagState.TagsByCount}}
<li><a href="/{{.IndexFile.Path}}">{{.RawName}}</a> ({{len .TaggedFiles}})</li>
{{end}}
</ul>
@ -55,7 +55,7 @@
<div class="container">
<h1>Index of /{{.Dir}}</h1>
<ul class="list-unstyled">
{{range .Meta.Files}}
{{range .Props.Files}}
{{if .IsDir}}<strong>{{end}}
<li><a href="/{{.Path}}">{{.Name}}</a></li>
{{if .IsDir}}</strong>{{end}}

View File

@ -1,7 +1,7 @@
{{define "github"}}
{{if .Meta.GitHub}}
{{if .Props.GitHub}}
<div>
<a href="https://github.com/FooSoft/{{.Meta.GitHub}}" class="github-corner">
<a href="https://github.com/FooSoft/{{.Props.GitHub}}" class="github-corner">
<svg width="80" height="80" viewBox="0 0 250 250">
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
<path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path>

View File

@ -9,11 +9,11 @@
<link rel="stylesheet" href="/lib/tether/css/tether-theme-basic.min.css">
<link rel="stylesheet" href="/lib/lightbox/ekko-lightbox.min.css">
<link rel="stylesheet" href="/main.css">
{{if .Meta.Title}}
<title>Goldsmith Sample - {{.Meta.Title}}</title>
{{else if eq .Meta.Layout "tag"}}
<title>Goldsmith Sample - Tagged "{{.Meta.TagState.CurrentTag.RawName}}"</title>
{{else if eq .Meta.Layout "index"}}
{{if .Props.Title}}
<title>Goldsmith Sample - {{.Props.Title}}</title>
{{else if eq .Props.Layout "tag"}}
<title>Goldsmith Sample - Tagged "{{.Props.TagState.CurrentTag.RawName}}"</title>
{{else if eq .Props.Layout "index"}}
<title>Goldsmith Sample - Index of /{{.Dir}}</title>
{{end}}
</head>
@ -25,7 +25,7 @@
<a class="navbar-brand" href="/">Goldsmith Sample</a>
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
<div class="navbar-nav">
{{$area := .Meta.Area}}
{{$area := .Props.Area}}
<a class="nav-item nav-link {{if $area}}{{if eq $area "blog"}}active{{end}}{{end}}" href="/">Blog</a>
<a class="nav-item nav-link {{if $area}}{{if eq $area "portfolio"}}active{{end}}{{end}}" href="/portfolio/">Portfolio</a>
<a class="nav-item nav-link {{if $area}}{{if eq $area "projects"}}active{{end}}{{end}}" href="/projects/">Projects</a>

View File

@ -21,7 +21,7 @@ import (
"github.com/PuerkitoBio/goquery"
)
func fixup(doc *goquery.Document) error {
func fixup(file *goldsmith.File, doc *goquery.Document) error {
doc.Find("table").AddClass("table").Find("thead").AddClass("thead-light")
doc.Find("blockquote").AddClass("blockquote")
doc.Find("img[src*='thumb']").Each(func(i int, s *goquery.Selection) {
@ -37,7 +37,7 @@ func fixup(doc *goquery.Document) error {
type builder struct{}
func (b *builder) Build(contentDir, buildDir, cacheDir string) {
func (self *builder) Build(contentDir, buildDir, cacheDir string) {
tagMeta := map[string]interface{}{
"Area": "tags",
"CrumbParent": "tags",

8
go.mod
View File

@ -1,9 +1,9 @@
module github.com/FooSoft/goldsmith-samples
go 1.13
go 1.16
require (
github.com/FooSoft/goldsmith v0.0.0-20200102021543-f410ad444d75
github.com/FooSoft/goldsmith-components v0.0.0-20200502040846-14ae9d6b0808
github.com/PuerkitoBio/goquery v1.5.1
github.com/FooSoft/goldsmith v0.0.0-20220109020919-4adf5b9bd304
github.com/FooSoft/goldsmith-components v0.0.0-20220109021305-e075c437ee80
github.com/PuerkitoBio/goquery v1.8.0
)

98
go.sum
View File

@ -1,59 +1,63 @@
github.com/FooSoft/goldsmith v0.0.0-20200102021543-f410ad444d75 h1:haqe6jzeO6sxSPmXLMNUDJcoFLs47PPS7F9tjWCMdOM=
github.com/FooSoft/goldsmith v0.0.0-20200102021543-f410ad444d75/go.mod h1:4Xvg5yaavuqsFYPiQgc2bB3R3O+qZrWxgvfIQTZxt34=
github.com/FooSoft/goldsmith-components v0.0.0-20200502040846-14ae9d6b0808 h1:8L5B16HYS/wjqNKe31DzY14C61GQyBu7KouqS1L0wgg=
github.com/FooSoft/goldsmith-components v0.0.0-20200502040846-14ae9d6b0808/go.mod h1:04Lu/hpGPnuBJdOvFN9hq6sy2bw4u1+jKvDRkqLK3UU=
github.com/PuerkitoBio/goquery v1.5.1 h1:PSPBGne8NIUWw+/7vFBV+kG2J/5MOjbzc7154OaKCSE=
github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
github.com/alecthomas/assert v0.0.0-20170929043011-405dbfeb8e38/go.mod h1:r7bzyVFMNntcxPZXK3/+KdruV1H5KSlyVY0gc+NgInI=
github.com/alecthomas/chroma v0.7.2 h1:B76NU/zbQYIUhUowbi4fmvREmDUJLsUzKWTZmQd3ABY=
github.com/alecthomas/chroma v0.7.2/go.mod h1:fv5SzZPFJbwp2NXJWpFIX7DZS4HgV1K4ew4Pc2OZD9s=
github.com/alecthomas/colour v0.0.0-20160524082231-60882d9e2721/go.mod h1:QO9JBoKquHd+jz9nshCh40fOfO+JzsoXy8qTHF68zU0=
github.com/alecthomas/kong v0.2.1-0.20190708041108-0548c6b1afae/go.mod h1:+inYUSluD+p4L8KdviBSgzcqEjUQOfC5fQDRFuc36lI=
github.com/alecthomas/repr v0.0.0-20180818092828-117648cd9897/go.mod h1:xTS7Pm1pD1mvyM075QCDSRqH6qRLXylzS24ZTpRiSzQ=
github.com/andybalholm/cascadia v1.1.0 h1:BuuO6sSfQNFRu1LppgbD25Hr2vLYW25JvxHs5zzsLTo=
github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y=
github.com/bmatcuk/doublestar v1.2.4 h1:CXTEjc5/WPKLJEqrS9D0IQAUhpjAIJuUQ4XtXG+zmEU=
github.com/bmatcuk/doublestar v1.2.4/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE=
github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 h1:y5HC9v93H5EPKqaS1UYVg1uYah5Xf51mBfIoWehClUQ=
github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964/go.mod h1:Xd9hchkHSWYkEqJwUGisez3G1QY8Ryz0sdWrLPMGjLk=
github.com/FooSoft/goldsmith v0.0.0-20220109020919-4adf5b9bd304 h1:DMheEwJILWsdD4uy3jFyyp3RaD7GNlj4yjlNUKBZD3I=
github.com/FooSoft/goldsmith v0.0.0-20220109020919-4adf5b9bd304/go.mod h1:4Xvg5yaavuqsFYPiQgc2bB3R3O+qZrWxgvfIQTZxt34=
github.com/FooSoft/goldsmith-components v0.0.0-20220109021305-e075c437ee80 h1:aw2x6TqnIgbptfOLStrpE/IPCSuNKESrijxt4EaWoP8=
github.com/FooSoft/goldsmith-components v0.0.0-20220109021305-e075c437ee80/go.mod h1:V005aCcfqLUaSOpNcWvKlBvaRCycp+LpsHJD5lPyWGg=
github.com/PuerkitoBio/goquery v1.8.0 h1:PJTF7AmFCFKk1N6V6jmKfrNH9tV5pNE6lZMkG0gta/U=
github.com/PuerkitoBio/goquery v1.8.0/go.mod h1:ypIiRMtY7COPGk+I/YbZLbxsxn9g5ejnI2HSMtkjZvI=
github.com/alecthomas/chroma v0.9.4 h1:YL7sOAE3p8HS96T9km7RgvmsZIctqbK1qJ0b7hzed44=
github.com/alecthomas/chroma v0.9.4/go.mod h1:jtJATyUxlIORhUOFNA9NZDWGAQ8wpxQQqNSB4rjA/1s=
github.com/andybalholm/cascadia v1.3.1 h1:nhxRkql1kdYCc8Snf7D5/D3spOX+dBgjA6u8x004T2c=
github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA=
github.com/bmatcuk/doublestar v1.3.4 h1:gPypJ5xD31uhX6Tf54sDPUOBXTqKH4c9aPY66CyQrS0=
github.com/bmatcuk/doublestar v1.3.4/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE=
github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dlclark/regexp2 v1.1.6 h1:CqB4MjHw0MFCDj+PHHjiESmHX+N7t0tJzKvC6M97BRg=
github.com/dlclark/regexp2 v1.1.6/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/disintegration/imaging v1.6.2 h1:w1LecBlG2Lnp8B3jk5zSuNqd7b4DXhcjwek1ei82L+c=
github.com/disintegration/imaging v1.6.2/go.mod h1:44/5580QXChDfwIclfc/PCwrr44amcmDAg8hxG0Ewe4=
github.com/djherbis/atime v1.1.0/go.mod h1:28OF6Y8s3NQWwacXc5eZTsEsiMzp7LF8MbXE+XJPdBE=
github.com/dlclark/regexp2 v1.4.0 h1:F1rxgk7p4uKjwIQxBs9oAXe5CqrXlCduYEJvrF4u93E=
github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI=
github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/matryer/try v0.0.0-20161228173917-9ac251b645a2/go.mod h1:0KeJpeMD6o+O4hW7qJOT7vyQPKrWmj26uf5wMc/IiIs=
github.com/naoina/go-stringutil v0.1.0 h1:rCUeRUHjBjGTSHl0VC00jUPLz8/F9dDzYI70Hzifhks=
github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
github.com/naoina/toml v0.1.1 h1:PT/lllxVVN0gzzSqSlHEmP8MJB4MY2U7STGxiouV4X8=
github.com/naoina/toml v0.1.1/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/tdewolff/minify v2.3.6+incompatible h1:2hw5/9ZvxhWLvBUnHE06gElGYz+Jv9R4Eys0XUzItYo=
github.com/tdewolff/minify v2.3.6+incompatible/go.mod h1:9Ov578KJUmAWpS6NeZwRZyT56Uf6o3Mcz9CEsg8USYs=
github.com/tdewolff/parse v2.3.4+incompatible h1:x05/cnGwIMf4ceLuDMBOdQ1qGniMoxpP46ghf0Qzh38=
github.com/tdewolff/parse v2.3.4+incompatible/go.mod h1:8oBwCsVmUkgHO8M5iCzSIDtpzXOT0WXX9cWhz+bIzJQ=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/tdewolff/minify/v2 v2.9.27 h1:/HXIZwTZzh8pwxoc6cg5lqvujqOLLaIL6O4ojHh5jIw=
github.com/tdewolff/minify/v2 v2.9.27/go.mod h1:L/bwPtsU/Xx30MxCndlClCMMiLbqROgkR4vZT+QIGXA=
github.com/tdewolff/parse/v2 v2.5.26 h1:a/q3lwDCi4GIQ+sSbs4UOHuObhqp8GHAhfqop/zDyQQ=
github.com/tdewolff/parse/v2 v2.5.26/go.mod h1:WzaJpRSbwq++EIQHYIRTpbYKNA3gn9it1Ik++q4zyho=
github.com/tdewolff/test v1.0.6 h1:76mzYJQ83Op284kMT+63iCNCI7NEERsIN8dLM+RiKr4=
github.com/tdewolff/test v1.0.6/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE=
github.com/yuin/goldmark v1.1.30 h1:j4d4Lw3zqZelDhBksEo3BnWg9xhXRQGJPPSL6OApZjI=
github.com/yuin/goldmark v1.1.30/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI=
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/sys v0.0.0-20181128092732-4ed8d59d0b35/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9 h1:L2auWcuQIvxz9xSEqzESnV/QN/gNRXNApHi3fYwl2w0=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
github.com/yuin/goldmark v1.4.4 h1:zNWRjYUW32G9KirMXYHQHVNFkXvMI7LpgNW2AgYAoIs=
github.com/yuin/goldmark v1.4.4/go.mod h1:rmuwmfZ0+bvzB24eSC//bk1R1Zp3hM0OXYv/G2LIilg=
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8 h1:hVwzHzIUGRjiF7EcUjqNxk3NCfkPxbDKRdnNE1Rpg0U=
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/net v0.0.0-20210916014120-12bc252f5db8 h1:/6y1LfuqNuQdHAm0jjtPtgRcxIxjVZgm5OTu8/QhZvk=
golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=