автор |
сообщение |
dante0nline ![](/img/male.gif)
![](/images/users/145302_2) активист
![](/img/rangfilled.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif)
|
18 ноября 2016 г. 00:29 [нажмите здесь чтобы увидеть текст поста]
|
цитата dante0nline Добавте пожалуйста в "поиск по жанру" возможность скрывать книги которые являются частью цикла и при этом не являются первыми в этом цикле. Сейчас в топ поиска попадает много таких книг. Это очень мешает так как цикл с середины читать не хочется а рейтинга превых книг циклов нет.
Не дождался ответа и сам сделал скрипт который кое как решает эту проблему. Если код запустить через браузерную консоль на странице поиска фантастики начиная с 1990-го года то результат следующий:
![](https://s22.postimg.org/vkfzit7lt/Screenshot_from_2016_11_17_21_06_17.png)
Вот код кторый это делает:
цитата var TIMEOUT = 1000;
var worksCount = 0; $('main table a').each(function() { var url = $(this).attr('href'); if (url.indexOf('/work') == 0) { setTimeout(function() { $.get(url, function (html) { findParent(html, url); }); }, worksCount*TIMEOUT*2); worksCount++; } });
function findParent(html, url) { var parentRegex = / год;.*(\/work\d+)>/; var match = parentRegex.exec(html); if (!match) return false; var parentUrl = match[1]; setTimeout(function() { $.get(parentUrl, function(parentHtml) { checkFirstWork(parentHtml, parentUrl, url); }) }, TIMEOUT); }
function checkFirstWork(parentHtml, parentUrl, url) { parentHtml = parentHtml.replace(/(\r\n|\n|\r)/gm,""); var tableRegex = /<a name=markmode><\/a>(<table(.|\n|\r)*<\/table>)/; var match = tableRegex.exec(parentHtml); if (!match) return false; var tableHtml = match[1]; var tableEl = $(tableHtml);
var maxRatings = 0; var maxRatingsUrl = ''; tableEl.find('tr').each(function() { var row_el = $(this); var context = row_el.find('nobr span').text(); var ratingsRegex = /\((\d+)\)/; var match = ratingsRegex.exec(context); if (!match) return true; var ratings = parseInt(match[1]); if (ratings > maxRatings) { maxRatings = ratings; maxRatingsUrl = row_el.find('a').first().attr('href'); } });
if (maxRatingsUrl && maxRatingsUrl != url) { markNotFirst(url); } }
function markNotFirst(url) { $('a[href="'+url+'"]').after(' <span style="color: red;">В цикле, не первый!</span> '); };
Пожалуйста реализуйте такой фильтр на сервере и добавте соответствующую галочку в поиск по жанру. Или дайте возможность это сделать мне например .
|
|
|
dante0nline ![](/img/male.gif)
![](/images/users/145302_2) активист
![](/img/rangfilled.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif)
|
18 ноября 2016 г. 02:51 [нажмите здесь чтобы увидеть текст поста]
|
Последние три строки нужно заменить на следующие.
цитата function markNotFirst(url) { $('a[href="'+url+'"]').after(' <span style="color: red;">В цикле, не первый!</span> '); };
В прошлом посте они не правильно сохранились.
|
|
|
Hariamatyhari ![](/img/male.gif)
![](/images/users/111515_2) гранд-мастер
![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif)
|
|
Алексей121 ![](/img/male.gif)
![](/images/users/46444_5) миротворец
![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif)
|
18 ноября 2016 г. 12:34 [нажмите здесь чтобы увидеть текст поста]
|
цитата dante0nline Если код запустить через браузерную консоль на странице поиска фантастики начиная с 1990-го года то результат следующий:
у меня тут сразу вопрос. Написал автор роман (цикл романов). Пусть будет "Пепел и сталь" Сандерсона а спустя пару лет ему вздумалось запилить рассказ-приквел на три странички. Который по сути нафиг не нужен, просто бонус для поклонников. И получается, что первый роман цикла уже якобы не первый. И таких случаев полно. Реально очень много. Будет ли ваш скрипт работать в этом случае? Или начнет врать выдавая первые романы цикла за не-первые?
|
––– Если я что-то обещал, но не сделал - напомните мне, пожалуйста, из-за большой загруженности я могу забывать. |
|
|
ZiZu ![](/img/male.gif)
![](/images/users/2117_8) миротворец
![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif)
|
18 ноября 2016 г. 12:38 [нажмите здесь чтобы увидеть текст поста]
|
Алексей121 думаю если это скрип возьмут за основу программисты фантлаба, то они смогут дописать игнорирование кода ,который ставит "+" приквелам. Насколько я помню это было нужно поставить галочку напротив произведения при составлении цикла.
|
––– https://mysliclub.com/?ref=fzsd3qn6mp |
|
|
Ny ![](/img/male.gif)
![](/images/users/3942_4) миротворец
![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif)
|
18 ноября 2016 г. 14:16 [нажмите здесь чтобы увидеть текст поста]
|
dante0nline, понравилось. Спасибо. Был бы рад, если такая штука появилась бы на сайте.
|
––– Взял надежду сухим пайком, соль со спичками бросил в ранец, Я готов отправляться в путь - все, что нужно, уже при мне. |
|
|
sanchezzzz ![](/img/male.gif)
![](/images/users/5098_15) гранд-мастер
![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif)
|
18 ноября 2016 г. 14:21 [нажмите здесь чтобы увидеть текст поста]
|
Ещё бы неуместную запятую убрать из красного текста... К чему она там?! Да и вообще грамотность подтянуть в соответствии с Регламентом сайта.
|
|
|
Hariamatyhari ![](/img/male.gif)
![](/images/users/111515_2) гранд-мастер
![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif)
|
18 ноября 2016 г. 18:29 [нажмите здесь чтобы увидеть текст поста]
|
цитата Алексей121 ему вздумалось запилить рассказ-приквел
Ну, бывают часто умники с приквелами на закуску... — выделить их зелёным, написать "Приквел" да и все. Они обычно и сюжетно и содержательно выделяются, будет все логично.
|
––– Обременяет не знание, обременяет - мнение! |
|
|
vad ![](/img/male.gif)
![](/images/users/541_4) магистр
![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif)
|
19 ноября 2016 г. 04:37 [нажмите здесь чтобы увидеть текст поста]
|
цитата dante0nline Если код запустить через браузерную консоль
а вот что-то не особо завелось на Chrome. (см. аттач) есть какие то ньюнсы?
|
––– ϝʟ * Никаких компромиссов, даже перед лицом армагеддона (Роршах) |
|
|
dante0nline ![](/img/male.gif)
![](/images/users/145302_2) активист
![](/img/rangfilled.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif)
|
20 ноября 2016 г. 11:18 [нажмите здесь чтобы увидеть текст поста]
|
цитата Алексей121 вздумалось запилить рассказ-приквел на три странички... Будет ли ваш скрипт работать в этом случае? Или начнет врать выдавая первые романы цикла за не-первые? Скрипт очень простой так что врать будет, но не в тех циклах которые вы упомянули. Определение "первой" книги в цикле это вопрос интересный. Какие у вас на этот счёт соображения?
Я здесь хочу лишь добавить что мне главное исключить произведения которые проблематично читать первыми из цикла. Если цикл без проблем можно начинать читать с двух разных романов то они оба должны попасть в результаты поиска. Хотя это не обязательно так как это наверно не такой частый случай и значительно усложняет проблему в техническом плане.
цитата ZiZu то они смогут дописать игнорирование кода ,который ставит "+" приквелам Согласен. Или например можно выбрать книгу из цикла которая является романом с наиболее ранней датой издания.
цитата sanchezzzz Ещё бы неуместную запятую убрать из красного текста... К чему она там?! Да и вообще грамотность подтянуть в соответствии с Регламентом сайта. Ок, уберу. На русском не так часто пишу. Включил проверку орфографии.
цитата vad а вот что-то не особо завелось на Chrome. (см. аттач) есть какие то ньюнсы? Да, оказалось что нужно залогинится на fantlab.ru а то скрипт работать не будет.
цитата Hariamatyhari Было бы полезно и удобно.
цитата Ny dante0nline, понравилось. Спасибо. Был бы рад, если такая штука появилась бы на сайте. Спасибо за интерес к теме!
|
|
|
Anahitta ![](/img/female.gif)
![](/images/users/87595_12) гранд-мастер
![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif)
|
20 ноября 2016 г. 12:46 [нажмите здесь чтобы увидеть текст поста]
|
цитата dante0nline Я здесь хочу лишь добавить что мне главное исключить произведения которые проблематично читать первыми из цикла.
А зачем морока с фильтрами? В библиографиях авторов четко расписано, в каком порядке идут книги в циклах, что приквел, а что сиквел. И на странице любого произведения, если оно входит в какой-то цикл, то это обязательно указано.
|
––– Чернила соблазнительны. Они имеют нечто общее с вином, чтобы не сказать с кровью. - Петр Вяземский |
|
|
Hariamatyhari ![](/img/male.gif)
![](/images/users/111515_2) гранд-мастер
![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif)
|
20 ноября 2016 г. 19:36 [нажмите здесь чтобы увидеть текст поста]
|
Прогрессом чаще всего движет лень. Если в выдаче запроса за сотню книг, то и не набегаешься по каждой.
Подумалось... Если бы был фильтр, выдающий цикл оптом вместо каждой книги по отдельности... Так, 10 циклов по 5 книг — уже не хилый список, а если многи е уже прочитаны они только мешают. В идеале — имеем список из названий самостоятельных книг и из названий циклов, с "плюсиком, либо выделением цветом. нажимаем плюсик, и он разворачивается в отдельные книги с отступом. В то же время, кликнум менюшку "развернуть все", получаем то, что так оберегает предыдущий оппонент. Не лишней будет также сортировка внутри классификатора по автору, году, чему то там ещё... В этом случае возникает противоречие с компоновкой по циклам.
|
––– Обременяет не знание, обременяет - мнение! |
|
|
Hariamatyhari ![](/img/male.gif)
![](/images/users/111515_2) гранд-мастер
![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif)
|
|
jcs4iv ![](/img/male.gif)
![](/images/users/147480_1) активист
![](/img/rangfilled.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif)
|
12 декабря 2016 г. 12:17 [нажмите здесь чтобы увидеть текст поста]
|
цитата Алексей121 у меня тут сразу вопрос. Написал автор роман (цикл романов). Пусть будет "Пепел и сталь" Сандерсона а спустя пару лет ему вздумалось запилить рассказ-приквел на три странички. Который по сути нафиг не нужен, просто бонус для поклонников. И получается, что первый роман цикла уже якобы не первый. И таких случаев полно. Реально очень много.
да. а еще есть такой пример. Хроники Амбера прочел я цикл Желязны. допустим. а там еще тетралогия-приквел от другого автора. что делает его уже Межавторским Циклом. из-за это как будто не прочел сами Хроники. при этом я ничего против межавторских циклов не имею. только романы-сиквелы или спинофы или приквелы. к подобным произведениям читать мне не интересно.
|
|
|
elninjo_3 ![](/img/male.gif)
![](/images/users/69404_1) магистр
![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif)
|
|
bulletproof2k ![](/img/male.gif)
![](/images/users/205470_21) авторитет
![](/img/rangfilled.gif) ![](/img/rangfilled.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif) ![](/img/rangempty.gif)
|
14 декабря 2023 г. 20:26 [нажмите здесь чтобы увидеть текст поста]
|
Тема пользовательских скриптов хороша, не хватает рейтингов с livelib и goodreads например и ссылок на страницы произведений на этих ресурсах.
|
––– "Великие дела начинаются с малого." — David, Prometheus |
|
|