[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]
Ответ в нить
Имя
Captcha image [Д]
Animapcha image [@] [?] [Т]
Тема   ( ответ в 1000000)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов GIF, JPG, PNG, WEBP размером до 20480 кБ.
  • Ныне 22 уникальных клиентов. Посмотреть каталог
  • Предельное количество бампов нити: 200
No. 1000000  
Технический пост, резервирующий номера постов для возможного импорта истории из архива.

Можно постить сюда замечания и предложения по оформлению и функционалу сайта.
No. 1000001  
Интересно, что дни недель в дате поста тут отображаются с маленькой буквы, а не с большой.
No. 1000002  
Вижу, что
  • Не стоит spoiler=1 where id in (4176, 4267, 5163, 6408, 6500, 6554, 6644, 6679, 6687, 6831, 6929, 7092, 7185, 8173, 9129, 9146, 9200, 9444, 9456, 9458, 9507, 10044, 10570, 10714, 10715, 10716, 10717, 10718, 10723, 10773, 10786, 11200, 11241, 11245, 11311, 11373, 11624, 11661, 11678, 11792, 11804, 11814, 11883, 11917, 11918, 11943, 11948, 11966, 11968, 11986, 12147, 12208, 12242, 12287, 12312, 12397, 12498, 12549, 12729, 12983, 12996, 13024, 13094, 13095, 13107, 13117, 13121, 13173, 13378, 13449, 14682, 14785, 14798, 14804, 14817, 15175, 15228, 15230, 15235, 15238, 15248, 15249, 15251, 15316, 15341, 15343, 15345, 15389, 15391, 15399, 15410, 15423, 15468, 15473, 15478, 15599, 15764, 15771, 15779, 15790, 15818, 15829, 15833, 15926, 15935, 15936, 15941, 15942, 15945, 15950, 15959, 15961, 16010, 16016, 16039, 16042, 16049, 16154, 16310, 16312, 16348, 16372, 16374, 16411, 16454, 16576, 16579, 16614, 16618, 16622, 16639, 16718, 16817, 16826, 16838, 16841, 16845, 16854, 17026, 17092, 17112, 17154, 17192, 17202, 17287, 17296, 17332, 17357, 17382, 17511, 17650, 17707, 17740, 17753, 17771, 17828, 17837, 17857, 17889, 17929, 18040, 18238, 18259, 18327, 18418, 18425, 18442, 18477, 18478, 18569, 18813, 18827, 18837, 18840, 18841, 18965, 19000, 19021, 19022, 19030, 19033, 19048, 19067, 19074, 19084, 19102, 19109, 19158, 19167, 19182, 19216, 19259, 19282, 19291, 19325, 19373, 19392);
  • У >>/b/7367, >>/b/7872, >>/b/9688, >>/b/17009 теперь файл на месте. Но 17009, возможно, стоит снова удалить;
  • У >>/d/195 не стоит filename='removed';
  • Не скопирована доска /test/. (Но и не надо?)

No. 1000003  
ristretto.webp - (2.95MB, 1915×1310)
1000003
По поводу лимита на размер файла в /b/. Точно нет желания сделать, как у Кота?
Картинок больше 20480 килобайт не много, но у меня в моей Пиксивной колекции по крайней мере 15 таких файлов есть. Но если конвертнуть в поддерживаемые вебом форматы, их штук 25 будет, думаю.

В /b/ же их ныне 5 штук запощено, пусть 3 из них и дожимаются без потерь с jpegoptim/cwebp до текущего лимита. Другие 5 файлов в /b/, которые выше лимита, суть видео. Но >>/b/2948 было запощено теста ради, а те из них, которые кодировал я, кодировать помельче вроде проблем нет.
No. 1000004  
Also, предлагаю Umnochan на default’ный стиль, как и раньше.
У меня на мобилке сейчас почему-то грузится Futaba.
No. 1000005  
>>1000002
Проверяйте спойлеры в /b/, остальное вечером.
>>1000004
Дефолтным стилем действительно стояла Futaba, вроде поправлено.
No. 1000006  
У некоторых файлов размер отображается 0 B.
No. 1000007  
164589437916.jpg - (142.46KB, 827×1169)
1000007
>>1000006
У больше, чем одного? Странно. Вроде у исходника «Файл удалён» было только у 4-х постов в /b/ и у одного поста в /d/. Из них только у одного поста в /d/ (>>/d/195) есть filesize span-е с нулём и, соответственно, filename без 'removed'.
No. 1000008  
>>1000007
Последние ~24 часа импорта в /b/. Поправлю ручками.
No. 1000009  
sizes.webp - (128.90KB, 525×455)
1000009
>>1000008
Распаршенные размеры тут, если нужно.
No. 1000010  
>>1000009
Спасибо. Их оказалось чуть больше, так что всё равно скриптить пришлось. Да и на будущее полезно будет. Кстати о будущем: потёртые позже чем 48часов посты и картинки я из своих дампов пока восстановить не смогу, так что если придётся снова сгружать с 014, то я буду надеяться на помощь.

>>1000003
Поднял до 25.
No. 1000011  
А, да
>>1000002
Картинки потёрты. /test/ наверное смысла мало? Могу позже в любой момент.

>>1000001
Мне пришлось переписывать это отображение из-за обновления ПХП. В доках с заглавной кстати. Хм.
No. 1000012  
>>1000002
>>>/b/7367, >>/b/7872, >>/b/9688,
Почему там вообще in the first place картинки удалили?
No. 1000013  
>>1000011
> /test/ наверное смысла мало?
Почти никакого и в музейных целях. Если совсем скучно будет.

Пока, например, стоит вопрос реверс-инжининга капчи. Там скорее всего комбинация слогов из девочка, булочка, невский, литейный, дитский, и так далее. Плюс, капча подтянута до длинны поля Сообщение.
No. 1000015  
>>1000012
>>/b/9688
Не знаю, но там не картинка, а открывок из Гатарей был, где Шинобу колготки/чулки снимала/надевала.
>>/b/7872
Там была художница рисующая лювдоту. Лювдота была не только запикселирована, но и заметить её в силу маленьного размера трудно.
Тем не менее, авторам тогда показалось, что это слишком лювдно для обстановки. Или коту.
>>/b/7367
Похожая, пусть и не связаная с лювдотой, причина.
No. 1000016  
>>1000015
>открывок из Гатарей был, где Шинобу колготки/чулки снимала/надевала
ХОТЕТЬ!
No. 1000017  
>>1000016
Архив к вашим услугам.
No. 1000018  
>>1000013
Ну вот сейчас мне выдал 014 "тагланы". Интересный список слогов выходит.

Капщу генерирует https://codeberg.org/FBE410/fbe-410/src/branch/public/inc/classes/randword.class.php, я скорректировал списки гласных/согласных, но это явно не то. Видимо и правда на набор слогов менять стоит.
No. 1000019  
Вот тут про растягивание капчи >>354
А тут что-то с превьюшкой >>248

А есть ли желающие Мицгольную/девочковую/автобусную капчу видеть?
No. 1000020  
>>1000019
А это не у нас с превьюшкой, это в оригинале с превьюшкой. И дальше по треду обсуждение отсутствие превьюшки, так что историческая справедливость требует оставить отсутствие.
>растягивание капчи
Украл на момент написания прошлого поста, но может потребоваться хард-рефреш ради подтягивания цсс.

Там ещё был скрипт менять булочку на хиганбану в ночное время, стоит ли?
No. 1000021  
>>1000020
Интересно же, так что тут голосую за.
No. 1000023  
flower-power.png - (3.77KB, 48×48)
1000023
>>1000021
Если не набирается больше двух голосов против, то я за.
автор скрипта
No. 1000024  
sample.webp - (262.36KB, 463×525)
1000024
>>1000019
С одной стороны, конкретно кирару или конкретно мицголовскую нет, но автобусную капчу в целом я не против попробовать, если ойчаньке будет легко добавить своих персонажей. Нужно много картинок насобирать. С другой стороны, мне кажется, что с разговором о смене капчи стоит чуть-чуть повременить, и пока реализовать, как на 014.
No. 1000025  
>>1000024
Простая капча лучше сложной. Пока не спамят и не вайпают уж оставьте как есть.
No. 1000029  
>>1000013
Отреверсилось что-то. Вроде похоже..? Непонятно.
No. 1000030  
110665257_p0.jpg - (697.13KB, 2173×2313)
1000030
>>1000029
По-моему, получилось замечательно. Даже если вдруг это и не совсем то.
No. 1000031  
Screenshot_2024-01-17_05-50-25.png - (272.70KB, 1280×702)
1000031
Казалось, что капча текстовая оставлена была потому, что надо было время договариваться, какие картинки персонажиц, и сами эти картинки собирать.
Потом она стало будто бы феноменом со своими забавными словами.
Капча эта изрядно мне доставляет боли необходимостью переключать раскладку, ср. с автобусной.
No. 1000032  
>>1000031
Вообще, я слышал, что куклоскрипт мог переключать ввод на английский автоматом когда использовался на Ычане. Но судя по гуглингу, там надо через индексы кнопок клавиатуры городить, что не вдохновляет.
No. 1000033  
>>1000032
Хорошая находка! Действительно там есть такое, совсем забыто.
А чего "городить"? Скопировать да и всё? Букв в алфавите немного...
No. 1000034  
>>1000033
У меня есть подозрение, что у индивидуумов с раскладкой Дворака будут получаться левые буквы. Но можно хотя бы попробовать, да.
No. 1000036  
>>1000035
Может вам всё-таки дать /test/?
Алсо, я вам вроде на почту письмо отправлял. Оно дошло или умерло по дороге?
No. 1000037  
1490531633805.jpg - (117.84KB, 742×632)
1000037
>>1000034
Есть вариант проверять капчу не только на соответствие $_SESSION['security_code'], но и на соответствие transliterated($_SESSION['security_code']). Тогда можно будет капчу вводить транслитом.
No. 1000038  
>>1000037
Для этого надо будет стандартизированный вариант транслитерации к главной крепить, лол. Но можно.
No. 1000039  
>>1000036
Если я правильно понимаю, что ты обращаешься ко мне, то мне ничего не приходило. Судя по всему, проблема в том, что ты отправляешь письмо с сервера, который находится в РФ, где мой почтовый сервис заблокирован. По крайней мере, по этой причине РФ-сервер входящую почту оттуда не принимает. Попробуй с gmail или ещё откуда-ниудь, я не знаю.
No. 1000040  
170560053466.webp - (312.51KB, 667×501)
1000040
Вроде работает, но я не настоящий ПХПец.
# е, ю, я, ё

$yotifiable = [0xB5, 0x8E, 0x8F, 0x91];

# а,е,и,о,у,ъ,ы,ь,э,ю,я,ё
$yotifiers = [0xB0, 0xB5, 0xB8, 0xBe, 0x83, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x91];

# а = 0x0D0B0, р = 0xD180, ё = 0xD191
# а, ..., э, ю, я, ѐ, ё.
$codes = ["a", "b", "v", "g", "d", "e", "zh", "z", "i", "y", "k",
    "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "h", "ts",
    "ch", "sh", "sch", "'", "y", "'", "e", "u", "a", "e", "o"];

$is_yotified = true;
$shift = 0;
$result = "";
foreach(str_split("ятолькокириллица") as $char){
    $char = ord($char);
    if($shift != 0){
        if($is_yotified && in_array($char, $yotifiable))
        $result .= "y";
        $result .= $codes[$char - $shift]; # bounds checked?
        $is_yotified = in_array($char, $yotifiers);
        $shift = 0;
    }
    else if($char == 0xD0) # а-п
        $shift = 0xB0;
    else if($char == 0xD1) # р-ё
        $shift = 0x80 - 16;
}
echo $result;

No. 1000041  
101327358_p46.jpg - (1.08MB, 1995×1315)
1000041
BTW, будет классно наконец-то убрать из FBE гигантский межстрочный интервал для кода: код с ним выглядит мягко говоря, не очень. Всего-то 30 строк всю высоту экрана, считай, занимают.
No. 1000042  
>>1000040
По счастью, у нас нет йодирования в капче:
$codes = ["а" => "a", "б" => "b", "в" => "v", "г" => "g", "д" => "d", "е" => "e", "ж" => "zh", "з" => "z", "и" => "i", "й" => "j", "к" => "k",
            "л" => "l", "м" => "m", "н" => "n", "о" => "o", "п" => "p", "р" => "r", "с" => "s", "т" => "t", "у" => "u",
            "ч" => "ch", "ш" => "sh", "ы" => "y"];
/* Check if they entered the correct code.  If not... */
if (
        empty($_SESSION['security_code']) ||
        $_SESSION['security_code'] != strtolower($_POST['captcha']) &&
        strtr($_SESSION['security_code'], $codes) != strtolower($_POST['captcha'])
) {
        /* Kill the script, stopping the posting process */
        exitWithErrorPage(_gettext('Incorrect captcha entered.'));
}

No. 1000044  
>>1000043
Гм, есть. Но обычно транслитерируют побуквенно в любом случае... ИМХО pyat' понятнее чем p'at'. Да и если делать то же самое на стороне клиента, то замаешься.
Стандартов до чёрта впрочем https://en.wikipedia.org/wiki/Romanization_of_Russian#Transliteration_table, надо выбрать один и не беспокоиться.

Но спасибо за предложение, правда.
No. 1000045  
Enma_Ai_full_3763336.jpg - (871.79KB, 1165×1748)
1000045
Может, было бы лучше ставить цветочек по времени доски для всех, нежели так, кто-то видит его, а кто-то не видит.
No. 1000047  
>>1000045
У меня была идея, чтобы хиганбана постеру по ночи показывалась. А ночь везде наступает по-разному. Якуй вот живёт в Британии, если я всё верно помню, а одна Ойчи, судя по всему, где-то в восточной Азии. Получится не как задумано, если лилию ту кто-то увидит средь бела дня. Такие у меня тогда были мысли.
No. 1000048  
>>1000047
Да, это достаточно очевидно. Ну, пусть будет как есть. В конце концов о самом феномене все и так узнают.
No. 1000049  
>>1000045
Если ставить вариант что человек без ЖС и печенек тоже бы видел, то только так и можно. Но наверное приятнее когда оно само и в ночь.
Можно часы поменять, чтобы виднее было. Или попытаться к форме быстрого ответа прицепить.
No. 1000050  
97451849_p14.webp - (13.85KB, 400×400)
1000050
Это не случится завтра, но по следующему импорту у хотя бы одного поста будет совпадать MD5 с уже запощенным. Это будет надо как-то учесть.
No. 1000051  
>>1000050
У ДБ нет ограничения на повторяющийся хеш, так что импорту будет фиолетово. Может ошибка "ваш файл уже запощен" попортится, но, гм. ИМО проще всё-таки разрешить повторный постинг (разве лимит по времени выставить).

Двигло обновлено до последнего public. Вроде всё работает, но если что жалуйтесь.
No. 1000053  
перенос.webp - (36.03KB, 503×254)
1000053
Интересное новое поведение. По слогам переносит и отображает дефис, копирует без дефиса. Это у меня новая Мозила что-то накрутила, или это так через CSS новую разбивку строк новую сделали?
Наверное, раньше было лучше.
Может разбивать дефисом команды и выражения? Видимо, может. Но для них есть починенное `-форматирование.
А если стишок запостить, то будет разбивать дефисами строки, и никакие неразрывные пробелы не помогут? Скорее всего, будет. Тоже только через кодоформатирование их теперь постить.
No. 1000054  
formatting.webp - (36.88KB, 552×260)
1000054
`-форматирование использовать не всегда удобно. Вот такое может получиться.
No. 1000057  
Так что, есть ли возможность поменять CSS, чтобы переносило только по словам?
В конце концов, строчки без пробелов, которые в экран не помещаются, никто не постит.
Ещё можно подумать про вариант в движке/клиенте смотреть на максимальную длину слова в посте и по превышению лимита, по которому старая Кусаба разбивала строку, ставить стиль с дефис-разбивкой.
No. 1000058  
>>1000057
>В конце концов, строчки без пробелов, которые в экран не помещаются, никто не постит.
Сейчас. Но могут.
>Скорее всего,
Проверьте сами, http://0141chan.org/b/res/15784.html#15788 пробоема только в картинке, по-хорошему всё через цсс должно решаться.
>Ещё можно подумать про вариант в движке/клиенте смотреть на максимальную длину слова в посте и по превышению лимита, по которому старая Кусаба разбивала строку, ставить стиль с дефис-разбивкой.
Вариант, конечно, но звучит переусложнённо.
No. 1000059  
>>1000058
Как-то другие борды с самыми разнообразными движками без разбивки обычных слов надвое живут же. Я из чего-то такого длинного и без пробелов видел разве что ASCII art и новерепостера, который в base64 архивы выкладывает, а их можно в картинках постить. Ну, ещё и посты, состаящие целиком из буквы А. АААААААААААААААААААААААААА! — крик такой. Или что-то ещё, одним канджи составленное. Органически такое бывает очень редко. Как вариант, постеру, который делает такое без причины, можно заметить, что лучше так не делать.

> Вариант, конечно, но звучит переусложнённо.
Это как бы не совсем про то, но автоматическое оформление в целом вещь веьсма не простая. Слышал, целые статьи в научных журналах по этому поводу публиковались, когда ЛаТеХ делали.
No. 1000060  
>>1000053
У меня все как всегда. Стоит наверное проверить в другом браузере и в чистом профиле прежде чем хвататься оформление перекраивать.
No. 1000061  
text.jpg - (1.32MB, 1080×2128)
1000061
>>1000060
На свежем профиле и на старом лисамобилкабраузере то же самое поведение. На мобилке, кстати, оно не так уж и плохо.
No. 1000062  
>>1000059
https://codeberg.org/FBE410/fbe-410/pulls/17 был запилен ради ссылок.
>Как-то другие борды с самыми разнообразными движками без разбивки обычных слов надвое живут же.
На форчонге так:
#delform {
overflow-wrap: break-word;
word-break: break-word;
}
Может hyphens лишний, может ещё что подкрутить надо.
No. 1000064  
>>1000060
Стили, скорее всего, кешируются, так что попробуйте c Ctrl+F5 обновить.
No. 1000065  
>>1000064
Они у него очевидно есть, иначе бы переноса через дефис не было бы вообще.
Интересней, есть ли у кого кукла, да разрешение экрана.
No. 1000066  
115849324_p0.jpg - (1.31MB, 2865×2025)
1000066
>>1000062
Если hyphens убрать, то >>/b/1000138 как раньше отображается, и другие тоже, кажется.
Так что только это подкрутить по-видимому достаточно.
No. 1000067  
>>1000066
Viola!
No. 1000068  
112655853_p0.webp - (4.79MB, 3035×4299)
1000068
>>1000065
Куклы нет, разрешение >=1080p.
No. 1000069  
112634168_p0.jpg - (2.10MB, 1906×2762)
1000069
>>1000067
Спасибо!
No. 1000070  
>>1000069
No. 1000071  
>>1000070
Что? Можете скачать и сравнить, это два разных исходных файла.
No. 1000072  
>>1000071
Просто забавное совпадение.
No. 1000073  
>>1000072
А. Да в целом, отключить бы проверялку за пределами треда...
No. 1000074  
1213.jpg - (225.24KB, 1920×1080)
1000074
>>1000071
> ffmpeg -i 170753057078.jpg -i 170426343464.jpg -filter_complex psnr -f null /dev/null
> [Parsed_psnr_0 @ 0x5605d2655800] PSNR y:inf u:inf v:inf average:inf min:inf max:inf

>>1000070
У.
No. 1000075  
>rules
>2.Порнография в любых её проявлениях
Хм, а типичные картикни под спойлером не являются ли проявлением, т.к. Данбору вот считает себя именно таким сайтом? Или же речь об изображении всяческих актов/эксплицитном всяческих мест...
No. 1000076  
>>1000075
Я не помню среди картинок под спойлером 410 или 014 ничего, что входило бы в rating:explicit.
Если так уж хочется конкретных примеров, то, гм. Ничего хентайнее овашек Прилии. Первый сезон QB в принципе ещё может пролезть наверное, но с текущим хостером применение этих же критериев к типичным постимым девочкам может не прокатить.

Правила подстраивались максимально под текущее положение дел, без каких-то массовых возмущений их наверное пересматривать смысла мало.
No. 1000077  
Up after maint.
No. 1000078  
fbe_cap.png - (84.71KB, 918×502)
1000078
В продолжение
>>1000031
>>1000044
Всё очень просто. Нужно сделать лишь qwerty->йцукен.
No. 1000079  
111021561_p0.webp - (2.62MB, 1448×2048)
1000079
>>1000078
Думаю, вполне разумно добавить сверку и с третьим вариантом ответа.
No. 1000080  
60898165_p0.webp - (595.17KB, 1150×1533)
1000080
Also, предлагаю подумать, нужна ли нам
Имплементация escape-последовательностей.

(Я-то думаю что нужна.)

Можно так \*, \\.
Но если сделать так,
То пути на Винде писать не удобно.

Можно попробовать взять какой-то
Редко используемый символ юникода.
Например  ̸.  ̸*  ̸ ̸.

Ведь, в конце концов, escape-ить *, %%
И символ форматирования кода нужно не часто.

Что думаете?

No. 1000081  
>>1000080
Может проще сразу на бб-коды перейти? Там и болчно форматировать можно, и проблемы со вложенностью решаются.
No. 1000084  
bb.webp - (19.09KB, 1240×795)
1000084
>>1000081
Проще. BB там, оказывается, уже есть. Но совместимость с другими FBE терять не хотелось бы, да и у FBE-марка есть достоинства: ✶курсив✶ набирается проще, чем {i}курсив{/i}, особенно с русской раскладкой.

Можно сделать галочку bb-only у säge и nöko.

Можно совместить две разметки иначе: `` никак не обрабатывается. По сему терминатоору переключаемся на BB-only, по нему же переключаемся обратно на FBE-марк. Делаем ['] для escape-а в BB-only контексте, попутно делаем [[], чтобы escape-ить BB-коды. Теперь можно запостить всё.
No. 1000085  
kona.png - (1.85KB, 32×26)
1000085
Предлагаю факивон.
No. 1000086  
Предвосхищая вопросы зачем, почему... Никакого заговора или идеи за этим не стоит. Просто попался файл. Вот и всё.
No. 1000087  
10189685_p0.jpg - (254.00KB, 714×1013)
1000087
>>1000085
Кажется где-то на каком-то чане оно уже было такое. Можно повесить, пока ничего лучше не придумывается, думаю.

Хотя, иногда нет ничего перманентнее временного. Есть вероятность, что это будет именно такой случай.
No. 1000088  
>>1000084
>escape-ить BB-коды
По идее же можно {code}{tag}{/code}text{code}{/tag}{/code}. Или у нас рендеринг кода сломан..?
>пути на Винде писать не удобно
У Винды крайне редко * или _ в начале имени файла. Может сработать с правильной регуляркой наверное.
Можно наверное блочный элемент в котором просто отключается стилистическое форматирование, чтобы не мудрить с эскейпами.
No. 1000089  
>>1000079
...какой из них третий? Просто неправильная раскладка?
No. 1000090  
>>1000089
Неправильная раскладка и есть qwerty->йцукен. Тоже непонятно, что там имелось в виду.
No. 1000091  
А вот, мозги заработали. 1) верный 2) транслит 3) неверная раскладка. Ну 2 и не нужен совсем. Тем более что систему транслитерации выбрать ещё надо: https://habr.com/ru/articles/499574/ https://habr.com/ru/articles/265455/ .
No. 1000093  
>>1000091
>Тем более что систему транслитерации выбрать ещё надо
Но она уже стоит как в посте написано выше... Сделал 3.
>>1000085
кк
No. 1000094  
51a3a83815caa4e1edcef0cbc91891d7.jpg - (146.11KB, 1000×1124)
1000094
>>1000088
У нас вроде [code]не реализовано[/code].

> Можно наверное блочный элемент в котором просто отключается стилистическое форматирование, чтобы не мудрить с эскейпами.
Мне это видится как-то так.
formatters = [full_fbe_fmt, bb_only_fmt]
fmt_id = 0
str_result = ""
blocks = valid_unicode_message.split("''")
for block in unicode_message.split("''"):
    str_result += formatters[fmt_id](block)
    fmt_id ^= 1

bb_fmt(text):
   return current_bb_formatting(text).replace("[']", "'").replace("[[]", "[")

Вместо ' символ форматирования кода.

>>1000091
Добавить вариант 3 стоит в любом случае, думаю. Удалять вариант 2 из кода — не знаю, стоит ли.
No. 1000095  
>>1000093
>>1000094
> Добавить вариант 3 стоит в любом случае, думаю.
Только я пост отправил, а оно уже (было) добавлено, лол. Славно.
No. 1000096  
Запилено: проверка хеша файла только в рамках одного треда при постинге.
Сейчас попробую реимпортировать новые псто, оригинал хоть и жив, с доменом там чёрти что, я ждал достаточно долго.

>>1000094
Попробую в воскресенье-понедельник.
No. 1000097  
>>1000096
Done

>>838
Done

Спойлеры/удалённое потыкаю завтра.
No. 1000098  
>>1000086
>Просто попался файл.
Был он фавиконом на каком-то анимушном недваче, или что-то такое. Но это слишком сильное обвинение чтобы им просто так бросаться, да и какая на самом деле разница.
No. 1000099  
>>1000098
>Был он
*мне кажется/насколько я помню, был он
No. 1000100  
>>1000093
И правда работает, спасибо, спасение.
No. 1000101  
>>1000097
181 спойлер и 1 удалённая картинка. Job's done.
No. 1000102  
В капче не работает "б", то есть ",".
No. 1000103  
>>1000102
Точнее, не работает ",", а "б"-то работает.
No. 1000106  
>>1000102
Fixed
No. 1000110  
Favicon kitaaa---!!
No. 1000134  
it_works.webp - (40.46KB, 868×691)
1000134
>>1000088
С escape-ами там, как оказалось, сравнительно просто всё. Написал вот через '~' escaping. '~' на что-то влияет только перед символами разметки (`|*|%|^|[) или в объялении пункта списка \n\r[#✶+-]. Может escape-ить сам себя, но только, когда это имеет смысл.

А вот с блоками, их вложенностями и приоритетами, кажется, несколько сложнее. Но подумаю. Может, по удвоенному `-у сделаю.
No. 1000135  
escapes.webp - (37.89KB, 1715×437)
1000135
Архив с кодом в картинке.
No. 1000136  
>>1000135
Спасибо, принял пока так.
Я пытаюсь переписать парсер на нормальную, не-регексповую обработку, но это хорошо если на неделе. Могу скинуть черновик.
No. 1000137  
j3zBw2bq.png - (3.86MB, 1856×1280)
1000137
>>1000136
Скинь.

Там даже если с регулярками, всё равно дорабатывать надо: не так просто оказалось, возможность escape-ить ~ неограниченное количество раз всё-таки нужна. Из-за этого, например, strtr-ом для ~` не обойтись, нужны будут изменения в callback-ах кода/латеха, а регулярка для парсинга кода будет выглядеть как-то (^|\G|[^~])(~~)*\K`([^~`]|~.)+?` так.
No. 1000138  
>>1000137
function BBCode($string){
$lines = explode(PHP_EOL,$string);
$in_ul = false;
$in_ol = false;
$block = [];
foreach($lines as $line) {
if (preg_match('^[\-\*] ([^\r\n])+)')){
if ($in_ol){
$in_ol = false;
$output .= '</ol>';
}
if (!$in_ul){
$in_ul = true;
if ($block){
$output .= apply_format($block);
$block = [];
}
$output .= '<ul>';
}
$output .= '<li>'.apply_format([$matches[1]]).'</li>';
}
else if (preg_match('^[+\#] ([^\r\n])+)')){
if ($in_ul){
$in_ul = false;
$output .= '</ul>';
}
if (!$in_ol){
$in_ol = true;
if ($block){
$output .= apply_format($block);
$block = [];
}
$output .= '<ol>';
}
$output .= '<li>'.apply_format([$matches[1]])."</li>";
}
else{
if ($in_ol){
$in_ol = false;
$output .= '</ol>';
}
if ($in_ul){
$in_ul = false;
$output .= '</ul>';
}
array_push($block, $line);
}
}
$output .= apply_format($block);
return $output;
}

function apply_format($lines){
$patterns = [
['\[code]', '\[/code]', '<span class="inline-code">', '</span>', 1, inline_code_callback],
['\', '\', '<b>', '</b>', 1],
['\', '\', '<i>', '</i>', 1],
['\', '\', '<span style="text-decoration: underline;">', '</span>', 1],
['\', '\', '<strike>', '</strike>', 1],
['\', '\', '<span style="font-family: Mona,\'MS PGothic\' !important;">', '</span>', 1],
['\', '\', '<span class="spoiler">', '</span>', 1],
['\\', '\\', '<b>', '</b>', 0],
['\', '\', '<i>', '</i>', 0],
['', '', '<span class="spoiler">', '</span>', 0],
['\^\^', '\^\^', '<strike>', '</strike>', 0],
['', '', '<span class="inline-code">', '</span>', 0],

];
$stack = [];
$pattern = "\n";
foreach($patterns as $pattern){
$pattern .= "|$pattern[1]";
}
foreach($patterns as $pattern){
if ($pattern[1] != $pattern[0]){
$pattern .= "|$pattern[0]";
}
}
$pattern = "((?!~)~|)~+~~?($pattern)";
foreach($lines as $line) {
preg_match($pattern, $line, $matches, PREG_OFFSET_CAPTURE);
aray_unshift($matches)
foreach($matches as $match){
;
}
}

}
Разбиваем текст на строки, в каждой строке ищем начала и концы тегов. Если тег закрывающий, пытаемся закрыть последний тег, если совпадает. Если тег закрывающий, пытаемся закрыть, если последний открытый тег совпадает. Если открывающий, запоминаем позицию, кладём предыдущую подстроку на стек, и идём по текущей (можно рекурсией). На конце строки дропаем незакрытые инлайны, на конце блока дропаем вообще всё. В коде игнорируем всё кроме закрытия кода (+ надо перебивать : для ссылок). Списки считаются как отдельные блоки исключительно инлайнов.
preg_match не может в /g, поэтому придётся ещё в цикл оборачивать.
No. 1000139  
>>1000138
Ах, да, оно так не работает.
https://gist.github.com/yakui-lover/616e8bad552395cd031453c05e2eb596
No. 1000146  
Jus use pastebin clone, Luke.
No. 1000147  
code_zip.webp - (73.71KB, 966×737)
1000147
https://pastebin.com/kf3a4kyu
Попробовал сделать без разбиения по строкам.
Вышло громоздко, хотя вроде работает.

Проходимся по всем тегам типа ~~~~~~^^ или ~~~~~~[/b], смотрим, применимо или не применимо в текущем контексте, если применимо, то копируем ещё не скопированный текст до тега, и если не за-escape'лено, то либо открываем блок, либо закрываем блоки до нужного по стеку. Код escape'ит всё, кроме терминаторов кода и escape'ов к ним. Списки более-менее наравне с остальными тегами, хотя обрабатываются несколько отдельно.
No. 1000148  
Допустимо ли? >>/b/1000899
No. 1000149  
f26fe872ae6833900d0b5234f24f1129.jpg - (876.64KB, 1217×2048)
1000149
>>1000148
Кажется, не хентайнее этого эпизода прилии
https://gelbooru.com/index.php?page=post&s=list&tags=md5%3a267af70a53630db7e1de70de943530bd
Пусть это и версия, где пар отредактирован.
No. 1000150  
>>1000148
Под спойлером должно быть нормально.
В худшем случае я задумаюсь о другом хостере картинок.

>>1000147
Ну, давайте пробовать.
test
Скорее всего надо стили править если не инлайн-спаном делать.

Я правильно читаю, что вмарк так тоже мультилайн становится? Я думал как раз его оставить действующим только внутри строки. И ws нигде не используется. Но на глас вроде всё верно.
No. 1000152  
83028242_p2.jpg - (2.63MB, 6942×4848)
1000152
>>1000150
> Я правильно читаю, что вмарк так тоже мультилайн становится?
Да, *, **, ^^, `, %% все multiline-овые. Но так-то они multiline-овыми и раньше были же. Чуть усложнив код, можно коллапсить упомянутую вакабу по \r\n, нужно поменять проверки в начале for-а и поменять содержимое if-а для \r\n завершения списка. Но пока не могу понять смысл идеи. Разве чтобы можно было одну * в начале строки поставить, и оно само закрылось. Но тогда если кто-то по привычке попробует через * * сделать несколько линий курсивом, у него не получится, и ему на [i] и [/i] придётся менять.

Думаю, можно добвать блок ``some text``, где символы форматирования будут игнорироваться:
  • В array c описанием mark-ов добавить '``' => ['``', '', ''], и '[nofmt]' => ['\[nofmt]|\[\/nofmt]', '', '', '``', '[/nofmt]'],;
  • В if, где $states['`'] && $mark != '`' || $states['[code]'] && $mark != '[/code]', добавть ещё две проверки.

> И ws нигде не используется
Wide [character] strings? Кажется, там достаточно обычных ASCIIшных функций, без mb и w префиксов.
No. 1000153  
>>1000152
А, я не ответил
>Wide [character] strings?
Нет, массив с таким именем.
>Но пока не могу понять смысл идеи.
Я думал вакаба-марк сделать только инлайном, потому что оно так работает на самой Вакабе. Но если ФБЕ оно мультилайн, то лучше совместимость, да.
No. 1000154  
Справку после этого обновите, господа. Ничего не понятно.
No. 1000162  
1527591043872.webp - (334.25KB, 680×1554)
1000162
>>1000153
> Нет, массив с таким именем.
Не используется, можно спокойно из кода убрать. Для вакабамарков завёл, наверное.

>>1000154
Всё почти также. Основное изменение в том, что тильда (~) теперь символ разметки, который escape-ит другие тэги разметки (*, %%, [u] и так далее). Перед тэгом разметки, тильда может escape-ить сама себя.
  • w~ww~~www~~~ ⟶ w~ww~~www~~~
  • 2~**4==4~**2 ⟶ 2**4==4**2
  • *uwu~~* ⟶ uwu~

Справку напишу, когда формат будет фиксирован. Пока же есть некоторые проблемы.
  1. Сейчас ~ escape-ит именно тэг, не символ, что в случае с %%, ** и ^^ кое-что делает невозможным. Например, невозможно процентами заспоилерить "146%";
  2. В отличие от обычного FBE, что-нибудь типа "****" обработается, на выводе образуя HTML-элементы с пустым содержимым. Не знаю, нужно ли фиксить.

No. 1000163  
> Для вакабамарков завёл, наверное.
И не наверное, а таки именно для них, судя по $ws[$k] = $pattern; в foreach($patterns as $k => $pattern){
No. 1000165  
function BBCode($string){
    $regex = '$(?:^|\G|[^~])\K~*(?:';
    $patterns = [
        "\r\n- " => ['\r\n\- ', '<li>', '</li>', '<ul>', '</ul>'],
        "\r\n* " => ['\r\n\* ', '<li>', '</li>', '<ul>', '</ul>'],
        "\r\n+ " => ['\r\n\+ ', '<li>', '</li>', '<ol>', '</ol>'],
        "\r\n# " => ['\r\n\# ', '<li>', '</li>', '<ol>', '</ol>'],
        '[nofmt]' => ['\[nofmt]|\[\/nofmt]', '', '', '``', '[/nofmt]'],
        '[code]' => ['\[code]|\[\/code]', '<code>', '</code>', '`', '[/code]'],
        '[b]' => ['\[b]|\[\/b]', '<b>', '</b>', '**', '[/b]'],
        '[i]' => ['\[i]|\[\/i]', '<i>', '</i>', '*', '[/i]'],
        '[u]' => ['\[u]|\[\/u]', '<span style="text-decoration: underline;">', '</span>', '', '[/u]'],
        '[s]' => ['\[s]|\[\/s]', '<strike>', '</strike>', '^^', '[/s]'],
        '[aa]' => ['\[aa]|\[\/aa]', '<span style="font-family: Mona,\'MS PGothic\' !important;">', '</span>', '', '[/aa]'],
        '[spoiler]' => ['\[spoiler]|\[\/spoiler]', '<span class="spoiler">', '</span>', '%%', '[/spoiler]'],
        '``' => ['``', '', ''],
        '`' => ['`', '<code>', '</code>'],
        '**' => ['\*\*', '<b>', '</b>'],
        '*' => ['\*', '<i>', '</i>'],
        '%%' =>['%%', '<span class="spoiler">', '</span>'],
        '^^' => ['\^\^', '<strike>', '</strike>'],
    ];
    $bbs = array(); $bb_cl_to_op = array(); $lists = array();
    $bb_to_w = array(); $w_to_bb = array();
    $states = array();
    $in_list = false;
    foreach($patterns as $k => $pattern){
        if($k[0] == '['){
            $bbs[$k] = $pattern;
            $bb_cl_to_op[$pattern[4]] = $k;
            if($pattern[3] != ''){
                $bb_to_w[$k] = $pattern[3];
                $w_to_bb[$pattern[3]] = $k;
            }
        }
        else if($k[0] == "\r")
            $lists[$k] = $pattern;
        $states[$k] = false;
        $regex .= $pattern[0] . '|';
    }
    $regex .= '\r\n)$is';
    $mark_stack = array();
    $result = '';
    // handle when it starts from a list declaration
    if(preg_match('/^~*[\*|\+|\-|\#] /', $string) == 1){
        if($string[0] == '~')
            $string = substr($string, 1);
        else
            $string = "\r\n" . $string;
    }
    $length = strlen($string);
    $parsing_offset = 0;
    $copy_offset = 0;
for($next_parsing_offset = 0; $parsing_offset < $length; $parsing_offset = $next_parsing_offset){
    if(!preg_match($regex, $string, $match, PREG_OFFSET_CAPTURE, $parsing_offset))
        break;
    $match = $match[0];
    $match_length = strlen($match[0]);
    $next_parsing_offset = $match[1] + $match_length;
    $rtilda_pos = strrpos($match[0], '~');
    $mark = $rtilda_pos === false ? $match[0] : substr($match[0], $rtilda_pos + 1);
    // continue if the mark is not applicable in the current context
    if(!$in_list && $mark == "\r\n")
        continue;
    if($states['``'] && $mark != '``' || $states['[nofmt]'] && $mark != '[/nofmt]')
        continue;
    if($states['`'] && $mark != '`' || $states['[code]'] && $mark != '[/code]')
        continue;
    if(array_key_exists($mark, $w_to_bb) && $states[$w_to_bb[$mark]])
        continue;
    if(array_key_exists($mark, $bb_to_w) && $states[$bb_to_w[$mark]])
        continue;
    if(array_key_exists($mark, $bb_cl_to_op) && !$states[$bb_cl_to_op[$mark]])
        continue;
    if(array_key_exists($mark, $bbs) && $states[$mark])
        continue;
    if($in_list && array_key_exists($mark, $lists) && !$states[$mark])
        continue;
    // the mark is applicable, copy whatever was before and half the tildas
    $tilda_len = $rtilda_pos === false ? 0 : $rtilda_pos + 1;
    $to_copy = substr($string, $copy_offset, $match[1] + (int)($tilda_len / 2) - $copy_offset);
    if($states['`'] || $states['[code]'])
        $to_copy = strtr($to_copy, array("\t" => '&nbsp;&nbsp;&nbsp;&nbsp;', ' ' => '&nbsp;'));
    $result .= $to_copy;
    // if the mark is being escaped, set the offsets accordingly and move on
    // continue parsing from the second symbol of the current tag
    if(($tilda_len % 2) === 1){
        $result .= $match[0][$tilda_len];
        $copy_offset = $match[1] + $tilda_len + 1;
        $next_parsing_offset = $match[1] + $tilda_len + 1;
        continue;
    }
    // otherwise, handling the mark as active
    $copy_offset = $match[1] + $match_length;
    // first, handle the list marks, as they may result in both opening and closure
    if(array_key_exists($mark, $lists)){
        if(!$in_list){
            $result .= $lists[$mark][3];
            $in_list = true;
        }
        if($states[$mark]){
            do{
                $c_st = array_pop($mark_stack);
                $result.= $patterns[$c_st][2];
                $states[$c_st] = false;
            } while($c_st != $mark);
        }
        $result .= $lists[$mark][1];
        array_push($mark_stack, $mark);
        $states[$mark] = true;
        continue;
    }
    if($mark == "\r\n"){
        do{
            $c_st = array_pop($mark_stack);
            $result.= $patterns[$c_st][2];
            $states[$c_st] = false;
        } while(!array_key_exists($c_st, $lists));
        $result.= $lists[$c_st][4];
        $in_list = false;
        continue;
    }
    // now, if it is a non-list opening
    if(array_key_exists($mark, $states) && $states[$mark] == false){
        $result .= $patterns[$mark][1];
        $states[$mark] = true;
        array_push($mark_stack, $mark);
        continue;
    }
    // if is's a closure
    $till = array_key_exists($mark, $bb_cl_to_op) ? $bb_cl_to_op[$mark] : $mark;
    do {
        $c_st = array_pop($mark_stack);
        $result.= $patterns[$c_st][2];
        $states[$c_st] = false;
        if(array_key_exists($c_st, $lists)){
            $result.= $patterns[$c_st][4];
            $in_list = false;
            }
    } while($mark_stack && $till != $c_st);
}
    // finalize if needed
    if($copy_offset < $length){
        $to_copy = substr($string, $copy_offset, $length - $copy_offset);
        if($states['`'] || $states['[code]'])
            $to_copy = strtr($to_copy, array("\t" => '&nbsp;&nbsp;&nbsp;&nbsp;', ' ' => '&nbsp;'));
        $result .= $to_copy;
    }
    while($mark_stack){
        $c_st = array_pop($mark_stack);
        $result.= $patterns[$c_st][2];
        $states[$c_st] = false;
        if(array_key_exists($c_st, $lists)){
            $result.= $patterns[$c_st][4];
            $in_list = false;
        }
    }
    return $result;
}

No. 1000166  
^^.webp - (8.79KB, 444×440)
1000166
>>1000165
Собственно, новая версия, где ~ escape'ит только первый символ тэга. То бишь, если перед тэгом поставить тильду, то parse'инг продолжается со второго его символа, если таковой есть. Также добавлены `` и [nofmt] — блоки, где отключается форматирование, чтобы с тильда-escape'ами в сложных случаях не возиться.
No. 1000170  
Добавить раздел "Разметка" в news.php. Форматирование через символ «_» на данный момент не поддерживается. поменять на Более полная информация о разметке находится тут.
mark.html ниже кинуть в inc/pages.

<div class="content">
<h2><div class="newssub">Wakaba-mark</div><div class="permalink">&nbsp;</div></h2>
<table border=1><tr><th>Ввод</th><th>Вывод</th></tr>
<tr><td>**полужирное начертание**</td><td><b>полужирное начертание</b></td></tr>
<tr><td>*курсивное начертание*</td><td><i>курсивное начертание</i></td></tr>
<tr><td>`` (*-*) без форматирования ^^_^^ ``</td><td>`` (*-*) без форматирования ^^_^^ ``</td></tr>
<tr><td>`int i = 2 * 4; \\ код`</td><td><code>int i = 2 * 4;\\ код</code></td></tr>
<tr><td>%%спойлер%%</td><td><span class="spoiler">спойлер</span></td></tr>
<tr><td>^^зачёркивание^^</td><td><s>зачёркивание</s></td></tr>
<tr><td>`` (*-*) без форматирования ^^_^^ ``</td><td>`` (*-*) без форматирования ^^_^^ ``</td></tr>
</table>

<h2><div class="newssub">BBCode</div><div class="permalink">&nbsp;</div></h2>
<table border=1><tr><th>Ввод</th><th>Вывод</th></tr>
<tr><td>[u]подчёркивание[/u]</td><td><span style="text-decoration: underline;">подчёркивание</span></td></tr>
<tr><td>[aa]Mona,'MS PGothic'[/aa]</td><td><span style="font-family: Mona,'MS PGothic' !important;">Mona,'MS PGothic'</span></td></tr>
<tr><td>[b]полужирное начертание[/b]</td><td><b>полужирное начертание</b></td></tr>
<tr><td>[i]курсивное начертание[/i]</td><td><i>курсивное начертание</i></td></tr>
<tr><td>[code]int i = 2 * 4; \\ код[/code]</td><td><code>int i = 2 * 4; \\ код</code></td></tr>
<tr><td>[spoiler]спойлер[/spoiler]</td><td><span class="spoiler">спойлер</span></td></tr>
<tr><td>[s]зачёркивание[/s]</td><td><s>зачёркивание</s></td></tr>
<tr><td>[nofmt]без форматирования ^^_^^ [/nofmt]</td><td>без форматирования ^^_^^ </td></tr>
</table>

<h2><div class="newssub">Cписки</div><div class="permalink">&nbsp;</div></h2>
<table border=1><tr><th>Ввод</th><th>Вывод</th></tr>
<tr><td>- Первый пункт<br>- Второй пункт</td><td><ul><li> Первый пункт</li><li> Второй пункт</li></ul></td></tr>
<tr><td>* Первый пункт<br>* Второй пункт</td><td><ul><li> Первый пункт</li><li> Второй пункт</li></ul></td></tr>
<tr><td>+ Первый элемент<br>+ Второй элемент</td><td><ol><li> Первый элемент</li><li> Второй элемент</li></ol></td></tr>
<tr><td># Первый элемент<br># Второй элемент</td><td><ol><li> Первый элемент</li><li> Второй элемент</li></ol></td></tr>
</table>

<h2><div class="newssub">Escape-символ ~</div><div class="permalink">&nbsp;</div></h2>
<table border=1><tr><th>Ввод</th><th>Вывод</th></tr>
<tr><td>2 ~* 2 = 4</td><td>2 * 2 = 4</td></tr>
<tr><td>uwa~~</td><td>uwa~~</td></tr>
<tr><td>*uwa~~*</td><td><i>uwa~</i></td></tr>
<tr><td>~^^_~^^</td><td>^^_^^</td></tr>
<tr><td>%%146~%%%</td><td><span class="spoiler">146%</span></td></tr>
<tr><td>~**курсив~**</td><td>*<i>курсив*</i></td></tr>
<tr><td>- Первый пункт~ <br>- Тоже первый пункт~<br>Тоже</td>
    <td><ul><li> Первый пункт<br>- Тоже первый пункт<br>Тоже</li></ul></td></tr>
<tr><td>~- Не пункт списка</td>
    <td>- Не пункт списка</td></tr>
</table>

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

<h2><div class="newssub">Ссылки и цитирование</div><div class="permalink">&nbsp;</div></h2>
<table border=1><tr><th>Ввод</th><th>Вывод</th></tr>
<tr><td>>>180000</td><td><a href="#180000">>>180000</a></td></tr>
<tr><td>>>/b/188888</td><td><a href="#b180000">>>/b/188888</a></td></tr>
<tr><td>>цитата</td><td><blockquote>>цитата</blockquote></td></tr>
<tr><td>
http://example.org</td><td><a href="http://example.org">http://example.org</a></td></tr>
<tr><td>
https://example.org</td><td><a href="https://example.org">https://example.org</a></td></tr>
<tr><td>
ftp://example.org</td><td><a href="ftp://example.org">ftp://example.org</a></td></tr>
</table>


<h2><div class="newssub">Особенности работы</div><div class="permalink">&nbsp;</div></h2>
<table border=1><tr><th>Отправляемое сообщение</th><th>Вывод</th></tr>
<tr><td>2 * 2 = 4, курсив</td><td>2 <i> 2 = 4, курсив</i></td></tr>
<tr><td>[b]*полужирный курсив</td><td><b><i>полужирный курсив</i></b></td></tr>
<tr><td>**[i]полужирный курсив**[/i]</td><td><b><i>[i]полужирный курсив</i></b>[/i]</td></tr>
<tr><td>*[i]курсив[/i]*</td><td><i>[i]курсив[/i]</i></td></tr>
<tr><td>[i][i]курсив*[/i]</td><td><i>[i]курсив*</i></td></tr>
<tr><td>[/i]~[/i]~~[/i]</td><td>[/i]~[/i]~~[/i]</td></tr>
<tr><td>[i]~*~[i]курсив[/i]</td><td><i>~*~[i]курсив</i></td></tr>
</table>

</div><br>

No. 1000171  
>>1000170
Добавлено с изменениями: ":" заменяется на "& #58;" чтобы отключить ссылки в коде/noformat.
No. 1000174  
in.webp - (17.18KB, 886×383)
1000174
>>1000171
Yatta!

BTW, у меня опечатки в markdown.html. Простите
# Там две одинаковых строки "`` (*-*) без форматирования ^^_^^ ``", наверное, стоит оставить последнюю;
# У обеих тех строк в поле столбца "Вывод" слева и справа стоит лишний "``";
# Под заголовком "Особенности работы" в столбце "Вывод" стоит лишний "[i]" в поле [i]полужирный курсив[/i]
No. 1000175  
num_list.webp - (45.43KB, 1870×326)
1000175
>>1000174
> #
Странно. УМВР.
No. 1000178  
>>1000175
Should be fixed. Я убрал часть переменных в continue-проверках.
No. 1000180  
>>1000178
Теперь работает. Проезд тоже оплачивается.

> `` (*-*) без форматирования ^^_^^ ``
У левого и правого "``" стоит пробел. Либо эти пробелы убрать, либо в "Вывод" добавить "&nbsp;". Похожая ситуация с "[/nofmt]".
No. 1000182  
Ну чтож, дополнительные пожелания по капче ещё есть, или в /b/ тоже включать как есть?
No. 1000183  
>>1000182
Включай.
Есть там одна картинка, где дЪвочка совсем далеко изображена сбоку и лица не видать.

Где-то в 2022-ом году в /b/ 410-го был пост в залоченном треде с пожеланиями по фапче. Если грабёр такую метаинформацию сохраняет, о залоченности, можно было бы найти...
Проскроллил тут 14 140 картинок из /b/ 410-го и немного сдался.
No. 1000184  
>>1000183
Могу разве текстопоиск дать.
Закрытость треда можно увидеть только на репарсинге, а граббер его только для автомодерации делает. Можно было бы расширить, да.
Удалить сообщение []
Пароль  
[Mod]