#lang racket
;; Realm of kludge:
;;
;; AFIK no way via Scribble to put something into the
section.
;;
;; This reads all HTML files and injects some stuff immediately before the
;; closing tag.
(define web-font
"")
(define ga-code
#<
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-29709446-1']);
_gaq.push(['_setDomainName', 'greghendershott.com']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
EOF
)
(define (meta k v)
(format "" k v))
(define metas
(string-append
(meta "keywords" "Racket,macros,Scheme")
(meta "description" "Practical Racket macros")
(meta "author" "Greg Hendershott")
(meta "charset" "utf-8")))
(define "")
(define all (string-append metas web-font ga-code ))
(define subst (regexp-replace* "\n" all "")) ;minify
(define (do-file path)
(define old (file->string path))
(define new (regexp-replace old subst))
(with-output-to-file path
(lambda () (display new))
#:mode 'text
#:exists 'replace))
(require racket/runtime-path)
(define-runtime-path here ".")
(for ([path (find-files (lambda (path)
(regexp-match? #rx"\\.html" path))
here)])
(do-file path))