DISCLAIMER: Данный проект не является форком kotoba-ib и его разработка не ведется персоналом «Супермаркета». Этот тред посвящен разработке очередного движка имиджборды под названием «kotoba.js». Движок написан на NodeJS, в качестве базы данных MongoDB, стек express, mongoose, passport.js является сегодня настолько же стандартным, как PHP в свое время. Фронтенд использует Sass и Babel, его сборка автоматизирована (gulp+babelify, но со временем нужно перейти на Webpack). Верстка - полностью валидный HTML5, однако максимально напоминает Вакабу, что позволяет работать стороннему коду (Кукле и мобильным клиентам) без существенных доработок. Так же движок работает по классическому принципу генерирования статичных файлов и имеет схожую структуру каталогов. Несмотря на наличие современных движков, некоторые их которых даже используют похожий стек (такие как LynxChan и ololord.js), до сих пор тут и там регулярно появляются вопросы по установке морально устаревших Вакабы, Кусабы, Вичана и их форков. При этом установка и обслуживание таких движков крайне затруднительна в виду почти полного отсутствия документации, устаревших зависимостей, и необходимости доработки движка, добавления недостающих функций, и исправления устаревшей верстки. Целью данного проекта является создание движка с классическим дизайном и привычным для современных борд функционалом, отличающийся максимальной простотой в установке. Достигается это за счет конейнеризации приложения с помощью Docker. Как выглядит процесс установки типичного движка на локалхост: Установить Apache, PHP, MySQL Убедиться что PHP скомпилирован с нужными флагами и что установлена нужная версия интерпретатора (PHP 5.6 будет ругаться на то, что работало в PHP 5.4) Установить ImageMagic и ffmpeg для поддержки webm Править config.php, проводить манипуляции с install.php (который никогда не выполняется первого раза без ошибок) Так выглядит установка котобы: Установить docker и docker-compose (дело 1 минуты) Скачать исходный код из репозитория Выполнить docker-compose up -d в папке с кодом. Установка всех зависимостей произойдет автоматически (при этом оно никак не затронет систему). После этого движок сразу готов к работе. Первый созданный аккаунт получит права администратора, лезть в исходники и править переменные не нужно - все значимые настройки доступны из админки. Разумеется, речь идет о локалхосте. На боевом сервере нужно еще как минимум запоролить БД, а так же настроить https. Исходный код: https://github.com/WagonOfDoubt/kotoba.js На данный момент проект находится в стадии MVP: то есть, самый основной функционал, такой как постинг, работает, но множество ключевых функций еще не реализовано. Логотип, очевидно, WakabaMark, стилизованный под сервала, символизирует преемственность движка перед Вакабой и подобными, а так же кошачью тематику, и является отсылкой к Kemono Friends.
キタ━━━(゚∀゚)━━━!!
>>19972 Поменяй права доступа к папке html, очевидно же. Проверь их через ls -l Конкретно нужно сделать: ~/kotoba.js/$ chmod -R a+w html и возможно (хотя маловероятно): ~/kotoba.js/$ chmod -R a+w containers/node/html Только что проверил установку с нуля, у самого все завелось с первого раза.
Пора бы уже приступить за реализацию модерки и админки борды. А то уже столько времени прошло на самом деле, что работой будет тяжело отвертеться.
>>20068 Совсем не тяжело.
Может хватит в 2к18 тащить этот уже декаду как неактуальный дизайн? Ну некрасиво и неудобно же.
>>20109 Вы таки о чём?
>>20127 Мы таки хотя бы вот об этом: >>20101, например.
>>20128 О каталоге? О фрейме? О больших глазах в аниме? О >>ссылках? Об Умночане? Ты можешь нормально излагать свои мысли?
>>20109> Неактуальный дизайнГовори за себя. Дизайн движка очень даже ничего. Жаль, что автор мало им занимается. А ведь проект и правда очень интересный.
>>20129 Обо всем вместе. Может, разве что, кроме глаз.
Когда админку и модерку сможешь допилить?
>>18996 Ето же древняя проблема в виндовых штуках, плюс оно как-то связанно было не с JS, а VB, на сколько мне помнится. ЗЫ: Тред читал не очень внимательно, но ОП молодец.
Top links после редактирования не обновляются
>>20174 Фича любого движка борд. Нужно написать пост, чтобы страница перегенерировалась.
>>20177 В любом движке борд есть кнопка "пересобрать страницы".
>>20178 Насколько я понимаю, автором реплики >>20174 был сторонник самосбора.
>>20178 Тут она тоже есть. Раздел maintenance.
Когда будет апдейт движка, товарищ разраб?
Что там по движку. Когда админка будет? Судя по гитхабу, ты там месяц назад делал последний коммит.
Прочитал ОП-пост, а там какой-то маркетинговый буллщит с "обычный порошок" и "наш котоба-порошок".
афтар выйпеи йаду и апстол... jquery все портит.
Предположим ситуацию. Юзер написал пост. Юзер может его удалить. Модераторы могут его удалить. Модератор 1 удалил пост, затем другой модератор 2 решил, что удалять его не надо, и восстановил. Модератор 1 не может удалить пост повторно, так как модератор 2 его семпай, и его действия имеют приоритет. Затем постер решил его удалить. Может ли оригинальный потер удалить свой пост, если в посте записано, что модератор 2 защитил пост от удаления своим кохаем модератором 1? Может ли удаленный постером пост быть восстановлен модератором?
>>20895Да.Нет.
>>20881А по делу критики как обычно нет. Классика.
>>20890> jquery все улучшает.Поправил тебя.
>>20898>>20899Сёма не палится.
Доброе утро. Говорит Mithgol the Webmaster. Если нужно повторение того мнения, совершённое достоверно другим участником обсуждения, то сообщаю сам от себя: во-первых, выраженное падонковским сленгом мнение «афтар выйпеи йаду и апстол» способно произвести желаемое впечатление только на других же падонков да ещё на жидокащенитов, тогда как всѣ остальные такому надругательству над русскою рѣчью рады не будут (да и с чего бы им быть); во-вторых, употребление jQuery сильно упрощает жизнь разработчику (ввиду того, что сокращается запись «document.getElementsByTagName('td')» до размера «$('td')», а также и другие подобные, мною по адресу https://410chan.org/dev/arch/res/17371.html#18188 перечисленные в декабре прошлого года).
>>20898 Так ты по делу никаких преимуществ и не привел, какая тут может быть критика?
>>20904window.$ = document.querySelectorAll.bind(document);Ну в общем ты понял. Жидокьюери - замшелый и уже даже начинающий попахивать пережиток прошлого. жывтоне чочо упячка упячка упячка шячло попячтса попячтса
window.$ = document.querySelectorAll.bind(document);
>>20900 Ты так говоришь, будто это что-то плохое в своей основе. мимо шел
>>20904 Говорят, подключать целую библиотеку ради квериселекта не очень разумно.
Круглая дата в 1 год с начала разработки прошла пару месяцев назад, но есть еще один круглый инфоповод - 100-й коммит, так что пришло время что-то сказать о прогрессе. Из модераторских функций есть возможность удалять треды, посты или изображения (с возможностью восстановления), ставить на изображения флаги "NSFW" и спойлер (соответствующих заглушек пока нет), прикреплять или закрывать треды. Вызывается это из панели, которая появляется по выбору чекбокса удаления поста, без необходимости лезть куда-то далеко в админку. Реализован модлог, в который складываются все действия с постами, настройками досок и сайта. Каждое действие в модлоге можно отменить, просто выбрав чекбокс у записи. Добавлена система ролей. Каждому пользователю можно назначить роль для доски, например "moderator" в /b/ и "janitor" в /a/. Количество и назначение ролей может быть произвольным - можно добавлять роли и редактировать их (при этом изменяя разрешения для всех, кому эта роль назначена). Роль определяет, какие поля пользователь может редактировать, например для вложений: attachment.isDeleted, attachment.isNSFW, attachment.isSpoiler, так же у роли есть приоритет (возможно реализовать индивидуальный приоритет для каждого действия, но для простоты он глобальный на роль и поле приоритета на все действия называется здесь иерархией), действия с более высоким приоритетом не могут быть отменены пользователем, у которого приоритет этого действия ниже. (На данный момент процесс арбитража не реализован, будет добавлен в ближайших коммитах). Еще предстоит решить, что делать с действиями, которые не ограничиваются пространством доски (например, создавать доски или постить новости на главную). Может сделать еще одну категорию ролей, не относящихся к доскам, или просто назначать эти разрешения пользователю индивидуально, а не скопом. API постепенно полируется и медленно документируется (да, абсолютно все действия доступны через REST API, так было всегда) В целом еще много чего не реализовано, и много чего реализовано наполовину. Но форму постепенно это все обретает.
>>21155Это очень хорошо что ты продолжаешь пилить движок. Думаю скоро вообще можно поднять тестовую борду на этом движке.> просто назначать эти разрешения пользователю индивидуально, а не скопом.Думаю, это самый лучший вариант.Алсо, что насчёт самой админки? Когда она появится? И что насчёт системы банов?
Здравствуйте. Есть ли у сайта "iichan" какой-то публичный API, как у 2ch.hk или 4chan.org? Почему спросил: есть в интернете "универсальный" фронтенд для имиджбордов, интегрирующийся с вышеупомянутыми сайтами. https://catamphetamine.github.io/chanchan/ Судя по всему, достаточно лишь JSON API.>>21283
>>21331 Почему ты спрашиваешь об этом в треде разработки движка, который не имеет никакого отношения к Ычану?
>>21333 > Почему ты спрашиваешь об этом в треде разработки движка, который не имеет никакого отношения к Ычану? Я бы написал в Спортлото, если бы там ответили. Просто увидел первый попавшийся живой тред, в котором возможно появляется админ, который возможно знает, где документация по API.
>>21331 HTTP(S)(/2).
Разработчик-кун, когда будешь приступать к созданию панели для модерирования в движке?
>>22257 Если речь об этом, то оно там с прошлого года.
>>22280 Что же, очень классно выглядит. Только у меня два вопроса: 1) Что это за "Set Approved"? 2) Что насчет банов? Ты ее делал уже?
Вопрос в студии к товарищу разработчику: насколько сильно готов движок, чтобы его можно было накатить для борды? > staff permissions system > bans and moderation features Эти пунктики выше еще не реализованы, как я понял, так?
>>22329 1) Без понятия. Это свойство взято из кода кусабы или еще чего, было добавлено чтоб было. В данный момент ничего не делает и назначение этой функции предстоит придумать. 2) Пока нет. >>22349 К продакшену еще много чего не готово, ожидать следует не раньше 2020. Когда оно будет готово, об этом будет объявлено.
Извиняюся, но у меня кнопочка "quick reply" не вставляет ссылку на пост в месседж бокс. И еще когда наводишь мышку на реплаи, то всплывает красненькое окошечко с надписью "500 internal server error". Что-то криво поставилося?
>>22478 Так же кнопочки "удалить, закрепить, закрыть, открыть" тоже выдает ошибку 500. Еще кнопочка stuff выдает пик.
>>22478>>22479 Спасибо за багрепорт. Все исправлено (некоторое время назад). Страница Staff выдавала ошибку из-за того, что не было добавлено ни одной роли (manage/roles), и вместо пустого массива у юзера роли были undefined. По той же причине не работали попапы. Теперь работает и без ролей. Быстрого ответа просто не было запилено, теперь он есть.
>>22591 Спасибо! Но теперь оно постить отказывается :3
>>22636 Еще одна тупая ошибка, которая проявляется только на пустой доске. Исправлено. Добавлена новая фича - редактор стилей. Дополнительные темы можно клепать прямо через админку. Так же обновлен node.js и все остальное. Контейнеры необходимо пересобрать командой -d --force-recreate --build
>>22641 > docker-compose up -d --force-recreate --build fix
GJ