LINUX.ORG.RU

Состоялся релиз системы управления контентом MLUG

 , , , ,


0

3

Буквально только что состоялся релиз первой рабочей версии системы управления контентом MLUG.

Система распространяется на условиях GNU AGPL третьей версии.
Для добавления своего кода в основной репозиторий нужно дать согласие на перелицензирование по усмотрению хозяина репозитория.

Система управления контентом может похвастаться такими особенностями:

  • Основана на свежей Django с долговременной поддержкой и минимумом зависимостей, которые можно без больших проблем исключить из сборки вообще.
  • Не делает лишнего, только самое необходимое для сайта.
  • Красивая нескучная тема оформления (в данной версии простая смена шаблонов не предусмотрена, но стили менять довольно просто).
  • Приложение для рассылки почты подписчикам с подтверждением, отпиской, настройками, списками рассылок и отложенной отправкой.
  • Приложение голосований с инновационной системой жетонов и встроенным генератором QR-кодов для доступа к приватным голосованиям.
  • Переполнена добротой и любовью.
  • В комплекте красивая иконка под лицензией CC-BY-SA 4.0.
  • Полностью переведена на русский и английский языки и готова к переводу на любые другие (но не полностью готова поддержка многоязычного контента для сайта).
  • Рассчитана исключительно на защищённое соединение (это не обусловлено техническими причинами, но во множестве мест в исходном коде жестко прописан https).
  • В качестве отступов в коде не используются пробелы.
  • Написана и поддерживается лично мной в свободное время, коммерческая поддержка для серьёзных организаций возможна.

Репозиторий со всеми исходниками, документацией, багтрекером и даже картинками

>>> Демо

★★★★★

Проверено: splinter ()

Ответ на: комментарий от th3m3

Иди обратно к своим друзьям хипстерам жрать яблоки

Goury ★★★★★ ()
Ответ на: комментарий от x3al

requirements.txt

По неизвестной науке причине я решил сначала сделать без него.
Немного позже сделаю с ним.

РЕШЕТО

решето ли?

Кстати, ты намеренно не поддерживаешь py3?

Нет, просто так получилось.

Goury ★★★★★ ()
Ответ на: комментарий от deep-purple

Так и задумано.
Скрипты вырезает, а параметры тегов остаются.

Goury ★★★★★ ()
Ответ на: комментарий от Goury

Плохо же задумано. Редактор (человек) текста должен идеть в песочнице. Скрипты да, резать на корню. А вот атрибуты выборочно, и лучше пойти от обратного — сделать список разрешенных, их не так много.

deep-purple ★★★★★ ()
Ответ на: комментарий от Goury

решето ли?

Есть тысяча и один способ атак если тебе разрешают произвольный HTML. Скрипты в on* — очевидный вариант, но можно и хитрее: сделать div поверх всего во весь размер окна и отрисовать там твой сайт, заменив ссылки на левые.

Хочешь чистый HTML — используй любую из умеющих чистить HTML библиотек. Как минимум тебе нужен белый список тегов и белый список атрибутов. И регэкспами делать всё это нетривиально и вряд ли нужно (хотя возможно, как показывает beautifulsoup).

x3al ★★★★★ ()
Ответ на: комментарий от Goury

Скрипты вырезает, а параметры тегов остаются.

Параметр тега вытащит твои кукизы и отошлёт куда угодно точно тем же образом, что и скрипт.

x3al ★★★★★ ()
Ответ на: комментарий от deep-purple

В идеале надо вообще сделать права на постинг страницы со скриптами и не давать их рядовым редакторам. Но это надо многа думать и многа кодить, а мне зарплату за МЛУГ не платят.
Если кто сделает и закаммитит — будем благодарны. А пока у нас кто попало до редактуры не допускается просто.

Goury ★★★★★ ()
Ответ на: комментарий от x3al

Спсибо за рекомендацию, но пока кроме меня никто этот произвольный html засунуть в страницу не может. А я смогу обойти любую библиотеку, если надо будет.

Эта регулярка используется ровно в одном месте, где мне хотелось вырезать теги <script>. В других местах, где надо, используется джанговская чистилка.

Goury ★★★★★ ()
Ответ на: комментарий от x3al

Если я захочу чтобы сайт вытаскивал куки и отсылал куда угодно — он будет вытаскивать и отсылать и без тегов и без HTML вообще.
Обрати внимание — куки секурные, из яваскриптов их не вытащить.

Goury ★★★★★ ()
Ответ на: комментарий от deep-purple

нельзя взять готовое, готовое не решает поставленную задачу

Goury ★★★★★ ()
Ответ на: комментарий от Goury

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

deep-purple ★★★★★ ()
Ответ на: комментарий от Goury

Тогда в первую очередь опасность фишинга... Пока lxml.html.clean.Cleaner не прикрутишь.

Ну и учти, что пропускать HTML через регэкспы может встать боком: <<script></script>script>alert("xss")</<script></script>script>

x3al ★★★★★ ()
Ответ на: комментарий от deep-purple

Любому владельцу любого сайта ничего не помешает отдавать любой код на странице. CMS нужна чтобы помогать делать сайты, а не чтобы мешать.
Если кто-то хочет сделать на странице onmouseover — это его право.

Ограничивать доступ выдачей прав на такие фичи может быть целесообразно, но просто фильтровать всю страницу от всего подряд — нет.

Goury ★★★★★ ()
Ответ на: комментарий от x3al

Какого к чертям фишинга?
Владелец сайта что ли будет сам себя фишинговать?

Goury ★★★★★ ()
Ответ на: комментарий от Goury

А выдача прав не подразумевает фильтрацию? Подразумевает. Хоть на каждый атрибут потом права проверяй.

deep-purple ★★★★★ ()
Ответ на: комментарий от Goury

Обычно CMS пользуются когда хочется дать нескольким не-администраторам возможность делать страницы. Плюс бывают всякие комментарии, формы фидбэка и прочая фигня. А владелец сайта с тем же успехом может и через админку джанги запостить что угодно, тот же TinyMCE туда спокойно включается.

x3al ★★★★★ ()
Ответ на: комментарий от Goury

Нет, не сам, а те люди, которым даны права в админку. Вот посруцца они из-за чего-нибудь, тот приглашенный зайдет в админку и отложит там поросёнка.

deep-purple ★★★★★ ()
Ответ на: комментарий от Goury

Так ты все исправь, сделай крутой сайт! И не забудь разрешить автору потом закопирастить твой код и продавать, как он там требовал.
На битбакет или на почту.

Не вижу причины по которой я должен вписываться в этот ничтожный проект.

Rodegast ★★★★★ ()
Ответ на: комментарий от abc

Поэтому у меня в редакторе настроены автоотступы и табы автоматом конвертируются в пробелы. Проблем нет.

Проблемы будут когда попробуешь что нибудь закомитить в проект с табуляцией.

Rodegast ★★★★★ ()
Ответ на: комментарий от th3m3

Есть pep8, там чётко сказано - использовать пробелы, никакой табуляции.

PEP8 это стандарт для разработчиков модулей входящих в поставку питона. Если ты в питон ничего не отправляешь, то и следовать PEP8 не обязан.

Rodegast ★★★★★ ()
Ответ на: комментарий от deep-purple

Ну не неси херни, а.
Есть же разница между целенаправленным управлением и гадством из вредности.

Goury ★★★★★ ()
Ответ на: комментарий от x3al

Когда будет потребность дать нескольким не-администраторам такие возможности — тогда и сделаю.
Или когда кто-нибудь оплатит коммерческую поддержку и запросит такую фичу.
Или когда кто-нибудь пришлёт пулл-реквест с такой фичей.
А пока мне зарплату за разработку млуга не платят, так что пока там только то, что нужно мне самому.

TinyMCE там уже есть.

Goury ★★★★★ ()
Ответ на: комментарий от deep-purple

Ну так нечего давать права на страницы кому попало.
Хотя проблема — пальцесос второго порядка, все куки секурные.

Goury ★★★★★ ()
Ответ на: комментарий от Rodegast

Rodegast, Goury: Ну здрасьте, приехали.

PEP8 - это библия питониста. Общепринятый стиль написания кода. Это одна из граней положительных качеств Python, которая защищает от написания говнокода.

Если Питонист не придерживается pep8, т.е. не придерживается общепринятых СТАНДАРТОВ - то это плохой Питонист, пусть идёт назад в логово говнокодеров на php.

th3m3 ★★★★★ ()
Ответ на: комментарий от winlook38

pep8

питонопроекты

Мне питон и за бесплатно не сдался. А в проектах на сишечке могу показать.

a1batross ★★★★★ ()
Последнее исправление: a1batross (всего исправлений: 1)
Ответ на: комментарий от th3m3

Общепринятый

Иди в свой Windows обратно.

защищает от написания говнокода

Делает говнокод менее заметным на фоне кода.

не придерживается общепринятых СТАНДАРТОВ

Так что ты тут забыл? Иди обратно на виндофорумы, придерживайся СТАНДАРТОВ.

Goury ★★★★★ ()
Ответ на: комментарий от Goury

Не несу. Я просто предложил куда можно применить гадство админа гибкость системы. Так то ты выбирай что реализовывать, а что нет — ты хозяин этой кухни.

deep-purple ★★★★★ ()
Ответ на: комментарий от th3m3

PEP8 - это библия питониста. Общепринятый стиль написания кода. Это одна из граней положительных качеств Python, которая защищает от написания говнокода.

Ты какие вещества употребляешь? PEP8 это архаичный стандарт нацеленный на комфортное написание кода в «голой консоли». Я подозреваю что Гвидо именно в ней и работает, по этому PEP8 и навязывается.

Rodegast ★★★★★ ()
Ответ на: комментарий от th3m3

Успойся ты со своими пробелами уже.
Я вот тоже юзаю табы и мне насрать на эту часть PEP.
Но если проект не мой и там пробелы, то я офк буду юзать пробелы.

FIL ★★★★ ()
Ответ на: комментарий от Goury

Я тебя конечно могу понять. Но не могу понять одного, откуда здесь винда вообще вылезла? Причём здесь винда?

th3m3 ★★★★★ ()
Ответ на: комментарий от Goury

Ты таки не срешь на стандарты? А почему тогда табы в коде юзаешь?

cherry-pick ()
Ответ на: комментарий от Rodegast

Ужас какой. Впервые вижу такую жесть. Либо вы тролли, либо я даже не знаю. Во всех книгах говорится о pep8, везде настаивают на следовании его канонам.

Я ещё ни разу не встречал кода с табами, даже во всяких статейках начинающих - все поголовно пишут с пробелами, т.к. изначально читали правильные книги.

th3m3 ★★★★★ ()
Ответ на: комментарий от th3m3

Вот все говорят про pep8, что нужно обязательно его придерживаться и всё такое. Только на практике далеко не часто встретишь проект, который соответствует ему от начала и до конца. Например, там сказано, что перед определением класса должно быть две пустых строки. Открываем любой проект и с вероятностью в 90% увидим, что все плевать хотели на это правило. Тоже самое касается и стандартной библиотеки. Что можешь сказать по этому поводу?

Kilte ★★★★★ ()
Ответ на: комментарий от th3m3

Либо вы тролли

Нет, просто говнокодеры.

Deleted ()
Ответ на: комментарий от Kilte

Не все догадываются использовать линтеры. А в стдлиб из-за легаси небось.

Deleted ()
Ответ на: комментарий от Goury

Но это надо многа думать

Думать надо всегда.

а мне зарплату за МЛУГ не платят.

Многим OSS-разработчикам не платят, однако не все они пилят говно. Ну и раз ты уж сам признаешься, что «на отвянь» код пилишь, не обижайся на критику.

cherry-pick ()
Ответ на: комментарий от deep-purple

ты же выклал чтоб оценили и все такое, а может и попользовался кто, да?

Он навыклал тут код, чтобы его положительно оценили, а не отрицательно.

cherry-pick ()
Ответ на: комментарий от Goury

Если кто-то хочет сделать на странице onmouseover

Например пользователь, пишуший каммент к статье. :3

cherry-pick ()
Ответ на: комментарий от Goury

Иди в свой Windows обратно.

Самое смешное тут, что ты сейчас как типичный Windows-разработчик, который кладет на все стандарты, и пилит ни с чем не совместимые велосипеды, рассуждаешь, тогда как в OSS обычно стандартам следовать стараются. :()

cherry-pick ()

По демке, что-то как-то неаккуратно. И у таба, на скрине видно, рабочая область только над текстом, зачем тогда такую высоту этому табу делать?

А можно, где-нибудь оценить именно cms-фичи? Т.е. админку, управление пользователями и правами, как создается и редактируется контент.

vvn_black ★★★★★ ()
Ответ на: комментарий от Kilte

Людям дали стандарт. Чтобы всем было удобно. А они кодят как вздумается. Что я могу тут сказать? Это не круто. Ладно бы ещё это было php, где ничего нет подобного. А тут людям всё дали, а они не пользуются.

th3m3 ★★★★★ ()
Ответ на: комментарий от th3m3

оттужа же, откуда и пеп8 внезапно стал стандартом только потому, что был очень агрессивно навязан влиятельной конторой

Goury ★★★★★ ()
Ответ на: комментарий от vvn_black

По демке, что-то как-то неаккуратно.

А еще можно голосовать много раз подряд без необходимости чистить куки. :3

cherry-pick ()
Ответ на: комментарий от th3m3

Ладно бы ещё это было php, где ничего нет подобного.

PSR 2. И там тоже 4 пробела, лiл.

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.