LINUX.ORG.RU

Подскажите CMSку моей мечты

 


12

9

Сразу скажу, не уверен, что такое вообще существует в природе, ибо требования у меня противоположны всему, что сейчас воспринимается как мейнстрим. В общем, нужна CMS для сайтов, которые заведомо _не_ относятся (и никогда не будут относиться) к категории «высоконагруженных». При этом имеются два совершенно категорических требования:

1) свободное распространение и использование без ограничений (в том числе без всяких обязательных ссылок и т.п.)

2) ничего тьюринг-полного на стороне клиента; JS, HTML5, CSS3 запрещены под страхом смертной казни, то есть если CMS генерит что-то из перечисленного, то она не рассматривается вообще, вот то есть даром не нужна; в идеале — генерит XHTML и использует мелкий CSS-файлик на десяток классов;

Кроме того, есть ещё несколько более мягких, но тоже существенных пожеланий:

3) Язык реализации. В идеале она вообще должна быть написана на C или C++ с использованием минимума (лучше — zero) внешних библиотек, но такого, скорее всего, не бывает. PHP я терпеть ещё готов, Perl с его системой библиотек и dependecny hell — уже с трудом, что касается Питона, Руби, Джавы и прочей экзотики — мне проще будет её самому написать. Или без сайта обойтись.

4) Хранилище. Идеальная с моей точки зрения CMS не использует никакие СУБД вообще от слова совсем, то есть даже SQLite. Для хранения всего и вся — обычные текстовые файлы в обычных директориях.

5) Кастомизация. Сменные темы, среди которых есть что-нибудь лёгкое и НЕ привязанное к конкретной ширине экрана.

При этом она должна обязательно поддерживать настраиваемую навигацию, блоки, появляющиеся на определённых страницах (на всех или на некоторых), а также пользовательские комментарии (крайне желательно, чтобы пользователи могли заходить со своими OpenID — да, я имел в виду именно OpenID, а не OAUTH).

Если кто видел что-то подобное, киньте ссылочку :-)

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

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

Уже очень давно есть, даже с JIT-компилятором: https://www.kernel.org/doc/Documentation/networking/filter.txt

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

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

ОС ничего не знает про JS. Вообще ничего. И у неё нет таких средств изоляции. Интерпретатор выполняется в обычном процессе, каковой имеет полномочия запустившего его юзера. Поймали его на чём-то — всё, аккаунт юзера наш. Вот до рута расширить на нормальной системе не получится (только где они, эти нормальные системы).

Это не так. Например, Chrome умеет использовать средства операционной системы для ограничения процессов, работающих для рендеринга вкладок / запуска флеша: https://www.chromium.org/developers/design-documents/sandbox.

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

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

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

Брр. Причем тут противоправные действия и изменения дизайна не твоей интеллектуальной собственности? Я ситуацию вижу по-другому: вот автомобильная дорога, на ней стоят знаки для шоферов, работают светофоры. В ГИБДД решили, что надо оптимизировать поток автомобилей. Заменили знаки, режим работы светофоров. Не нравится как сейчас надо ездить по дороге — не езди. Или привыкни. Или заедь в ГИБДД и аргументированно объясни, что нужно сделать так и так.

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

Там около 50 слов полезной информации. На чёртовой странице, чёртового справочника, чёртовых 50 слов.

Согласен.

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

А как ты различаешь ситуации:

* сделали так, как сделали, потому что так НАДО!

* криворукие лентяи опять облажались.

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

Отучаемся говорить за всех (уж на этом то сайте)

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

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

сделали так, как сделали, потому что так НАДО!

Сделали «так надо», потому что ЛЮДИ хотят именно как НАДО. То, что перекрасили документацию Qt и сделали ее более привлекательной для чтения – это знак того, что местные олд-фаги нафиг не уперлись мальчикам-хипстерам, которые на таких потребностях косят кучу бабла.

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

сделали ее более привлекательной для чтения

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

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

Ну почему же, все зависит. Но Qt на то и Qt: хочешь, перепиши CSS.

А вообще они только козлы в том, что не подготовили версию для печати или не встроили механизм экспорта в PDF@LaTeX.

bookman900 ★★★★★
()

Ну что, кто-то уже начал создавать новый язык структурирования и представления данных для интернета для замены HTML?

sulevaz
()

Хз, насколько подойдет, но может быть будет интересно:

http://werc.cat-v.org/

Кстати спасибо за книгу, весьма познавательно.

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

Сообщение опубликуется только того пользователя, чей процесс последним перезапишет html файл. Проще использовать СУБД, от подобного они защищены.

Откройте для себя flock.

Да, конечно, тут чуток уметь надо, в момент открытия текста браузером на редактирование запоминать какую-то сигнатуру (а хоть и просто дату последней модификации), потом при попытке записи сначала файл залочить, посмотреть, совпадает ли сигнатура, если нет — отказаться записывать. А что, БД уметь не надо? Так, на всякий случай: чтение исходного содержания (для последующего его редактирования) и его же запись — это с точки зрения веб-демона два разных сеанса, никто транзакцию открытой держать не станет всё это время. И где ваша хвалёная защита?

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

А браузер собирать ничего не помешало?

Браузер у меня на домашней машине, на которой обычный Debian. Генерить сайт я всё-таки предпочту на сервере, а там у меня Openwall. Вариант генерировать на домашней машине и каждый раз загружать на сервер результаты генерации — был бы возможен, если бы не потребность в комментах.

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

деплой сводится к scp хтмлек на сервер.

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

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

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

sulevaz
()
Ответ на: комментарий от anonymous

Вот только на практике у миллионов людей миллионы сайтов ежедневно грузятся за миллисекунды

Здесь дело не в том, как устроено большинство сайтов, а в том, какие есть возможности.

любой адекватный браузер уже лет 10-15 выводит сообщение unresponsive scipt, stop

Только один момент: для этого скрипт не выполняться должен слишком долго, а не отвечать слишком долго. При этом никто не мешает делать скрипты, которые будут выполняться сколь угодно долго, если они «приседают сколько положено».

Watchdog (отсечка по времени) — это грубый хак, который никогда никого ни от чего не спасал. А в браузерах он вообще реализован хрен знает как, у меня обычно сначала всё зависает, а потом, если повезёт, таки диалог этот вылезет. Кнопки «остановить все скрипты прямо сейчас», разумеется, ни один браузер не предоставляет, настройки этой отсечки — тоже. Впрочем, даже если бы всё это было, главного оно не отменяет: бороться надо не с симптомами болезни, а с её причиной.

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

LaTeX – Тьюринг-полный?

Да, тьюринг-полный. Ну так я вроде бы нигде не выкладываю на веб исходники в LaTeX'е.

PDF, к сожалению, тоже тьюринг-полный (это вообще Форт, как я понимаю). Вот что с этим делать — пока неясно.

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

обычно сначала всё зависает, таки диалог этот вылезет. Кнопки «остановить зависший скрипт прямо сейчас»

Значит ты и браузером не пользуешься, иначе б знал что она появляется в Firefox.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 3)
Ответ на: комментарий от Deleted

Значит ты и браузером не пользуешься, иначе б знал что она появляется в Firefox.

Во-первых, искажать цитируемый текст — это вряд ли правильно. Я говорил о кнопке «остановить ВСЕ скрипты прямо сейчас». Что такое «зависший» скрипт, браузер не знает, поскольку вообще-то обнаружение зациклившихся процессов — это, как водится, алгоритмически неразрешимая проблема.

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

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

Ты значит теперь и PDF не используешь?

Если я не ошибаюсь, тот же Столлман утягивает вебстраницы wgetом (или чем-то таким) и просматривает в офлайне.

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

Если я не ошибаюсь, тот же Столлман утягивает вебстраницы wgetом (или чем-то таким) и просматривает в офлайне.

Стоп-стоп. Он утягивает по твоему разметку из PDF????

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

А причем тут PDF?

И вообще Столлман же вроде не против javascript'а, если его код не является проприетарным. Думаю и с PDF также. Я читал про Столлмана, что он неадекват. Ну что ж, идеальных людей нет, топикстартер вроде тоже что-то полезное пишет, но и в крайности впадает. Люди вообще не склонны находить во всем золотую середину.

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

Ты ж вроде программист, отлично знаешь свой инструмент. Так напиши браузер (или возьми исходники хромиума и добавь реализацию), который автоматически отключает javascript, интересные сайты тоже не покажет. Это будет удобнее, чем заморачиваться с noscript и добавлять сайты в исключения, или наоборот, отключать скрипты.

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

Нет, вероятно, от принимает меры безопасности, как, например, просматривает на устройстве без выхода в интернет и важных данных.

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

А обязательно нужен отдельный компьютер без интернета? Уязвимые порты закрой, настрой браузер на noscript и удали flash. По-моему, больше никак не взломают.

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

Люди вообще не склонны находить во всем золотую середину.

Тут как раз наоборот, по-моему. Большинство людей, в отличие от Столлмана или Столярова, не имеют своего твёрдого мнения и готовы слепо следовать за так называемой «индустрией» (задача которой, на самом деле, всего лишь вовлечь этих людей, чтобы ещё повысить оборот). И никакую «середину» они не ищут, они вообще ничего не ищут, жрут что дают.

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

И вообще Столлман же вроде не против javascript'а, если его код не является проприетарным.

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

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

Уязвимые порты закрой, настрой браузер на noscript и удали flash.

Ну есть такие фанатики безопасности (паранойики?), что считают, к примеру, секс в резинке с вич-инфицированным недостаточно безопасным решением.

sulevaz
()
Ответ на: комментарий от anonymous

Как говорят психиатры, нормальных людей нет, есть недообследованные.

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

Он тратит свое время на прочтение JS-портянок со страниц сайтов? Да, не завидую ему.

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

Таких маргиналов единицы, очевидно стоит их жалеть, их в мире миллионов технологий никто и не заметит.

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

Это мои предположения, я не знаю насколько это соответствует действительности. Но ведь для него и элементарная безопасность и конфиденциальность важнее чем для большинства. Что с того, например, что запалят твой, анон, стим-аккаунт? А вот для Столлмана это было бы воистину трагично.

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

Писать свой браузер только для того, чтобы отключить javascript?

Какую-то ерунду ты предлагаешь. Во-первых, такие браузеры уже есть. Во-вторых, в firefox и webkit (наверное и в хромиуме) есть настройка, отключающая js (и нет, это не noscript, это именно штатаная настройка). В-третьих (и это главное), проблема не в отключении js.

Проблема в том, что много информации в последнее время недоступно из инета при отключённом js. И я говорю именно о простой текстовой информации, без какого-либо интерактива. А всё благодаря бездумному распространению js.

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

Мне его даже немного жалко, в свете грядущего WebAssembly или как его там.

Мне в этом свете и меня жалко. И не немного, а довольно сильно жалко. Пойду поплачу, что ли...

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

Какую-то ерунду ты предлагаешь.

А почему бы и нет.

Во-первых, такие браузеры уже есть. Во-вторых, в firefox и webkit (наверное и в хромиуме) есть настройка, отключающая js (и нет, это не noscript, это именно штатаная настройка).

Во-первых, такие браузеры еще и следят. Во-вторых, такие опции хорошо спрятаны. Я твою «настройку» не нашел.

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

А что с тобой случится? Не сможешь читать минифицированный jquery на предмет закладок? Так ты и сейчас не можешь.

anonymous
()
Ответ на: комментарий от sulevaz

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

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

Кстати, да: у некоторых мудаков вообще при отключенном жабоскрипте пустой экран вместо странички. А если включишь, увидишь обычную статическую страницу. Ну и на кой хрен им жабоскрипт? Поубивал бы!!!

anonymous
()
Ответ на: комментарий от sulevaz

Ну что, кто-то уже начал создавать новый язык структурирования и представления данных для интернета для замены HTML?

У меня есть немного другая идея, думаю над ней последние пару лет. Идея — разработать обобщённый способ представления форумоподобных данных (типа «пост — комментарии»). А дальше уже можно будет к этому представлению лепить просмотрщики (консольные, гуёвые, браузерные), способы хранения (дб, файлы), модули для сопряжения с источником (API, парсинг страниц).

Лор, реддит, хакерньюс, форумы, stackexchange, бложики — всё более или менее под такой формат подходит. И всё более или менее неудобно читать в текущем виде через браузер. Под некоторые есть отдельно заточенные приложения (особенно для андроида, но есть и в линуксе), но нет унификации, а мне кажется, она тут возможна.

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

В фоксе это в about:config:

javascript.enabled=false
В вебките зависит от браузера, на нём построенном.

Есть dillo. Не говоря уже о консольных браузерах.

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