list-packages: Centralise CSS styling in <head>.

* build-aux/list-packages.scm (package-logo): Assign class of
  'package-description' to package synopsis div; 'package-logo'.  Move inline
  CSS where possible.
  (packages->sxml): Assign id of 'intro' to intro div, 'packages' to the
  table. Move inline CSS.
  (list-packages): Create new <style> section, containing all inline CSS.
  Move JavaScript <script> section to above banner include to place it in
  <head>.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Alex Sassmannshausen 2013-08-04 21:46:26 +02:00 committed by Ludovic Courtès
parent 1af63b797c
commit 8bdf5241dc
1 changed files with 22 additions and 7 deletions

View File

@ -104,12 +104,13 @@ exec guile -l "$0" \
description-id))) description-id)))
,(package-synopsis package)) ,(package-synopsis package))
(div (@ (id ,description-id) (div (@ (id ,description-id)
(style "position: relative; display: none;")) (class "package-description")
(style "display: none;"))
,(match (package-logo (package-name package)) ,(match (package-logo (package-name package))
((? string? url) ((? string? url)
`(img (@ (src ,url) `(img (@ (src ,url)
(height "35em") (height "35em")
(style "float: left; padding-right: 1em;")))) (class "package-logo"))))
(_ #f)) (_ #f))
(p ,(package-description package)) (p ,(package-description package))
,(license package) ,(license package)
@ -121,7 +122,7 @@ exec guile -l "$0" \
"Return an HTML page as SXML describing PACKAGES." "Return an HTML page as SXML describing PACKAGES."
`(div `(div
(h2 "GNU Guix Package List") (h2 "GNU Guix Package List")
(div (@ (style "margin-bottom: 5em;")) (div (@ (id "intro"))
(div (div
(img (@ (src "graphics/guix-logo.small.png") (img (@ (src "graphics/guix-logo.small.png")
(alt "GNU Guix and the GNU System") (alt "GNU Guix and the GNU System")
@ -134,7 +135,7 @@ exec guile -l "$0" \
"Our " (a (@ (href "http://hydra.gnu.org/jobset/gnu/master")) "Our " (a (@ (href "http://hydra.gnu.org/jobset/gnu/master"))
"continuous integration system") "continuous integration system")
" shows their current build status.") " shows their current build status.")
(table (@ (style "border: none;")) (table (@ (id "packages"))
,@(map package->sxml packages)))) ,@(map package->sxml packages))))
@ -155,8 +156,6 @@ with gnu.org server-side include and all that."
<!-- Parent-Version: 1.70 $ --> <!-- Parent-Version: 1.70 $ -->
<title>GNU Guix - GNU Distribution - GNU Project</title> <title>GNU Guix - GNU Distribution - GNU Project</title>
<!--#include virtual=\"/server/banner.html\" -->
<script language=\"javascript\" type=\"text/javascript\"> <script language=\"javascript\" type=\"text/javascript\">
// license: CC0 // license: CC0
function show_hide(idThing) function show_hide(idThing)
@ -170,7 +169,23 @@ function show_hide(idThing)
} }
} }
} }
</script>") </script>
<style>
div#intro {
margin-bottom: 5em;
}
table#packages {
border: none;
}
div.package-description {
position: relative;
}
img.package-logo {
float: left; padding-right: 1em;
}
</style>
<!--#include virtual=\"/server/banner.html\" -->
")
(display (sxml->xml (packages->sxml packages))) (display (sxml->xml (packages->sxml packages)))
(format #t "<!--#include virtual=\"/server/footer.html\" --> (format #t "<!--#include virtual=\"/server/footer.html\" -->
<div id=\"footer\"> <div id=\"footer\">