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

У администрации Ычана появилось желание добавить некоторые функции в стандартный пользовательский интерфейс, что требует доработки местного JS. Поскольку специалистов в этой сфере на примете нет, было решено обратиться к сообществу.
Какие функции нужны:
  • Скрытие тредов. Видимо, с использованием localstorage. Учитывайте возможность развернуть тред обратно.
  • Разворот картинки на странице по нажатию на уменьшенную копию. Большие картинки должны разворачиваться не в натуральную величину, а с учётом ширины и высоты окна. По повторному нажатию сворачиваться обратно. Учитывайте, что иногда вместо уменьшенной копии бывает заглушка спойлера, а в огороженном разделе /gf/ есть флэшь-файлы, которые этак разворачивать смысла нет.
Желательно, чтобы скрипты были достаточно легковесны, чтобы помещаться в wakaba.js. Минимальными должны быть и предлагаемые правки вёрстки самих страниц (радикально никто ничего перепиливать не будет).
Предпочтительная лицензия скриптов — общественное достояние (public domain), как у самой «Вакабы».

Пока всё. Администрация не рассматривает идеи подключения куклоскриптов или чего-то подобного тяжеловесного целиком, так как стремится сохранить минимализм интерфейса сайта. Также пока не рассматриваются предложения по неким другим функциям.
28 сообщений пропущено. Показаны 50 последних сообщений Развернуть все изображения
No. 15884    
>>15881
Во-первых, там очень тяжёлый движок, который потребует апгрейда всего что можно. Во-вторых (на самом деле во-первых), с чего бы его Рус кому-то давал?
No. 15887    
А что вообще должна делать серверная сторона имиджборда? Сететвую составляющую по разграничению прав доступа тоже можно выгрузить на аутсорс другому ресурсу. Остаются одни операции над базой данных? Не знаю как вам, а мне кажется что выдавать заранее сформированные закешированные шаблону куда быстрее чем каждый раз копаться в базе данных по запросам АПИ. Другое дело, если приходится пересобирать всю доску при каждой отправке очередного поста. Включая давно забамплимиченный тред куда он постится... кхм, извините увлёкся, похоже обсуждение ушло куда то не по теме.
No. 15891    
Это всё хорошо, но что с предложенными вариантами скрытия тредов? Запостили сюда два, они были рассмотрены?
No. 15892    
148914130784.jpg-(390.26KB, 925×1133, 7117048.jpg)
15892
>>15891
Ждите, это ж Ычан.
No. 15893    
Вобщем, запилил я разворот картинки. Получилось очень неинвазивно, достаточно просто подключить скрипт и вызвать инициализацию в конце страницы, всё. Спойлерон работает, /gf/ отсекается по критерию "ссылка заканчивается на .swf", допустимая ширина картинки берется из эффективной ширины поста. Остается один вопрос - как детектить мобилочки? Страшно, по юзер-агенту, или по-простецки, всё что меньше 800х600 записывать в мобилочки?
No. 15894    
>>15893
>Остается один вопрос - как детектить мобилочки? Страшно, по юзер-агенту, или по-простецки, всё что меньше 800х600 записывать в мобилочки?
Может по соотношению сторон окна или по dpi экрана.
>по юзер-агенту
Он же для этой цели создавался.
No. 15897    
Предлагаю какому-нибудь ОПу создать на автобусе филиал этих
http://iichan.hk/b/res/3953348.html
http://iichan.hk/b/res/3762663.html
http://iichan.hk/b/arch/res/2452321.html
тредов. А так же (не)оффициальный храм куклоскрипта.
No. 15898    
148926891621.zip-(1.97MB, iithumb_expand_thumbs.zip)
15898
>>15850
>>15857
Сделал вам разворачивалку с учетом мобилочек решил таки по юзер-агенту их определять В архиве примеры с досками /a/ (включая спойлерон) и /gf/. Это самая простая реализация, если она будет принята в целом, я могу подзаморочиться и улучшить визуальную отзывчивость сейчас для пользователя ничего не происходит пока картинка не загрузится, потому что принудительно не изменяется размер элемента img. В примерах из архива большие картинки грузятся прямо с ычана.

Подключается просто. В хедер нужно добавить сам скрипт:
<script type="text/javascript" src="a_files/iithumb.js"></script>

В конце страницы добавить вызов для инициализации:
<script type="text/javascript">iithumbinit()</script>

No. 15899    
> в конец страницы добавить
Ну что за колхоз? В сам скрипт вставляешь:
window.addEventListener('load', function () { your init function });

No. 15900    
>>15899
Скрипты по-хорошему добавляюься не в head, а как раз перед </body>, так они не замедляют время рендеринга страницы.
No. 15901    
>>15900
Но у нас тут не кружок разработки веб-приложений, а вполне конкретное ТЗ. Скрипты будут добавляться в wakaba.js, ибо надо, чтобы работало и в архивных нитях. А там своих функций хватает. Приведенный выше метод позволяет вообще вставлять копипастом, не трогая другие места скрипта.
No. 15902    
Короче вот:
https://github.com/WagonOfDoubt/iichan-extensions
No. 15903    
>>15899
>>load
Ага, и жди когда загрузятся все картинки. Отказ же.
Там надо было бы по хорошему тогда мультибраузерный ready запилить, но опять таки, допилить что-то если ычановцы попросят не тяжело.
No. 15904    
Алсо
>Кроля
>разбирается в JS на уровне "детектить колхоз"
Зачем вообще создавать этот тред тогда, если разработчик у вас уже есть?
No. 15905    
>>15903
Ну тогда
DOMContentLoaded
используй.

>>15904
Никто ничего не спрашивает, а я им через libastral что-то должен делать?
No. 15908    
>>15899
Ты лучше посмотри как тут на автобусе адаптивная капча и слежение за тредами реализовано. Какие эвенты? Всё прямо во время парсинга DOM-дерева запускается (inline script'ы).
No. 15909    
148944315683.jpg-(131.63KB, 801×900, 8401643.jpg)
15909
>>15908
Почему его должен волновать местный код?
No. 15910    
Мысли насчёт разворачивалок: при наведении на картинку в углу поверх неё показывать кнопку для раз/сворачивания, а клик по самой картинке как обычно в новой вкладке, чем мобилки и будут пользоваться. И выбор тогда в наличии (в идеале конечно меню настроек, как на форчане).

Кнопку не в левом верхнем углу, а например правом, и отключать ссылку на развёрнутой картинке, для чего достаточно превратить её в
javascript:void('изначальный_адрес');
, чтобы легко потом вернуть обратно. Это к тому, что у меня иногда левый клик на мышке 2 или 3 раза при нажатии в одну точку срабатывает, inb4 купи новую. Нынешний интерфейс вполне устраивает, wakaba.js отключен, костыли сам себе пишу.

Как вариант, в порядке бреда, кнопка разворачивания при наведении — размером ровно с тумбнейл.
No. 15911    
Наверное, самое спартанское решение.
http://codepen.io/anon/pen/vxJLOz

Разворачивалка картинок, перетаскивание не поддерживается
Скрытие тредов, хранение в localstorage

Деплой:
65 строк js
20 css
В отдаваемой верстке нужно добавить элемент .thread-hider. В примере выше это простой span с текстом [X], можно сделать любым - button, image, anything-more-with-background-image...

Поддержка IE: 9+
No. 15912    
>>15911
Негодяй-codepen минифицировал js

Вот сырой http://pastebin.com/jQ96wZec

Размер 2.2К
No. 15913    
>>15912
А, ну и отключение разворачивалки на мобилках по user-agent.

В целом все это больше на css работает, чем на js - скрытие, максимальный размер картинки, етц. Js только классы переключает и события вешает.
Для широкоформатных мониторов тестировать удобнее так http://codepen.io/anon/pen/vxJLOz/left/
No. 15914    
148950246986.png-(104.40KB, 1382×685, Безымянный.png)
15914
Возможно, также придется по вкусу css-стакование скрытых тредов
http://codepen.io/anon/pen/ryzjGa/left/
No. 15922    
Ну вот, получился конкурс какой-то. Лушче б взяли что-то одно за основу и допилили.
No. 15924    
>>15922
Сдается мне, никто ничего впиливать в ычан не будет.
В этом треде только 2 типа: одни против каких-либо изменений и вообще скрипты зло нужно сидеть через диал-ап, пользоваться нетскейп навигатором и гуглить в альтависте #вернитемнедевяностовосьмой; и второй - те, кто запилили свои костыли за 5 минут (а больше и не надо) и ждут, что Соус Мод-тян обрадуется и запилит их скрипт на ычан за те же 5 минут.
Ну и есть наверно третий тип, малочисленный, они сидят на ычане и не знают разницы между window.onload и addEventListener, про куклоскрипт не слышали и им и так хорошо, они ждут продолжения "лета".
No. 15925    
14896116352.jpg-(52.80KB, 233×500, 1262613729552.jpg)
15925
>>15924
Если бы никто ничего не собирался впиливать, этого треда бы не было.
Чего кого-то теперь нетерплячка бьёт, я не знаю. Это Ычан, дела быстро не делаются, к сожалению. До лета впилят, я думаю, но точнее сроков никто не назовёт.
No. 15937    
148977599697.png-(115.39KB, 497×270, slow.png)
15937
Э… там рак на горе свистнул? С чего вдруг такие предложения?
No. 15938    
Повторю ещё раз - js нужен только для сохранения результатов действий пользователя. В куках или локальном хранилище, не важно. Всё остальное умеют стили. В том числе скрывать и раскрывать по наведению\клику и прочий интерактив. Причём вешать можно уже на имеющиеся классы.
No. 15940    
>>15938
>умеют стили. В том числе скрывать и раскрывать по наведению\клику и прочий интерактив
По наведению, понятно, :hover, а вот про то, что стили умеют что-то скрывать по клику, слышу впервые. Нет, в теории, можно впиливать невидимый checkbox перед тредом, а тред обернуть в label, и повесить стиль на :checked+блок_треда, но это настолько костыль, что нет, спасибо.
Так что js должен отвечать за сохранение И за скрытие. За одменистрацией только остался выбор стратегии скрытия, выше есть варианты - js просто добавляет класс, и стиль скрывает тред, или более продвинутые, где происходит модификация содержимого, чтобы, например, выводить текст поста, если тема не заполнена. Если так радеете за аскетичность, первый вариант вполне подходит.
No. 15941    
>>15940
>а тред обернуть в label
Спать пора. Кнопку скрытия обернуть в label. Но тут потребуется автогенерация id в чекбоксе и прописывание for в label'e, чтоб они связывались. А это уже не простое впиливание в верстку, а полноценный кодинг на серверной стороне. Оно вам надо?
No. 15942    
Мое решение для вас. Убейте вакабу, она давно этого просит.
No. 15943    
>>15938
Предлагается картинки раскрывать тоже цссом? Если да, то это будет худшее нововведение Иичана эвар.
No. 15944    
>>15938
Как же забавляют такие теоретики, которые лучше всех знают как надо, но не имеющие представления как это сделать.
No. 15945    
>Сперва добейся!
Ага, конечно, даже не почешусь. Иначе тогда уж брать и в самом деле готовый проект предлагать.
Кому интересно сами нагуглите. Кому не интересно - можете дальше гореть. Единственное что, повторюсь, результат не запоминается. А значит совсем без js бесполезно.
No. 15946    
>>15945
Повторюсь, повторяя еще раз, как я уже говорил, повторяя вышесказанное, повторяю что я повторял, хватит писать глупости, если не имеешь представления.
No. 15967    
Вы бы что-ли новости какие-то сообщили.
No. 15968    
>>15967

>>15925
No. 15970    
Буду признателен если вы пришьете вакабе нормальный tomorrow.
No. 15974    
Я тут упоролся и сделал es6-only версию: https://github.com/WagonOfDoubt/iichan-extensions/tree/bells-and-whistles
No. 15975    
Я знаю!
М-тян впилит нововведения аккурат к юбилею! Чтобы сырны могли с гордостью вспоминать этот день, говоря, что ждали этого момента 10 лет.
No. 15985    
>>15911
Тут это... Добавил свертывание картинки по клику вне ее.
http://codepen.io/anon/pen/qrJbYo/left/
No. 15986    
>>15985
> 11 Use '!==' to compare with 'null'. (Google it)
> 12 Don't make functions within a loop. (Google it)
> 18 Don't make functions within a loop. (Google it)
> 47 Use '===' to compare with 'null'. (Google it)
> 70 Missing semicolon. (Google it)
> 3 Don't use IDs in selectors. (Google it)
> 13 Don't use IDs in selectors. (Google it)
No. 15988    
>>15986
Спасибо за конструктивную критику, поправил.
С функциями вне цикла получилось на несколько строк больше. Про id в селекторе - сомнительно, т.к. там селектор дочерних элементов. Делать getById а потом на нем выбирать дочерние элементы имхо излишнее усложнение.
No. 16010    
>>15974
Слил все в master: https://github.com/WagonOfDoubt/iichan-extensions
Решил оставить es6-версию потому как все актуальные браузеры поддерживают es6, а пользователям Оперы Престо, Эксплорера и телефонов со старым андроидом меньше всего нужны какие либо нововведения. У них скрипт просто не выполнится и все будут довольны. Поддержка оставшихся 5% в приоритет не входит.
No. 16058    
Так кто победил в конкурсе? >>16010-кун?
No. 16078    
>>16058
Ждем программиста, предсказанного Пророчеством - на белом коне и с большими усами, который сделает
>js нужен только для сохранения
>Всё остальное умеют стили
No. 16455    
>>16078

И явится программист на чёрном моноколесе и с большими усами, и имя ему будет Мицгол.

たぶん。
No. 16462    
А как насчет того, чтобы на чиочане такую же раскрывалку картинок запилить?
No. 16465    
>>16462
Она есть с основания. Только надо на ссылку над файлом нажимать.
No. 16556    
А зачем на div с тредом добавлять class="iichan-thread-hidden", если достаточно стилизовать не
.iichan-thread-hidden {display: none}
а
.iichan-hidden-thread-placeholder+div {display: none}
, тем паче что именно через + сделано "раскрытие по наведению". А то получается, скрываем по классу, а раскрываем по другой-класс+див, ну и добавление такого класса выглядит избыточным, не?

Объясните любознательной баке в образовательных целях.
No. 16746    
Больно нужно это скрытие. Лучше бы карту постов добавили.
Удалить сообщение []
Пароль  
[Mod]