Previous: Основной URL, Up: Каналы [Contents][Index]
Авторы канала могут захотеть сообщить своим пользователям информацию о важных изменениях в канале. Вы можете отправить им письмо по электронной почте, но это не удобно.
Вместо этого каналы могут предоставлять файл новостей; когда
пользователи канала запускают guix pull
, этот файл новостей
автоматически читается, и guix pull --news
может отображать
объявления, которые соответствуют новым зафиксированным коммитам, если
таковые имеются.
Для этого авторы каналов должны сначала объявить имя файла новостей в своем файле .guix-channel:
(channel
(version 0)
(news-file "etc/news.txt"))
Сам файл новостей, etc/news.txt в этом примере, должен выглядеть примерно так:
(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!"))))
В то время как файл новостей использует синтаксис Scheme, избегайте называть его расширением .scm, иначе он будет выбран при построении канала и выдаст ошибку, поскольку это недопустимый модуль. Кроме того, вы можете переместить модуль канала в подкаталог и сохранить файл новостей в другом каталоге.
Файл состоит из списка news entries. Каждая запись связана с коммитом или тегом: она описывает изменения, сделанные в этом коммите, возможно, также и в предыдущих коммитах. Пользователи видят записи только при первом получении коммита, на который ссылается запись.
Поле title
должно быть однострочным, а body
может быть
произвольно длинным, и оба могут содержать Texinfo разметку
(see Overview in GNU Texinfo). И заголовок, и тело являются
списком языковых тегов/кортежей сообщений, что позволяет комманде
guix pull
отображать новости на языке, соответствующем языку
пользователя.
Если вы хотите перевести новости, используя рабочий процесс на основе
gettext, вы можете извлечь переводимые строки с помощью xgettext
(see xgettext Invocation in GNU Gettext Utilities). Например,
если вы сначала пишете новости на английском языке, команда ниже создает
PO-файл, содержащий строки для перевода:
xgettext -o news.po -l scheme -ken etc/news.txt
Подводя итог, да, вы можете использовать свой канал в качестве блога. Но будьте осторожны, это не совсем то, что могут ожидать ваши пользователи.
Previous: Основной URL, Up: Каналы [Contents][Index]