diff --git a/README.md b/README.md index e6f3f52..9252d03 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ $ cat log.txt ``` $ mklink -i -Press Ctrl+C to stop +Input 'q' or 'quit' to stop mklimk> https://git.io/vFR5M [GitHub - spiegel-im-spiegel/mklink: Make Link with Markdown Format](https://github.com/spiegel-im-spiegel/mklink) mklimk> diff --git a/cli/mklink/makelink/makelink.go b/cli/mklink/makelink/makelink.go index 17f9083..e44b5fd 100644 --- a/cli/mklink/makelink/makelink.go +++ b/cli/mklink/makelink/makelink.go @@ -33,9 +33,8 @@ func (c *Context) MakeLink(url string) error { return err } - r := lnk.Encode(c.linkStyle) buf := new(bytes.Buffer) - io.Copy(c.writer, io.TeeReader(r, buf)) + io.Copy(c.writer, io.TeeReader(lnk.Encode(c.linkStyle), buf)) strLink := buf.String() if c.clipbrdFlag { clipboard.WriteAll(strLink) diff --git a/mklink.go b/mklink.go index 47cebb1..5f6deb5 100644 --- a/mklink.go +++ b/mklink.go @@ -22,7 +22,7 @@ type Link struct { //New returns new Link instance func New(url string) (*Link, error) { - link := &Link{URL: strings.Trim(url, "\t \n")} + link := &Link{URL: trimString(url)} doc, err := goquery.NewDocument(link.URL) if err != nil { return link, err @@ -31,17 +31,21 @@ func New(url string) (*Link, error) { doc.Find("head").Each(func(_ int, s *goquery.Selection) { s.Find("title").Each(func(_ int, s *goquery.Selection) { - link.Title = strings.Trim(s.Text(), "\t \n") + link.Title = trimString(s.Text()) }) s.Find("meta[name='description']").Each(func(_ int, s *goquery.Selection) { if v, ok := s.Attr("content"); ok { - link.Description = strings.Trim(v, "\t \n") + link.Description = trimString(v) } }) }) return link, nil } +func trimString(s string) string { + s = strings.Replace(s, "\n", " ", -1) + return strings.Trim(s, "\t ") +} //JSON returns string (io.Reader) with JSON format func (lnk *Link) JSON() (io.Reader, error) {