mirror of
https://github.com/makew0rld/amfora.git
synced 2024-09-23 22:45:54 -04:00
🚧 Autodetect all kinds of feeds
This commit is contained in:
parent
e026eb25e0
commit
d0d8b15bbb
3
NOTES.md
3
NOTES.md
@ -1,11 +1,8 @@
|
|||||||
# Notes
|
# Notes
|
||||||
|
|
||||||
## Feeds (temp)
|
## Feeds (temp)
|
||||||
- Only options for "non-text" feed files is the download modal - there should be a feed modal before that one
|
|
||||||
- Auto feed detection fails on `ebc.li/atom.xml` - which is text
|
|
||||||
- TODO: remove all logger lines
|
- TODO: remove all logger lines
|
||||||
|
|
||||||
|
|
||||||
## Issues
|
## Issues
|
||||||
- URL for each tab should not be stored as a string - in the current code there's lots of reparsing the URL
|
- URL for each tab should not be stored as a string - in the current code there's lots of reparsing the URL
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@ func Init() error {
|
|||||||
viper.SetDefault("a-general.page_max_size", 2097152)
|
viper.SetDefault("a-general.page_max_size", 2097152)
|
||||||
viper.SetDefault("a-general.page_max_time", 10)
|
viper.SetDefault("a-general.page_max_time", 10)
|
||||||
viper.SetDefault("a-general.emoji_favicons", false)
|
viper.SetDefault("a-general.emoji_favicons", false)
|
||||||
viper.SetDefault("a-general.feeds_popup", true)
|
viper.SetDefault("a-general.feed_popup", true)
|
||||||
viper.SetDefault("keybindings.shift_numbers", "!@#$%^&*()")
|
viper.SetDefault("keybindings.shift_numbers", "!@#$%^&*()")
|
||||||
viper.SetDefault("url-handlers.other", "off")
|
viper.SetDefault("url-handlers.other", "off")
|
||||||
viper.SetDefault("cache.max_size", 0)
|
viper.SetDefault("cache.max_size", 0)
|
||||||
|
@ -5,9 +5,11 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
|
"mime"
|
||||||
"net"
|
"net"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
"path"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@ -585,6 +587,17 @@ func handleURL(t *tab, u string, numRedirects int) (string, bool) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Status code 20, but not a document that can be displayed
|
// Status code 20, but not a document that can be displayed
|
||||||
|
|
||||||
|
// First see if it's a feed, and ask the user about adding it if it is
|
||||||
|
filename := path.Base(parsed.Path)
|
||||||
|
mediatype, _, _ := mime.ParseMediaType(res.Meta)
|
||||||
|
feed, ok := feeds.GetFeed(mediatype, filename, res.Body)
|
||||||
|
if ok {
|
||||||
|
go addFeedDirect(u, feed, feeds.IsTracked(u))
|
||||||
|
return ret("", false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Otherwise offer download choices
|
||||||
go dlChoice("That file could not be displayed. What would you like to do?", u, res)
|
go dlChoice("That file could not be displayed. What would you like to do?", u, res)
|
||||||
return ret("", false)
|
return ret("", false)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user