unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#43871] [PATCH website] Add community page
@ 2020-10-08 22:38 Julien Lepiller
  2020-10-08 23:16 ` zimoun
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Julien Lepiller @ 2020-10-08 22:38 UTC (permalink / raw)
  To: 43871

[-- Attachment #1: Type: text/plain, Size: 170 bytes --]

Hi Guix!

This patch aims at adding a new page on the website that lists external
resources that talk about guix (conference talks, blog posts and even
academic papers).

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-website-Add-community-page.patch --]
[-- Type: text/x-patch, Size: 31147 bytes --]

From fe6910a5877ad039e2d6cf95efc10a62c0762871 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Fri, 9 Oct 2020 00:32:56 +0200
Subject: [PATCH] website: Add community page.

* website/apps/media/templates/community.scm: New file.
* website/apps/media/builder.scm: Add community builder.
* website/apps/base/templates/components.scm: Add it to the menu.
* website/apps/media/templates/components.scm: Add resource->shtml.
* website/apps/media/types.scm: New resource data type.
* website/apps/media/data.scm: Add community resources.
* website/static/base/css/index.css: Add css for new classes.
* website/static/media/css/community.css: New file.
* website/static/media/img/community/carl-dong-bitcoin-security.webp: New file.
---
 website/apps/base/templates/components.scm    |   3 +-
 website/apps/media/builder.scm                |  16 ++++-
 website/apps/media/data.scm                   |  49 ++++++++++++++
 website/apps/media/templates/community.scm    |  34 ++++++++++
 website/apps/media/templates/components.scm   |  24 ++++++-
 website/apps/media/types.scm                  |  63 +++++++++++++++++-
 website/static/base/css/index.css             |  12 ++++
 website/static/media/css/community.css        |  13 ++++
 .../community/carl-dong-bitcoin-security.webp | Bin 0 -> 13952 bytes
 9 files changed, 210 insertions(+), 4 deletions(-)
 create mode 100644 website/apps/media/templates/community.scm
 create mode 100644 website/static/media/css/community.css
 create mode 100644 website/static/media/img/community/carl-dong-bitcoin-security.webp

diff --git a/website/apps/base/templates/components.scm b/website/apps/base/templates/components.scm
index 44d410e..7482503 100644
--- a/website/apps/base/templates/components.scm
+++ b/website/apps/base/templates/components.scm
@@ -413,7 +413,8 @@ manual.
         #:items
         (list
          (C_ "website menu" (menu-item #:label "Videos" #:active-item active-item #:url (guix-url "videos/")))
-         (C_ "website menu" (menu-item #:label "Screenshots" #:active-item active-item #:url (guix-url "screenshots/")))))
+         (C_ "website menu" (menu-item #:label "Screenshots" #:active-item active-item #:url (guix-url "screenshots/")))
+         (C_ "website menu" (menu-item #:label "Community Resources" #:active-item active-item #:url (guix-url "community/")))))
 
       ,(C_ "website menu" (menu-item #:label "Donate" #:active-item active-item #:url (guix-url "donate/")))
 
diff --git a/website/apps/media/builder.scm b/website/apps/media/builder.scm
index 53378e6..c4cb17b 100644
--- a/website/apps/media/builder.scm
+++ b/website/apps/media/builder.scm
@@ -1,11 +1,13 @@
 ;;; GNU Guix web site
 ;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
+;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
 ;;; Initially written by sirgazil who waives all
 ;;; copyright interest on this file.
 
 (define-module (apps media builder)
   #:use-module (apps aux system)
   #:use-module (apps media data)
+  #:use-module (apps media templates community)
   #:use-module (apps media templates screenshot)
   #:use-module (apps media templates screenshots-overview)
   #:use-module (apps media templates video)
@@ -17,6 +19,7 @@
   #:use-module (apps aux web)
   #:use-module (apps media utils)
   #:use-module (srfi srfi-1)
+  #:use-module (srfi srfi-19)
   #:export (builder))
 
 
@@ -41,7 +44,8 @@
      A list of page objects that represent the web resources of the
      application. See Haunt <page> objects for more information."
   (flatten
-   (list (screenshots-overview-builder)
+   (list (community-builder)
+         (screenshots-overview-builder)
          (screenshots-builder)
          (videos-builder)
          (video-list-builder))))
@@ -51,6 +55,16 @@
 ;;; Helper builders.
 ;;;
 
+(define (community-builder)
+  "Return a Haunt page representing the community resources page."
+  (make-page "community/index.html"
+             (community-t (sort resources
+                                (lambda (a b)
+                                  (time>=?
+                                    (date->time-utc (resource-date a))
+                                    (date->time-utc (resource-date b))))))
+             sxml->html))
+
 (define (screenshots-builder)
   "Return a list of Haunt pages representing screenshot pages."
   (map
diff --git a/website/apps/media/data.scm b/website/apps/media/data.scm
index 76af25d..89f7a8c 100644
--- a/website/apps/media/data.scm
+++ b/website/apps/media/data.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix web site
 ;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
+;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
 ;;; Initially written by sirgazil who waives all
 ;;; copyright interest on this file.
 
@@ -9,6 +10,7 @@
   #:use-module (apps media types)
   #:use-module (srfi srfi-19)
   #:export (playlists
+            resources
             screenshots))
 
 
@@ -85,6 +87,53 @@ distribution."))
      #:last-updated (string->date "2020-03-28T16:00:00" "~Y-~m-~dT~H:~M:~S")))))
 
 
+(define resources
+  (list
+    (resource
+      #:title (C_ "community resource title" "Everyday use of Guix")
+      #:link "https://media.marusich.info/everyday-use-of-gnu-guix-chris-marusich-seagl-2018.webm"
+      #:type 'video
+      #:language (G_ "English")
+      #:author "Chris Marushich"
+      #:date (string->date "2018-10-10" "~Y-~m-~d"))
+    (resource
+      #:title (C_ "community resource title" "Bitcoin Build System Security")
+      #:link "https://www.youtube.com/watch?v=I2iShmUTEl8"
+      #:type 'video
+      #:language (G_ "English")
+      #:preview (guix-url "static/media/img/community/carl-dong-bitcoin-security.webp")
+      #:author "Carl Dong"
+      #:date (string->date "2019-06-08" "~Y-~m-~d"))
+    (resource
+      #:title (C_ "community resource title" "Reproducible System Administration with GNU Guix")
+      #:link "https://replay.jres.org/videos/watch/c77b3a44-b75f-4c10-9f39-8fb55ae096d7"
+      #:type 'video
+      #:language (G_ "French")
+      #:author "Julien Lepiller"
+      #:date (string->date "2019-12-04" "~Y-~m-~d"))
+    (resource
+      #:title (C_ "community resource title" "Au-delà des conteneurs : environnements logiciels reproductibles avec GNU Guix")
+      #:link "https://webcast.in2p3.fr/video/au-dela-des-conteneurs-environnements-logiciels-reproductibles-avec-gnu-guix-1"
+      #:type 'video
+      #:language (G_ "French")
+      #:author "Ludovic Courtès"
+      #:date (string->date "2019-05-23" "~Y-~m-~d"))
+    (resource
+      #:title (C_ "community resource title" "Code Staging in GNU Guix")
+      #:link "https://arxiv.org/abs/1709.00833"
+      #:type 'article
+      #:language (G_ "English")
+      #:author "Ludovic Courtès"
+      #:date (string->date "2017-09-04" "~Y-~m-~d"))
+    (resource
+      #:title (C_ "community resource title" "Guix: A most advanced operating system")
+      #:link "https://ambrevar.xyz/guix-advance/index.html"
+      #:type 'blog
+      #:language (G_ "English")
+      #:author "Pierre Neidhardt"
+      #:date (string->date "2019-01-14" "~Y-~m-~d"))))
+
+
 (define screenshots
   (list
    (screenshot
diff --git a/website/apps/media/templates/community.scm b/website/apps/media/templates/community.scm
new file mode 100644
index 0000000..6cd51a0
--- /dev/null
+++ b/website/apps/media/templates/community.scm
@@ -0,0 +1,34 @@
+;;; GNU Guix web site
+;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
+;;; Initially written by sirgazil who waives all
+;;; copyright interest on this file.
+
+(define-module (apps media templates community)
+  #:use-module (apps base templates theme)
+  #:use-module (apps base utils)
+  #:use-module (apps i18n)
+  #:use-module (apps media templates components)
+  #:export (community-t))
+
+(define (community-t community-resources)
+  "Return an SHTML page for all COMMUNITY-RESOURCES."
+  (theme
+   #:title (C_ "webpage title" '("Community"))
+   #:description (G_ "Links to resources created by the community")
+   #:keywords
+   (string-split ;TRANSLATORS: |-separated list of webpage keywords
+    (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \
+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/base/css/item-preview.css")
+               (guix-url "static/media/css/community.css"))
+   #:content
+   `(main
+     (section
+      (@ (class "page"))
+      (div
+       (@ (class "resource-box"))
+       ,@(map resource->shtml community-resources))))))
diff --git a/website/apps/media/templates/components.scm b/website/apps/media/templates/components.scm
index d928d23..85574ee 100644
--- a/website/apps/media/templates/components.scm
+++ b/website/apps/media/templates/components.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix web site
 ;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
+;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
 ;;; Initially written by sirgazil who waives all
 ;;; copyright interest on this file.
 
@@ -14,7 +15,8 @@
   #:use-module (apps media types)
   #:use-module (apps media utils)
   #:use-module (srfi srfi-19)
-  #:export (screenshot->shtml
+  #:export (resource->shtml
+            screenshot->shtml
             screenshots-box
             video->shtml
             video-content
@@ -25,6 +27,26 @@
 ;;; Components.
 ;;;
 
+(define (resource->shtml resource)
+  `(a
+    (@ (class "community-preview item-preview")
+       (href ,(resource-link resource)))
+    (div
+     (@ (class "community-image"))
+     (div
+      (img
+       (@ (class "responsive-image")
+          (src ,(or (resource-preview resource)
+                    (case (resource-type resource)
+                      ((video) (guix-url "static/base/img/videos-icon.png"))
+                      ((article blog) (guix-url "static/base/img/manual-icon.png")))))
+          (alt "")))))
+    (h3 ,(resource-title resource))
+    (p
+     ,(G_ `(" published " ,(date->string (resource-date resource) "~b ~d, ~Y")
+            " by " ,(resource-author resource)
+            " in " ,(resource-language resource))))))
+
 (define (screenshot->shtml shot)
   "Return an SHTML representation of the given screenshot object.
 
diff --git a/website/apps/media/types.scm b/website/apps/media/types.scm
index 50c0989..ab54af8 100644
--- a/website/apps/media/types.scm
+++ b/website/apps/media/types.scm
@@ -5,7 +5,16 @@
 
 (define-module (apps media types)
   #:use-module (srfi srfi-9)
-  #:export (screenshot
+  #:export (resource
+            resource?
+            resource-author
+            resource-date
+            resource-language
+            resource-link
+            resource-preview
+            resource-title
+            resource-type
+            screenshot
             screenshot?
             screenshot-caption
             screenshot-image
@@ -32,6 +41,58 @@
 ;;; Data types.
 ;;;
 
+;;; Resource (record type)
+;;; ----------------------
+;;;
+;;; A community resource object represents a link to a resource created outside
+;;; of the Guix project, that talks about Guix.
+;;;
+;;; Objects of this type can be created with the "resource" precodure (see
+;;; Helper procedures below).
+;;;
+;;; Fields:
+;;;
+;;; title (string)
+;;;   The title of the resource
+;;;
+;;; link (string)
+;;;   The link to the resource
+;;;
+;;; author (string)
+;;;   The name of the author
+;;;
+;;; date (date)
+;;;   The date of publication
+;;;
+;;; preview (string)
+;;;   A URL to a small size image that represents the resource, or `#f' if
+;;;   it cannot be represented by an image.
+;;;
+;;; language (string)
+;;;   The name of the language in which the resource is written or spoken.
+;;;
+;;; type (symbol)
+;;;   The type of the resource, which can be one of:
+;;;   - 'article: a scientific or journalistic publication
+;;;   - 'blog: a blog post
+;;;   - 'video: a video presentation
+(define-record-type <resource>
+  (make-resource title link author date preview language type)
+  resource?
+  (title    resource-title)
+  (link     resource-link)
+  (author   resource-author)
+  (date     resource-date)
+  (preview  resource-preview)
+  (language resource-language)
+  (type     resource-type))
+
+;;; Helper procedures.
+
+(define* (resource #:key title link author date preview language type)
+  "Return a <screenshot> object with the given attributes."
+  (make-resource title link author date preview language type))
+
 ;;; Screenshot (record type)
 ;;; ------------------------
 ;;;
diff --git a/website/static/base/css/index.css b/website/static/base/css/index.css
index ea52a6d..707091b 100644
--- a/website/static/base/css/index.css
+++ b/website/static/base/css/index.css
@@ -66,6 +66,18 @@ h3 {
     color: #E6E6E6;
 }
 
+.resource-box {
+    padding: 40px 10px 0px 10px;
+    display: flex;
+    flex-direction: row;
+    flex-wrap: wrap;
+}
+
+.community-preview {
+    max-width: 270px;
+    padding: 0.5em;
+}
+
 .screenshots-box {
     padding: 40px 0px 0px 0px;
 }
diff --git a/website/static/media/css/community.css b/website/static/media/css/community.css
new file mode 100644
index 0000000..54de8d7
--- /dev/null
+++ b/website/static/media/css/community.css
@@ -0,0 +1,13 @@
+.community-image {
+  width: 180px;
+  height: 180px;
+  display: flex;
+  margin: auto;
+  flex-direction: row;
+  align-items: center;
+}
+
+.community-image img {
+  max-width: 180px;
+  max-height: 180px;
+}
diff --git a/website/static/media/img/community/carl-dong-bitcoin-security.webp b/website/static/media/img/community/carl-dong-bitcoin-security.webp
new file mode 100644
index 0000000000000000000000000000000000000000..017c00dd5c4b76614102b50a6bdb2f6887145a07
GIT binary patch
literal 13952
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

literal 0
HcmV?d00001

-- 
2.28.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#43871] [PATCH website] Add community page
  2020-10-08 22:38 [bug#43871] [PATCH website] Add community page Julien Lepiller
@ 2020-10-08 23:16 ` zimoun
  2020-10-12 16:41 ` Ludovic Courtès
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 15+ messages in thread
From: zimoun @ 2020-10-08 23:16 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 43871

Dear,

On Fri, 09 Oct 2020 at 00:38, Julien Lepiller <julien@lepiller.eu> wrote:

> This patch aims at adding a new page on the website that lists external
> resources that talk about guix (conference talks, blog posts and even
> academic papers).

Cool!


> diff --git a/website/apps/media/data.scm b/website/apps/media/data.scm
> index 76af25d..89f7a8c 100644
> --- a/website/apps/media/data.scm
> +++ b/website/apps/media/data.scm

[...]

> @@ -85,6 +87,53 @@ distribution."))
>       #:last-updated (string->date "2020-03-28T16:00:00" "~Y-~m-~dT~H:~M:~S")))))
>  
>  
> +(define resources

Maybe chronological order?  Last first:

> +  (list
> +    (resource
> +      #:title (C_ "community resource title" "Reproducible System Administration with GNU Guix")
> +      #:date (string->date "2019-12-04" "~Y-~m-~d"))

> +    (resource
> +      #:title (C_ "community resource title" "Bitcoin Build System Security")
> +      #:date (string->date "2019-06-08" "~Y-~m-~d"))

> +    (resource
> +      #:title (C_ "community resource title" "Au-delà des conteneurs : environnements logiciels reproductibles avec GNU Guix")
> +      #:date (string->date "2019-05-23" "~Y-~m-~d"))

> +    (resource
> +      #:title (C_ "community resource title" "Guix: A most advanced operating system")
> +      #:date (string->date "2019-01-14" "~Y-~m-~d"))))

> +    (resource
> +      #:title (C_ "community resource title" "Everyday use of Guix")
> +      #:date (string->date "2018-10-10" "~Y-~m-~d"))

> +    (resource
> +      #:title (C_ "community resource title" "Code Staging in GNU Guix")
> +      #:date (string->date "2017-09-04" "~Y-~m-~d"))


Does it make sense to add all the FOSDEM ones?  For example:

https://archive.fosdem.org/2014/schedule/event/gnuguix/
https://archive.fosdem.org/2015/schedule/event/the_emacs_of_distros/

etc.  well what under talks/fosdem-* 


All the best,
simon




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#43871] [PATCH website] Add community page
  2020-10-08 22:38 [bug#43871] [PATCH website] Add community page Julien Lepiller
  2020-10-08 23:16 ` zimoun
@ 2020-10-12 16:41 ` Ludovic Courtès
  2020-10-12 19:45   ` Brett Gilio
  2020-10-13 12:47   ` Luis Felipe via Guix-patches via
  2020-11-04 10:38 ` zimoun
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 15+ messages in thread
From: Ludovic Courtès @ 2020-10-12 16:41 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: Luis Felipe, 43871

Hello!

(+Cc: Luís Felipe, the web site designer.)

Julien Lepiller <julien@lepiller.eu> skribis:

> From fe6910a5877ad039e2d6cf95efc10a62c0762871 Mon Sep 17 00:00:00 2001
> From: Julien Lepiller <julien@lepiller.eu>
> Date: Fri, 9 Oct 2020 00:32:56 +0200
> Subject: [PATCH] website: Add community page.
>
> * website/apps/media/templates/community.scm: New file.
> * website/apps/media/builder.scm: Add community builder.
> * website/apps/base/templates/components.scm: Add it to the menu.
> * website/apps/media/templates/components.scm: Add resource->shtml.
> * website/apps/media/types.scm: New resource data type.
> * website/apps/media/data.scm: Add community resources.
> * website/static/base/css/index.css: Add css for new classes.
> * website/static/media/css/community.css: New file.
> * website/static/media/img/community/carl-dong-bitcoin-security.webp: New file.

Nice!  It was a bit sad that all this material wasn’t linked.

I wonder if “Community” is the right heading and/or if we should group
additional things in there?

> +(define resources
> +  (list
> +    (resource
> +      #:title (C_ "community resource title" "Everyday use of Guix")
> +      #:link "https://media.marusich.info/everyday-use-of-gnu-guix-chris-marusich-seagl-2018.webm"
> +      #:type 'video
> +      #:language (G_ "English")
> +      #:author "Chris Marushich"
> +      #:date (string->date "2018-10-10" "~Y-~m-~d"))
> +    (resource
> +      #:title (C_ "community resource title" "Bitcoin Build System Security")
> +      #:link "https://www.youtube.com/watch?v=I2iShmUTEl8"
> +      #:type 'video
> +      #:language (G_ "English")
> +      #:preview (guix-url "static/media/img/community/carl-dong-bitcoin-security.webp")
> +      #:author "Carl Dong"
> +      #:date (string->date "2019-06-08" "~Y-~m-~d"))
> +    (resource
> +      #:title (C_ "community resource title" "Reproducible System Administration with GNU Guix")
> +      #:link "https://replay.jres.org/videos/watch/c77b3a44-b75f-4c10-9f39-8fb55ae096d7"
> +      #:type 'video
> +      #:language (G_ "French")
> +      #:author "Julien Lepiller"
> +      #:date (string->date "2019-12-04" "~Y-~m-~d"))
> +    (resource
> +      #:title (C_ "community resource title" "Au-delà des conteneurs : environnements logiciels reproductibles avec GNU Guix")
> +      #:link "https://webcast.in2p3.fr/video/au-dela-des-conteneurs-environnements-logiciels-reproductibles-avec-gnu-guix-1"
> +      #:type 'video
> +      #:language (G_ "French")
> +      #:author "Ludovic Courtès"
> +      #:date (string->date "2019-05-23" "~Y-~m-~d"))
> +    (resource
> +      #:title (C_ "community resource title" "Code Staging in GNU Guix")
> +      #:link "https://arxiv.org/abs/1709.00833"
> +      #:type 'article
> +      #:language (G_ "English")
> +      #:author "Ludovic Courtès"
> +      #:date (string->date "2017-09-04" "~Y-~m-~d"))
> +    (resource
> +      #:title (C_ "community resource title" "Guix: A most advanced operating system")
> +      #:link "https://ambrevar.xyz/guix-advance/index.html"
> +      #:type 'blog
> +      #:language (G_ "English")
> +      #:author "Pierre Neidhardt"
> +      #:date (string->date "2019-01-14" "~Y-~m-~d"))))

At least for the one that’s on YouTube, but perhaps also for the other
videos, we should host a copy at audio-video.gnu.org (I’ll check what it
takes to do that.)

We should also have a policy to not link to material that steers towards
non-free software (I believe the links above are fine).

Last but not least: we should encourage people to submit their things,
because I’m sure there’s much more we could add here!  :-)

That’s all I have to say.  Luís, everyone: thoughts?

Ludo’.




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#43871] [PATCH website] Add community page
  2020-10-12 16:41 ` Ludovic Courtès
@ 2020-10-12 19:45   ` Brett Gilio
  2020-10-13 12:47   ` Luis Felipe via Guix-patches via
  1 sibling, 0 replies; 15+ messages in thread
From: Brett Gilio @ 2020-10-12 19:45 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Julien Lepiller, Luis Felipe, 43871

Ludovic Courtès <ludo@gnu.org> writes:

>
> At least for the one that’s on YouTube, but perhaps also for the other
> videos, we should host a copy at audio-video.gnu.org (I’ll check what it
> takes to do that.)
>
> We should also have a policy to not link to material that steers towards
> non-free software (I believe the links above are fine).
>

You can open a ticket for audio-video with the webmasters and we can
move it to the AV queue, or you can email audio-video@gnu.org directly.

-- 
Brett M. Gilio
<brettg@gnu.org>
https://brettgilio.com




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#43871] [PATCH website] Add community page
  2020-10-12 16:41 ` Ludovic Courtès
  2020-10-12 19:45   ` Brett Gilio
@ 2020-10-13 12:47   ` Luis Felipe via Guix-patches via
  2020-10-13 20:06     ` Ludovic Courtès
  1 sibling, 1 reply; 15+ messages in thread
From: Luis Felipe via Guix-patches via @ 2020-10-13 12:47 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Julien Lepiller, 43871@debbugs.gnu.org

Hi,

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, October 12, 2020 4:41 PM, Ludovic Courtès ludo@gnu.org wrote:

[...]

> We should also have a policy to not link to material that steers towards
> non-free software (I believe the links above are fine).
>
> Last but not least: we should encourage people to submit their things,
> because I’m sure there’s much more we could add here! :-)
>
> That’s all I have to say. Luís, everyone: thoughts?

Well, my idea was to have these kinds of resources grouped according to their types (https://lists.gnu.org/archive/html/guix-devel/2017-12/msg00356.html). So, instead of a Community resources entry in the Media menu, there would be separate entries like Talks, Papers, etc.

So the Media part of the website could work like the Blog in that you could explore all kinds of media (/lang/media/) or media of some type (e.g. /lang/media/talks/).

Also, at this point you can see that blog posts and media items are resources that usually have a preview with similar information: title, date, summary, etc. Using record types you end up defining one preview procedure for every record type (type->shtml) with pretty much the same body. At that time I was looking for records that allow some kind of inheritance, or GOOPS, to have one preview procedure (or method) that would accept different records/objects with a common ancestor specifying the common fields (title, date, summary, etc.). I tried GOOPS at that time and it worked.

I don't know, I'm still inclined to do it this way...




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#43871] [PATCH website] Add community page
  2020-10-13 12:47   ` Luis Felipe via Guix-patches via
@ 2020-10-13 20:06     ` Ludovic Courtès
  2020-10-13 20:46       ` Julien Lepiller
  0 siblings, 1 reply; 15+ messages in thread
From: Ludovic Courtès @ 2020-10-13 20:06 UTC (permalink / raw)
  To: Luis Felipe; +Cc: Julien Lepiller, 43871@debbugs.gnu.org

Hi,

Luis Felipe <luis.felipe.la@protonmail.com> skribis:

> Well, my idea was to have these kinds of resources grouped according to their types (https://lists.gnu.org/archive/html/guix-devel/2017-12/msg00356.html). So, instead of a Community resources entry in the Media menu, there would be separate entries like Talks, Papers, etc.
>
> So the Media part of the website could work like the Blog in that you could explore all kinds of media (/lang/media/) or media of some type (e.g. /lang/media/talks/).

Interesting, that makes sense to me, thanks for the reminder!

And yes, there’s already “Videos” and “Screenshots” (without /media in
the URL though), so I guess we could add “Talks” and “Papers” similarly.

Julien, does that look like a reasonable change to make?  WDYT?

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#43871] [PATCH website] Add community page
  2020-10-13 20:06     ` Ludovic Courtès
@ 2020-10-13 20:46       ` Julien Lepiller
  0 siblings, 0 replies; 15+ messages in thread
From: Julien Lepiller @ 2020-10-13 20:46 UTC (permalink / raw)
  To: Ludovic Courtès, Luis Felipe; +Cc: 43871@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 1023 bytes --]

Sounds reasonnable, but I won't be able to work on it before next week.

Le 13 octobre 2020 16:06:51 GMT-04:00, "Ludovic Courtès" <ludo@gnu.org> a écrit :
>Hi,
>
>Luis Felipe <luis.felipe.la@protonmail.com> skribis:
>
>> Well, my idea was to have these kinds of resources grouped according
>to their types
>(https://lists.gnu.org/archive/html/guix-devel/2017-12/msg00356.html).
>So, instead of a Community resources entry in the Media menu, there
>would be separate entries like Talks, Papers, etc.
>>
>> So the Media part of the website could work like the Blog in that you
>could explore all kinds of media (/lang/media/) or media of some type
>(e.g. /lang/media/talks/).
>
>Interesting, that makes sense to me, thanks for the reminder!
>
>And yes, there’s already “Videos” and “Screenshots” (without /media in
>the URL though), so I guess we could add “Talks” and “Papers”
>similarly.
>
>Julien, does that look like a reasonable change to make?  WDYT?
>
>Thanks,
>Ludo’.

[-- Attachment #2: Type: text/html, Size: 1492 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#43871] [PATCH website] Add community page
  2020-10-08 22:38 [bug#43871] [PATCH website] Add community page Julien Lepiller
  2020-10-08 23:16 ` zimoun
  2020-10-12 16:41 ` Ludovic Courtès
@ 2020-11-04 10:38 ` zimoun
  2020-11-04 16:12   ` Luis Felipe via Guix-patches via
  2021-05-25 14:55 ` Luis Felipe via Guix-patches via
  2021-11-19 14:36 ` bug#43871: " Julien Lepiller
  4 siblings, 1 reply; 15+ messages in thread
From: zimoun @ 2020-11-04 10:38 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: Luis Felipe, 43871

Hi,

On Fri, 09 Oct 2020 at 00:38, Julien Lepiller <julien@lepiller.eu> wrote:

> This patch aims at adding a new page on the website that lists external
> resources that talk about guix (conference talks, blog posts and even
> academic papers).

Well, what is the status of this patch?

To put more on the table, we recently discussed on #guix-hpc [1] to list
channels (of package FSDG compliant).  It helps for discoverability.

For example,

https://github.com/BIMSBbioinfo/guix-bimsb
https://github.com/guix-science/guix-science


“Community” section makes sense for this purpose.  To be clear, the
subsection “Talks” of “Media” makes sense, as it is discussed; and
another section “Community” listing these channels (and maybe more) make
also sense.  WDYT?


1: <http://logs.guix.gnu.org/guix-hpc/2020-11-03.log#231059>

All the best,
simon




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#43871] [PATCH website] Add community page
  2020-11-04 10:38 ` zimoun
@ 2020-11-04 16:12   ` Luis Felipe via Guix-patches via
  2020-11-04 18:31     ` zimoun
  0 siblings, 1 reply; 15+ messages in thread
From: Luis Felipe via Guix-patches via @ 2020-11-04 16:12 UTC (permalink / raw)
  To: zimoun; +Cc: Julien Lepiller, 43871@debbugs.gnu.org

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday, November 4, 2020 10:38 AM, zimoun <zimon.toutoune@gmail.com> wrote:

> Hi,
>
> On Fri, 09 Oct 2020 at 00:38, Julien Lepiller julien@lepiller.eu wrote:
>
> > This patch aims at adding a new page on the website that lists external
> > resources that talk about guix (conference talks, blog posts and even
> > academic papers).
>
> Well, what is the status of this patch?
>
> To put more on the table, we recently discussed on #guix-hpc [1] to list
> channels (of package FSDG compliant). It helps for discoverability.
>
> For example,
>
> https://github.com/BIMSBbioinfo/guix-bimsb
> https://github.com/guix-science/guix-science
>
> “Community” section makes sense for this purpose. To be clear, the
> subsection “Talks” of “Media” makes sense, as it is discussed; and
> another section “Community” listing these channels (and maybe more) make
> also sense. WDYT?


Or maybe add it to the Packages menu item? For example:

Packages (/LANG/packages/)
  Channels (/LANG/packages/channels/ or /LANG/channels/)

Also, the Packages page could also mention that that list of packages comes from the Guix channel, but more packages are available from other channels (and link to the new list of channels).

I don't know about the "Community" part because I think the Guix community [is | will be] split into "Libre Only Community" and "Open Source with Proprietary Comunity", so maybe each community should build their own websites that better reflect their own goals? I don't know...




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#43871] [PATCH website] Add community page
  2020-11-04 16:12   ` Luis Felipe via Guix-patches via
@ 2020-11-04 18:31     ` zimoun
  2020-11-05  0:36       ` Luis Felipe via Guix-patches via
  0 siblings, 1 reply; 15+ messages in thread
From: zimoun @ 2020-11-04 18:31 UTC (permalink / raw)
  To: Luis Felipe; +Cc: Julien Lepiller, 43871@debbugs.gnu.org

Dear,

On Wed, 4 Nov 2020 at 17:12, Luis Felipe <luis.felipe.la@protonmail.com> wrote:

> Or maybe add it to the Packages menu item? For example:
>
> Packages (/LANG/packages/)
>   Channels (/LANG/packages/channels/ or /LANG/channels/)

Ok.  Maybe it is better.


> Also, the Packages page could also mention that that list of packages comes from the Guix channel, but more packages are available from other channels (and link to the new list of channels).

You mean add one sentence in the header of:

   <http://guix.gnu.org/en/packages/>

right?


> I don't know about the "Community" part because I think the Guix community [is | will be] split into "Libre Only Community" and "Open Source with Proprietary Comunity", so maybe each community should build their own websites that better reflect their own goals? I don't know...

I do not understand this last statement.  The website guix.gnu.org is
"Libre Only"; because it is GNU.  Therefore, the channels will be
FSDG-compliant packages only (often variants) and other channels
(often named 'nonfree') will be not listed here.  For example, even on
hpc.guix.info which is more permissive, nonfree channels contributed
by Ludo and/or Ricardo) about specific HPC tools are not listed
overthere.  What do you have in mind about "Open Source with
non-free"?

All the best,
simon




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#43871] [PATCH website] Add community page
  2020-11-04 18:31     ` zimoun
@ 2020-11-05  0:36       ` Luis Felipe via Guix-patches via
  0 siblings, 0 replies; 15+ messages in thread
From: Luis Felipe via Guix-patches via @ 2020-11-05  0:36 UTC (permalink / raw)
  To: zimoun; +Cc: Julien Lepiller, 43871@debbugs.gnu.org

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday, November 4, 2020 6:31 PM, zimoun <zimon.toutoune@gmail.com> wrote:

> Dear,
>
> On Wed, 4 Nov 2020 at 17:12, Luis Felipe luis.felipe.la@protonmail.com wrote:
>
> > Or maybe add it to the Packages menu item? For example:
> > Packages (/LANG/packages/)
> > Channels (/LANG/packages/channels/ or /LANG/channels/)
>
> Ok. Maybe it is better.
>
> > Also, the Packages page could also mention that that list of packages comes from the Guix channel, but more packages are available from other channels (and link to the new list of channels).
>
> You mean add one sentence in the header of:
>
> http://guix.gnu.org/en/packages/
>
> right?

I mean, modify the introductory paragraph. For example:

···
GNU Guix provides 15,183 packages transparently available as pre-built binaries. These pages provide a complete list of the packages IN GUIX CHANNELS. Our continuous integration system shows their current build status (updated November 4, 2020). CHECK THE CHANNELS PAGE TO LEARN ABOUT OTHER CHANNELS THAT PROVIDE ADDITIONAL FREE SOFTWARE NOT INCLUDED IN THE GUIX CHANNEL.
···

Or something like that. And maybe the first use of the term "channel" in that paragraph should be linked to the definition of a channel in the manual.



> > I don't know about the "Community" part because I think the Guix community [is | will be] split into "Libre Only Community" and "Open Source with Proprietary Comunity", so maybe each community should build their own websites that better reflect their own goals? I don't know...
>
> I do not understand this last statement. The websiteguix.gnu.org is
> "Libre Only"; because it is GNU. Therefore, the channels will be
> FSDG-compliant packages only (often variants) and other channels
> (often named 'nonfree') will be not listed here. For example, even on
> hpc.guix.info which is more permissive, nonfree channels contributed
> by Ludo and/or Ricardo) about specific HPC tools are not listed
> overthere. What do you have in mind about "Open Source with
> non-free"?

Well, the thing is, when I read the word "Community" I think of the whole group of GNU Guix users, contributors, and enthusiasts (including people who use Guix with non-free software or who promote channels with non-free packages). So I don't like the word "community" because it would not include the whole Guix community (the group of people who use/promote non-free stuff would be excluded from the list).






^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#43871] [PATCH website] Add community page
  2020-10-08 22:38 [bug#43871] [PATCH website] Add community page Julien Lepiller
                   ` (2 preceding siblings ...)
  2020-11-04 10:38 ` zimoun
@ 2021-05-25 14:55 ` Luis Felipe via Guix-patches via
  2021-05-25 15:07   ` Julien Lepiller
  2021-07-01 13:31   ` Luis Felipe via Guix-patches via
  2021-11-19 14:36 ` bug#43871: " Julien Lepiller
  4 siblings, 2 replies; 15+ messages in thread
From: Luis Felipe via Guix-patches via @ 2021-05-25 14:55 UTC (permalink / raw)
  To: 43871@debbugs.gnu.org, Julien Lepiller, zimoun

Hi,

Just to let you know that I sent a patch that adds a new "Publications" page to the website (https://issues.guix.gnu.org/48637), which lists external written publications about Guix. It includes the written resources from Julien's community page.

In a different patch, I'll submit some changes to the videos part of the website and include videos from Julien's community page.

After that, I plan to submit another patch addressing zimoun's proposal about channels (a Channels page).


---
Luis Felipe López Acevedo
https://luis-felipe.gitlab.io/




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#43871] [PATCH website] Add community page
  2021-05-25 14:55 ` Luis Felipe via Guix-patches via
@ 2021-05-25 15:07   ` Julien Lepiller
  2021-07-01 13:31   ` Luis Felipe via Guix-patches via
  1 sibling, 0 replies; 15+ messages in thread
From: Julien Lepiller @ 2021-05-25 15:07 UTC (permalink / raw)
  To: Luis Felipe, 43871@debbugs.gnu.org, zimoun

[-- Attachment #1: Type: text/plain, Size: 729 bytes --]

That's great news! Thanks for working on that!

Le 25 mai 2021 10:55:59 GMT-04:00, Luis Felipe <luis.felipe.la@protonmail.com> a écrit :
>Hi,
>
>Just to let you know that I sent a patch that adds a new "Publications"
>page to the website (https://issues.guix.gnu.org/48637), which lists
>external written publications about Guix. It includes the written
>resources from Julien's community page.
>
>In a different patch, I'll submit some changes to the videos part of
>the website and include videos from Julien's community page.
>
>After that, I plan to submit another patch addressing zimoun's proposal
>about channels (a Channels page).
>
>
>---
>Luis Felipe López Acevedo
>https://luis-felipe.gitlab.io/

[-- Attachment #2: Type: text/html, Size: 1059 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#43871] [PATCH website] Add community page
  2021-05-25 14:55 ` Luis Felipe via Guix-patches via
  2021-05-25 15:07   ` Julien Lepiller
@ 2021-07-01 13:31   ` Luis Felipe via Guix-patches via
  1 sibling, 0 replies; 15+ messages in thread
From: Luis Felipe via Guix-patches via @ 2021-07-01 13:31 UTC (permalink / raw)
  To: 43871@debbugs.gnu.org, Julien Lepiller

Hello again,

On Tuesday, May 25th, 2021 at 2:55 PM, Luis Felipe <luis.felipe.la@protonmail.com> wrote:

> In a different patch, I'll submit some changes to the videos part of the website and include videos from Julien's community page.

Just to let you know that I submitted the videos patch: https://issues.guix.gnu.org/49310.




^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#43871: Add community page
  2020-10-08 22:38 [bug#43871] [PATCH website] Add community page Julien Lepiller
                   ` (3 preceding siblings ...)
  2021-05-25 14:55 ` Luis Felipe via Guix-patches via
@ 2021-11-19 14:36 ` Julien Lepiller
  4 siblings, 0 replies; 15+ messages in thread
From: Julien Lepiller @ 2021-11-19 14:36 UTC (permalink / raw)
  To: 43871-close

[-- Attachment #1: Type: text/plain, Size: 45 bytes --]

Closing since we now have equivalent pages :)

[-- Attachment #2: Type: text/html, Size: 86 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-11-19 14:37 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-08 22:38 [bug#43871] [PATCH website] Add community page Julien Lepiller
2020-10-08 23:16 ` zimoun
2020-10-12 16:41 ` Ludovic Courtès
2020-10-12 19:45   ` Brett Gilio
2020-10-13 12:47   ` Luis Felipe via Guix-patches via
2020-10-13 20:06     ` Ludovic Courtès
2020-10-13 20:46       ` Julien Lepiller
2020-11-04 10:38 ` zimoun
2020-11-04 16:12   ` Luis Felipe via Guix-patches via
2020-11-04 18:31     ` zimoun
2020-11-05  0:36       ` Luis Felipe via Guix-patches via
2021-05-25 14:55 ` Luis Felipe via Guix-patches via
2021-05-25 15:07   ` Julien Lepiller
2021-07-01 13:31   ` Luis Felipe via Guix-patches via
2021-11-19 14:36 ` bug#43871: " Julien Lepiller

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).