回答編集履歴

1

もう少しコードを整理

2019/07/29 02:41

投稿

nobonobo
nobonobo

スコア3367

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- https://play.golang.org/p/sRJRcL2OUpH
5
+ https://play.golang.org/p/zY1YPo4CddV
6
6
 
7
7
  ```go
8
8
 
@@ -70,11 +70,9 @@
70
70
 
71
71
 
72
72
 
73
- func renderHTML(w io.Writer, contents string) {
73
+ func getFirstImageURL(contents string) string {
74
74
 
75
- u := DefaultOGImageURL
76
-
77
- // ここでcontentsから最初の画像リンクを取得して見つかったらu更新!
75
+ // ここでcontentsから最初の画像リンクを取得して見つかったらそれ返す
78
76
 
79
77
  tokenizer := html.NewTokenizer(bytes.NewBufferString(contents))
80
78
 
@@ -102,7 +100,7 @@
102
100
 
103
101
  if string(key) == "src" {
104
102
 
105
- u = string(value)
103
+ return string(value)
106
104
 
107
105
  }
108
106
 
@@ -120,9 +118,17 @@
120
118
 
121
119
  }
122
120
 
121
+ return DefaultOGImageURL
122
+
123
+ }
124
+
125
+
126
+
127
+ func renderHTML(w io.Writer, contents string) {
128
+
123
129
  layoutTemplate.Execute(w, map[string]interface{}{
124
130
 
125
- "OGImageURL": u,
131
+ "OGImageURL": getFirstImageURL(contents),
126
132
 
127
133
  "Contents": template.HTML(contents),
128
134