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]