ruHaskell
Сайт русскоязычного сообщества Haskell-разработчиков.
Цель
Мы уверены, что каждому Haskell-энтузиасту есть что рассказать коллегам, но наши блоги разбросаны по просторам интернета, а кроме того, не всем хочется строить собственное блоговое пространство. Поэтому наш сайт представляет собой единое место обмена опытом, где каждый сможет рассказать обо всём, так или иначе связанном с разработкой на Haskell.
Темы
Принимаются материалы, имеющие прямое или косвенное отношение к Haskell. Это может быть что угодно:
- Разжёвывание фундаментальной теории, о каких-нибудь категориях и иже с ними.
- Рассмотрение любых аспектов языка, от Hello World до свободных монад и трансформерных ужасов.
- Рассказ об инструментах, связанных с Haskell.
- Готовые практические рецепты. Что называется, копи-паст - и вперёд!
- Истории успеха или неудачи, связанные с практической разработкой на Haskell.
- Пиар программного решения, реализованного с помощью Haskell.
Причём технический уровень статей может быть рассчитан на любых читателей, от зелёных новичков до экспертов.
Авторам
Статьи принимаются в формате Markdown
, рекомендуется использовать расширение .md
.
Информация о статье
В начале каждой статьи должен присутствовать информационный блок следующего вида:
---
author: Денис Шевченко
title: Yesod: знакомство
tags: Yesod, веб
description: Yesod - это мощный веб-фреймворк, написанный на языке Haskell.
---
где:
author
- имя автора статьи,title
- название статьи,tags
- один или более тематических тегов, перечисленных через запятую,description
- краткое описание статьи, необходимое для обновлений в RSS.
Кроме того, существует опциональное поле hrefToOriginal
. Если оригинал публикуемой вами статьи находится на стороннем ресурсе, просто допишите поле hrefToOriginal
к вышеупомянутым полям:
hrefToOriginal: https://www.fpcomplete.com/user/astynax/basics/pine-tree
В результате этого в верхней правой части статьи будет размещена ссылка на оригинал.
Внимание! Если автором оригинала публикуемой вами статьи являетесь не вы - убедитесь в том, что автор согласен на публикацию его статьи в рамках нашего ресурса.
Правила именования
Имя файла статьи должно быть сформировано следующим образом:
гггг-мм-дд-краткое-имя-статьи.md
Например:
2014-12-27-yesod-raw-deploy.md
URL этой статьи станет таким:
/posts/2014/12/27/yesod-raw-deploy.html
Это позволит отфильтровать статьи по дате публикации. Причём если номер месяца или дня меньше 10, то его необходимо начинать с 0
. Например, публикация от 1 мая должна быть названа так:
2014-05-01-yesod-raw-deploy.md
Расположение
Все Markdown-статьи хранятся в ветке master
. Иерархически они располагаются в каталоге posts
, но не в корне, а обязательно в своём тематическом подкаталоге. Имя подкаталога соответствует названию категории. Например, все статьи из категории web
располагаются в каталоге posts/web/
. Разумеется, поскольку имя каталога участвует в формировании базового URL статьи, оно должно быть английским.
Посколько Git не любит пустые каталоги, тематические подкаталоги будут создаваться по мере написания статей.
Локальная сборка
Вы можете собрать сайт у себя:
$ git clone [email protected]:ruHaskell/ruhaskell.git
$ cd ruhaskell
$ stack setup
$ ./just_build.sh
После этого откройте в браузере страницу _site/index.html
.
Для удобства можно запустить скрипт watch.sh
, при изменении постов
сайт будет собираться автоматически. Если у вас установлен Firefox
с расширением MozRepl,
также будет обновляться вкладка с локальной версией сайта:
$ ./watch.sh
Устав нашего монастыря
Запрещены:
- оскорбления в любой форме,
- явный оффтоп,
- спам.
Статьи и/или комментарии, содержащие первое, второе и/или третье, будут удалены.
Обратная связь
Вопросы? Предложения? Критика? Стучитесь в наш чат или пишите Юрию Сыровецкому и Денису Шевченко.