;;; guix-forge --- Guix software forge meta-service ;;; Copyright © 2025 Arun Isaac ;;; ;;; This file is part of guix-forge. ;;; ;;; guix-forge is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published ;;; by the Free Software Foundation, either version 3 of the License, ;;; or (at your option) any later version. ;;; ;;; guix-forge is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;; General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with guix-forge. If not, see ;;; . (define-module (guix-forge-website) #:use-module ((gnu packages fonts) #:select (font-charter font-fira-code)) #:use-module ((gnu packages skribilo) #:select (skribilo)) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix utils)) (define-public guix-forge-source (local-file ".." "guix-forge-checkout" #:recursive? #t #:select? (or (git-predicate (dirname (current-source-directory))) (const #t)))) (define guix-forge-website-home-page-gexp (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils)) (invoke #$(file-append skribilo "/bin/skribilo") (string-append "--preload=" #$(file-append guix-forge-source "/doc/skribilo.scm")) (string-append "--output=" #$output) #$(file-append guix-forge-source "/website/index.skb"))))) (define guix-forge-website-manual-en-gexp (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils)) (chdir #$guix-forge-source) (invoke #$(file-append skribilo "/bin/skribilo") (string-append "--preload=" #$(file-append guix-forge-source "/doc/skribilo.scm")) (string-append "--source-path=" #$guix-forge-source) (string-append "--output=" #$output) #$(file-append guix-forge-source "/doc/forge.skb"))))) (define-public guix-forge-website (file-union "guix-forge-website" `(("index.html" ,(computed-file "guix-forge-website-home-page" guix-forge-website-home-page-gexp)) ("manual/dev/en/index.html" ,(computed-file "guix-forge-website-manual-en" guix-forge-website-manual-en-gexp)) ("style.css" ,(file-append guix-forge-source "/website/style.css")) ("fonts/charter_regular.woff2" ,(file-append font-charter "/share/fonts/web/charter_regular.woff2")) ("fonts/FiraCode-Regular.woff2" ,(file-append font-fira-code "/share/fonts/web/FiraCode-Regular.woff2")) ("fonts/FiraCode-SemiBold.woff2" ,(file-append font-fira-code "/share/fonts/web/FiraCode-SemiBold.woff2"))))) guix-forge-website