diff --git a/builder/markdown.go b/builder/markdown.go index 097ca1ef..45895a97 100644 --- a/builder/markdown.go +++ b/builder/markdown.go @@ -345,8 +345,8 @@ func (r ImageRenderer) Render(w markdown.BufWriter, source []byte, node ast.Node image := node.(*ast.Image) - sizes := regexp.MustCompile(`^([0-9]+)x([0-9]+)$`).FindSubmatch(image.Title) - if len(sizes) == 3 { + sizes := regexp.MustCompile(`^([0-9]+)x([0-9]+)( CC-BY)?$`).FindSubmatch(image.Title) + if len(sizes) >= 3 { _, err := fmt.Fprintf( w, `%s`, @@ -355,6 +355,28 @@ func (r ImageRenderer) Render(w markdown.BufWriter, source []byte, node ast.Node sizes[1], sizes[2], ) + if err != nil { + return ast.WalkStop, err + } + + if len(sizes) >= 4 && string(sizes[3]) == " CC-BY" { + _, err = fmt.Fprintf(w, ` + + `, image.Destination) + } return ast.WalkSkipChildren, err } else { diff --git a/pages/blog/2024/01/blanktar-renewal.md b/pages/blog/2024/01/blanktar-renewal.md index 79f0f972..c2b86fcc 100644 --- a/pages/blog/2024/01/blanktar-renewal.md +++ b/pages/blog/2024/01/blanktar-renewal.md @@ -83,7 +83,7 @@ Exif情報は[dsprea/go-exif](https://github.com/dsoprea/go-exif)を使って読 ビルド時間の大半は画像の生成が占めていたので、一度生成した画像はキャッシュするようにしました。 -![画像ビルドの流れ。キャッシュディレクトリにキャッシュがあればそれをコピーして使用日時を更新する。キャッシュが見つからなければ新たに生成して、キャッシュディレクトリと出力先ディレクトリの両方に保存する。最後にしばらく使っていないキャッシュを消して終了。](/blog/2024/01/blanktar-renewal/image-building-flow.svg "601x689") +![画像ビルドの流れ。キャッシュディレクトリにキャッシュがあればそれをコピーして使用日時を更新する。キャッシュが見つからなければ新たに生成して、キャッシュディレクトリと出力先ディレクトリの両方に保存する。最後にしばらく使っていないキャッシュを消して終了。](/blog/2024/01/blanktar-renewal/image-building-flow.svg "601x689 CC-BY")