За последние 24 часа нас посетили 22864 программиста и 1227 роботов. Сейчас ищут 710 программистов ...

Fansoro - маленькая и быстрая CMS на файлах!

Тема в разделе "Решения, алгоритмы", создана пользователем Awilum, 24 янв 2016.

  1. Awilum

    Awilum Активный пользователь

    С нами с:
    15 ноя 2009
    Сообщения:
    325
    Симпатии:
    26
    Адрес:
    Earth
    Доброго времени суток!

    Разрешите вам представить свою разработку, которую делаю в свободное от работы время.

    [​IMG]

    Fansoro - простая, но эффективная система управления сайтом с открытым исходным кодом и распространяется под лицензией MIT.
    Работает на основе обычных текстовых файлов и не использует базу данных. Легко настраивается и расширяется!

    C помощью Fansoro можно создать:
    • сайт визитку
    • сателлит
    • домашнюю страничку
    • сайт-портфолио
    • лендинг-страницы
    • блог

    Но на самом деле применение Fansoro не ограничивается тем, что перечислено выше.
    Так как это универсальная CMS, которая легко расширяется плагинами.


    Основные особенности Fansoro:
    • Простая - Система очень простая в установке, обновлении и использовании.
    • Быстрая & Легкая - Fansoro очень легкая и быстрая! Никакой базы данных, только плоские файлы!
    • Расширяемая - Плагины, Темы, Шорткоды и многие другие вещи позволяют легко расширять сайт, не затрагивая ядро системы.
    • Fenom Шаблонизатор - Fansoro использует шаблонизатор Fenom, для разработки тем оформления.
    • Markdown Syntax - Редактируйте ваш сайт в вашем любимом текстовом редакторе используя простую Markdown разметку.
    • Open Source - Fansoro с открытым исходным кодом и распространяется под лицензией MIT!

    Также используются следующие библиотеки:
    Шаблонизатор Fenom, который в разы быстрее Smarty и Twig.
    Компоненты Force для быстрой разработки.
    Spyc для работы с YAML файлами.
    Parsedown быстрый Markdown парсер.

    Официальный сайт: http://fansoro.org

    Организация на GitHub: https://github.com/fansoro

    Цель Создания топика:
    • Привлечение разработчиков к Open Source проекту.
    • Оценка Fansoro: критика, пожелания, предложения.
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
  3. Awilum

    Awilum Активный пользователь

    С нами с:
    15 ноя 2009
    Сообщения:
    325
    Симпатии:
    26
    Адрес:
    Earth
    VLK, наш юрист посоветовал сделать ребрединг для лучшего продвижения проекта в России.
    После двух лет разработки был сделан ребрендинг, о чем говорит сообщение на старом сайте: morfy.org
     
  4. Awilum

    Awilum Активный пользователь

    С нами с:
    15 ноя 2009
    Сообщения:
    325
    Симпатии:
    26
    Адрес:
    Earth
    У кого нибудь есть замечания, предложения, советы по коду проекта ? Я открыт для предложений.
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    ну видимо не на этом ресурсе твоя целевая аудитория. та тема заглохла. к этой тоже интерес был только в стиле "а что собственно с морфи?". ты на наши вопросы либо ответил либо уклонился. процветания твоему проекту.

    зы. лого так себе. не серьезное совсем. воняет плагиатом но лень искать на кого.
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    По коду: зачем создавать экземпляры классов, если весь полезный функционал - статические функции. Например, https://github.com/fansoro/fansoro/blob/dev/fansoro/Blocks.php. Конструктор не инициализирует экземпляр класса, только проверяет файлы блока и кеш, что вполне могло быть и в функции init. Хотя, к примеру, вот эту штуку можно было бы сохранить в экземпляре, раз уж мы его создали: https://github.com/fansoro/fansoro/blob/dev/fansoro/Blocks.php#L41, и тогда тут: https://github.com/fansoro/fansoro/blob/dev/fansoro/Blocks.php#L73 уже проверять наличие блока в сохранённых. И $blocks_cache_id тоже сохранить куда-нибудь, чтоб потом не пересчитывать (он ведь не изменится за время исполнения скрипта)? В общем, классы использованы далеко не на полную катушку.
     
  7. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    да там в коде сплошная статика)
    похоже авторы думают что это и есть ООП))
     
  8. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Да лого в стиле велосипедной наклейки.
    И если есть всё завязано на локальных файлах .md, то почему не сделать подвязку с Github ? Сайт-репа, так же кешить и чекать иногда.
     
  9. Awilum

    Awilum Активный пользователь

    С нами с:
    15 ноя 2009
    Сообщения:
    325
    Симпатии:
    26
    Адрес:
    Earth
    >Да лого в стиле велосипедной наклейки.
    нет

    >воняет плагиатом но лень искать на кого.
    рисовал сам. хз есть ли аналог. я потом подумал, что возможно видел что похожее у какой авиакомпании, решил проверить, но так и не нашел плагиата.

    >И если есть всё завязано на локальных файлах .md, то почему не сделать подвязку с Github
    да, в планах сделать:
    + генерация статичского сайта
    + синк с Гитхабом

    Сейчас мне ничего не мешает хранить сайт или только контент(по желанию) сайта на GitHub-е и деплоить его на лайв.
    https://github.com/fansoro/fansoro.org

    Вот еще пример работает на Fansoro(morfy): https://github.com/pafnuty/bqs-site
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    а вот и да! бе-бе-бе! :p
     
  11. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Да ты что. Мне кажется ты об этом и не думал.
    И есть ли в планах различные шаблонизаторы, конфиги в json.
    Зачем это всё ?
    Код (PHP):
    1.         "fenom/fenom": "2.8.*",
    2.         "fenom/storage": "1.*",
    3.         "erusev/parsedown-extra": "0.7.*",
    4.         "mustangostang/spyc" : "0.5.*",
    5.         "doctrine/cache": "1.5.*",
    6.         "force/session" : "*",
    7.         "force/filesystem" : "*",
    8.         "force/arr" : "*",
    9.         "force/http" : "*",
    10.         "force/shortcode" : "*",
    11.         "force/token" : "*",
    12.         "force/url" : "*"
    13.  
     
  12. Awilum

    Awilum Активный пользователь

    С нами с:
    15 ноя 2009
    Сообщения:
    325
    Симпатии:
    26
    Адрес:
    Earth
    Abyss, откуды ты знаешь о чем я думал ? и что с ребятами в команде обсуждал ? и генерации статитики и синк с гитхабом обсужали и синк с любой другой репой, если бы внитмательно смотрел на Fansoro, то увидел бы, что формат страниц такой же как и у Jekyll и сайт хостится проекта на github-е. синк с гитхабов - это лишь вопрос времени.

    >И есть ли в планах различные шаблонизаторы, конфиги в json.
    да, обсуждали это и предлагали варианты реализации. для конфигов например брать одну из известных либ

    > Зачем это всё ?
    шаблонизатор, парсеры, кеш и библиотеки. а на чем еще тогда CMS работать.. ? не на воздухе же.

    Добавлено спустя 10 минут 54 секунды:
    mkramer,
    > В общем, классы использованы далеко не на полную катушку.
    да, возможно. буду улучшать это. уже начал :)