Vorige: Primäre URL, Nach oben: Kanäle [Inhalt][Index]
Kanalautoren möchten ihren Nutzern vielleicht manchmal Informationen über wichtige Änderungen im Kanal zukommen lassen. Man könnte allen eine E-Mail schicken, aber das wäre unbequem.
Stattdessen können Kanäle eine Datei mit Neuigkeiten („News File“) anbieten:
Wenn die Kanalnutzer guix pull
ausführen, wird diese Datei
automatisch ausgelesen. Mit guix pull --news
kann man sich die
Ankündigungen anzeigen lassen, die den neu gepullten Commits entsprechen,
falls es welche gibt.
Dazu müssen Kanalautoren zunächst den Namen der Datei mit Neuigkeiten in der Datei .guix-channel nennen:
(channel
(version 0)
(news-file "etc/news.txt"))
Die Datei mit Neuigkeiten, etc/news.txt in diesem Beispiel, muss selbst etwa so aussehen:
(channel-news
(version 0)
(entry (tag "the-bug-fix")
(title (en "Fixed terrible bug")
(fr "Oh la la"))
(body (en "@emph{Good news}! It's fixed!")
(eo "Certe ĝi pli bone funkcias nun!")))
(entry (commit "bdcabe815cd28144a2d2b4bc3c5057b051fa9906")
(title (en "Added a great package")
(ca "Què vol dir guix?"))
(body (en "Don't miss the @code{hello} package!"))))
Obwohl die Datei für Neuigkeiten Scheme-Syntax verwendet, sollten Sie ihr keinen Dateinamen mit der Endung .scm geben, sonst wird sie bei der Erstellung des Kanals miteinbezogen und dann zu einem Fehler führen, weil es sich bei ihr um kein gültiges Modul handelt. Alternativ können Sie auch das Kanalmodul in einem Unterverzeichnis platzieren und die Datei für Neuigkeiten in einem Verzeichnis außerhalb platzieren.
Die Datei setzt sich aus einer Liste von Einträgen mit Neuigkeiten („News Entries“) zusammen. Jeder Eintrag ist mit einem Commit oder einem Git-Tag assoziiert und beschreibt die Änderungen, die in diesem oder auch vorangehenden Commits gemacht wurden. Benutzer sehen die Einträge nur beim erstmaligen Übernehmen des Commits, auf den sich der jeweilige Eintrag bezieht.
Das title
-Feld sollte eine einzeilige Zusammenfassung sein, während
body
beliebig lang sein kann. Beide können Texinfo-Auszeichnungen
enthalten (siehe Overview in GNU Texinfo). Sowohl
title
als auch body
sind dabei eine Liste aus Tupeln mit
jeweils Sprachcode und Mitteilung, wodurch guix pull
Neuigkeiten
in derjenigen Sprache anzeigen kann, die der vom Nutzer eingestellten Locale
entspricht.
Wenn Sie Neuigkeiten mit einem gettext-basierten Arbeitsablauf übersetzen
möchten, können Sie übersetzbare Zeichenketten mit xgettext
extrahieren (siehe xgettext Invocation in GNU Gettext
Utilities). Unter der Annahme, dass Sie Einträge zu Neuigkeiten zunächst
auf Englisch verfassen, können Sie mit diesem Befehl eine PO-Datei erzeugen,
die die zu übersetzenden Zeichenketten enthält:
xgettext -o news.po -l scheme -ken etc/news.txt
Kurz gesagt, ja, Sie können Ihren Kanal sogar als Blog missbrauchen. Aber das ist nicht ganz, was Ihre Nutzer erwarten dürften.
Vorige: Primäre URL, Nach oben: Kanäle [Inhalt][Index]