Хабравел (Habravel) — движок коллективного блога по образцу Хабрахабра. Написан в виде Composer-пакета для Laravel 4. Исходный код доступен на GitHub под public domain. Написан как движок для второй версии сайта laravel.ru.
Хотя «Хабравел» стремится быть образцовым проектом на Laravel, некоторые его аспекты отличаются от общепринятых. Например, вывод ошибок на страницах делается без переадресации, а настройка авторизации делается через конфиг вместо IoC. Хотите помочь? Напишите об этом в тикеты и/или пришлите pull request. Дальнейшее развитие проекта зависит от вас.
Краткий список возможностей
- Движок поддерживает фабрику разметок, что позволяет подключить любой форматтер, написав к нему интерфейс (Markdown, UverseWiki, Textile и др.).
- Навигация построена на системе тегов — как пользовательских, так и специальных (например, «черновик» или «перевод»).
- К статьям можно добавлять голосования с вариантами ответов.
- За статьи и пользователей можно голосовать +1/-1 (аналогично карме на Хабре).
- Статьи может комментировать любой зарегистрированный участник.
- Движок поддерживает локализацию (изначально доступен русский и английский). Установите у себя cookie language в значение en, чтобы увидеть её в действии.
- Части движка (шаблоны, авторизация, ресурсы и пр.) можно перекрыть в самом приложении, благодаря тому, что это пакет.
Комментарии (9)
Напишите пожалуйста как установить это чудо:) Я никак не возьму в толк как вообще устанавливать подобные отдельные проекты. Все сводится к установке самого laravel и потом захожу по такому пути http://habravel/public/ и вижу надпись You have arrived. Как использовать папку src? Прошу извинить за нубский вопрос:)
Эта папка обычно говорит о том, что проект устанавливается через Composer. Такие проекты можно посмотреть на Packagist.org; некоторые из них сделаны специально для Laravel (сам Laravel — вот).
Habravel (пока) не зарегистрирован в Packagist, поэтому его надо вручную ставить в workbench — среда для локальной разработки проекта, когда можно избежать постоянного обновления хранилища (чаще всего все эти проекты лежат на GItHub).
Инструкцию, как можно локально поставить Habravel, я выложил в README на GitHub: https://github.com/ProgerXP/Habravel.
Выполнил все как описано под open-server... все отработало без ошибок. Где теперь находится этот созданный локальный сайт? Если зайти http://habrave/public - то там по прежнему я вижу "You have arrived". Где теперь index.php созданного проекта? Попробовал перейти сюда http://habravel/workbench/proger/habravel/public/ - но там отсутствует index.php
Что то я наверное недонастроил... может в app/config еще что то нужно сделать? Там я добавил в app.php провайдера 'Habravel\ServiceProvider' и в database.php для mysql вписал нужные данные...
На какую папку теперь направлять apache? Спасибо.
У Habravel нет домашней страницы, у него есть /posts/, /compose/, /login/ и другие — см.
PHProutes()
в ServiceProvider.php.Да, немного разобрался, почти все получилось... Единственно ничего из папки C:\OpenServer\domains\habravel\workbench\proger\habravel\public не подключилось...(css, js, картинки) поэтому выглядит все коряво и работает некорректно:( Но возможность написать статью есть http://habravel/compose, редактировать профиль http://habravel/~/edit и т.п. Как подключить все из \workbench\proger\habravel\public ? Спасибо.
Нужно выполнить
shphp artisan asset:publish --bench=proger/habravel
, это стандартная команда для того, чтобы скопировать ресурсы пакетов в public вашего сайта. Её надо выполнять после каждого обновления ресурсов, либо если хочется автоматического подхода — сделать ссылку public/packages/proger/habravel, указывающую на workbench/proger/habravel/public (на *nix это стандартно черезshln -s
, в Windows через fsutil).Выполнил php artisan asset:publish --bench=proger/habravel — ресурсы пакета почему то скопировались сюда:
C:\OpenServer\domains\habravel\public\packages\proger\habravel
Соответственно ничего снова не подключилось:(
Так и должно быть. Ты обновлял Habravel до последней версии? Была исправлена ошибка в пути, если у тебя в коде <head> страницы есть 1.7.2, то ты не обновился (должно быть 1.7.5).
Если будут ещё вопросы — создай тему на форуме в «Пакетах», будем обсуждать там.
Обновил, в исходном коде страницы стало 1.7.5 — ресурсы не подключились:( Создал тему в пакетах