forked from ruHaskell/ruhaskell
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Denis Shevchenko
committed
Jan 14, 2015
1 parent
6dcde2e
commit a19291b
Showing
45 changed files
with
3,419 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,15 @@ | ||
.DS_Store | ||
dist | ||
cabal-dev | ||
*.o | ||
*.hi | ||
*.chi | ||
*.chs.h | ||
*.*~ | ||
.virtualenv | ||
.hsenv | ||
.cabal-sandbox/ | ||
cabal.sandbox.config | ||
cabal.config | ||
_cache | ||
_site |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ruhaskell.org |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,20 @@ | ||
The MIT License (MIT) | ||
Лицензия MIT (The MIT License) | ||
|
||
Copyright (c) 2015 | ||
Все права защищены (c) 2015 "Русскоязычное сообщество Haskell-разработчиков" | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
Данная лицензия разрешает лицам, получившим копию данного программного обеспечения | ||
и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), | ||
безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное | ||
право на использование, копирование, изменение, добавление, публикацию, распространение, | ||
сублицензирование и/или продажу копий Программного Обеспечения, а также лицам, которым | ||
предоставляется данное Программное Обеспечение, при соблюдении следующих условий: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. | ||
Указанное выше уведомление об авторском праве и данные условия должны быть включены | ||
во все копии или значимые части данного Программного Обеспечения. | ||
|
||
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, | ||
ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ | ||
ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. | ||
НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, | ||
ЗА УЩЕРБ ИЛИ ПО ИНЫМ ТРЕБОВАНИЯМ, В ТОМ ЧИСЛЕ, ПРИ ДЕЙСТВИИ КОНТРАКТА, ДЕЛИКТЕ ИЛИ ИНОЙ СИТУАЦИИ, | ||
ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,122 @@ | ||
# ruhaskell | ||
Главный сайт | ||
ruHaskell | ||
========= | ||
|
||
Сайт русскоязычного сообщества Haskell-разработчиков. | ||
|
||
Наше желание - использовать этот прекрасный язык, а не просто разговаривать о нём.<br/> | ||
Наше стремление - объединить всех хаскелистов, говорящих по-русски.<br/> | ||
Наша цель - увеличить долю использования Haskell в России. | ||
|
||
### Зачем | ||
|
||
Главной ценностью нашего сайта являются статьи. Я уверен, что каждому Haskell-энтузиасту есть что рассказать коллегам, но наши блоги разбросаны по просторам интернета, а кроме того, не всем хочется строить собственное блоговое пространство. Поэтому наш сайт представляет собой единое место обмена опытом, где каждый сможет рассказать обо всём, так или иначе связанном с разработкой на Haskell. | ||
|
||
### Темы | ||
|
||
Принимаются материалы, так или иначе связанные с разработкой на Haskell. Это может быть что угодно: | ||
|
||
- Разжёвывание фундаментальной теории. Например, что-нибудь о категориях и иже с ними. | ||
- Рассмотрение любых аспектов языка, от Hello World до монадических глубин. | ||
- Рассказ об инструментах, связанных с Haskell. И это не только Yesod. ;-) | ||
- Готовые практические рецепты. Что называется, копи-паст - и вперёд! | ||
- Истории успеха или неудачи, связанные с практической разработкой на 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 не любит пустые каталоги, тематические подкаталоги будут создаваться по мере написания статей. | ||
|
||
### Локальная сборка | ||
|
||
Вы можете собрать сайт локально. Подразумевается, что [Haskell Platform](https://www.haskell.org/platform/) у вас уже установлена. Итак: | ||
|
||
```bash | ||
$ git clone [email protected]:denisshevchenko/ruhaskell.git | ||
$ cd ruhaskell | ||
$ cabal sandbox init | ||
$ cabal install --only-dependencies | ||
$ ./just_build.sh | ||
``` | ||
|
||
После этого откройте в браузере страницу `ruhaskell/_site/index.html`. | ||
|
||
### Устав нашего монастыря | ||
|
||
Как известно, в чужой монастырь со своим уставом не ходят, а потому вот устав нашего монастыря. | ||
|
||
Трём вещам объявляется бой: | ||
|
||
1. **оскорбления в любой форме**, | ||
2. **явный оффтоп**, | ||
3. **спам**. | ||
|
||
Статьи и/или комментарии, содержащие первое, второе или третье, будут удалены. Вот и весь наш устав. | ||
|
||
### Обратная связь | ||
|
||
Вопросы? Предложения? Критика? Вы можете задать их в нашем [чате](https://gitter.im/denisshevchenko/haskell), на форуме (скоро будет), в [группе на Google+](https://plus.google.com/communities/117343381540538069054) или же написать [лично мне](mailto:[email protected]). | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
import Distribution.Simple | ||
main = defaultMain |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
#!/bin/bash | ||
|
||
# Скрипт для для автоматического обновления сайта на GitHub Pages. | ||
|
||
USAGE=" | ||
Запускаем так: ./deploy.sh \"Сообщение о коммите\" | ||
Пример: | ||
./deploy.sh \"Обновление стиля.\" | ||
" | ||
|
||
# При любой ошибке скрипт вылетает... | ||
set -e | ||
|
||
# Устанавливаем переменную, для нашего коммит-сообщения... | ||
COMMIT_MESSAGE=$1 | ||
|
||
#if [ "$1" = "" ] | ||
#then | ||
# echo "А сообщение о коммите где?" | ||
# echo "${USAGE}" | ||
# exit 1 | ||
#fi | ||
|
||
echo "Учитываем изменения в ветке master..." | ||
if [ "$1" != "" ] | ||
then | ||
git add . | ||
git commit -a -m "$COMMIT_MESSAGE" | ||
git push -f origin master | ||
fi | ||
|
||
echo "Собираем новую версию сайта..." | ||
./just_build.sh | ||
|
||
echo "Копируем во временное место, предварительно удалив старое, если нужно..." | ||
rm -rf /tmp/_site/ || true 1> /dev/null | ||
cp -R _site /tmp/ | ||
|
||
echo "Переключаемся на ветку 'gh-pages'..." | ||
git checkout gh-pages | ||
|
||
echo "Копируем прямо в корень содержимое подготовленного каталога _site..." | ||
cp -R /tmp/_site/* . | ||
|
||
echo "Учитываем все последние новшества, если таковые имеются, и публикуем на GitHub Pages..." | ||
git add . | ||
if [ "$1" != "" ] | ||
then | ||
git commit -a -m "$COMMIT_MESSAGE" | ||
else | ||
git commit -a -m "Обновление после слияния." | ||
fi | ||
|
||
git push -f origin gh-pages | ||
|
||
echo "Возвращаемся в мастер..." | ||
git checkout master | ||
|
||
echo "Готово!" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/bin/bash | ||
|
||
# Просто собираем сайт, локально. | ||
|
||
set -e | ||
|
||
cabal clean && cabal configure && cabal build | ||
|
||
./dist/build/ruHaskell/ruHaskell rebuild | ||
|
||
# После этого в корне репозитория смотрим в каталог _site. |
Oops, something went wrong.