From 82221a51db9648d74caef31837b1f00b4e9d5773 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Tue, 26 Oct 2010 15:36:29 -0400 Subject: [PATCH] Make the `scribble/html' layout mimic the one for `scribble/text'. Ie, the difference between using it as a language and as a module is now the same in both. Also, improve `scribble/html' (and `scribble/html/htmllang') by reproviding most of the corresponding text modules. Change `meta/web' accordingly, and improve code by making a new langugae (`#lang meta/web'). This language is similar to `scribble/html' except that it uses the plain scribble reader (not the `-inside' one), it doesn't use the customized module-begin feature (that uses `output-xml'), and it adds all the relevant bits of `meta/web/common'. (Also, "meta/web/common.rkt" is gone, since it's used only as a language now.) This commit has lots of details and binding games, so it's tricky, and potentially caused some problems. (Took me a while to track many breakages, so I won't be surprised if there are more.) --- collects/meta/web/common.rkt | 4 --- collects/meta/web/common/extras.rkt | 4 ++- collects/meta/web/common/layout.rkt | 8 ++++-- collects/meta/web/common/links.rkt | 4 ++- collects/meta/web/common/main.rkt | 4 +-- collects/meta/web/common/resources.rkt | 12 ++++---- collects/meta/web/common/utils.rkt | 4 +-- collects/meta/web/download/download-pages.rkt | 5 ++-- collects/meta/web/download/index.rkt | 4 +-- .../meta/web/download/installer-pages.rkt | 4 +-- collects/meta/web/download/main.rkt | 4 +-- collects/meta/web/download/shared.rkt | 4 +-- collects/meta/web/download/version.rkt | 4 +-- collects/meta/web/lang/reader.rkt | 13 +++++++++ collects/meta/web/minis/bugs.rkt | 2 +- collects/meta/web/minis/drracket.rkt | 2 +- collects/meta/web/minis/lists.rkt | 2 +- collects/meta/web/minis/main.rkt | 2 +- collects/meta/web/navbar.rkt | 2 +- collects/meta/web/stubs/blog.rkt | 5 ++-- collects/meta/web/stubs/dirlist.rkt | 2 +- collects/meta/web/stubs/git.rkt | 2 +- collects/meta/web/stubs/mailman.rkt | 2 +- collects/meta/web/stubs/main.rkt | 2 +- collects/meta/web/stubs/planet.rkt | 2 +- collects/meta/web/stubs/pre.rkt | 2 +- collects/meta/web/stubs/wiki.rkt | 2 +- collects/meta/web/www/bib.rkt | 4 +-- collects/meta/web/www/code.rkt | 7 ++--- collects/meta/web/www/community.rkt | 4 +-- collects/meta/web/www/download.rkt | 4 +-- collects/meta/web/www/guidelines.rkt | 6 ++-- collects/meta/web/www/help.rkt | 4 +-- collects/meta/web/www/index.rkt | 4 +-- collects/meta/web/www/irc.rkt | 4 ++- collects/meta/web/www/learning.rkt | 4 +-- collects/meta/web/www/main.rkt | 2 +- collects/meta/web/www/new-name.rkt | 4 ++- collects/meta/web/www/people.rkt | 4 ++- collects/meta/web/www/shared.rkt | 4 +-- collects/meta/web/www/techreports.rkt | 4 +-- collects/scribble/html/htmllang.rkt | 22 +++++++++++++++ collects/scribble/html/main.rkt | 28 +++---------------- collects/scribble/text.rkt | 5 ++-- collects/scribble/text/main.rkt | 7 +++++ collects/scribble/text/textlang.rkt | 8 +++--- 46 files changed, 130 insertions(+), 106 deletions(-) delete mode 100644 collects/meta/web/common.rkt create mode 100644 collects/meta/web/lang/reader.rkt create mode 100644 collects/scribble/html/htmllang.rkt create mode 100644 collects/scribble/text/main.rkt diff --git a/collects/meta/web/common.rkt b/collects/meta/web/common.rkt deleted file mode 100644 index e308ca7dab..0000000000 --- a/collects/meta/web/common.rkt +++ /dev/null @@ -1,4 +0,0 @@ -#lang racket/base - -(require "common/main.rkt") -(provide (all-from-out "common/main.rkt")) diff --git a/collects/meta/web/common/extras.rkt b/collects/meta/web/common/extras.rkt index 31f721dc72..b5a8aa44c7 100644 --- a/collects/meta/web/common/extras.rkt +++ b/collects/meta/web/common/extras.rkt @@ -1,4 +1,6 @@ -#lang at-exp s-exp scribble/html +#lang at-exp racket/base + +(require scribble/html (only-in scribble/html/htmllang #%top)) ;; list of a header paragraphs and sub paragraphs (don't use `p' since it looks ;; like they should not be nested) diff --git a/collects/meta/web/common/layout.rkt b/collects/meta/web/common/layout.rkt index 722071508a..471c491087 100644 --- a/collects/meta/web/common/layout.rkt +++ b/collects/meta/web/common/layout.rkt @@ -1,6 +1,8 @@ -#lang at-exp s-exp scribble/html +#lang at-exp racket/base -(require (for-syntax racket/base syntax/name) "utils.rkt" "resources.rkt") +(require scribble/html (only-in scribble/html/htmllang #%top) + (for-syntax racket/base syntax/name) + "utils.rkt" "resources.rkt") (define-for-syntax (process-contents who layouter stx xs) (let loop ([xs xs] [kws '()] [id? #f]) @@ -16,7 +18,7 @@ (syntax-local-name))]) (if name (list '#:id `',name) '())))] ;; delay body, allow definitions - [body #`(lambda () (text #,@xs))]) + [body #`(lambda () (begin/text #,@xs))]) #'(layouter id ... x ... body))]))) (define (get-path who id file sfx dir) diff --git a/collects/meta/web/common/links.rkt b/collects/meta/web/common/links.rkt index c5ab849beb..d995195c07 100644 --- a/collects/meta/web/common/links.rkt +++ b/collects/meta/web/common/links.rkt @@ -1,4 +1,6 @@ -#lang at-exp s-exp scribble/html +#lang at-exp racket/base + +(require scribble/html (only-in scribble/html/htmllang #%top)) (define-syntax-rule (define* id E) (begin (define id E) (provide id))) diff --git a/collects/meta/web/common/main.rkt b/collects/meta/web/common/main.rkt index 119356b679..dfec91c0d6 100644 --- a/collects/meta/web/common/main.rkt +++ b/collects/meta/web/common/main.rkt @@ -1,7 +1,7 @@ #lang racket/base -(require scribble/html +(require scribble/html/htmllang "layout.rkt" "resources.rkt" "extras.rkt" "links.rkt" "utils.rkt") -(provide (all-from-out scribble/html +(provide (all-from-out scribble/html/htmllang "layout.rkt" "resources.rkt" "extras.rkt" "links.rkt" "utils.rkt")) diff --git a/collects/meta/web/common/resources.rkt b/collects/meta/web/common/resources.rkt index c79b1157c6..02a299f54e 100644 --- a/collects/meta/web/common/resources.rkt +++ b/collects/meta/web/common/resources.rkt @@ -1,4 +1,6 @@ -#lang at-exp s-exp scribble/html +#lang at-exp racket/base + +(require scribble/html (only-in scribble/html/htmllang #%top)) ;; These are some resources that are shared across different toplevel ;; sites. They could be included from a single place, but then when one @@ -24,20 +26,20 @@ href: url title: "default")))) (define page-sizes - @text{ + @list{ margin-left: auto; margin-right: auto; width: 45em; }) (define font-family - @text{ + @list{ font-family: Optima, Arial, Verdana, Helvetica, sans-serif; }) (define navbar-style ;; All of these are made to apply only inside `racketnav', so the styles can ;; be used in places with their own CSS (eg, blog.racket-lang.org) - @text{ + @list{ .racketnav { background-color: #000; color: #fff; @@ -86,7 +88,7 @@ }) (define racket-style - @text{ + @list{ @; ---- generic styles ---- html { overflow-y: scroll; diff --git a/collects/meta/web/common/utils.rkt b/collects/meta/web/common/utils.rkt index ca1e2ff745..8c79e4399d 100644 --- a/collects/meta/web/common/utils.rkt +++ b/collects/meta/web/common/utils.rkt @@ -1,6 +1,6 @@ -#lang at-exp s-exp scribble/html +#lang at-exp racket/base -(require (for-syntax scheme/base)) +(require scribble/html (for-syntax scheme/base)) (provide in-here) (define-syntax (in-here stx) diff --git a/collects/meta/web/download/download-pages.rkt b/collects/meta/web/download/download-pages.rkt index f46d2f9111..7a0e3f3532 100644 --- a/collects/meta/web/download/download-pages.rkt +++ b/collects/meta/web/download/download-pages.rkt @@ -1,6 +1,7 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web -(require "data.rkt" "installer-pages.rkt" (prefix-in pre: "../stubs/pre.rkt")) +(require "shared.rkt" "data.rkt" "installer-pages.rkt" + (prefix-in pre: "../stubs/pre.rkt")) (provide render-download-page) diff --git a/collects/meta/web/download/index.rkt b/collects/meta/web/download/index.rkt index 5dde68f9a0..d0279b09e1 100644 --- a/collects/meta/web/download/index.rkt +++ b/collects/meta/web/download/index.rkt @@ -1,6 +1,6 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web -(require "data.rkt" "../www/download.rkt") +(require "shared.rkt" "data.rkt" "../www/download.rkt") (define (in-ftp . paths) (string-join (cons "/var/ftp/pub/racket" paths) "/")) diff --git a/collects/meta/web/download/installer-pages.rkt b/collects/meta/web/download/installer-pages.rkt index 9b8cc298c1..a8498d025e 100644 --- a/collects/meta/web/download/installer-pages.rkt +++ b/collects/meta/web/download/installer-pages.rkt @@ -1,6 +1,6 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web -(require "data.rkt") +(require "shared.rkt" "data.rkt") (define (render-installer-page installer) (define path (installer-path installer)) diff --git a/collects/meta/web/download/main.rkt b/collects/meta/web/download/main.rkt index 9c238e9c65..183932f458 100644 --- a/collects/meta/web/download/main.rkt +++ b/collects/meta/web/download/main.rkt @@ -1,3 +1,3 @@ -#lang at-exp s-exp "shared.rkt" +#lang racket/base -(require "index.rkt" "version.rkt") +(require "shared.rkt" "index.rkt" "version.rkt") diff --git a/collects/meta/web/download/shared.rkt b/collects/meta/web/download/shared.rkt index 80b1558d6a..d087ca00f7 100644 --- a/collects/meta/web/download/shared.rkt +++ b/collects/meta/web/download/shared.rkt @@ -1,5 +1,3 @@ -#lang at-exp s-exp "../common.rkt" - -(provide (all-from-out "../common.rkt")) +#lang meta/web (define+provide-context "download") diff --git a/collects/meta/web/download/version.rkt b/collects/meta/web/download/version.rkt index a3e3a21701..a97a3c6363 100644 --- a/collects/meta/web/download/version.rkt +++ b/collects/meta/web/download/version.rkt @@ -1,6 +1,6 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web -(require "data.rkt") +(require "shared.rkt" "data.rkt") (define version.txt (plain (format "~s" `((recent ,current-version) (stable ,current-version))))) diff --git a/collects/meta/web/lang/reader.rkt b/collects/meta/web/lang/reader.rkt new file mode 100644 index 0000000000..228eee92f2 --- /dev/null +++ b/collects/meta/web/lang/reader.rkt @@ -0,0 +1,13 @@ +#lang s-exp syntax/module-reader + +meta/web/common/main + +;; Similar to `#lang scribble/html', but with a plain scribble reader +;; (not the inside one). + +#:read scribble:read +#:read-syntax scribble:read-syntax +#:info (scribble-base-reader-info) + +(require (prefix-in scribble: scribble/reader) + (only-in scribble/base/reader scribble-base-reader-info)) diff --git a/collects/meta/web/minis/bugs.rkt b/collects/meta/web/minis/bugs.rkt index f8f2fb0010..188f78f86e 100644 --- a/collects/meta/web/minis/bugs.rkt +++ b/collects/meta/web/minis/bugs.rkt @@ -1,4 +1,4 @@ -#lang at-exp s-exp "../common.rkt" +#lang meta/web (define-context "bugs") diff --git a/collects/meta/web/minis/drracket.rkt b/collects/meta/web/minis/drracket.rkt index 550654bf6f..1bd9932b67 100644 --- a/collects/meta/web/minis/drracket.rkt +++ b/collects/meta/web/minis/drracket.rkt @@ -1,4 +1,4 @@ -#lang at-exp s-exp "../common.rkt" +#lang meta/web (define-context "drracket") diff --git a/collects/meta/web/minis/lists.rkt b/collects/meta/web/minis/lists.rkt index e6c68b1d7e..047a774fe9 100644 --- a/collects/meta/web/minis/lists.rkt +++ b/collects/meta/web/minis/lists.rkt @@ -1,4 +1,4 @@ -#lang at-exp s-exp "../common.rkt" +#lang meta/web (provide mailing-lists-quick) diff --git a/collects/meta/web/minis/main.rkt b/collects/meta/web/minis/main.rkt index e86c10e1b7..f5c71bb862 100644 --- a/collects/meta/web/minis/main.rkt +++ b/collects/meta/web/minis/main.rkt @@ -1,3 +1,3 @@ -#lang at-exp s-exp "../common.rkt" +#lang racket/base (require "lists.rkt" "bugs.rkt" "drracket.rkt") diff --git a/collects/meta/web/navbar.rkt b/collects/meta/web/navbar.rkt index f86fcb1272..ad73ff38a7 100644 --- a/collects/meta/web/navbar.rkt +++ b/collects/meta/web/navbar.rkt @@ -1,4 +1,4 @@ -#lang at-exp s-exp "common.rkt" +#lang meta/web (require "www/main.rkt" "download/main.rkt" "minis/main.rkt" "stubs/main.rkt") (set-navbar! (list main download -docs planet community learning) diff --git a/collects/meta/web/stubs/blog.rkt b/collects/meta/web/stubs/blog.rkt index f3aebc5046..2c23918195 100644 --- a/collects/meta/web/stubs/blog.rkt +++ b/collects/meta/web/stubs/blog.rkt @@ -1,7 +1,6 @@ -#lang at-exp s-exp "../common.rkt" +#lang meta/web -(require "../common/resources.rkt" - (prefix-in www: (only-in "../www/shared.rkt" the-resources)) +(require (prefix-in www: (only-in "../www/shared.rkt" the-resources)) racket/port) (define-context "stubs/blog" #:resources www:the-resources) diff --git a/collects/meta/web/stubs/dirlist.rkt b/collects/meta/web/stubs/dirlist.rkt index 7cb867af31..692bf28548 100644 --- a/collects/meta/web/stubs/dirlist.rkt +++ b/collects/meta/web/stubs/dirlist.rkt @@ -1,4 +1,4 @@ -#lang at-exp s-exp "../common.rkt" +#lang meta/web ;; This stub is to generate fancy directory listings with the Racket style diff --git a/collects/meta/web/stubs/git.rkt b/collects/meta/web/stubs/git.rkt index 5464c50167..5ca2e4e493 100644 --- a/collects/meta/web/stubs/git.rkt +++ b/collects/meta/web/stubs/git.rkt @@ -1,4 +1,4 @@ -#lang at-exp s-exp "../common.rkt" +#lang meta/web (define-context "stubs/git") diff --git a/collects/meta/web/stubs/mailman.rkt b/collects/meta/web/stubs/mailman.rkt index 0c47e06b8c..705c71fe24 100644 --- a/collects/meta/web/stubs/mailman.rkt +++ b/collects/meta/web/stubs/mailman.rkt @@ -1,4 +1,4 @@ -#lang at-exp s-exp "../common.rkt" +#lang meta/web (define-context "stubs/mailman") diff --git a/collects/meta/web/stubs/main.rkt b/collects/meta/web/stubs/main.rkt index fb816cf325..60c32ecdcb 100644 --- a/collects/meta/web/stubs/main.rkt +++ b/collects/meta/web/stubs/main.rkt @@ -1,4 +1,4 @@ -#lang at-exp s-exp "../common.rkt" +#lang racket/base (provide planet) diff --git a/collects/meta/web/stubs/planet.rkt b/collects/meta/web/stubs/planet.rkt index 39b465b14a..b4f3d3fa22 100644 --- a/collects/meta/web/stubs/planet.rkt +++ b/collects/meta/web/stubs/planet.rkt @@ -1,4 +1,4 @@ -#lang at-exp s-exp "../common.rkt" +#lang meta/web (define-context "stubs/planet") diff --git a/collects/meta/web/stubs/pre.rkt b/collects/meta/web/stubs/pre.rkt index c10ac44726..eb99004fd4 100644 --- a/collects/meta/web/stubs/pre.rkt +++ b/collects/meta/web/stubs/pre.rkt @@ -1,4 +1,4 @@ -#lang at-exp s-exp "../common.rkt" +#lang meta/web (require "git.rkt") diff --git a/collects/meta/web/stubs/wiki.rkt b/collects/meta/web/stubs/wiki.rkt index 789b2c926f..d7f44d786f 100644 --- a/collects/meta/web/stubs/wiki.rkt +++ b/collects/meta/web/stubs/wiki.rkt @@ -1,4 +1,4 @@ -#lang at-exp s-exp "../common.rkt" +#lang meta/web (require (prefix-in www: (only-in "../www/shared.rkt" the-resources))) diff --git a/collects/meta/web/www/bib.rkt b/collects/meta/web/www/bib.rkt index 16ffe83b78..7e54b00dd0 100644 --- a/collects/meta/web/www/bib.rkt +++ b/collects/meta/web/www/bib.rkt @@ -1,6 +1,6 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web -(require scheme/list scheme/string scheme/dict scheme/promise scheme/function) +(require "shared.rkt") ;; bib values are hash tables mapping field names (symbols) to strings. ;; Keywords can also be used for the field names, which makes them meta-fields diff --git a/collects/meta/web/www/code.rkt b/collects/meta/web/www/code.rkt index e3ddf1aef1..3622a4d844 100644 --- a/collects/meta/web/www/code.rkt +++ b/collects/meta/web/www/code.rkt @@ -1,8 +1,7 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web -(require syntax-color/module-lexer - setup/xref - scribble/xref) +(require "shared.rkt" + syntax-color/module-lexer setup/xref scribble/xref) (provide code) diff --git a/collects/meta/web/www/community.rkt b/collects/meta/web/www/community.rkt index 61402a143e..156bef72fa 100644 --- a/collects/meta/web/www/community.rkt +++ b/collects/meta/web/www/community.rkt @@ -1,6 +1,6 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web -(require "people.rkt" "irc.rkt" +(require "shared.rkt" "people.rkt" "irc.rkt" "../minis/lists.rkt" "../stubs/blog.rkt" "../stubs/git.rkt" (prefix-in pre: "../stubs/pre.rkt")) diff --git a/collects/meta/web/www/download.rkt b/collects/meta/web/www/download.rkt index 0589d19f79..36098621c5 100644 --- a/collects/meta/web/www/download.rkt +++ b/collects/meta/web/www/download.rkt @@ -1,6 +1,6 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web -(require "../download/download-pages.rkt") +(require "shared.rkt" "../download/download-pages.rkt") (provide download-button download) diff --git a/collects/meta/web/www/guidelines.rkt b/collects/meta/web/www/guidelines.rkt index 482a703af2..6672cc4948 100644 --- a/collects/meta/web/www/guidelines.rkt +++ b/collects/meta/web/www/guidelines.rkt @@ -1,8 +1,6 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web -(define name i) - -(define (url str) (tt (a href: str str))) +(require "shared.rkt") (define styles @style/inline{ diff --git a/collects/meta/web/www/help.rkt b/collects/meta/web/www/help.rkt index 65616c83fd..a1733b752d 100644 --- a/collects/meta/web/www/help.rkt +++ b/collects/meta/web/www/help.rkt @@ -1,6 +1,6 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web -(require "community.rkt") +(require "shared.rkt" "community.rkt") (provide help) (define help diff --git a/collects/meta/web/www/index.rkt b/collects/meta/web/www/index.rkt index c1fab727aa..70ed3f8196 100644 --- a/collects/meta/web/www/index.rkt +++ b/collects/meta/web/www/index.rkt @@ -1,6 +1,6 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web -(require "code.rkt" "download.rkt" "learning.rkt") +(require "shared.rkt" "code.rkt" "download.rkt" "learning.rkt") (define (doc s) (string-append "http://docs.racket-lang.org/" s)) diff --git a/collects/meta/web/www/irc.rkt b/collects/meta/web/www/irc.rkt index 966bf9f11d..e25c3ccfc7 100644 --- a/collects/meta/web/www/irc.rkt +++ b/collects/meta/web/www/irc.rkt @@ -1,4 +1,6 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web + +(require "shared.rkt") (provide irc-quick) diff --git a/collects/meta/web/www/learning.rkt b/collects/meta/web/www/learning.rkt index fe6142d00e..e0ecadfd28 100644 --- a/collects/meta/web/www/learning.rkt +++ b/collects/meta/web/www/learning.rkt @@ -1,6 +1,6 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web -(require "people.rkt" "techreports.rkt") +(require "shared.rkt" "people.rkt" "techreports.rkt") (provide learning) (define learning diff --git a/collects/meta/web/www/main.rkt b/collects/meta/web/www/main.rkt index 0a20919b1d..7d26713cdd 100644 --- a/collects/meta/web/www/main.rkt +++ b/collects/meta/web/www/main.rkt @@ -1,4 +1,4 @@ -#lang at-exp s-exp "shared.rkt" +#lang racket/base (require "index.rkt" "download.rkt" "community.rkt" "learning.rkt" "help.rkt" "new-name.rkt" "guidelines.rkt") diff --git a/collects/meta/web/www/new-name.rkt b/collects/meta/web/www/new-name.rkt index 5930b0fa76..e04c063cb7 100644 --- a/collects/meta/web/www/new-name.rkt +++ b/collects/meta/web/www/new-name.rkt @@ -1,4 +1,6 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web + +(require "shared.rkt") (define name i) diff --git a/collects/meta/web/www/people.rkt b/collects/meta/web/www/people.rkt index 0b4d2b14f9..cbd9cb62b5 100644 --- a/collects/meta/web/www/people.rkt +++ b/collects/meta/web/www/people.rkt @@ -1,4 +1,6 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web + +(require "shared.rkt") (define (make-all place person) ;; The first person in a place is the one responsible for it diff --git a/collects/meta/web/www/shared.rkt b/collects/meta/web/www/shared.rkt index c9ca2c018f..382f612c9a 100644 --- a/collects/meta/web/www/shared.rkt +++ b/collects/meta/web/www/shared.rkt @@ -1,5 +1,3 @@ -#lang at-exp s-exp "../common.rkt" - -(provide (all-from-out "../common.rkt")) +#lang meta/web (define+provide-context "www") diff --git a/collects/meta/web/www/techreports.rkt b/collects/meta/web/www/techreports.rkt index 42a2c21af8..b8811edcea 100644 --- a/collects/meta/web/www/techreports.rkt +++ b/collects/meta/web/www/techreports.rkt @@ -1,6 +1,6 @@ -#lang at-exp s-exp "shared.rkt" +#lang meta/web -(require "people.rkt" "../download/data.rkt" +(require "shared.rkt" "people.rkt" "../download/data.rkt" "bib.rkt" (prefix-in - version/utils)) ;; New style TR entries ------------------------------------------------------- diff --git a/collects/scribble/html/htmllang.rkt b/collects/scribble/html/htmllang.rkt new file mode 100644 index 0000000000..4d47215fef --- /dev/null +++ b/collects/scribble/html/htmllang.rkt @@ -0,0 +1,22 @@ +#lang racket/base + +(require "main.rkt" scribble/text/textlang scribble/text/syntax-utils + (for-syntax racket/base)) + +(provide (except-out (all-from-out scribble/text/textlang) + #%top #%module-begin) + (rename-out [top #%top] [module-begin #%module-begin]) + (all-from-out "main.rkt")) + +(define-syntax (top stx) + (syntax-case stx () + [(_ . x) + (let ([x* (syntax-e #'x)]) + (if (and (symbol? x*) (regexp-match? #rx":$" (symbol->string x*))) + #''x + #'(#%top . x)))])) + +(define-syntax-rule (module-begin expr ...) + (#%plain-module-begin + (port-count-lines! (current-output-port)) + (process-begin/text begin output-xml expr ...))) diff --git a/collects/scribble/html/main.rkt b/collects/scribble/html/main.rkt index 7b05152723..0ab3b2aa69 100644 --- a/collects/scribble/html/main.rkt +++ b/collects/scribble/html/main.rkt @@ -1,27 +1,7 @@ #lang racket/base -(provide (except-out (all-from-out racket/base) #%top #%module-begin) - (rename-out [top #%top] [module-begin #%module-begin]) - ;; to be used as a text language (output via `output-xml') - (all-from-out scribble/text) - ;; provide a `text' alias and an `include' alias - (rename-out [begin/text text] [include/text include]) - ;; main functionality - (all-from-out "xml.rkt" "html.rkt" "resource.rkt" - racket/list racket/string)) +(require "xml.rkt" "html.rkt" "resource.rkt" + ;; includes all of the scribble/text utilities + scribble/text) -(require "xml.rkt" "html.rkt" "resource.rkt" racket/list racket/string - scribble/text scribble/text/syntax-utils (for-syntax racket/base)) - -(define-syntax (top stx) - (syntax-case stx () - [(_ . x) - (let ([x* (syntax-e #'x)]) - (if (and (symbol? x*) (regexp-match? #rx":$" (symbol->string x*))) - #''x - #'(#%top . x)))])) - -(define-syntax-rule (module-begin expr ...) - (#%plain-module-begin - (port-count-lines! (current-output-port)) - (process-begin/text begin output-xml expr ...))) +(provide (all-from-out "xml.rkt" "html.rkt" "resource.rkt" scribble/text)) diff --git a/collects/scribble/text.rkt b/collects/scribble/text.rkt index 90c106d57e..36f57156f8 100644 --- a/collects/scribble/text.rkt +++ b/collects/scribble/text.rkt @@ -1,5 +1,4 @@ #lang racket/base -(require racket/promise "text/output.ss" "text/syntax-utils.ss") -(provide (all-from-out racket/promise "text/output.ss") - begin/text include/text) +(require "text/main.rkt") +(provide (all-from-out "text/main.rkt")) diff --git a/collects/scribble/text/main.rkt b/collects/scribble/text/main.rkt new file mode 100644 index 0000000000..5cc7ae6a7e --- /dev/null +++ b/collects/scribble/text/main.rkt @@ -0,0 +1,7 @@ +#lang racket/base + +(require "output.ss" "syntax-utils.ss" + racket/promise racket/list racket/string) + +(provide (all-from-out "output.ss" racket/promise racket/list racket/string) + begin/text include/text) diff --git a/collects/scribble/text/textlang.rkt b/collects/scribble/text/textlang.rkt index 0708781f5c..3df5a5a990 100644 --- a/collects/scribble/text/textlang.rkt +++ b/collects/scribble/text/textlang.rkt @@ -1,9 +1,9 @@ #lang racket/base -(require "syntax-utils.ss" "output.ss" racket/promise) +(require "syntax-utils.ss" "output.ss" + racket/promise racket/list racket/string) (provide (except-out (all-from-out racket/base) #%module-begin) - (all-from-out "output.ss" racket/promise) - begin/text + (all-from-out "output.ss" racket/promise racket/list racket/string) (rename-out [module-begin/text #%module-begin] - [include/text include])) + [begin/text text] [include/text include]))