website.ss
(module website mzscheme

  (require "private/require.ss")
  (require-contracts)

  (require "xexpr.ss"
           "css.ss")

  (provide/contract
   [create-webpage (string? xexpr/c . -> . void?)]
   [create-stylesheet (string? css/c . -> . void?)])

  ;; create-stylesheet : String CSS -> Void
  ;; Writes an individual stylesheet to a file.
  (define (create-stylesheet filename css)
    (let* ([out-port (open-output-file filename 'replace)])
      (write-css css out-port)
      (close-output-port out-port)))

  ;; create-webpage : String XExpr -> Void
  ;; Writes an individual webpage to a file.
  (define (create-webpage filename xexpr)
    (let* ([out-port (open-output-file filename 'replace)])
      (write-xexpr xexpr out-port)
      (close-output-port out-port)))

  )