godrudge package - github.com/mikegetz/godrudge - Go Packages

godrudge

package module
v1.6.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 2, 2026 License: MIT Imports: 6 Imported by: 1

README

Table of Contents

DISCLAIMER:

This project is an independent, unofficial implementation and is not affiliated with or endorsed by Drudge. It is provided for educational and experimental purposes only.

Please note that this implementation relies on parsing the website's current HTML DOM and the unofficial feedburner RSS feed. While the RSS feed seems like a relatively stable contract to integrate with, most of the content exists within an HTML DOM object in the feed. As a result, any modifications to the website’s structure may cause the implementation to break. Users should be aware of these limitations when using this module.

image

Example Usage:

How to access the parsed headlines from the client

package main

import (
    "fmt"

    "github.com/mikegetz/godrudge"
)

func main() {
    client := godrudge.NewClient()
    err := client.ParseRSS()
    if err != nil {
        fmt.Println("Error parsing", err)
    }

    client.PrintDrudge(true)

    //Access the first headline title from Column 1
    fmt.Println(client.Page.HeadlineColumns[0][0].Title)
    fmt.Println(client.Page.HeadlineColumns[0][0].Href)

    //Access the first headline title from Column 2
    fmt.Println(client.Page.HeadlineColumns[1][0].Title)
    fmt.Println(client.Page.HeadlineColumns[1][0].Href)

    //Access the first headline title from Column 3
    fmt.Println(client.Page.HeadlineColumns[2][0].Title)
    fmt.Println(client.Page.HeadlineColumns[2][0].Href)
}
package main

import (
    "fmt"

    "github.com/mikegetz/godrudge"
)

func main() {
    client := godrudge.NewClient()
    err := client.ParseRSS()
    if err != nil {
        fmt.Println("Error parsing", err)
    }

    // set to true to print without ANSI links
    client.PrintDrudge(false)
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	Page Page
	// contains filtered or unexported fields
}

func NewClient

func NewClient() *Client

func NewFeedBurnerClient added in v1.6.2

func NewFeedBurnerClient() *Client

func NewFeedPressClient added in v1.6.2

func NewFeedPressClient() *Client

func (*Client) ParseRSS

func (c *Client) ParseRSS() error

type Headline

type Headline struct {
	Title string
	URL   string
	Style lipgloss.Style
	IsRed bool
}

type Page

type Page struct {
	TopHeadlines    []Headline
	MainHeadlines   []Headline
	HeadlineColumns [][]Headline
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL