Skip to content

Commit

Permalink
Implemented reading from stdin #8
Browse files Browse the repository at this point in the history
  • Loading branch information
mrusme committed Aug 3, 2022
1 parent c44c988 commit bbb6a35
Showing 1 changed file with 42 additions and 32 deletions.
74 changes: 42 additions & 32 deletions cmd/root.go
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
package cmd

import (
"fmt"
"image/color"
"net/http"
"net/http/cookiejar"
"net/url"
"os"
"regexp"
"strconv"
"io"

"github.com/charmbracelet/glamour"
"github.com/eliukblau/pixterm/pkg/ansimage"
"github.com/go-shiori/go-readability"
"golang.org/x/crypto/ssh/terminal"
"golang.org/x/net/publicsuffix"

md "github.com/JohannesKaufmann/html-to-markdown"
// scraper "github.com/cardigann/go-cloudflare-scraper"
"github.com/spf13/cobra"
scraper "github.com/tinoquang/go-cloudflare-scraper"
"bufio"
"fmt"
"image/color"
"io"
"net/http"
"net/http/cookiejar"
"net/url"
"os"
"regexp"
"strconv"

"github.com/charmbracelet/glamour"
"github.com/eliukblau/pixterm/pkg/ansimage"
"github.com/go-shiori/go-readability"
"golang.org/x/crypto/ssh/terminal"
"golang.org/x/net/publicsuffix"

md "github.com/JohannesKaufmann/html-to-markdown"
// scraper "github.com/cardigann/go-cloudflare-scraper"
"github.com/spf13/cobra"
scraper "github.com/tinoquang/go-cloudflare-scraper"
)

var noImages bool
Expand All @@ -38,22 +39,27 @@ var mdImgPlaceholderRegex =
regexp.MustCompile(`(?m)\$\$\$([0-9]*)\$`)

func MakeReadable(rawUrl *string) (string, string, error) {
var reader io.ReadCloser
var urlUrl *url.URL
var err error

urlUrl, err := url.Parse(*rawUrl)
if err != nil {
return "", "", err
}
if *rawUrl == "-" {
reader, err = getReaderFromStdin()
} else {
urlUrl, err = url.Parse(*rawUrl)
if err != nil {
return "", "", err
}

var reader io.ReadCloser
switch(urlUrl.Scheme) {
case "http", "https":
reader, err = getReaderFromHTTP(rawUrl)
default:
reader, err = getReaderFromFile(rawUrl)
switch(urlUrl.Scheme) {
case "http", "https":
reader, err = getReaderFromHTTP(rawUrl)
default:
reader, err = getReaderFromFile(rawUrl)
}
}
defer reader.Close()


article, err := readability.FromReader(reader, urlUrl)
if err != nil {
return "", "", err
Expand Down Expand Up @@ -113,6 +119,10 @@ func HTMLtoMarkdown(html *string) (string, error) {
return markdown, nil
}

func getReaderFromStdin() (io.ReadCloser, error) {
return io.NopCloser(bufio.NewReader(os.Stdin)), nil
}

func RenderImg(title, md *string) (string, error) {
var images []InlineImage

Expand Down Expand Up @@ -190,7 +200,7 @@ func RenderImg(title, md *string) (string, error) {
}

var rootCmd = &cobra.Command{
Use: "reader <url/file>",
Use: "reader <url/file/->",
Short: "Reader is a command line web reader",
Long: "A minimal command line reader offering better readability of web " +
"pages on the CLI.",
Expand Down

0 comments on commit bbb6a35

Please sign in to comment.