[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]

No.55048 Reply
File: New Canvas.png
Png, 18.38 KB, 1200×600
edit Find source with google Find source with iqdb
New Canvas.png
File: 1350306485420.png
Png, 0.94 KB, 300×20
edit Find source with google Find source with iqdb
1350306485420.png

Прежние треды юзерскриптов давно потонули в тёмных пучинах ныне неработающего %%надеемся, временно%% архива. Пусть они спокойно займут своё место в анналах истории. Настало время открыть новую страницу в истории юзерскриптов для Доброчана. Начнём же с чистого листа! Встречайте, рождённый из дыхания земли и шёпота ветра жгучего желания сделать Доброчан чище и энтузиазма вновь прибывших скриптописателей, Новый Оффициальный™ Доброскриптов тред!
В этом треде мы расширяем и без того широкие возможности Доброчана, делая их поистине безграничными, скрываем треды, что пришлись нам не по нраву, осваиваем регулярные выражения и делимся особо хитрыми экземплярами оных, по три года ожидаем возвращения прежних авторов скриптов, а также делимся собственными успехами на поприще скриптописательства. Главное — без фанатизма!

Список известных скриптов, что способны сделать Доброчан лучше:
  • Куклоскрипт — говорит сам за себя.
  • Эврикаскрипт — огромный комбайн со множеством функций и настроек. В настоящее время заброшен, но сохраняет частичную работоспособность. Официальный тред: >>mad/13208
  • Юки-скрипт — скрипт общего назначения, добавляющий только те функции, которых недостаёт Доброчану из коробки. Разработка не ведётся уже некоторое время, но скрипт полностью работоспособен. По сообщениям анонимного агентства статистики, в настоящее время является вторым по частоте упоминаний на Доброчане скриптом, сразу после пункта первого нашего списка. Официальный тред: >>mad/42580, репозиторий исходного кода: https://github.com/tranquility-yuki/yukiscript. В репозитории также содержится несколько других полезных скриптов, таких как Тредометр и скрипт для поиска по Доброчану (использовать на свой страх и риск!).
  • Доброскрипт — набор отдельных скриптов, каждый из которых выполняет свою функцию. В состав входят Dobrochan Reply Links, Dobrochan Thread Hider, Dobrochan Thread Update Checker и Dobrochan Bookmarks Page Updater. Названия скриптов самоочевидны, отдельно стоит прокомментировать Dobrochan Thread Hider, предназначение которого — скрывать треды в автоматическом режиме по точному совпадению с заголовком. Репозиторий: https://github.com/Unknowny/dobroscript
  • DobroHider — независимый скрипт для скрытия тредов. Интересен тем, что в состоянии скрывать треды с использованием регулярных выражений. По сообщениям анонимных аналитиков, он является тем самым IDDQD, с которым вы сможете пройти сраный дум на найтмаре! Исходный код скрипта: http://dobrochan.com/utils/text/1484194/6431878. Для установки текст скрипта можно скопировать, а затем аккуратно предложить своему плагину юзерскриптов принять его в себя любым удобным способом. После этого окно для скрытия тредов появится на странице с настройками — http://dobrochan.com/settings.
  • Dobrochan Offsite Links — перенаправляет все внешние ссылки Доброчана в новую вкладку, чтобы они не открывались во фрейме. Ссылка: https://dl.dropboxusercontent.com/u/32654067/Dobrochan_Offsite_Links.user.js
  • HanabiraMagicExtension — новый, частично основанный на коде других проектов, скрипт общего назначения. По своему подходу подобен Юки-скрипту с мечом, только без меча, то есть добавляет в Доброчан только необходимое. Официальный пост с описанием от автора: >>54872
Уточнения и дополнения приветствуются. А как же иначе?
>> No.55051 Reply
>>55048
Слишком много петросянства.
> говорит сам за себя
То, что о нем слышали даже ньюфаги, еще не значит, что они знают где его скачать. В б как минимум два раза спрашивали относительно недавно.
>> No.55052 Reply
>>55051
> То, что о нем слышали даже ньюфаги, еще не значит, что они знают где его скачать.
Верится с трудом, если честно. Первая ссылка в гугле же.
>> No.55097 Reply
>>55048
Годный тред, спасибо. Нужно его в шапку.
>> No.55122 Reply
Подумалось тут, что некоторый функционал юзер-скриптов было бы проще все же прямо в Доброчан вшить, как минимум:
— Автообновление треда (как на форчане, только при выборе опции для треда и с динамическим таймером, зависящим от активности в треде)
— Рефлинки. По-человечески их сделать еще не скоро получится, пусть пока все же будет жсом.
— Аяксовый постинг без релоада

Есть желающие этим заняться?
>> No.55123 Reply
>>55122
> Аяксовый постинг без релоада
Апи для постинга на этой неделе будет?:3
>> No.55124 Reply
>>55123
Если есть желающие написать нормальный фронтэнд на жс и встроить его в тот steaming pile of js который есть сейчас, то будет.
>> No.55125 Reply
>>55122
Заняться то не сложно, сложнее разбирать нюансы как оно будет работать на осле, мобильных браузерах класса Oera-mini и прочее, Cookie или localStorage, ву каком виде получать посты - в формате JSON или готовые в html, как быть с AJAX постингом и например редактированием макро и текста.
> с динамическим таймером, зависящим от активности в треде
Можно поподробней?
>> No.55126 Reply
>>55125
> Можно поподробней?
Если нет новых ответов, срок до следующего обновления постепенно повышается до нескольких минут.
>> No.55127 Reply
>>55126
О, это интерестно, а каков лимит? 3-5минут? И с каким интервалом повышение +20/30 сек?
>> No.55128 Reply
>>55127
На числах Фибоначчи, лол.
мимо
>> No.55129 Reply
>>55127
Да без разницы, главное, чтобы оно не создавало нагрузки там, где нет на это никакой необходимости. 3 минуты в верхнем пределе достаточно, ИМХО.
>> No.55131 Reply
>>55122
> Рефлинки. По-человечески их сделать еще не скоро получится, пусть пока все же будет жсом.
Пусть дан пост, и требуется в нём показать линки на все ответы на него.
Для этого нужно
1)найти все посты, которые содержат ссылки на данный пост
2)показать их в посте
Рефлинки получаются применением 1) и 2) к каждому посту треда.

На пост могут сослаться из другого треда и даже с другой доски. Понятно, что перебирать весь Доброчан в поисках ответа на пост не нужно. Поэтому придётся ограничиться только родительским тредом данного поста. В таком случае операцию 1) сделать легко, одним jQuery-запросом, но только если тред развёрнут. Если тред свернут, то все посты в нём перебрать, понятно, не получится, поэтому рефлинки сгенерировать будет нельзя. Поэтому для свёрнутых тредов рефлинки не будут отображаться.

Вас такое устраивает?
>> No.55132 Reply
>>55131
> На пост могут сослаться из другого треда и даже с другой доски
Поэтому я и говорю про
> > По-человечески их сделать еще не скоро получится
Достаточно как везде в других местах — добавлять только те ссылки, которые есть на открытой странице, оно все-равно нужно только для открытого отдельно треда, чтобы в нем быстро найти ответы на конкретный пост. На странице раздела можно даже и не включать эту функцию.
>> No.55133 Reply
>>55129
Хорошо, тогда еще пару уточняющих вопросов:
  • нужна ли подгрузка постов из середины/отметки удаленным
  • нужна ли кнопка подгрузки вручную
>>55132
Ну так это уже есть тогда, а вот для облегчения добавили бы к рефлинкам какой нибудь класс.
>> No.55134 Reply
>>55133
> нужна ли подгрузка постов из середины/отметки удаленным
Это дешево не сделать (либо грузить тред целиком, либо городить огород с журналом событий), поэтому пока не надо.
> нужна ли кнопка подгрузки вручную
Это стоит, да.
> это уже есть тогда
Так я и не предлагаю делать что-то новое, нужно просто встроить готовое из юзерскриптов.
> добавили бы к рефлинкам какой нибудь класс
В смысле?
>> No.55135 Reply
>>55134
> Это дешево не сделать (либо грузить тред целиком, либо городить огород с журналом событий), поэтому пока не надо.
Просто уже есть, не все время целиком грузит а только тогда, когда количество постов на странице не совпадает со счетчиком постов треда, тогда запрашивается /api/thread/{board}/{thread}/all.json и запускается проверка - недостающие вставляются, удаленные помечаются.
Правда когда свои посты на премодерации получается не очень хорошо - в треде посты есть, а в счетчике они не учитываются - запускается проверка, никаких несоответствий не находит и аллах его знает что будет твориться если будут активно удаляться/раскрываться в середине посты, однако на подгрузку новых это не повлияет.
> Так я и не предлагаю делать что-то новое, нужно просто встроить готовое из юзерскриптов.
Ну вообщем все три есть надо их только перенести.
> В смысле?
Ну вот -
<a class="replylink" href="/d/res/55048.xhtml#i55133" onmouseover="ShowRefPost(event,'d', 55048, 55133)" onclick="Highlight(event, '55133')">&gt;&gt;55133</a>
например.
Чтоб от других ссылок легко было отсеивать.
>> No.55136 Reply
>>55135
А, в смысле этот класс. Не проблема, возьмите любой, который сейчас не используется, добавлю в код.
>> No.55137 Reply
>>55136
Ну вроде вариант из примера как раз нигде больше и не используется, а на другое имя у меня фантазии не хватает.
>> No.55147 Reply
File: hanabira_autoupda...
Txt, 0.00 KB, 0 lines
view edit
hanabira_autoupdater.txt
File: autoupd.js
Js, 0.01 KB, 0 lines
view edit
autoupd.js

>>55122
Я тут посмотрел на автообновление в юзер-скриптах, оно там как-то мозголомно сделано. Решил переписать самостоятельно. Вот альфа-версия кода для автообновления, кому надо, берите. Сам тоже буду допиливать.
Существенно используется jQuery. ООП головного мозга, да. Наследование прототипное. Вроде бы работает вменяемо, но обработку полученных через API данных я до ума не довёл. То есть новые посты приезжают как надо, в тред вставляются, но не вся инфа о картинках отображается, а как оно работает с не-картинками, я даже не проверял.
Код находится в приложенном JS-файлике. Чтобы посмотреть, как работает, можно просто открыть какой-нибудь тред в новой вкладке, вызвать консоль и вкопипастить в неё код. В txt абстрактные комментарии.
Отсчёт секунд до следующего вызова API делать не стал, мне такие счётчики не нравятся, потому что провоцируют тыкнуть лишний раз. Но сделать его не трудно, и если надо, то приделаю.

>>55128
Чтобы сделать числа Фибоначчи, нужно переопределить increase таймера. По дефолту оно просто растёт на 15 секунд каждый раз.

Хм, только сейчас подумал, что его надо бы авторефрешером назвать.
>> No.55148 Reply
>>55048
Хм. Firefox 28, dobrochan reply links не работает. Добавил через грыз-манку. Что-то нужно сделать особое, чтобы заработало?
>> No.55149 Reply
File: autoupd.0.2.js
Js, 0.01 KB, 0 lines - Click the image to get file
view edit
autoupd.0.2.js
>>55147
И сразу же мелкофикс.
>> No.55151 Reply
>>55147
Извиняюсь, конечно, и это я виноват, что не стал указывать более точное ТЗ, но такое не пойдет, тут мне 70% нужно самому садиться переписывать, а в таком случае изначально проще самому и писать.
— HTML весь генерируется server-side, в js его быть не должно.
get_updater_params с одной стороны вообще ужас, а с другой не нужно, там все заранее задано server-side при вызове.
— // вставляем в ОП-пост кнупочки — во-первых см. пункт 1, а во-вторых разумно их размещать снизу, а не сверху, ибо функция нужна тому, кто тред уже дочитал до конца и смотрит на новые посты там же в конце.
>> No.55152 Reply
>>55151
Ага, рендер хтмл я через апи не отдавал. Ну, тут надо доделать значит API, а не пытаться это в жс впихнуть.
>> No.55158 Reply
>>55151
> 70% нужно самому садиться переписывать
То есть hanabira_thread_manager? Суть скрипта не в его коде же. Нужен просто объект, который добавляет в тред пост, конкретная реализация этого объекта не слишком важна.
Посмотреть я предлагаю собственно механизм запроса, об этом как бе и скрипт, остальное нужно только для того, чтобы можно было вот прямо сейчас увидеть, как работает. Просто в куклочане на обновление треда нужно триста с лишним строк, в Юкискрипте наблюдается какое-то странное использование loсalStorage, в общем, задача простая, но реализована у всех как-то странно.

tl;dr смотрите hanabira_autoupdater_timer и hanabira_autoupdater
>> No.55159 Reply
>>55158
> задача простая, но реализована у всех как-то странно.
Вангую попытки оптимизации и, вероятно, отсеивания повторов. У куклоскрипта ещё и из-за кроссбордовости код мог распухнуть. Я в своём велосипеде сначала собирал все ссылки, а потом проходил по постам и вставлял собранное, но не уверен, что от этого стало лучше, чем прямой перебор, лол.
>>55148
Ты бы хоть написал какие ошибки в консоли.
>> No.55160 Reply
>>55159
Просто есть вот такая особенность JS. Пусть у нас есть объект, и в каком-то его методе нужно поставить таймер. Таймеры в JS ставятся в помощью функции setTimeout. На вход она принимает функцию и количество времени в миллисекундах, через которое функция будет вызвана. Передавать в качестве функции обратного вызова собственно метод объекта не хотелось бы.
var Obj = {
    method1 : function(){ console.log('Вызван метод 1'); },
    method2 : function(){
        setTimeout(function(){ this.method1() }, 2000);
    }
}
Obj.method2();
Вроде бы естественно ожидать, что через две секунды будет вызван метод 2 объекта Obj, но на самом деле он не будет вызван, потому что в функции, которая установлена в setTimeout, this ссылается не на Obj, а на window. Но можно всё-таки с небольшими изменениями сделать этот код рабочим. Нужно сохранить контекст.
var Obj = {
    method1 : function(){ console.log('Вызван метод 1'); },
    method2 : function(){
        var self = this;
        setTimeout(function(){ self.method1() }, 2000);
    }
}
Obj.method2();
Вот это сработает.

Таким путём можно завернуть обновление треда в один объект, а не писать несколько вспомогательных функций.
>> No.55161 Reply
>>55160
> Вроде бы естественно ожидать
И это ты называешь OOП головного мозга.

setTimeout - это функция все таки
function setTimeout(Fn, t) {
//-- тело
}
Ты ей хочешь передать функцию которая у себя там внутри содержит this как она поймет какой this имеется в виду?
var Obj = {
    method1 : function(){ console.log('Вызван метод 1'); },
    method2 : function(){
        function self(){ this.method1() }
        setTimeout(self(), 2000);
    }
}
а то и вообще
var Obj = {
    method1 : function(){ console.log('Вызван метод 1'); },
    method2 : function(){
        setTimeout(this.method1(), 2000);
    }
}
А если честно я вообще не понимаю этих объектов состоящих из функций и простых переменных, хотя и сам их зачем то начал использовать, но это скорее следуя дурному примеру чем осознанно, насмотришься на вас.
function method1(text) {
    console.log(text);
}
function method2(Fn, t) {
    setTimeout(Fn, t);
}
method2(
    method1('Вызван метод 1'),
    2000
)
>> No.55162 Reply
>>55161
> как она поймет какой this имеется в виду?
this - зарезервированное слово же, обрабатывается по стандартам ECMAScript. Такая толстенькая книжка.
> объектов состоящих из функций и простых переменных
Мусорить в глобальном пространстве имён - плохо. Лучше всё делать модульным.
> setTimeout(this.method1(), 2000);
Сработает не так, как ты хочешь. В setTimeout нужно передавать функцию, а this.method1() - это результат выполнения функции. Писать нужно было бы setTimeout(this.method1, 2000), но тогда в metod1 нельзя красивым образом передать параметры.
>> No.55164 Reply
>>55162
> this - зарезервированное слово же
Так слово, не сам объект же
> Мусорить в глобальном пространстве имён - плохо. Лучше всё делать модульным.
Это неправильное использование объектов как мне видится, объект он же как бы елемент у которого есть особые свойства/атрибуты, который можно добавлять/перемещать/удалять вешать на него слушатели, короче делать с ним всякие штуки а не просто обращаться как к массиву функций.
> В setTimeout нужно передавать функцию, а this.method1() - это результат выполнения функции.
Почему? Если тебе надо что бы this.method1 возвращал результат, то ты тогда неправильно атрибуты указываешь:
function _m1(){
    return 'Result 1';
}

var Obj = {
    method1 : _m1(),
    method2 : (function(){
         return 'Result 2'
    })()
}
Obj.method1 и Obj.method2 теперь не функции а результат функций

если тебе не нравится писать Obj.method2() то тогда можно писать так:
var Obj = {
    method1 : function(x){ console.log('Вызван метод 1'); }, //-- функция на вход принимает переменную "x" но не использует ее нигде
    method2 : function(){
        setTimeout(this.method1, 2000);  //-- пошлет функции undefined в качестве переменной
    }
}
Но лучше бы вообще без этого, чем функциональщина не нравится?
>> No.55166 Reply
>>55164
> Это неправильное использование объектов как мне видится,
Нет, правильное. Главная идея ООП же - всё есть объект. Массив функций и массив переменных, к которым эти функции обращаются, - это как раз канонiчный объект.
> Почему?
Ну язык так устроен.
function f(){ console.log("Hello world"); return 10 } - это объявление функции. Функция в JS есть объект.
var a = f;
var b = f();
var c = a();
Теперь a есть функция как f1, b есть 10, c есть 10.

На вход setTimeout первым аргументом нужно подавать функцию.
setTimeout (f, 2000) - правильно, на вход будет подана функция
setTimeout (f(), 2000) - неправильно, на вход будет подано число 10

Вот этот твой (твой же?) код
function method1(text) {
    console.log(text);
}
function method2(Fn, t) {
    setTimeout(Fn, t);
}
method2(
    method1('Вызван метод 1'),
    2000
)
сначала вызовет метод 1, напечатает в консоли текст, получит в качестве результата метода 1 undefined, и только потом попытается установить таймер (undefined, 2000).
> Если тебе надо
Вот представь задачу. Есть функция f(x){console.log(x)}. Нужно через 2 секунды вызвать f("Привет"). Как ты это сделаешь?
>> No.55167 Reply
>>55166
А, точно, так нельзя же делать, ну тогда обернуть еще раз
function method1(text) {
    console.log(text);
}
function method2(Fn, t) {
    setTimeout(Fn, t);
}
method2(
    function(){ method1('Вызван метод 1') },
    2000
)
> Нет, правильное. Главная идея ООП же - всё есть объект.
Вопрос в том - нафига?
var post = {}
var thread = {}
Thread.prototype = {
    el: document.createElement('div'),
    posts: function() { return this.el.querySelectorAll('.post').length },
    last: function() { return this.el.lastElementChild },
    update: function() {
     ...
    }
}
Post.prototype = {
    el: document.createElement('table')
}
getDataJSON('/'+ Hanabira.URL.board +'/'+ (Hanabira.URL.page || '0') +'.json',
	function(status, sText, json, xhr) {
		$each(json.boards[Hanabira.URL.board].threads, function(tData) {
			var i, pid, tid = tData.display_id,
				thread[tid] = new Thread
				thread[tid].el.id = 'thread_'+ tid
			for (i = 0; pData = tData.posts[i++];) {
				pid = pData.display_id;
				post[pid] = new Post
				post[pid].el.id = 'post_'+ pid
				post[pid].files = pData.files.length
				//... ну и с файлами так же
			}
		});
	}
);
//теперь с каждым тредом/постом/(файлом) можно работать как с объектом и не искать их на странице, это я понимаю почему и зачем
Но какой смысл в Obj.method(el, param) чем оно отличается от method(el, param)? Ничем же, какой смысл в таком ООП.
> Вот представь задачу. Есть функция f(x){console.log(x)}. Нужно через 2 секунды вызвать f("Привет"). Как ты это сделаешь?
Оберну f("Привет") в функцию как выше сделал
>> No.55169 Reply
>>55167
> ну тогда обернуть еще раз
Воот. А теперь представь, что у тебя есть объект, и из одного метода этого объекта нужно через две секунды вызвать другой метод этого же объекта, причём, возможно, передав ему какие-то аргументы. В >>55160 я показал, как правильно писать обёртку для такого случая.
> new Thread
Так ведь у тебя Thread - не функция. После new должно следовать имя функции.
> Thread.prototype
И ты уверен, что у тебя el должно находиться в прототипе? Просто в JS прототип - это тоже объект, поэтому данные конкретного экземпляра класса всегда следует отделять от данных, общих для всех объектов класса. То есть объявлять данные конкретного экземпляра нужно в конструкторе, а не в прототипе.

Кроме того, на Доброчане есть jQuery. Разумно манипулировать элементами DOM с помощью этой библиотеки. Например, создание элемента будет тогда просто el = $("<div>"), количество всех подэлементов класса post - $(el).find(".post").length. С JSON тоже лучше через jQuery работать.
> смысл в Obj.method(el, param) чем оно отличается от method(el, param)
А вдруг когда-нибудь понадобится дописать код? Объявишь в глобальном неймспейсе method, а он уже был объявлен и кем-то использовался. Всё сломается, но браузер даже не ругнётся.
function a(){console.log("Hello")}
function a(){console.log("Nope")}
a()
Сработает без всяких ошибок, выведет Nope.
>> No.55171 Reply
>>55169
> Воот. А теперь представь, что у тебя есть объект, и из одного метода этого объекта нужно через две секунды вызвать другой метод этого же объекта, причём, возможно, передав ему какие-то аргументы. В >>55160 я показал, как правильно писать обёртку для такого случая.
А я показал как сделал я бы - вынес в функцию или запустил как есть, потому что так как ты показываешь я так тоже раньше делал, не помню почему но я избегаю теперь вот таких вот переназначений переменных.
> Так ведь у тебя Thread - не функция. После new должно следовать имя функции.
> И ты уверен, что у тебя el должно находиться в прототипе? Просто в JS прототип - это тоже объект, поэтому данные конкретного экземпляра класса всегда следует отделять от данных, общих для всех объектов класса. То есть объявлять данные конкретного экземпляра нужно в конструкторе, а не в прототипе.
Это нерабочий код, я его набросал от балды просто показать пример использования ООП - тоесть когда некие элементы на страницу добавлены один раз (в коде не отражено) а дальше уже все манипуляции проводятся только над объектами и ни на каких хтмл страницах больше ничего не ищется.
> Кроме того, на Доброчане есть jQuery.
Доброчановский jQuery браузеры на движке WebKit не разрешают использовать для юзерскриптов (можно, если добавлять код на страницу или возвращать в виде калбэка в свой скрипт)
Доброчановский jQuery говно мамонта
Не люблю jQuery за то что он:
- всегда возвращают какое то говно которое нельзя использовать с pureJS функциями
- не видно что и как делает чем очень затрудняет понимание работы даже собственного кода.
- тормоз
- для работы с DOM, GET/POST запросами и FileAPI написано свое, которое я могу изменить или дополнить.
> А вдруг когда-нибудь понадобится дописать код? Объявишь в глобальном неймспейсе method, а он уже был объявлен и кем-то использовался. Всё сломается, но браузер даже не ругнётся.
Не понимаю об чем речь, если функция вызывается например из DOM0 то она так и так должна быть объявлена в глобальном, какая разница Obj.forDOM0() или просто forDOM0() - обе можно переназначить, а иногда даже и надо это делать. А функции которые мне не нужны в глобальном неймспайсе я и не буду там объявлять, зачем?
function forDOM0(e){
    console.log(e);
}

(function(){

    function forDOM1(e) {
        console.log(e);
    }

    function forDOM2(e) {
        console.log(e);
    }

})()
>> No.55172 Reply
File: Konachan.com-60333-sample.jpg
Jpg, 1345.42 KB, 2000×1456 - Click the image to expand
edit Find source with google Find source with iqdb
Konachan.com-60333-sample.jpg
>>55171
> переназначений переменных
Там нет никаких переназначений переменных. self - это обычная переменная, это не зарезервированное слово, вместо self можно использовать любой другой символ.
Просто, по-моему, естественно сделать один объект, который будет обновлять тред. У него есть состояние - вкл/выкл. У него есть рычажки, за которые можно дёргать. Зачем всё это делать в виде вороха функций? Куски кода, которые зависят друг от друга, по возможности всегда нужно собирать в один объект.
> я его набросал от балды просто показать пример использования ООП
function post(){
	this._value = {};
	this.set_value = function(x){this._value = x};
	this.get_value = function(){return this._value };
}

function thread(){};
thread.prototype = {
	inner_post : new post()
}

var a = new thread();
var b = new thread();

a.inner_post.set_value("Foo");
b.inner_post.set_value("Baz");
console.log(a.inner_post.get_value());
Выведется Baz. Вряд ли это то поведение, которого ты ожидаешь.
> Не люблю jQuery за то что
Сказал бы проще - за то, что у него есть фатальный недостаток, лол.
>> No.55174 Reply
>>55172
> Там нет никаких переназначений переменных. self - это обычная переменная, это не зарезервированное слово, вместо self можно использовать любой другой символ.
Это и имелось в виду, сначало
var $this = this (я писал так)
потом var $$this = $this по мере закапывания глубже в конструкции if () { switch () {} case : function() { } } else {}
такие лесенки переменных указывающих друг на друга не нужны, надо их избегать
> Просто, по-моему, естественно сделать один объект, который будет обновлять тред. У него есть состояние - вкл/выкл. У него есть рычажки, за которые можно дёргать. Зачем всё это делать в виде вороха функций? Куски кода, которые зависят друг от друга, по возможности всегда нужно собирать в один объект.
А что ты будешь делать вот с таким:
var Obj = {
   a: function() { Obj.b() },
   b: function() { Obj.a() }
}
?

А функциям плевать в каком порядке их объявили
(function(){

   function f1() {
      f2()
   }

   function f2() {
      f0()
   }

})()
function f0() {
   console.log('test')
}
> Выведется Baz. Вряд ли это то поведение, которого ты ожидаешь.
Лучше чем ерничать показал бы как правильно такие скелеты конструирывать, что бы потом можно было создавать объекты и работать с ними:
Thread.el = //сам DOM элемент который можно добавить на страницу, убрать или переместить
Thread.lastEl = //функция которая находит последний элемент во внутреннем DOM
Thread.etc = Thread.etc = // добавлять по вкусу
и что бы их можно было создавать сколько душе угодно new Thread, new Post, new File как это можно делать с new Audio new Video new RegExp итд.
> Сказал бы проще - за то, что у него есть фатальный недостаток, лол.
Зачем такая жирная библиотека, когда оттуда надо то три с половиной функции и то не надо - я лучше вместо $(el).closest('.reply').find('.reflink a') напишу функцию которая будет сразу от элемента прыгать по нодам и искать нужный мне элемент и его же возвращать.
>> No.55176 Reply
>>55174
> Это и имелось в виду
Переменная вводится не для последующего использования в каком-то не описанном мной свитче, совсем нет. Она вводится для сохранения контекста и только для него.
> А что ты будешь делать вот с таким:
А это не моя проблема и не проблема ООП. Вот ты что будешь делать с нижеследующим кодом?
function f(){
    f();
}
f()
Это правильный JS-код, в чём нетрудно убедиться (но лучше не убеждаться). Бесконечный цикл, который ты описал, на функциях организовать ничуть не сложнее, чем в объекте.
> Лучше чем ерничать
Я и не ёрничаю же. Просто показываю, что поведение программы при прототипном наследовании в стиле JS отличается от поведения при классическом наследовании. В прототипе нужно описывать только методы, а все переменные стоит объявлять в объекте, чтобы интерпретатор правильно проходил по цепочке прототипов.
function post(){
	this._value = {};
	this.set_value = function(x){this._value = x};
	this.get_value = function(){return this._value };
}

function thread(){
	this.inner_post = new post();
};
thread.prototype = {}

var a = new thread();
var b = new thread();

a.inner_post.set_value("Foo");
b.inner_post.set_value("Baz");
console.log(a.inner_post.get_value());
Вот теперь выведется Foo. То есть свойства объекта надо объявлять в конструкторе, а не в прототипе.
> как правильно такие скелеты конструирывать
function Post(h){
    this._el = document.createElement("div");
    this._el.innerHTML = h;
}

Post.prototype = {
    get : function(){ return this._el },
    set : function(x){ this._el = x }
}
var p = new Post("Foo");
var q = new Post("Baz");
> Зачем такая жирная библиотека
Ради божественных селекторов же! Да и не такая уж она и жирная. Даже если бы в ней не было ничего кроме селекторов, её стоило бы подключить. Но в ней есть куча всего другого - аякс, анимации, обёртка для печенек, и всё это работает на куче браузеров.
> напишу функцию которая будет сразу от элемента прыгать по нодам и искать нужный мне элемент и его же возвращать.
Всё уже написано за тебя.

var t = $(".post:has(.thumb):gt(9)") Теперь в t находятся все посты треда, в которых есть что-то кроме теста (то есть нечто с классом thumb), начиная с девятого такого поста. Вот такой компактной, маленькой строчкой они очень быстро и кроссбраузерно выбираются. А сколько бы ты прыгал по нодам, чтобы выбрать эти посты?
>> No.55178 Reply
File: спрятать-посты.jpg
Jpg, 369.49 KB, 1579×992 - Click the image to expand
edit Find source with google Find source with iqdb
спрятать-посты.jpg
>>55176
> теста
Текста, то есть. А строчкой $(".post:not(:has(.thumb))").hide() можно скрыть все посты, в которых нет картинок.
>> No.55182 Reply
>>55176
> Переменная вводится не для последующего использования в каком-то не описанном мной свитче, совсем нет. Она вводится для сохранения контекста и только для него.
По мере углубления за скобки она у тебя потеряется, и не только она, заного будешь объявлять?
> А это не моя проблема и не проблема ООП. Вот ты что будешь делать с нижеследующим кодом?
Вообще то я не про бесконечный цикл а про расположение - порядок функций и переменных в таких объектах и как они могут зависеть друг от друга и доставлять анальных болей, а почему написал то что написал - не знаю, ну да ладно.
> поведение программы при прототипном наследовании в стиле JS отличается от поведения при классическом наследовании. В прототипе нужно описывать только методы, а все переменные стоит объявлять в объекте, чтобы интерпретатор правильно проходил по цепочке прототипов.
Бля, он мне выносит моск этот прототип, иногда все нормально (особенно когда что то мелкое на нем и не сложное) а иногда вываливает просто какую то ужасную хуйню там работает/здесь неработает
Я вообще всегда думал что через него свойства для всех (созданных и не созданных) объектов просто задают.
> Ради божественных селекторов же!
> Всё уже написано за тебя.
> var t = $(".post:has(.thumb):gt(9)")
Ничего не понимаю, родина им дала DOM API аж блять трех уровней, используй блеать!!! Неет, хотим по страничке ползать и селекторами все собирать. Что такое? Это JavaScript? Это OOП? jQuery впиздячили, селекторами элементы перебирают сидят вебразработчики блять, ебаные.
var style = document.createElement('style')
style.textContent = '.mainImg{cursor:pointer;position:fixed;top:0;left:35%;}'
var img = document.createElement('img')
img.src = '/src/jpg/1502/Konachan.com-60333-sample.jpg'
img.addEventListener('click', function(e) {
    img.remove();
    style.remove();
}, false)
img.addEventListener('load', function(e) { console.log(img.width, img.height) }, false)
img.width = 900;
img.classList.add('mainImg');
document.body.appendChild(img)
document.body.appendChild(style)
и особенно они не пригодяться когда надо выбрать ноду во внутреннем DOM элемента которого на странице eщe нет.
> в ней есть куча всего другого - аякс, анимации, обёртка для печенек, и всё это работает на куче браузеров.
Да, а как оно c кроссдоменными запросами решает проблему на разных (и особенно не свежих) браузерах? Скорее всего никак.
>>55178
function _hide(el) {
   el.style['display'] = 'none';
}

function _each(nodes, Fn) {
   for (var i = 0, len = nodes.length; i < len; i++) {
Fn(nodes[i])
   }
}

_each(document.querySelectorAll(".post"), function(node) {
   if (!node.querySelector(".thumb")) {
_hide(node);
   }
});
>> No.55185 Reply
Товарищи, шли бы вы в >>/s/ с этими срачами.
>> No.55187 Reply
>>55184
Эта фигня не работает против особо хуевых ОПов, пишущих в теме "хуевастеньких от странанейм". А если совсем генерализировать регепс, то есть риск, что что-то лишнее попадет.
>> No.55188 Reply
File: dh.txt
Txt, 0.00 KB, 0 lines - Click the image to get file
view edit
dh.txt
Знаю, что в регэкспы смотреть могут не все, точнее не только лишь все могут только лишь смотреть в регэкспы, но не понять их. Вот вам регулярное выражение для скрытия политчатиков в файле (доброхайдер)


Выражение означает:
символы, окончание ых/их, один и более пробелов, ?жиданий, пробел или несколько,от,несколько букв, тред, и в конце необязательное наличие номера с пробелами и знаком номера или без них.

Если коротко, то «каких-то ожиданий от кого-то тред номер»

Проверить можно на pcre.ru, если у вас паранойя.
Там же написать своё на ходу проверяя, работает ли.

Если у кого тред обошёл фильтр — пишите, поправлю.
Если кто-то хочет шаблон на скрытие определённого треда — напишу, просить тут.
>> No.55189 Reply
>>55187
> хуевастеньких от странанейм
если есть слова «ожиданий от», попадёт в фильтр, если их нет, то паттерн не получается. Фильтровать по названию страны низзя.
>> No.55190 Reply
>>55189
> Фильтровать по названию страны низзя.
Неполиткорректно? Всё равно кроме украины и роисси ничего нет.
>> No.55191 Reply
File: dh.txt
Txt, 0.00 KB, 0 lines - Click the image to get file
view edit
dh.txt
>>55190
> Неполиткорректно?
Да нет, чревато включением треда по ошибке.
Можно вариант строки по паттерну «ожиданий + украины/россии».
Запилил с учётом распространённых ошибок. прокатит даже если напишут «ожиданий от раисси»
>> No.55195 Reply
>>55191
[?:р\Sс{1,2}ии|?:украй?ины|?:рашки|?:украшки]
Что это за норкоманство?
[] для символьных классов, для группировки надо ().
Алсо, ?: надо только один раз вначале группы, но тут и вовсе не нужно, потому что захвата нет.
>> No.55196 Reply
File: объект.png
Png, 14.29 KB, 527×188 - Click the image to expand
edit Find source with google Find source with iqdb
объект.png
>>55182
> По мере углубления за скобки она у тебя потеряется
Эта переменная нужна только для одной конкретной однострочной обёртки. Задача же проста - обернуть вызов метода объекта в функцию. Какое углубление за скобки? Все скобки, которые там в принципе могут стоять, там уже стоят. По-моему, ты не туда думаешь.
> порядок функций и переменных в таких объектах и как они могут зависеть друг от друга
Эм. А что с ним не так? Код, который ты написал для объекта, - он рабочий. Пикрелейтед.
> Бля, он мне выносит моск этот прототип
RTFM.
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
> Неет, хотим по страничке ползать
Но ведь ползаешь-то как раз ты. Чтобы скрыть все посты без картинок, я написал тридцать пять символов, а ты - двести девяносто пять. У тебя код очень быстро раздуется же до такой степени, что ты сам его прочитать не сможешь.
> и особенно они не пригодяться когда надо выбрать ноду во внутреннем DOM элемента которого на странице eщe нет
Ну, это совсем не так же.

>>55185
Да, надо бы.

>>55152
Так как это будет выглядеть-то?
>> No.55197 Reply
>>55196
> Эта переменная нужна только для одной конкретной однострочной обёртки. Задача же проста - обернуть вызов метода объекта в функцию. Какое углубление за скобки? Все скобки, которые там в принципе могут стоять, там уже стоят. По-моему, ты не туда думаешь.
Я думаю в более глобальном масштабе, твоя функция вызываемая по таймеру это хэловорлд, а доказывать на примере хэловорлд что это хорошая идея - не правильно.
> Эм. А что с ним не так? Код, который ты написал для объекта, - он рабочий. Пикрелейтед.
Неправильный пример сам по себе, я то не имел в виду вообще:
var Obj = {
    a: 4 + this.b(),
    b: function(){ return 2; }
}
console.log(Obj.a)
Использовать объекты для складирования переменных и функций - плохая идея, а собирать в них еще и зависимые друг от друга - хуже даже не придумаешь.
> Ecma-international: Ecma-262.pdf
Да зачем он мне стандарт то весь? Я же не собираюсь интерпритатор JS писать.
> я написал тридцать пять символов, а ты - двести девяносто пять.
Да, только что бы они у тебя работали тебе надо 100кб библиотеку к странице подключить. Против моих 100байт, к тому же функции универсальные и их больше не надо писать заного, при желании можно и другую так же вынести универсализировать и дополнить всем чем нужно.
> Так как это будет выглядеть-то?
> > /new.xhtml?lastpost={displayid}
Как то так наверное, сейчас пока только json дает, но зой не хочет что бы мы посты сами собирали.
>> No.55199 Reply
>>55197
Зой, зделай уже что нибудь с _ (?:^|\s)_(.+)_(?:\s|\n|$) какой нибудь, чтоб хоть только по краям что ли парсил.
>> No.55200 Reply
>>55197
> это хэловорлд
Это не хэловорлд. Я именно что хочу показать способ, как можно обернуть метод объекта в функцию, чтобы вызвать её по таймауту. В этом суть. У тебя есть другие способы?
var Obj = {
    a: 4 + this.b(),
    b: function(){ return 2; }
}
console.log(Obj.a)
Щито? Няш, ты не умеешь готовить объекты. Ты пытаешься вручную описать один-единственный объект, в котором перемешаны данные и функции, которые их обрабатывают. Так не надо делать. И да, замечание. Переменные, спрятанные внутри объекта, должен изменять только сам этот объект. Всё взаимодействие с объектом нужно вести через интерфейс, который предоставляет этот объект.
function Obj(){
    this._a = 4 + this.get_b();
}

Obj.prototype = {
    get_a : function(){ return this._a},
    get_b: function(){ return 2; }
}
var t = new Obj();
console.log(t.get_a());
> Да зачем он мне стандарт то весь?
Чтобы знать, как работают прототипы, и как язык в целом работает.
> 100кб библиотеку
Не 100кб, меньше. И от подключения этой библиотеки так много профитов, что они вполне окупают её подключение.
> Как то так наверное
Ну это-то понятно. Нужно больше деталей же.
> к тому же функции универсальные
Да ничего они не универсальные. Понадобится тебе показать все посты, в которых нет картинок, ты будешь новую функцию писать. Понадобится переставить посты так, чтобы сначала шли с картинками, а потом без картинок - снова будешь новую функцию писать.
> и их больше не надо писать заного
Ой, вряд ли. Код, который ты написал, ты небось даже не сохранил себе никуда, и следующий раз будешь писать его заново.

И да, разговор на отвлечённые темы, наверное, стоит продолжать в >>s/40541
>> No.55206 Reply
File: dhU.txt
Txt, 0.00 KB, 0 lines - Click the image to get file
view edit
dhU.txt
>>55191
Регэксп для доброхайдера. Скрывает политчаты. Два варианта, поточнее и порасплывчатее.

Учитывает синонимы, отлавливая названия стран с широкими вариациями (роисся, сальноландия и т.д.)

Кому нужен регэксп: описываете для каких вариантов названий нужен.
>> No.55207 Reply
File: keep-calm-and-rtfm.png
Png, 30.51 KB, 600×700 - Click the image to expand
edit Find source with google Find source with iqdb
keep-calm-and-rtfm.png
>>55206
Лол, а ты упорный. Теперь все классы переделал в группы.
Ещё раз, классы для [абвгАБВ], группы для (ололо|норкоман).
:? нужно только когда у тебя есть захваты, чтобы нинужное не захватывалось. Тут же без разницы, только засоряется выражение.
Ещё тебе пригодится якорь для границ слова /b.
>> No.55208 Reply
>>55207
> классы переделал в группы.
Да, эт я переборщил. Распепячу то, что можно.

?: — я так хочу, чтобы регэксп не сохранял ничего кроме целевой подстроки.
Границу слова знаю. Мануал-то под рукой. Но просто знать, что есть что — ещё не значит уметь адекватно применить. Где и чем граница лучше? Лучше чем что?
>> No.55211 Reply
>>55208
> чтобы регэксп не сохранял ничего кроме целевой подстроки
Есть захват и просто проверка совпадения, для проверки это не имеет смысла.
> Где и чем граница лучше? Лучше чем что?
Чтобы не находить блять в потреблять и т.д. Можно использовать для этого /W, например, но оно сломается на границе строки, где ничего уже нет.
>> No.55234 Reply
File: dhU.txt
Txt, 0.00 KB, 0 lines - Click the image to get file
view edit
dhU.txt
>>55211
> Чтобы не находить блять в потреблять
«\b Соответствует границе слова, т. е. позиции между словом и пробелом или переводом строки.»
Проблема: яваскрипт понимает \w только как латиницу. Словом считается слово из латиницы. Слово нераздельное (дефис недопустим). В общем я предпочту более точно определять границы конкретных групп символов, а не «слова», когда речь о яваскрипте.

Вернул классы, убил лишнее условие, добавил идентично или похоже выглядящие символы. Оно всё ещё работает.

Ну и дополнительные простые фильтры на популярные чятики.
>> No.55243 Reply
>>55152
Зой, так ты усовершенствуешь апи, или мне причёсывать создание постов в скрипте?
>> No.55271 Reply
>>55243
Добавил для new.json флаг post_html (/api/thread/b/2/new.json?last_post=118&post_html), оно выдает для объектов треда жсон, а в списке posts строки с готовым хтмлем.
>> No.55279 Reply
File: autoupd.0.3.js
Js, 0.01 KB, 0 lines - Click the image to get file
view edit
autoupd.0.3.js
>>55271
Здорово же, спасибо. Вот очередная версия скрипта. Код, как и раньше, написан для запуска из консоли, его можно просто копировать-вставить. Есть замечания?
Хочу теперь сделать обработку ошибок, какую-нибудь подсветку только что добавленных постов, а также всякие защиты. Например, когда кто-нибудь несколько раз подряд очень быстро тыкнет на галочку, чтобы из-за этого куча запросов разом не отправлялась.

>>55151
> getupdaterparams
Там можно всё содержимое стереть, оставить только то, что в комментарии.
> вставляем в ОП-пост кнупочки
В любые места кода страницы можно понавставлять строчку

<span class="updater_panel">[<a href="javascript://" onClick="thread_updater1.call()">Update</a>] <label>[<input type="checkbox" class="enable_autoupdate" onChange="thread_updater_check(thread_updater1)"> Auto]</label></span>

Оно должно работать, даже если включений больше одного.
>> No.55280 Reply
File: talking_captcha.png
Png, 0.80 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
talking_captcha.png
>>55048
Вот смотрю я на все эти скрипты и с грустью понимаю, что нужного-то и нету. Что по сути мне нужно? Набор юкискрипта + раскрытие спойлеров. Поставил бы я тогда юкискрипт и был бы счастлив, правда? Так нет. Не работает ajax-постинг - если постить не с доски, а из треда, пост уходит, но страница так никогда и не обновляется. И это ужасно раздражает. Ну и плюс хотелось бы возможности отключить бесполезную иконку реверси.

Если бы кто-то допилил это, я был бы ему очень благодарен.
Капча намекает, что надежды нет.

А вообще я буду очень рад, если/когда администрация сделает эти фичи нативно.
>> No.55281 Reply
>>55280
А последний в списке пробовал тоже?
>> No.55282 Reply
>>55280
Напиши свой.
>> No.55289 Reply
>>55281
Пробовал. Юкискрипт содержит в себе ровно то, что мне нужно, и ничего более (ну кроме разве что реверси). Так что очень жаль, что он не работает.
Допилить бы его новой формой ответа, убрать реверси, и будет идеально. Пока что придётся пользоваться этим самым новым скриптом, даром, что меня очень раздражают вводимые им "красивости". Что нужно убрать из скрипта, чтобы их убрать и вернуть закрытие всплывающих постов по Esc вместо клика?
>> No.55290 Reply
>>55289
> Что нужно убрать из скрипта, чтобы их убрать и вернуть закрытие всплывающих постов по Esc вместо клика?
Если уж убирать то убирать половину сделав лайтверсию без рендера html >>55271.

То есть убрать
  • CSS3 интерфейс
  • хоткеи
  • мультимедиа
и убрать/оставить (зачеркни ненужное):
  • Нотификации о количестве новых постов в фавиконе
  • Кнопки разметки
  • Спойлероподобные рейтинги
Ajax постинг, Ajax подгрузка постов и ссылки ответов естественно все остаются
>> No.55291 Reply
>>55290
Ты разработчик? Супер! А то я уже начал редактировать исходники сам, хехех.
Всё именно так, плюс у меня есть ещё пара реквестов.
1) Допили пожалуйста кнопку поиска по пикче у себя в скрипте, чтобы сразу скармливалась ссылка на пикчу.
2) Добавь соуснао. Шаблон: http://saucenao.com/search.php?url=http://site.com/image.png, иконочку можно взять тут: /src/png/1502/saucenao_favicon1.png.
3) Опция: чтобы при нажатии на рейтинг не раскрывалась картинка сразу, а сначала пропадал этот рейтинг.
4) Возможность раскрыть все спойлеры как в кукле, чтобы не приходилось наводиться на каждый.

Ну и лайт-версию, да. Ты няша.
>> No.55292 Reply
>>55291
И да, иконочка 14х14, для Доброчана.
>> No.55294 Reply
>>55291
> Допили пожалуйста кнопку поиска по пикче у себя в скрипте, чтобы сразу скармливалась ссылка на пикчу.
То есть? Я не понял, объясни.
> 3) Опция: чтобы при нажатии на рейтинг не раскрывалась картинка сразу, а сначала пропадал этот рейтинг.
Это можно
> 4) Возможность раскрыть все спойлеры как в кукле, чтобы не приходилось наводиться на каждый.
А это не могу, это значит что все картинки придется грузить целиком, потому что превьюшку взять неоткуда, да и есть же "доброчан" > "настройки" > "максимально отображаемый рейтинг"
>> No.55295 Reply
>>55293
keyMarks

Так же надо убрать:

YukiTextArea 'keydown' EventListener
window 'keypress' EventListener
>> No.55296 Reply
File: scratchpad_no_shadows.zip
Zip, 0.04 KB, 0 files - Click the image to get file
view
scratchpad_no_shadows.zip
>>55290
Не тот файлик, репост.
Пишет анонимус выше, который грустил по юкискрипту. Спасибо за скрипт, я его немножко подправил ручками так, чтобы мне нравилось (выпилил тени, вернул старую иконку быстрого ответа и добавил поиск по соуснао). Если кому-то нужны мои изменения - держите.
Алсо, как убрать автоматическое дополнение разметки? А то меня немножко раздражает то, что когда я ставлю одну звёздочку, сразу ставится и вторая. Весь код обрыл - не нашёл.

Выкладываю изменённый скриптик если кому нужно.
>> No.55297 Reply
>>55294
> То есть? Я не понял, объясни.
Я не заметил, что на дерпибуру нет апи для поиска. Всё ок. Но, может, сделать кнопочку href'ом, а не реализовывать onClick? Для единообразия с ванильным доброчаном.
> А это не могу
Ты меня немножко не понял, няша. Я имел в виду обычные спойлеры, вот такие. Просто очень часто встречаются чёртовы тонны сообщений спойлер на спойлере, которые ужасно неудобно читать, и их приходится выделять мышкой. А так можно было бы ткнуть в кнопочку в настройках - и содержимое всех спойлеров становится видимым.

Ещё таки действительно стоит добавить кнопочку отключения автоматического дополнения разметки (когда ставишь скобку/звёздочку, сразу ставится и вторая), не всем это удобно. Можно добавить экранированное нижнее подчёркивание в кнопочки - оно делается вот так: *_*, и_это_вроде_работает.

Лучей добра разработчик-куну!
>> No.55298 Reply
File: talking_captcha.png
Png, 2.02 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
talking_captcha.png
>>55295
Не помогло. Удалил всю функцию keyMarks, закомментил всё со словами keydown и keypress от скобки до скобки. Сохранил, перезагрузил. Всё равно дополняется.
>> No.55299 Reply
>>55297
> Но, может, сделать кнопочку href'ом, а не реализовывать onClick? Для единообразия с ванильным доброчаном.
Без onclick никак, можно разве что целиком туда форму засунуть:
onclick="$(<form ... ></form>).submit()"
> Я имел в виду обычные спойлеры
А, ну это легко

>>55298
Не может быть, покажи где закомментил
$setup(YukiTextArea, {'value': JSON.parse(getlSValue('SafeText', JSON.stringify(YukiTextArea.value), true))}, {
	'click': function(e) { this.classList.remove('ta-inact') },
	'keyup': function(e) {
		var height = _cid(this.style['height']);
		if (height + 26 < this.scrollHeight)
			this.style['height'] = this.scrollHeight +'px';
		setlSValue('SafeText', JSON.stringify(this.value), true);
	}/*,  отсюда
	'keydown': function(e) {
		if (KeyCodes.specl.isThere(e.keyCode))
			keyMarks(e);
	}   до сюда   */
});

$setup(window, {}, {//'keypress': keyMarks,  <--- Здесь
	'mousemove': BindDragRef,
	'mouseup': function(e) { HM.RefTab = null },
	'focus': function(e) {
		window_focused = true;
		Tinycon.setBubble(0);
		unread_count = unread_count * 0;
	},
	'blur': function(e) {
		window_focused = false;
	}
});
>> No.55300 Reply
File: talking_captcha.png
Png, 1.04 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
talking_captcha.png
>>55299
Большое спасибо. У меня просто что-то сглючил гризманки, перезагрузил браузер и всё заработало правильно.

Капча и правда говорящая.
>> No.55301 Reply
>>55290
А как твой скрипт можно запустить под оперой? И можно ли вообще?
>> No.55302 Reply
>>55301
Имеется в виду старая опера.
>> No.55303 Reply
>>55302
С помощью Violentmonkey например? И прекрати сношать труп.
мимо
>> No.55304 Reply
>>55301
Не знаю даже, попробуй.
Но вроде опера не поддерживает стандарты HTML5 и скорее всего он не заработает.
>> No.55305 Reply
>>55299
> Без onclick никак, можно разве что целиком туда форму засунуть:
> onclick="$(<form ... ></form>).submit()"
btnSaucenao = btnTamplate.allReplace({'r{Fn}': "search_saucenao", 'r{Act}': 'href="//saucenao.com/search.php?url=@img_src" onclick="window.open(this.href,\'_blank\');return false"', 'r{title}': LC.fnd_src_wth +' SauceNAO', 'r{alt}': 'sauce'}). Я себе сделал вот так. Эту кнопку можно открывать правой кнопкой мыши.
Ударьте меня, если я бака.
>> No.55306 Reply
>>55305
Я имею в виду дерпибуру
>> No.55307 Reply
>>55306
А, ясно. А скрипт у тебя очень хороший, продолжай в том же духе, пожалуйста.
Я себе немного допилил напильником (убрал тени у постов, точнее, и отключил автодополнение разметки) и сейчас очень всем доволен.
>> No.55308 Reply
>>55307
Блин, так тогда может и не нужна лайтверсия? кнопку соуса, закрытие постов по эскейп и отключение хоткеев и теней или даже вообще разбиение css на две части - в одной только верстка во втором только свистоперделки, (давно руки чешутся этот сделать) я и в основном добавлю.

Только в следующей версии не будет больше кнопочек над картинками, будет вот так: http://blog.teamtreehouse.com/building-html5-context-menus
>> No.55309 Reply
>>55308
А давай. Мне нравится этот вариант.
Про спойлеры не забудь.
>> No.55310 Reply
>>55308
Хмм, а действительно, крутая же фича. Пожалуй, стоит и в исходный доброчановский код это применить, правда, не очень понятно, как донести до пользователей информацию где это меню искать, слишком уж контр-интуитивно.
>> No.55311 Reply
>>55310
Я бы сделал всё же выпадающее меню вместо кучи кнопочек, на манер куклоскрипта. Могу заскринить.
>> No.55312 Reply
>>55311
Так речь и идет о меню, а не кнопках. Я про то, что по ссылке указано.
>> No.55313 Reply
File: Менюшка.jpg
Jpg, 41.91 KB, 433×199 - Click the image to expand
edit Find source with google Find source with iqdb
Менюшка.jpg
>>55312
А я про пикрелейтед.
>> No.55314 Reply
>>55309
лол, спойлеры легко раскрыть при помощи юзерстилей же. Что-то вроде такого:
@namespace url(http://www.w3.org/1999/xhtml);

@-moz-document domain("dobrochan.com") {

.spoiler{
	color: #аааааа !important;
}

}
Вместо #аааааа может быть любой цвет. Выбирать можно например вот тут http://www.colorpicker.com/ Вкратце почитать вот здесь http://htmlbook.ru/css/value/color
>> No.55315 Reply
>>55314
Так хотелось бы не постоянно раскрытые спойлеры, а раскрывающиеся по нажатию кнопки в настройках. Есть разница.
>> No.55316 Reply
>>55315
Включил/выключил конкретный юзерстиль. Делов то.
>> No.55317 Reply
>>55313
Такое и сейчас есть, но решение через штатное меню намного практичней.
>> No.55318 Reply
>>55317
Не знаю чем.
Алсо, сейчас такого нет, сейчас просто иконочки над пикчей.
>> No.55319 Reply
>>55318
Вот ещё годная идея:
@namespace url(http://www.w3.org/1999/xhtml);

@-moz-document domain("dobrochan.com") {

.post:hover .spoiler {
	color: #аааааа !important;
}

}
Таким образом спойлеры раскрываются при наведении на любую часть сообщения, а не при точном наведении на сам спойлер.
>> No.55320 Reply
>>55314
Не хочу ставить стайлиш только ради этого. Попробовал сделать вот так в гризманки:
function addGlobalStyle(css) {
    var head, style;
    head = document.getElementsByTagName('head')[0];
    if (!head) { return; }
    style = document.createElement('style');
    style.type = 'text/css';
    style.innerHTML = css;
    head.appendChild(style);
}

addGlobalStyle('.spoiler{color: #аааааа !important;}');
Не взлетает. Спойлеры как стояли, так и стоят.
>> No.55322 Reply
>>55320
function addGlobalStyle(css) {
    var style = document.createElement('style');
        style.textContent = css;
    document.head.appendChild(style);
}

addGlobalStyle('.spoiler{color: #аааааа !important;}');
>> No.55323 Reply
>>55322
addGlobalStyle('.spoiler{color:#ааа!important;}');
>> No.55325 Reply
>>55323
Поправил. По-прежнему никакого эффекта.
>> No.55326 Reply
>>55325
значит в document.body засунь
>> No.55329 Reply
>>55326
DOPEELEEL.

function addGlobalStyle(css) {
    var style = document.createElement('style');
        style.textContent = css;
    document.head.appendChild(style);
}

addGlobalStyle('.spoiler{color:#000!important;}');
addGlobalStyle('.spoiler a{text-decoration: underline;color:#00f!important;}');
addGlobalStyle('.spoiler blockquote{color:#789922!important;}');
addGlobalStyle('.spoiler blockquote blockquote{color:#406010!important;}');
addGlobalStyle('.spoiler blockquote blockquote blockquote{color:#204010!important;}');
>> No.55331 Reply
Так, соберу все реквесты создателю скрипта в одном месте.
  • Закрытие попапов по нажатию кнопки эскейп.
  • Возможность отключить тени у постов в настройках (тени у попапов отключать не надо).
  • Возможность отключить красивую анимацию в настройках.
  • Возможность отключить автодополнение разметки в настройках.
  • (возможно) Спойлероподобные рейтинги.
  • Поиск по соуснао. Образец тут: >>55291
  • Возможность раскрыть все спойлеры без необходимости перезагрузки страницы. Пример изменённого CSS тут: >>55329 (хотя мне больше нравится color:#5E5E5E для простого текста, визуально выделяет спойлер).
  • (возможно) Экранированное подчёркивание вида *_* в кнопки разметки.
  • Подчёркивание у всех ссылок. Сейчас встраевыемые ссылки не подчёркиваются, как я понял. Можно сделать у встраеваемых ссылок подчёркивание пунктиром: http://htmlbook.ru/faq/kak-dobavit-punktirnoe-podcherkivanie-k-ssylkam
  • Поправить баг с описанием опции "Встраивание ссылок" в настройках.
  • Выложить получившееся куда-нибудь, ибо оно будет офигенно.
>> No.55338 Reply
>>55318
Есть, просто не для пользователей. Через такое меню модераторские инструменты из обычного интерфейса работают.
>> No.55339 Reply
File: -.gif
Gif, 538.27 KB, 500×214
edit Find source with google Find source with iqdb
-.gif
File: Dobrochan-Magic-S...
Zip, 0.00 KB, 0 files
view
Dobrochan-Magic-Spoilers.user.zip
File: Stylish-version.zip
Zip, 0.00 KB, 0 files
view
Stylish-version.zip

Немножко усовершенствовал идеи анонимусов выше и запилил их в один джаваскриптик. Должно работать под любым браузером с использованием GreaseMonkey, TamperMonkey или ViolentMonkey. Юзерстайл-версия работает только адд-оном Stylish.

Что делает этот юзерскрипт? Теперь посты со спойлерами удобнее читать: содержимое всех спойлеров ненавязчиво подсвечивается при наведении мышкой на содержащий спойлеры пост. Если содержимое спойлера нужно подсветить поярче для удобства чтения, достаточно навестись на него так же, как и раньше.
По вкусу анонимуса могу добавить окошко настроек для регулировки цветов.

Ссылка для добавления в ОП-пост: https://dl.dropboxusercontent.com/u/32654067/Dobrochan%20Magic%20Spoil[...]er.js. Здесь же будет версия посвежее, если будет нужно обновление.
Стайлиш-версию нужно переименовать в соответствующий формат, я его не помню.
>> No.55380 Reply
Запилил упрощенную версию скрипта без рендера HTML, панели настроек, мультимедии и прочего >>55290
https://github.com/OpenA/MagiCcode/blob/master/Dobrochan/HanabiraSimpl[...]er.js

Открыт репозиторий
https://github.com/OpenA/MagiCcode/tree/master/Dobrochan

Основной скрипт не обновлял, т.к. еще не все перенесено или допилено, версия в репозитории ничем не отличается от выложенной здесь обновлен только заголовок.

>>55331
> Закрытие попапов по нажатию кнопки эскейп.
Сделано
> Возможность отключить тени у постов в настройках (тени у попапов отключать не надо).
> Возможность отключить красивую анимацию в настройках.
Я тут подумал и решил что не буду добавлять опции для этого, т.к. в панели места очень мало а еще надо добавить настройку на отображение текстовых спойлеров и автокоплитов, однако я вынесу их из основного стиля и их можно будет удалить или закомментировать
> (возможно) Спойлероподобные рейтинги.
> Поиск по соуснао.
> Возможность раскрыть все спойлеры без необходимости перезагрузки страницы.
Реализовано (можно глянуть в упрощеной версии как это работает), но спойлеры на картинки требуют на мой взгляд еще большей доработки
> Подчёркивание у всех ссылок. Сейчас встраевыемые ссылки не подчёркиваются, как я понял.
Только у тех, у которых по клику разворачиваются плееры или еще какой нибудь контент, ссылка как бы превращается в простую кнопку, как например кнопки [ Раскрыть форму ] или Music Player
> подчёркивание пунктиром:
Ну уж нет, это ужасно же
>> No.55381 Reply
>>55380
> это ужасно же
Тогда можно добавить квадратные скобки с двух сторон. Это тоже вариант.
А ещё тёма лебедев с тобой не согласен.

Кстати, я заметил баг: если пытаться удалить пост, нужно нажимать кнопку удаления внизу страницы несколько раз. При одном нажатии не удаляется. Удалённый пост не становится полупрозрачным и не исчезает до ручной перезагрузки страницы.
Firefox 35.0.1, Greasemonkey 2.3, Windows 7 Ultimate SP1.
>> No.55389 Reply
>>55381
> Тогда можно добавить квадратные скобки с двух сторон.
Но они же будут в цвет ссылки, да и чем обычные не нравятся? Нет, конечно можно вернуть что бы как все сыглядили, но тогда непонятно - встраивается какой то контент по ссылке или он просто перейдет по ней, учитывая что даже для меня ВНЕЗАПНО встраивание какого то контента по моим же ссылкам бывает неожиданным http://imgur.com/a/g2VUH вопрос актуален какое то отличие необходима я считаю.
> А ещё тёма лебедев с тобой не согласен.
Ну ведь должен же хоть кто то верстать как мудак.
> Кстати, я заметил баг: если пытаться удалить пост, нужно нажимать кнопку удаления внизу страницы несколько раз. При одном нажатии не удаляется. Удалённый пост не становится полупрозрачным и не исчезает до ручной перезагрузки страницы.
Не нужно несколько раз нажимать, просто перепроверка треда работает пока не очень идеально, а Ajax удаление постов вообще уродливые костыли - на кнопке удаления весит событие которое по onclick (тоесть это даже не Ajax никакой) через 200 милисекунд (достаточное для отправки формы) запускает window.stop() а еще через сенду обновление треда - апдейтер подгружает заголовок треда, сверяет информацию с сервера c числом постов на странице если не совпадает - тянет весь тред и начинает сверять id постов по порядку, если в порядке перебора id поста из треда оказывается меньше id поста из данных пришедших с сервера то этот пост отмечается как удаленный, если же наоборот то значит в треде сняли пост с премодерации.
   тоест скрипт на самом деле даже не знает правильные посты отметил пользователь или нет, это все в слепую делает, конечно надо через onsubmit делать, но я пока не знаю как и можно ли это вообще (имеется в виду реализовать так чтоб без перепроверок знать правильные ли посты были отмечены и удалены ли если правильные)
Хотя баг и правда кое какой есть, в том коде, который перебирает тред.
>> No.55818 Reply
>>55389
Какие новости, скриптер-кун?
>> No.55819 Reply
>>55818
Другим проэктом все это время занимался, займусь в ближайшее время скриптом, у самого уже руки чешутся доделать наконец.
>> No.55828 Reply
File: 9d520c608fdd84081382f482099fbd26.png
Png, 23.87 KB, 799×321 - Click the image to expand
edit Find source with google Find source with iqdb
9d520c608fdd84081382f482099fbd26.png
>>55824
Дваразакнопкузачеркивания,илитритильдыесливручнуювводить.
>> No.55829 Reply
>>55819
А можно ещё пару слоуреквестов? Не знаю, насколько это будет просто или нет, но эти возможности будут весьма кстати.
  • Выделение новых постов в треде. Та симпатичная жёлтая подсветка из Юки-скрипта была очень хороша, например. Ну и всё остальное касаемо обработки новых и удалённых постов, что вроде бы в планах, я правильно понимаю?
  • Открытие картинок à la куклоскрипт. Правда ведь, это сделано очень удобно?
  • Настройка закрытия постов по Esc. То есть, возможность выбирать, будут ли по нажатию закрываться все открытые цепочки, или же только последний открытый пост. Ну или просто по умолчанию сделать закрытие постов по одному, так будет несколько логичнее, мне кажется. Бывает, что откроешь длинную цепочку с развилкой, и хочется быстро закрыть только несколько последних постов, и удобнее это делать с клавиатуры, а не тянуться мышью к кнопочкам в разных местах.
  • Как-нибудь можно сделать, чтобы всплывающие посты с ответами открывались по умолчанию снизу от исходного поста, а все остальные ссылки сверху? Это немного компенсируется возможностью перетаскивать всплывающие окошки, но тоже будет полезно.
  • Ну и наконец, вернуть закруглённые уголки у постов. Мне кажется, что они выглядят приятнее для глаз, чем острые углы.
>> No.55830 Reply
>>55829
> Открытие картинок à la куклоскрипт.
Пожалуйста, только если это будет не обязательно. Лично мне она очень не нравится.
>> No.55862 Reply
>>55828
Кстати, фича с добавлением закрывающих элементов (скобок, спойлера и т.д.) после введения открывающего крайне неудобна. Даже если привыкнуть, для перескакивания через эти элементы нужно столько же раз нажать на стрелочку.
>> No.55863 Reply
>>55862
В смысле в пустом месте, да? "" ()
Хорошо, пожалуй уберу и тогда не придется делать опцию отключения хоткеев ибо оно не будет мешать набирать текст, а будет только по выделенным словам работать.
>> No.55896 Reply
А не подскажет ли кто-нибудь мне здесь скрипт, который бы позволил бы скрыть фрейм при переходе на какую-нибудь доску?
>> No.55897 Reply
>>55896
"Средняя кнопка мыши" он называется. Ну, или "открыть в новой вкладке". Просто переходи на нужную доску одним из этих способов.
>> No.55915 Reply
>>55897
Спасибо, добра тебе.
>> No.55916 Reply
>>55863
> В смысле в пустом месте, да? "" ()
%%Она самая () очень неудобно).%%
>> No.55968 Reply
>>55048
Реально ли запаковать HanabiraMagicExtention в расширение для Chrome|Chromium?
Вроде для всего хватает, красиво все выглядит. Не хватает только удобной скрывалки тредов. Но с этим можно жить. Один фиг - скрипт удобнее Куклоскрипта.
Ну, еще куклоскрипт есть в виде расширения для Хрома.
Не охота держать Tampermonkey только для одного скрипта - попытался запаковать сам, написал манифест.json. И, конечно же, ничего не заработало. У кого-нибудь есть опыт в этих делах? Это вообще реально? Добра вам, товарищи!
>> No.55969 Reply
>>55968
Но ведь юзерскрипты - это жизнь! Например, уебанский текстовый баннер на порнолабе нереально скрыть адблоком ну либо я не знаю как ему всунуть селектор на n-ный див в теле, а юзерскриптом вполне. Ну и вообще у многих сайтов есть фатальные недостатки в интерфейсе.
>> No.55970 Reply
File: 87e6cf8d44984eabb...
Jpg, 51.29 KB, 640×480
edit Find source with google Find source with iqdb
87e6cf8d44984eabbb353495d419c21f.jpg
File: 00c57a76cc9d1c0cc...
Png, 1.09 KB, 300×20
edit Find source with google Find source with iqdb
00c57a76cc9d1c0cc68cfec0846ffe4e.png

>>55968
Думаю после рефакторинга кода вполне реально будет сделать расширение, а для HanabiraSimpleMagicExtension.user.js можно хоть сейчас.
Дело в том что в текущем виде HanabiraMagicExtention вступает в работу после загрузки всей страницы, я не думаю что такая реализация совместима с расширениями. Я уже начал переписывать взяв за основу HSME, попутно запиливая фичь реквесты, пол дела уже сделано в принципе.
>> No.55990 Reply
File: tumblr_l8hlrw0V831qcxjs1o1_1280.jpg
Jpg, 60.09 KB, 600×800 - Click the image to expand
edit Find source with google Find source with iqdb
tumblr_l8hlrw0V831qcxjs1o1_1280.jpg
>>55970
Извиняюсь, но не мог бы ты собрать это расширение и выложить? Чисто для тестов, тому що у меня ну никак не получается собрать, я неняша такой.
>> No.55993 Reply
File: 764645687478.png
Png, 74.71 KB, 812×624 - Click the image to expand
edit Find source with google Find source with iqdb
764645687478.png
https://github.com/OpenA/MagiCcode/tree/master/Dobrochan

HanabiraMagicExtension.user.js
Закончил с рефакторингом, перелопатил почти весь код, теперь будет работать намного лучше это все, быстрее и красивше.

Из новофичь:
  • авто корректировка дат и времени в постах на родное-локальное
  • добавил больше костылей улучшена интеграция с наиболее популярными медиа ресурсами для последующего встраивания
  • упрощенный автокомплит без раскрываний в пустых участках >>55916 теперь работает только по выделенным словам как обычные хоткеи, (для встроенного в ДЧ редактора кода осталось все по старому + добавились отступы по tab)
  • Ajax Post Loader теперь умеет вычислять количество постов находящихся на препроверке и учитывать их, это по идее должно сильно улучшить корректность подгрузки постов (не своих) появляющихся в треде с опозданием.
  • >>55829
    • выделение новых постов
    • закрытие превью постов по Esc по одному в обратном порядке
    • опция раскрытия текстовых спойлеров
    • поэтапно раскрывающиеся картинки с рейтингами с возможностью спрятать обратно
  • все кнопки поиска по гуглам итд реализованы через HTML5 Context Menu
  • ссылки теперь тоже получили возможность отключаться динамически без перезагрузки страницы
HanabiraSimpleMagicExtension.user.js
Получил только закрытие последнего открытого превью по Esc, возможность закрытия рейтингов и общие исправления.

Касательно острых углов - это доброчановский стиль так устроен сам по себе - на вебкит они закругленные, на Firefox острые зой сказал что он к ним привык и не будет ничего менять, можно впринципе поправить это через скрипт добавив нужное в его стиль, надо только знать на какие там элементы border-radius стоят.
Насчет теней - я вынес их отдельно, разделил по группам и добавил комментарии где и на какие элементы понавешено теней,
Можно ненужную строку просто удалить либо закомментировать по самый плюс (на примере теней постов):
/* reply post shadows '.highlight,.reply{padding:2px 1em 2px 2px!important;box-shadow:inset 0 1px 30px -9px #fff,0 2px 2px rgba(0,0,0,.2),2px 0 3px -1px rgba(0,0,0,.1)!important;}'+ */ a для отключения анимации достаточно переменную просто убрать:
+ mesShadows + mesAnimations; --> + mesShadows; Новая раскрывалка картинок и более навороченный аудиоплеер как раз в планах.

>>55990
Попробую конечно, завтра изучу этот вопрос вечерком после анимы.
>> No.55994 Reply
>>55993
Огромное тебе спасибо, няша, за проделанный труд!
Извини за глупый вопрос - в Simple версии не должно быть меню в правом нижнем углу, или только у меня оно не работает?
Плюс я опять протестирую отправку с файлами:3
Нет, просто кнопка "добавить файлы" не нажимается, печаль
Добра тебе!
>> No.55995 Reply
>>55994
И еще, проблема с отправкой постов с файлами открылась с Куклоскриптом. Один доброанон подсказал - нужно отключить AJAX-отправку постов, и все заработает. Но там было как - файлы выбираешь, пост отправляешь - он делает вид, что отправляет, не выводит ошибки никакой и молчит. В MagicExtension - просто кнопка "Добавить файлы" не работает.
Ах да, хромиум под линупсом, tampermonkey
>> No.55996 Reply
Даа, добавить файлы до сих пор не работает. Хром, таперманки.
Отправляю перетаскивая в поле только.
>> No.55997 Reply
>>55996
> Отправляю перетаскивая в поле только
Как бы это смешно не звучало - но у меня нет графического файл-менеджера. Только cli, только хардкор.:3
А после месяца сидения с основными утилитами (не было возможности поставить ranger) - уже и никакие классические fm не нужны
>> No.55999 Reply
>>55994
> Извини за глупый вопрос - в Simple версии не должно быть меню в правом нижнем углу, или только у меня оно не работает?
Нет, не должно, потому что это же облегченная версия, в ней нет плееров и парсера ссылок, нет рендера html - запрашивает с сервера полностью готовые посты, таймер автоматический (выбирает интервал в зависимости от активности в треде, максимально будет ждать по три минуты), а для все остальные (звуковые нотификации, пропадаемые/непропадаемые превью и раскрытие/скрытие текстовых спойлеров) умещаются внизу (на нулевой последние два тоже есть в том же самом месте).

Кнопку уже починил, сейчас еще Ajax удаление допилю и обновлю.

>>55995
Не очень понял, не работает отправка с файлами?
>> No.56000 Reply
File: gta5_fanart.png
Png, 298.96 KB, 2034×1178 - Click the image to expand
edit Find source with google Find source with iqdb
gta5_fanart.png
>>55999
> Не очень понял, не работает отправка с файлами?'
Нет, просто кнопка не нажимается. Протестировать перенос (как >>55996 ) не могу, потому что я >>55997-кун :3
Как обновишь, проверим, спасибо за твой труд, ты - няша!
>> No.56001 Reply
>>55999
Кстати, такой вопрос - как насчет скрытия/автоскрытия тредов, думаешь пилить?
Или расчет делать на другие юзерскрипты?
В данный момент юзаю Куклоскрипт, все что нужно - ответы на посты, аякс-обновление и отправка поста, автоскрытие по имени - все нормалек. Иногда тестирую твой. Если ты сделаешь тоже в виде отдельного отдельного дополнения для хрома, или если мне взбредёт перейти обратно на огнелис - на постоянной основе буду пользовать твой скрипт
Кстати, такая фигня была, около месяца назад - решил попробовать юзать юзерскрипты, айсвизель 26 esr вроде был, ни гризманки, ни в гризманки, ни в скриптише не заработали ни твой скрипт, ни куклоскрипт. Тогда я не разобрался, сейчас пересел на хромиум.
>> No.56002 Reply
https://github.com/OpenA/MagiCcode/tree/master/Dobrochan

>>56000
Обновляй, теперь все нажимается
>>56001
Пока не думал над этим,
нет так то думал конечно, что оно бы надо, но вот над самой реализацией пока нет
> Кстати, такая фигня была, около месяца назад - решил попробовать юзать юзерскрипты, айсвизель 26 esr вроде был, ни гризманки, ни в гризманки, ни в скриптише не заработали ни твой скрипт, ни куклоскрипт. Тогда я не разобрался, сейчас пересел на хромиум.
Без лога с ошибками сложно что то сказать.
>> No.56005 Reply
File: поландболл.png
Png, 156.73 KB, 666×639
edit Find source with google Find source with iqdb
поландболл.png
File: кнопка.png
Png, 0.62 KB, 84×29
edit Find source with google Find source with iqdb
кнопка.png

>>56002
Подтверждаю, теперь файлы через кнопку добавляются нормально.

>>55993
> Касательно острых углов - это доброчановский стиль так устроен сам по себе - на вебкит они закругленные, на Firefox острые
И точно, на чистой лисе без ничего они и правда острые. Оказывается, всё это время их для меня закруглял Юки-скрипт.

Алсо, парочка найденных странностей:
  • Кнопка "Закрыть все посты" в SimpleMagicExtension у меня отображается как на первом пикрелейтед. Видимо, в моих шрифтах нет того символа, который используется для её обозначения. Где можно найти такие шрифты? Вот этот символ, кстати: "⦻"
  • Свежая HanabiraMagicExtension почему-то рандомно отваливается в некоторых тредах. То есть, в таких случаях происходит примерно следующее: не обновляются треды, не проставляется карта ответов, не показывается кнопка настроек справа, нет настроек обновления под тредом слева, нет кнопок поиска по бурам... Проще сказать, что работают в этом случае только тени и постинг, да и то как-то странно: в /mad/, например, к запощенному посту зачем-то приклеился невесть откуда взявшийся поландболл, а цветные полосочки стали чёрно-белыми. На шрифты не обращаем внимания, это профиль для тестов. Версия 1.0.1 не работала по-моему вообще нигде, 1.1.0 работает через раз, закономерностей пока выявить не удалось. После обновления треда иногда начинает работать, иногда нет. Версия 1.0.1 при открытии треда выдавала в консоль вот такую ошибку: : HanabiraMagicExtension.user.js:435:0, а 1.1.0 выдаёт TypeError: link.href.split(...)[1] is undefined HanabiraMagicExtension.user.js:1297:43. ЧЯДНТ, собственно? Всё это на Firefox и Greasemonkey.
И конечно же, большое спасибо особенно за закрытие постов по одному, продолжай в том же духе!
> все кнопки поиска по гуглам итд реализованы через HTML5 Context Menu
Кстати, подобное встраивание своих пунктов в контекстное меню браузера раньше было на WAP-сайтах. Технологии развиваются по спирали? :3
>> No.56006 Reply
>>56002
Будь добр, подскажи, где взять этот лог? Вот сейчас пишу из Iceweasel 31.6 ESR, стоит Greasemonkey, скрипт закинул, включил - пишет, что работает - но ни одного признака жизни от скрипта. Скажи, что тебе скинуть?
>> No.56012 Reply
File: 5ce95646.gif
Gif, 486.20 KB, 400×299
edit Find source with google Find source with iqdb
5ce95646.gif
File: New-Energy.mp3
MP3, 11662.20 KB, 4:58 m @ 320.0/44.1 kHz
add play
New-Energy.mp3
File: HanabiraMagicExte...
Js, 0.14 KB, 0 lines
view edit
HanabiraMagicExtension.user.js

>>56005
Меня это двоеточие доканало уже, оно всплывает в рандомных тредах и ломает скрипт, я не знаю как с ним бороться да и что оно значит тоже. Но если вот в этой части сообщения:
> Версия 1.0.1 при открытии треда выдавала в консоль вот такую ошибку: : HanabiraMagicExtension.user.js:435:0, а 1.1.0 выдаёт TypeError: link.href.split(...)[1] is undefined HanabiraMagicExtension.user.js:1297:43.
речь про один и тот же тред, то это обнадеживает, значит вынесение скрипта из страници и запуск вместе с document-start (в 1.0.1 забыл добавить этот параметр) не прошли даром для чего собсно и проводился рефакторинг, а link.href.split(...)[1] is undefined это мелочи уже
> в /mad/, например, к запощенному посту зачем-то приклеился невесть откуда взявшийся поландболл, а цветные полосочки стали чёрно-белыми.
Нуу, мне просто негде взять информацию о том каких цветов полосочки ipmark и какой geoicon, с сервера такой информации не приходит, но ведь что то же надо туда поместить!
> 1.1.0 работает через раз, закономерностей пока выявить не удалось. После обновления треда иногда начинает работать, иногда нет.
На всякий случай сдвинул инициализацию на конец, а то видимо иногда не успевает ее запускать
> Кстати, подобное встраивание своих пунктов в контекстное меню браузера раньше было на WAP-сайтах. Технологии развиваются по спирали?
Да, кстати, не смотря на то что это официальное API от W3C поддерживает его как оказалось только фаирфокс ... даже вот не знаю что делать то теперь, ждать когда браузеры начнут поддерживать или приделать какой нибудь костыль
>>56006
Просто что пишет в консоли покажи (вот как анон выше отрепортил),
однако в консоль лисы не падают ошибки с юзерскриптов, чтобы скрипты дебажить надо так или иначе чтоб скрипт добавлялся на страницу.
Возьми вот эту вот Dev версию и попробуй с ней.

И да, скрипт снова обновил:
  • додолбал алгоритм перебора всех постов треда ну по крайней мере от промахов избавился то точно (это когда в середине где то вскрылись новые, или же были удалены, а то и появились/удалены одновременно в разных пропорциях)
  • добавил проверку файлов в форме, теперь файлы которые уже есть не будут добавляться, а для /mu/ убрано ограничение на файлы.
  • подсветка новых постов теперь пропадает так же и при клике на сам пост.
  • багофиксы >>56005
Из вчерашнего:
  • новая система предупреждений, красный мигающий текст который будет всплывать то тут то там, рассказывая о том, что сюда нельзя положить файлов больше чем уже есть, здесь неправильный пароль, а здесь вообще сервер 503 Currently Unavailable
  • настоящий Ajax Delete Form взамен старого фейкового, хотя на деле оказалось что это особо никаких преимуществ не дает, на доброчане не предусмотрен API для работы с ним, но по крайней мере можно определить прошел пост или нет и выводить ошибки если не прошел, а благодаря этому по крайней мере посты по одному можно удалять мгновенна, без перепроверки всего треда, уже хоть что то.
https://github.com/OpenA/MagiCcode/tree/master/Dobrochan

/пик рандом трек рандом
>> No.56016 Reply
>>56012
Так, теперь полная MagicExtension срабатывает везде, ошибок из предыдущего поста пока не замечено. Но появились новые: теперь не открываются превью по ссылкам на любые ОП-посты, которых нет в ближайших окрестностях на текущей странице. В консоль при попытке открыть превью падает вот это: TypeError: wrap.querySelector(...) is null HanabiraMagicExtension.user.js:778:3. Особенно хорошо это можно наблюдать в путеводителях. А ссылки на обычные посты открываются нормально.
> Нуу, мне просто негде взять информацию о том каких цветов полосочки ipmark и какой geoicon, с сервера такой информации не приходит, но ведь что то же надо туда поместить!
А, так это сорт оф фича? Польша стронг! А вообще нормально, что при постинге не приходит этой информации от сервера? Если что, сейчас в 1.1.4 всё точно так же, по крайней мере, если постить в /mad.
> подсветка новых постов теперь пропадает так же и при клике на сам пост.
Да, так лучше, чем было. И сама подсветочка новых постов в цветах футабы мне тоже скорее нравится. Кстати, парочка идей по этому поводу и не только:
  • Может быть, имеет смысл перенести действие "Пометить все новые посты как прочитанные" с Esc ещё куда-нибудь? Чтобы оно не пересекалось с закрытием всплывающих превьюшек. На кнопку "R", например. R for Read, и расположена она к тому же достаточно удобно. Или на F2, чтобы не конфликтовало с плагинами вроде вимператоров всяких. Вопрос поиска подходящей клавиши ещё требует дальнейших исследований, в общем.
  • Возможно ли менять фавиконку с количеством новых постов не после открытия вкладки, а по мере того, как посты будут помечаться прочитанными?
  • Как насчёт фичи с переименованием заголовка вкладки вида "буквадоски/ заголовоктреда"? Очень удобно же!
>> No.56018 Reply
File: Mikuru-Song.flac
FLAC, 11997.73 KB, 1:29 m @ 768.0/48.0 kHz
Mikuru-Song.flac
>>56016
> появились новые: теперь не открываются превью по ссылкам на любые ОП-посты, которых нет в ближайших окрестностях на текущей странице. В консоль при попытке открыть превью падает вот это: TypeError: wrap.querySelector(...) is null HanabiraMagicExtension.user.js:778:3. Особенно хорошо это можно наблюдать в путеводителях. А ссылки на обычные посты открываются нормально.
My bad, исключение для оппоста забыл добавить
> А, так это сорт оф фича? Польша стронг! А вообще нормально, что при постинге не приходит этой информации от сервера? Если что, сейчас в 1.1.4 всё точно так же, по крайней мере, если постить в /mad.
В случае HanabiraMagicExtension - да, он запрашивает у сервера json данные (в которых такой информации нет) и уже по ним собирает пост, этот вариант выбран потому, что это позволяет очень быстро делать проверку всего треда и собирать посты сразу такими какими нам надо.
> Может быть, имеет смысл перенести действие "Пометить все новые посты как прочитанные" с Esc ещё куда-нибудь? Чтобы оно не пересекалось с закрытием всплывающих превьюшек. На кнопку "R", например. R for Read, и расположена она к тому же достаточно удобно. Или на F2, чтобы не конфликтовало с плагинами вроде вимператоров всяких. Вопрос поиска подходящей клавиши ещё требует дальнейших исследований, в общем.
Я уже связал с клавишей "R", скрипт не останавливает никаких действий при нажатию на нее, а только отслеживает где и при каких условиях ее нажали - например в textarea или text input срабатывать не будет, так что никаких проблем с плагинами не должно возникнуть.
> Возможно ли менять фавиконку с количеством новых постов не после открытия вкладки, а по мере того, как посты будут помечаться прочитанными?
Легко, двумя слушателями висящими на окне меньше.

фавиконы с непрочитанными постами связал, на кнопку R маркировку перевесил, баги починил.
Второй уже человек попросил скрывалку тредов и постов, деваться некуда, придется сделать, все таки реализую наверно через спелы такие же как в куклоскрипте, пусть может быть внутри будет все по другому и по своему, но синтаксис оставить тот же, потому что еще и подробную документацию пилить нету желания совсем.
Ну и попробовать все таки сделать хроморасширение, а то мне самому интересно на планшете запустить, а ничего вменяемого для цепляния юзерскриптов на андрюше нет.
>> No.56021 Reply
Такую штуку заметил в новой версии:
Раньше когда я писал в поле отправления цитату
>
и начинал тут же писать дальше, символ цитаты не затирался. То есть он хоть и выделен когда его пишешь, вел он себя как будто курсор стоял уже за символом цитаты. Это было сильно модно молодёжно и вообще.
Сейчас же если я как раньше пишу символ цитаты и набираю букву, то символ цитаты стирается, и вместо него пишется буква. Вот это не круто. Тут либо вернуть как было, либо когда я с новой строки пишу >, чтобы он не выделялся, а писался как обычный символ.
Надеюсь ты понял о чём я.
>> No.56022 Reply
>>56021
> То есть он хоть и выделен когда его пишешь, вел он себя как будто курсор стоял уже за символом цитаты. Это было сильно модно молодёжно и вообще.
Оно и сейчас так должно быть (обнови может страницу и попробуй снова), и это не только с цитатой так - вообще любой выделенный текст после заключения в любой из тегов (кнопкой в форме или клавиатурой - не важно) остается выделенным (так что можно например еще в какой нибудь тег заключить) но при этом он не сотрется если нажать пробел или любую другую клавишу (кроме Backspace) а перескочит и продолжит дальше.
Так же стрелочка ">" умеет захватывать выделенный на странице текст.
>> No.56024 Reply
>>56018
Теперь с ОП-постами всё в порядке. Почти всё в порядке. Только превью по некоторым рандомным ссылкам иногда не открывается, но это больше похоже на общую проблему, потому что Доброчан в ответ на такие запросы показывает ошибку 503. Кстати, что ему может не нравиться? То, что я отправляю слишком много запросов подряд? Но почему тогда не открывается какая-то одна рандомная превьюшка из многих, а остальные при этом показываются как ни в чём не бывало, в том числе и те, которые я пытаюсь открыть сразу после недоступной? И такой эффект пару раз удавалось ловить почти с первого раза, когда большого числа запросов подряд от меня скорее всего не исходило. Или всё дело в том, что у меня открыто СЛИШКОМ МНОГО БРАУЗЕРОВ, которые тыкают и тыкают в уставший от этого дела Доброчан своими запросами? В общем, не совсем понятно. Если кто хочет повторить, то много ссылок в одном месте в качестве материала для изучения данного явления можно найти в тредах, которые хранят свой архив. Например, хорошим подопытным может стать TM-тред: >>a/727073
А скрипт тут при том, что он принимает такие посты за удалённые, в то время как они несомненно существуют. Может быть, в таких случаях стоит показывать другую надпись, скажем, "Пост временно недоступен"?
Кстати, без этого скрипта такой эффект выглядит просто как бесконечное крутящееся яблоко, и если не читать логи сетевых запросов, то можно и не догадаться, в чём тут вообще дело.

И ещё немного о превьюшках.
  • В всплывающих ОП-постах не отображается их статус: архивный, в бамплимите. Неплохо бы добавить его отображение. В API эта информация по-моему есть (/api/thread/).
  • Если, находясь на доске, развернуть длинный пост (например, тот же самый путеводитель), то скрипт вообще никак не будет реагировать на имеющиеся в нём ссылки. В логе при этом пусто.
> Я уже связал с клавишей "R", скрипт не останавливает никаких действий при нажатию на нее, а только отслеживает где и при каких условиях ее нажали - например в textarea или text input срабатывать не будет, так что никаких проблем с плагинами не должно возникнуть.
Просто есть такие плагины, как, например, Vimperator и VimFX, которые нацелены на управление браузером полностью с клавиатуры в стиле одноимённого текстового редактора. И с клавишей "R" в них связано обновление страницы, когда курсор вне текстового поля. У пользователей таких аддонов эти два действия очевидно будут перекрываться, сейчас вот проверяю — приоритет выше у плагинов, а не у скрипта. Но в принципе, это не слишком фатально, на Доброчане их всё равно использовать не очень удобно, потому что событие "hover" или как там оно называется? Перенос мыши поверх объекта без нажатия кнопки, в общем этими плагинами всё равно не изобразишь, насколько я знаю. Так что их пользователи могут и задать в них исключение для Доброчана.
> фавиконы с непрочитанными постами связал, на кнопку R маркировку перевесил, баги починил.
Подтверждаю, без аддонов это всё работает как надо.
> Второй уже человек попросил скрывалку тредов и постов, деваться некуда, придется сделать
Надеюсь, это будет работать через API или хотя бы будет опциональным? Некоторые же используют DobroHider из оп-поста для скрытия тредов и вполне им довольны. А желание скрывать отдельные посты на Доброчане возникает крайне редко. Но у реквестирующих это дело анонов, видимо, имеется несколько иной опыт.
>> No.56036 Reply
>>56024
Полные версии длиннопостов по ссылкам на них не открываются, пока не откроешь полную версию в треде.
>> No.56044 Reply
File: 7ace5d75fe6df3730...
Png, 315.26 KB, 1116×783
edit Find source with google Find source with iqdb
7ace5d75fe6df373053a028b40619278.png
File: f923d9292258558b8...
Png, 322.14 KB, 1137×829
edit Find source with google Find source with iqdb
f923d9292258558b88abd764c116720a.png

https://github.com/OpenA/MagiCcode/tree/master/Dobrochan

По просьбе трудящихся добавил меню для возможности скрытия тредов и постов пикрелейтед[1] реализация собственная, использует так любимый пхпистами (и от чегото совсем не любимый JS кодерами) - XPath, в связи с этим использования спелов куклоскрипта стало невозможно и был введен новый синтаксис:
Начинается со слов*, *содержит слова*, *заканчивается словами, Название целиком Надеюсь ни у кого сложностей с ним не возникнет.
Применяется автоматически (если крестик стоит) после перевидения фокуса с текстового поля, поддерживаются трипкоды, замена слов пока не работает.

пикрелейтед[2]
  • поправил указатели на риплейлинках при перенаправлении с разных досок
  • добавил отдельные сообщения-заглушки, на случай когда сервер возвратил ошибку, заглушки пропадают через 7 секунд после чего пост можно снова попытаться развернуть.
  • Кнопку "Пометить все как прочитанные" переназначил с R на Пробел
К сожалению в JSON данных постов нет информации о статусах "архивный" или "в бамплимите", так что я не могу выполнить этот реквест, там даже трипкодов почему то нет хотя их вполне можно было бы вместо(вместе) с именем высылать.
>> No.56081 Reply
File: 3673656.png
Png, 17.08 KB, 356×174 - Click the image to expand
edit Find source with google Find source with iqdb
3673656.png
Upd: https://github.com/OpenA/MagiCcode/raw/master/Dobrochan/HanabiraMagicE[...]er.js

>>55829
> Как-нибудь можно сделать, чтобы всплывающие посты с ответами открывались по умолчанию снизу от исходного поста, а все остальные ссылки сверху? Это немного компенсируется возможностью перетаскивать всплывающие окошки, но тоже будет полезно.
Запилено.

Переделал по человечески настройки таймера, теперь если галочка убрана, не будет обновляться ничего (раньше он продолжал молча обновлять статус)
  • Тихий режим: обновляет статус 100 ответов (+1 Новых; -2 Удаленных)
  • Автотаймер: если новых постов нет, прибавляет к интервалу по 15 секунд, максимально возможный 3 минуты;
  • Ну и постоянный интервал с заданным значением (в секундах): минимально возможная величина - 15 сек. (если ввести меньше таймер сбросится до дефолтных 45-и), максимально возможный - без ограничений.
>> No.56091 Reply
>>56044
>>56081
> добавил отдельные сообщения-заглушки, на случай когда сервер возвратил ошибку, заглушки пропадают через 7 секунд после чего пост можно снова попытаться развернуть.
Да, пожалуй, это именно то, что надо.
> Кнопку "Пометить все как прочитанные" переназначил с R на Пробел
Я, конечно, прошу прощения, что дёргаю с этой кнопкой, но пробел точно не подходит, потому что с его помощью и без всяких плагинов можно листать страницы, и некоторые вроде меня активно этим пользуются. Так что может быть, всё-таки R по умолчанию, а вимеры как-нибудь сами с этим справятся?
> К сожалению в JSON данных постов нет информации о статусах "архивный" или "в бамплимите", так что я не могу выполнить этот реквест
А что если в /api/post "op": true, то запрашивать дополнительно /api/thread/ для уточнения статуса? Не совсем ерунду говорю? Всё-таки пишу с дивана.
> Запилено.
О, большое спасибо! Теперь читать ответы намного удобнее.
> Тихий режим
Он оповещает о наличии новых постов, но не подгружает их, правильно понимаю?
>> No.56092 Reply
>>56091
> Я, конечно, прошу прощения, что дёргаю с этой кнопкой, но пробел точно не подходит, потому что с его помощью и без всяких плагинов можно листать страницы, и некоторые вроде меня активно этим пользуются. Так что может быть, всё-таки R по умолчанию, а вимеры как-нибудь сами с этим справятся?
ОК, вернул на R
> А что если в /api/post "op": true, то запрашивать дополнительно /api/thread/ для уточнения статуса?
Я думал об этом, но просто это два запроса получается ради двух ключей, впрочем можно сделать, косячить будет - уберем.
> Он оповещает о наличии новых постов, но не подгружает их, правильно понимаю?
Ну вообщем да, он подгружает короткие заголовки треда берет оттуда инфу о количестве постов сравнивает с количеством постов на странице, разницу записывает, при следующей итерации он уже сравнивает прибавляя разницу, по этому в большинстве случаев информация будет правдивая, но в сильно бегущих тредах где постоянно что то добавляется/удаляется/раскрывается одновременно может и врать, я особо сильно не тестировал, не знаю.

Обновление: https://github.com/OpenA/MagiCcode/raw/master/Dobrochan/HanabiraSimple[...]er.js
Из всех последних фичь "большого брата" скрипт получил верхние/нижнее положение превью, подсветка новых постов с привязкой к Tynicon и Ajax Delete Form (поскольку у скрипта проверки треда нет, он помечает посты как удаленные только в случае если выбран один, в случае если выбрано несколько постов он, после успешного удаления конечно, обновит текущую страницу, при не успешном будет ругаться алертами без перехода куда либо.)
Так же был заменен плохо ддерживаемый символ "Закрыть все", добавлена возможность разворачивания Svg и другие исправления ошибок.

Попробовал сделать из скрипта расширение для Хромобраузеров, работает в принципе работает но очень и очень странно, дефолтные доброановские события на элементах, которые я из DOM0 убираю никуда не деваются, а продолжают работать параллельно, при этом глобальные функции и переменные из встроенных скриптов расширению не доступны. Мне явно не достает знаний, надо курить больше.
Но мне очень нравится такой подход нежели юзерскрипты - там можно css, картинки, рабочие функции все держать отдельно; туда можно будет оба скрипта запилить с меню где можно выбрать какой использовать.
>> No.56204 Reply
Кодер-кун, спасай-выручай.
Мне очень нравится старая версия скрипта (куда больше, чем новая), и я не хочу с неё слазить. До сих пор всё работало прекрасно, а тут вчера ни с того ни с сего у меня перестала работать кнопка "Добавить файлы", причём не обновлялся ни гризманки, ни сам браузер. Что делать? Фаерфокс последней версии.
>> No.56210 Reply
>>56204
Старая версия - это которая именно и что именно не нравится?
Ну и о каком собственно из двух скрипте речь то?
>> No.56240 Reply
>>56210
> Старая версия - это которая именно
Которая была последняя до рефакторинга. Тогда ещё упрощённой не было.

Вообще проблема решилась установкой свежей версии скрипта, работает, вроде, ничего. Хотя мне всё равно не нравится чёртово оформление. Найду, где вырубаются тени у простых постов и картинок - вырежу к чертям.

Алсо, в старой версии не наблюдалось такой проблемы, но теперь очень быстро всплывает пост при наведении на линк - достаточно просто случайно задеть ссылочку мышкой.
>> No.56241 Reply
>>56210
> и что именно не нравится?
Ах да. Не нравится мне то, что нужно нажимать на кнопку, чтобы сбросился счётчик постов.
>> No.56244 Reply
>>56240
> Хотя мне всё равно не нравится чёртово оформление. Найду, где вырубаются тени у простых постов и картинок - вырежу к чертям.
Я вынес тени отдельно и запилил к ним комментарии:
var mesShadows = /* hr shadow */ 'hr{border-style:none none solid!important;border-color:rgba(0,0,0,.3)!important;box-shadow:0 1px 0 #fff!important;}'+
....
/* yuki-form previews shadows */ '.yukiFile img{box-shadow:0 4px 8px 0 rgba(0,0,0,.2);}';
Удаляй или прячь под комментарий не нужные - таким образом можно по отдельности отключить оформление кнопок, тени постов, картинок, полей ввода всплывающих превью сменю.
> Алсо, в старой версии не наблюдалось такой проблемы, но теперь очень быстро всплывает пост при наведении на линк - достаточно просто случайно задеть ссылочку мышкой.
Потому что раньше они по таймеру всплывали, но это не нужно потому что анимация делает впринципе то же самое, если же не нравится мгновенное всплытие именно без плавной анимации, то это в принципе легко поправимо.
> Ах да. Не нравится мне то, что нужно нажимать на кнопку, чтобы сбросился счётчик постов.
Имеется в виду фавикон с количеством не прочитаных?
Так и подумал, что нибудь придумаю чтоб можно было и по старому
>> No.56247 Reply
File: Пустое-пространство-внизу.jpg
Jpg, 151.60 KB, 1366×698 - Click the image to expand
edit Find source with google Find source with iqdb
Пустое-пространство-внизу.jpg
>>56244
> Я вынес тени отдельно и запилил к ним комментарии
И правда. Невероятно удобно! Переделал тени так, как мне больше нравится.
> Потому что раньше они по таймеру всплывали, но это не нужно потому что анимация делает впринципе то же самое
По ощущениям - нет. Анимация начинает всплывать в любом случае, в то время как при таймере на ссылочке надо чуть-чуть задержаться. Имхо таймер удобнее.
> Так и подумал, что нибудь придумаю чтоб можно было и по старому
Я заметил, что тот же эффект имеет даблклик по посту. Стало куда лучше. Ну и вообще, всем не угодишь, я не просил изменений :3.

Я заметил проблемы с подгрузкой постов и картинками-спойлерами. Посты часто грузятся странным образом. Иногда прогружаются не по порядку, часто не все - не прогрузившиеся появляются, когда наводишься на них мышкой, иногда это нужно сделать больше одного раза. Постоянно остаётся пустое пространство внизу треда, как на картинке. Кроме того, пикчи-спойлеры часто не раскрываются по клику - нужно ждать примерно от 10 секунд до полуминуты, чтобы появилась миниатюрка. Хотя фича классная.
В общем, новая версия хороша, пусть старая по ощущениям и работала стабильнее. Добра тебе, разработчик-кун.
>> No.56248 Reply
>>56240
>>56241
> Не нравится мне то, что нужно нажимать на кнопку, чтобы сбросился счётчик постов.
Лол, каждому своё. Пришло время добавлять очередную настройку?

мимо автор реквеста про смену фавиконки с количеством постов по мере пометки оных прочитанными
> теперь очень быстро всплывает пост при наведении на линк - достаточно просто случайно задеть ссылочку мышкой.
Кстати, подтверждаю, есть такое. Случайным движением мышью иногда могут открыться сразу много превьюшек, которые в данный момент не нужны. Так что я тоже за таймер.


И ещё парочка небольших багрепортов/фичреквестов.
  • Когда в треде появляется раскрытый пост, то его существование отмечается в фавиконке, но подсветки, положенной новому посту, он не получает. Однако, если переместиться к нему по ссылке внизу треда (или как-нибудь иначе) и нажать на него, то фавиконка изменяется, как и должна. Догадаться можно, но всё-таки это немного неочевидно.
  • Изредка всё же показывается статус 404 в тех ситуациях, когда должен быть 503. Подробности ловить было немного лень, тем более, что проявлялось это заметно реже. Так что пока можно считать это гейзенбагом, списывать на ханабиру или на мои кривые руки — выберите вариант по вкусу.
  • Как-нибудь можно отключить коррекцию времени в полной MagicExtension? Я ориентируюсь больше на доброчанское время, чем на своё локальное.
  • К тому же в моём случае коррекция времени прибавляет на два часа больше, чем есть на самом деле. Как она вообще определяет локальный часовой пояс, кстати?
Алсо, начиная с текущей версии (1.2.2) на мой субъективный взгляд скрипт стал почти достаточно готов для десктопа повседневного использования. Из фич/багов, (исправления) которых не хватает вот прямо здесь и сейчас, остались вот эти:
  • Изменение заголовков вкладок вида адрес_доски/ заголовок_треда. Быстро увидеть, какие у тебя открыты треды — бесценно, для всего остального есть фавиконка.
  • Неработоспособность скрипта внутри развёрнутого из доски треда. Не слишком частый сценарий чтения тредов, но иногда пригождается.
>> No.56249 Reply
>>56247
> По ощущениям - нет. Анимация начинает всплывать в любом случае, в то время как при таймере на ссылочке надо чуть-чуть задержаться. Имхо таймер удобнее.
Глянул старый код - при наведении на ссылку запускался таймер, который через 200 миллисекунд запускал код, и если курсор убрать раньше таймер останавливался.
Ок, верну в той или иной форме
> Я заметил, что тот же эффект имеет даблклик по посту. Стало куда лучше. Ну и вообще, всем не угодишь, я не просил изменений :3
Клик по посту помечает этот пост как прочитанный, если постов несколько то придется либо кликать по каждому либо нажать R, насчет даблклика надо бы подумать
> Посты часто грузятся странным образом. Иногда прогружаются не по порядку, часто не все - не прогрузившиеся появляются, когда наводишься на них мышкой, иногда это нужно сделать больше одного раза. Постоянно остаётся пустое пространство внизу треда, как на картинке.
Не до конца понял суть проблемы, не мог бы ты сделать какой нибудь скриншот когда такое происходит и выхлоп из консоли?
Пустое пространство это уже какой то глюк со стилями, что то похожее я наблюдал в Safari надо бы глянуть снова.
> Кроме того, пикчи-спойлеры часто не раскрываются по клику - нужно ждать примерно от 10 секунд до полуминуты, чтобы появилась миниатюрка. Хотя фича классная.
Это происходит потому, что подгружается полная картинка просто отмасштабированная в миниатюру, если она крупная по размеру и весу или анимированный gif, то и загрузка естественно дольше происходит. Превью то для картинок которые бы быстрей грузились неоткуда взять.
>>56248
> Когда в треде появляется раскрытый пост, то его существование отмечается в фавиконке, но подсветки, положенной новому посту, он не получает. Однако, если переместиться к нему по ссылке внизу треда (или как-нибудь иначе) и нажать на него, то фавиконка изменяется, как и должна. Догадаться можно, но всё-таки это немного неочевидно.
Блин, потому что доброчановская функция полностью затирает классб придется значит и ее по своему реализовывать.
> Как-нибудь можно отключить коррекцию времени в полной MagicExtension? Я ориентируюсь больше на доброчанское время, чем на своё локальное. в моём случае коррекция времени прибавляет на два часа больше, чем есть на самом деле. Как она вообще определяет локальный часовой пояс, кстати?
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_[...]/Date
Беру время и дату из поста (или из данных приходящих с сервера) разбираю их регекспом
var uDate = new Date('September 2, 2014 12:24:00 GMT+0300'), //-- исходная дата с часовым поясом
    Time = uDate.toLocaleTimeString(); //-- возвращает локальное время hh:mm:ss
У меня в Firefox тоже на час вперед, из за чего это - не знаю, но в Chrome время отображается корректно. Наверно надо мазиловцам отправить баг репорт.
Отключить пока что никак к сожалению.
> Изменение заголовков вкладок вида адресдоски/ заголовоктреда. Быстро увидеть, какие у тебя открыты треды — бесценно, для всего остального есть фавиконка.
Но оно же там вроде и так написано, или как надо то?
> Неработоспособность скрипта внутри развёрнутого из доски треда. Не слишком частый сценарий чтения тредов, но иногда пригождается.
Уже сделал и впринципе готов был сразу обновить но зачем то полез разбирать еще и обработку ссылок и короче завяз.
>> No.56258 Reply
File: как-хотелось-бы.png
Png, 10.10 KB, 541×61
edit Find source with google Find source with iqdb
как-хотелось-бы.png
File: как-есть.png
Png, 10.63 KB, 748×61
edit Find source with google Find source with iqdb
как-есть.png

>>56249
> https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_[...]/Date
Ага, значит, браузеры умеют искоробки предоставлять скриптам инфу насчёт системного часового пояса. Кстати, в багтрекере мозиллы уже есть несколько подобных багов с неправильным значением времени.
> Но оно же там вроде и так написано, или как надо то?
Примерно как на пикрелейтед.
>> No.56266 Reply
>>56249
Кодер-кун, Кодер-кун, пожалуйста, запили обратно таймер побыстрее. Плевать на остальные изменения, но меня уже достала ситуация, когда хочешь просто кликнуть на картинку, неаккуратно двигаешь мышкой и всё покрывается плотным слоем попапов.
>> No.56271 Reply
File: Призрачные-посты.jpg
Jpg, 119.38 KB, 1366×736 - Click the image to expand
edit Find source with google Find source with iqdb
Призрачные-посты.jpg
>>56266
Кстати, кодер просил скриншот призрачных постов, вот они. На этот раз они не невидимые, но выглядят так, как будто у них зависла анимация. При наведении мышкой они появляются нормально. Примерно четверть постов прогружается нормально, на остальные нужно наводиться. ОП-посты прогружаются нормально всегда. Консоль ошибок не содержит (кроме обычных ошибок доброчана - про незащищённый пароль и устаревшие методы).
>> No.56324 Reply
https://github.com/OpenA/MagiCcode/raw/master/Dobrochan/HanabiraMagicE[...]er.js

После более чем двух недель "интенсивной разработки" с перерывами на огород счастлив представить свежий апдейт:
  • переработан AjaxPostLoader - теперь вместо набора непонятных функций завязанных на глобальные переменные, он представляет собой слушатель цепляющийся к конкретному треду, благодаря этому стало возможным обновлять, вести статистику о количестве новых/удаленных/итд. по каждому не зависимо от того сколько их будет на странице, это позволило так же реализовать разворачивание/сворачивание тредов на главной просто до загружая недостающие (как это происходит в обычном треде когда всплывыют новые посты где то в середине).
    • Автообновление на нулевой доступно не будет, будет доступна только кнопка подгрузки новых появившихся для, каждого треда.
  • Реализована собственная функция прокрутки с выделением по клику на рефлинк.
    • Аналогично всплыванию превью, положение прокручиваемого объекта зависит от того на какую ссылку нажали - на ссылку в посте или под постом (в ответах). WebKit браузеры не поддерживают параметры прокрутки, поэтому и положение прокручиваемого объекта (вверху/внизу) и плавный скролинг доступны только для Firefox.
  • Найдено решение для получения статусов "архивный", "бамплимит" умещающееся в один запрос для подгружаемых превью op постов.
  • >>56258^H^H^H^H^H^H^H Правка заголовков страницы на вот такие: /d/ · Новый Оффициальный™ Доброскриптов тред
  • Форма ответов Юки теперь умеет прослушивать/просматривать добавленные в нее аудио/видео файлы (уже говорил?)
    • Количество поддерживаемое количество форматов больше тех, что поддерживает доброчан.
  • >>56266^H^H^H^H^H^H^H таймауты всплывающим превью вернул.
   embed.ly (сервис при помощи которого скрипт подгружает информацию для ссылках) подложил большую свинью запилив монетизацию, бесплатно же (после регистрации) предлагается до 5000 urlов в месяц, и не более 15 запросов секунду.
С другой стороны это подтолкнуло к поиску альтернатив - часть медиаресурсов поддерживаемых из коробки (vimeo и SoundCloud например) теперь запрашивает информацию через свои родные api, другая часть через аналогичный сервис iframe.ly, который, как выяснилось очень хорошо поддерживает отечественные ресурсы - например VK, благодаря чему видео с него теперь можно встраивать не только копируя код плеера, но и просто адрес страницы с видео.
Однако что касается YouTube, BandCаmp и простых новостных/информационных ресурсов тут embed.ly оказался без альтернативным. В дальнейшем, если бесплатный функционал начнут урезать сильнее или просто его станет не хватать - подумаю как от него избавиться либо совсем, либо разбавить побольше.

>>56271
Очень странный специфичный баг, даже не знаю с чем он связан, у меня и во фрейме и так в нем все отлично, может быть еще какие нибудь скрипты стоят?
>> No.56332 Reply
>>56324
Теперь что-то вообще всё работать перестало. Интерфейс скрипта грузится, но изменений в страницу не вносит.
>> No.56333 Reply
>>56332
Вернее, удаляет родные кнопки, но свои не подгружает. До обновления всё было в норме (разве что встроенный редактор пикч сбои давал постоянно).
>> No.56334 Reply
>>56332
А что в логе пишет посмотри, чего поймать не успевает?
>>56333
Ошибка 500 при отправке?
>> No.56335 Reply
>>56324
Отличные изменения, именно то, что было нужно! Прокрутка к объекту тоже симпатично смотрится. И сразу же багрепорт:
  • Если открыть во фрейме любую доску или тред, то вместо адреса в заголовке будет /undefined/, а заголовка после · и вовсе не будет.
>>56333
> разве что встроенный редактор пикч сбои давал постоянно
Действительно, редактор со скриптом не работает: после нажатия на кнопку "Рисовать" тебя просто перекидывает на страницу ошибки 500. Предлагаю более точно задать адреса вхождения для скрипта или пофиксить как-то ещё.
>> No.56336 Reply
>>56335
А у тебя работает?
> после нажатия на кнопку "Рисовать" тебя просто перекидывает на страницу ошибки 500
Блин что за хрень вообще, скрипт на этой странице вообще ничего не запускает, да и я же и без скрипта пробовал он ту же 500 выкидывает.
С другой стороны у других все работает же.
Ничего не понимаю.
>> No.56338 Reply
>>56336
Скрипт в целом? Да, работает, таких проблем, как у >>56332 >>56333, не наблюдается.
>> No.56339 Reply
File: 10-всплывающих-окон-из-10.jpg
Jpg, 406.08 KB, 1250×610 - Click the image to expand
edit Find source with google Find source with iqdb
10-всплывающих-окон-из-10.jpg
>>56324
Разраб-кун, а ты таймер на открытие рефлинков запилил? А то без него жить невозможно же. Анимация ничего не замещает. От текущей реализации у меня просто СЛУЧАЙНОЕ ПРОВЕДЕНИЕ МЫШКОЙ ПО ПУТЕВОДИТЕЛЮ.
>> No.56340 Reply
>>56338
Возможно у него не все элементы на странице успевают появиться до того как скрипт начинает ее обробатывать. Но надо знать на чем конкретно не срабатывает что бы либо доработать инит либо переписать его совсем.
>>56339
Ну да, такую как была раньше и вернул.
Это с новыми скриптом так?
>> No.56341 Reply
>>56340
Со старым. Спасибо, обновлюсь.
>> No.56342 Reply
>>56324
Сделай уже что-нибудь с кнопками ответа! То они есть, то пропадают и не хотят возвращаться!
>> No.56343 Reply
>>56342
Как так? Кинь ссылку где пропадают.
>> No.56344 Reply
File: Снимок.JPG
Jpg, 122.20 KB, 1467×726 - Click the image to expand
edit Find source with google Find source with iqdb
Снимок.JPG
>>56334
Извини, я не знаю, где посмотреть логи скрипта.
> Ошибка 500 при отправке?
Да.
>> No.56345 Reply
>>56343
http://dobrochan.com/
На всех страницах, в тредах, в ОП и ответах. Выглядит это вот так: >>56344
>> No.56346 Reply
File: Hakurei.Reimu.full.1334744.jpg
Jpg, 513.62 KB, 912×1080 - Click the image to expand
edit Find source with google Find source with iqdb
Hakurei.Reimu.full.1334744.jpg
>>56345 >>56344 >>56332
Логи из консоли, онегаи

(Firefox: Инструменты -> Веб-разработка -> Веб-консоль)
(Chrome: Правой кнопкой на окне -> Инспектировать элемент -> вкладка Console)
>> No.56347 Reply
>>56346
Use of getPreventDefault() is deprecated. Use defaultPrevented instead. jquery-1.3.2.js:3:0
"SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data" HanabiraMagicExtension.user.js:443:5
>> No.56350 Reply
>>56346
У меня сегодня такая же ерунда случилась. Видимо что-то глобальное.
>> No.56353 Reply
File: 784784484.png
Png, 305.16 KB, 1461×863 - Click the image to expand
edit Find source with google Find source with iqdb
784784484.png
https://github.com/OpenA/MagiCcode/raw/master/Dobrochan/HanabiraMagicE[...]er.js

Разгрузил инит, починил баги.
Пикрелейтед - теперь доступна замена слов. К сожалению стандарт Xpatch 1.0 (доступный в браузерах) не имеет функций которые позволяют извлекать текст при помощи регулярных выражений, поэтому заменять можно либо слова/строки целиком, либо одинаковые символы в которые заключены какие то слова (например кавычки или ... не знаю что еще).
Разделитель - двойное двоеточие, примеры в самой форме и на пике.

>>56335
> Если открыть во фрейме любую доску или тред, то вместо адреса в заголовке будет /undefined/, а заголовка после · и вовсе не будет.
Починил
>>56342 >>56345 >>56350
> Сделай уже что-нибудь с кнопками ответа! То они есть, то пропадают и не хотят возвращаться!
Исправил.
> после нажатия на кнопку “Рисовать” тебя просто перекидывает на страницу ошибки 500.
А это я не знаю как исправить, серьезно - скрипт ничего не трогает на этой странице, да и без скриптов вовсе все равно та же ошибка.
>> No.56354 Reply
Теперь всё работает, няша. Спасибо.
>> No.56355 Reply
File: Hakurei.Reimu.full.451705.jpg
Jpg, 516.15 KB, 700×990 - Click the image to expand
edit Find source with google Find source with iqdb
Hakurei.Reimu.full.451705.jpg
>>56354
Ничего себе ты быстрый!
>> No.56356 Reply
>>56355
Ну прост скрипт автоматически обновился и уведомление выдал. Потому сразу и проверил.
>> No.56359 Reply
Ссылка "раскрыть форму" не работает.
>> No.56360 Reply
File: SAbOS.jpg
Jpg, 81.08 KB, 800×600 - Click the image to expand
edit Find source with google Find source with iqdb
SAbOS.jpg
>>56359
У тебя Chrome, да?
Сам сегодня в опере заметил - пишет что родительской ноды у элемента нет, странный какой то баг.
>> No.56361 Reply
>>56360
Нет, огнелис. А ещё со ссылками нечто непонятное (удваиваются).
>> No.56362 Reply
>>56361
Это как так?
>> No.56365 Reply
У меня все вроде на месте и ничего не удваивается.
Объясни подробней что случилось?
>> No.56366 Reply
File: стало.JPG
Jpg, 12.38 KB, 393×167
edit Find source with google Find source with iqdb
стало.JPG
File: было.JPG
Jpg, 10.89 KB, 337×154
edit Find source with google Find source with iqdb
было.JPG

>>56362
Тут вроде работает. Странно, не всегда видимо.
Короче, как пикрелейтед.
>> No.56367 Reply
>>56366
А, это не удвоилось, это почему то provider_name такой подставился вместо какого нибудь GraphAnime: надо просто добавить правило (очередное) чтобы в таких случаях не добавлялся вовсе.
>> No.56368 Reply
>>56367
Ясно тогда.
Алсо, такой ещё вопрос: почему бы не сделать кнопку удаления поста в виде окна с галочкой (как в кукле)? А то родной оранжевый крестик как-то не к месту выглядит рядом с белыми кнопками ханабиры. Но это уже так, косметические придирки.
>> No.56369 Reply
File: 657474457386.png
Png, 28.59 KB, 605×209 - Click the image to expand
edit Find source with google Find source with iqdb
657474457386.png
>>56368
Не совсем понимаю о чем речь - что за окно с галочкой? Стандартный чекбокс что ли?
>> No.56370 Reply
>>56369
Да, чекбокс. Вот как у тебя на картинке. Так должно быть? Потому что у меня стандартный доброчановский оранжевый крест отображается.
>> No.56371 Reply
File: Снимок.JPG
Jpg, 18.26 KB, 298×320 - Click the image to expand
edit Find source with google Find source with iqdb
Снимок.JPG
>> No.56372 Reply
>>56370
Нет не должно, он там запрятан за картинкой и нажимается вместе с ней. Вообще так сделано для того что бы спрятать его (уродство) вовсе, потому что чекбоксы кастомкизации не поддаются. Его можно раскрыть добавив всего лишь пару правил в CSS:
.delete { background:none!important; }
.delete_checkbox { position:inherit!important; }
.delete_checkbox + img { display:none!important; }
и вуаля

Я же оставлю так как есть - родной, потому что может не всем понравится.

Надо бы кстати зою сказать что вот так:
<label>
   <a>
      <input>
      <img>
   </a>
</label>
в firefox больше не работает, надо делать так:
<label>
   <input>
   <img>
</label>
>> No.56376 Reply
File: 876KI68.jpg
Jpg, 164.21 KB, 1643×1063 - Click the image to expand
edit Find source with google Find source with iqdb
876KI68.jpg
Починил кнопку, поправил таймеры, почистил код от говен, подулучшил подсвечивалку постов.
Ссылки и прочие недоработки - в другой раз, новая серия про бомже-смерть нарисовалась, не до них сейчас.
>> No.56413 Reply
>>56376
А когда обновление выложишь скрипта, а то я уже жду, когда та кнопка нормально будет работать.
>> No.56414 Reply
>>56413
Обновил.
>> No.56415 Reply
Аудиофайлы не проигрываются.
>> No.56416 Reply
File: Rakka4-2.jpg
Jpg, 15.17 KB, 640×360 - Click the image to expand
edit Find source with google Find source with iqdb
Rakka4-2.jpg
>>56415
Браузер, какие файлы не проигрываются и что пишет в консоли.
>> No.56417 Reply
>>56416
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0
HTTP "Content-Type" типа "audio/mpeg" не поддерживается. Не удалось загрузить медиаресурс http://dobrochan.com/src/mp3/1406/musbox.mp3. index.xhtml
GET http://dobrochan.com/src/mp3/1103/01-Just-A-Little-Sign.mp3 [HTTP/1.1 206 Partial Content]
GET http://dobrochan.com/src/svg/1505/ma-pause.svg [HTTP/1.1 304 Not Modified 492мс]
HTTP "Content-Type" типа "audio/mpeg" не поддерживается. Не удалось загрузить медиаресурс http://dobrochan.com/src/mp3/1103/01-Just-A-Little-Sign.mp3. index.xhtml
GET http://dobrochan.com/src/mp3/1103/01-Just-A-Little-Sign.mp3 [HTTP/1.1 206 Partial Content]
HTTP "Content-Type" типа "audio/mpeg" не поддерживается. Не удалось загрузить медиаресурс http://dobrochan.com/src/mp3/1103/01-Just-A-Little-Sign.mp3. index.xhtml
GET http://dobrochan.com/src/mp3/1103/07-Shine-Forever.mp3 [HTTP/1.1 206 Partial Content]
HTTP "Content-Type" типа "audio/mpeg" не поддерживается. Не удалось загрузить медиаресурс http://dobrochan.com/src/mp3/1103/07-Shine-Forever.mp3.
>> No.56418 Reply
>>56417
Очень и очень странно честно говоря.
Попробуй пожалуйста взять какой нибудь mp3 фаил с локального компьютера и открыть в браузере (ну тоесть взять его и перетянуть туда где вкладки).
И скажи откроет его в плеере или предложит сохранить.
>> No.56419 Reply
>>56418
Предложил сохранить.
Без юзерскрипта всё игралось.
>> No.56420 Reply
>>56419
Всмысле через встроенный доброчановский?
Встроенный доброчановский играет через флэш (скорей всего).
У тебя я вижу HTMLAudioElement браузером поддерживается (ну это само собой, т.к. он поддерживается еще c 4-ой версии), а вот проприетарных кодеков почему то нет.
Какой у тебя дестрибутив? Что за сборка Firefox?
>> No.56421 Reply
>> No.56422 Reply
>>56421
Пакеты установлены. Но у Firefox'а не было флага gstreamer. Сейчас попробую переустановить.
>> No.56423 Reply
>>56422
Вообще очень досадно, mp3 хоть и проприетарен но у него все сроки по патентом давно уж истекли (ярчайший пример такого истекани - формат zip, который есть везде и повсемесно в не зависимости от лицензионной политики конечного дистрибутива), он из коробки должен быть!
>> No.56426 Reply
>>56422
Заработало.
>> No.56427 Reply
File: tumblr_misssevLC31rmw09ko1_500.png
Png, 317.37 KB, 500×646 - Click the image to expand
edit Find source with google Find source with iqdb
tumblr_misssevLC31rmw09ko1_500.png
>>56426
Поздравляю
>> No.56430 Reply
У меня почему-то не хочет скрывать треды в скрытии по заголовку.
>> No.56432 Reply
>>56430
Правильно ли синтаксис соблюдаешь / что в логах пишет?
>> No.56435 Reply
File: :d:-·-Новый-Оффициальный™-Доброскриптов-тред-201.png
Png, 158.82 KB, 1464×974 - Click the image to expand
edit Find source with google Find source with iqdb
:d:-·-Новый-Оффициальный™-Доброскриптов-тред-201.png
>>56432
Да, соблюдаю. Только у меня еще исчезла боковая панелька настроек, которая находилась внизу, после того, как я попытался проверить автозамену слов.
>> No.56436 Reply
>>56435
Посмотри что в логах творится.

Еще набери в консоли localStorage.getItem('Keywords')
И скинь пожалуйста строку которую он выведет.
>> No.56437 Reply
>>56435
Шрифты- говно
мимо из lor
>> No.56441 Reply
>>56436
> Посмотри что в логах творится.
Метод getPreventDefault() является устаревшим. Для его замены используйте метод defaultPrevented.
> Еще набери в консоли localStorage.getItem('Keywords')
`
"{"Nametrip":{"keys":"","apply":true},"Title":{"apply":true,"keys":"понитред, Ожиданий от России\n"},"Words":{"keys":"изменить:поменять\n","apply":true}}"
>> No.56442 Reply
File: b3a5fb74df60cd44a4bd4834f7bd1925.png
Png, 1.42 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
b3a5fb74df60cd44a4bd4834f7bd1925.png
>>56441
Сделай:
localStorage.removeItem('Keywords') И меню появится
почему то ломается на сочетании изменить:поменятьвидимо из за двоеточия которое нужно экранировать, а нет скорей из за того что я не задал действий ели ключ один, ну да потом поправлю.

1) Замена слов задается через двойное двоеточие изменить::поменять, а так у тебя получилось что он берет целиком изменить:поменять и не находит на что его менять.
2) Поиск по имени и заголовку чувствителен к регистру понитред != Понитред 3) В случае Ожиданий от России надо писать как Ожиданий от России_*_ что означает: заголовок начинается на Ожиданий от России и продолжается чем угодно
*Ожиданий от России* - содержит такое сочетания
*от России тред - заканчивается
4) \n - это символ перехода на новую строку, он не нужен и даже наверное вреден, надо бы исследовать этот вопрос

вот как то так.
>> No.56445 Reply
File: 160964.jpg
Jpg, 76.68 KB, 400×640 - Click the image to expand
edit Find source with google Find source with iqdb
160964.jpg
>>56442
Ага, спасибо тебе, няша. Я понял. У меня только будут три реквеста тебе:
  • Во-первых, можешь сделать, чтобы можно было скрывать треды и посты не только по словам в заголовке, но и по словам в самом посте. А то, не все треды имеют названия в заголовках. Да и к тому же, если бы ты поставил кнопочку крестик, возле каждого поста, чтобы по нажатию можно было скрывать в индивидуальном порядке.
  • Во-вторых, было бы чудесно, если бы ты в настройках поставил функцию, чтобы скрытые посты полностью удалялись, а не просто скрывались.
  • В третьих, сделай саму нумерацию постов, чтобы знать, сколько треду осталось до бамплимита.
А так, скрипт очень годный и в многих вещах, он лучше куклы. Алсо, желательно тебе еще создать отдельный тред по твоему скрипту, чтобы людям было так удобнее писать о предложениях и багрепортах, а не засорять общий доброскриптов тред.
>> No.56450 Reply
Да где скачать-то? И как посавить? И как это работает?
>> No.56451 Reply
>> No.56453 Reply
File: 03.-Esoragoto.mp3
MP3, 8200.92 KB, 3:29 m @ 320.0/44.1 kHz
add play
03.-Esoragoto.mp3
>>56445
> Во-первых, можешь сделать, чтобы можно было скрывать треды и посты не только по словам в заголовке, но и по словам в самом посте.
Думаю вполне реализуемо через то же поле где замены - одно ключевое слово или сочетание (которое в текущей ситуации ломает скрипт) - будет скрывать пост или тред.
Так же могу убрать чувствительность к регистру, только скажите.
> Во-вторых, было бы чудесно, если бы ты в настройках поставил функцию, чтобы скрытые посты полностью удалялись, а не просто скрывались.
Вообще - это не сложно, но как всегда дьявол кроется в деталях, надо бы хорошенько обмазговать этот вопрос
> В третьих, сделай саму нумерацию постов, чтобы знать, сколько треду осталось до бамплимита.
Внизу есть универсальный счетчик постов, он способен вычислять прe-модeрируемые (свои естественно), в тихом режиме так же новые и удаленные, нумерация постов учитывая специфику доброчана (удаляемые/раскрываемые в рандомных местах посты) будет в большинстве случаев врать.
>> No.56458 Reply
>>56453
> Думаю вполне реализуемо через то же поле где замены - одно ключевое слово или сочетание (которое в текущей ситуации ломает скрипт) - будет скрывать пост или тред.
> Так же могу убрать чувствительность к регистру, только скажите.
> Вообще - это не сложно, но как всегда дьявол кроется в деталях, надо бы хорошенько обмазговать этот вопрос.
Сделай, няша.
>> No.56464 Reply
>>56451
Нельзя ли сделать, чтобы он без Tampermonkey в хроме работал, как куклоскрипт?
>> No.56466 Reply
>>56464
Можно. А если еще и для Firefox возможно будет реализовать аналогично (расширением), то я его наверно в итоге основным и сделаю.
>> No.56468 Reply
Скрипто-кун, добавь функцию поиска пикрелейтедов по различным сервисам, такик как SauceNao, Google Images, и тому подобное, как в кукле.
>> No.56469 Reply
>>56468
Они есть в контекстном меню (правый клик по картинке), вот только поддерживается как выяснилось на данный момент только в Firefox.
Но еще есть надежда что они заработают в Chrome когда скрипт будет переделан в расширение.
> как в кукле.
Степан подаст на меня в суд за то что я ворую у него идеи.
>> No.56471 Reply
>>56469
> Степан подаст на меня в суд за то что я ворую у него идеи.
Его куклоскрипт находится же в открытом доступе, если я не ошибаюсь. Любой может его отредактировать. Алсо, сам Степан уже давно вроде как не занимается скриптом, в тред тематический не заходит на Ычан и даже вроде чаносферу покинул полностью по слухам в майнкрафт ушел с головой и данный момент занимаются скриптом вообще только Йоба и OP. У тебя вообще обновления в два раза чаще выходят, чем у куклоскрипта. Когда, кстати будет очередное обновление желательно с этими функциями, которые предложил данный >>56445-кун. :3
>> No.56472 Reply
>>56468
Тебе не кажется, что для этого более логично поставить плагин, который будет работать на всех сайтах, чем требовать того же от юзерскрипта для одного единственного сайта?
мимо проходил
>> No.56492 Reply
File: 7e1a702d86413cf002e5f27c66570aa2.png
Png, 78.64 KB, 410×545 - Click the image to expand
edit Find source with google Find source with iqdb
7e1a702d86413cf002e5f27c66570aa2.png
Скрипто-кун, а почему у меня некоторые сообщения отображаются скрытыми?
>> No.56493 Reply
>>56492
А, это потому что я исключение на пустую строку не добавил кое где.
>> No.56500 Reply
>>56493
А когда выйдет обновление скрипта?
>> No.56501 Reply
>>56500
Надеюсь что в ближайшее время.
>> No.56522 Reply
>>56501
Буду с нетерпением ждать обновления твоего скрипта, няша, чтобы ты пофиксил все вышеперечисленные баги и ввел те новые функции для скрипта.
>> No.56537 Reply
File: talking_captcha.png
Png, 1.43 KB, 300×20
edit Find source with google Find source with iqdb
talking_captcha.png
File: 73637636835.png
Png, 388.32 KB, 1263×842
edit Find source with google Find source with iqdb
73637636835.png

Спешу радостно сообщить что то самое время наконец настало.

https://github.com/OpenA/MagiCcode/raw/master/Dobrochan/HanabiraMagicE[...]er.js
  • убрал на самом деле добавил чтобы снять чувствительность к регистру
  • замены или скрытие теперь не зависит от конкретного поля, то есть теперь можно делать как замены в поле Name и Title, так и скрывать посты по тексту сообщений.
  • Функция полного скрытия постов и тредов (также скрытие всех ссылок из поля Ответы: указывающих на скрытый пост).
  • Замена и возврат текста к оригиналу теперь происходит тоже динамически как и скрытие/показ постов.
  • Возможность добавления сти
Ну и вообще синтаксис -
  • Скрытие по ключевым словам:
    • Слова целиком.
    • Начинается со слов*
    • *содержит слова*
    • *заканчивается словами.
  • Замена слов:
    • зелёное::красное (заменит все зелёное на красное)
    • зелёное::красное@[color:red] (+ выделит его красным, к слову в скобочках указываются обычные атрибуты css, никаких исключений - можно скрыть нехорошие слова хуй::$1@[display:none] так и просто заменить/затереть хуй::)
    • зелёное::$1@[color:green] (скопирует зелёное и выделит его зеленым, копируется естественно соблюдая регистр)
По поводу расширения для хрома: пока не могу никак разобраться с добавлением элементов в контекстное меню, а так в принципе как надо вроде бы работает. Приведу там все в порядок и залью скорей всего в другой репозиторий.

По поводу треда - ОК, как раз наверно с расширением для хрома и новый тред создам.

>>56471
> Его куклоскрипт находится же в открытом доступе, если я не ошибаюсь. Любой может его отредактировать.
Любой может скачать, все верно, но не любой может отредактировать!
Там пятнадцать тысячь строчек кода и очень запутанный код, с очень запутанными связями.
Я бы и рад оттуда спелы взять да вот не смог ну и хорошо
>> No.56539 Reply
File: 1.png
Png, 87.55 KB, 681×608 - Click the image to expand
edit Find source with google Find source with iqdb
1.png
>>56537
Так, а куда делись кнопки редактирования и поиска по картинке из контекстного меню?
>> No.56540 Reply
>>56539
Да, есть такой косяк, исправил.
>> No.56543 Reply
>>56540
Спасибо, няша за обновление. Только добавь возможность отмечать прочитанные посты одним кликом в будущем обновлении, а то когда у тебя под 20 выделенных, непрочитанных сообщений, бывает часто неудобно клацать на каждое отдельно.
>> No.56544 Reply
File: 20-Ryuuju-no-Dengon.mp3
MP3, 4576.59 KB, 1:49 m @ 320.0/44.1 kHz
add play
20-Ryuuju-no-Dengon.mp3
>>56543
Кнопкой R снимаются все прочитанные
Если с хоткеями не очень дружишь %%как например я%% то наверно стоит в настройки добавить настройку, которая бы позволяла это настраивать сделать еще и через даблклик.
>> No.56545 Reply
>>56544
Ага, спасибо, я понял, няша. Алсо, я тут подумал, было бы замечательно, если бы ты еще добавил функцию поиска по доброчану. Возможно ли такое?
>> No.56546 Reply
>>56545
Наверное, кто то же здесь вроде пишет скрипт.
Сам я пока подробно не изучал этот вопрос, но если тот скрипт осуществляет поиск через какие то сторонние ресурсы (тость дч-шный вообще напрочь не раьотает), то и смысла тогда велосипедить что то свое не вижу - используйте тот скрипт параллельно, а если же все таки на сервер доброчана можно что то отослать и получить ответ (не важно в каком виде), то пожалуй стоило бы взяться.
>> No.56574 Reply
>>56546
Слушай, няша, а можешь добавить рядом крестик, чтобы можно было скрывать так посты, ну и заодно с ними бы скрывались все ветки ответов на них. Ну и конечно же, было бы вообще идеально, если бы ты добавил отдельное автоскрытие по не ОП-постам.
>> No.56592 Reply
>>56546
Скрипто-кун, а можешь добавь функцию "галерея", чтобы была возможность открывать все изображения в отдельном окошке
>> No.56597 Reply
Не работает поиск изображений в Firefox 31.7. По derpibooru открывается https://derpibooru.org/search/reverse, а по всем остальным адрес изображения на Доброчане.
>> No.56601 Reply
>>56592
Зачем опять делать монструозный скрипт?
>> No.56602 Reply
>>56601
Как зачем? Чтобы по доброчану удобно было лазить.
>> No.56622 Reply
Багрепорчу о том, что после создание треда, меня не перебрасывает в этот тред.
>>56597
Алсо, наблюдаю такую же проблему с поиском по derpibooru.
Пофикси плиз, будь няшей.
>> No.56933 Reply
>>56622
бамп багрепорту.
>> No.56937 Reply
File: 762983__safe_solo_twilight+sparkle_anthro_monochro.jpg
Jpg, 67.37 KB, 718×874 - Click the image to expand
edit Find source with google Find source with iqdb
762983__safe_solo_twilight+sparkle_anthro_monochro.jpg
У меня сад@огород, рожь зацвела, свекла заколосилась, а вы тут баги чини иди свои понимаешь.

>>56933
> Багрепорчу о том, что после создание треда, меня не перебрасывает в этот тред.
Исправил, но заливать буду потом, тамушта надо срочно еще чего нибудь придумывать со встраиваемыми ссылками, очень уж как то быстро кончились наши бесплатные пять тысяч обращений в месяц, и ладно бы просто закончились, там еще и снятие блокировки ждать пол месяца.
Есть так то еще один похожий сервис и даже круче, но для его полной поддержки потребуется много кода переделывать вот смеху будет если и на него запилят монетизацию через какое то время.

А насчет дерпибуры УМВР, рекомендую попробовать на пикрелейтед.
>> No.56939 Reply
>>56937
Кому ты рассказываешь, ты ж затворник.
> со встраиваемыми ссылками
Youtube?
>> No.56940 Reply
>>56937
А когда примерно сможешь сделать апдейт скрипта? Я просто уже жду-недождусь, когда этот няшный скрипт выйдет с обновлением, а то я уже даже обратно куклу поставил, но кукла ты сам понимаешь, хоть и имеет больший функционал, нежели твой скрипт, но кукла не так хорошо дружит с ханабирой, как твой няшкоскрипт. Так что возращайся из своей деревни побыстрее и делай обновления, пожалуйста. С меня как всегда, какая-нибудь няшки и интернеты. Олсо, уже даже начал переживать, что ты как Степан, ушел из чаносферы.
>> No.56941 Reply
File: twilight_sparkle67590 - artist Mr-1 bucket no no_coffee.png
Png, 37.71 KB, 656×644 - Click the image to expand
edit Find source with google Find source with iqdb
twilight_sparkle67590 - artist Mr-1 bucket no no_coffee.png
>>56939
Но тем не менее огород у меня есть и мне на нем таки приходится работать, иначе мамка перестанет давать денег мне на интернеты.
> Youtube?
В том числе и его.
>>56940
Ну надож фичьреквесты запилить еще, но постараюсь побыстрее.
Я дома, просто выезжаю иногда на двое трое суток, а после огорода обычно долго делать ничего нехочется. С чаносферы мне рано пока да и даже захоти - не знаю куда, только ирл наверно.
>> No.57045 Reply
>>56597
Проблема была в дополнении Clean Links. Но derpibooru.org всё равно не работает.
>> No.57046 Reply
>>56941
Фичьреквест — отправка сообщения по Ctrl + Return.
>> No.57048 Reply
>>57046
Есть альтернатива: нажимай Tab, а потом Enter. Будет тот же эффект, совершенно.
>> No.57050 Reply
>>57048
Не знаю, как у тебя, а у меня фокус оказывается на кнопке скрытия следующего треда.
>> No.57060 Reply
>>57046
Не надо. После Skype начинаешь и тут это жать для переноса строки.
>> No.57074 Reply
>>56941
Скрипто-кун, когда будет апдейт, а то уже скоро так лето закончится?
>> No.57075 Reply
File: talking_captcha.png
Png, 1.08 KB, 300×20
edit Find source with google Find source with iqdb
talking_captcha.png
File: hard_morning_by_s...
Png, 62.75 KB, 1024×779
edit Find source with google Find source with iqdb
hard_morning_by_sweetie_miou-d5uqjc5.png

>>57074
В какой то из близлижащих дней, но точно не сегодня.
>> No.57076 Reply
>>57075
Ок, понял. А сервис новый ты еще не нашел для встраивания названий в ссылки?
>> No.57079 Reply
File: tumblr_n0u7vdYPm31szj8x1o1_500.gif
Gif, 913.77 KB, 480×270 - Click the image to expand
edit Find source with google Find source with iqdb
tumblr_n0u7vdYPm31szj8x1o1_500.gif
>>57076
> А сервис новый ты еще не нашел для встраивания названий в ссылки?
Нашел, анончик, нашел.
Но ты пока со старым посиди, он вроде заработал снова.
>> No.57082 Reply
>>57060
Хотя, ты прав. Лучше тянуться к кнопке. А то так случайно можно раньше времени пост отправить.
>> No.57083 Reply
>>57079
Отлично, буду ждать фикса, няша.
>> No.57090 Reply
>>55048
Все, я больше не могу. Сколько не скрывай уютный с бессоницей, через пол дня это добро опять на месте. Мне нужен ваш DobroHider!
Никогда не пользовался скриптами. Объясните нубу, какой плагин для мозиллы нужно скачать и какую кнопку в нем нажать, что бы установить скрипт.
>> No.57091 Reply
>>57090
Попробуй либо Степанову куклу, либо магическую ханабиру скрипто-куна и проблем у тебя не будет больше с этими тредами.
>> No.57095 Reply
>>57091
А посты мы читаем жопой.
>>57090
GreaseMonkey. После установки он сам должен подхватывать файлы расширением user.js и предлагать установить.
>> No.57096 Reply
>>57095
Установил. Открываю http://dobrochan.com/utils/text/1484194/6431878 передо мной появляется много страшного кода и...? Что делать то? Странно что в ОП-посте нет таких простых объяснений, тут одни знатоки сидят?
>> No.57097 Reply
>>57096
А, вижу, оп-хуй не додумался нормальную ссылку на файл дать. Ставь вариант из коллекции доброскриптов, там хоть настройки нормально хранятся.
> знатоки
Завязывай с этой хуйней, блджад.
>> No.57101 Reply
File: Screen-Shot-2015-08-10-at-11.21.08.png
Png, 59.58 KB, 445×832 - Click the image to expand
edit Find source with google Find source with iqdb
Screen-Shot-2015-08-10-at-11.21.08.png
>> No.57102 Reply
>>57096
Всё очень просто. Если ты уже установил GreaseMonkey (лиса) или TamperMonkey (хром), берёшь текст, который есть на странице, и сохраняешь его в файл DobroHider.user.js. После этого ты должен перетащить этот файл в окно браузера и нажать во всплывающем окне "установить". После этого новое окошко появится в настройках.
Есть два варианта метода скрытия. Первый: точное совпадение, просто пишешь название. Второй: регулярные выражения.
Аналогична установка и другого варианта хайдера.
>> No.57103 Reply
>>57102
СВЕРШИЛОСЬ
Спасибо, Анон. Буду тестить.
>> No.57104 Reply
>>57101
Это у тебя чего такое?
>> No.57105 Reply
>>57102
Э, в общем, опять ничего не понял. В настройках появилось новое окно, я попробовал записывать в него названия тредов, но ничего не скрывается, только смеются надо мной из-под своих аватарок.
>> No.57109 Reply
File: 79b502ceaa5c77794e2776dcedda5c3d.jpg
Jpg, 205.44 KB, 1021×1200 - Click the image to expand
edit Find source with google Find source with iqdb
79b502ceaa5c77794e2776dcedda5c3d.jpg
>>57090
> Мне нужен ваш DobroHider!
И чем этот ваш доброхайдер лучше той же куклы? Мне кто-нибудь объяснит это?
>>57095
> А посты мы читаем жопой.
А что не так то? Кукла или даже этот самый мэджик ханабира неплохо справляются с автоскрытием по регулярным выражением. И прекрати выражаться, как оранжевый. Звучит отвратительно
>>57101
> пикрел
Щито это, няша?
>> No.57110 Reply
File: Screen-Shot-2015-...
Png, 14.36 KB, 445×832
edit Find source with google Find source with iqdb
Screen-Shot-2015-08-10-at-18.51.54.png
File: Screen-Shot-2015-...
Png, 38.49 KB, 445×832
edit Find source with google Find source with iqdb
Screen-Shot-2015-08-10-at-18.53.28.png
File: Screen-Shot-2015-...
Png, 42.80 KB, 445×832
edit Find source with google Find source with iqdb
Screen-Shot-2015-08-10-at-18.54.19.png

>>57104
> Это у тебя чего такое?
>>57109
> Щито это, няша?
Возможно примерно так будет выглядеть новый Доброридер. Кроме того оно будет в виде сайдбара джля фейлфокса.
>> No.57111 Reply
>>57105
Название треда совпадает со строкой, которую вписываешь в появившееся окно? Иными словами, скрываешь тред с номером или без? Перезагружать страницу на всякий случай пробовал?

>>57109
> И чем этот ваш доброхайдер лучше той же куклы?
Скрывает посты с помощью регулярных выражений, используя API Доброчана. Куклоскрипт же их просто сворачивает или делает невидимыми (в зависимости от настроек). То есть, при использовании доброхайдера как и при ручном нативном скрытии, скрытые треды даже не будут подгружаться, как будто их и вовсе не существует. Это также относится и к числу видимых тредов. Например, если на доске по умолчанию показывается N тредов, и куклой скрыто M тредов из них, то мы увидим только N-M тредов. А если скрывать нативно, то страница будет формироваться только из нескрытых тредов, и их будет отображаться всегда N штук. Просто вспомни те скриншоты, где на нулевой одни только хвостики заголовки скрытых куклой тредов. Так вот, с использованием доброхайдера похожая ситуация может случиться только в момент непосредственного автоскрытия при заходе на доску, когда от тредов остаётся характерное пустое место между двух горизонтальных линий. После перезагрузки страницы взамен скрытых всплывут более поздние треды из числа нескрытых, и нулевая вновь будет в порядке.
>> No.57112 Reply
>>57110
Любопытно. Это только макет, или уже рабочий образец? Если второе, то в какой ОС он запущен на скриншоте? Алсо, открытые исходники ожидаются?
>> No.57113 Reply
>>57109
> И чем этот ваш доброхайдер лучше той же куклы?
Тем, что вместе с Доброхайдером не идёт целая гора совершенно ненужной человеку хуиты. Я бы не ставил себе полную куклу со всем потенциалом, если бы мне нужно было скрывать нативным функционалом 1-2 треда в день.
>> No.57114 Reply
>>57110
У меня очень большая просьба сделать тёмный дизайн. От яркого белого экрана в условиях плохого освещения (и моей работы) вытекают глаза.
>> No.57115 Reply
File: Screen-Shot-2015-08-10-at-19.51.27.png
Png, 62.59 KB, 444×832 - Click the image to expand
edit Find source with google Find source with iqdb
Screen-Shot-2015-08-10-at-19.51.27.png
>>57112
> Это только макет, или уже рабочий образец?
Это рабочий образец на самой самой ранней стадии.
> Если второе, то в какой ОС он запущен на скриншоте?
В фейлфоксе оно запущено. Будет разрабатываться под cordova. А это значит, что можно будет на любой байде запускать. Возможно даже сделаю версию в виде плагина/юзерскрипта.
> Алсо, открытые исходники ожидаются?
>>57114
> У меня очень большая просьба сделать тёмный дизайн.
Обязательно будет. Просто я решил начать со светлой темы. Тёмная будет выглядеть примерно как вот этот пикрелейтед. Алсо я ни разу не дизайнер. Просто своровал темку и допиливаю её. Но всем похуй.
>> No.57117 Reply
>>57109
> чем маленький скрипт лучше монстроузной вечно глючащей херни
Действительно, чем?
> А что не так то?
Он спросил КАК доброхайдер установить, а не твое сверхважное мнение о том ЧТО надо ставить.
>> No.57118 Reply
>>57115
Серый на монолитно чёрном - отвратительное сочетание. Попробуй белый на тёмно-сером, также туда прекрасно впишутся небесно-голубой цвет для ссылок и канареечный жёлтый для логотипов.
Я тоже ни разу не дизайнер, но жизнь заставила пробовать и подбирать красивые сочетания цветов для себя и своих проектов.

Чуть позже скину скрин с примером хорошего тёмного скина и с RGB-цветами.
>> No.57120 Reply
>>57115
Когда планируешь его выложить, няша?

Алсо, чтобы вы мне лучше всего посоветовали поставить: юки-скрипт или доброскрипт. Какой будет лучше всего совместим с движком
>> No.57121 Reply
>>57120
А тебе что надо то от скрипта? В смысле какой функционал?
>> No.57122 Reply
>>57121
Удобное отображение ссылок на посты, а также наличие кнопок разметки текста.
>> No.57123 Reply
>>57120
Ни тот, ни другой. Здесь в треде в последних сообщениях есть ссылка на MagicScript для Ханабиры, вот его и ставь. Он не устаревший, от него ничего не отваливается, он активно развивается и совершенствуется. Я сам переполз на него с юкискрипта.
>> No.57124 Reply
>>57123
А кукла я так понял, как говорят местные с ханабирой не сильно совместима?
>> No.57125 Reply
>>57122
Короче посмотри сам и выбери какой тебе больше подходит:
https://github.com/OpenA/MagiCcode/tree/master/Dobrochan
>>57123
> активно развивается и совершенствуется
Да, но с пробуксовками.
>> No.57126 Reply
>>57124
Тяжеловесна и глючна, но многим нравится. Можешь попробовать, лично я куклу использую только на ычане (потому что без неё там совсем грустно).
>> No.57127 Reply
>>57125
а с доброхайдером она дружит?
>> No.57128 Reply
>>57127
Упрощенная версия - должна наверно, а у полной есть своя скрывалка.
>> No.57129 Reply
>>57128
Но как анон выше подметил - >>57111 , что в том доброхайдере треды скрываются намного быстрее чем у куклы. Мне интересно, по какому принципу этот скрипт скрывает треды.
>> No.57132 Reply
File: 5462326247247.webm
Video 1262x630 x 0:02:04; 9.5 MB - Click the image to play video
5462326247247.webm
>>57129
По принципу интерактивности.
API конечно не использует, потому что c API возможно было бы только отложенное скрытие.
Что насчет скорости то поскольку реализовано через XPatch + JS + CSS то очень быстрая, почти что RealTime.
>> No.57133 Reply
>>57132
Кстати, реквестирую в меру упоротую фичу: скрытие отдельных постов по имени файла. Я думаю, вполне понятно, в каком треде она окажется востребованной, верно?
>> No.57135 Reply
>>57132
Так кукла вроде как тоже достаточто быстро скрывает, разве нет?
>> No.57136 Reply
>>57133
Вообще в самом коде это все не сложно - можно и по файлам (по заваниям) скрытие реализовать и разделение на пост/op, проблема в интерфейсе ввода - это надо то ли синтаксис вводить какой то (чего честно говоря делать не хочется тк это все дело придется парсить же), либо нагромаждать еще полей (чего тоже не хчется), либо курнуть какой нибудь травы и придумать какой нибудь сцуперфункциорнальный, мегаудобный, гибкий интерфейс.
>>57135
Вот честно говоря не знаю насколько быстро она делает, но знаю что она тупо берет исходный текст страницы и насилует его регулярными выражениями.
>> No.57137 Reply
>>57136
> Вообще в самом коде это все не сложно - можно и по файлам (по заваниям) скрытие реализовать и разделение на пост/op, проблема в интерфейсе ввода - это надо то ли синтаксис вводить какой то (чего честно говоря делать не хочется тк это все дело придется парсить же), либо нагромаждать еще полей (чего тоже не хчется), либо курнуть какой нибудь травы и придумать какой нибудь сцуперфункциорнальный, мегаудобный, гибкий интерфейс.
Сделай, пожалуйста, чтобы можно было скрывать обычные не ОП-посты. А то иногда задалбывают различные лунатики и хотелось бы чтобы можно было скрывать по принципу: "скрыть схожий текст".
>> No.57138 Reply
File: 6844d1a84fbf57e8a62450500cf7cbf9.jpg
Jpg, 56.32 KB, 371×341 - Click the image to expand
edit Find source with google Find source with iqdb
6844d1a84fbf57e8a62450500cf7cbf9.jpg
>>57137
Установил этот ваш HanabiraMagicExtension.user.js
Поле скрытия тредов не позволяет себя редактировать. Галочки ставить можно, но само поле ни на что не реагирует, даже, э, курсор не перемещается. С чем может быть связано?

А еще у меня в куклоскрипте внесенные в список скрытия треды не сохраняются там и само скрытие не срабатывает. Никто не сталкивался?
>> No.57139 Reply
>>57138
Ладно, за HanabiraMagicExtension можете не отвечать. Очень неудобное дерево постов (или как это называется) в сравнении с куклоняшей. Пропадает быстро, в том числе пропадают посты с которых убрал курсор, ветка лезет куда-то за экран пытаясь пробурить небеса, наверное.

Все еще актуальна проблема со скрытием в куклоскрипте и интересно подробней узнать за использование dobrohider.
>> No.57140 Reply
>>57138
> Галочки ставить можно, но само поле ни на что не реагирует, даже, э, курсор не перемещается
А как он тебе будет по пустому полю то перемещаться? Ичто он тебе должен скрывать, когда у тебя там ничего не написано.
>>57139
Это стандартное поведение доброчановских превью, как же это ты так раньше пользовался доброчаном без скриптов и не замечал?
>> No.57141 Reply
>>57140
> как же это ты так раньше пользовался доброчаном
Ох, это было очень давно.
>> No.57143 Reply
File: 3ad51e578fb17759749af49d753ae524.jpg
Jpg, 301.48 KB, 722×954 - Click the image to expand
edit Find source with google Find source with iqdb
3ad51e578fb17759749af49d753ae524.jpg
>>57110
Вижу, дизайн хороший, вангую что он станет популярный. Однако, есть свои недочеты сейчас здесь, например:
> Screen-Shot-2015-08-10-at-18.53.28.png
Почему здесь нету ОП-пиков в тредах?
> Screen-Shot-2015-08-10-at-18.54.19.png
Неплохо было бы запилить возможность баннеров для каждого раздела, при чем это будет как опциональная фича.
>>57115
> Screen-Shot-2015-08-10-at-19.51.27.png
Ну и наверное, самое главное, чтобы было наличие карты ответов под каждым постом, а то как показывает практика, без этого практически невозможно ориентироваться в тредах. Алсо, а темы кстати у тебя достаточно неплохие вышли, не смотря на то, что ты сказал, что содрал их откуда-то. откуда кстати, если не секрет? Мог бы еще конечно добавить несколько тем на будущее, чтобы разнообразить интерфейс, как к примеру в светлой теме, замени все голубые цвета на зеленые (можешь даже черные надписи сделать зелеными), типо будет летняя тема. По аналогии, если так на оранжевые заменить цвета, получится осенняя тема… ну ты понел.
В общем, желаю тебе успехов и жду, когда ты его выложишь сюда, или запилишь отдельный тред по своему доброридеру и надеюсь также, что ты прислушаешься к моим советам.
>> No.57159 Reply
>>57126
Она универсальна. Этим хороша.
ВолшебноКот поддерживает фишки некоторые особые фишки Доброчана. Например, нативное скрытие тредов.
>> No.57160 Reply
File: Screen-Shot-2015-08-13-at-08.17.32.png
Png, 162.09 KB, 1600×799 - Click the image to expand
edit Find source with google Find source with iqdb
Screen-Shot-2015-08-13-at-08.17.32.png
>>57143
> Почему здесь нету ОП-пиков в тредах?
Я отлаживаю прямо в бравзере на локалхосте. Картинки не подгружаются ибо Доброчан на них 403 ошибку выдаёт. И я ещё не допилил до конца это поделие.
> Неплохо было бы запилить возможность баннеров для каждого раздела, при чем это будет как опциональная фича.
Вместо этого будет возможность скрыть доски лишние. Так даже удобнее будет. А баннеры плохо вписываются в этот дизайн как по мне.
> Ну и наверное, самое главное, чтобы было наличие карты ответов под каждым постом
Будет как в старом доброридере.
> откуда кстати, если не секрет?
http://goratchet.com/ сижу и допиливаю это кривое поделие под себя.
> Мог бы еще конечно добавить несколько тем на будущее, чтобы разнообразить интерфейс, как к примеру в светлой теме, замени все голубые цвета на зеленые
Темы будут не ранее, чем запилю окно настроек. Там будет светлая/тёмная тема + настройки цветов джля кнопок.
> В общем, желаю тебе успехов и жду, когда ты его выложишь сюда
Собственно вот демка в виде юзерскрипта https://dropmefiles.com/ErjpY . Постинг работает без картинок и вообще там больше половины не работает. Но можно поиграться.
> или запилишь отдельный тред
Тред будет с полноценным релизом. Пока тут посижу.
>> No.57162 Reply
File: reader.zip
Zip, 0.43 KB, 0 files - Click the image to get file
view
reader.zip
>>57160
Ссылка сломалась. Пусть будет архивом.
>> No.57177 Reply
File: reader.zip
Zip, 0.43 KB, 0 files
view
reader.zip
File: Screen-Shot-2015-...
Png, 217.74 KB, 1600×799
edit Find source with google Find source with iqdb
Screen-Shot-2015-08-14-at-12.46.36.png

>>57162
Тёмная тема и тест скрытодосок.
>> No.57208 Reply
File: Макет-для-нового-...
Jpg, 80.85 KB, 600×799
edit Find source with google Find source with iqdb
Макет-для-нового-доброридера.jpg
File: Дизайн-для-сравне...
Jpg, 95.73 KB, 622×799
edit Find source with google Find source with iqdb
Дизайн-для-сравнения.jpg
File: Макет-для-нового-...
Rar, 0.26 KB, 0 files
view
Макет-для-нового-доброридера.rar

>>57177
Тёмная тема немного неприятна глазу. Попробуй вот какую раскладку:
Для тела постов - #1e1e1e
Для фона - #101010
Для обводки тела - #555555
Для ссылок - #5d83ab
Для неброского текста - #888c8c
Для основного текста - #ced3d3

Сделал тестовый макетик, по-моему, смотрится просто замечательно. Выкладываю на суд анона.
Если Доброчан не перепутает картинки местами, то порядок такой: мой макет - оригинал для сравнения - psd-версия макета. Если перепутает, то мой макет серый.
Отдельно замечу, что макетик сделан слегка небрежно и в не предназначенной для этого программе, поэтому да, текст плохо выровнен и немного поехавший. Не обращайте внимание.
>> No.57209 Reply
>>57208
Запоздало смотрю на собственный макет и думаю о том, что основной текст можно было сделать на один кегль покрупнее, и может быть процентов на 10-15 поярче. На суд публики.
>> No.57215 Reply
>>57208
Хуёвая палитра ящитаю. Особенно цвет ссылкоты. Будет использована вот эта http://clrs.cc/ палитра. Сам по себе макет норм.
Время по умолчанию будет показываться в относительном виде. В настройках будет возможность убрать это дело.
>>57209
> процентов на 10-15 поярче
На 18%. Сразу в #fff. Тащемто единственная проблема только с #000, который нинужен.
>> No.57216 Reply
>>57215
> Хуёвая палитра ящитаю.
Зато твой голимый чёрный режет глаза своим контрастом. Кто-то говорил, что он не дизайнер.
Если не нравится цвет ссылок - поменяй, окей. Но в твоей палитре нет, например, комфортного для глаз цвета.
> На 18%. Сразу в #fff.
Ойвсё. Я говорил про относительную, а не абсолютную яркость.
>> No.57219 Reply
>>57216
> Зато твой голимый чёрный режет глаза своим контрастом.
У тебя конртастность почти в джва раза меньше в 1.7 раз, если быть точным. Алсо такой контраст высокий требуется например джля чтения на улице.

Алсо вместо чорного можно использовать #001f3f. Там будет приемлемый контраст и норм читабельность. http://jxnblk.com/colorable/demos/text/?background=%23001f3f&foreground=%23fff против твоего зелёного http://jxnblk.com/colorable/demos/text/?background=%231e1e1e&foregroun[...]ed3d3
> Но в твоей палитре нет, например, комфортного для глаз цвета.
#define комфортные цвета
> Я говорил про относительную, а не абсолютную яркость.
Тащемто я не ванга.

В TODO по времени: запилить более кастомное преобразование в относительное время. Всё, что сегодня было, то показывать абсолютным временем. Иначе для самых новых постов может показываться время в будущем даже если пытаться настроить поправку.

Придумал фичу: при раскрывании ответов на посты можно помечать эти открытые посты как прочитанные и далее по треду вместо них плашку показывать.
>> No.57220 Reply
>>57219
> У тебя конртастность почти в джва раза меньше
И мне не режет глаза благодаря этому. Вот беда-то какая.
> Алсо такой контраст высокий требуется например джля чтения на улице.
Ок, убедил, можно оставить белый шрифт. Но просто глухой чёрный фон - увольте. На него просто неприятно смотреть.
> #define комфортные цвета
Я отвлёкся и закончил предложение. В этой палитре нет комфортного для глаз цвета, который я бы захотел поставить на фон страницы. Голый чёрный, как и шесть-единиц, не подходят для этого. Это извращение, неприятное для глаз. Походи на сайты с хорошим тёмным дизайном и потыкайся в него пипеткой - нигде не найдёшь голого чёрного цвета.
> Тащемто я не ванга.
Обычно процентами исчисляют относительные величины. Я имел в виду не Lightness.

Преобразование времени выглядит странно и стрёмно, как я считаю. Мне часто важны отдельные величины; я хотел бы знать, что определённый пост оставлен 24-го июля 2014-го, а не "год назад". "Год назад", "месяц назад" - понятия настолько расплывчатые, что из-за них теряется куча информации, которую несёт дата.
Поэтому если сегодняшние даты пилить абсолютным временем, то преобразование даты вообще теряет какой-либо смысл.
> Придумал фичу: при раскрывании ответов на посты можно помечать эти открытые посты как прочитанные и далее по треду вместо них плашку показывать.
Хнык. Я хочу убить дЫзайнеров, которые придумывают подобное и вводят без хотя бы сопутствующего набора фич (например, "показать предыдущие 10/50/100").
>> No.57221 Reply
>>57220
> Ок, убедил, можно оставить белый шрифт.
Там ещё есть SILVER #ddd.
> Голый чёрный, как и шесть-единиц, не подходят для этого.
Так будет #111 вместо чорного.
> Мне часто важны отдельные величины; я хотел бы знать, что определённый пост оставлен 24-го июля 2014-го, а не "год назад".
Так можно будет это дело отключить.
> "Год назад", "месяц назад" - понятия настолько расплывчатые, что из-за них теряется куча информации, которую несёт дата.
Там будет чуть подробнее. По типу "год, 5 месяцев, 1 день назад". Плюс ещё один адаптивный формат:
  • точное время
  • день недели
  • дата без года
  • дата с годом
> Я хочу убить дЫзайнеров, которые придумывают подобное и вводят без хотя бы сопутствующего набора фич (например, "показать предыдущие 10/50/100").
Навигация планируется следующая:
  • при нажатии на тред показывается ОП-пост и 10 последних тредов + спинер загрузки
  • псевдоскрытие прочитанных тредов
  • навигатор со стрелочками появляется при попытке прокрутки
Алсо надо бы прикрутить полноценный плеер http://audiocogs.org/codecs/mp3/ и просмотрщик картинок.
>> No.57222 Reply
>>57221
> > Голый чёрный, как и шесть-единиц, не подходят для этого.
> Так будет #111 вместо чорного.
Шесть единиц. #111111. Не подходит. Подумай.

Вообще, с такой логикой я с тобой спорить не буду, просто буду продолжать пользоваться доброридером. Спрашивал советов мудрых, сказал, что ни разу не дизайнер, а теперь зацепился за стандартные цвета html'я с маленькими изменениями и сказал, что это КАНОНЪ и от них отступлений не будет. И ещё какие-то фичи ради фич, а не ради удобства. Ты реально убитый.
>> No.57235 Reply
Скрипто-кун, когда уже апдейт магик ханабиры?
>> No.57236 Reply
File: talking_captcha.png
Png, 0.64 KB, 83×15
edit Find source with google Find source with iqdb
talking_captcha.png
File: __Morning_Shana_b...
Jpg, 160.62 KB, 900×1115
edit Find source with google Find source with iqdb
__Morning_Shana_by_Cyanith.jpg

>>57235
Как знать, надеюсь что скоро, пора бы уже.
Видишь ли, я на все разом набросился и в коде завяз нафиг.
Но если есть что то такое, что нужно непременно сейчас (баги особо надоедливые) - ты скажи, я часть то могу в принципе уже перенести.
>> No.57243 Reply
>>57236
> Но если есть что то такое, что нужно непременно сейчас
Вот тот баг, когда при создании треда застревает загрузка.
>> No.57244 Reply
>>57243
Всмысле не перекидывает?
Сейчас запилю.
>> No.57246 Reply
File: Duck-and-Cover.webm
Video 1920x1080 x 0:00:48; 12 MB
Duck-and-Cover.webm
File: 34654363474373.png
Png, 311.66 KB, 1820×1019
edit Find source with google Find source with iqdb
34654363474373.png
File: talking_captcha.png
Png, 1.42 KB, 239×15
edit Find source with google Find source with iqdb
talking_captcha.png

>>57243
Обновил: https://github.com/OpenA/MagiCcode/raw/master/Dobrochan/HanabiraMagicE[...]er.js

Фичи пока не запиливаю ибо еще не доделаны, может буду так же по чут-чуть переносить в процессе допила.
Перенес все исправления ошибок (автопереход во вновь созданный тред итд.) и некоторые улучшения:
  • обновил Tynicon с 0.6.3 до 0.6.4 что нового - не знаю, но кода в новой версии стало заметно меньше
  • теперь незакрепленные превью раскрываются друг за другом
  • пометить все новые посты как прочитанные можно еще и даблкликом
  • заменил кучу повторяющихся слушателей (подвешиваемых на множество разных элементов) на кучу повторяющихся несколько универсальных, что в теории должно повышать производительность.
  • при нажатии на ссылку в поле Фаил: 2356537484264.png фаил скачивается
  • разворачиваемые на всю высоту поля в меню автоскрытия.
А, еще теперь капча обрезается по текст.
Вот.
>> No.57250 Reply
File: talking_captcha.png
Png, 0.76 KB, 76×15
edit Find source with google Find source with iqdb
talking_captcha.png
File: f3aa207ff2e527f16...
Jpg, 379.31 KB, 500×731
edit Find source with google Find source with iqdb
f3aa207ff2e527f16adf04bcb62633a4d43d2286.jpg

>>57246
О, отлично няша, спасибо за обновление. Держи девочку :3
Только будет к тебе пару просьб:
  • Можешь запилить абсолютно полное Real-time скрытие постов, т.е. после добавления фразы, она сразу же скрывалась, либо как альтернативный вариант это некая кнопочка рядом с постомЭ которая его скрывает.
  • Хотел спросить: что это за кнопка V вместо привычного крестика. Могу ли я что-то подобное сделать?
>> No.57251 Reply
File: bug.jpg
Jpg, 440.17 KB, 1600×900 - Click the image to expand
edit Find source with google Find source with iqdb
bug.jpg
>>57246
Обнаружил баг. На некоторых досках, например, в /b/ и /a/ совсем не отображаются ссылки на страницы, хотя в /d/ и /u/ все нормально. На других, я еще не проверял. Алсо не хочет загружать файлы у меня через кнопку "добавить файл". Могу только драг'н'дропом кидать.
>> No.57253 Reply
File: 78476846849.png
Png, 136.17 KB, 766×680
edit Find source with google Find source with iqdb
78476846849.png
File: 34634373635.png
Png, 193.57 KB, 1133×779
edit Find source with google Find source with iqdb
34634373635.png

>>57250
> Можешь запилить абсолютно полное Real-time скрытие постов
Это всмысле когда набираешь текст и через некоторое время (после окончания печатанья) эффект сам наступает - правильно понял?
Это наверно LiveTime правильнее называть, тк он будет наступать через какой то (пусть и очень короткий) промежуток времени, а RealTime подразумевает мгновенную реакцию (что в нашем случае наверно не применимо прямо во время набирания текста).
- Можно попробовать, это будет очень круто с точки зрения удобства ящитаю.
> Хотел спросить: что это за кнопка V вместо привычного крестика. Могу ли я что-то подобное сделать?
Это флажок с выпадающим списком в котором находятся киллер фичи планируемые в грядущем апдейте - пикрелейтед
  • симулятор редактирования постов, суть такова: в посте раскрывается форма (полностью независимая от основной слава всемогущему ООП) которая берет текст из поста превращая его в исходный вид, так же берет все файлы имя постера и тему, после чего ее можно подредактировать/добавить файлы итд и отправить, после отправки она автоматом удалит пост (естественно если пароль корректный, если нет то все равно отправит но напишет что удалить не удалось по таким то причинам);
  • скрытие конкретного поста (если это OP пост то скрывает весь тред при помощи доброчановского API)
  • удаление поста
   так то уже все работает, но есть незавершонность - например я все еще не решил куда скидывать инфу о этих скрываемых конкретных постов, как ее доставать как ее применять и как отменять, потом не знаю как быть с удалением постов - по одному так и оставить или придумать еще что то что бы отмечать для удаления как раньше тоже можно было.

За девочку спасибо, да.
>>57251
Скрываешь треды небось?
Это потому что раньше отдельные правила для каждого элемента идущего после скрытого треда были прописаны .thread.autohidden + br, .thread.autohidden + br + hr итд, а теперь просто все что идет после скрытого треда (кроме другого треда) скрывается тоже автоматом.
Как то я упустил этот момент если скрытый тред в самом низу страницы, надо добавить будет пару правил то же.

Блять доигрался с удалением
>> No.57254 Reply
File: 2a0dc819f1260eeb1137dd42d3aa5e3ee4be04ed.png
Png, 534.26 KB, 716×1012 - Click the image to expand
edit Find source with google Find source with iqdb
2a0dc819f1260eeb1137dd42d3aa5e3ee4be04ed.png
>>57253
> Это всмысле когда набираешь текст и через некоторое время (после окончания печатанья) эффект сам наступает - правильно понял?
Именно.
> Это флажок с выпадающим списком в котором находятся киллер фичи планируемые в грядущем апдейте - пикрелейтед
> симулятор редактирования постов, суть такова: в посте раскрывается форма (полностью независимая от основной слава всемогущему ООП) которая берет текст из поста превращая его в исходный вид, так же берет все файлы имя постера и тему, после чего ее можно подредактировать/добавить файлы итд и отправить, после отправки она автоматом удалит пост (естественно если пароль корректный, если нет то все равно отправит но напишет что удалить не удалось по таким то причинам);
> скрытие конкретного поста (если это OP пост то скрывает весь тред при помощи доброчановского API)
> удаление поста
Блин, идея просто 10/10. Мне очень нравится, обязательно делай, это действительно годно, мне лично того не хватает для полноценной системы юзания данной скриптоняши. Алсо, запили еще возможность необязательно сразу же в следующем обновлении скрывание постов со сходным содержанием текста, чтобы скрипт анализировал посты и если в них содержимое, т.е. слова в предложениях совпадают на более чем 40%, то скриптоняша их будет скрывать. Ну и конечно же можно сделать и с картинками похожую фигню, чтобы по анализу хэш-суммы оно брало.
> Скрываешь треды небось?
Есть такое.
> Это потому что раньше отдельные правила для каждого элемента идущего после скрытого треда были прописаны .thread.autohidden + br, .thread.autohidden + br + hr итд, а теперь просто все что идет после скрытого треда (кроме другого треда) скрывается тоже автоматом.
Теперь ясно. Не забудь кстати исправить тот баг с невозможностью прикреплять файлы по классическому механизму.
>> No.57256 Reply
>>57253
> фичи планируемые в грядущем апдейте
А когда он будет?
>> No.57258 Reply
>>57256
За завтра/послезавтра надеюсь что осилю допилить
>>57254
> Не забудь кстати исправить тот баг с невозможностью прикреплять файлы по классическому механизму.
Это как всмысле? Что за баг?
>> No.57259 Reply
>>57258
> Это как всмысле? Что за баг?
Ну это значит, что когда нажимаю на кнопку "прикрепить файл", а потом выбираю в окне файл и нажимаю ок, он не прикрепляет его совсем.
>> No.57260 Reply
>>57259
Ох нифигасе, сейчас тогда.
>> No.57261 Reply
>>57259
Исправил, верси не стал менять.
>> No.57263 Reply
File: Konachan.com-205292-blonde_hair-blue_eyes-bow-char.jpg
Jpg, 420.13 KB, 1697×1200 - Click the image to expand
edit Find source with google Find source with iqdb
Konachan.com-205292-blonde_hair-blue_eyes-bow-char.jpg
>>57261
О, все, спасибо няша.
>> No.57267 Reply
Опять пропало редактирование/поиск по картинке из контекстного меню.
>> No.57269 Reply
>>56081
Информация о автообновлении в README устарела?

Всплывающие посты качаются с сервера даже когда этот пост уже есть на странице?
>> No.57270 Reply
>>57258
Cкрипто-няша, может сегодня уже сможешь выложить этот апдейт с этим функциями, хотя бы как бету?
>> No.57272 Reply
>>57267
На какой то картинке отваливается наверно, я код с контекстными меню не трогал же. Надо вообще его выпиливать и делать кастомное наподобии как у https://mega.co.nz/
>>57269
Да, давно не обновлял.
> Всплывающие посты качаются с сервера даже когда этот пост уже есть на странице?
Нет, приоретет для всплывающих постов выглядит следующим образом:
берем со страницы или берем из кэша или загружаем с сервера`
Вообще это же из встроенного скрипта доброчана код взял (правда изменен он уже до неузнаваемости) - там именно так.
>>57270
Почему нет, в принципе все так то работает, однако имейте в виду что не все еще доработано.
Бета так бета.
>> No.57273 Reply
>>57272
> Почему нет, в принципе все так то работает
Тогда можешь залить на гитхаб, пожалуйста, а то мне те функции не помешали бы.
>> No.57274 Reply
>>57273
Залил.
Учти что после нажатии кнопки редактировать прикрепленные файлы добавляются не мгновенно а по мере загрузки (тоесть он их выкачивает, просто иначе никак)
>> No.57275 Reply
>>57274
Отлично, спасибо, буду знать. Остался вопрос один: после ручного скрывания, возможно ли как-то вернуть обратно скрытые посты?
>> No.57276 Reply
File: 3b44eb71d4af07de4d3647236dd0de554807b145.jpg
Jpg, 490.32 KB, 846×1200 - Click the image to expand
edit Find source with google Find source with iqdb
3b44eb71d4af07de4d3647236dd0de554807b145.jpg
>>57274
Еще бы было бы неплохо, если бы когда скрываешь какой-то пост, то посты которые исключительно на него ссылаются, тоже автоматически скрывались. Так можно, например, одним кликом скрыть какой-то срач, который на пол треда растянулся по оффтопной теме.
>> No.57278 Reply
>>57275
А они пока неполноценно скрываются, то есть при обновлении страницы вернуться назад. Исключение - треды (то есть кнопка в ОП посте), они скрываются через API и не будут вообще больше со страницей загружаться (раскрываются в доброчановских настройках).
>>57276
Блин ну это пока все сильно сложно, я со скрытием постов то пока разобраться не могу как/что организовать, а еще надо движок картинок пилить (с галереями, редактором макросов наносящим текст прям тут же при помощи Canvas), потом надо встраивание ссылок переделать и наконец переделать музыкальный плеер по нормальному.
Так что работы много так то.
>> No.57279 Reply
>>57278
Ах да, еще анонимус просил расширение для хромоногих.
>> No.57281 Reply
File: 1.png
Png, 37.66 KB, 400×503 - Click the image to expand
edit Find source with google Find source with iqdb
1.png
>>57272
> На какой то картинке отваливается наверно, я код с контекстными меню не трогал же.
На любой отсутствует. Раньше были ссылки в меню "поиск в" и "создать макрос". Теперь их нет.
>> No.57282 Reply
File: 52662634347346734.png
Png, 149.47 KB, 1231×922 - Click the image to expand
edit Find source with google Find source with iqdb
52662634347346734.png
>>57281
Так это же хром, хром не поддерживает HTML5 Context Menu (его вообще никто кроме Firefox не поддерживает) и судя по всему поддерживать не собираются у них там свой какой то API доступный только расширениям.
Я уже решил кастомный выпадающий список для файлов делать как на облачных сервисах.
>> No.57283 Reply
>>57278
> надо движок картинок пилить (с галереями, редактором макросов наносящим текст прям тут же при помощи Canvas), потом надо встраивание ссылок переделать и наконец переделать музыкальный плеер по нормальному.
Классно, надеюсь это будет очень скоро.
>> No.57286 Reply
>>57282
Firefox 39.0.3. Тоже не работает.
>> No.57287 Reply
>>57282
> Так это же хром
Нет, это огнелис 40.
>> No.57289 Reply
File: 6736368638478456.png
Png, 423.00 KB, 1507×927
edit Find source with google Find source with iqdb
6736368638478456.png
File: imageQuickView-1...
Video 1260x622 x 26.82 s; 4.2 MB
imageQuickView-1.webm

>>57287 >>57286
38.0 Linux Mint 17.1 и все работает.
> Нет, это огнелис 40.
Тем более тогда есть смысл его заменить, ибо даже какая то иная сборка firefox и меню уже не работают как видно.
>>57283
Я тожке, однако вопросов с логикой работы, предложения приветствуются.
>> No.57290 Reply
>>57289
> Тем более тогда есть смысл его заменить, ибо даже какая то иная сборка firefox и меню уже не работают как видно.
Но несколько дней назад (до последнего обновления скрипта) всё работало - о чём я и толкую.
>> No.57291 Reply
File: 1400171734_290107_v0_460x.jpg
Jpg, 56.44 KB, 460×519 - Click the image to expand
edit Find source with google Find source with iqdb
1400171734_290107_v0_460x.jpg
Анчоусы, не обессудьте, нужна ваша помощь, посоветуйте скрипт. Нужно:
1. Выведение ответов на пост.
2. Открытие вебм в треде, а не в новой вкладке.
3. Желательно панель разметки, но не критично.
4. Автообновление треда.

И минимальную инструкцию куда это все пихать.
>> No.57293 Reply
>>57291
Помогу тебе.
Сам пользуюсь скриптом от анона выше. Нравится тем, что он легковесный и очень удобный, есть весь необходимый функционал, и находится в активном развитии. Есть несколько багов с отображением постов, поиском по сервисам (он производится нажатием правой кнопки мыши по картинке, появляется выпадающее меню, там все доп. кнопки) и изредка с прикреплением картинок через обзор, а не драг-н-дроп, но баги правятся относительно быстро.
Итак, что тебе нужно сделать:
1) Ставишь Greasemonkey в случае фаерфокса, Tampermonkey на хромобраузерах, ну или аналогичные адд-оны в случае другого браузера.
2) Тык сюда: https://github.com/OpenA/MagiCcode/raw/master/Dobrochan/HanabiraMagicE[...]er.js
3) Должно появиться окошко с предложением установить скрипт. Читаешь написанное, ждёшь таймера, нажимаешь "Начать установку".
4) Перезагружаешь страницу с Доброчаном.
5) Профит!

Если у тебя не выскакивает окошко установки, а голый текст, тогда:
1) Попробуй перезагрузить браузер. Если после этого предложение установить появилось, переходи к пункту 3 обычного гайда.
2) Если и после этого не работает, то копируешь текст со страницы с кодом
3) Открываешь через дополнения раздел скриптов своего Grease/Tampermonkey
4) Нажимаешь на "Создать новый скрипт"
5) Должна быть кнопка "Из буфера обмена", если её нет, пропускаешь менюшку и просто вставляешь скрипт в открывшееся окошко
6) Сохраняешь.
7) Переходишь к пункту 4 обычного гайда.
>> No.57294 Reply
File: Sailor.Mars.full.1719615.jpg
Jpg, 137.95 KB, 700×934 - Click the image to expand
edit Find source with google Find source with iqdb
Sailor.Mars.full.1719615.jpg
>>57293
Антон, ты крут. Спасибо тебе.
>> No.57295 Reply
File: downarrow.png
Png, 0.42 KB, 12×12
edit Find source with google Find source with iqdb
downarrow.png
File: Стрелочка.rar
Rar, 0.00 KB, 0 files
view
Стрелочка.rar
File: Пример.jpg
Jpg, 240.32 KB, 1366×632
edit Find source with google Find source with iqdb
Пример.jpg

>>57294
Пожалуйста, бро.

>>57289
Кодер-кун, кодер-кун!
Убери, пожалуйста, уродливую V-шку рядом с постом! Сделай лучше иконочку. Так ведь гораздо симпатичнее будет смотреться.
Я вот попробовал сделать, но у меня руки кривые, вышло плохо. Тем не менее, прилагаю все материалы и образец внешнего вида.

Алсо подтверждаю, в фаерфоксе после обновления пропали пункты меню о поиске картинки через сайты. Можешь пока иконки вернуть?
>> No.57296 Reply
>>57295
Алсо, забыл. Я постоянно вижу значок быстрого ответа в постах (>>) чуть съехавшим; его бы поднять на пиксель-два вверх и на столько же сместить влево. Заранее спасибо.
>> No.57297 Reply
>>57296
Это потому, что он действительно вниз смещен. Если поставить vertical-align:middle вместо sub, то действительно лучше выглядит.
мимопроходил
>> No.57298 Reply
File: 5373454265262.png
Png, 90.36 KB, 540×307 - Click the image to expand
edit Find source with google Find source with iqdb
5373454265262.png
>>57295
> Убери, пожалуйста, уродливую V-шку рядом с постом!
Я ее и так собирался менять на что нибудь, это просто временно нужно было туда что то поместить что бы нажимать на это, а текст это самое простое.
Флажок вполне подходит, только надо бы его векторным сделать.
> Алсо подтверждаю, в фаерфоксе после обновления пропали пункты меню о поиске картинки через сайты. Можешь пока иконки вернуть?
Да уж потерпите пока я меню доделаю.
>> No.57299 Reply
>>57298
> Да уж потерпите пока я меню доделаю.
Не забудь пункты "Сохранить как" и "Скопировать ссылку на изображение" верхними пунктами!!!!!
>> No.57300 Reply
>>57299
> Не забудь пункты "Сохранить как"
Тащемта ты можешь просто кликнуть на названия картинки над самой ей и сразу же тебе выпадет окно с сохранением ее.
>> No.57302 Reply
>>57298
Слушай, скрипто-няша, а ты можешь прикрутить в скрипт хоть какой-нибудь элементарный поисковик, который хотя бы через гугл мог искать слова ключевые в тредах?
>> No.57303 Reply
>>57302
Сайт не индексируется гуглом.
>> No.57304 Reply
File: 3767678496964.png
Png, 151.62 KB, 500×378 - Click the image to expand
edit Find source with google Find source with iqdb
3767678496964.png
Короче вменяемых примеров "как организовать работу с буфером обмена" и "как вызывать диалоговые окна" - пособие для чайников в интернетах не нашел похоже что по нормальному - никак, поэтому реализовать последние два пункта пока что не могу - используйте ссылку над картинкой.
>>57302
Ну тут же пилил кто то скрипт - поюзайте отпишитесь как оно вообще работает. Если все здорово то почему бы нет.
>> No.57305 Reply
>>57304
Кодер-кун! У меня после обновления пропали менюшки справа-снизу, с концами. Все остальные фичи на месте, версия по ссылке выше, огнелис 40.0.2.
>> No.57306 Reply
>>57305
На какой странице?
>> No.57308 Reply
>>57306
На всех. Абсолютно.
Веб-консоль девственно чиста, если не считать обычных сообщений о паре устаревших методов.
Даже кнопок нет.
>> No.57309 Reply
>>57308
> Веб-консоль девственно чиста, если не считать обычных сообщений о паре устаревших методов.
Это понятно, в Firefox вообще сообщения c юзерскриптов в консоль не падают.

сделай вот чтоб замени вот эту строчку в скрипте:
_z.setup("script", {"text": 'try{MagicExtension()}catch(e){console.error(e)}'}, null),    на вот эту:
_z.setup("script", {"text": '('+ MagicExtension.toString() +')()'}, null), И в консоль пойдут ошибки если они есть
>> No.57310 Reply
File: a7734531dcac88c3b7b86dacacdba729.png
Png, 336.68 KB, 1600×900 - Click the image to expand
edit Find source with google Find source with iqdb
a7734531dcac88c3b7b86dacacdba729.png
>>57304
> Ну тут же пилил кто то скрипт - поюзайте отпишитесь как оно вообще работает. Если все здорово то почему бы нет.
Я его немного поюзал, у меня он вроде нормально работает и проблем не вызвал пока в общем то. Алсо, я тут подумал, было бы неплохо, если бы ты вписал код из пару этих вот скриптов в свой, чтобы в одной коробке располагались все эти важные и недостающие функции. Ибо у ныне заброшеного юкискрипта остались пару интересных функций, которые можно было бы интегрировать вместе с поисковиком их. Среди них бы отметил я, тредометр, который в теории может считать скорость треда, только у меня он чет плохо работал, может из-за того, что нужно его со всем юки-пакетом устанавливать, то ли он как-то с этим скриптом не совместим, не знаю, дам ссылку на него: https://github.com/tranquility-yuki/yukiscript/blob/master/tredometer.user.js
Там еще добавили совсем недавно, три дня назад, как показывает гитхаб мне скрипт, позволяющий читать архив доброчана, если я правильно понял, так что он тоже будет полезен думаю: https://github.com/tranquility-yuki/yukiscript/blob/master/dobroarchre[...]er.js
Ну и напоследок, совсем недавно мне гугл показал достаточно простенький, но тем не менее очень нужный скрипт, позволяющий по сути при выделении поста репортить мод-кунам в их тред, ты мог бы вставить в свой выпадающий список еще одну функцию "сообщить модератору". Вот ссылка на хаб: https://github.com/lain-dono/DobroReport
>> No.57312 Reply
>>57310
> Там еще добавили совсем недавно, три дня назад, как показывает гитхаб мне скрипт, позволяющий читать архив доброчана, если я правильно понял
Пост от автора с описанием был прямо в том же треде, пост из которого у тебя на скриншоте: >>b/3860765. Ну и в официальном треде автор тоже отписался: >>mad/68532

Насчёт скрипта поиска и тредометра: они упомянуты в описаниии юкискрипта в оп-посте, но ссылка на пост с описанием не проставлена. Исправляем этот недостаток: >>mad/45498. Кстати, подтверждаю: тредометр в сочетании с ME действительно не работает, и кого из них нужно править — сказать не возьмусь.

И вообще, будет очень здорово, если действующие и вновь вернувшиеся доброкодеры юзерскриптов объединятся и станут писать годноту вместе.
>> No.57314 Reply
>>57310
О, это от юки-кодера? Нет был еще другой, здесь в теме про API вроде я видел.
> Там еще добавили совсем недавно, три дня назад, как показывает гитхаб мне скрипт, позволяющий читать архив доброчана
Ну это не сложно, рендер постов с поддержкой всех файлов - есть, проверка всего треда - есть. Я так то давно об этом уже подумывал.
> DobroReport
Знаю такой, хорошо добавлю еще одним пунктом в выпадающем меню.
>>57312
> если действующие и вновь вернувшиеся доброкодеры юзерскриптов объединятся
Ну это очень сложно, а вот таскать друг у друга код - это пожалуйста.
> тредометр в сочетании с ME действительно не работает, и кого из них нужно править — сказать не возьмусь
Дайцте ссылку на него.
>> No.57315 Reply
>> No.57316 Reply
>>57314
> Ну это очень сложно, а вот таскать друг у друга код - это пожалуйста.
О, ну так отлично. Вставь тогда код из трёх вышеперечисленных скриптов: тредометра, поисковика и доброрепорта. Думаю, что конкретно этих функций и не хватает тут.
>> No.57317 Reply
>>57316
Ящитаю, что неперекрывающиеся функции лучше не тащить в один большой скрипт, а оставить в отдельных, относительно компактных, подпилив их по необходимости для совместимости друг с другом, но не более того.


Алсо, небольшой реквест. После отказа от последовательной нумерации постов порой возникает чувство лёгкой дезориентации, особенно в середине какого-нибудь большого треда. Возможно ли прилепить куда-нибудь (ну скажем в правый нижний угол, рядом с кнопками настройки и скрытия) какую-нибудь штуковину с числом ответов в треде (которое сейчас можно увидеть только долистав до самого конца страницы)? Ну или по крайней мере добавить фавиконке способность отображать значок бамплимита рядом с числом новых постов, если таковой наступил.
>> No.57318 Reply
Контекстное меню при нажатии на картинки теперь вообще не вылезает.
Огнелис 40.
>> No.57319 Reply
>>57318
Зделай пожалуйста как вот здесь >>57309 написано и покажи логи
>> No.57322 Reply
>>57314
> О, это от юки-кодера?
Ага.
> рендер постов с поддержкой всех файлов - есть
АПИ уже научилось отдавать флажки, ип-хеши и трипкоды?

>>57317
> Ящитаю, что неперекрывающиеся функции лучше не тащить в один большой скрипт, а оставить в отдельных, относительно компактных, подпилив их по необходимости для совместимости друг с другом, но не более того.
У такого подхода есть один маленький косяк - для каждого скрипта будет создаваться своя жс-машина. И если их будет много, это может заметно грузить браузер (мне так кажется). Плюс они не могут получить доступ к данным друг друга.

И вряд ли получится сделать так что в разных скриптах код не повторяется. Тот же тредометр - всё что ему нужно для работы это тред распаршенный в JSON (или полученный из АПИ). Основной скрипт уже это делает - делать всё это ещё раз ради одной циферки отображающей скорость постинга?

Но в целом идея разбить скрипт на блоки довольно здравая. Можно было бы написать некий script-core который умеет в рефмапы, автоапдейт треда и постинг без рефреша и прикрутить туда pubsub. А весь остальной функционал сделать в виде самостоятельных модулей которые подписываются на нужные им евенты и реагируют на их появление (плагины другими словами).

Так же из script-core можно вывести некий АПИ который делает какие-то штуки типа "обновить тред", "отправить пост(форм-дата)", "добавить блоб в форму как файл", "получить ссылки на все картинки" и тому подобное.

Финальный скрипт уже собирать grunt-ом в нескольких вариантах - light/mediu/full/avatarkofag, ну или дать желающим возможность склонировать репу и собрать из кирпичиков скрипт по своему вкусу.
>> No.57325 Reply
>>55048
Что-бы читать архив >>/b/3860765
>> No.57327 Reply
File: Good+Morning+xiaoxiaovie.JPG
Jpg, 40.86 KB, 613×606 - Click the image to expand
edit Find source with google Find source with iqdb
Good+Morning+xiaoxiaovie.JPG
>>57322
> АПИ уже научилось отдавать флажки, ип-хеши и трипкоды?
Всмысле в json данных? Нет, да ну и нафиг их, хотя трипкоды могли бы в том же ключе где и имя отсылать.
> Тот же тредометр - всё что ему нужно для работы это тред распаршенный в JSON
Ему надо jquery, а посты он берет со страницы и считает с какой частотой они появляются.

Посмотрел код тредометра - ничего такого не нашел, разве что может быть глобальный ParseURL мой затыкает, я в принципе могу свой переименовать. Ну а если добавлять то его надо будет сильно переписать, хотя кода там вроде немножко.

>>57305 >>57318
Анон с твоими багами там все хорошо? А то же я волнуюсь.
>> No.57328 Reply
>>57327
> Нет, да ну и нафиг их
Значит АПИ всё так же бесполезно, жаль. Тебе может и пофиг, а кому-то может и нет. Вся эта информация может быть вполне полезной в каких-то случаях.
> Ему надо jquery, а посты он берет со страницы и считает с какой частотой они появляются.
Я писал про абстрактный тредометр, который может быть запилен в будущем. Основной скрипт и так разбирает тред чтоб нормально с ним работать, обновляет его и вставляет новые посты - нужно будет добавить совсем чуть-чуть кода чтоб ещё и скорости показывать.

А так приходится делать работу два раза да ещё держать под это отдельную VM, и всё это просто чтобы показать циферку со скоростью.
>> No.57331 Reply
>>57319
>>57327
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data index.xhtml:251:6
Use of getPreventDefault() is deprecated. Use defaultPrevented instead. jquery-1.3.2.js:3:0
GET
XHR
http://api.embed.ly/1/oembed [HTTP/1.1 404 Not Found 181ms]
TypeError: StyleSet[HM.Keywords.conceal] is not a function index.xhtml:2541:3
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data index.xhtml:251:6
>> No.57333 Reply
>>57331
Сделай localStorage.removeItem('Keywords') в консоли и перезагрузи страницу
>> No.57337 Reply
>>57309
А вот и я, >>57308-кун.
У меня ошибка следующая:
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Сделал как указано здесь: >>57333. Ответ был "undefined".
Ошибка не исчезла.

Кстати, после обновления по ПКМ по картинке меню перестало открываться.
>> No.57338 Reply
>>57337
...Стоп! А после повторной перезагрузки страницы меню справа снизу появилось! И меню по ПКМ тоже.
Но ошибка в консоли всё ещё не исчезла. Странно, забавно.
>> No.57339 Reply
>>57333
Сделал. Новая менюшка теперь появляется.
Я всё равно не понимаю, зачем надо было всё так усложнять, если раньше добавление опций поиска и макроса в контекстное меню работало прекрасно. В том числе на этой версии огнелиса.
>> No.57340 Reply
>>57338
Это не ошибка, точней ошибка конечно, но ожидаемая.
Тоесть как бы это объяснить - как проверить json данные пришли или plain/html текст? Конечно же попробовать распарсить, и если распарсить не получилось (о чем ошибка и говорит) - значит просто текст.
Хотя впринципе сообщение можно убрать что бы в консоль не мусорило.
>>57339
На webkit оно не работает. Можно в принципе для вебкит сделать как сейчас, а для FF вернуть как было.
>> No.57343 Reply
>>57339
Можешь сделать, чтобы при загрузке картинки, скрипт генерировал случайную хэш-сумму?
>> No.57344 Reply
>>57343
тоесть? В смысле какая цель приследуется?
>> No.57345 Reply
>>57344
Чтобы в тред можно было бы загужать одинаковые картинки. Особенно удобно это для разных аватаркочатиков.
>> No.57346 Reply
>>57345
Но на Доброчане это не нужно! А аватаркочятики тем более.
>> No.57347 Reply
>>57346
Почему это? Не вижу здесь ничего плохого. А то ты так говоришь, будто бы кто-то собирается по всему разделу это творить. Это делают только в специально отведенных тредах и нигде больше. А их ты при небольшом желании можешь убрать с глаз долой.
>> No.57348 Reply
>>57345
Ничего не понял, а сейчас разве нельзя?
Ну и никакими хэшсуммами проверку файла на сервере не обойти, там их анализируют мощные библиотеки libGD или ImageMagic даже удаление exif и оптимизация при помощи optipng/turbojpeg обойти не помогут.
>> No.57350 Reply
>>57348
Когда планируешь вписать тредометр, поисковик и доброрепорт в свой скрипт?
>> No.57351 Reply
>>57347
> А их ты при небольшом желании можешь убрать с глаз долой.
Собственно, я так и делаю. Не просто же так это тред юзерскриптов, верно? Но от небольшой шпильки удержаться не удалось, mea culpa.


Насчёт постинга одинаковых изображений: обратите внимание на URL. Он содержит в себе год и месяц, в которые изображение было впервые запощено. Если запостить какое-нибудь изображение повторно, то движок поймёт, что оно уже встречалось ему ранее, и проставит в посте ссылку на то, что у него уже есть, не добавляя дубликат в базу. Таким образом, опция постинга одинаковых изображений из куклоскрипта здесь будет полностью бесполезна, а то и вредна. Доброскриптам она, очевидно, также без надобности.
>> No.57352 Reply
>>57348
Возможно дело в том что некоторые пикчи уже запощены на доброчан с неправильным рейтингом. Это правда иногда мешает (когда какой-нибудь шутник влепил обычной пикче 18G к примеру) для себя решил отключив рейтинги в настройках

А чтоб обойти детектор одинаковых картинок лучше всего работает ресайз или кроп, доброчан видимо сначала сравнивает размер картинки в пикселах, а уже потом (если совпало) применяет более серьёзные алгоритмы.
>> No.57353 Reply
File: clzsakm1-7.jpg
Jpg, 53.40 KB, 615×567 - Click the image to expand
edit Find source with google Find source with iqdb
clzsakm1-7.jpg
>>57350
Пока не знаю, с этим бы разделаться, да еще и времени скоро похоже на это мало будет, но по тихоньку я думаю осилю. Главное взять уже в привычку делать по чуть-чуть а не хвататься за все сразу.
>> No.57354 Reply
File: [Kikaki]-End-of-Daylight-[RUS]-0-01-27-798.jpg
Jpg, 18.99 KB, 480×360 - Click the image to expand
edit Find source with google Find source with iqdb
[Kikaki]-End-of-Daylight-[RUS]-0-01-27-798.jpg
Дорогой доброанон!
Как ты мог заметить, скриптик от автора юкискрипта действительно позволяет получить доступ к архивным тредам и читать их.
Однако, юзерскрипт не может изменить исходный код страницы и выполняется уже после загрузки странички, каждый раз заново, а поэтому полностью привязан к Доброчану и загруженные таким образом треды нельзя сохранить.
В связи с этим я возрождаю разработку программы, созданной для скачивания и менджмента доброчановских тредов.
Я намереваюсь отказаться от использования стороннего кода, вызывавшего проблемы с русскими названиями файлов в Windows, и написать собственный модуль для изменения направлений ссылок и сносок.
А ещё мне нужно разобраться в жаваскрипте. В отличие от пыха он не требует отдельного обработчика и может исполняться прямо в браузере, так что можно будет сделать всплывающие при наведении на ссылку посты и у скачанных тредов.
Как-то так.
>> No.57357 Reply
>>57354
> загруженные таким образом треды нельзя сохранить.
А теперь можно >>/mad/68581
>> No.57358 Reply
>> No.57360 Reply
>>57354
Ничего не знаю, у меня все хорошо сохраняется.
>> No.57361 Reply
Минвайл, при попытке создани макроса всё так же вылезает ошибка 500.
>> No.57363 Reply
>>57361
Если ты делаешь вне треда, то да, она будет вылезать. Делать макросы можно только, если ты предварительно зашел в тред.
>> No.57371 Reply
>>57363
Нет, если из треда делать, всё та же ошибка вылезает. Проверь сам и убедись.
>> No.57373 Reply
File: doc177920019_412890722.gif
Gif, 38.64 KB, 828×358 - Click the image to expand
edit Find source with google Find source with iqdb
doc177920019_412890722.gif
Что из этого всего может обновлять страницу при появлении новых постов? А то куклоскрипт перестал это делать некоторое время назад.
>> No.57374 Reply
>>57373
Magic Hanabira, очевидно же.
>> No.57375 Reply
>>57373
-------->>>57293
>> No.57377 Reply
>>57374
>>57375
Спасибо.
>> No.57378 Reply
File: 6dcf0bf7e13f56ff4987e94ca7ae855eef3bdbc2.jpg
Jpg, 158.46 KB, 355×594 - Click the image to expand
edit Find source with google Find source with iqdb
6dcf0bf7e13f56ff4987e94ca7ae855eef3bdbc2.jpg
>>57354
Первый прогресс-отчёт.
Сделал сегодня няшный парсер тредов. Кушает предоставленный ему json треда, дёрнутого из API Доброчана, и переводит его в приятный глазу xhtml без всяких излишностей, вроде неработающей формы постинга и подобных примочек. В первый раз я задумался о том, как было бы проще реализовать всё то же самое на php, но я поставил себе задачей обойтись без необходимости установки любых интерпретаторов и библиотек на стороне пользователя.
Парсер правильно преобразовывает все даты и названия файлов, проблем с кодировкой нет.
Осталось сделать три вещи:
- Докачивальщик файлов, которых нет на жёстком диске (планирую заняться этим завтра);
- Замену ссылок глобальных (ведущих после скачивания вникуда) на локальные (если файл скачан) и интернетные (если файл из тех, что не должны скачиваться - мы ведь собираемся сохранять один тред, а не всю доску, верно?);
- Удобный менеджер всего этого - нужно бы по-хорошему использовать VirtualStringList, но от синтаксиса его кода мне становится страшно.
Ну и соединить всё это вместе, разумеется.

Предположительно всё будет готово и юзабельно для тестирования через четыре дня. Дело всерьёз замедляется тем, что я кодер-самоучка, и периодически мне приходится изобретать велосипед; тем не менее, прогресс идёт, и он вполне ощутим.
Добра всем!
>> No.57379 Reply
>>57378
> VirtualStringList
Ой, VirtualStringTree, конечно же. Из компонента VirtualTreeview.

http://www.soft-gems.net/index.php/controls/virtual-treeview-gallery
>> No.57381 Reply
File: 44c3e83b7b6e4a4044b8d58335296f62.jpg
Jpg, 86.55 KB, 600×750 - Click the image to expand
edit Find source with google Find source with iqdb
44c3e83b7b6e4a4044b8d58335296f62.jpg
>>57378
Отлично, няша, мы будем с нетерпением ждать выпуска следующей версии. Алсо, создание макросов у тебя и правда почему-то не фурычет и выбивает ошибку 500, как сказал >>57361-анон, поэтому почини ее. А пока, пускай айдоруняшка освящает твой путь на пути создания могучего скрипта, который сделает Ханабиру еще милее, чем она есть.
>> No.57383 Reply
File: talking_captcha.png
Png, 1.30 KB, 214×15
edit Find source with google Find source with iqdb
talking_captcha.png
File: шнешншнкщнн.png
Png, 33.99 KB, 128×128
edit Find source with google Find source with iqdb
шнешншнкщнн.png

>>57381
Спасибо конечно за теплые слова, но только это другой человек.
В ошибке 500 виноват не скрипт, тк во первых скрипт на той странице не работает, во вторых у меня лично даже если все скрипты отключить все равно эта ошибка. В общем как бы там нибыло единственным выходом наверно будет написание своей макрососоздавалки.
>> No.57385 Reply
File: 1d24e7724b2cc276983db35b99376ba8.jpg
Jpg, 126.48 KB, 700×860 - Click the image to expand
edit Find source with google Find source with iqdb
1d24e7724b2cc276983db35b99376ba8.jpg
>>57381
Спасибо, но я не имею отношения к Волшебному Лепестку. Более того, я пишу вовсе не юзерскрипт, а шиндошс-программу, предназначенную для создания маленького личного архива тредов с перекрёстными ссылками между ними. Раньше она загружала через пень-колоду, и поэтому я пользовался ей исключительно для себя; сейчас же я перевожу её в полностью стендалоун-вид и на использование API Доброчана, и выложу её в открытый доступ.

Сажусь за код, который будет скачивать картинки из тредов. Думал, что всё будет плохо, но пришла идея чудовищно простой реализации. Забавно.

>>57383
А давай я тебе тёплых слов передам. Твой скрипт - это замечательная подборка всего того, чего действительно не хватает ханабире нативно; он приятен в использовании и очень удобен, и совсем не такой навязчивый, как тот же куклоскрипт. Я пользуюсь им с самой первой версии, когда лично правил код для своего удобства, и до сих пор, и не собираюсь от него отказываться в ближайшее время.
Кстати, мне там нужно будет покопаться в js для своей программы, покуда js - единственный код, воспринимаемый любым браузером нативно. А я в нём ни бум-бум, вообще ничего не понимаю. Не мог бы ты мне с этим помочь через несколько дней?
evilrussian13@gmail.com
>> No.57389 Reply
>>57385
Спасибо.
> Сажусь за код, который будет скачивать картинки из тредов. Думал, что всё будет плохо, но пришла идея чудовищно простой реализации. Забавно.
Если не средствами JS то тогда ладно.
> Кстати, мне там нужно будет покопаться в js для своей программы, покуда js - единственный код, воспринимаемый любым браузером нативно. А я в нём ни бум-бум, вообще ничего не понимаю. Не мог бы ты мне с этим помочь через несколько дней?
Почему нет, только не на мыло, лучше в git или прямо здесь (в кодаче) тред создать.
>> No.57390 Reply
File: 5eb32f8799e086a1c9755ec2dba763cf1cbae3cd.jpg
Jpg, 560.27 KB, 800×852 - Click the image to expand
edit Find source with google Find source with iqdb
5eb32f8799e086a1c9755ec2dba763cf1cbae3cd.jpg
>>57385
Уняня! Написал процедурку, которая сохраняет все файлы из треда. С няшненьким прогрессбаром.
Теперь главная проблема - посмотрел я на свой старый код и понял, что его будет проще переписать, чем изменить под использование API. Особенно характерно, что во время его написания тогда я как раз изучал RegExp'ы, и теперь они там торчат откуда надо и откуда не надо.

Тем не менее, прогресс идёт, и это меня не может не радовать!
Отзывы и поддержка принимаются. Простите няшу с синдромом недостатка внимания.
>> No.57391 Reply
File: 8a1e7fc4f66b926b1fd972d7e75d41d8.jpg
Jpg, 102.61 KB, 795×901 - Click the image to expand
edit Find source with google Find source with iqdb
8a1e7fc4f66b926b1fd972d7e75d41d8.jpg
>>57389
Мыло просто для связи же.
Никогда не пользовался git. Научишь?
>> No.57392 Reply
File: talking_captcha.png
Png, 1.31 KB, 210×15 - Click the image to expand
edit Find source with google Find source with iqdb
talking_captcha.png
>>57385
> шиндошс-программу, предназначенную для создания маленького личного архива тредов с перекрёстными ссылками между ними
А как насчёт кроссплатформенной реализации?
Капча отводит тебе полчаса на портирование :3
>> No.57396 Reply
File: 7f9d2b7ef5bfe403fa10f7e39ee3c1cc4a90bc6c.jpg
Jpg, 336.73 KB, 700×700 - Click the image to expand
edit Find source with google Find source with iqdb
7f9d2b7ef5bfe403fa10f7e39ee3c1cc4a90bc6c.jpg
>>57392
Я использовал для парсинга JSON'а Windows API, так что нет. Как минимум пока. И вообще под моими никсами почему-то не встаёт компилятор, дафак?
Но у меня всё прекрасно запускается под Wine, правда, работает медленно.
Если ты линуксоид, почему бы тебе не пользоваться Wget? В никсах он не жуёт русские ссылки, всё ок. На Доброчане он запрещён, но man Wget даст тебе подсказку, как всё сделать беспалевно.

Ну а я тем временем столкнулся с тем, что мой протокол загрузки не поддерживает юникод-символы и жуёт файлы с русскими названиями. Meh. Фремя заняться гугл-фу.
>> No.57398 Reply
File: 034bd8f6564c182cac5541bc0d0f0641ce7e5a1e.jpg
Jpg, 618.90 KB, 800×720 - Click the image to expand
edit Find source with google Find source with iqdb
034bd8f6564c182cac5541bc0d0f0641ce7e5a1e.jpg
>>57396
И тут я такой понял, что ляпнул глупость. Wget'ом же не скачаешь архивные треды, о чём я.
Тогда можно так: я особо в линуксовых программах не разбираюсь, но могу написать DLL-библиотечку, которая будет содержать в себе солидную часть моей расшифровки. А там уж кто захочет оформит это в утилиту.
Но это, разумеется, после выпуска хотя бы альфа-версии под винду.
>> No.57399 Reply
Убираю статус beta тк критические баги и недоработки устранены.

https://www.youtube.com/watch?v=BHIo6qwJarI
  • повышена скорость разворачивания тредов на главной (раньше с включенным скрытием по ключевым словам это приводило к довольно продолжительному зависанию)
  • полностью допилен механизм удаления постов как вместе так и по отдельности, теперь пост можно удалить через превью, даже если он из другого треда другой доски.
  • загрузка архивных тредов >>a/482816
    • у всех постов и превью из архивных тредов, кнопки ответов итд. будут отсутствовать, так что это не баг а фича если что
  • Сделал стрелочку к выпадающему списку пользовательских элементов управления. Знаю, она ужасна и совершенно не в тон списку но пока пусть будет хоть такая.
Так же поправил положение кнопки ответа как тут просили выше.

Все остальное в следующий раз.

>>57391
Я и сам не умею им пользоваться, полагаюсь на гуевые приложения.
>> No.57400 Reply
>>57374
>>57375
Чье было такое гениальное решение сделать так, чтобы значок новых постов пропадал с фавикона только после того, как проклиикаешь по этим постам/обновишь страницу? Или это только у меня так?
>> No.57401 Reply
>>57400
Не только у тебя. Но на самом деле достаточно даблклика по непрочитанному посту или нажатия кнопки R.
>> No.57402 Reply
>>57399
Кодер-кун, а почему у меня автообновление скрипта не работает?
>> No.57403 Reply
>>57400
Раньше они убирались просто по фокусу на окне, потом доброанон попросил сделать вот так как чейчас, всем само собой не угодишь, но компромисс нашелся - даблклик в любом месте окна очищает фавикон и отмечает все посты как прочитанные.
>>57402
> Кодер-кун, а почему у меня автообновление скрипта не работает?
Наверно из за версий 1.5.1 --> 1.5.2 1.5.1-(beta) -/-> 1.5.2 Сейчас пару косяков еще починю обновлю и проверишь.
>> No.57405 Reply
File: 5fe9b94d59a43da69ad42aa3239b0555.jpg
Jpg, 1176.68 KB, 2560×1440 - Click the image to expand
edit Find source with google Find source with iqdb
5fe9b94d59a43da69ad42aa3239b0555.jpg
>>57385
Ну что ж, в любом случае, тебе тоже посылаю теплых лучей добра. Буду ждать, когда будет готов архив, а то я уже давно хочу скачать юри-треды из /а/.
>>57399
Отлчино, слушай, а можешь запилить в следующем обновлении тредометр, а то уж очень полезная это вещица. ну или хотя бы совместимость сделай этих двух скриптов

Алсо, а я пока тогда вас буду няшками поддерживать, чтобы вам грустно и скучно не было.
>> No.57406 Reply
>>57403
>>57401
Спасибо.
>> No.57407 Reply
>>57405
> первый спойлер
Отличное начинание, например. :3
>> No.57415 Reply
File: 77dceffc4ca99f267be6a04d32338ffb149ab9ee.jpg
Jpg, 145.83 KB, 800×904 - Click the image to expand
edit Find source with google Find source with iqdb
77dceffc4ca99f267be6a04d32338ffb149ab9ee.jpg
>>57398
Особо больше ничем сегодня не занимался. Гугл-фу принёс свои плоды, и я научился эскейпать юникод-символы в http-запросах. Приятным сюрпризом оказалось то, что мне не было нужды проводить ещё и обратную операцию: я и так передаю функции полное имя файла со всеми подпапками, выдранное из API, и можно просто на лету переименовывать скачанный файл и сохранять его. Так и сделал.
Больше никаких проблем нет. Качает пусть не очень быстро, но замечательно.
В идеале нужно вынести скачивание в отдельный поток (thread), чтобы не было микрофризов окна - ProcessMessages не очень помогает. Это ведёт к тому, что, например, окно программы невозможно закрыть во время скачивания файлов, и оно немного мерцает, а перетаскивание его за верхнюю полоску происходит с лагами. Но это будет позже, я пока оставил задел для расширения. Сначала нужно добить основную функциональность.
Посмотрел на старый код. Как баран на новые ворота поглядел. Из-за перехода на новые методы там образовывается много мусора и прочих аппендиксов, которые мне нужно сходить и как следует поистреблять; однако, самая большая сложность состоит в необходимости перейти на новую структуру хранения данных о тредах, так как обращения к ним по номеру более невозможно. Изначально архиватор писался для сохранения тредов одной официалочки; если я попытаюсь применить тот же подход, но буду подставлять глобальный номер треда, то программа явно икнёт и подавится при попытках дойти до треда с номером, например, 8923765. Это просто неэффективно.
Думаю углубиться как следует в оператор ForEach и хранение данных в JSON, но всё равно нужно придумать ключевое поле для удобства обращения с телом.
Ну и конечно же нужно переписать большую часть интерфейса - и особенно список. Хочется сделать так, чтобы юзер мог создавать свои подразделы и перетаскивать в них треды мышкой, но мне становится плохо от сложности требуемого для этого кода. Какой извращенец писал этот VurtualTreeView? Остаётся надеяться на вспышку понимания, подобную той, благодаря которой я освоился с JSON всего лишь за день.

Простите, что устроил из треда личный бложек. Моё окружение совершенно ничего в этом не понимает, и вряд ли будет даже слушать; остаётся выговариваться здесь. Подобное упорядочивает мысли в голове и помогает мне в разработке. А заодно это ещё и шанс получить недостающую поддержку.
>> No.57416 Reply
>>57391
> Никогда не пользовался git. Научишь?
https://git-scm.com/book/ru/v1 Я не знаю как ещё проще рассказать про гит. Так что public github repo when?

А про вопрос по JS - ты бы уже спросил бы прямо сейчас прямо тут, чего ты ждёшь?

>>57415
Очень сложно понять что у тебя за проблема с айдишниками тредов, но мне кажется что ид типа b-12345 достаточно уникальная фигня для идентификации тредов. Или что с ней не так?

Алсо, это очень хорошо что ты используешь АПИ, но как говорили выше оно всё ещё не выдаёт ип-хеши и трипкоды. Это может быть критично для каких-нибудь роллёвочек, которые идут в /mad/ или в /bg/ - там это могут использовать для руления игрой, а эти ребята судя по всему самая большая твоя ЦА.

А вообще молоток, так держать.

К слову >>/b/3858484 - эта софтина называется DocFetcher. http://docfetcher.sourceforge.net/ru/index.html
Надеюсь у тебя тоже будет поиск, полнотекстовый и со стеммером.
>> No.57419 Reply
File: Rozen_Maiden___Suiseiseki_by_kupo28.jpg
Jpg, 88.83 KB, 1024×577 - Click the image to expand
edit Find source with google Find source with iqdb
Rozen_Maiden___Suiseiseki_by_kupo28.jpg
>>57416
О! DDS и ты здесь.
>> No.57420 Reply
>>57416
> github
Ацтой. Это уже как Facebook, которым пользуются динозавры и технически малограмотные. Не агитирую против, но, пожалуйста, не держите все яйца в одной корзине. GitLab.com, GitGud.io могут быть хорошими запасными репозиториями на случай проблем с Github.
>> No.57421 Reply
>>57420
> Ацтой. Это уже как Facebook
Мнение хипстеров как то вот не интересно совершенно.
>> No.57422 Reply
File: aec99bc6e12c45bdee910150baafa4d521479e4a.jpg
Jpg, 218.93 KB, 700×700 - Click the image to expand
edit Find source with google Find source with iqdb
aec99bc6e12c45bdee910150baafa4d521479e4a.jpg
>>57416
> public github repo when?
После окончания написания базового функционала, раз так. Спасибо за гайд.
> А про вопрос по JS - ты бы уже спросил бы прямо сейчас прямо тут, чего ты ждёшь?
Да без проблем.
В скачанных тредах не работает несколько фич, которые хотелось бы вставить обратно:
1) Смена юзерстилей. Все CSS скачаны и лежат в своей папочке, но переключатель не работает.
2) Переход к конкретному посту по клику на рефлинк.
3) Самое главное - всплывающие ссылки на посты. Нужно сделать так, чтобы сначала он попытался достать его из уже существующего на диске треда по адресу ../../[доска]/res/[номер_треда].xhtml, и только потом, если не взлетает, ломанулся смотреть его через API на сайт - http://dobrochan.com/api/post/[номер_поста].json. Для удобства и единообразия я собираюсь хранить треды в папках вместе с их json, так что если надо, можно использовать его.
Ну и хотелось бы добавить маленькую штучку:
4) Чекбокс а-ля "Fancy Graphics" под окошко смены юзерстиля; если он отмечен, то стиль оформления становится как в маджик ханабире. Красивый, с тенями.
> Очень сложно понять что у тебя за проблема с айдишниками тредов, но мне кажется что ид типа b-12345 достаточно уникальная фигня для идентификации тредов.
Тут понимаешь, у меня информация о тредах лежит в массиве, который нумеруется цифрами. Следовательно, мне нужно или перебирать все 100500 цифр до того, как я доберусь до реально наличествующих в списке тредов, или же заморачиваться с ассоциативными массивами и ForEach, который в моём языке реализован через жопу. Но я ещё подумаю, сомневаюсь, что это задержит меня надолго.
> эта софтина называется DocFetcher
Посмотрел, опечалился. Мне придётся очень сильно постараться, чтобы сделать именно такой же красивый поиск. Ну что же, это повод как следует подзадрочиться.
> А вообще молоток, так держать.
Спасибо, это очень важно для меня.
>> No.57423 Reply
>>57422
Быстрофикс: у меня неправильная ссылка на API. Правильная:
http://dobrochan.com/api/post/[доска]/[номер_поста].json
Например:
http://dobrochan.com/api/post/d/57422.json
>> No.57424 Reply
>>57423
> Например:
> /api/post/d/57422.json
Можно векдь и сразу в html
> /api/post/d/57422.xhtml
Так проще будет.
+ Возьмешь скрипты с доброчана и готово.
>> No.57425 Reply
>>57422
> 1) Смена юзерстилей.
> 2) Переход к конкретному посту по клику на рефлинк.
> 3) Самое главное - всплывающие ссылки на посты
Просто скачай вместе с ХТМЛкой ещё и hanabira.js и jquery.js.

И сделай как у меня, в конец ХТМЛ-ки добавь
https://github.com/tranquility-yuki/yukiscript/blob/master/dobroarchre[...]#L183

А в самом hanabira.js вот такие замены сделай
https://github.com/tranquility-yuki/yukiscript/blob/master/dobroarchre[...]-L214
> сначала он попытался достать его из уже существующего на диске треда по адресу ../../[доска]/res/[номер_треда].xhtml, и только потом, если не взлетает, ломанулся смотреть его через API на сайт
А вот это сделать скорей всего не получится. По хорошему браузер не должен дать тебе читать файлы с диска и обращаться к левому домену. И если до файла ещё может как-то получится достучаться покрутив настройки безопасности, то вот запрос к АПИ добрачана точно не получится сделать. Если так этого хочется, то лучше написать экстеншен к браузеру, который это делает (именно расширение, да).
> заморачиваться с ассоциативными массивами и ForEach, который в моём языке реализован через жопу
Я аж прямо боюсь спрашивать на каких таких костылях ты пишешь, что нет возможности просто получить данные как нибудь типа threads['b-532123']. VurtualTreeView наводит на мысли о Лазарусе, но там вроде всё хорошо с ХэшМапами. (или гугол врёт?)
>> No.57428 Reply
Скрипто-няша, а почему в архиве у меня по-прежнему не хотят применяться настройки рейтинга изображения, хотя я в настройках поставил R-18G? Плюс при нажатии на пикрелейтед, почему-то, он иногда вместо того, чтобы увеличится, переход по ссылке на само изображение?
>> No.57429 Reply
>>57428
> почему в архиве у меня по-прежнему не хотят применяться настройки рейтинга изображения, хотя я в настройках поставил R-18G?
Где - в настройках скрипта или доброчана? Дело в том что подгружаемые посты (а архивные треды целиком из них состоят) имеют отдельные настройки рейтинга (в настройках скрипта), так сделано потому что доброчановскую настройку выкалупать неоткуда (в User Data ее нет), но ее наверно можно изменять из скрипта (тоесть меняем в скрипте / меняется и на сервере), надо бы попробовать.
> Плюс при нажатии на пикрелейтед, почему-то, он иногда вместо того, чтобы увеличится, переход по ссылке на само изображение?
А это уже мой косяк, скоро будет обновление потерпи.
>> No.57430 Reply
File: 60cba1cefa6fb0c6e...
Jpg, 80.07 KB, 425×600
edit Find source with google Find source with iqdb
60cba1cefa6fb0c6e6103bba9dd6b058d6c54ed4.jpg
File: Debug.rar
Rar, 0.32 KB, 0 files
view
Debug.rar
File: Разуплотнило.jpg
Jpg, 117.64 KB, 1366×736
edit Find source with google Find source with iqdb
Разуплотнило.jpg

>>57422
На этот раз мой отчёт будет коротким, покуда я ещё работаю и не хочу отвлекаться надолго.
Спасибо Юки за код, я его ещё не попробовал, но обязательно вставлю сегодня ближе к вечеру.
Написал функцию, которая заменяет все ссылки в тредах на правильные (ведущие или на жёсткий диск, или на Доброчан, если файл не был загружен). Функция работает настолько чудовищно медленно, что даже при попытке обработать один тред программа подвисает на 5-7 секунд. М-да, иногда однокнопочные решения не работают, а надо ещё и головой подумать.
Ну ничего, я уже знаю, как решить. Нужно склеить эту функцию с функцией, составляющей тред. В плане читаемости, конечно, получится кошмар, но не мне жаловаться. Я тот ещё индус.

А пока хочу спросить у уважаемой публики вот что. Пикрелейтед. Отчего с разметкой может происходить подобное? Что я пропустил?
Архивчик прилагается. Пока что заменил все ссылки так, чтобы они вели на добрачик - чтобы не было необходимости качать ещё и картинки.
>> No.57431 Reply
>>57421
Нет, серьёзно. На родине Facebook к нему относятся так. Не на родине, куда он пришёл позже, хайп ещё не остыл.
>> No.57432 Reply
File: 7a28ec126fa38650a...
Png, 1.58 KB, 246×15
edit Find source with google Find source with iqdb
7a28ec126fa38650a790a7c71f090016.png
File: 60c8758cbf088dcc1...
Png, 148.97 KB, 908×718
edit Find source with google Find source with iqdb
60c8758cbf088dcc14f4f3e52b133dd7.png

https://github.com/OpenA/MagiCcode/raw/master/Dobrochan/HanabiraMagicE[...]er.js
  • Исправлено локальное время в браузере firefox
  • Запилен тредометр; в нем так же находится счетчик постов и бамплимит индикатор.
    • алгоритмы подсчета взяты скопипащены из юкискрипта, изменилась только обертка и исчезла деса дакактымогже!
    • оригинальный тредометр не работал потому что он брал дату/время из постов и по ним считал время, но тк мой скрипт убирает дату в <span class="posterdata"></span> он ее найти не может, а даже если бы и мог (ну предположим), то в непригодном для Data Object локализованом виде. Теперь к каждой дате добавляется id <span id="2015-08-28T12:02:00.000Z" class="posterdate">28 Август 2015 (Пт) 17:02</span> пригодный для использования в Data Object как он есть, то есть new Data('2015-08-28T12:02:00.000Z'). Ну это так, на всякий случай говорю, малоли что.
  • Исправлены ошибки какие тут выше были и еще некоторые другие.
>> No.57433 Reply
>>57432
> Запилен тредометр; в нем так же находится счетчик постов и бамплимит индикатор.
Ииииииии сразу прошу сделать его отключаемым в настройках.
>> No.57434 Reply
File: bd1579aa7d801013e0ee973c29b18de4.jpg
Jpg, 58.74 KB, 982×229 - Click the image to expand
edit Find source with google Find source with iqdb
bd1579aa7d801013e0ee973c29b18de4.jpg
>>57433
> Ииииииии сразу прошу сделать его отключаемым в настройках.
ОК, придумаю что нибудь.
>> No.57435 Reply
File: 9549b1d102bd865f67fabb29ad410dca.jpg
Jpg, 93.44 KB, 800×1122 - Click the image to expand
edit Find source with google Find source with iqdb
9549b1d102bd865f67fabb29ad410dca.jpg
>>57429
> Где - в настройках скрипта или доброчана? Дело в том что подгружаемые посты (а архивные треды целиком из них состоят) имеют отдельные настройки рейтинга (в настройках скрипта), так сделано потому что доброчановскую настройку выкалупать неоткуда (в User Data ее нет), но ее наверно можно изменять из скрипта (тоесть меняем в скрипте / меняется и на сервере), надо бы попробовать.
лол, я чет не сообразил, думал, что если я поставил в настройках доброчана, то в скрипте все поменяется и так же наоборот... видать нужно независимо ставить.
>>57432
Отлично, мне нравится, обновление. Жаль только ты не смог реализовать десу. Думаю, в будущих обновленияз тебе следует запилить поисковик и доброрепорт.
>> No.57436 Reply
>> No.57437 Reply
>>57434
Еще хотел у тебя уточнить такую штуку: почему счетчик показывает разное количество постов в час на доске, в зависимости от треда? Например, в /а/, если я открываю ревест-тред, то показывает 11 постов в час, в то время как в каком-нибудь наполовину утонувшем треде на 3 странице, пишет 0 постов/час на доске? Это баг в твоем скрипте или еще из Юккиного?
>> No.57438 Reply
>>57432
И даже вроде в онгоинг-треде такое заметил, хотя он на нулевой постоянно болтается, очень редко попадает на 1.
>> No.57439 Reply
>>57437 >>57438
Это не баг это оно так считает. Если вкраце:
Например в треде последний пост под номером 730001, время в нем 12:10, и тут в тред кто то запостил - прилетает пост под номером 730005 время 12:30, это значит что за 20 минут на доске запостили 4 поста, получается скорость постинга в данный момент 12 постов в час и вот как то вот так примерно это там все высчитывается.
А самое главное кода то там на самом деле две с половиной строчки это реализуют, сразу видно что у юки-куна вышка есть, у меня бы там сложения на рекурсиях сидели и вычитаниями погоняли, сплошной ад и содомия вообщем была бы.
>> No.57440 Reply
>>57435
> думал, что если я поставил в настройках доброчана, то в скрипте все поменяется и так же наоборот...
Нет, то что в настройках доброчано то кудато все на сервер отправляется и получить это нигде нельзя, а вот наоборот реализовать думаю можно.
> Думаю, в будущих обновленияз тебе следует запилить поисковик и доброрепорт.
Да наверное для репортов будет открываться еще одна отдельная юкиформа в плавающем окне. Не хочется ничего нового в этом плане изобретать если честно.
>> No.57441 Reply
>>57439
А почему оно тогда при низкой скорости постинга показывает в треде 1 пост/час и 0 постов/час на доске, если должно быть 1 пост/час тред и 1 пост/час доска?
>> No.57442 Reply
File: animuted3.gif
Gif, 270.82 KB, 400×344 - Click the image to expand
edit Find source with google Find source with iqdb
animuted3.gif
>>57430
А вот и очередной отчёт, господа!
Ну что же, осилил я сегодня перенаправление ссылок в скачанном треде. Ну, почти. Осталось сделать так, чтобы ссылки на Доброчан вида http://dobrochan.com/d/res/55048.xhtml#i57430 (вместо >>57430) в теле поста перенаправлялись как надо. Дело пятнадцати минут.
Теперь функция перенаправления ссылок слита в единое целое с самим созданием треда. Это уменьшило объём обработки на порядок, и если раньше полная обработка треда занимала 5-7 секунд, то теперь на всё про всё уходит меньше половины секунды. Красота.
Частично победил распидорашивание текста от картинок: теперь текст рядом с картинкой переносится правильно. Другое дело, что я не понимаю, как сокращаются названия и почему они не сокращаются у меня. Из-за этого при наличии нескольких картинок с длинными названиями отступ между ними становится просто неприличным. В html-коде они не сокращённые; за это, по идее, отвечает какой-то js или css, который у меня не взлетает по неустановленным причинам. Класс - "fileinfo limited".
Ну а так - ключевой функционал готов! Осталось для всего этого дела сделать простенький интерфейс в силу моих убогих дизайнерских способностей, потом потратить день на причёсывание кода и навешивание рюшечек, и можно выпускать в люди. Иду идеально по графику.
Ура, товарищи!
>> No.57443 Reply
>>57439
А почему оно тогда при низкой скорости постинга показывает в треде 1 пост/час и 0 постов/час на доске, если должно быть 1 пост/час тред и 1 пост/час доска или вообще при ооочень низкой 0 постов/час в треде и 0 постов/час на доске?
>> No.57444 Reply
>>57440
Еще почему-то я не могу удалять свои посты, а также после редактирования не удаляет старый вариант, как ты видишь.
>> No.57445 Reply
>>57442
Когда можешь дать тестовую ссылочку, няш?
>> No.57447 Reply
File: b23ad232966acdd64675cb43f4214f93.jpg
Jpg, 563.53 KB, 1600×684 - Click the image to expand
edit Find source with google Find source with iqdb
b23ad232966acdd64675cb43f4214f93.jpg
>>57440
Нашел еще один баг. Когда пишу капчу, автоматически после написания каждой буквы два плюсика добавляются.
>> No.57448 Reply
File: 2006-11-06-36269.jpg
Jpg, 22.95 KB, 345×424 - Click the image to expand
edit Find source with google Find source with iqdb
2006-11-06-36269.jpg
>>57443
Ну а в счетчике скорости треда он просто тупо их сумирует, поэтому и такая разница. Короче есть куда еще допиливать, да и процентаж мне например не понятен, что он такое показывает.
>>57444
Пишет что неправильный пароль? Больше так то не из за чего.
>> No.57449 Reply
>>57448
> Пишет что неправильный пароль? Больше так то не из за чего.
Неа, вообще бездействует. Ничего не делает, ничего не показывает.
>> No.57450 Reply
>>57447
А, прошу прощения, у капчи забыл теги поменять, сейчас поправлю.
>>57449
Нажми еще раз удалить и смотри на верх окна.
>> No.57451 Reply
>>57450
> Нажми еще раз удалить и смотри на верх окна.
не работает вообще никак.
>> No.57452 Reply
>>57451
Понял у себя такой же нашел
>> No.57453 Reply
>>57439
> сразу видно что у юки-куна вышка есть
Только что-то она мне не помогла. Тредомер считает скорость неправильно. И ты у меня эту ошибку скопипастил. Поправь.

>>57442
> Класс - "fileinfo limited".
ЦСС тут не при делах. Посмотри исходники страницы, там прямо так и отрендерено с точками.
>> No.57454 Reply
File: 17f7c5ce84a937202b6f0e37cff6e3e1.png
Png, 565.76 KB, 1000×765 - Click the image to expand
edit Find source with google Find source with iqdb
17f7c5ce84a937202b6f0e37cff6e3e1.png
>>57453
> Посмотри исходники страницы, там прямо так и отрендерено с точками.
И правда. Не туда смотрел. Вижу, как поправить, но сегодня уже немного лень. Благодарю.
>> No.57455 Reply
File: 1350362659649.png
Png, 258.28 KB, 388×475 - Click the image to expand
edit Find source with google Find source with iqdb
1350362659649.png
|>>57447| починил
|>>57449| мсправил

отправить настройку рейтинга на сервер так вот просто оказывается нельзя. Нет, так то можно конечно, но оно обратно присылает 500 и пока все без исключения опции (так вот как они идут в /settings) не запилишь форма отвергается и поэтому ну его вообще.

>>57453
Знать бы еще как, с current_time что ли как то согласовывать, не знаю.
>> No.57456 Reply
File: 3518a0616d1271deda8e1361a3d7ecbf.png
Png, 2.45 KB, 150×88 - Click the image to expand
edit Find source with google Find source with iqdb
3518a0616d1271deda8e1361a3d7ecbf.png
>>57455
> Знать бы еще как, с current_time что ли как то согласовывать, не знаю.
Лол. Глубоко копаешь. Ладно, вот тебе скриншотик.
>> No.57459 Reply
>>57455
> с current_time согласовывать
> > 00:14
Да, еще бы время на доброчане вперед не забегало
>>57456
> вот тебе скриншотик.
А, стоп вот так что ли:
было
total_posts_board = last_id - _cid(posts[i].id); стало
total_posts_board += last_id - _cid(posts[i].id);
>> No.57460 Reply
>>57459
Давай на пальцах, тут дело не в вышке.

Итак: в треде за час было сделано всего два поста с номерами 100 и 101.

Мы посчитали посты, их два. Два поста в треде.

Как мы считаем сколько было запощено на борде за час? Верно, из 101 вычитаем 100. получается всего на борде было запощено 1 сообщений.

Отсюда и получается что 2 поста в треде от одного поста на борде это 200% процент показывает сколько всего постов от общей скорости борды приходится на этот тред
>> No.57463 Reply
>>57460
> процент показывает сколько всего постов от общей скорости борды приходится на этот тред
А, теперь понятно.
Блин но что то ведь не так:
for (i = posts.length - 1; posts[i]; i--) {
	if (Math.round(new Date(posts[i].querySelector('.posterdate').id).getTime() / 1000) > last_date){
		total_posts_board = last_id - _cid(posts[i].id);
		total_posts++;
	}
}
Вот у нас за час например в треде было запощено три поста:
57006 57004 57003 например.

Так вот цикл что делает - он сначало вычтет 57006 - 57004 (будет 2, и соответственно totalpostsboard = 2), потом 57006 - 57003 (будет 3, и соответственно totalpostsboard = 3), но ведь поста то четыре по факту на доске же появилось.
> Давай на пальцах, тут дело не в вышке.
Нет ну вот Math.round( миллисекунды / 1000) - (60 * 60) и таким образом вычисляется длинна в час, как вот ты это парсишь все - я не представляю.
Я тут как то секунды то в минуты переводить замучился и процентами их и делениями они все 2.87 вместо 3.27 показывают
помойму в итоге написал какой то странный кусок кода в несколько строк, который таки это все как то делает.
>> No.57465 Reply
>>57463
Тогда короче прибавляю один и ложусь спать.
total_posts_board = last_id - _cid(posts[i].id) + 1;
>> No.57466 Reply
>>57463
> Нет ну вот Math.round( миллисекунды / 1000) - (60 * 60) и таким образом вычисляется длинна в час, как вот ты это парсишь все - я не представляю.
И что тут такого сложного? Берёшь время последнего поста, переводишь в секунды. Вычитаешь из полученного 3600 и получаешь дату (в секундах) начиная с которой мы считаем посты за последний час.

А потом начинаем обходить все посты снизу вверх пока дата поста не станет меньше посчитанной ранее. Ничего хитрого.

>>57465
Бинго!
>> No.57467 Reply
> тредометр
А раньше юзерскрипты делали для удобства. Или хотя бы для красоты. Эх.
>> No.57469 Reply
Не показывает число постов в треде, меню в правом нижнем углу и контекстное меню картинок. Firefox 39.0.3.
>> No.57470 Reply
>>57467
> А раньше юзерскрипты делали для удобства. Или хотя бы для красоты. Эх.
Да ладно тебе ворчать уже, добавлю я кнопку сворачивания.
>>57469
Что нибудь есть в консоли?
>> No.57472 Reply
>>57470
TypeError: StyleSet[HM.Keywords.conceal] is not a function
Стек-трейс:
MagicSettings@:2762:4
insertListenerS@:3106:8
И куча таких:

Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на http://api.embed.ly/1/oembed?key=67df8f6sfd6fds876&url=https%3A%2F%2Fgithub.com%2Ftranquility-yuki%2Fyukiscript&format=json&origin=anonymous. (Причина: отсутствует заголовок CORS 'Access-Control-Allow-Origin').
>> No.57478 Reply
File: 16b8a5e230e72f2b7504e26c06e0ec8a.jpg
Jpg, 781.82 KB, 800×835 - Click the image to expand
edit Find source with google Find source with iqdb
16b8a5e230e72f2b7504e26c06e0ec8a.jpg
>>57454
Суперкороткий отчёт - я и так засиделся, мне завтра очень рано вставать, поэтому исключительно быстро и по делу.
Сегодня код писался плохо. Откровенно плохо. График на сегодня не выполнен даже близко. Погонял веником баги, наткнулся на коллекцию новых багов, вздохнул и понял, что часть из них выправлять пока что будет себе дороже. Например, NTFS просто посылает меня нахуй при попытке сохранить файлы с некоторыми символами в названии; как минимум в этом списке есть копирайт и ™. Надо эскейпать, писать функцию. Пока что лень. Незагруженные файлы остаются ссылками на Доброчан.
Парсер работает - любо-дорого посмотреть. Очень приятно глазу. Сегодня и иконки каким-то чудесным образом починились сами собой и больше не пидорасятся.
Написал лулзов ради свой тредометр (а что там, три строчки кода и один счётчик). Тредометр получился гораздо более точным, чем в маджик ханабире, потому что считает сразу по всему треду. Алгоритм простой: Процент Активности = (Кол-во постов * 100) / (номер последнего поста - номер первого поста).
Умножаю на сто до деления потому, что пощу дивом. Да, не учитываются удалённые сообщения. Ну и пофигу. Точность всё равно приемлемая.
Только под конец дня занялся переделкой интерфейса. Пока что только переставил кнопочки и добавил нужные чекбоксы, потом посмотрел и понял, что забегаю вперёд. Надо уже заняться переделкой способа хранения данных о тредах, благо я покурил маны и всё должно быть очень просто. Выдрал из старой версии index.html. Программа на лету создаёт фрейм со списком всех загруженных в программу тредов.
Больше всего болит голова о методе сортировки тредов в списке. По теме (subject)? По доске-номеру? Как сортировать официалки? Непонятно. Надо побыстрее запилить красивый интерфейс и перетаскивание мышкой.
Первый альфа-релиз будет через 2 дня, максимум 3-4. К этому моменту я обкатаю и доработаю все базовые фичи и убежусь, что всё работает безупречно, прежде чем двигаться дальше. В первом релизе не будет понтового списка (пока простой текст-лист, простите, ребят) и встроенного в программу поиска. Первое терпимо (просто неудобно будет сохранять кучу разных тредов), второе решается сторонними приложениями. В любом случае релиз будет исключительно тестовый и для тех, кому горит. Потому что, как я уже сказал, там не будет целой кучи фич, а будет только сохранение тредов по списочку. Ну вы понимаете.
Юки, пожалуйста, раскрой и разъясни, что и как там нужно изменить. Псевдокодом, здесь. А то я немножко Сырно и у меня почему-то ничего не заработало.
Планы на завтра и послезавтра (т.к. завтра меня не будет большую часть дня) ниже. В случайном порядке, по мере вспоминания.
1) Изменить наконец интерфейс
2) Доработать парсинг тела поста на предмет ссылок на добрачик для подмены ентих самых ссылок. Достаточно просто будет, всего-то нужно искать href'ы с dobrochan.(com|ru|org) после них.
3) Добавить рандомизатор баннеров. Чего смотреть на один и тот же?
4) Разобраться, почему чуть-чуть съезжает заголовок. Чисто эстетическая фича.
5) Полностью переписать структуру хранения данных в оперативной памяти.
6) Подумать над сменой формата хранения списка на жёстком диске.
7) Реализовать основные кнопки - в частности, скачивание / выверку тредов. Функции уже есть, надо просто соединить всё в рабочий вид.
8) Добавить больше оутпута в лог. Пока что он есть только для картинок, и он хорош. Сегодня сделал.

Всем добра и хорошей ночи, быстронаписал и побёг.
>> No.57479 Reply
>>57478
> Суперкороткий отчёт
А написал вроде бы самый длинный из всех предыдущих. dgsd
> Надо эскейпать, писать функцию
Я предложил бы тебе называть файлы по хешу их содержимого сохраняя расширение. А ссылку на такой файл писать вот так:
<a href="images/9ea7f0a3dcc9d2dd2fd3c39e29b5ff73df52ca59392bed4656169430724ee8e9.jpg" download="Смешные котики в коробке.jpg">скачать</a>
В лисе по клику на такую ссылку файл будет качаться с именем указанным в атрибуте download. Хром не так хорош и подставляет это имя только если сохранять ссылку через пункт меню "сохранить как".
> Юки, пожалуйста, раскрой и разъясни, что и как там нужно изменить.
Если я правильно понял твой подход, то тебе надо скачать файл http://dobrochan.com/js/hanabira-0.5.1311-.js и там в самом конце заменить вот эту строку
set_stylesheet(get_cookie("wakabastyle")||get_preferred_stylesheet());
на вот эту
set_stylesheet("Photon");
(ну или какой тебе нравится стиль по умолчанию)

Ещё там в 817 строке начинается функция get_settings. В ней надо get_cookie('settings') поменять на значение куки settings - её значение подсмотри в браузере сам какое тебе нравится. (это настройки попапов)


А в конце каждой HTML-ки надо дописывать вот это:
<script>
Hanabira.URL = {"host":"dobrochan.com","board":"d","thread":"55048"}; // тут надо менять имя борды и номер треда
get_opts();
Highlight = function(event, num, el){
	var hl;
	var post = $(el || "#reply"+num);

	if (post.length){
		if (Hanabira.Highlighted.length){
			if (Hanabira.Highlighted[0] == num) return;
			hl = Hanabira.Highlighted[1];
			hl.attr("class", "reply"); 
		} 
		post.attr("class", "highlight"); 
		Hanabira.Highlighted = [num, post]; 
		window.location.hash="i"+num; 
	} 
	event.preventDefault();
}
</script>
Так у тебя открытый тред будет с нужным стилем и в нём будут работать попапы.
>> No.57480 Reply
File: c78a70bb04f53e49b8b800bee23d873ec6ba52d0.jpg
Jpg, 759.45 KB, 1024×1000 - Click the image to expand
edit Find source with google Find source with iqdb
c78a70bb04f53e49b8b800bee23d873ec6ba52d0.jpg
>>57479
Шикарно, спасибо. SPASIBO VI MOLODETS!
Времени писать ответ нет, я быстро убежал. Новости будут вечером.
>> No.57481 Reply
>>57472
localStorage.removeItem('Keywords') Чувствую переделывать надо скрывалку совсем.
>> No.57507 Reply
Скрывалка по словам давно пропала. Счётчик постов теперь вот тоже пропал.
Может я что-то не так делаю и они просто включаются в хитро спрятанных настройках? Которые кстати тоже куда-то пропали.
>> No.57509 Reply
>>57507
Выхлоп из консоли пожалуйста
>> No.57512 Reply
>>57509
TypeError: StyleSet[HM.Keywords.conceal] is not a function
    at new MagicSettings (eval at <anonymous> (unknown source), <anonymous>:2769:33)
    at HTMLDocument.insertListenerS (eval at <anonymous> (unknown source), <anonymous>:3113:8)$dbg @ VM376:40insertListenerS @ VM376:3115
VM376:426 GET http://api.embed.ly/1/oembed?key=9cccaccb6ddc490a97bcd2ba6c282191&url=http%3A%2F%2Fapi.embed.ly%2F1%2Foembed&format=json&origin=anonymous 404 (Not Found)getDataResponse @ VM376:426oEmbedMedia @ VM376:1515(anonymous function) @ VM376:1630$each @ VM376:44hooLinks @ VM376:1548insertListenerS @ VM376:3064
>> No.57513 Reply
>>57512
> StyleSet[HM.Keywords.conceal] is not a function
Блять да что с ним не так?
Ты вот это пробовал >>57481 ? (в консоль надо скопипастить и нажать enter)
>> No.57514 Reply
>>57513
Вроде помогло.
>> No.57515 Reply
>>57513
Скорей всего ты не единственный хитрец, кто хранит Keywords в локалсторадже. Используй $.extend() или проверяй что из стораджа вернулась нормальная структура.
>> No.57516 Reply
>>57515
Да нет, просто опция сильно позже появилась.
Делать ничего с этим сейчас не хочу, тк скорее всего буду скрывалку переделывать.
>> No.57517 Reply
>>57516
Ну что ж ты так? Человек может день убил на настройку скрывалки, а ты ему >>57481

А хватило бы скорей всего StyleSet[HM.Keywords.conceal ? true : false]('hinfostub');
>> No.57518 Reply
>>57517
Я вообще думал добавить что то на подобии
  true: function ...
  false: _f1,
  undefined: _f1
}
Но хорошо, пусть будет лучше по твоему.

Еще такой вопрос к тебе дорогой анон по доброрепорту который ты хочешь видеть из коробки:
// Модераторам-тред
	var mod_thread = 47873;
Это кусок из доброрепорта, номер треда в нем позапрошлогодний (скрипт то вообще так то работает?)
Это его придется каждый раз при обновлении мод-треда исправлять, или там как то хитро все?
>> No.57519 Reply
>>57518
Ты какую-то устаревшую версию скрипта нашел, там давно уже поиск треда впилили.
>> No.57520 Reply
>>57519
О, а где взять же? Из реквеста же и взял, откуда еще >>57310
>> No.57521 Reply
>>57520
Но ведь там же есть поиск. Хотя да, автор зачем-то это дефолтное значение оставил.
>> No.57527 Reply
File: dd2b87ba459f9396f66f38d5624a7fcb.jpg
Jpg, 101.27 KB, 1000×750 - Click the image to expand
edit Find source with google Find source with iqdb
dd2b87ba459f9396f66f38d5624a7fcb.jpg
>>57480
Привет, ребята.
Уже пару дней программа висит в состоянии почти доделанного альфа-билда, осталось только допилить пару фич - сортировку, разбивку фрейма на доски, удаление/редактирование тредов, рандомные баннеры... Да в общем-то и всё. Вот только времени у меня заниматься сейчас совершенно нет. Я надеюсь потратить-таки часов пять на полировку всех огрехов и выложить первую полностью юзабельную версию в четверг, но тут как масть пойдёт.
Оставайтесь холодцом.
>> No.57528 Reply
File: 1393680577001.jpg
Jpg, 50.44 KB, 650×575 - Click the image to expand
edit Find source with google Find source with iqdb
1393680577001.jpg
>>57527
Хорошо.
>> No.57552 Reply
>>57527
Быстрорепорт.
Лежу с температурой 39. Вся голова как ватная. Подготовил нужный код, сил вставить и погонять баги нет.
>> No.57554 Reply
>>57552
ну что же ты так. Выздоравливай, няша.
>> No.57575 Reply
Скрипто-няша, когда будет обновление?
>>57552
А тебе желаю скорейшего выздоравливания!
>> No.57598 Reply
ОП, Dobrochan Thread Hider переписан (привел к dobrohider по функционалу), в следующем треде "по полному совпадению" можно убирать.
>> No.57622 Reply
File: 15-zelenyj-slonik-na-rabotu.jpg
Jpg, 32.04 KB, 413×353 - Click the image to expand
edit Find source with google Find source with iqdb
15-zelenyj-slonik-na-rabotu.jpg
>>57575
Хотел буквально на днях но наткнулся на некоторые траблы (в FF работает в Хроме - нет), решение уже нашел, но у меня сейчас немного пикрелейтед.
>> No.57768 Reply
File: ss.png
Png, 59.22 KB, 426×468 - Click the image to expand
edit Find source with google Find source with iqdb
ss.png
Добавил монитор в доброскрипт, типа как листинг последних тредов/постов/картинок на других чанах (нет, запросами не бомбардирую).
>> No.57801 Reply
File: b8d91bcc3ee1110bc109b880635847de.jpg
Jpg, 85.98 KB, 978×1500 - Click the image to expand
edit Find source with google Find source with iqdb
b8d91bcc3ee1110bc109b880635847de.jpg
>>57768
Спасибо огромное няша. Лучей добра тебе в тысячекратной порции. Давно такого не было. Я вот только подумал: было бы неплохо, если кто-нибудь реализовал еще бы в каталог, а то такой функции тоже не хватает доброчану.
>>57622
Cкрипто-няша, когда сможешь апдейт дать, а то уже почти весь месяц прошел с того момента, а обновлений нету.
>> No.57802 Reply
>>57801
Рад, что понравилось. Если пользуешься, старайся обновляться хоть раз в неделю, я все еще активно добавляю фичи и исправляю баги.
> каталог
Боюсь чересчур много реквестов для такого потребуется. 3-4 страницы и на каждую из них по десятку запросов на оп-пост.
>> No.57810 Reply
>>57802
> Если пользуешься, старайся обновляться хоть раз в неделю, я все еще активно добавляю фичи и исправляю баги.
У меня это уже наверное на рефлекторном уровне развилось.
> Боюсь чересчур много реквестов для такого потребуется. 3-4 страницы и на каждую из них по десятку запросов на оп-пост.
Жаль, если это слишком сложно, а ведь идея действительно годная.
Потому что в /b/ или /а/ иногда задалбываешься мотать странички с этим.
>> No.57923 Reply
File: 246b40534486ba9ce771cb2080925c69.png
Png, 540.34 KB, 800×800 - Click the image to expand
edit Find source with google Find source with iqdb
246b40534486ba9ce771cb2080925c69.png
Скрипто-няша, куда ты пропал? Когда магику обновлять собираешься? Давай возвращайся, тут тебя уже заждались.
>> No.57976 Reply
File: 3wqetqerryeq.png
Png, 271.85 KB, 1506×775 - Click the image to expand
edit Find source with google Find source with iqdb
3wqetqerryeq.png
Осторожно обновляю, добавлена модная-стучалка, и еще вроде бы исправлены какие то баги (давно было, уже не помню)

>>57923
> Когда магику обновлять собираешься?
Прочитал вначале как "могилку". Совпадение? Не думаю.

Алсо: с работы уволился поработав месяц, начальник уебок наезжает из за всякой хуйни, не могу с такими людьми работать.
>> No.57977 Reply
File: 517ce5b582e33e142...
Png, 0.81 KB, 71×15
edit Find source with google Find source with iqdb
517ce5b582e33e1421f8bbb7a4ff4cc2.png
File: 63261f4362f52c09a...
Jpeg, 204.78 KB, 752×1063
edit Find source with google Find source with iqdb
63261f4362f52c09a65ac8000f1be1eb.jpeg

>>57976
о, наконец-то таки обновление, давно ждал. Кстати как ты сделал плавающим окно ответа и возможность вставки кросстредовой ссылки на ответ?
Алсо, отдельный привет тебе как юрифагу.
> Алсо: с работы уволился поработав месяц, начальник уебок наезжает из за всякой хуйни, не могу с такими людьми работать.
Бывает. Просто работа не нужна. Смотри лучше японские постгендерные мультики и делай скрипты для капчевания на добрачик. Мне вот тоже как-то не хочется идти на пары, а хочется проходить Air, но пропускать и так нельзя: потом лень отрабатывать будет.
>> No.57980 Reply
>>57977
Это форма для отправки жалобы в "модераторам-тред", надо бы ее подписать чтоб путаницы не возникло.
> Алсо, отдельный привет тебе как юрифагу.
Спасибо конечно, только я как бы малость совсем не юрифаг%%, что произвожу такое впечатление?%% а это из за скриншота что ли? нет я просто в /a/ сижу на нулевой.
>> No.57983 Reply
>>57980
> Это форма для отправки жалобы в "модераторам-тред", надо бы ее подписать чтоб путаницы не возникло.
Ааа, ясно. Слушай, а при обычном ответе в настройках не можешь добавить возможность плавающей вкладки, а то иногда не хватает этой функции, когда хочешь ответить нескольким постам сразу. Можешь тоже выставить, чтобы эта настройка была настраиваемой.
> Спасибо конечно, только я как бы малость совсем не юрифаг, что произвожу такое впечатление? а это из за скриншота что ли? нет я просто в /a/ сижу на нулевой.
А жаль конечно ну все равно анимуфаг, что уже само по себе неплохо.
>> No.57989 Reply
File: 4317119750_4d5c719004.jpg
Jpg, 39.13 KB, 500×449 - Click the image to expand
edit Find source with google Find source with iqdb
4317119750_4d5c719004.jpg
>>57976
> Алсо: с работы уволился поработав месяц, начальник уебок наезжает из за всякой хуйни, не могу с такими людьми работать.
Моар подробностей.
>> No.58002 Reply
Можешь сделать, чтобы всплывающие окна были на слой выше панельки со счётчиком постов? Кнопки закрытия перекрываются.
>> No.58019 Reply
>>57976
Скрипто-няша, прикрути пожалуйста поисковичок.
>> No.58027 Reply
File: 7926f3d90ca65ce11773093bd9c010a8fa7d0d4c.jpg
Jpg, 108.67 KB, 563×999 - Click the image to expand
edit Find source with google Find source with iqdb
7926f3d90ca65ce11773093bd9c010a8fa7d0d4c.jpg
>>57527
Привет, анончики.
Совсем забегался в последний месяц, ни на какие проекты сил просто не было. Особенно учитывая то, что я снова умудрялся простудиться. Апчхи.
Но вот я снова собрался с духом, открыл компилятор и набил туда некоторое количество строчек. Мой код в 5 утра заставляет меня самого благоговейно трепетать от его шедевральной ужасности. Я уже представляю сердечные приступы у тех, кто прочитает мой рандомизатор баннеров. Так что основными изменениями займусь завтра-послезавтра. Учитывая то, что сейчас у меня 12-часовой рабочий график, дело будет двигаться уже не так быстро, как раньше. Но хоть как-то будет. Обещаю.

Допилил сегодня:
1) Рандомизатор баннеров;
2) Едущую разметку;
3) Смену формата хранения данных в оперативной памяти.

Кратко, что осталось сделать до более-менее законченного продукта:
1) Убедиться, что все кнопочки в меню работают. Я честно не помню, допилил я интерфейс до конца или нет;
2) Сделать возможность качать треды с разных доменов добрачика, а не только .com;
3) Перенести сортировку из тестового проекта в основной, в конце-то концов!
4) Придумать-таки разбивку фрейма на доски;
5) Придумать способ красиво удалять треды из списка, не редактируя непосредственно текстовик;
6) Прикрутить возможность добавлять треды в список пачками;
7) Очень важное - починить-таки жаваскрипты в скачанных тредах;
8) Возможность выбирать юзерстиль для загруженных тредов.

Дальнейшие цели проекта:
1) Драг'н'дроп и вообще няшно-удобное управление списком!
2) Комплексный (и быстрый) поиск по тредам.

Что получится в итоге?
Программа, которая позволяет сохранить все любимые треды вместе со всеми картинками и прибамбасами. А потом - с удобством и комфортом управлять своей коллекцией. Эти треды можно заархивировать, перенести на другое место, почитать там, даже загрузить на сервер и расрашить для чтения онлайн. И быть уверенным, что там ничего не сломается.
>> No.58029 Reply
File: ad2dccd3c916a3a7b939fec5f225bb7a.jpg
Jpg, 315.00 KB, 600×650 - Click the image to expand
edit Find source with google Find source with iqdb
ad2dccd3c916a3a7b939fec5f225bb7a.jpg
>>58027
Вспомнил ещё пару вещей, которые хотел сделать.
9) Вынести загрузку в отдельный поток (чтобы окошко не мерцало);
10) Заставить программу при скачивании спрашивать последнее обновление треда, чтобы не перекачивать каждый раз по 10-14 мегабайт json'а.
>> No.58030 Reply
>>58029
> 10-14 мегабайт json'а.
Чтоу?
>> No.58031 Reply
File: 8276198bf2a048998c985df6e416ea0314d9244d.png
Png, 571.33 KB, 900×1200 - Click the image to expand
edit Find source with google Find source with iqdb
8276198bf2a048998c985df6e416ea0314d9244d.png
>>58030
Так не за один тред же. Полный json треда весит чуть меньше 1,5 мб. Десяток - уже 13-15 мегабайт, ощутимая задержка. Сотня - и ждать приходится уже заметно некомфортное время. Дёргание последнего обновления треда замедлит процесс загрузки большого количества тредов, но ускорит частичное обновление, я считаю это достаточно приемлемым разменом. Но тут ещё нужно будет поиграть с чиселками и посмотреть, что выгоднее.
>> No.58032 Reply
>>58031
> Сотня
Пора чую таки написать систему автоматического бана подобных умников. Чем вообще думают люди, которые автоматически регулярно качают сотни тредов с доброчана?
>> No.58033 Reply
>>58031
> Сотня
А для чего выкачивать на диск по десятке или сотни тредов более одного раза? Особенно учитывая здешнюю политику на скрипты.
>> No.58034 Reply
File: talking_captcha.png
Png, 1.79 KB, 238×15
edit Find source with google Find source with iqdb
talking_captcha.png
File: a7f6feb7e7c9e95d1...
Jpg, 587.27 KB, 768×1024
edit Find source with google Find source with iqdb
a7f6feb7e7c9e95d106be551dde310f35ac2c9e4.jpg

>>58032
> регулярно
Это не постоянное скачивание. Это всего лишь список обновляемых архивируемых тредов, которые можно обновить (то бишь добавить посты, которых нет в твоей локальной копии) одной кнопкой. Я потому и хочу сделать чекалку, чтобы даже когда ты нажимаешь "обновить всё", он не обновлял уже сохранённые у тебя на жёстком диске json'ы. Сейчас программа действует слишком топорно и в лоб, и именно поэтому я упомянул скачивание кучи мегабайт каждый раз как негативный пример её работы. Понял теперь?
Алсо, печенье захардкожено в прогу, так что если понадобится прикрыть лавочку - вы всегда знаете как.
>> No.58036 Reply
File: 811482bc54b2d02287df100a8e2c57b8a51e4793.jpg
Jpg, 543.70 KB, 600×810 - Click the image to expand
edit Find source with google Find source with iqdb
811482bc54b2d02287df100a8e2c57b8a51e4793.jpg
>>58034
И да, даже без "обновить всё" есть кнопка "докачать недостающие". То есть программа загрузит только те треды, которых у тебя нет, и пересоздаст остальные (на случай наличия перекрёстных ссылок). Архивные треды не перекачиваются ни при каких условиях, бамплимитовые - по галочке. Остальные треды программа проверяет и обновляет. Я хочу сделать, чтобы "остальные" обновлялись только в том случае, если там есть новые посты.
И в любом случае программа закачивает только те файлы, которых нет на жёстком диске, это строго. Поэтому перекачивается исключительно текст. Я не виноват, что файлы с эскейпнутым юникодом весят в 3-4 раза больше неэскейпнутых.
>> No.58037 Reply
File: anime52.jpg
Jpg, 52.25 KB, 600×600 - Click the image to expand
edit Find source with google Find source with iqdb
anime52.jpg
Скрипто-кун, который занимается магической ханабирой.
Очень нужен контакт с тобой. Отпишись, пожалуйста, как только сможешь.
Стучаться сюда: evilrussian13@gmail.com
>> No.58045 Reply
File: c1992e56f258f31cbf6bb22d640371af.png
Png, 451.21 KB, 600×954 - Click the image to expand
edit Find source with google Find source with iqdb
c1992e56f258f31cbf6bb22d640371af.png
>>58027
>>58029
Отлично же, я тебя тут долго уже жду. Все таки твоя программа вещь полезная. Давно уже хотел схоронить некоторые треды, т.к. контент проскакивает оригинальный. Да и вообще, если доброчан не дай б-г прикроют, то смогу вечером перечитывать со слезами на глазах былые треды и хвастаться другим ньюфагам уже на какой-нибудь другой борде, возрождалке добрачика о том, каким же ламповым иногда он бывал.
>>58032
Че ты такой злой? Что же плохого в выкачивании тредов, я тебя не понимаю совсем.
>>58037
Я вот тоже давно жду скрипто-няшу. Пора бы в магику добавить плавающую форму ответа, а также возможность отвечать на несколько постов подряд.
>> No.58049 Reply
File: screenshot9.jpg
Jpg, 111.22 KB, 476×664
edit Find source with google Find source with iqdb
screenshot9.jpg
File: screenshot30.jpg
Jpg, 115.44 KB, 476×664
edit Find source with google Find source with iqdb
screenshot30.jpg

>>57989
Дает вилку говорит - чисти говно; я говорю - как я буду вилкой то чистить? ты совсем мудак что ли? А он - чисти чисти, сука, вот как надо чистить, вот! И давай вилкой по унитазу
В подробностях слишком много профессиональных тонкостей, будет не интересно.
По части отношений скажу что из за него в бригаде нету ни равенства ни братства, хотя вроде все общаются нормально дружно, но как то все равно. На старой работе помню проебали один раз на самом деле два раза машинку за 8k - никто даже не пытался выяснять кто именно проебал, потому что знаем что распиздяи и оставить её где нибудь мог в принципе любой из нас, конечно у всех бомбило, пытались её искать, спрашивали у тех кому могли отдать попользоваться в итоге не нашли и у нас у каждого вычли из зарплаты на новую, но никто ни на кого не орал и не обвинял.
Здесь же мне даже сложно представить что бы было, хотя почему сложно - ВЫ проебали, почему я из за ВАС должен, ищите где хотите мне похуй итд. Я еще в первый день подумал что с ним тяжело придется тк еще на базе, в том месте где у бригады вещи лежат он зашел что то пнул на полу и парням грит: че у вас, сука, вечно здесь вот так вот всё? я сразу подумал "у ВАС"- ну нихуясе. Такой вот человек.
>>58002
могу переместить на 3 или на 2 (меньше нельзя), либо может тоже сделать перемещаемым по слоям по нажатию как всплывающие, и панель с меню сделать такой же за одно.
>>58019
Лучше чем юкипоиск я наверное не сделаю, хотя думаю мог бы его доработать чтоб он получше искал и может даже побыстрей.
>>58037
На доске нельзя обсудить будет? Или просто мой контакт нужен?
>>58045
> плавающую форму ответа, а также возможность отвечать на несколько постов подряд.
Про плавающую форму я сразу кстати подумал что попросят, добавлю чуть попозже, а вот "возможность отвечать на несколько постов подряд" - это как всмысле?
>> No.58050 Reply
>>58049
> перемещаемым по слоям по нажатию как всплывающие
Сделай так будет проще и меньше глюков.
Можешь ещё сделать, чтобы, когда лесенка из всплывающих постов подходит к краю экрана, посты не сжимались и уходили за экран, а сдвигались влево?
>> No.58051 Reply
>>58050
> так
как
fix
>> No.58055 Reply
>>58049
> На доске нельзя обсудить будет?
Нельзя. Это довольно важно, отпишись, пожалуйста.
>> No.58057 Reply
>>58049
> "возможность отвечать на несколько постов подряд" - это как всмысле?
все очень просто. Когда кликаешь на номер какого-то поста, то ссылка на него автоматически появляется в форме ответа.
> доработать юкискрипт чтоб он получше искал и может даже побыстрей.
this
>> No.58058 Reply
File: MagicReplyButton.png
Png, 25.01 KB, 874×138 - Click the image to expand
edit Find source with google Find source with iqdb
MagicReplyButton.png
>>58057
Уже есть. Просто нужно кликать не на номер, а на кнопку ответа.
мимопроходил
>> No.58059 Reply
File: talking_captcha.png
Png, 1.03 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
talking_captcha.png
>>58050
> когда лесенка из всплывающих постов подходит к краю экрана, посты не сжимались и уходили за экран, а сдвигались влево
Думаю можно.
>>58055
> Нельзя. Это довольно важно, отпишись, пожалуйста.
Хорошо.
>>58057
> все очень просто. Когда кликаешь на номер какого-то поста, то ссылка на него автоматически появляется в форме ответа.
В плавающем окне, которое ты просишь, это будет не очень отличатся от нажатия на кнопку ответа, впрочем сейчас на этой ссылке с номером поста все равно малополезная функция, можно сделать по нажатию добавление ссылки и прокрутку обратно к форме если она где то внизу.
>> No.58060 Reply
>>58059
> на этой ссылке с номером поста все равно малополезная функция
Пощади! Не надо, пожалуйста.
>> No.58067 Reply
Перекатываемся господа: >>58066
>> No.70777 Reply
File: 1325642098993.jpg
Jpg, 32.47 KB, 550×383 - Click the image to expand
edit Find source with google Find source with iqdb
1325642098993.jpg
>>55048
Треднечитал, можно ли добавить в автохайд ойпи конкретных индивидов, чтобы никогда не видеть их посты? Это уже вопрос жизни и смерти.


Password:

[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]