SYMBOL INDEX (107 symbols across 23 files) FILE: css/css.go type urlProcessor (line 18) | type urlProcessor function Process (line 21) | func Process(logger *log.Logger, url *url.URL, data string, processor ur... FILE: htmlindex/attributes.go type nodeAttributeParserData (line 11) | type nodeAttributeParserData struct type nodeAttributeParser (line 21) | type nodeAttributeParser type Node (line 24) | type Node struct constant BackgroundAttribute (line 33) | BackgroundAttribute = "background" constant HrefAttribute (line 34) | HrefAttribute = "href" constant DataSrcAttribute (line 36) | DataSrcAttribute = "data-src" constant SrcAttribute (line 37) | SrcAttribute = "src" constant DataSrcSetAttribute (line 39) | DataSrcSetAttribute = "data-srcset" constant SrcSetAttribute (line 40) | SrcSetAttribute = "srcset" constant ATag (line 45) | ATag = "a" constant BodyTag (line 46) | BodyTag = "body" constant ImgTag (line 47) | ImgTag = "img" constant LinkTag (line 48) | LinkTag = "link" constant ScriptTag (line 49) | ScriptTag = "script" constant StyleTag (line 50) | StyleTag = "style" FILE: htmlindex/htmlindex.go type Index (line 17) | type Index struct method Index (line 33) | func (idx *Index) Index(baseURL *url.URL, node *html.Node) { method indexElementNode (line 43) | func (idx *Index) indexElementNode(baseURL *url.URL, node, child *html... method URLs (line 67) | func (idx *Index) URLs(tag string) ([]*url.URL, error) { method Nodes (line 92) | func (idx *Index) Nodes(tag string) map[string][]*html.Node { method nodeAttributeURLs (line 101) | func (idx *Index) nodeAttributeURLs(baseURL *url.URL, node *html.Node, function New (line 25) | func New(logger *log.Logger) *Index { function srcSetValueSplitter (line 158) | func srcSetValueSplitter(data nodeAttributeParserData) ([]string, bool) { function styleParser (line 176) | func styleParser(data nodeAttributeParserData) ([]string, bool) { FILE: htmlindex/htmlindex_test.go function TestIndex (line 14) | func TestIndex(t *testing.T) { function TestIndexImg (line 59) | func TestIndexImg(t *testing.T) { function testSetup (line 82) | func testSetup(t *testing.T, input []byte) *Index { FILE: main.go type arguments (line 26) | type arguments struct method Description (line 50) | func (arguments) Description() string { method Version (line 54) | func (arguments) Version() string { function main (line 58) | func main() { function readArguments (line 90) | func readArguments() (arguments, error) { function runScraper (line 118) | func runScraper(ctx context.Context, args arguments, logger *log.Logger)... function scrapeURLs (line 163) | func scrapeURLs(ctx context.Context, cfg scraper.Config, function runServer (line 192) | func runServer(ctx context.Context, args arguments, logger *log.Logger) ... function createLogger (line 199) | func createLogger() (*log.Logger, error) { function readCookieFile (line 214) | func readCookieFile(cookieFile string) ([]scraper.Cookie, error) { function saveCookies (line 231) | func saveCookies(cookieFile string, cookies []scraper.Cookie) error { FILE: scraper/checks.go function normalizeURLPath (line 13) | func normalizeURLPath(path string) string { method shouldURLBeDownloaded (line 26) | func (s *Scraper) shouldURLBeDownloaded(url *url.URL, currentDepth uint,... method isURLIncluded (line 74) | func (s *Scraper) isURLIncluded(url *url.URL) bool { method isURLExcluded (line 86) | func (s *Scraper) isURLExcluded(url *url.URL) bool { FILE: scraper/checks_test.go function TestNormalizeURLPath (line 13) | func TestNormalizeURLPath(t *testing.T) { function TestShouldURLBeDownloaded_TrailingSlashDuplicates (line 36) | func TestShouldURLBeDownloaded_TrailingSlashDuplicates(t *testing.T) { function TestShouldURLBeDownloaded_TrailingSlashDuplicatesReverse (line 67) | func TestShouldURLBeDownloaded_TrailingSlashDuplicatesReverse(t *testing... function TestShouldURLBeDownloaded_RootPath (line 98) | func TestShouldURLBeDownloaded_RootPath(t *testing.T) { function TestShouldURLBeDownloaded_ExternalURLs (line 129) | func TestShouldURLBeDownloaded_ExternalURLs(t *testing.T) { FILE: scraper/cookies.go type Cookie (line 13) | type Cookie struct method Cookies (line 21) | func (s *Scraper) Cookies() []Cookie { function createCookieJar (line 39) | func createCookieJar(u *url.URL, cookies []Cookie) (*cookiejar.Jar, erro... FILE: scraper/download.go type assetProcessor (line 17) | type assetProcessor method downloadReferences (line 26) | func (s *Scraper) downloadReferences(ctx context.Context, index *htmlind... method downloadAsset (line 68) | func (s *Scraper) downloadAsset(ctx context.Context, u *url.URL, process... method cssProcessor (line 104) | func (s *Scraper) cssProcessor(baseURL *url.URL, data []byte) []byte { FILE: scraper/download_test.go function TestCSSProcessor (line 12) | func TestCSSProcessor(t *testing.T) { FILE: scraper/fileutil.go constant PageExtension (line 13) | PageExtension = ".html" constant PageDirIndex (line 15) | PageDirIndex = "index" + PageExtension constant MaxFilenameLength (line 17) | MaxFilenameLength = 200 method getFilePath (line 25) | func (s *Scraper) getFilePath(url *url.URL, isAPage bool) string { function getPageFilePath (line 58) | func getPageFilePath(url *url.URL) string { function truncateFilename (line 82) | func truncateFilename(filename string) string { FILE: scraper/fileutil_test.go function TestGetFilePath (line 14) | func TestGetFilePath(t *testing.T) { function TestTruncateFilename (line 47) | func TestTruncateFilename(t *testing.T) { function TestTruncateFilenameUniqueness (line 97) | func TestTruncateFilenameUniqueness(t *testing.T) { FILE: scraper/fs.go method createDownloadPath (line 12) | func (s *Scraper) createDownloadPath(path string) error { method writeFile (line 24) | func (s *Scraper) writeFile(filePath string, data []byte) error { method fileExists (line 53) | func (s *Scraper) fileExists(filePath string) bool { FILE: scraper/html.go method fixURLReferences (line 27) | func (s *Scraper) fixURLReferences(url *url.URL, doc *html.Node, method fixHTMLNodeURLs (line 44) | func (s *Scraper) fixHTMLNodeURLs(baseURL *url.URL, relativeToRoot strin... method fixNodeURL (line 72) | func (s *Scraper) fixNodeURL(baseURL *url.URL, attributes []string, node... method fixScriptNodeURL (line 119) | func (s *Scraper) fixScriptNodeURL(baseURL *url.URL, node *html.Node, function resolveSrcSetURLs (line 153) | func resolveSrcSetURLs(base *url.URL, srcSetValue, mainPageHost string, ... function replaceCSSUrls (line 167) | func replaceCSSUrls(before, after, content string) string { FILE: scraper/html_test.go function TestFixURLReferences (line 14) | func TestFixURLReferences(t *testing.T) { FILE: scraper/http.go method downloadURL (line 25) | func (s *Scraper) downloadURL(ctx context.Context, u *url.URL) (*http.Re... method downloadURLWithRetries (line 50) | func (s *Scraper) downloadURLWithRetries(ctx context.Context, u *url.URL... function Headers (line 99) | func Headers(headers []string) http.Header { FILE: scraper/http_test.go function TestHeaders (line 17) | func TestHeaders(t *testing.T) { function TestDownloadURLWithRetries (line 23) | func TestDownloadURLWithRetries(t *testing.T) { FILE: scraper/images.go method checkImageForRecode (line 17) | func (s *Scraper) checkImageForRecode(url *url.URL, data []byte) []byte { method encodeJPEG (line 49) | func (s *Scraper) encodeJPEG(img image.Image) []byte { method recodeJPEG (line 62) | func (s *Scraper) recodeJPEG(url fmt.Stringer, data []byte) []byte { method recodePNG (line 82) | func (s *Scraper) recodePNG(url fmt.Stringer, data []byte) []byte { FILE: scraper/scraper.go type Config (line 25) | type Config struct type httpDownloader (line 45) | type httpDownloader type dirCreator (line 46) | type dirCreator type fileExistenceCheck (line 47) | type fileExistenceCheck type fileWriter (line 48) | type fileWriter type Scraper (line 52) | type Scraper struct method Start (line 152) | func (s *Scraper) Start(ctx context.Context) error { method processURL (line 177) | func (s *Scraper) processURL(ctx context.Context, u *url.URL, currentD... method storeDownload (line 240) | func (s *Scraper) storeDownload(u *url.URL, data []byte, doc *html.Node, function New (line 79) | func New(logger *log.Logger, cfg Config) (*Scraper, error) { function compileRegexps (line 277) | func compileRegexps(regexps []string) ([]*regexp.Regexp, error) { FILE: scraper/scraper_test.go function newTestScraper (line 15) | func newTestScraper(t *testing.T, startURL string, urls map[string][]byt... function TestScraperLinks (line 47) | func TestScraperLinks(t *testing.T) { function TestScraperAttributes (line 98) | func TestScraperAttributes(t *testing.T) { function TestScraperInternalCss (line 134) | func TestScraperInternalCss(t *testing.T) { FILE: scraper/server.go function ServeDirectory (line 19) | func ServeDirectory(ctx context.Context, path string, port int16, logger... FILE: scraper/url.go function resolveURL (line 10) | func resolveURL(base *url.URL, reference, mainPageHost string, isHyperli... function urlRelativeToRoot (line 67) | func urlRelativeToRoot(url *url.URL) string { function urlRelativeToOther (line 80) | func urlRelativeToOther(src, base *url.URL) string { FILE: scraper/url_test.go function TestResolveURL (line 10) | func TestResolveURL(t *testing.T) { function Test_urlRelativeToOther (line 45) | func Test_urlRelativeToOther(t *testing.T) { function Test_urlRelativeToRoot (line 67) | func Test_urlRelativeToRoot(t *testing.T) {