|
@@ -2,6 +2,7 @@ package kinds
|
|
|
|
|
|
import (
|
|
|
"net/url"
|
|
|
+ "strings"
|
|
|
)
|
|
|
|
|
|
type Link Dict
|
|
@@ -24,7 +25,8 @@ func (l Link) URL() (*url.URL, error) {
|
|
|
}
|
|
|
|
|
|
func (l Link) Alt() (string, error) {
|
|
|
- return Get[string](l, "name")
|
|
|
+ alt, err := Get[string](l, "name")
|
|
|
+ return strings.TrimSpace(alt), err
|
|
|
}
|
|
|
|
|
|
func (l Link) Identifier() (*url.URL, error) {
|
|
@@ -33,102 +35,17 @@ func (l Link) Identifier() (*url.URL, error) {
|
|
|
|
|
|
|
|
|
func (l Link) String() (string, error) {
|
|
|
- if url, err := l.URL(); err == nil {
|
|
|
- return url.String(), nil
|
|
|
- } else {
|
|
|
- return "", err
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ output := ""
|
|
|
|
|
|
+ if alt, err := l.Alt(); err == nil {
|
|
|
+ output += alt
|
|
|
+ } else if url, err := l.URL(); err == nil {
|
|
|
+ output += url.String()
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
-
|
|
|
+ if mediaType, err := l.MediaType(); err == nil {
|
|
|
+ output += " (" + mediaType + ")"
|
|
|
+ }
|
|
|
|
|
|
+ return output, nil
|
|
|
+}
|