unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: sirgazil--- via Guix-patches via <guix-patches@gnu.org>
To: 69783@debbugs.gnu.org
Cc: Luis Felipe <sirgazil@zoho.com>
Subject: [bug#69783] [PATCH v2] website: Convert old style sheets into a theme.
Date: Fri, 15 Mar 2024 10:33:32 -0500	[thread overview]
Message-ID: <20240315153337.5713-1-sirgazil@zoho.com> (raw)
In-Reply-To: <9cac9566-3716-1079-1d53-215cb7fa547b@zoho.com>

From: Luis Felipe <sirgazil@zoho.com>

This change introduces the concept of website themes to separate the
look and feel of the website from unrelated static files and make it
easier to update themes, create new ones or switch between them.

* website/themes/initial: New theme.
* website/haunt.scm (site): Include the "themes" directory.
* website/apps/base/utils.scm (guix-website-theme): New variable.
(theme-url): New URL shorthand procedure.

The following template files were updated to use the new theme URL
shorthand:

* website/apps/base/templates/about.scm
* website/apps/base/templates/components.scm
* website/apps/base/templates/contact.scm
* website/apps/base/templates/contribute.scm
* website/apps/base/templates/cuirass.scm
* website/apps/base/templates/donate.scm
* website/apps/base/templates/graphics.scm
* website/apps/base/templates/help.scm
* website/apps/base/templates/home.scm
* website/apps/base/templates/irc.scm
* website/apps/base/templates/menu.scm
* website/apps/base/templates/security.scm
* website/apps/base/templates/theme.scm
* website/apps/blog/templates/feed.scm
* website/apps/blog/templates/post-list.scm
* website/apps/blog/templates/post.scm
* website/apps/blog/templates/tag.scm
* website/apps/download/templates/download-latest.scm
* website/apps/download/templates/download.scm
* website/apps/media/templates/components.scm
* website/apps/media/templates/publication-list.scm
* website/apps/media/templates/screenshot.scm
* website/apps/media/templates/screenshots-overview.scm
* website/apps/media/templates/video-list.scm
* website/apps/media/templates/video.scm

The following files were moved to the "initial" theme:

* website/static/base/css/breadcrumbs.css -> website/themes/initial/css/breadcrumbs.css
* website/static/base/css/buttons.css -> website/themes/initial/css/buttons.css
* website/static/base/css/code.css -> website/themes/initial/css/code.css
* website/static/base/css/common.css -> website/themes/initial/css/common.css
* website/static/base/css/contact.css -> website/themes/initial/css/contact.css
* website/static/base/css/download.css -> website/themes/initial/css/download.css
* website/static/base/css/elements.css -> website/themes/initial/css/elements.css
* website/static/base/css/footer.css -> website/themes/initial/css/footer.css
* website/static/base/css/index.css -> website/themes/initial/css/index.css
* website/static/base/css/item-preview.css -> website/themes/initial/css/item-preview.css
* website/static/base/css/manual.css -> website/themes/initial/css/manual.css
* website/static/base/css/menu.css -> website/themes/initial/css/menu.css
* website/static/base/css/messages.css -> website/themes/initial/css/messages.css
* website/static/base/css/navbar.css -> website/themes/initial/css/navbar.css
* website/static/base/css/page.css -> website/themes/initial/css/page.css
* website/static/blog/css/post.css -> website/themes/initial/css/post.css
* website/static/base/css/sidebar.css -> website/themes/initial/css/sidebar.css
* website/static/base/img/Guix-logo.png -> website/themes/initial/img/Guix-logo.png
* website/static/base/img/Guix.png -> website/themes/initial/img/Guix.png
* website/static/base/img/back-btn-bg.png -> website/themes/initial/img/back-btn-bg.png
* website/static/base/img/breadcrumbs-bg.png -> website/themes/initial/img/breadcrumbs-bg.png
* website/static/base/img/chat-icon.png -> website/themes/initial/img/chat-icon.png
* website/static/base/img/checkerboard-bg.png -> website/themes/initial/img/checkerboard-bg.png
* website/static/base/img/cookbook-icon.png -> website/themes/initial/img/cookbook-icon.png
* website/static/base/img/depression-shadow-top.png -> website/themes/initial/img/depression-shadow-top.png
* website/static/base/img/dropdown-bg.png -> website/themes/initial/img/dropdown-bg.png
* website/static/base/img/email-icon.png -> website/themes/initial/img/email-icon.png
* website/static/base/img/featured-box-bg.png -> website/themes/initial/img/featured-box-bg.png
* website/static/base/img/feed-bg-white.png -> website/themes/initial/img/feed-bg-white.png
* website/static/base/img/feed.png -> website/themes/initial/img/feed.png
* website/static/base/img/feed.svg -> website/themes/initial/img/feed.svg
* website/static/base/img/h-separator-dark.png -> website/themes/initial/img/h-separator-dark.png
* website/static/base/img/h-separator.png -> website/themes/initial/img/h-separator.png
* website/static/base/img/icon.png -> website/themes/initial/img/icon.png
* website/static/base/img/icon.svg -> website/themes/initial/img/icon.svg
* website/static/base/img/icon-set.svg -> website/themes/initial/img/icon-set.svg
* website/static/base/img/language-picker.svg -> website/themes/initial/img/language-picker.svg
* website/static/base/img/library-icon.png -> website/themes/initial/img/library-icon.png
* website/static/base/img/link-arrow-shaper.svg -> website/themes/initial/img/link-arrow-shaper.svg
* website/static/base/img/link-arrow.png -> website/themes/initial/img/link-arrow.png
* website/static/base/img/manual-icon.png -> website/themes/initial/img/manual-icon.png
* website/static/base/img/manual-latest-icon.png -> website/themes/initial/img/manual-latest-icon.png
* website/static/base/img/menu-btn-bg.png -> website/themes/initial/img/menu-btn-bg.png
* website/static/base/img/menu-item-active-bg.png -> website/themes/initial/img/menu-item-active-bg.png
* website/static/base/img/more-info-bg.png -> website/themes/initial/img/more-info-bg.png
* website/static/base/img/noise-bg.png -> website/themes/initial/img/noise-bg.png
* website/static/base/img/videos-icon.png -> website/themes/initial/img/videos-icon.png
* website/static/base/img/white-star.png -> website/themes/initial/img/white-star.png
* website/static/base/img/wiki-icon.png -> website/themes/initial/img/wiki-icon.png
* website/static/media/css/publications.css -> website/themes/initial/css/publications.css
* website/static/media/css/screenshots.css -> website/themes/initial/css/screenshots.css
* website/static/media/css/video-list.css -> website/themes/initial/css/video-list.css
* website/static/media/css/video-preview.css -> website/themes/initial/css/video-preview.css
* website/static/media/css/video.css -> website/themes/initial/css/video.css
* website/static/media/img/playing-icon.svg -> website/themes/initial/img/playing-icon.svg
* website/static/media/img/playlist-icon.svg -> website/themes/initial/img/playlist-icon.svg
* website/static/media/img/scientific-mark.svg -> website/themes/initial/img/scientific-mark.svg
* website/static/packages/css/letter-selector.css -> website/themes/initial/css/letter-selector.css
* website/static/packages/css/package-list.css -> website/themes/initial/css/package-list.css
* website/static/packages/css/package.css -> website/themes/initial/css/package.css
* website/static/packages/img/red-tag.png -> website/themes/initial/img/red-tag.png

The following files were removed:

* website/static/base/img/GuixSD-logo.png: Delete (obsolete).
---
 website/apps/base/templates/about.scm         |   2 +-
 website/apps/base/templates/components.scm    |   6 +++---
 website/apps/base/templates/contact.scm       |   6 +++---
 website/apps/base/templates/contribute.scm    |   4 ++--
 website/apps/base/templates/cuirass.scm       |   2 +-
 website/apps/base/templates/donate.scm        |   2 +-
 website/apps/base/templates/graphics.scm      |   4 ++--
 website/apps/base/templates/help.scm          |  20 +++++++++---------
 website/apps/base/templates/home.scm          |   6 +++---
 website/apps/base/templates/irc.scm           |   2 +-
 website/apps/base/templates/menu.scm          |   2 +-
 website/apps/base/templates/security.scm      |   2 +-
 website/apps/base/templates/theme.scm         |  18 ++++++++--------
 website/apps/base/utils.scm                   |  20 +++++++++++++++++-
 website/apps/blog/templates/feed.scm          |   2 +-
 website/apps/blog/templates/post-list.scm     |   6 +++---
 website/apps/blog/templates/post.scm          |   6 +++---
 website/apps/blog/templates/tag.scm           |   6 +++---
 .../download/templates/download-latest.scm    |   4 ++--
 website/apps/download/templates/download.scm  |   4 ++--
 website/apps/media/templates/components.scm   |   6 +++---
 .../apps/media/templates/publication-list.scm |   4 ++--
 website/apps/media/templates/screenshot.scm   |   4 ++--
 .../media/templates/screenshots-overview.scm  |   2 +-
 website/apps/media/templates/video-list.scm   |   4 ++--
 website/apps/media/templates/video.scm        |   4 ++--
 website/haunt.scm                             |   1 +
 website/static/base/img/GuixSD-logo.png       | Bin 6785 -> 0 bytes
 website/themes/README.org                     |   6 ++++++
 .../initial}/css/breadcrumbs.css              |   0
 .../base => themes/initial}/css/buttons.css   |   0
 .../base => themes/initial}/css/code.css      |   0
 .../base => themes/initial}/css/common.css    |   0
 .../base => themes/initial}/css/contact.css   |   0
 .../base => themes/initial}/css/download.css  |   0
 .../base => themes/initial}/css/elements.css  |   0
 .../base => themes/initial}/css/footer.css    |   0
 .../base => themes/initial}/css/index.css     |   0
 .../initial}/css/item-preview.css             |   0
 .../initial}/css/letter-selector.css          |   0
 .../base => themes/initial}/css/manual.css    |   0
 .../base => themes/initial}/css/menu.css      |   0
 .../base => themes/initial}/css/messages.css  |   0
 .../base => themes/initial}/css/navbar.css    |   0
 .../initial}/css/package-list.css             |   0
 .../initial}/css/package.css                  |   0
 .../base => themes/initial}/css/page.css      |   0
 .../blog => themes/initial}/css/post.css      |   0
 .../initial}/css/publications.css             |   2 +-
 .../initial}/css/screenshots.css              |   0
 .../base => themes/initial}/css/sidebar.css   |   2 +-
 .../initial}/css/video-list.css               |   0
 .../initial}/css/video-preview.css            |   0
 .../media => themes/initial}/css/video.css    |   0
 .../base => themes/initial}/img/Guix-logo.png | Bin
 .../base => themes/initial}/img/Guix.png      | Bin
 .../initial}/img/back-btn-bg.png              | Bin
 .../initial}/img/breadcrumbs-bg.png           | Bin
 .../base => themes/initial}/img/chat-icon.png | Bin
 .../initial}/img/checkerboard-bg.png          | Bin
 .../initial}/img/cookbook-icon.png            | Bin
 .../initial}/img/depression-shadow-top.png    | Bin
 .../initial}/img/dropdown-bg.png              | Bin
 .../initial}/img/email-icon.png               | Bin
 .../initial}/img/featured-box-bg.png          | Bin
 .../initial}/img/feed-bg-white.png            | Bin
 .../base => themes/initial}/img/feed.png      | Bin
 .../base => themes/initial}/img/feed.svg      |   0
 .../initial}/img/h-separator-dark.png         | Bin
 .../initial}/img/h-separator.png              | Bin
 .../base => themes/initial}/img/icon-set.svg  |   0
 .../base => themes/initial}/img/icon.png      | Bin
 .../base => themes/initial}/img/icon.svg      |   0
 .../initial}/img/language-picker.svg          |   0
 .../initial}/img/library-icon.png             | Bin
 .../initial}/img/link-arrow-shaper.svg        |   0
 .../initial}/img/link-arrow.png               | Bin
 .../initial}/img/manual-icon.png              | Bin
 .../initial}/img/manual-latest-icon.png       | Bin
 .../initial}/img/menu-btn-bg.png              | Bin
 .../initial}/img/menu-item-active-bg.png      | Bin
 .../initial}/img/more-info-bg.png             | Bin
 .../base => themes/initial}/img/noise-bg.png  | Bin
 .../initial}/img/playing-icon.svg             |   0
 .../initial}/img/playlist-icon.svg            |   0
 .../initial}/img/red-tag.png                  | Bin
 .../initial}/img/scientific-mark.svg          |   0
 .../initial}/img/videos-icon.png              | Bin
 .../initial}/img/white-star.png               | Bin
 .../base => themes/initial}/img/wiki-icon.png | Bin
 90 files changed, 92 insertions(+), 67 deletions(-)
 delete mode 100644 website/static/base/img/GuixSD-logo.png
 create mode 100644 website/themes/README.org
 rename website/{static/base => themes/initial}/css/breadcrumbs.css (100%)
 rename website/{static/base => themes/initial}/css/buttons.css (100%)
 rename website/{static/base => themes/initial}/css/code.css (100%)
 rename website/{static/base => themes/initial}/css/common.css (100%)
 rename website/{static/base => themes/initial}/css/contact.css (100%)
 rename website/{static/base => themes/initial}/css/download.css (100%)
 rename website/{static/base => themes/initial}/css/elements.css (100%)
 rename website/{static/base => themes/initial}/css/footer.css (100%)
 rename website/{static/base => themes/initial}/css/index.css (100%)
 rename website/{static/base => themes/initial}/css/item-preview.css (100%)
 rename website/{static/packages => themes/initial}/css/letter-selector.css (100%)
 rename website/{static/base => themes/initial}/css/manual.css (100%)
 rename website/{static/base => themes/initial}/css/menu.css (100%)
 rename website/{static/base => themes/initial}/css/messages.css (100%)
 rename website/{static/base => themes/initial}/css/navbar.css (100%)
 rename website/{static/packages => themes/initial}/css/package-list.css (100%)
 rename website/{static/packages => themes/initial}/css/package.css (100%)
 rename website/{static/base => themes/initial}/css/page.css (100%)
 rename website/{static/blog => themes/initial}/css/post.css (100%)
 rename website/{static/media => themes/initial}/css/publications.css (92%)
 rename website/{static/media => themes/initial}/css/screenshots.css (100%)
 rename website/{static/base => themes/initial}/css/sidebar.css (96%)
 rename website/{static/media => themes/initial}/css/video-list.css (100%)
 rename website/{static/media => themes/initial}/css/video-preview.css (100%)
 rename website/{static/media => themes/initial}/css/video.css (100%)
 rename website/{static/base => themes/initial}/img/Guix-logo.png (100%)
 rename website/{static/base => themes/initial}/img/Guix.png (100%)
 rename website/{static/base => themes/initial}/img/back-btn-bg.png (100%)
 rename website/{static/base => themes/initial}/img/breadcrumbs-bg.png (100%)
 rename website/{static/base => themes/initial}/img/chat-icon.png (100%)
 rename website/{static/base => themes/initial}/img/checkerboard-bg.png (100%)
 rename website/{static/base => themes/initial}/img/cookbook-icon.png (100%)
 rename website/{static/base => themes/initial}/img/depression-shadow-top.png (100%)
 rename website/{static/base => themes/initial}/img/dropdown-bg.png (100%)
 rename website/{static/base => themes/initial}/img/email-icon.png (100%)
 rename website/{static/base => themes/initial}/img/featured-box-bg.png (100%)
 rename website/{static/base => themes/initial}/img/feed-bg-white.png (100%)
 rename website/{static/base => themes/initial}/img/feed.png (100%)
 rename website/{static/base => themes/initial}/img/feed.svg (100%)
 rename website/{static/base => themes/initial}/img/h-separator-dark.png (100%)
 rename website/{static/base => themes/initial}/img/h-separator.png (100%)
 rename website/{static/base => themes/initial}/img/icon-set.svg (100%)
 rename website/{static/base => themes/initial}/img/icon.png (100%)
 rename website/{static/base => themes/initial}/img/icon.svg (100%)
 rename website/{static/base => themes/initial}/img/language-picker.svg (100%)
 rename website/{static/base => themes/initial}/img/library-icon.png (100%)
 rename website/{static/base => themes/initial}/img/link-arrow-shaper.svg (100%)
 rename website/{static/base => themes/initial}/img/link-arrow.png (100%)
 rename website/{static/base => themes/initial}/img/manual-icon.png (100%)
 rename website/{static/base => themes/initial}/img/manual-latest-icon.png (100%)
 rename website/{static/base => themes/initial}/img/menu-btn-bg.png (100%)
 rename website/{static/base => themes/initial}/img/menu-item-active-bg.png (100%)
 rename website/{static/base => themes/initial}/img/more-info-bg.png (100%)
 rename website/{static/base => themes/initial}/img/noise-bg.png (100%)
 rename website/{static/media => themes/initial}/img/playing-icon.svg (100%)
 rename website/{static/media => themes/initial}/img/playlist-icon.svg (100%)
 rename website/{static/packages => themes/initial}/img/red-tag.png (100%)
 rename website/{static/media => themes/initial}/img/scientific-mark.svg (100%)
 rename website/{static/base => themes/initial}/img/videos-icon.png (100%)
 rename website/{static/base => themes/initial}/img/white-star.png (100%)
 rename website/{static/base => themes/initial}/img/wiki-icon.png (100%)

diff --git a/website/apps/base/templates/about.scm b/website/apps/base/templates/about.scm
index 1cf2f65..68c8815 100644
--- a/website/apps/base/templates/about.scm
+++ b/website/apps/base/templates/about.scm
@@ -26,7 +26,7 @@
 system|GNU Hurd|GNU Guix package manager") #\|)
    #:active-menu-item (C_ "website menu" "About")
    #:css (list
-	  (guix-url "static/base/css/page.css"))
+	  (theme-url "css/page.css"))
    #:crumbs (list (crumb (C_ "website menu" "About") "./"))
    #:content
    `(main
diff --git a/website/apps/base/templates/components.scm b/website/apps/base/templates/components.scm
index 2a6881e..82f3b85 100644
--- a/website/apps/base/templates/components.scm
+++ b/website/apps/base/templates/components.scm
@@ -179,8 +179,8 @@
   `(img
     (@ (class "h-separator")
        ,(if light
-	    `(src ,(guix-url "static/base/img/h-separator.png"))
-	    `(src ,(guix-url "static/base/img/h-separator-dark.png")))
+	    `(src ,(theme-url "img/h-separator.png"))
+	    `(src ,(theme-url "img/h-separator-dark.png")))
        (alt ""))))
 
 (define (horizontal-skip)
@@ -191,7 +191,7 @@
   "Return SHTML for a visible separator to be used in a dropdown menu
 like a menu item."
   `(img (@ (class "hline")
-           (src ,(guix-url "static/base/img/h-separator.png"))
+           (src ,(theme-url "img/h-separator.png"))
            (alt ""))))
 
 
diff --git a/website/apps/base/templates/contact.scm b/website/apps/base/templates/contact.scm
index 49d8393..33d4abf 100644
--- a/website/apps/base/templates/contact.scm
+++ b/website/apps/base/templates/contact.scm
@@ -25,9 +25,9 @@ system|GNU Hurd|GNU Guix package manager|Community|Mailing lists|IRC \
 channels|Bug reports|Help") #\|)
    #:active-menu-item (C_ "website menu" "About")
    #:css (list
-	  (guix-url "static/base/css/page.css")
-          (guix-url "static/base/css/buttons.css")
-	  (guix-url "static/base/css/contact.css"))
+	  (theme-url "css/page.css")
+          (theme-url "css/buttons.css")
+	  (theme-url "css/contact.css"))
    #:crumbs (list (crumb (C_ "website menu" "Contact") "./"))
    #:content
    `(main
diff --git a/website/apps/base/templates/contribute.scm b/website/apps/base/templates/contribute.scm
index 42ffcb9..703267f 100644
--- a/website/apps/base/templates/contribute.scm
+++ b/website/apps/base/templates/contribute.scm
@@ -25,8 +25,8 @@ system|GNU Hurd|GNU Guix package manager|Volunteer|Development|\
 Translation|I18N|L10N|Artwork") #\|)
    #:active-menu-item (C_ "website menu" "About")
    #:css (list
-	  (guix-url "static/base/css/page.css")
-	  (guix-url "static/base/css/item-preview.css"))
+	  (theme-url "css/page.css")
+	  (theme-url "css/item-preview.css"))
    #:crumbs (list (crumb (C_ "website menu" "Contribute") "./"))
    #:content
    `(main
diff --git a/website/apps/base/templates/cuirass.scm b/website/apps/base/templates/cuirass.scm
index 00fe4b9..b421530 100644
--- a/website/apps/base/templates/cuirass.scm
+++ b/website/apps/base/templates/cuirass.scm
@@ -21,7 +21,7 @@
     (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
 system|GNU Guix package manager|Cuirass|CI") #\|)
    #:css (list
-          (guix-url "static/base/css/page.css"))
+          (theme-url "css/page.css"))
    #:content
    `(main
      (section
diff --git a/website/apps/base/templates/donate.scm b/website/apps/base/templates/donate.scm
index 5257a57..0a7d796 100644
--- a/website/apps/base/templates/donate.scm
+++ b/website/apps/base/templates/donate.scm
@@ -25,7 +25,7 @@
 system|GNU Hurd|GNU Guix package manager|Donations") #\|)
    #:active-menu-item (C_ "website menu" "Donate")
    #:css (list
-	  (guix-url "static/base/css/page.css"))
+	  (theme-url "css/page.css"))
    #:crumbs (list (crumb (C_ "website menu" "Donate") "./"))
    #:content
    `(main
diff --git a/website/apps/base/templates/graphics.scm b/website/apps/base/templates/graphics.scm
index befbb19..97bfe53 100644
--- a/website/apps/base/templates/graphics.scm
+++ b/website/apps/base/templates/graphics.scm
@@ -23,7 +23,7 @@
 system|GNU Hurd|GNU Guix package manager|Donations|Branding|Logo") #\|)
    #:active-menu-item (C_ "website menu" "About")
    #:css (list
-	  (guix-url "static/base/css/page.css"))
+	  (theme-url "css/page.css"))
    #:crumbs (list (crumb (C_ "website menu" "Graphics") "./"))
    #:content
    `(main
@@ -40,7 +40,7 @@ system|GNU Hurd|GNU Guix package manager|Donations|Branding|Logo") #\|)
           "."))
       (p
        (@ (class "centered-text"))
-       (img (@ (src ,(guix-url "static/base/img/Guix.png"))
+       (img (@ (src ,(theme-url "img/Guix.png"))
                ,(G_ `(alt "GNU Guix logotype")))))
       ,(G_
         `(p
diff --git a/website/apps/base/templates/help.scm b/website/apps/base/templates/help.scm
index 98bba39..4cacf49 100644
--- a/website/apps/base/templates/help.scm
+++ b/website/apps/base/templates/help.scm
@@ -27,8 +27,8 @@
 system|GNU Hurd|GNU Guix package manager|Help resources") #\|)
    #:active-menu-item (C_ "website menu" "Help")
    #:css (list
-	  (guix-url "static/base/css/page.css")
-	  (guix-url "static/base/css/item-preview.css"))
+	  (theme-url "css/page.css")
+	  (theme-url "css/item-preview.css"))
    #:crumbs (list (crumb (C_ "website menu" "Help") "./"))
    #:content
    `(main
@@ -43,7 +43,7 @@ system|GNU Hurd|GNU Guix package manager|Help resources") #\|)
        (div
 	(@ (class "summary-box"))
 	(img
-	 (@ (src ,(guix-url "static/base/img/manual-icon.png"))
+	 (@ (src ,(theme-url "img/manual-icon.png"))
 	    (alt "")))
         ,(G_ `(h3 "GNU Guix Manual " ,(latest-guix-version) ""))
         ,(G_
@@ -71,7 +71,7 @@ system|GNU Hurd|GNU Guix package manager|Help resources") #\|)
        (div
 	(@ (class "summary-box"))
 	(img
-	 (@ (src ,(guix-url "static/base/img/manual-latest-icon.png"))
+	 (@ (src ,(theme-url "img/manual-latest-icon.png"))
 	    (alt "")))
         ,(G_ `(h3 "GNU Guix Manual (Latest)"))
         ,(G_
@@ -86,7 +86,7 @@ system|GNU Hurd|GNU Guix package manager|Help resources") #\|)
 
        (div
         (@ (class "summary-box"))
-        (img (@ (src ,(guix-url "static/base/img/videos-icon.png"))
+        (img (@ (src ,(theme-url "img/videos-icon.png"))
                 (alt "")))
         ,(G_ `(h3 "Videos"))
         ,(G_
@@ -103,7 +103,7 @@ system|GNU Hurd|GNU Guix package manager|Help resources") #\|)
 
        (div
         (@ (class "summary-box"))
-        (img (@ (src ,(guix-url "static/base/img/cookbook-icon.png"))
+        (img (@ (src ,(theme-url "img/cookbook-icon.png"))
                 (alt "")))
         ,(G_ `(h3 "Cookbook"))
         ,(G_
@@ -120,7 +120,7 @@ system|GNU Hurd|GNU Guix package manager|Help resources") #\|)
 
        (div
 	(@ (class "summary-box"))
-	(img (@ (src ,(guix-url "static/base/img/library-icon.png"))
+	(img (@ (src ,(theme-url "img/library-icon.png"))
 		(alt "")))
         ,(G_ `(h3 "GNU Manuals"))
         ,(G_
@@ -137,7 +137,7 @@ system|GNU Hurd|GNU Guix package manager|Help resources") #\|)
 
        (div
 	(@ (class "summary-box"))
-	(img (@ (src ,(guix-url "static/base/img/wiki-icon.png"))
+	(img (@ (src ,(theme-url "img/wiki-icon.png"))
 		(alt "")))
         ,(G_ `(h3 "Wiki"))
         ,(G_
@@ -155,7 +155,7 @@ system|GNU Hurd|GNU Guix package manager|Help resources") #\|)
 
        (div
 	(@ (class "summary-box"))
-	(img (@ (src ,(guix-url "static/base/img/chat-icon.png"))
+	(img (@ (src ,(theme-url "img/chat-icon.png"))
 		(alt "")))
         ,(G_ `(h3 "IRC Chat"))
         ,(G_
@@ -176,7 +176,7 @@ system|GNU Hurd|GNU Guix package manager|Help resources") #\|)
 
        (div
 	(@ (class "summary-box"))
-	(img (@ (src ,(guix-url "static/base/img/email-icon.png"))
+	(img (@ (src ,(theme-url "img/email-icon.png"))
 		(alt "")))
         ,(G_ `(h3 "Mailing lists"))
         ,(G_
diff --git a/website/apps/base/templates/home.scm b/website/apps/base/templates/home.scm
index adddd91..aa1fbb5 100644
--- a/website/apps/base/templates/home.scm
+++ b/website/apps/base/templates/home.scm
@@ -32,9 +32,9 @@ Scheme|Transactional upgrades|Functional package \
 management|Reproducibility") #\|)
    #:active-menu-item (C_ "website menu" "Overview")
    #:css (list
-	  (guix-url "static/base/css/item-preview.css")
-	  (guix-url "static/base/css/index.css")
-          (guix-url "static/media/css/video-preview.css"))
+	  (theme-url "css/item-preview.css")
+	  (theme-url "css/index.css")
+          (theme-url "css/video-preview.css"))
    #:content
    `(main
      ;; Featured content.
diff --git a/website/apps/base/templates/irc.scm b/website/apps/base/templates/irc.scm
index 13b501f..05dc87a 100644
--- a/website/apps/base/templates/irc.scm
+++ b/website/apps/base/templates/irc.scm
@@ -23,7 +23,7 @@
     (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
 system|GNU Hurd|GNU Guix package manager|IRC|chat") #\|)
    #:active-menu-item "About"
-   #:css (list (guix-url "static/base/css/page.css"))
+   #:css (list (theme-url "css/page.css"))
    #:crumbs (list (crumb (C_ "webpage title" "Contact") (guix-url "contact/"))
 		  (crumb (C_ "webpage title" "IRC") "./"))
    #:content
diff --git a/website/apps/base/templates/menu.scm b/website/apps/base/templates/menu.scm
index 5b245f8..db17fc2 100644
--- a/website/apps/base/templates/menu.scm
+++ b/website/apps/base/templates/menu.scm
@@ -22,4 +22,4 @@ system|GNU Hurd|GNU Guix package manager|GNU Guile|Guile \
 Scheme|Transactional upgrades|Functional package \
 management|Reproducibility") #\|)
    #:active-menu-item (C_ "website menu" "Menu")
-   #:css (list (guix-url "static/base/css/menu.css"))))
+   #:css (list (theme-url "css/menu.css"))))
diff --git a/website/apps/base/templates/security.scm b/website/apps/base/templates/security.scm
index 8a72950..09dc5dc 100644
--- a/website/apps/base/templates/security.scm
+++ b/website/apps/base/templates/security.scm
@@ -30,7 +30,7 @@
 system|GNU Hurd|GNU Guix package manager|Security updates") #\|)
    #:active-menu-item (C_ "website menu" "About")
    #:css (list
-	  (guix-url "static/base/css/page.css"))
+	  (theme-url "css/page.css"))
    #:crumbs (list (crumb (C_ "website menu" "Security") "./"))
    #:content
    `(main
diff --git a/website/apps/base/templates/theme.scm b/website/apps/base/templates/theme.scm
index 5f5416f..d410fdc5 100644
--- a/website/apps/base/templates/theme.scm
+++ b/website/apps/base/templates/theme.scm
@@ -93,13 +93,13 @@
       ;; Menu prefetch.
       (link (@ (rel "prefetch") (href ,(guix-url "menu/index.html"))))
       ;; Base CSS.
-      (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/elements.css"))))
-      (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/common.css"))))
-      (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/messages.css"))))
-      (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/navbar.css"))))
-      (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/breadcrumbs.css"))))
-      (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/buttons.css"))))
-      (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/footer.css"))))
+      (link (@ (rel "stylesheet") (href ,(theme-url "css/elements.css"))))
+      (link (@ (rel "stylesheet") (href ,(theme-url "css/common.css"))))
+      (link (@ (rel "stylesheet") (href ,(theme-url "css/messages.css"))))
+      (link (@ (rel "stylesheet") (href ,(theme-url "css/navbar.css"))))
+      (link (@ (rel "stylesheet") (href ,(theme-url "css/breadcrumbs.css"))))
+      (link (@ (rel "stylesheet") (href ,(theme-url "css/buttons.css"))))
+      (link (@ (rel "stylesheet") (href ,(theme-url "css/footer.css"))))
       ;; Additional CSS.
       ,@(map (lambda (style-sheet)
 	       `(link (@ (rel "stylesheet") (href ,style-sheet))))
@@ -109,9 +109,9 @@
                (title ,(C_ "webpage title" "GNU Guix — Activity Feed"))
 	       (href ,(guix-url "feeds/blog.atom"))))
       (link (@ (rel "icon") (type "image/png")
-	       (href ,(guix-url "static/base/img/icon.png"))))
+	       (href ,(theme-url "img/icon.png"))))
       (link (@ (rel "icon") (type "image/svg+xml") (sizes "any")
-	       (href ,(guix-url "static/base/img/icon.svg"))))
+	       (href ,(theme-url "img/icon.svg"))))
       ;; Additional scripts.
       ,@(map (lambda (script)
 	       `(script (@ (src ,script)) ""))
diff --git a/website/apps/base/utils.scm b/website/apps/base/utils.scm
index bb520be..37ac434 100644
--- a/website/apps/base/utils.scm
+++ b/website/apps/base/utils.scm
@@ -42,7 +42,8 @@
             manual-url-with-language
 	    number*
 	    paginate
-            packages-url))
+            packages-url
+            theme-url))
 
 
 ;;;
@@ -65,6 +66,8 @@
            path
            (string-append path "/"))))))
 
+(define guix-website-theme "initial")  ; See "themes" directory.
+
 (define latest-guix-version
   (make-parameter "1.4.0"))
 
@@ -184,6 +187,21 @@ manual.
      A URL. For example: https://packages.guix.gnu.org/packages/guile/."
   (string-append "https://packages.guix.gnu.org/" path))
 
+(define (theme-url subpath)
+  "Return the URL to a given resource provided by the current website
+   theme (see 'guix-website-theme' variable).
+
+   SUBPATH (string)
+     Relative URL path to the resource. For example: 'css/buttons.css'.
+
+   RETURN VALUE (string)
+     Complete URL to the resource. For example:
+     'https://guix.gnu.org/themes/abc/css/buttons.css'."
+  (string-append (guix-root-url-path)
+                 "themes" "/"
+                 guix-website-theme "/"
+                 subpath))
+
 
 
 ;;;
diff --git a/website/apps/blog/templates/feed.scm b/website/apps/blog/templates/feed.scm
index 0702318..8284626 100644
--- a/website/apps/blog/templates/feed.scm
+++ b/website/apps/blog/templates/feed.scm
@@ -30,7 +30,7 @@
       (id ,id)
       (title ,title)
       (author (name (C_ "feed author name" "GNU Guix")) (uri ,domain))
-      (icon ,(guix-url "static/base/img/icon.png"))
+      (icon ,(theme-url "img/icon.png"))
       (updated ,(date->string (current-date) "~4"))
       (link (@ (rel "alternate") (href ,alternate)))
 
diff --git a/website/apps/blog/templates/post-list.scm b/website/apps/blog/templates/post-list.scm
index acffce1..6bf81d1 100644
--- a/website/apps/blog/templates/post-list.scm
+++ b/website/apps/blog/templates/post-list.scm
@@ -33,9 +33,9 @@ management|Reproducibility") #\|)
      #:index? #false
      #:active-menu-item (C_ "website menu" "Blog")
      #:css
-     (list (guix-url "static/base/css/page.css")
-	   (guix-url "static/base/css/item-preview.css")
-	   (guix-url "static/base/css/sidebar.css"))
+     (list (theme-url "css/page.css")
+	   (theme-url "css/item-preview.css")
+	   (theme-url "css/sidebar.css"))
      #:crumbs
      (list (crumb (C_ "website menu" "Blog") (guix-url "blog/"))
            (crumb (G_ (string-append "Page " page-number ""))
diff --git a/website/apps/blog/templates/post.scm b/website/apps/blog/templates/post.scm
index 0e6ad0d..5183d5b 100644
--- a/website/apps/blog/templates/post.scm
+++ b/website/apps/blog/templates/post.scm
@@ -29,9 +29,9 @@
      #:keywords tags
      #:active-menu-item (C_ "website menu" "Blog")
      #:css
-     (list (guix-url "static/base/css/page.css")
-	   (guix-url "static/base/css/code.css")
-	   (guix-url "static/blog/css/post.css"))
+     (list (theme-url "css/page.css")
+	   (theme-url "css/code.css")
+	   (theme-url "css/post.css"))
      #:crumbs
      (list (crumb (C_ "website menu" "Blog") (guix-url "blog/"))
 	   (crumb (post-ref post 'title)
diff --git a/website/apps/blog/templates/tag.scm b/website/apps/blog/templates/tag.scm
index 0145e63..92b9ee3 100644
--- a/website/apps/blog/templates/tag.scm
+++ b/website/apps/blog/templates/tag.scm
@@ -37,9 +37,9 @@ management|Reproducibility") #\|)
      #:index? #false
      #:active-menu-item (C_ "website menu" "Blog")
      #:css
-     (list (guix-url "static/base/css/page.css")
-	   (guix-url "static/base/css/item-preview.css")
-	   (guix-url "static/base/css/sidebar.css"))
+     (list (theme-url "css/page.css")
+	   (theme-url "css/item-preview.css")
+	   (theme-url "css/sidebar.css"))
      #:crumbs
      (list (crumb (C_ "website menu" "Blog") (guix-url "blog/"))
 	   (crumb tag (guix-url (tag-url-path tag)))
diff --git a/website/apps/download/templates/download-latest.scm b/website/apps/download/templates/download-latest.scm
index cdcecb7..87e3cfa 100644
--- a/website/apps/download/templates/download-latest.scm
+++ b/website/apps/download/templates/download-latest.scm
@@ -155,8 +155,8 @@ system|GNU Hurd|GNU Guix package manager|Installer|Source code|\
 Package manager") #\|)
    #:active-menu-item (C_ "website menu" "Download")
    #:css (list
-          (guix-url "static/base/css/page.css")
-          (guix-url "static/base/css/download.css"))
+          (theme-url "css/page.css")
+          (theme-url "css/download.css"))
    #:crumbs
    (list (crumb (C_ "website menu" "Download") (guix-url "download/"))
          (crumb (C_ "website menu" "Latest") "./"))
diff --git a/website/apps/download/templates/download.scm b/website/apps/download/templates/download.scm
index 4ee8e3b..58500b4 100644
--- a/website/apps/download/templates/download.scm
+++ b/website/apps/download/templates/download.scm
@@ -42,8 +42,8 @@ system|GNU Hurd|GNU Guix package manager|Installer|Source code|\
 Package manager") #\|)
    #:active-menu-item (C_ "website menu" "Download")
    #:css (list
-	  (guix-url "static/base/css/page.css")
-	  (guix-url "static/base/css/download.css"))
+	  (theme-url "css/page.css")
+	  (theme-url "css/download.css"))
    #:crumbs (list (crumb (C_ "website menu" "Download") "./"))
    #:content
    `(main
diff --git a/website/apps/media/templates/components.scm b/website/apps/media/templates/components.scm
index 8bedc9f..2c0f551 100644
--- a/website/apps/media/templates/components.scm
+++ b/website/apps/media/templates/components.scm
@@ -61,7 +61,7 @@
        (@ (class "playlist-title"))
 
        (img (@ (class "playlist-icon")
-               (src ,(guix-url "static/media/img/playlist-icon.svg"))
+               (src ,(theme-url "img/playlist-icon.svg"))
                (alt ,(G_ "Playlist: "))
                (title ,(G_ "Playlist"))))
        " "
@@ -94,7 +94,7 @@
        ,(if (publication-scientific? publication)
             `((img
                (@ (class "scientific-mark")
-                  (src ,(guix-url "static/media/img/scientific-mark.svg"))
+                  (src ,(theme-url "img/scientific-mark.svg"))
                   ;; TRANSLATORS: This is a tag that indicates a
                   ;; publication is scientific.
                   (alt ,(G_ "[Scientific]"))
@@ -182,7 +182,7 @@ top."
 
        ,(if playing?
             `((img (@ (class "playing-icon")
-                      (src ,(guix-url "static/media/img/playing-icon.svg"))
+                      (src ,(theme-url "img/playing-icon.svg"))
 
                       (alt
                        ;; TRANSLATORS: Alternative text indicating that
diff --git a/website/apps/media/templates/publication-list.scm b/website/apps/media/templates/publication-list.scm
index bcc5744..2ef666a 100644
--- a/website/apps/media/templates/publication-list.scm
+++ b/website/apps/media/templates/publication-list.scm
@@ -27,8 +27,8 @@
    (string-split (G_ "Publications|Papers") #\|)
    #:active-menu-item (C_ "website menu" "Publications")
    #:css (list
-	  (guix-url "static/base/css/page.css")
-	  (guix-url "static/media/css/publications.css"))
+	  (theme-url "css/page.css")
+	  (theme-url "css/publications.css"))
    #:crumbs (list (crumb (C_ "website menu" "Publications") "./"))
    #:content
    `(main
diff --git a/website/apps/media/templates/screenshot.scm b/website/apps/media/templates/screenshot.scm
index b2d42b8..a942ef6 100644
--- a/website/apps/media/templates/screenshot.scm
+++ b/website/apps/media/templates/screenshot.scm
@@ -26,8 +26,8 @@ system|GNU Hurd|GNU Guix package manager|GNU Guile|Guile \
 Scheme|Transactional upgrades|Functional package \
 management|Reproducibility") #\|)
      #:active-menu-item (C_ "website menu" "Media")
-     #:css (list (guix-url "static/base/css/index.css")
-                 (guix-url "static/media/css/screenshots.css"))
+     #:css (list (theme-url "css/index.css")
+                 (theme-url "css/screenshots.css"))
      #:content
      `(main
        (section
diff --git a/website/apps/media/templates/screenshots-overview.scm b/website/apps/media/templates/screenshots-overview.scm
index 04a9fc6..7663ad9 100644
--- a/website/apps/media/templates/screenshots-overview.scm
+++ b/website/apps/media/templates/screenshots-overview.scm
@@ -23,7 +23,7 @@ system|GNU Hurd|GNU Guix package manager|GNU Guile|Guile \
 Scheme|Transactional upgrades|Functional package \
 management|Reproducibility") #\|)
    #:active-menu-item (C_ "website menu" "Media")
-   #:css (list (guix-url "static/base/css/index.css"))
+   #:css (list (theme-url "css/index.css"))
    #:content
    `(main
      (section
diff --git a/website/apps/media/templates/video-list.scm b/website/apps/media/templates/video-list.scm
index 676abba..91e56fe 100644
--- a/website/apps/media/templates/video-list.scm
+++ b/website/apps/media/templates/video-list.scm
@@ -33,8 +33,8 @@
 system|GNU Hurd|GNU Guix package manager|Help resources|Videos") #\|)
      #:active-menu-item (C_ "website menu" "Videos")
      #:css (list
-            (guix-url "static/media/css/video-list.css")
-            (guix-url "static/media/css/video-preview.css"))
+            (theme-url "css/video-list.css")
+            (theme-url "css/video-preview.css"))
      #:crumbs (list (crumb (C_ "website menu" "Videos") (guix-url "videos/")))
      #:content
      `(main
diff --git a/website/apps/media/templates/video.scm b/website/apps/media/templates/video.scm
index cb74207..8bb76f9 100644
--- a/website/apps/media/templates/video.scm
+++ b/website/apps/media/templates/video.scm
@@ -45,8 +45,8 @@
 system|GNU Hurd|GNU Guix package manager|Help resources|Videos") #\|)
      #:active-menu-item (C_ "website menu" "Videos")
      #:css (list
-            (guix-url "static/media/css/video.css")
-            (guix-url "static/media/css/video-preview.css"))
+            (theme-url "css/video.css")
+            (theme-url "css/video-preview.css"))
      #:crumbs (list (crumb (C_ "website menu" "Videos") (guix-url "videos/"))
                     (crumb (video-title video) "./"))
      #:content
diff --git a/website/haunt.scm b/website/haunt.scm
index 455bdc8..34f69cc 100644
--- a/website/haunt.scm
+++ b/website/haunt.scm
@@ -24,4 +24,5 @@
                         blog:builder
                         download:builder
                         media:builder
+                        (static-directory "themes")
                         (static-directory "static"))))
diff --git a/website/static/base/img/GuixSD-logo.png b/website/static/base/img/GuixSD-logo.png
deleted file mode 100644
index 4e520dbf1a21d9c90990758305e57ad5d3201e4b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6785
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

diff --git a/website/themes/README.org b/website/themes/README.org
new file mode 100644
index 0000000..7f477d0
--- /dev/null
+++ b/website/themes/README.org
@@ -0,0 +1,6 @@
+#+TITLE: Themes
+
+This directory contains themes for Guix websites and other themable
+artifacts. Themes are folders containing style sheets, fonts, images,
+and other assets that define the visual, aural and haptic identity of
+the artifacts.
diff --git a/website/static/base/css/breadcrumbs.css b/website/themes/initial/css/breadcrumbs.css
similarity index 100%
rename from website/static/base/css/breadcrumbs.css
rename to website/themes/initial/css/breadcrumbs.css
diff --git a/website/static/base/css/buttons.css b/website/themes/initial/css/buttons.css
similarity index 100%
rename from website/static/base/css/buttons.css
rename to website/themes/initial/css/buttons.css
diff --git a/website/static/base/css/code.css b/website/themes/initial/css/code.css
similarity index 100%
rename from website/static/base/css/code.css
rename to website/themes/initial/css/code.css
diff --git a/website/static/base/css/common.css b/website/themes/initial/css/common.css
similarity index 100%
rename from website/static/base/css/common.css
rename to website/themes/initial/css/common.css
diff --git a/website/static/base/css/contact.css b/website/themes/initial/css/contact.css
similarity index 100%
rename from website/static/base/css/contact.css
rename to website/themes/initial/css/contact.css
diff --git a/website/static/base/css/download.css b/website/themes/initial/css/download.css
similarity index 100%
rename from website/static/base/css/download.css
rename to website/themes/initial/css/download.css
diff --git a/website/static/base/css/elements.css b/website/themes/initial/css/elements.css
similarity index 100%
rename from website/static/base/css/elements.css
rename to website/themes/initial/css/elements.css
diff --git a/website/static/base/css/footer.css b/website/themes/initial/css/footer.css
similarity index 100%
rename from website/static/base/css/footer.css
rename to website/themes/initial/css/footer.css
diff --git a/website/static/base/css/index.css b/website/themes/initial/css/index.css
similarity index 100%
rename from website/static/base/css/index.css
rename to website/themes/initial/css/index.css
diff --git a/website/static/base/css/item-preview.css b/website/themes/initial/css/item-preview.css
similarity index 100%
rename from website/static/base/css/item-preview.css
rename to website/themes/initial/css/item-preview.css
diff --git a/website/static/packages/css/letter-selector.css b/website/themes/initial/css/letter-selector.css
similarity index 100%
rename from website/static/packages/css/letter-selector.css
rename to website/themes/initial/css/letter-selector.css
diff --git a/website/static/base/css/manual.css b/website/themes/initial/css/manual.css
similarity index 100%
rename from website/static/base/css/manual.css
rename to website/themes/initial/css/manual.css
diff --git a/website/static/base/css/menu.css b/website/themes/initial/css/menu.css
similarity index 100%
rename from website/static/base/css/menu.css
rename to website/themes/initial/css/menu.css
diff --git a/website/static/base/css/messages.css b/website/themes/initial/css/messages.css
similarity index 100%
rename from website/static/base/css/messages.css
rename to website/themes/initial/css/messages.css
diff --git a/website/static/base/css/navbar.css b/website/themes/initial/css/navbar.css
similarity index 100%
rename from website/static/base/css/navbar.css
rename to website/themes/initial/css/navbar.css
diff --git a/website/static/packages/css/package-list.css b/website/themes/initial/css/package-list.css
similarity index 100%
rename from website/static/packages/css/package-list.css
rename to website/themes/initial/css/package-list.css
diff --git a/website/static/packages/css/package.css b/website/themes/initial/css/package.css
similarity index 100%
rename from website/static/packages/css/package.css
rename to website/themes/initial/css/package.css
diff --git a/website/static/base/css/page.css b/website/themes/initial/css/page.css
similarity index 100%
rename from website/static/base/css/page.css
rename to website/themes/initial/css/page.css
diff --git a/website/static/blog/css/post.css b/website/themes/initial/css/post.css
similarity index 100%
rename from website/static/blog/css/post.css
rename to website/themes/initial/css/post.css
diff --git a/website/static/media/css/publications.css b/website/themes/initial/css/publications.css
similarity index 92%
rename from website/static/media/css/publications.css
rename to website/themes/initial/css/publications.css
index 11a8542..a4d8abe 100644
--- a/website/static/media/css/publications.css
+++ b/website/themes/initial/css/publications.css
@@ -18,7 +18,7 @@
 .publication-preview:focus,
 .publication-preview:hover {
     background-color: gold;
-    background-image: url("/static/base/img/link-arrow-shaper.svg");
+    background-image: url("/themes/initial/img/link-arrow-shaper.svg");
     background-position: right;
     background-repeat: no-repeat;
     background-size: auto 100%;
diff --git a/website/static/media/css/screenshots.css b/website/themes/initial/css/screenshots.css
similarity index 100%
rename from website/static/media/css/screenshots.css
rename to website/themes/initial/css/screenshots.css
diff --git a/website/static/base/css/sidebar.css b/website/themes/initial/css/sidebar.css
similarity index 96%
rename from website/static/base/css/sidebar.css
rename to website/themes/initial/css/sidebar.css
index 12ed90e..c3c278b 100644
--- a/website/static/base/css/sidebar.css
+++ b/website/themes/initial/css/sidebar.css
@@ -55,7 +55,7 @@
 }
 
 .feed-link {
-    background-image: url("/static/base/img/feed-bg-white.png");
+    background-image: url("/themes/initial/img/feed-bg-white.png");
     background-position: bottom left;
     background-repeat: no-repeat;
 }
diff --git a/website/static/media/css/video-list.css b/website/themes/initial/css/video-list.css
similarity index 100%
rename from website/static/media/css/video-list.css
rename to website/themes/initial/css/video-list.css
diff --git a/website/static/media/css/video-preview.css b/website/themes/initial/css/video-preview.css
similarity index 100%
rename from website/static/media/css/video-preview.css
rename to website/themes/initial/css/video-preview.css
diff --git a/website/static/media/css/video.css b/website/themes/initial/css/video.css
similarity index 100%
rename from website/static/media/css/video.css
rename to website/themes/initial/css/video.css
diff --git a/website/static/base/img/Guix-logo.png b/website/themes/initial/img/Guix-logo.png
similarity index 100%
rename from website/static/base/img/Guix-logo.png
rename to website/themes/initial/img/Guix-logo.png
diff --git a/website/static/base/img/Guix.png b/website/themes/initial/img/Guix.png
similarity index 100%
rename from website/static/base/img/Guix.png
rename to website/themes/initial/img/Guix.png
diff --git a/website/static/base/img/back-btn-bg.png b/website/themes/initial/img/back-btn-bg.png
similarity index 100%
rename from website/static/base/img/back-btn-bg.png
rename to website/themes/initial/img/back-btn-bg.png
diff --git a/website/static/base/img/breadcrumbs-bg.png b/website/themes/initial/img/breadcrumbs-bg.png
similarity index 100%
rename from website/static/base/img/breadcrumbs-bg.png
rename to website/themes/initial/img/breadcrumbs-bg.png
diff --git a/website/static/base/img/chat-icon.png b/website/themes/initial/img/chat-icon.png
similarity index 100%
rename from website/static/base/img/chat-icon.png
rename to website/themes/initial/img/chat-icon.png
diff --git a/website/static/base/img/checkerboard-bg.png b/website/themes/initial/img/checkerboard-bg.png
similarity index 100%
rename from website/static/base/img/checkerboard-bg.png
rename to website/themes/initial/img/checkerboard-bg.png
diff --git a/website/static/base/img/cookbook-icon.png b/website/themes/initial/img/cookbook-icon.png
similarity index 100%
rename from website/static/base/img/cookbook-icon.png
rename to website/themes/initial/img/cookbook-icon.png
diff --git a/website/static/base/img/depression-shadow-top.png b/website/themes/initial/img/depression-shadow-top.png
similarity index 100%
rename from website/static/base/img/depression-shadow-top.png
rename to website/themes/initial/img/depression-shadow-top.png
diff --git a/website/static/base/img/dropdown-bg.png b/website/themes/initial/img/dropdown-bg.png
similarity index 100%
rename from website/static/base/img/dropdown-bg.png
rename to website/themes/initial/img/dropdown-bg.png
diff --git a/website/static/base/img/email-icon.png b/website/themes/initial/img/email-icon.png
similarity index 100%
rename from website/static/base/img/email-icon.png
rename to website/themes/initial/img/email-icon.png
diff --git a/website/static/base/img/featured-box-bg.png b/website/themes/initial/img/featured-box-bg.png
similarity index 100%
rename from website/static/base/img/featured-box-bg.png
rename to website/themes/initial/img/featured-box-bg.png
diff --git a/website/static/base/img/feed-bg-white.png b/website/themes/initial/img/feed-bg-white.png
similarity index 100%
rename from website/static/base/img/feed-bg-white.png
rename to website/themes/initial/img/feed-bg-white.png
diff --git a/website/static/base/img/feed.png b/website/themes/initial/img/feed.png
similarity index 100%
rename from website/static/base/img/feed.png
rename to website/themes/initial/img/feed.png
diff --git a/website/static/base/img/feed.svg b/website/themes/initial/img/feed.svg
similarity index 100%
rename from website/static/base/img/feed.svg
rename to website/themes/initial/img/feed.svg
diff --git a/website/static/base/img/h-separator-dark.png b/website/themes/initial/img/h-separator-dark.png
similarity index 100%
rename from website/static/base/img/h-separator-dark.png
rename to website/themes/initial/img/h-separator-dark.png
diff --git a/website/static/base/img/h-separator.png b/website/themes/initial/img/h-separator.png
similarity index 100%
rename from website/static/base/img/h-separator.png
rename to website/themes/initial/img/h-separator.png
diff --git a/website/static/base/img/icon-set.svg b/website/themes/initial/img/icon-set.svg
similarity index 100%
rename from website/static/base/img/icon-set.svg
rename to website/themes/initial/img/icon-set.svg
diff --git a/website/static/base/img/icon.png b/website/themes/initial/img/icon.png
similarity index 100%
rename from website/static/base/img/icon.png
rename to website/themes/initial/img/icon.png
diff --git a/website/static/base/img/icon.svg b/website/themes/initial/img/icon.svg
similarity index 100%
rename from website/static/base/img/icon.svg
rename to website/themes/initial/img/icon.svg
diff --git a/website/static/base/img/language-picker.svg b/website/themes/initial/img/language-picker.svg
similarity index 100%
rename from website/static/base/img/language-picker.svg
rename to website/themes/initial/img/language-picker.svg
diff --git a/website/static/base/img/library-icon.png b/website/themes/initial/img/library-icon.png
similarity index 100%
rename from website/static/base/img/library-icon.png
rename to website/themes/initial/img/library-icon.png
diff --git a/website/static/base/img/link-arrow-shaper.svg b/website/themes/initial/img/link-arrow-shaper.svg
similarity index 100%
rename from website/static/base/img/link-arrow-shaper.svg
rename to website/themes/initial/img/link-arrow-shaper.svg
diff --git a/website/static/base/img/link-arrow.png b/website/themes/initial/img/link-arrow.png
similarity index 100%
rename from website/static/base/img/link-arrow.png
rename to website/themes/initial/img/link-arrow.png
diff --git a/website/static/base/img/manual-icon.png b/website/themes/initial/img/manual-icon.png
similarity index 100%
rename from website/static/base/img/manual-icon.png
rename to website/themes/initial/img/manual-icon.png
diff --git a/website/static/base/img/manual-latest-icon.png b/website/themes/initial/img/manual-latest-icon.png
similarity index 100%
rename from website/static/base/img/manual-latest-icon.png
rename to website/themes/initial/img/manual-latest-icon.png
diff --git a/website/static/base/img/menu-btn-bg.png b/website/themes/initial/img/menu-btn-bg.png
similarity index 100%
rename from website/static/base/img/menu-btn-bg.png
rename to website/themes/initial/img/menu-btn-bg.png
diff --git a/website/static/base/img/menu-item-active-bg.png b/website/themes/initial/img/menu-item-active-bg.png
similarity index 100%
rename from website/static/base/img/menu-item-active-bg.png
rename to website/themes/initial/img/menu-item-active-bg.png
diff --git a/website/static/base/img/more-info-bg.png b/website/themes/initial/img/more-info-bg.png
similarity index 100%
rename from website/static/base/img/more-info-bg.png
rename to website/themes/initial/img/more-info-bg.png
diff --git a/website/static/base/img/noise-bg.png b/website/themes/initial/img/noise-bg.png
similarity index 100%
rename from website/static/base/img/noise-bg.png
rename to website/themes/initial/img/noise-bg.png
diff --git a/website/static/media/img/playing-icon.svg b/website/themes/initial/img/playing-icon.svg
similarity index 100%
rename from website/static/media/img/playing-icon.svg
rename to website/themes/initial/img/playing-icon.svg
diff --git a/website/static/media/img/playlist-icon.svg b/website/themes/initial/img/playlist-icon.svg
similarity index 100%
rename from website/static/media/img/playlist-icon.svg
rename to website/themes/initial/img/playlist-icon.svg
diff --git a/website/static/packages/img/red-tag.png b/website/themes/initial/img/red-tag.png
similarity index 100%
rename from website/static/packages/img/red-tag.png
rename to website/themes/initial/img/red-tag.png
diff --git a/website/static/media/img/scientific-mark.svg b/website/themes/initial/img/scientific-mark.svg
similarity index 100%
rename from website/static/media/img/scientific-mark.svg
rename to website/themes/initial/img/scientific-mark.svg
diff --git a/website/static/base/img/videos-icon.png b/website/themes/initial/img/videos-icon.png
similarity index 100%
rename from website/static/base/img/videos-icon.png
rename to website/themes/initial/img/videos-icon.png
diff --git a/website/static/base/img/white-star.png b/website/themes/initial/img/white-star.png
similarity index 100%
rename from website/static/base/img/white-star.png
rename to website/themes/initial/img/white-star.png
diff --git a/website/static/base/img/wiki-icon.png b/website/themes/initial/img/wiki-icon.png
similarity index 100%
rename from website/static/base/img/wiki-icon.png
rename to website/themes/initial/img/wiki-icon.png

base-commit: 3101f165670d0361ba85c218029c70d25b33b313
-- 
2.41.0





  parent reply	other threads:[~2024-03-15 15:34 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-13 20:44 [bug#69783] [PATCH]: website: Convert old style sheets into a theme Luis Felipe via Guix-patches via
2024-03-14 16:56 ` pelzflorian (Florian Pelz)
2024-03-14 20:16   ` Luis Felipe via Guix-patches via
2024-03-15 10:19     ` pelzflorian (Florian Pelz)
2024-03-15 15:33 ` sirgazil--- via Guix-patches via [this message]
2024-03-15 22:51   ` [bug#69783] [PATCH v2] " pelzflorian (Florian Pelz)
2024-03-15 19:34 ` [bug#69783] [PATCH] doc: build: Update paths to style sheets sirgazil--- via Guix-patches via
2024-03-16  9:34   ` bug#69783: " Giovanni Biscuolo
2024-03-16 11:09     ` [bug#69783] " pelzflorian (Florian Pelz)
2024-03-16 13:52       ` Luis Felipe via Guix-patches via
2024-03-16 17:47         ` pelzflorian (Florian Pelz)
2024-03-17 10:51       ` Giovanni Biscuolo
2024-03-17 16:52         ` pelzflorian (Florian Pelz)
2024-03-17 17:57         ` pelzflorian (Florian Pelz)
2024-03-17 20:21 ` [bug#69783] [PATCH] hydra: nginx: Adjust to website themes in guix-artwork Florian Pelz
2024-03-24 18:19 ` [bug#69783] [PATCH v2 1/2] hydra: nginx: Redirect 1.4.0 manual resources due to themes move Florian Pelz
2024-03-30 14:28   ` Ludovic Courtès
2024-03-24 18:19 ` [bug#69783] [PATCH v2 2/2] hydra: nginx: Further adjust to website themes in guix-artwork Florian Pelz
2024-03-30 11:00   ` Ludovic Courtès
2024-03-31 10:07     ` bug#69783: " pelzflorian (Florian Pelz)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240315153337.5713-1-sirgazil@zoho.com \
    --to=guix-patches@gnu.org \
    --cc=69783@debbugs.gnu.org \
    --cc=sirgazil@zoho.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).