#! /usr/bin/guile \ -e main -s !# ;; Loads an entire text file into a string (define (read-entire-file-port fp) (letrec ((read-characters (lambda (fp) (let ((character (read-char fp))) (if (eof-object? character) "" (string-append (string character) (read-characters fp))))))) (read-characters fp))) (define (trim-words-all content word) (let ((index (string-contains content word))) (if index (trim-words-all (string-append (substring content 0 index) (substring content (+ index (string-length word)) (string-length content))) word) content))) (define (clean-up-html file-name) (call-with-input-file file-name (lambda (fp) (let ((content (read-entire-file-port fp)) (remove-list '("" "
" "
" "" "" "" ""))) (for-each (lambda (item) (set! content (trim-words-all content item))) remove-list) (display content))))) (define (main args) (clean-up-html (cadr args)))