branch: master commit e1675fef2de33d1f245cd6f8f82cd4124ffacbdd Author: Nicolas Petton <nico...@petton.fr> Commit: Nicolas Petton <nico...@petton.fr>
Package pages improvements * admin/archive-contents.el: Better layout for package descriptions, and add a section for package installation. * html/layout.css: Minor improvements. --- admin/archive-contents.el | 24 ++++++++++++-------- html/layout.css | 55 +++++++++++++++++++++++++++++++++++++-------- 2 files changed, 61 insertions(+), 18 deletions(-) diff --git a/admin/archive-contents.el b/admin/archive-contents.el index abe0147..953a00b 100755 --- a/admin/archive-contents.el +++ b/admin/archive-contents.el @@ -438,7 +438,7 @@ Rename DIR/ to PKG-VERS/, and return the descriptor." (defun archive--insert-repolinks (name srcdir _mainsrcfile url) (when url - (insert (format "<p>Home page: <a href=%S>%s</a></p>\n" + (insert (format "<dt>Home page</dt> <dd><a href=%S>%s</a></dd>\n" url (archive--quote url))) (when (string-match archive-default-url-re url) (setq url nil))) @@ -455,8 +455,8 @@ Rename DIR/ to PKG-VERS/, and return the descriptor." '("cgit/emacs/elpa.git/tree/packages/" "gitweb/?p=emacs/elpa.git;a=tree;f=packages/")))) (insert (format - (concat (format "<p>Browse %srepository: " (if url "ELPA's " "")) - "<a href=%S>%s</a> or <a href=%S>%s</a></p>\n") + (concat (format "<dt>Browse %srepository</dt> <dd>" (if url "ELPA's " "")) + "<a href=%S>%s</a> or <a href=%S>%s</a></dd>\n") (concat git-sv (nth 0 urls) name) 'CGit (concat git-sv (nth 1 urls) name) @@ -470,25 +470,31 @@ Rename DIR/ to PKG-VERS/, and return the descriptor." (desc (aref (cdr pkg) 2))) (with-temp-buffer (insert (archive--html-header (format "GNU ELPA - %s" name))) - (insert (format "<p>Description: %s</p>\n" (archive--quote desc))) + (insert (format "<h2 class=\"package\">%s</h2>" name)) + (insert "<dl>") + (insert (format "<dt>Description</dt><dd>%s</dd>\n" (archive--quote desc))) (if (zerop (length latest)) - (insert "<p>This package " + (insert "<dd>This package " (if files "is not in GNU ELPA any more" "has not been released yet") - ".</p>\n") + ".</dd>\n") (let* ((file (cdr (assoc latest files))) (attrs (file-attributes file))) - (insert (format "<p>Latest: <a href=%S>%s</a>, %s, %s</p>\n" + (insert (format "<dt>Latest</dt> <dd><a href=%S>%s</a>, %s, %s</dd>\n" file (archive--quote file) (format-time-string "%Y-%b-%d" (nth 5 attrs)) (archive--html-bytes-format (nth 7 attrs)))))) (let ((maint (archive--get-prop "Maintainer" name srcdir mainsrcfile))) (when maint - (insert (format "<p>Maintainer: %s</p>\n" (archive--quote maint))))) + (insert (format "<dt>Maintainer</dt> <dd>%s</dd>\n" (archive--quote maint))))) (archive--insert-repolinks name srcdir mainsrcfile (or (cdr (assoc :url (aref (cdr pkg) 4))) (archive--get-prop "URL" name srcdir mainsrcfile))) + (insert "</dl>") + (insert (format "<p>To install this package, run in Emacs:</p> + <pre>M-x <span class=\"kw\">package-install</span> RET <span class=\"kw\">%s</span> RET</pre>" + name)) (let ((rm (archive--get-section "Commentary" '("README" "README.rst" ;; Most README.md files seem to be currently @@ -817,6 +823,6 @@ If WITH-CORE is non-nil, it means we manage :core packages as well." (sort (append exts core) #'string<) "")) (save-buffer)))) - + (provide 'archive-contents) ;;; archive-contents.el ends here diff --git a/html/layout.css b/html/layout.css index 677849e..c75e0ea 100644 --- a/html/layout.css +++ b/html/layout.css @@ -67,24 +67,23 @@ html, body { } h1 { - font-size: 2em; + font-size: 2.5em; margin: 0.4em; } h2 { - font-size: 1.2em; + font-size: 2em; margin: 1.2em 0px; } a { color: #c73a6c; - text-decoration: underline; + text-decoration: none; } a:hover { - color: white; - background-color: #973066; - text-decoration: none; + color: #973066; + text-decoration: underline; } tt, code { @@ -94,6 +93,20 @@ tt, code { border-radius: 4px; } +pre { + font-family: "Fira Mono"; + font-size: 14px; + background: #fafafa; + padding: 15px; + border: 1px solid #dadada; + overflow-y: auto; +} + +pre .kw { + font-weight: bold; + color: #4f0f71; +} + p { margin-bottom: 2em; } @@ -103,6 +116,24 @@ p.centered { margin: 3em 0; } +dl { + margin: 30px 0; + font-size: .8em; +} + +dt { + font-weight: bold; + width: 300px; + display: inline-block; + vertical-align: top; +} + +dd { + margin-bottom: 10px; + width: 460px; + display: inline-block; +} + .button { border: 2px solid; padding: 10px; @@ -113,7 +144,7 @@ p.centered { } .container { - padding: 80px 20px; + padding: 20px; width: 960px; margin: 0 auto; } @@ -204,12 +235,14 @@ td { } .footer .container { - padding: 5px; + padding: 15px 0; } .footer p { - margin: 5px; + margin: 0; font-size: .8em; + padding: 0; + line-height: 1.4em; } @media screen and (max-width: 999px) { @@ -243,6 +276,10 @@ td { td:last-child, th:last-child { display: none; } + + dd { + width: 100%; + } } @media screen and (max-width: 439px) {