[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 кБ.
  • Ныне 3053 unique user posts. Посмотреть каталог
  • Максимальное количество бампов нити: 500
150682259759.jpg-(84.21KB, 960×720, 1258163340905.jpg)
17371
No. 17371 watch    
Давайте попробуем, что ли.

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

Да, я в курсе, что все привыкли к тому, что для разворота надо нажимать на картинку, а не ссылку над ней (как у нас сейчас). Если скрипт научится учитывать ширину окна, это можно будет переделать.
388 сообщений пропущено. Показаны 50 последних сообщений Развернуть все изображения
No. 20209    
153166603052.jpg-(45.39KB, 800×650, fotonoticia_20150312160703_800.jpg)
20209
>>17713
>Я не лезу в те части движка, принцип работы которых не понимаю
No. 20215    
153170258277.7z-(15.89KB, shinkusaba.7z)
20215
>>20161

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

Так как полуторанедельный (одиннадцатидневный) срок после этой реплики можно считать прошедшим, то я прекратил ожидание и сочинил собственный вариант перевода файла http://410chan.org/lib/javascript/kusaba.js к употреблению нового движка (jQuery) вместо прежнего (Protoaculous), ориентируясь и опираясь на проделанную автором скрипта https://pastebin.com/X9HChJp5 большую работу и внося в неё пространные изменения и дополнения по своему вкусу.

Архив результатов прилагаю. Он содержит и заменитель для kusaba.js (под именем shinkusaba.js), и сопроводительный текст заметок для чтения (под именем readme.md), и конфигурацию (.jshintrc) для автоматического тестирования синтаксической корректности кода посредством расположенного по адресу http://jshint.com/ движка.

Для проблемы перетаскивания и растягивания окошка «Избранные нити» (для проблемы, от решения которой автор скрипта https://pastebin.com/X9HChJp5 решил, как мы помним, воздержаться — не то за неимением времени, не то за неимением убеждённости в перспективах употребления результатов на 410чане…) в моём коде предлагается решение, основанное на расположенных по адресу https://draggabilly.desandro.com (для перетаскивания) и https://github.com/tannernetwork/resizable (для растягивания) плагинах для jQuery, выбранных прежде всего за сравнительно небольшую величину их.
No. 20216    
>>20215
Я думал начать на выходных, но пока не было времени. А в эти полторы недели меня вообще не было, на что я и намекал.
Впрочем, если это работает, то и чёрт с ним.
No. 20225    
153184645637.gif-(9.66MB, 1013×570, One Does Not Simply Walk into Mordor.gif)
20225
>>20216

> Впрочем, если это работает, то и чёрт с ним.

А не работает, ах-ха-ха-ха.

Во-первых, нельзя просто взять и выбросить ту груду кода, которая в файле http://410chan.org/lib/javascript/kusaba.js сейчас занимает строчки от 685 до 781, и заменить тем более изящным решением, которое в коде https://pastebin.com/X9HChJp5 занимает строчки от 530 до 560. Потому что у нас есть ещё милейшие разработчики Flower Bus Engine, которым в kusaba.js вписывать весь джаваскрипт — это ниже их достоинства, и которые вместо того на каждую страницу фигачат из PHP тег «script», который (например, на странице http://410chan.org/dev/ между строками 185 и 200) врубает изменение размера формы цветком во всех браузерах, кроме Chrome, и который при этом полагается на существование объекта resizeMaster и даже метода setResizer у этого объекта. (А теперь концепция изменилась и цветок нужен везде для красоты. Получается, теперь этот метод надо будет досоздать пустым для того только, чтобы inline script не выдал ошибку, прерывающую дальнейшую работу скриптов на странице.)

Во-вторых, нельзя просто взять и выбросить ту груду кода, которая в файле http://410chan.org/lib/javascript/kusaba.js сейчас занимает строчки от 28 до 104, и заменить каким-нибудь менее громоздким методом экранирования значений, укладываемых в cookies (например, вызовом библиотечного метода «encodeURIComponent»). Потому что вся эта груда кода — грандиозный костыль, узенькая досточка поперёк гигантской зияющей пропасти на месте того, как значение cookies обрабатывается на серверной стороне и какой ужас там творится (на месте нормального человеческого https://secure.php.net/manual/en/book.mbstring.php или чего-нибудь в этом же роде) с обработкою UTF8. (Там весь баг >>20165 — только краешек краешка, я так понимаю.)
No. 20227    
153186263289.7z-(16.57KB, shinkusaba.7z)
20227
Второе из изложенных по адресу >>20225 опасений оказалось, впрочем, неосновательным.

Единственная серьёзная разница заключается в том, что https://secure.php.net/manual/en/function.urlencode.php использует плюс, тогда как https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent использует последовательность символов «%20» для кодирования пробела — и эта разница, разумеется, оказалась устранимою.

Что же касается бага >>20165, то он был всецело заслугою не серверной, а клиентской части кода, притом той именно, которая в файле http://410chan.org/lib/javascript/kusaba.js сейчас занимает строчки от 28 до 104 (и которую я устранил в своём варианте кода). Заметить это вовремя мне помешал целый ряд допущенных мною опечаток (ни одна из которых не была поймана http://jshint.com/ ввиду того, что они синтаксически были корректны), которые я также выловил и прибил.

Обновлённую версию архива >>20215 прилагаю.

На сей раз кроме синтаксической корректности (которую вдругорядь проверил посредством вышеупомянутого JSHint) я проверил и поведенческую работоспособность (настроив подмену скрипта http://410chan.org/lib/javascript/protoaculous-compressed.js на скрипт https://code.jquery.com/jquery-3.3.1.min.js и скрипта http://410chan.org/lib/javascript/kusaba.js на скрипт https://ipfs.io/ipfs/QmSSL3QLtx2H39cXQp8NXugtsByTC57YF9cTmC3gyrN3wo посредством движка >>20224 и затем пользуясь 410чаном в обычном режиме).

Скрытие и показ нитей обсуждения, скрытие и показ и обновление и перетаскивание окошка «Избранные нити» и изменение его размеров работает (в том числе тридцатипроцентная прозрачность во время перетаскивания).

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

Устранён баг, порождавший неработоспособность кнопки «Watch Thread» при закрытом окне «Избранные нити».

Устранён баг >>18966.
No. 20229    
153186708618.7z-(16.80KB, shinkusaba.7z)
20229
Также прилагаю вариант архива >>20227, дополнительно наделённый реализацией предложения >>18017 по отношению к скрытым нитям, в коде https://pastebin.com/X9HChJp5 содержавшейся.

Суть такова, что вместо cookies «'hiddenthreads'» используется одноимённый ключ в localStorage, так что при каждом обращении к серверу не передаётся полный список скрытых нитей обсуждения, что ускоряет дело.

Побочный эффект: так как, в отличие от cookies, значения localStorage привязаны к конкретному имени сервера, то попытка зайти на http://www.410chan.org вместо http://410chan.org (или наоборот) приводит к обнулению списка сокрытых нитей. Также и https вместо http. Это технологическое ограничение непреодолимо.

Желающим предварительно посмотреть посредством движка >>20224 предлагаю использовать копию скрипта, по адресу https://ipfs.io/ipfs/QmNixBNT1T5NZD24Q8wRkByjyq6PYc5c5cuhrSHdUXiQyu расположенную.

В отличие от предшествующего, этот архив не предлагается к немедленному внедрению на 410чане, а иллюстрирует тезис о вредоносности кусков джаваскриптового кода, в цикле вписываемых внутри тегов SCRIPT языка HTML5 вместо того, чтобы лежать в отдельном джаваскриптовом файле.

В данном конкретном случае такие куски содержат считывание «hiddenthreads = getCookie('hiddenthreads').split('!')» и затем (в отдельных фрагментах перед каждой нитью обсуждения в цикле) содержащую проверку наподобие «if (hiddenthreads.toString().indexOf('19666dev')!==-1)» и последующие действия по скрытию нити, даже когда в localStorage (в отличие от cookies) нить не помечена в качестве скрытой.

Эти действия совершаются независимо от содержащегося в файле http://410chan.org/lib/javascript/kusaba.js кода, так что их трудно подавить его подменою (или, вернее, такое подавление потребовало бы напиливания дополнительного кода, отменяющего эти действия, а в остальном бессмысленного).

Такие фрагменты (которые внутри тегов SCRIPT языка HTML5) не радуют и тем ещё, что они (в отличие от основного файла джаваскрипта) не кэшируются (так что замедляют собою скачивание каждой страницы каждый раз). Уместно в дальнейшем переписать и одновременно перетащить в джаваскриптовый файл как можно больше того исходного кода, который сейчас вставлен разрозненными кусками внутри HTML, особенно в тех случаях, когда таких кусков много (и притом они автоматически генерируются на серверной стороне в цикле), но их мог бы заменить единственный кусок кода внутри джаваскриптового файла: это уменьшит не только расходы времени на скачивание кода (за счёт кэширования), но и расходы времени на регенерацию страницы (за счёт отказа от исполнения части прежнего кода PHP на стороне сервера).
No. 20230    
153186916337.png-(6.51KB, 384×384, 1151936059734.png)
20230
Давайте я тогда приду в ночь с пятницы на субботу, уточню, правильно ли я понимаю всё это, и там за выходные как-то попробуем доразбираться с этим делом?
No. 20231    
153187438552.7z-(17.25KB, shinkusaba.7z)
20231
Вот новая улучшенная версия архива >>20227, которую можно хоть сейчас внедрять.

(Перед окончательным внедрением можно предпросматривать скрипт https://ipfs.io/ipfs/QmWymCQis13ujoUURKbKEYRwp83fwQVfnQw5FjNDTxrDsf движком >>20224.)

Дополнительно (по сравнению с версией >>20227) была устранена подмеченная в реплике >>20155 (пункт №2) необходимость перезагрузки страницы для открытия панели «Избранные нити» — необходимость, которая иногда была простою неприятностью («чего это панель появляется не сразу, а надо сёрвер дёрнуть?»), а иногда ЛЮТО БѢСИЛА («эээ, куда это моя недонабранная реплика стёрлась, вы чё ващеее?»).

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

После внедрения этого джаваскрипта серверный код может быть также сокращён (без малейшего промедления), если убрать (вместе со всем содержимым) тот тег «script», который начинается проверкою «if (getCookie('showwatchedthreads') == '1')» и предшествует логотипу «<div class="logo">». После этого в shinkusaba.js нужно раскомментировать строчку «if( getCookie('showwatchedthreads') ) generateWatchedThreadsElement();» (одну из последних в shinkusaba.js), и стереть две последующие строчки («resizeWatchedThreads()» и «dragWatchedThreads()»), и убрать обе строчки, начинающиеся комментарием «TODO: undo inline script».

Работать будет и без этого сокращения, но после этого сокращения исходный код страницы выглядеть будет изящнее и компактнее: некэшируемая часть его уменьшится, а также исчезнет баг, порождающий появление мусорного знака подчёркивания справа от косого креста, расположенного в левом нижнем углу панели «Избранные нити».
No. 20232    
153188222290.7z-(17.58KB, shinkusaba.7z)
20232
Если реплика >>20230 была откликом на реплику >>20225, то доразобрался уж, спасибо; если же в более общем смысле, то тогда никому не смею мешать разбираться, и даже приветствую разбирающихся.

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

Во-первых, устранена обозначенная в репликах >>19596 и >>19597 тягостная проблема, то есть гиперссылки «Полный текст» перестали откручивать страницу к началу нити обсуждения (откуда к конкретной реплике ещё крутить возиться), и вообще теперь они дѣйствуютъ не через загрузку новой страницы, а через AJAX (используя тот же API, которым пользуется и предпросмотр при наведении на гиперссылку).

Во-вторых, найдена и удавлена та ошибка, которая начиная от момента >>20119 позволяла jQueryйной версии разворачивателя развёртывать иллюстрации слишком широко (потому что на них класса «thumb» недоставало). Недостающий класс поставлен.

410чановской администрации рекомендую внедрять этот скрипт на сайте посредством инструкции, прилагаемой в файле readme.md в архиве.

Всей остальной честнóй публикѣ предлагаю заранее ознакомиться с предполагаемым эффектом, посредством редиректора (по адресу http://einaregilsson.com/redirector/ предлагаемого для Firefox и для Chrome и для Opera) настроив перенаправление с адреса http://410chan.org/lib/javascript/protoaculous-compressed.js на адрес https://code.jquery.com/jquery-3.3.1.min.js и затем ещё с адреса http://410chan.org/lib/javascript/kusaba.js на адрес https://ipfs.io/ipfs/QmWrVZpHvE9xKmiMbNUSPHPPQFFCbrq5TuzF6v7VmWb54X
No. 20233    
153188281381.png-(146.93KB, 1776×731, redirector.png)
20233
В качестве пояснения к последнему абзацу реплики >>20232 прилагаю скриншот окна редиректора, на котором изображена кнопка «Edit Redirects» и открываемое ею окно для настройки перенаправлений.

Ѿдѣльно указываю, что при создании перенаправления непременно надо нажать гиперссылку «Show advanced options…» и поставить галочку напротив пункта «Scripts», так как речь идёт о перенаправлении одних джаваскриптов (protoaculous и kusaba) на другие (jQuery и shinkusaba).

Пример моих настроек виден на сём скриншоте, и вам остаётся только повторить его у себя.
No. 20235    
153191844134.7z-(17.70KB, shinkusaba.7z)
20235
Тем временем предлагаю всеобщему вниманию переработанную и дополненную версию архива >>20232, в которой исправлен стиль медиапроигрывателя и стиль гиперссылки, его закрывающей.

410чановской администрации рекомендую внедрять этот скрипт на сайте 410чана по инструкции, прилагаемой в файле readme.md в архиве.

Всей же остальной честнóй публикѣ предлагаю заранее ознакомиться с эффектом от предлагаемых изменений, для чего достаточно посредством редиректора (по адресу http://einaregilsson.com/redirector/ предлагаемого для Firefox и для Chrome и для Opera) настроить перенаправление с адреса http://410chan.org/lib/javascript/protoaculous-compressed.js на адрес https://code.jquery.com/jquery-3.3.1.min.js и затем ещё с адреса http://410chan.org/lib/javascript/kusaba.js на адрес https://ipfs.io/ipfs/QmeB4tB66FmJXq93ULFV6A9mmaZuWBBb11t3ukpz6B928d по примеру >>20233 (единственным отличием от того примера будет новый адрес https://ipfs.io/ipfs/QmeB4tB66FmJXq93ULFV6A9mmaZuWBBb11t3ukpz6B928d нового скрипта).
No. 20236    
153192197426.7z-(17.60KB, shinkusaba.7z)
20236
На сей раз предлагаю всеобщему вниманию переработанную и дополненную версию архива >>20235, посредством которой панель «Избранные нити» не только открывается сразу после нажатия на звёздочку (как это в версии >>20231 было достигнуто), но также и закрывается сразу после нажатия на косой крестик (в отличие от нынешнего отложенного поведения 410чана).

410чановской администрации рекомендую внедрять этот скрипт на сайте 410чана по инструкции, прилагаемой в файле readme.md в архиве.

Всей же остальной честнóй публикѣ предлагаю заранее ознакомиться с эффектом от предлагаемых изменений, для чего достаточно посредством редиректора (по адресу http://einaregilsson.com/redirector/ предлагаемого для Firefox и для Chrome и для Opera) настроить перенаправление с адреса http://410chan.org/lib/javascript/protoaculous-compressed.js на адрес https://code.jquery.com/jquery-3.3.1.min.js и затем ещё с адреса http://410chan.org/lib/javascript/kusaba.js на адрес https://ipfs.io/ipfs/QmPbpY65G5pEDnqfqTpXyV6GbzqsaiqE6ERytprt8qqjke по примеру >>20233 (единственным отличием от того примера будет новый адрес https://ipfs.io/ipfs/QmPbpY65G5pEDnqfqTpXyV6GbzqsaiqE6ERytprt8qqjke нового скрипта).
No. 20237    
153192477732.jpg-(39.99KB, 496×375, 1495319689399.jpg)
20237
Десяток простыней мутных рассуждений с какими-то архивами, выкладываемыми иногда с интервалами в несколько минут — лучший способ, чтобы я ничерта не понял. Особенно на фоне требований сделать сначала некую стабильную версию, а потом уже предлагать обновления.

Но я глянул один из этих архивов. И сразу замечания:
1. Не надо придумывать какие-то новые названия файлам. (Я бы ещё хоть как-то понял fbe.js.)
2. Что такое .jshintrc? И начерта этот «jshint» упоминается в самом предложенном скрипте? Когда вы просовываете код для тестирования на сервере, не надо оставлять в нём какой-то локальный/отладочный мусор. Кто его за вас чистить будет?
3. Почему некие CSS-стили засунуты в скрипт? Нехѣръ пихать стили в скрипты. Вы и так выкладываете архив, так добавьте туда и CSS-файл с кодом, который следует внести в img-global.css.
4. Новый скрипт вступает в противоречие с куками или ещё какой лабудой? Или оно будет работать и так? Я ничерта не понял.

Я ещё раз повторяю, что сейчас доработкой движка со стороны администрации занимаюсь только я, а мои возможности разбираться в технической лабуде минимальны.
No. 20238    
>>20237
>.jshintrc
>локальный/отладочный мусор
Алло, сейчас 2018 год, пора уже перестать жить в 90х.
No. 20239    
153192968869.png-(51.08KB, 205×238, 1459145399130.png)
20239
>>20238
Для не умеющих читать повторяю ещё раз: я вообще никак не специалист, но мне приходится иметь дело с этим дерьмом. Ваша ремарка никак на мой вопрос не отвечает. Самоутверждаться путешествуйте нахѣръ в другое место, тут не для флуда нить. Буду просто за троллинг банить да и всё.
No. 20240    
153194274113.png-(6.41KB, 499×430, NES_Godzilla_creepy_trance_thebeast_heheardthat.png)
20240
>>20237

Сразу отвѣты на замѣчанія:

> Десяток простыней мутных рассуждений с какими-то архивами, выкладываемыми иногда с интервалами в несколько минут

Никогда между архивами не было интервала в несколько минут. Наименьший интервал (между архивами >>20227 и >>20229) превосходил 1 час 14 минут.

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

Требование соблюдено буквально: сдѣлана стабильная версия >>20227, затем предлагаются обновления.

> Не надо придумывать какие-то новые названия файлам.

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

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

> (Я бы ещё хоть как-то понял fbe.js.)

Реплика >>18391 как бы говорит мне, что всё цветочное на 410чане облечено в пелену сентиментальных чувств, так что попытка дать моему файлу это имя могло бы оказаться расценённым как посягательство чужака на святыню. На телепатическое осознание чужих чувств не перетендую, но не тянет и наугад поиграть в такую русскую рулетку, где в одном патроне заряжено «я бы ещё хоть как-то понял», а в другом патроне угадывается «никто на это время тратить не будет» в качестве первой и окончательной резолюции.

> Что такое .jshintrc? И начерта этот «jshint» упоминается в самом предложенном скрипте?

Что именно оказалось непонятным? Была ли это трижды повторявшаяся на разные лады фраза «410чановской администрации рекомендую внедрять этот скрипт на сайте 410чана по инструкции, прилагаемой в файле readme.md в архиве»? Или неясен оказался смысл подраздела «Тестирование» в файле readme.md, отвечающего на вопрос о том, что такое .jshintrc?

> Когда вы просовываете код для тестирования на сервере, не надо оставлять в нём какой-то локальный/отладочный мусор. Кто его за вас чистить будет?

Никто, потому что это вовсе и не мусор никакой. Это комментарии, описывающие перечень глобальных и экспортируемых переменных. Они, во-первых, полезны, а во-вторых, являются в равной степени машинно-читаемыми (для JSHint) и человеко-читаемыми (для тех программистов, которые будут иметь дело со скриптом в дальнейшем). Напримѣръ, въ архивѣ >>20229 (въ отличіе отъ всѣхъ остальныхъ моихъ архивовъ недавняго времени) одинъ лишь взглядъ на первую же строку джаваскрипта ѿткрываетъ внимательному ꙩку, что далѣе сдѣлана, по меньшей мѣрѣ, попытка употребить localStorage.

> Почему некие CSS-стили засунуты в скрипт? Нехѣръ пихать стили в скрипты. Вы и так выкладываете архив, так добавьте туда и CSS-файл с кодом, который следует внести в img-global.css.

Ok. Позже.

> Новый скрипт вступает в противоречие с куками

Нѣтъ.

> или ещё какой лабудой?

Да.

> Или оно будет работать и так?

Будет.

> Я ничерта не понял.

Новый скрипт вступает в определённое противоречие с той частью скриптов сайта, которая лежит не в kusaba.js, а непосредственно в тегах «script» и в атрибутах «onclick», вставляемых прямо в код HTML из PHP на сёрвере.

Такие противоречия скрипт устраняет в свою пользу (кроме скрипта из архива >>20229, содержащего демонстрацию противоречия, не устранимого моими усилиями, и кроме много более раннего скрипта из архива >>20215, содержащего самую первоначальную версию подхода к делу, ещё не совершенно проверенную и не работоспособную). Поэтому воистину «будет работать и так».

Краткий список тех направлений, в которых можно на сёрвере улучшить нынешнее положение дѣлъ, излагается в последнем подразделе («Возможные дополнительные возможности») в файле readme.md в архиве.
No. 20241    
153195037922.7z-(2.78KB, img_global.7z)
20241
Так как в двух предшествующих репликах высказано было намерение файл http://410chan.org/css/img_global.css пополнить, то для придания большей увѣренност въ грядущемъ я считаю необходимым создать и приложить страховочную копию нынешнего состояния этого файла, и вот прилагаю въ архивѣ.
No. 20242    
15319535695.7z-(18.27KB, shinkusaba.7z)
20242
>>20237

> Вы и так выкладываете архив, так добавьте туда и CSS-файл с кодом, который следует внести в img-global.css.

Вот архив, в который добавлен (под именем shinkusaba.css) файл с кодом, который следует приписать к содержимому файла http://410chan.org/css/img_global.css в конец.

(Джаваскрипт в этом архиве пока что имеет тот же вид, что и в архиве >>20236, потому что на изменения в файле http://410chan.org/css/img_global.css никак нельзя полагаться до тех пор, пока они не совершились.)
No. 20243    
Заведите уже наконец гит. Больно смотреть на этот обмен колом в архивах и непонимание что куда копировать-удалять.
No. 20244    
153196042613.gif-(9.66MB, 1858×1045, Isekai Maou to Shoukan Shoujo no Dorei Majutsu - l.gif)
20244
Пристальное вглядывание в http://410chan.org/css/img_global.css заставляет меня предполагать, что этот код CSS никогда не проходил ни одной мало-мальской автоматической провѣрки, тогда как ꙩчи автора его замылилися.

В этом убеждает меня вид того, что строки с 557 по 559 и строки с 672 по 674 совпадают если не по виду, то по смыслу.
No. 20245    
153196883716.7z-(18.48KB, shinkusaba.7z)
20245
На сей раз предлагаю всеобщему вниманию переработанную и дополненную версию архива >>20242, посредством которой устранён баг, порождающий в настоящее время на 410чане появление прямоугольника предпросмотра гиперссылок справа и снизу от гиперссылок даже в том случае, когда справа или снизу мѣста нѣтъ. Теперь для гиперссылок из правой половины окна предпросмотр открывается с левой стороны от них, а для гиперссылок из нижней половины окна предпросмотр открывается с верхней стороны от них.

410чановской администрации рекомендую внедрять этот скрипт на сайте 410чана по инструкции, прилагаемой в файле readme.md в архиве.

Всей же остальной честнóй публикѣ предлагаю заранее ознакомиться с эффектом от предлагаемых изменений, для чего достаточно посредством редиректора (по адресу http://einaregilsson.com/redirector/ предлагаемого для Firefox и для Chrome и для Opera) настроить перенаправление с адреса http://410chan.org/lib/javascript/protoaculous-compressed.js на адрес https://code.jquery.com/jquery-3.3.1.min.js и затем ещё с адреса http://410chan.org/lib/javascript/kusaba.js на адрес https://ipfs.io/ipfs/QmfQ4qLhwVCtSyBifxHBAr3pziKtJm2EHXyPVNBbDvSrSs по примеру >>20233 (единственным отличием от того примера будет новый адрес https://ipfs.io/ipfs/QmfQ4qLhwVCtSyBifxHBAr3pziKtJm2EHXyPVNBbDvSrSs нового скрипта).
No. 20248    
153197092590.jpg-(1.09MB, 1050×1478, Aku no Hana.jpg)
20248
>>18384

> Ну дыкъ въ декоративныхъ цѣляхъ цвѣточекъ оставить, а джаваскриптъ всё же отпилить притомъ можно.

>>18391

> Для цветочка можно разве что предложить какую-нибудь другую функциональность, иначе никто на это время тратить не будет.

Окей, предлагаю.

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

По мере изменения количества оставшихся символов может также меняться цвѣтъ и форма цветка (например, при переходе через ноль он может превращаться в 惡の華 или нечто другое в этом же роде).
No. 20250    
153198971516.png-(1.85MB, 1920×1080, Steins Gate 0 - 14 - night skyline.png)
20250
>>20243

> непонимание что куда копировать-удалять

Сие непонимание не производится ли единственно воздержанием от чтения файла readme.md, в архиве прилагаемого? — а не то первые же строки того файла объяснили бы (в форме пошаговой инструкции), что куда копировать.
No. 20251    
153199183518.7z-(18.50KB, shinkusaba.7z)
20251
На сей раз предлагаю всеобщему вниманию улучшенную версию архива >>20245, посредством которой дополнительно устраняется тот баг 410чана, ввиду которого переключатель стилей всякий раз имеет положение «Umnochan» после загрузки страницы. (Этот баг наносит двойной вред: во-первых, не даёт читателю прочесть, какой стиль был им выбран, а во-вторых, не даёт читателю переключиться на стиль «Umnochan» до тѣхъ поръ, пока тот не переключится наперёд на какой-нибудь другой стиль вручную.)

410чановской администрации рекомендую внедрять этот скрипт на сайте 410чана, действуя в соответствии с пошаговою инструкциею, для того прилагаемою в файле readme.md в архиве.

Всей же остальной честнóй публикѣ предлагаю заранее ознакомиться с эффектом от предлагаемых изменений, для чего достаточно посредством редиректора (по адресу http://einaregilsson.com/redirector/ предлагаемого для Firefox и для Chrome и для Opera) настроить перенаправление с адреса http://410chan.org/lib/javascript/protoaculous-compressed.js на адрес https://code.jquery.com/jquery-3.3.1.min.js и затем ещё с адреса http://410chan.org/lib/javascript/kusaba.js на адрес https://ipfs.io/ipfs/QmYNVCZXPNPJ74BxTjcXQiuvv1Sa2yRpiGkJW45LwmUm9T по примеру >>20233 (единственным отличием от того примера будет новый адрес https://ipfs.io/ipfs/QmYNVCZXPNPJ74BxTjcXQiuvv1Sa2yRpiGkJW45LwmUm9T нового скрипта).
No. 20252    
153201306651.7z-(18.93KB, shinkusaba.7z)
20252
А вот и очередная версия архива >>20251, содержащая два «косметических» изменения.

Во-первых, добавлена основанная на jQuery реализация той функции «quote», которую автор скрипта https://pastebin.com/X9HChJp5 счёл не используемою в Кусабе и выбросил напрочь. После пристального вглядывания я уяснил, что эта функция всё же используется Кусабою, но только на текстовых досках, каковых не осталось на 410чане опосля преобразования /d в имиджборд.

Во-вторых, для наглядности в архиве приложен, под именем «shinkusaba.diff», однострочный дифф, содержащий устранение того атрибута «onclick» (содержащего вызов разворачивателя миниатюр), который утратит нужность после внедрения моей версии джаваскрипта.

Наложение этого диффа в строгом смысле не является необходимым (моя версия джаваскрипта и без того способна работать невозбранно), но позволит расчистить поступающий с сервера код HTML, сократив его объём, а также уменьшить время работы тела цикла на языке PHP, функцию «BuildPost» вызывающего. То и другое даст прирост скорости на стороне сервера.

Наложение этого диффа в автоматическом режиме не возможно, так как он составлен на основе открытого кода Кусабы, а не закрытого кода FBE (содержащего, например, класс «imglink» и некоторые предложенные в реплике >>18069 изменения), поэтому он прикладывается именно просто «для наглядности», как я и сказал.

На сей раз я не стану завершать свою реплику предложением воспользоваться редиректором для заблаговременного ознакомления с ожидаемым эффектом от предлагаемых изменений, потому что ни одно из предлагаемых изменений, если их наблюдать заблаговременно, не изменит наблюдавшийся эффект от предшествующего исходного кода >>20251 на 410чане (дифф — просто инструкция, а скрипт для текстовых досок негде проверить за отсутствием таковых). Вот почему желающие предпросматривать могут преспокойно продолжать >>20251 предпросматривать.
No. 20253    
153203903469.7z-(20.07KB, shinkusaba.7z)
20253
Я совершил дальнейшее развитие джаваскрипта, ранее заложенного в архив >>20252, и теперь предлагаю всеобщему вниманию очередной новый архив лучше прежнего.

Во-первых, новый скрипт накладывает выбранный пользователем стиль (Umnochan, или Burichan, или Futaba, или Photon, или Kusaba, или Bluemoon) как можно скорее (как и скрипт https://pastebin.com/X9HChJp5 это делал), а не несколько позже (как Кусаба). Это уменьшает время мельтешения стилей во время начальной загрузки страницы.

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

410чановской администрации рекомендую внедрять этот скрипт на сайте 410чана, действуя в соответствии с пошаговою инструкциею, для того прилагаемою в файле readme.md в архиве.

Всей же остальной честнóй публикѣ предлагаю заранее ознакомиться с эффектом от предлагаемых мною изменений поведения 410чана. Для такого ознакомления достаточно посредством редиректора (по адресу http://einaregilsson.com/redirector/ предлагаемого для Firefox и для Chrome и для Opera) настроить перенаправление с адреса http://410chan.org/lib/javascript/protoaculous-compressed.js на адрес https://code.jquery.com/jquery-3.3.1.min.js и затем ещё с адреса http://410chan.org/lib/javascript/kusaba.js на адрес https://ipfs.io/ipfs/QmPz2BPc75Sxo1X24GTAv3T1ttnKQVABW6YRftttwYZX3Y по примеру >>20233 (единственным отличием от того примера будет новый адрес https://ipfs.io/ipfs/QmPz2BPc75Sxo1X24GTAv3T1ttnKQVABW6YRftttwYZX3Y нового скрипта).
No. 20254    
153204336185.7z-(20.29KB, shinkusaba.7z)
20254
Немного подумав, я совершил дальнейшее развитие второй из идей, ранее заложенных в архив >>20253, и теперь предлагаю всеобщему вниманию очередной новый архив лучше прежнего.

Теперь сочинённый мною скрипт одерживает победу над склонностью реплик на 410чане подлазить своим верхом под верхнюю навигационную панель не только в тот момент, когда к реплике совершён переход по >>номерной гиперссылке (изнутри нити обсуждения или снаружи), но также и в случае «просто номерной» гиперссылки (содержащей текст «No.» в заголовке у реплики), и даже в случае «ещё более простой» гиперссылки, получающейся в том случае, когда кто-нибудь из беседующих копипастнул URL (в реплике >>18060 есть пример такого).

410чановской администрации рекомендую внедрять получившийся скрипт на сайте 410чана, действуя в соответствии с пошаговою инструкциею, для того прилагаемою в файле readme.md в архиве. Для начала достаточно будет и первых двух шагов, там указанных.

Всей же остальной честнóй публикѣ предлагаю заранее ознакомиться с эффектом от предлагаемых мною изменений поведения 410чана. Для такого ознакомления достаточно посредством редиректора (по адресу http://einaregilsson.com/redirector/ предлагаемого для Firefox и для Chrome и для Opera) настроить перенаправление с адреса http://410chan.org/lib/javascript/protoaculous-compressed.js на адрес https://code.jquery.com/jquery-3.3.1.min.js и затем ещё с адреса http://410chan.org/lib/javascript/kusaba.js на адрес https://ipfs.io/ipfs/QmX5yaH6QJzEqRCkByAcDCmuYqLFgdYvTrRaSVwQKRSvxL по примеру >>20233 (единственным отличием от того примера будет новый адрес https://ipfs.io/ipfs/QmX5yaH6QJzEqRCkByAcDCmuYqLFgdYvTrRaSVwQKRSvxL нового скрипта).
No. 20256    
153208946230.gif-(9.73MB, 396×223, Akame ga Kill! historical records (10000k).gif)
20256
>>20243

> Заведите уже наконец гит. Больно смотреть на этот обмен колом в архивах

С одной стороны, хранение кода внѣ 410чана вроде как удобнее.

С другой стороны, хранение кода въ архивѣ на 410чанѣ по крайней мѣрѣ означает, что код уйдёт в небытие только с 410чаном или по немилости администрации. Тогда как внѣшній код из реплик >>18007 и >>18069 и >>18071 и >>18072 и >>18075 и >>18076 и >>18094 и >>18169 и >>18654 и >>18660 отправился на тот небесный винчестер, на котором программы не глючат, но и не работают.

Превратности судьбы могут постигнуть код даже на таких популярнейших кодохранилищах, каков GitHub (который сперва был одним из признанных лидеров своего направления, а затем был куплен Корпорацией Майкрософт, и эта история может и должна приводить нам на ум Нокию и её печальную будущность).
No. 20257    
>>20256
Но это не повод использовать имежборд вместо системы контроля версий.
No. 20258    
153209401117.png-(1.93MB, 1920×1080, [Doki] Suzumiya Haruhi no Yuuutsu (2009) - 10 (192.png)
20258
>>20257

Лично я его и не использую так.

Попасть на 410чан удостаиваются не всѣ версии, а только готовые выпуски (releases), содержащие проверенную реализацию того или иного улучшения (или нескольких улучшений) по сравнению с предыдущим выпуском.
No. 20259    
15321253577.7z-(25.13KB, shinkusaba.7z)
20259
Немного подумав, я совершил дальнейшее развитие идей, ранее заложенных в архив >>20254, и теперь предлагаю всеобщему вниманию очередной новый архив лучше прежнего.

Во-первых, одержанная в архиве >>20254 победа над склонностью реплик на 410чане подлазить своим верхом под верхнюю навигационную панель позволила одержать аналогичную победу и над склонностью формы ввода подлазить туда же в момент прибавления >>номеров в текст.

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

Но так как размер реплики на 410чане ограничен восемью килобайтами (а мой изложенный в реплике >>20159 протест против этого не был принят во анимание), то подробное рассмотрение достоинств и недостатков разных поколений развёртывателей миниатюр будет не сейчас, а чуть позже.

410чановской администрации рекомендую внедрять получившийся скрипт на сайте 410чана, действуя в соответствии с пошаговою инструкциею, для того прилагаемою в файле readme.md в архиве. Для начала достаточно будет и первых двух шагов, там указанных.

Всей же остальной честнóй публикѣ предлагаю не ждать того, а заранее ознакомиться с эффектом от предлагаемых мною перемен в поведении 410чана. Для такого ознакомления достаточно посредством редиректора (по адресу http://einaregilsson.com/redirector/ предлагаемого для Firefox и для Chrome и для Opera) настроить перенаправление с адреса http://410chan.org/lib/javascript/protoaculous-compressed.js на адрес https://code.jquery.com/jquery-3.3.1.min.js и затем ещё с адреса http://410chan.org/lib/javascript/kusaba.js на адрес https://ipfs.io/ipfs/QmY2X95xwPNmJKsDdaubKnsjzn3WNgJbRi1gkpWGe4sbDu по примеру >>20233 (единственным отличием от того примера будет новый адрес https://ipfs.io/ipfs/QmY2X95xwPNmJKsDdaubKnsjzn3WNgJbRi1gkpWGe4sbDu нового скрипта).
No. 20260    
А теперь — обещанный в реплике >>20259 экскурс в историю развития развёртывателей миниатюр (показывающих полноразмерную картинку на месте миниатюры после тыка пальцем или жмяка мышóю).

Для начала напоминаю, что первое поколение развёртывателей занималось тем, что уничтожало элемент «img» языка HTML, соответствующий миниатюре, и затем ставило на его место новый элемент «img», соответствующий полноразмерной картинке. Ярким представителем этого поколения уместно считать скрипт https://github.com/tslocum/kusaba/blob/79479456141fe2ce937e94b5f5939d838071387b/trunk/lib/javascript/clean/kusaba.js#L518 (появление которого, по-видимому, обязано собою коммиту https://github.com/tslocum/kusaba/commit/c12a1967efab6ddb9b7f068bd125e832d87d8b07 от 1 сентября 2007 года), то есть такой образ действий был распространён около десятилетия тому назад.

Важным его достоинством была предоставляемая читателю сайта полная возможность невозбранного слежения за процессом постепенной загрузки иллюстрации из Интернета. Иллюстрации, сохраняемые в файлах построчно, перед читателями построчно же и развёртывались сверху вниз — а постепенные проявлялись постепенно: четырёхпроходные GIF хранились и скачивались чересстрочно в порядке «осьмушка + ещё осьмушка + ещё четвертинка + оставшаяся половинка», а «прогрессивные JPEG» постепенно наводились на резкость, а семипроходные PNG следовали алгоритму https://ru.wikipedia.org/wiki/Adam7 (позволяющему начать постепенный показ изображения очень быстро — всего-навсего после получения первой шестидесятичетвёртой доли его пикселов).

Однако у этого образа действий были и недостатки. После нажатия на гиперссылку миниатюра мгновенно пропадала, так что читатель сайта принуждён был лицезреть пустоту на её месте — по меньшей мере, до начала процесса скачивания полноразмерной иллюстрации из Интернета. Дожидаться же появления нижней части иллюстрации, сохранённой построчно, приходилось ещё дольше — до сáмого конца загрузки (а во всё это время представление о нижней части, полученное из миниатюры, сохранялось только в памяти у читателя, но не перед глазами его на сайте). Что же касается иллюстраций, сохранённых не построчно, то у многих читателей к тому времени (около десятилетия тому назад) был накоплен громадный отрицательный опыт работы с тогдашними несовершенными браузерами, которые не способны были отображать такие иллюстрации постепенно и оттого принуждали читателей дожидаться окончания загрузки (то есть намерение автора файла сделать появление на экране постепенным в действительности срабатывало наоборот, делая его даже менее постепенным, чем у файлов, сохранённых построчно). Ярким примером такого досадного браузера в описываемое время был Internet Explorer, полагавшийся на кодеки из операционной системы Windows, в которых (как по адресу https://docs.microsoft.com/en-us/windows/desktop/wic/-wic-progressive-decoding можно прочесть) поддержка «прогрессивных JPEG» и других подобных методов была добавлена только с появлением Windows 7 в 2009 году (то есть несколькими годами позже появления вышеупомянутого развёртывателя в Кусабе).
No. 20261    
Ответом на недостатки >>20260 (досадное впечатление от которых усугублялося по мере распространения мобильного Интернета, которому свойственны более существенные, чем у проводного Интернета, задержки перед началом процесса скачивания полноразмерной иллюстрации) стало появление второго поколения развёртывателей, которое занимается тем, что не уничтожает элемент «img» языка HTML, соответствующий миниатюре, а просто придаёт ему URL и размеры, соответствующие полноразмерной картинке. Приводить примеры такого образа действий я не стану, так как они и без того всем нам видны в настоящее время и на Ычане, и на Доброчане, и на Архиваче, и в других (менее называемых здесь) местах; появление же соответствующего развёртывателя и на 410чане было обусловлено репликою >>18069, как я понимаю.

Явным достоинством этого образа действий является мгновенный ответ на нажатие на гиперссылку — мгновенное появление перед читателем такой иллюстрации, которая хотя бы сразу имеет желаемый полный размер; недостатком же является первоначальный мутный вид её (потому что сперва это всё ещё только растянутая миниатюра, не более!), и вид этот остаётся досадно долго, так как дожидаться замещения миниатюры полноразмерною иллюстрациею приходится никак не меньше, чем до полного скачивания этой последней. Нетрудно видеть, что этот недостаток развёртывателей второго поколения (весьма досадный, потому что он как бы отбрасывает поведение декодировщиков на девять лет назад — ко временам, предшествовавшим Windows 7) является полною противоположностью достоинства развёртывателей предшествующего (первого) поколения.

Мой же теперешний развёртыватель полностью объединяет достоинства того и другого образа действий, так как он, с одной стороны, уничтожает элемент «img» языка HTML, соответствующий миниатюре, и затем ставит на его место новый элемент, соответствующий полноразмерной картинке (что позволяет начать видеть её постепенное изображение, не дожидаясь окончания загрузки), но одновременно придаёт этому элементу и фон, в качестве которого используется миниатюра, растянутая до величины полноразмерной картинки (что обеспечивает и ощущение мгновенной реакции на нажатие на гиперссылку, и мгновенное появление перед читателем такой иллюстрации, которая для начала имеет желаемый полный размер, хотя и мутный вид растянутой миниатюры). Постепенное же появление настоящей полноразмерной картинки ведётся поверх этого фона. Тем самым в полной мере реализуется двухпроходная загрузка (миниатюра → полноразмерный файл) даже для файлов, не имеющих достоинств четырёхпроходного GIF или семипроходного PNG, а сохранённых построчно. (А таковых и сейчас очень много на имиджбордах, потому что построчное сохранение очень не редко сопровождается экономией объёма файла; притом именно оно предлагается по умолчанию.)

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

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

Вот каковы достоинства нового развёртывателя миниатюр.
No. 20262    
Чтобы не ограничивать удобство последовательного чтения, ограничение >>20159 было преодолено объединением реплики >>20260 и реплики >>20261 в один файл под именем gen3.md в архиве >>20259.
No. 20264    
>>20263

Ok.
No. 20265    
153213323963.png-(60.70KB, 448×448, 1165588123764.png)
20265
Что же, это было на пару --verbosity-флагов больше, чем я привык видеть документацию, но понятно и просвещающе. Большое спасибо за проделанную работу и за развёртыватель.

Пара вопросов:
1. Я правильно понимаю, что Resizable используется вместо CSS'ного resize из тех же соображений, что высказанны в >>20161?
2. Жабаскрипт готов, но в серверной части всё ещё надо поработать, чтобы сделать локализованные надписи в отслеживаемых тредах, и вообще поубирать <script> в как можно больших местах?
No. 20266    
153213791793.7z-(25.03KB, shinkusaba.7z)
20266
>>20265

> Я правильно понимаю, что Resizable используется вместо CSS'ного resize из тех же соображений, что высказанны в >>20161?

Совершенно верно.

(Вообще я исходил из намерения поддерживать всѣ тѣ браузеры, которые и jQuery 3.x поддерживает, то есть >>18195.)

> Жабаскрипт готов, но в серверной части всё ещё надо поработать, чтобы сделать локализованные надписи в отслеживаемых тредах, и вообще поубирать <script> в как можно больших местах?

Джаваскрипт готов до такой степени, что его можно накатить в любой момент — и он будет работать ничем не хуже, чем нынешний.

Что же касается измѣненій на сторонѣ сёрвера (как в тегах «script», вписываемых прямо в HTML, такъ и въ нѣкоторыхъ другихъ мѣстахъ), то онѣ должны, по-видимому, сопровождаться соотвѣтственными имъ измѣненіями и въ скриптѣ. Это будет либо двухэтапный процесс (типа «тик-так»), либо четырёхэтапный процесс (типа «тик-так-ток-тук»).

Въ двухэтапномъ процессѣ сперва совершаются правки на сёрверѣ, а затѣмъ подготовленныя ими измѣненія въ джаваскриптѣ.

Въ четырёхэтапномъ процессѣ желаемыя измѣненія на сёрверѣ вызвали бы немедленную ошибку выполнения скрипта, такъ что сперва на сёрверѣ подготавливаются основанія для альтернативнаго пути выполненія скрипта, затѣмъ этотъ путь реализуется въ скриптѣ, и только потóмъ код на сёрверѣ обретает желаемую форму, а затѣмъ изъ скрипта вырубается первоначальный (рудиментарный) варіантъ дѣйствій.

Однако же без примѣровъ не понятно; сейчасъ будутъ примѣры.

Тикъ №1: на сёрверѣ кодъ shinkusaba.css добавляется къ содержимому файла http://410chan.org/css/img_global.css въ конецъ.

Такъ №1: изъ кода shinkusaba.js выбрасывается опредѣленіе и вызовъ функціи «shinkusabaStyles».

Тикъ №2: data-атрибуты >>18069 внесены въ кодъ на сёрверѣ.

Такъ №2: нынѣшній кодъ развёртывателя.

Токъ №2: на сёрверѣ изъ кода гиперссылокъ, имѣющихъ классъ «imglink» (и содержащихъ миніатюры файловъ) можно цѣликомъ убрать длинные атрибуты «onclick» (подобные «onclick="expandimg('17371', '/dev/src/150682259759.jpg', '/dev/thumb/150682259759s.jpg', '960', '720', '200', '150');return false;"» по виду). Рѣчь идётъ объ устраненіи атрибута въ томъ мѣстѣ, которое соотвѣтствуетъ строкѣ кода https://github.com/tslocum/kusaba/blob/79479456141fe2ce937e94b5f5939d838071387b/trunk/inc/classes/board-post.class.php#L1086 въ сыромъ движкѣ Кусабы (для наглядности въ архивѣ приложенъ, подъ именемъ «shinkusaba.diff», однострочный диффъ устраненія атрибута из сырого движка Кусабы; поискъ же въ кодѣ у FBE аналога означенной строки, подлежащаго измѣненію, поневоле приходится оставить на усмотрѣніе очередного автора его).

Тукъ №2: наконецъ кодъ «$('a.imglink').removeAttr('onclick').prop('onclick', null)» можно убрать изъ функціи «destroyThumbnailHandlers» въ джаваскриптѣ.

Тикъ №3: тотъ же, что и тикъ №2.

Такъ №3: тотъ же, что и такъ №2.

Токъ №3: такъ какъ джаваскриптъ ведётъ развёртываніе всѣхъ миніатюръ (включая и мультимедійныя), то сёрверное генерированіе звукопроигрывателей внутри /dev можно убрать.

Тукъ №3: наконецъ кодъ «$('.sound').remove()» можно убрать изъ функціи «destroyThumbnailHandlers» въ джаваскриптѣ. (Въ сочетаніи съ «тукъ №2» можно и опредѣленіе и вызовы этой функціи грохнуть.)

Тикъ №4: убрать изъ сервернаго кода (вмѣстѣ со всемъ его содержимымъ) тотъ тегъ «script», который начинается проверкою «if (getCookie('showwatchedthreads') == '1')» и предшествует логотипу «<div class="logo">».

Такъ №4: раскомментировать строчку «if( getCookie('showwatchedthreads') ) generateWatchedThreadsElement();» (одну изъ послѣднихъ въ shinkusaba.js), стереть двѣ послѣдующія строчки («resizeWatchedThreads()» и «dragWatchedThreads()»), убрать обѣ строчки, начинающіеся комментаріемъ «TODO: undo inline script».

Впрочем, кое-что можно просто прийти и почистить на сёрвере, не трогая джаваскрипт:

  • заменить используемый доктайп новым доктайпом «<!DOCTYPE html>» от языка HTML5, который короче нынешнего доктайпа;
  • из всех тегов «script» убрать атрибут «type="text/javascript"» (который и по умолчанию таков);
  • во всех атрибутах «onclick», начинающихся строкою «javascript:», эту строку стереть как ненужную. (По всей видимости, она была позабыта там автором движка после переноса кода из атрибутов «href», в которых такая строка действительно была должна непременно предшествовать исходному коду для придания ему формы, напоминающей URL.)

No. 20267    
153214160012.gif-(87.38KB, 300×100, 410chan_dev.gif)
20267
>>20265

> сделать локализованные надписи в отслеживаемых тредах, и вообще поубирать <script> в как можно больших местах

И «script», и «onclick» также.

Вообще стремиться надо к тому, чтобы с сервера в джаваскрипт какие-то простые вещи передавались не вызовами джаваскриптовых функций, а простановкою имени класса (для двоичных значений), или приданием значения data-атрибуту (для недвоичных), а чуть более сложные вещи передавались бы через пару-тройку-другую data-атрибутов (как сейчас data-full-src, data-thumb-src, data-full-width, data-full-height, data-thumb-width, data-thumb-height) или через JSON-кодированное значение одного-единственного data-атрибута.

(Это и передачи локализированных надписей касается.)
No. 20268    
153214238910.png-(48.81KB, 624×722, Яндекс_Метрика в HTML.png)
20268
>>17877

>>17879

Пособие https://yandex.ru/support/metrika/general/creating-counter.html в настоящее время предлагает втыкать код Яндекс.Метрики, цитирую, «в пределах тегов <head> </head> или <body> </body> как можно ближе к началу страницы: так он будет раньше загружаться и сможет отправить данные о просмотре в Метрику, даже если посетитель почти сразу же закроет страницу».

И так как тэги «div» и «img» в стандарте прописаны как вопиюще неподходящие для внутренностей «head», а в том же коде есть ещё и пробелы, то лично я б его перед «<div class="logo">» воткнул, наверное.
No. 20269    
15321435779.gif-(9.71MB, 389×219, Isekai Maou to Shoukan Shoujo no Dorei Majutsu - s.gif)
20269
>>20265

> Я правильно понимаю, что Resizable используется вместо CSS'ного resize из тех же соображений, что высказанны в >>20161?

Ах да, чуть не забыл сказать. У resize в CSS есть ещё два неприятных недостатка, которых скрипт Таннера¹ не имеет:

1) посредством CSSного resize никак нельзя разрешить изменение размера перетаскиванием левой стороны элемента, или нижней, или правой, а всегда приходится тащить только за нижний правый угол;

2) прошлогодняя гугловская идея https://wicg.github.io/ResizeObserver/ находится ещё очень далеко от становления стандартом, так что у CSSного изменения размеров ещё нѣтъ такого удобного события, на которое можно навесить сохранение ширины и высоты в cookies.

________

¹ https://github.com/tannernetwork/resizable
No. 20270    
153214742946.7z-(25.42KB, shinkusaba.7z)
20270
Новая версия архива >>20259 (частично начатая в реплике >>20266) содержит дополненный файл readme.md, в том числе отражающий неудачный опыт >>20229.

Кроме того, методом тыка я обнаружил, что мельтешение стилей может выглядеть ещё более кратким, если выбор темы оформления (Umnochan, Burichan, Futaba, Photon, Kusaba, Bluemoon) на основании значения из cookies будет совершён вообще первым делом после загрузки (даже перед наложением необходимых моему скрипту стилей). Это контрынтуитивно, но пусть будет так.

URL нового скрипта отдельно: https://ipfs.io/ipfs/QmQQVnTJiXNghvdQKfEV3m3qBeS8dQTqxoWKbBaEpQfLri (для подобных >>20233 редиректов).
No. 20271    
15321530326.png-(5.26KB, 525×429, NES_Godzilla_creepy_entropy_Moon4.png)
20271
Реквестирую снабжение тегов, подобных «<a href="#postbox" onclick="javascript:quickreply('17371');" title="Быстрый ответ">», дополнительными атрибутами, подобными «data-thread="17371" class="quickreplylink"».
No. 20272    
153218480183.jpg-(75.62KB, 510×414, uiharu.jpg)
20272
В общем, вот вам репозиторий: https://bitbucket.org/Therapont/fbe-410
1. Для ваших предложений предназначена ветка public.
2. Только администрация 410чана решает, что в этом движке надо, а что не надо. Соответственно, не стоит пропихивать всякие там революционные идеи. На багтрекере уже много всякой лабуды, над которой можно поработать.
3. У нас не прибавилось свободного времени, так что тестирование предложенных изменений будет только тогда, когда будет возможность. Обычно, это какие-нибудь выходные.
4. Код выложен как есть: понятия не имею, как движок ставить и т.д. (И возможно ли его ставить вообще).
5. Забашляйте мне денег.

В первую очередь я от вас ожидаю, что вы приделаете туда видосы и новые скрипты.
В качестве дальнейшего плана разработки ориентируйтесь на мои запросы на багтрекере.
No. 20273    
153218788462.png-(170.02KB, 1076×725, FBE repo.png)
20273
>>20272

> Соответственно, не стоит пропихивать всякие там революционные идеи.

Кто как думает: должен ли я быть честным с самим собою и воспринять эту реплику как мягкий отказ от внедрения предложенного выше исходного кода, особенно в связи с возведением нового барьера (←необходимость ознакомиться с «Битбакетом») на том месте, где буквально достаточно было как два файла переслать?

> На багтрекере уже много всякой лабуды, над которой можно поработать.

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

Вот это сейчас кому сказано было?

Тому широкому кругу читателей, к которому я отношу себя, никакого багтрекера вроде как не видно (скриншот прилагаю).

Кто как думает: это Соусов манул™ https://confluence.atlassian.com/bitbucket/enable-an-issue-tracker-223216498.html не дочитал до третьего пункта? — или это я не там ищу багтрекер? — или вся реплика была обращена не к широкому кругу читателей, а к узкому кругу админов 410чана?
No. 20274    
>>20273
>никакого багтрекера вроде как не видно
Починил.
No. 20275    
153218866953.png-(219.18KB, 1468×1076, FBE repo.png)
20275
>>20274

Ok.
No. 20277    
153219349875.gif-(6.94MB, 1920×1080, Angel Beats! - Yuri laughing.gif)
20277
В соответствии с высказанной по адресу >>20272 идеей напилил по адресу https://bitbucket.org/Therapont/fbe-410/pull-requests/1 запрос на замещение кода kusaba.js кодом shinkusaba.js из архива >>20270 с учётом пожелания >>20237 о слиянии CSS-стилей с CSS-файлом и пожелания >>18182 о хранении jQuery на 410чане вместо CDN.

(Для простоты и обозримости никаких дополнительных допилов >>20266 этот запрос не содержит ввиду того, что служит пробным камнем.)

Отдельно отмечаю на будущее, что благодаря появлению открытого репозитория некоторые из тех дальнейших правок, которые по адресу >>20266 замышлялись как многоэтапные, теперь могут в действительности предлагаться как более простой и притом более единый коммит (объединяющий собою изменения кода PHP и кода JS, обуславливающие друг друга). Так что появление это можно только приветствовать, и приветствую.
No. 20278    
153219811374.png-(4.73MB, 1920×1080, Inu to Hasami wa Tsukaiyou.png)
20278
>>20266

> Впрочем, кое-что можно просто прийти и почистить на сёрвере, не трогая джаваскрипт

В запросе на слияние кода https://bitbucket.org/Therapont/fbe-410/pull-requests/2 привёл минимальный набор предлагаемой зачистки.
No. 20279    
153222217420.gif-(4.73KB, 240×210, 1150267156146.gif)
20279
>>20272
Какого зверя запытали в подвалах инквизиции?

Я, наверное, сегодня ничего сделать не сделаю, но завтра смочь должен портануть хотя бы видео.
No. 20280    
15322366682.jpg-(173.97KB, 1920×1080, 1514491186380.jpg)
20280
>>20279
> Какого зверя запытали в подвалах инквизиции?
Удалить сообщение []
Пароль  
[Mod]