From c531fc32382be5b7033dc6d7628a48f9645ee0ab Mon Sep 17 00:00:00 2001 From: finga Date: Sat, 11 Jan 2020 17:28:44 +0100 Subject: [PATCH] a start --- src/main.rkt | 34 ++++++++++++++++++++++++++++++++++ test/test.html | 9 +++++++++ 2 files changed, 43 insertions(+) create mode 100644 src/main.rkt create mode 100644 test/test.html diff --git a/src/main.rkt b/src/main.rkt new file mode 100644 index 0000000..b77dd0c --- /dev/null +++ b/src/main.rkt @@ -0,0 +1,34 @@ +#lang racket + +(require net/url + html + xml + xml/path) + +(define verbose-mode (make-parameter #f)) + +(define uri + (command-line + #:program "linky-pinky" + #:once-each + [("-v" "--verbose") "Verbose output" + (verbose-mode #t)] + #:ps "Check dead links." + #:args (url/filename) ; expect one command-line argument: + ;; return the argument as a filename to compile + url/filename)) + +(define (read-html-as-xexprs in) + (caddr + (xml->xexpr + (element #f #f 'root '() + (read-html-as-xml in))))) + +(define (get-urls url) + (se-path*/list '(a #:href) (call/input-url + (string->url url) + get-pure-port + read-html-as-xexprs))) + +;; (get-urls "file:///home/finga/src/linky-pinky/src/test.html") +(get-urls uri) diff --git a/test/test.html b/test/test.html new file mode 100644 index 0000000..d17bdb8 --- /dev/null +++ b/test/test.html @@ -0,0 +1,9 @@ + + + + + /dev/null +
+ /etc/passwd + +