[WT] [Архив]  [Поиск] Главная Управление
[Совместно с Ычаном]
[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]
Ответ в нить [Последние 50 сообщений]
Имя
Animapcha image [@] [?]
Тема   ( ответ в 17371)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, OGG, PDF, PNG, PSD, RAR, SVG, SWF, TXT, XCF, ZIP размером до 10000 кБ.
  • Ныне 3041 unique user posts. Посмотреть каталог
  • Максимальное количество бампов нити: 500
150682259759.jpg-(84.21KB, 960×720, 1258163340905.jpg)
17371
No. 17371 watch    
Давайте попробуем, что ли.

JS у нас по-прежнему ковырять некому, но хотелось бы доработать местную функцию разворота картинок. Сейчас она просто разворачивает изображение целиком без учёта размера окна браузера. Соответственно, требуется доработать её так, чтобы ширина окна учитывалась.
Скрипт лежит в http://410chan.org/lib/javascript/kusaba.js

Да, я в курсе, что все привыкли к тому, что для разворота надо нажимать на картинку, а не ссылку над ней (как у нас сейчас). Если скрипт научится учитывать ширину окна, это можно будет переделать.
297 сообщений пропущено. Показаны 50 последних сообщений Развернуть все изображения
No. 19329    
Файл
удалён
Если файл превосходит установленный в /dev/ предел размера, то появляется сообщение «Убедитесь, что ваш файл весит меньше, чем 10240000B».

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

Ещё призываю отменить предел 10×1024×1000 как нелогичный в пользу 10×1024×1024 (и те же изменения по необходимости проделать в других подразделах 410чана), тем более что встроенный в движок измерения объёмов файлов (который пишет килобайты и мегабайты над миниатюрами) всегда оперирует двоичными (на 1024 основанными, а не на 1000) величинами.
No. 19330    
151965726527.jpg-(91.73KB, 1024×576, 5I0CpZlh.jpg)
19330
>>19329
В очередной раз злоупотребляющие хостингом любители изучать системные сообщения о лимитах файлов в дальнейшем обнаружат себя изучающими сообщения о бане.

>>19327
У нас пока нет официальной поддержки HTTPS. В любом случае, мы не будем ковырять архив пока не порешаем более актуальные проблемы.
Если ковыряться с костылями, то почему бы не накостылить скрипт на чём-либо, который локально сконвертирует старые HTML под более актуальную вёрстку, например?

>>19307
Отказ.
No. 19335    
Что значитъ ремесло!
У всѣхъ какъ постингъ постингъ —
А у меня во зло
Употреблённый хостингъ.
No. 19336    
Недавние эксперименты с публикацией GIF-анимаций приводят меня к убеждению в том, что Кусаба генерирует миниатюры GIF во много менее чем достаточно хорошем качестве.

Концептуально эта проблема покоится на нескольких основаниях, о которых я сейчас расскажу на примере гитхабовского кода Кусабы, для которого в настоящее время (и последние 2½ года) коммит 79479456141fe2ce937e94b5f5939d838071387b является последним, так что именно его я буду использовать при записи URLов.

Во-первых, по умолчанию в файле «config.php» в строке 139 настройка «$cf['KU_THUMBMETHOD']» имеет, как это по адресу https://github.com/tslocum/kusaba/blob/79479456141fe2ce937e94b5f5939d838071387b/trunk/config.php#L139 можно видеть, значение «'gd'», то есть при генерации миниатюр движок полагается на библиотеку GD (встроенную в PHP), а не пытается вызвать https://www.imagemagick.org/ как внешнюю программу (которая, возможно, отъела бы больше оперативной памяти во время работы, но лучше справилася бы). Кроме того, вариантами «'gd'» и «'imagemagick'» эта настройка исчерпывается, то есть подключение других утилит (ну вот http://www.graphicsmagick.org/ хотя бы, которая обещает быть меньше по размерам и меньше жрать ресурсы сервера, чем ImageMagick) в движке Кусабы вообще не предусмотрено. (А какова настройка «$cf['KU_THUMBMETHOD']» на 410чане?)

Во-вторых, как именно библиотека GD используется? — об этом нетрудно осведомиться в файле https://github.com/tslocum/kusaba/blob/79479456141fe2ce937e94b5f5939d838071387b/trunk/inc/func/posts.php и видеть там в функции «fastImageCopyResampled» (на строке 133 и далее), что точность миниатюризации приносится в жертву скорости: сперва очень быстрым и самым грубым алгоритмом «ближайший сосед» иллюстрация переносится на холст, превосходящий миниатюру в считанное количество раз (по умолчанию — в три раза, «$quality = 3»), и только затем Кусаба делает на его основе миниатюру алгоритмом, функциею «imagecopyresampled» применяемым (а этот алгоритм, как в комментарии http://php.net/manual/en/function.imagecopyresampled.php#54448 отмечается, даже не назван по имени в документации, но результаты мутнее даже бикубического преобразования, так что это может быть и не оно, а что-то другое худшее). Нечего и надеяться на https://ru.wikipedia.org/wiki/Фильтр_Ланцоша или нечто другое в этом же духе. (А какова настройка «$quality» на 410чане?)

В-третьих, пристальное вглядывание в код https://github.com/tslocum/kusaba/blob/79479456141fe2ce937e94b5f5939d838071387b/trunk/inc/classes/upload.class.php в районе строки 135 и строки 150 позволяет нам убедиться в намерении Кусабы сохранять миниатюру GIF-файла также в виде GIF, а намерение это открывает прямо-таки ящик Пандоры со всевозможными несчастьями.

Для начала, ограниченность палитры (проявляющаяся как чрезмерная резкость цветовых переходов между отдельными оттенками и чрезмерная грубость контуров) гораздо явственнее у миниатюрных изображений ввиду того, что в них пикселов меньше, так что, может быть, следовало бы для GIF создавать полноцветные миниатюры в JPEG или в truecolor PNG.

Но даже если не делать этого, то и тогда остаётся вопрос о том, каким способом результат уменьшения первоначального изображения (уменьшения, производящегося в полном цветовом пространстве) затем переводится в ограниченную палитру. Производится ли https://en.wikipedia.org/wiki/Ordered_dithering или https://en.wikipedia.org/wiki/Error_diffusion (или хоть в какой-то форме https://en.wikipedia.org/wiki/Dithering вообще) для сглаживания недостатков цветности, или каждый пиксел тупо переводится в тот цвет палитры, который наиболее близок его цвету? Как подбирается палитра, https://en.wikipedia.org/wiki/Palette_(computing)#Adaptive_palette ли это или что-то другое?

В том случае, когда настройка «$cf['KU_THUMBMETHOD']» имеет значение «'gd'», исходный код https://github.com/tslocum/kusaba/blob/79479456141fe2ce937e94b5f5939d838071387b/trunk/inc/func/posts.php даёт на эти вопросы мрачный ответ: в его строке 112 применяется тупо «imagegif», а документация http://php.net/manual/en/function.imagegif.php ничего хорошего насчёт dithering не обещает.
No. 19337    
В том же коде в районе строки 53 (и дальше) можно увидать, что когда настройка «$cf['KU_THUMBMETHOD']» имеет значение «'imagemagick'», вызов внешнего конвертера имеет простенький вид «convert исходник.gif -resize ШИРИНАxВЫСОТА -quality 90 миниатюра.gif», и единственная поблажка для GIFов — повышение качества (quality) от значения 70 к значению 90 на строке 62.

Я готов откровенно сознаться, что смысл её от меня ускользает, так как по адресу https://www.imagemagick.org/script/command-line-options.php#quality формат GIF вообще-то не упоминается среди тех, на сохранение которых влияет эта настройка.

Хорошо ещё хоть, что http://www.imagemagick.org/script/command-line-options.php#dither обещает dithering (причём по умолчанию: сказано «automagically when saving to specific formats», и можно надеяться на наличие GIF среди таковых форматов, хотя я предпочёл бы вместо надежд опираться на конкретный исчерпывающий список форматов), но вовсе не упомянут тот алгоритм, который применяется по умолчанию (Riemersma ли это или всё же Floyd-Steinberg?).

Во как, етить-колотить.
No. 19338    
151978400599.7z-(1.08KB, MithgolGIF.7z)
19338
Естественно, обзор http://www.imagemagick.org/Usage/bugs/ordered-dither/ как бы говорит нам, что ситуацию есть куда улучшить.

Предлагаемый патч прилагаю.
No. 19339    
Сразу скажу ещё, что предложение >>19338 имеет смысл только в том случае, если на сервере у 410чана ImageMagick установлен, причём не старше, чем обзор http://www.imagemagick.org/Usage/bugs/ordered-dither/ (то есть не старше конца сентября 2006 г.).
No. 19340    
>>19336
>А какова настройка «$cf['KU_THUMBMETHOD']» на 410чане?
Читайте тред, блджад.
>Ну щта там, для картинок используется gd.
No. 19341    
15198561187.gif-(2.62MB, 1920×1080, Carnival Phantasm - within my calculations.gif)
19341
>>19340

Это более чем месячной давности упоминание ускользнуло из моей памяти, но вообще-то примерно это по качеству миниатюр GIF (явно демонстрирующих отсутствующий dithering) я и ожидал.
No. 19342    
151985787055.gif-(14.69KB, 199×112, thumbFloydSteinberg.gif)
19342
Теперь с примером миниатюры >>19341 сравните результат выполнения команды «magick convert "Carnival Phantasm - within my calculations.gif"[0] -resize 200x112 -quality 100 -dither Floyd-Steinberg thumbFloydSteinberg.gif».
No. 19343    
151985975650.7z-(909B, Floyd-Steinberg.7z)
19343
Результат >>19342 убеждает меня в том, что на небольших изображениях ImageMagick, действуя с параметром «-dither Floyd-Steinberg», получает гораздо более качественные результаты в GIF, нежели PHP-функция «imagegif» — и даже более качественные, чем тот же ImageMagick, но действующий с параметром «-ordered-dither o8x8» (по-видимому, способность ImageMagick подбирать нормальную человеческую палитру и одновременно предпринимать https://en.wikipedia.org/wiki/Ordered_dithering по алгоритму Байера настолько хуже, чем способности FFmpeg, что результат получается всё ещё много вырвиглазнее, нежели https://en.wikipedia.org/wiki/Error_diffusion по Флойду-Штейнбергу; но так вроде бы не должно быть, поэтому либо я нашёл баг, либо сильно недопонял что-то очень важное).

Кроме того, предпринятый мною эксперимент показал, что предложенный на строке 56 в исходном коде https://github.com/tslocum/kusaba/blob/79479456141fe2ce937e94b5f5939d838071387b/trunk/inc/func/posts.php#L56 у Кусабы способ вызова ImageMagick с параметром «-coalesce» вовсе не отключает анимацию у получающейся миниатюры (как на это, по всей видимости, надеялся автор этого кода Кусабы), а вместо того уместнее прибегнуть к рецепту https://stackoverflow.com/a/23468694 и указать «[0]» после имени исходного файла GIF для получения первого кадра его. Либо ImageMagick новейшей версии (7.0.7-24 Q16 x64 2018-02-25) как-то иначе реагирует на параметр «-coalesce» по сравнению с теми временами, когда сочинялася Кусаба, либо автор Кусабы с самого начала что-то понял не так.

Выводы из двух предыдущих абзацев я также прилагаю в форме патча, который предлагаю налагать после >>19338 дополнительно.
No. 19344    
151986026385.7z-(938B, combinedPatch.7z)
19344
Для простоты накладывания прилагаю также суммарный патч, >>19338 и >>19343 объединяющий собою.
No. 19430    
152124824471.gif-(27.24KB, 500×400, 1150262581200.gif)
19430
http://kusaba.yakuji.moe/kusabadiff
http://kusaba.yakuji.moe/webm/
Как-то так. Скрин админки если потребуется - по запросу. Дифф правился ручками, так что я бы опасался его пихать в автоматику даже на тестовой доске.

А теперь самое весёлое: в чистой кусабе с гитхаба, например, нет поддержки аудиофайлов. Как моя имплементация будет работать с Flower Bus... скорее всего не будет из коробки, и придётся их как-то совмещать. Также, просто накатить правки из >>19204 не вышло, поэтому никакого раскрытия видео нет. На доске пока настроено только webm из видеофайлов.
Требует ffmpeg (ffprobe в PATH). Требует изменений БД:
Эти для новых опций доски:
ALTER TABLE boards ADD 
maxvideolength
 int(5) NOT NULL DEFAULT '0';

ALTER TABLE boards ADD 
enablesoundinvideo
 tinyint(1) NOT NULL DEFAULT '0';

Это для того, чтобы разделять типы файлов в добавлении типов: картинки, видео, или другое. Добавлять по вкусу.
ALTER TABLE filetypes ADD 
mediatype
 varchar(10);


Алсо, переводов новых сообщений об ошибке и пунктов меню никот не добавлял.
No. 19431    
>>19430
Иии разметка съела всё что можно. В общем, название колонок в обратных кавычках. Я не знаю, насколько это обязательно, правда, я просто копировал freshinstall.
No. 19432    
152124947881.png-(645.15KB, 1008×707, 12345698.png)
19432
>>19430
В общем, я сейчас понятия не имею, когда мы сможем это ковырять/тестировать. Скорей всего, придётся долго ждать.
Захотите что-то там допилить, можете пока допиливать, только сообщайте об этом и сюда.
No. 19442    
Файл
удалён
>>19430

> просто накатить правки из >>19204 не вышло

В чём была основная трудность этого?
No. 19443    
>>19442
В том, что оно вообще не раскрывало даже картинки, пихало
onclick="expandimg(\'
и прочая плейнтекстом туда, где должны идти размер и имя файла, и я без понятия, куда пихать этот css.
No. 19446    
Здесь дорабатывают движок этой борды? Я щитаю, в интерфейсе недостает возможности встраивать видео в пост.
Думаете, куклоскрипта достаточно? Он может далеко не все. Например если дать ссылку на редтьюб, то не отобразит на странице. А вот на одной борде (типа возрожденный нульчан) я видел что интерфейс может парсить ссылки не только на ютуб, но на редтуб, хамстер и другие подобные сайты. Хорошо сделали, удобно - не надо идти туда где куча баннеров, сразу кликнул и смотри видео.
No. 19447    
>>19446
А если сделаете чтобы как на доброчане, можно было приложить к посту архив с файлами, вообще шикарно будет, а то пока файлы возможно передавать лишь в рарджпегах.
No. 19451    
152130348799.jpg-(34.21KB, 448×448, 1191904168555.jpg)
19451
>>19446>>19447
>Я щитаю, в интерфейсе недостает возможности встраивать видео в пост.
>можно было приложить к посту архив с файлами
Это и так есть в кусабе, так що вопросы не по адресу.
No. 19454    
152130640268.jpg-(254.13KB, 1264×1440, I hold my cookie in the milk until the bubbles sto.jpg)
19454
>>19443

Ну что же, тогда почему бы мне не попробовать самому заняться этим.

Предлагаю положить на GitHub ту репу, которая http://kusaba.yakuji.moe/webm/ обслуживает (то есть правки http://kusaba.yakuji.moe/kusabadiff содержит), после чего сообщить мне её адрес на Гитхабе.

В этом случае я постараюсь самостоятельно¹ сочинить такой pull request, который наложит на репу всѣ необходимые правки в коде PHP и CSS и JavaScript.

____________

¹ Слово «самостоятельно» в данном случае означает, что я надеюсь обойтись в этом деле своими силами, но всё же намерен опереться на ту помощь, которая в этом обсуждении ранее была оказана. Например, при сочинении PHP-кода я намерен руководствоваться предложенными в реплике >>18069 изменениями https://pastebin.com/N4zjWwtA
No. 19499    
Файл
удалён
Болѣе недѣли прошло.

Предложение >>19454 можно считать отклонённым.

Щикатаганай.
No. 19504    
152198574267.png-(2.83KB, 90×50, faptcha_rust.png)
19504
Предлагаю обновить фаптчу в /dev/
rust|раст
No. 19505    
152198601170.png-(4.14KB, 90×50, faptcha_rust_2.png)
19505
>>19504
No. 19506    
152198654013.png-(3.21KB, 90×50, faptcha_swift.png)
19506
swift|свифт
No. 19507    
152198655017.png-(2.21KB, 90×50, faptcha_swift_2.png)
19507
>>19506
No. 19508    
15219866111.png-(2.97KB, 90×50, faptcha_nodejs.png)
19508
node|nodejs|node.js|нодежс|ноджс|нод|нода
No. 19509    
152198675256.png-(2.10KB, 90×50, faptcha_erlang.png)
19509
erlang|эрланг|ерланг
No. 19510    
152198697782.png-(2.23KB, 90×50, faptcha_angular.png)
19510
angular|angular.js|angularjs|ангуляр|ангуляржс|ангулар|ангуларжс
No. 19511    
152198712234.png-(1.93KB, 90×50, faptcha_vue.png)
19511
vue|vuejs|vue.js|вью|вьюжс|вью.жс|вуе|вуежс
No. 19512    
>>19508>>19510
Вариант написания через “джс” добавь.
No. 19513    
>>19511
А тут ещё через “вюе”.
No. 19514    
152198734881.png-(4.24KB, 90×50, faptcha_react.png)
19514
react|react.js|reactjs|реакт|реакт.жс|реакт.джс|реактжс|реактджс
У меня пока все.
No. 19515    
152198759128.png-(2.47KB, 90×50, faptcha_mongodb.png)
19515
mongo|mongodb|монго|монгодб
No. 19516    
152198798770.png-(3.41KB, 90×50, faptcha_qt.png)
19516
qt|кут|кьют|кьюти|куте|кути
No. 19517    
152198811761.png-(7.33KB, 90×50, faptcha_newgame.png)
19517
キタ━━━(゚∀゚)━━━!!
No. 19580    
152299532128.jpg-(65.70KB, 400×477, 1149377865935.jpg)
19580
>>19432
Новая версия. При помощи инструкций из >>19204 и немного смекалки добавлено раскрытие webm в постах.

Выявлен баг текущей имплементации: при пересборке страниц из мод-панели, миниатюры не отображаются. Вообще нигде. Если это критично, то мне потребуется ещё некоторое время на фикс.

>>19454
Я не вижу причин вообще как-либо на меня полагаться в этом вопросе, или поднимать гитхаб для одной фичи. Темпы разработки таже намекают, что мне просто противно смотреть на этот код слишком часто.
No. 19581    
>>19580
Ах да, ссылка та же: http://kusaba.yakuji.moe/kusabadiff
No. 19582    
>>19580>>19581
Поправлено там же.
No. 19596    
Господа криворукие, вы сломали якорные ссылки на посты при нажатии на ссылку "Полный текст." у поста на доске.
No. 19597    
>>19596
Их здесь не было никогда.
No. 19599    
>>19580

> При помощи инструкций из >>19204 и немного смекалки добавлено раскрытие webm в постах.

Пристальное вглядывание в файл http://kusaba.yakuji.moe/kusabadiff в настоящее время открывает в нём ближе к концу вот такой фрагмент кода, которого в 7z-архиве >>19204 не было:

function expandimg(postId, fullSrc, thumbSrc, fullWidth, fullHeight, thumbWidth, thumbHeight) {

   var el = document.querySelector('#thumb' + postId + ' .thumb');
   if (el.getAttribute('src') === fullSrc) {
      el.setAttribute('src', thumbSrc);
      el.setAttribute('width', thumbWidth);
      el.setAttribute('height', thumbHeight);
   } else {
      el.setAttribute('src', fullSrc);
      el.setAttribute('width', fullWidth);
      el.setAttribute('height', fullHeight);
   }
}


Предлагаю уничтожить его физически.

Его наличие в настоящее время вообще ничему не мешает, так как код из 7z-архива >>19204 всё равно переопределяет функцию «expandimg» (на той строке, которая в настоящее время в файле http://kusaba.yakuji.moe/kusabadiff является тысяча пятьсот шестьдесят шестой) именно так, как задумано мною. Но в дальнейшем эти двенадцать строк кода могут кого-нибудь сбить с толку и побудить к сомнениям и тягостным раздумьям об их подлинном смысле, их долге и их предназначении. А это лишнее.
No. 19605    
>>19599>>19580
В самом деле. Поправлено там же.
No. 19610    
>>19605

Очень хорошо.

Руководствуясь соображениями, по адресу https://github.com/WagonOfDoubt/iichan-extensions/pull/11 изложенными, предлагаю отпилить строку «player.muted = true;».
No. 19611    
>>19610>>19580
Принято. Поправки внесены в надежде на то, что требования в ближайшее время не изменятся, и что откат изменений к предыдущей версии очевиден, если использовать >>19204.
No. 19706    
Ещё заметка: я не уверен, как будут вести себя webm на странице "Недавние изображения" в админке, если они вообще там будут. По крайней мере я только что запостил файл и его там не увидел. Как с этим будет обращаться Автобус, мне неизвестно.
Стоит ли делать патч для обычной кусабы, чтобы webm на той странице появлялись, и если да, то как устроить их отображение?
No. 19707    
>>19706
>то как устроить их отображение?
Также как и GIF, очевидно.
No. 19709    
>>19707
Показывать, превьюшкой, по ссылке вести в тред, а там пусть в треде раскрывают/проверяют?
No. 19750    
В движке 410чана есть баг в обработке URLов, содержащих русские буквы.

Этот баг приводит к тому, что в реплике >>19332 та гиперссылка, которая на Википедию, разрушена на месте последней буквы (буквы «л» в слове «файл»).
No. 19772    
>>19709

Так как за полторы недели никто не откликнулся, то предлагаю по умолчанию считать, что отвѣтъ — «да».
Удалить сообщение []
Пароль  
[Mod]