Ычан: [d | b / bro / hr / l / m / mu / o / s / tran / tu / tv / vg / x | a / aa / c / fi / jp / rm / tan / to / vn]
[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]
Ответ в нить [Последние 50 сообщений]
Имя
Animapcha image [@] [?]
Тема   ( ответ в 18881)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, MP4, OGG, OGV, PDF, PNG, PSD, RAR, SVG, SWF, TXT, WEBM, WEBP, XCF, ZIP размером до 5120 кБ.
  • Ныне 3654 unique user posts. Посмотреть каталог
  • Предельное количество бампов нити: 500
kotoba_logo_lg.png - (51.07KB, 349×500)
18881
No. 18881  
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.
139 сообщений пропущено. Показаны 50 последних сообщений
No. 19972  
Screenshot_20180516_110200.png - (10.08KB, 538×182)
19972
キタ━━━(゚∀゚)━━━!!
No. 19976  
>>19972
Поменяй права доступа к папке html, очевидно же. Проверь их через ls -l
Конкретно нужно сделать:
~/kotoba.js/$ chmod -R a+w html
и возможно (хотя маловероятно):
~/kotoba.js/$ chmod -R a+w containers/node/html
Только что проверил установку с нуля, у самого все завелось с первого раза.
No. 20068  
Пора бы уже приступить за реализацию модерки и админки борды. А то уже столько времени прошло на самом деле, что работой будет тяжело отвертеться.
No. 20069  
1510664967001.jpg - (212.60KB, 540×703)
20069
>>20068
Совсем не тяжело.
No. 20101  
キタ━━━(゚∀゚)━━━!!
No. 20109  
Может хватит в 2к18 тащить этот уже декаду как неактуальный дизайн? Ну некрасиво и неудобно же.
No. 20127  
>>20109
Вы таки о чём?
No. 20128  
>>20127
Мы таки хотя бы вот об этом: >>20101, например.
No. 20129  
>>20128
О каталоге? О фрейме? О больших глазах в аниме? О >>ссылках? Об Умночане?
Ты можешь нормально излагать свои мысли?
No. 20130  
>>20109
> Неактуальный дизайн
Говори за себя. Дизайн движка очень даже ничего. Жаль, что автор мало им занимается. А ведь проект и правда очень интересный.
No. 20134  
>>20129
Обо всем вместе. Может, разве что, кроме глаз.
No. 20145  
Когда админку и модерку сможешь допилить?
No. 20148  
tumblr_pax00abOqd1wnmxkbo1_1280.png - (659.50KB, 908×1248)
20148
>>18996
Ето же древняя проблема в виндовых штуках, плюс оно как-то связанно было не с JS, а VB, на сколько мне помнится.

ЗЫ: Тред читал не очень внимательно, но ОП молодец.
No. 20174  
Top links после редактирования не обновляются
No. 20177  
>>20174
Фича любого движка борд. Нужно написать пост, чтобы страница перегенерировалась.
No. 20178  
>>20177
В любом движке борд есть кнопка "пересобрать страницы".
No. 20179  
>>20178

Насколько я понимаю, автором реплики >>20174 был сторонник самосбора.
No. 20182  
>>20178
Тут она тоже есть. Раздел maintenance.
No. 20193  
Когда будет апдейт движка, товарищ разраб?
No. 20875  
Что там по движку. Когда админка будет? Судя по гитхабу, ты там месяц назад делал последний коммит.
No. 20881  
Прочитал ОП-пост, а там какой-то маркетинговый буллщит с "обычный порошок" и "наш котоба-порошок".
No. 20890  
афтар выйпеи йаду и апстол... jquery все портит.
No. 20895  
Предположим ситуацию.
Юзер написал пост. Юзер может его удалить. Модераторы могут его удалить.
Модератор 1 удалил пост, затем другой модератор 2 решил, что удалять его не надо, и восстановил. Модератор 1 не может удалить пост повторно, так как модератор 2 его семпай, и его действия имеют приоритет. Затем постер решил его удалить. Может ли оригинальный потер удалить свой пост, если в посте записано, что модератор 2 защитил пост от удаления своим кохаем модератором 1? Может ли удаленный постером пост быть восстановлен модератором?
No. 20896  
>>20895
Да.
Нет.
No. 20898  
>>20881
А по делу критики как обычно нет. Классика.
No. 20899  
>>20890
> jquery все улучшает.
Поправил тебя.
No. 20900  
.jpg - (12.81KB, 259×194)
20900
>>20898
>>20899
Сёма не палится.
No. 20904  
Доброе утро. Говорит Mithgol the Webmaster. Если нужно повторение того мнения, совершённое достоверно другим участником обсуждения, то сообщаю сам от себя: во-первых, выраженное падонковским сленгом мнение «афтар выйпеи йаду и апстол» способно произвести желаемое впечатление только на других же падонков да ещё на жидокащенитов, тогда как всѣ остальные такому надругательству над русскою рѣчью рады не будут (да и с чего бы им быть); во-вторых, употребление jQuery сильно упрощает жизнь разработчику (ввиду того, что сокращается запись «document.getElementsByTagName('td')» до размера «$('td')», а также и другие подобные, мною по адресу https://410chan.org/dev/arch/res/17371.html#18188 перечисленные в декабре прошлого года).
No. 20905  
>>20898
Так ты по делу никаких преимуществ и не привел, какая тут может быть критика?
No. 20906  
>>20904
window.$ = document.querySelectorAll.bind(document);

Ну в общем ты понял. Жидокьюери - замшелый и уже даже начинающий попахивать пережиток прошлого. жывтоне чочо упячка упячка упячка шячло попячтса попячтса
No. 20907  
>>20900
Ты так говоришь, будто это что-то плохое в своей основе.
мимо шел
No. 20908  
>>20904
Говорят, подключать целую библиотеку ради квериселекта не очень разумно.
No. 21155  
kemurikusaba.png - (54.75KB, 449×253)
21155
Круглая дата в 1 год с начала разработки прошла пару месяцев назад, но есть еще один круглый инфоповод - 100-й коммит, так что пришло время что-то сказать о прогрессе.
Из модераторских функций есть возможность удалять треды, посты или изображения (с возможностью восстановления), ставить на изображения флаги "NSFW" и спойлер (соответствующих заглушек пока нет), прикреплять или закрывать треды. Вызывается это из панели, которая появляется по выбору чекбокса удаления поста, без необходимости лезть куда-то далеко в админку.
Реализован модлог, в который складываются все действия с постами, настройками досок и сайта. Каждое действие в модлоге можно отменить, просто выбрав чекбокс у записи.
Добавлена система ролей. Каждому пользователю можно назначить роль для доски, например "moderator" в /b/ и "janitor" в /a/. Количество и назначение ролей может быть произвольным - можно добавлять роли и редактировать их (при этом изменяя разрешения для всех, кому эта роль назначена). Роль определяет, какие поля пользователь может редактировать, например для вложений: attachment.isDeleted, attachment.isNSFW, attachment.isSpoiler, так же у роли есть приоритет (возможно реализовать индивидуальный приоритет для каждого действия, но для простоты он глобальный на роль и поле приоритета на все действия называется здесь иерархией), действия с более высоким приоритетом не могут быть отменены пользователем, у которого приоритет этого действия ниже. (На данный момент процесс арбитража не реализован, будет добавлен в ближайших коммитах).
Еще предстоит решить, что делать с действиями, которые не ограничиваются пространством доски (например, создавать доски или постить новости на главную). Может сделать еще одну категорию ролей, не относящихся к доскам, или просто назначать эти разрешения пользователю индивидуально, а не скопом.
API постепенно полируется и медленно документируется (да, абсолютно все действия доступны через REST API, так было всегда)
В целом еще много чего не реализовано, и много чего реализовано наполовину. Но форму постепенно это все обретает.
No. 21283  
>>21155
Это очень хорошо что ты продолжаешь пилить движок. Думаю скоро вообще можно поднять тестовую борду на этом движке.
> просто назначать эти разрешения пользователю индивидуально, а не скопом.
Думаю, это самый лучший вариант.

Алсо, что насчёт самой админки? Когда она появится? И что насчёт системы банов?
No. 21331  
Здравствуйте.
Есть ли у сайта "iichan" какой-то публичный API, как у 2ch.hk или 4chan.org?
Почему спросил: есть в интернете "универсальный" фронтенд для имиджбордов, интегрирующийся с вышеупомянутыми сайтами.
https://catamphetamine.github.io/chanchan/
Судя по всему, достаточно лишь JSON API.>>21283
No. 21333  
>>21331
Почему ты спрашиваешь об этом в треде разработки движка, который не имеет никакого отношения к Ычану?
No. 21337  
>>21333
> Почему ты спрашиваешь об этом в треде разработки движка, который не имеет никакого отношения к Ычану?
Я бы написал в Спортлото, если бы там ответили.
Просто увидел первый попавшийся живой тред, в котором возможно появляется админ, который возможно знает, где документация по API.
No. 21340  
>>21331
HTTP(S)(/2).
No. 22257  
Разработчик-кун, когда будешь приступать к созданию панели для модерирования в движке?
No. 22280  
adminpanel.webm - (2.12MB, 1024×720)
22280
>>22257
Если речь об этом, то оно там с прошлого года.
No. 22329  
>>22280
Что же, очень классно выглядит. Только у меня два вопроса:
1) Что это за "Set Approved"?
2) Что насчет банов? Ты ее делал уже?
No. 22349  
Вопрос в студии к товарищу разработчику: насколько сильно готов движок, чтобы его можно было накатить для борды?

> staff permissions system
> bans and moderation features

Эти пунктики выше еще не реализованы, как я понял, так?
No. 22350  
>>22329
1) Без понятия. Это свойство взято из кода кусабы или еще чего, было добавлено чтоб было. В данный момент ничего не делает и назначение этой функции предстоит придумать.
2) Пока нет.
>>22349
К продакшену еще много чего не готово, ожидать следует не раньше 2020. Когда оно будет готово, об этом будет объявлено.
No. 22478  
image.png - (105.06KB, 247×315)
22478
Извиняюся, но у меня кнопочка "quick reply" не вставляет ссылку на пост в месседж бокс. И еще когда наводишь мышку на реплаи, то всплывает красненькое окошечко с надписью "500 internal server error".
Что-то криво поставилося?
No. 22479  
image.png - (26.44KB, 789×280)
22479
>>22478
Так же кнопочки "удалить, закрепить, закрыть, открыть" тоже выдает ошибку 500.
Еще кнопочка stuff выдает пик.
No. 22591  
079Slowpoke.png - (387.86KB, 844×844)
22591
>>22478>>22479
Спасибо за багрепорт. Все исправлено (некоторое время назад).
Страница Staff выдавала ошибку из-за того, что не было добавлено ни одной роли (manage/roles), и вместо пустого массива у юзера роли были undefined. По той же причине не работали попапы. Теперь работает и без ролей.
Быстрого ответа просто не было запилено, теперь он есть.
No. 22636  
image.png - (5.66KB, 268×126)
22636
>>22591
Спасибо!
Но теперь оно постить отказывается :3
No. 22641  
>>22636
Еще одна тупая ошибка, которая проявляется только на пустой доске. Исправлено.
Добавлена новая фича - редактор стилей. Дополнительные темы можно клепать прямо через админку.
Так же обновлен node.js и все остальное. Контейнеры необходимо пересобрать командой -d --force-recreate --build
No. 22642  
>>22641
> docker-compose up -d --force-recreate --build
fix
No. 26300  
GJ
Удалить сообщение []
Пароль  
[Mod]