Cats in orbital bar

#24728
О, ковёр. Прям как в олдфажном 2016.
Раз уж пересоздали, спрошу. Короче, мне нужен хтмл-препроцессор, но не всякие серверные шаблонизаторы вроде jade и тем более не говно по типу реакта, а что-то вроде sass для хтмл. Чтобы не писать закрывающие теги и не верстать 20 одинаковых элементов с разницей в иннерХТМЛ одного из десятка дочерних узлов, а написать один раз в теле цикла, и чтобы это всё просто компилировалось в хтмл на выходе и спокойно автоматизировалось через какой-нибудь gulp. Можно грабить корованы...
То есть, index.yobapreproc из папки с сорцами превращается в index.html в папке с рабочим билдом. Такое вообще встечается в природе или садиться хуярить свои парсеры?
Можно и из того же jade такое соорудить, но там велосипеды будут, он не для этого предназначен.
#24729
>>24728
> jade
> реакта
> sass
> gulp
Ты сейчас назвал кучу страшных слов, о которых я вообще не слышал, хотя вебом занимаюсь уже почти пятнадцать лет, хоть и непрофессионально.

Шаблонизаторов html существует дохуя и больше. В последний раз в такой роли я использовал парсер json jq — не скажу, что всё было замечательно, но формат входных данных можно сделать простым и удобным. Как-то так:
Cut
echo "Generating html..."
jq --slurp --raw-output --from-file <(<<END
"<!DOCTYPE html>
<html><head><meta charset=utf-8>
<title>\\(.[0].thread.title) — /\\(.[0].board.dir)/</title>
</head>
<body>",

(.[].posts[] |
"<div class=\'post\'>
<h6><a name=\'\\(.id)\' href=\'#\\(.id)\'>#\\(.id)</a>
\\(.date|strftime("%Y.%m.%d %H:%M"))</h6>",
(.attachments[].images |
" <a href=\'\\(.original.name)\'><img src=\'\\(.thumb_200px.name)\'></a>"),
if .parentId and .parentId != .opPostId then
" <a data-post=\'\\(.parentId)\' href=\'#\\(.parentId)\'>&gt;&gt;\\(.parentId)</a><br>"
else empty end,
" <span class=\'message\'>\\(.messageHtml)</span>",
if .repliedByIds[0] or .referencedByIds[0] then
" <div class=\'refmap\'>",
(.repliedByIds[], .referencedByIds[] |
" <a data-post=\'\\(.)\' href=\'#\\(.)\'>&gt;&gt;\\(.)</a> "),
" </div>" else empty end,
"</div>

"),

"</body></html>"
END
) .cache/*.json >index.html
#24732
>>24729
Судя по тому, что ты показал, у тебя там обычный html, в который просто подставляются данные по шаблону. Этак можно и PHP использовать, а потом вызывать скрипт командой в шелл прямо из галпфайла и выводить в index.html, но это 1) неудобно и 2) всё равно не то, что нужно. Посмотри, например, на slim (http://slim-lang.com), какой там чистый синтаксис получается по сравнению с ванильным хтмл. Хочу такое же, только не для запуска на сервер-сайде по запросу с клиента, а компилируемое, как sass вышеупомянутый. Можно и это адаптировать, но это неудобно, должно же быть что-то изначально заточенное под такие нужды.

>о которых я вообще не слышал, хотя вебом занимаюсь уже почти пятнадцать лет
Не удивлюсь, если веб для тебя — ночной кошмар и вынужденная необходимость, потому что как ты живёшь без ксс-препроцессоров и систем сборки я вообще не понимаю. Может, ты бэкендом в основном занимаешься.
Я тоже когда-то думал, типа говно для хипстеров, но, блядь, вот например даже сделать selection на чистом ксс это вот так:


::selection { background: #f00; color: #000 }
::-o-selection { background: #f00; color: #000 }
::-moz-selection { background: #f00; color: #000 }
::-webkit-selection { background: #f00; color: #000 }

То есть, куча уродливой копипасты. А если надо для нескольких элементов его сделать?
То же самое на sass будет что-то вроде:


// один раз задефайнил функцию
+selection($fg-color, $bg-color)
  @each $pref in "", -o-, -moz-, -webkit-
    ::#{$pref}selection
      background: $bg-color
      color: $fg-color

// и вызывай потом где хочешь
=selection(#f00, #000)

И скомпилируется в хуиту из листинга 1.

А насчёт галпа — если тебе нужно что-то сверстать, ты каждый раз вручную рефрешить будешь все браузеры после каждого изменения, чтобы посмотреть? А если жс у тебя на несколько файлов разбит, а в страницу нужно подключить один, чтобы не засирать window-контекст? А если ES6 нужно скомпилировать в ES5, чтобы под ослом работало? А если модуль, установленный через npm, подрубить нужно? А если если? Пиздец, короче, не понимаю. Крайне рекомендую ознакомиться, полезные инструменты на самом деле.
#24733
>>24732
Нахер для этого функция, используй mixin
#24734
>>24728
Чем тебе не нравится пхп для этих целей? Он именно это и делает. Хочешь чтобы всё было красиво - используй composer.phar install.
#24735
>>24734
Открой ссылку в >>24732. Пхп такое делает?
#24736
>>24735
Пхп делает ровно то, что ты ему скажешь делать, так что вопрос поставлен неверно. Похож ли у пхп синтаксис на этот чудо-слим? - Нет, не похож, но возможностей у него не меньше. Это не похвала, это констатация факта. Но ничто не мешает использовать и то, и другое.
Вот куча шаблонизаторов по первой ссылке из гугла: https://proglib.io/p/templating-languages-and-engines/
У всех этих шаблонизаторов свой особый синтаксис и свои возможности, все из которых, впрочем, сводятся к "писать поменьше чистого хтмл", циклам и неявным определениям скоупов.

Я так понимаю, писать хоть что-то на чистом хтмл считается чем-то плохим? Не совсем понятно, зачем тебе ещё один слой абстракций, если у тебя уже сам язык выполняет эту задачу.
#24737
>>24736
>писать хоть что-то на чистом хтмл считается чем-то плохим?
Ну опять ты за своё.
Да, писать одно и то же 20 раз (или копипастить, неважно) считается чем-то плохим, и я не хочу этого делать, и вместо
<div class="foo bar">1</div><div class="foo bar">2</div><div class="foo bar">3</div> хочу писать
for $i in 1..3 myDiv $i. Это странное желание?
#24738
>>24732
В том «обычном html» есть ещё два цикла — для оформления постов и аттачей в них (которых может быть несколько). Разве не это требовалось?

Ты угадал, он фронтендов я весьма далёк. Даже дальше, чем ты предположил: я занимаюсь серверами, на которых другие люди запускают свои бэкенды.

Далее. Мне кажется, ты настолько увлёкся всякими костылями, что забыл тщательно изучить сам CSS: в приведённом примере копипаста не нужна.

::selection, ::-o-selection, ::-moz-selection, ::-webkit-selection { background: #f00; color: #000; }
Она может быть нужна в других случаях, но и в них могут быть придуманы пути обхода — через наследование через стили родительских элементов, навешивание нескольких стилей на элемент и т.д.

>>24737
Что мешает этот цикл писать средствами того языка, на котором ты ведёшь разработку?
#24739
>>24737
Я не предлагал "писать 20 раз одно и то же", для этого есть пхп. Просто там, где можно написать 1 раз, можно так и делать (внезапно).
#24740
>>24738
Советую тебе самому подучить ксс, прежде чем делать такие заявления, потому что селекшон так не работает. Хуй его знает почему, но вот не работает, надо для каждого префикса отдельно прописывать.
Что касается твоего кода, ты всё равно пишешь хтмл со всеми его закрывающими тегами, что неудобно, как я уже сказал, это можно и на PHP сделать. Только это сильно задачу не облегчит.
Наверное, тебе не очень понятно, как мешают эти теги, но когда верстаешь часто, это начинает заёбывать.
#24742
 2018-10-15_12:29:05_530x235.png
>>24740
Вот почему.
https://www.w3.org/TR/selectors/#grouping:
> If just one of these selectors were invalid, the entire selector list would be invalid.

Что касается закрывающих тегов, то многие редакторы их умеют закрывать сами. В vim это делается по ^x o из режима вставки. Ещё можно написать что-то вроде пикрелэйтеда, но он не показался мне слишком удобным.
#24746
Самое ужасное, что я даже слыхивал оригинал этого "рэпчика". Вы не поверите.
Но голос у неё классный, всё же — так не терять интонацию на всём протяжении — это круто, мне кажется.
#24749
Хитро. Но, блядь, нихуюшечки.
#24755
Лол, такие-то отчаянные попытки.
#24759
>>24755
Рано или поздно ему надоест.
#24760
>>24759
Ему не надоедает второй год.
Честно говоря, это уже заебало. Вот обычно я отношусь к спаму, как к чему-то закономерному, но этот человек просто надоел. Интересно, это его армия спамеров или он сам это всё постит?
#24762
А что там у канадцев, канаба легализаба, что ли?
Набрал сейчас в поисковике - по ходу да. Ну, молодцы.
#24763
>>24759
Видимо, только когда его поделие сдохнет.
#24765
>>24760
Его бы завидное упорство, да на более благотворные цели.
#24769
>>24730
Этот патч делает с чёрными буквами ужасные вещи, особенно когда за ними в консоли белый фон.
#24770
Пиарящаяся параша на букву д теперь имеет кличку Гей-клуб "Дыра Кулумбека" благодаря автозамене на Милицаче (02ch.su). Весьма подходящее название, имхо.
#24771
>>24770
В честь этого надо внести правку на Колчевики.
#24772
 2018-10-24_14:55:10_812x484.png
>>24769
Да, надо бы что-то с этим придумать. Отключать тень на буквах темнее фона или делать вместо неё светлую грань с другой стороны, например.

Ещё в нём есть проблемы со стабильностью: при отключении теней терминал падает.
#24773
>>24771
А могли бы свою вики иметь!
#24774
>>24773
Ах да, у нас же сейчас все, кому не лень, имеют вики. Больше вики богу вики!
#24775
>>24774
Вот именно, у всех вики есть, а у нас ее нет. Неправильно как-то.
#24780
>>24775
Это определённые усилия и наличие мотивации. Специфическое хобби, к которому не у каждого лежит.
#24782
У меня такая новость, что смотри не охуей.
Можно писать прямо здесь.
Да-да. Никого не стесняясь.
Видишь эту форму ввода? Она хочет, чтобы ты в неё ввёл.
#24792
>>24787
Эх, а вот запилят виртуальный интеллект — тогда точно можно будет сделать полноценную 2D вайфу, причём самоанимирующуюся в реальном времени, с которой можно будет и общаться и вести свои супружеские дела...
Интересно, как у нас будет с правами нечеловеческих интеллектов?
#24794
>>24792
Этак дойдёт до того, что у каждого NPC в играх тоже будут права. Ни убить, ни полутать.
Двухмерной вайфу тоже лучше без прав — если эксперименты над живыми существами ограничиваются, то над ними нет, и можно будет собирать@кастомизировать, что называется, под себя и для себя, детально и с любовью. Ещё бы не был весь их софт проприетарным.
#24795
>>24794
Никогда не понимал людей, которые убивают мирных NPC в играх. Зачем так делать?
А вот вайфу нужны права, иначе не будет интереса. Вернее, будет, но не больше, чем от танцующей Коны на десктопе или от игры, пройденной с читами.
#24798
 konata_desktop_dancer.jpg
>>24795
Никогда не убивал мирных NPC в играх. И правда же, зачем, когда враждебных полно?

Если красота в глазах смотрящего, а в случае виртуальных девочек целиком и полностью, то интерес создаёт сам пользователь — в том случае, когда Кона ему угождает. А мне, например, нет, я хочу видеть Кагами, но ничего с этим не поделаешь — анимация хранится в каком-то закрытом формате, разработанным давно почившей конторой, и основанном на Flash.
И, допустим, мне запрещено этот программный продукт модифицировать, так что придётся довольствоваться тем, что есть.
Сечёшь? ПО, в отличие от уже готовых людей, можно изменять. Иначе вся разница теряется. А такую-то вещь хочется проработать самому, исходя из своих предпочтений.

К слову, в /s/ тоже почившего Нульча были попытки расковырять этот экзешник или переписать под операционную систему, но безуспешные.
#24799
>>24798
Мне кажется, это парадокс Тесея. Вот есть, допустим, танцующая Кона, а ты изменил её на Кагами. Ну, пришлось поменять код. Но теперь это уже не танцующая девочка, для тебя теперь это - твой собственный продукт (ну, почти). Ты знаешь, как оно работает. Может, даже досконально. Ты получил управление над этой системой, маленькой системой в виде танцующей девочки. А как только ты получаешь полный контроль, у тебя не остаётся аспекта непознанного. Всё, она вся твоя, всё изведано. И вот вопрос, это всё ещё та же самая танцующая девочка, или ты как Нео, видишь на её месте собственный код? Поменялось ли содержание, поменялась ли форма? Доставляет ли это то же самое удовольствие?
Думаю, идеальная диджитал-вайфу - это вайфу, интеллект и эмоции которой ты не можешь контролировать в принципе, зато можешь контролировать её облик, пресекать её посягательство на твою почту, можешь закрыть её, когда не хочешь говорить.
Сейчас мы об этом говорим, как о чём-то абстрактном, но вот увидите, пройдёт несколько лет и этот вопрос встанет в мировом интернет-сообществе - "где грань дозволенного в контроле вайфу".
#24801
>>24798
>флеш
По моему, аниме японцы только совсем не давно в цифре рисовать стали?
#24803
>>24802
> Stoking
Stocking. With Garterbelt, Раз уж на то пошло.
#24804
Похоже, nimp.org всё. А что ещё есть похожего? Помню какой-то с "nigge.rs" в домене, но он тоже не работает.
#24810
>>24805
Кусочком волшебства в этих поскучневших интернетах.
#24812
 a494db260af96c176e8ffe3bd1000bab.png
>>24811
Наверное, там не то. Мне бы со скриптами и спецэффектами, а гоатсе и прочие и так известны.
> Attention Required
Не сохранишь эту страницу с картинками?
#24813
>>24812
https://my.mixtape.moe/kszcjx.pdf
Там просто упоминается этот сайт в списке среди других.
А вообще про нимп можно найти информацию на лурке.
#24818
 krita_saving.png
Всё это уже видено и читано, информация на лурке получена.
За пдфку спасибо, хотя и не самый удобный это формат для сохранения веб-страничек. Но познавательно — и часть сайтов предсказуемо уже приказали долго жить, хотя смотрел ещё не все. Мне именно browser fucker\'а хотелось посмотреть, как их там обозвали.
Авось когда-нибудь да наткнусь на похожее.
#24822
>>24818
> не самый удобный это формат для сохранения веб-страничек
Раньше я сохранял в MHTML. Это было довольно удобно, но не всегда хорошо работало. Зато на выходе - один файл, а не файл и папка с контентом, например. А ещё в пдф нет скриптов. Хотя сайт выглядит по-другому и по ссылкам переходить не так удобно, да.
> browser fucker
Да уж, раньше интернеты были более весёлым местом. Хотя и сейчас такие вещи существуют, но уже притихшие какие-то, "правильные", чтобы пользователь посмеялся и закрыл страницу, а не разозлился, а не то сайт быстро улетает в листы адблокеров, а возмущённые пользователи соцсетей строчат жалобы.
#24824
>>24822
Если на лисе ездишь, для неё есть MozArchiver: сохраняет в .maff, который просто — зазипованная страница и папка со стилями/картинками — если аддона нет, можно распаковать и посмотреть. Скрипты при сохранении вырезаются.
MHTML он тоже умеет показывать и сохранять.
> Хотя и сейчас такие вещи существуют, но уже притихшие какие-то, "правильные", чтобы пользователь посмеялся и закрыл страницу
Я очень даже посмеялся, когда весь экран завалили открытые тандербёрды, а в них письма «мировой партии гей-ниггеров» с просьбой принять в неё или как-то так. Для этого достаточно дохуиллион раз открыть mailto:, наверное. И таки это был не IE, а фæрфокс десять-какой-то версии на XP, с тем последствия были б фееричнее.
#24837
>>24818
Значит, лайнаксы тоже так умеют?
#24887
>>24881
Ну, не Титанике — он был технологическим достижением своего времени и наебнулся наоборот очень неожиданно.
На ветхом, расползающемся плоту.
Сочувствую.
#24889
>>24887
Подобное сравнение уместно с точки зрения обречённости если только. Да, ветхий расползающийся плот.
А для всех ли неожиданно произошло крушение «Титаника», есть множество теорий о заговоре и махинациях со страховыми компаниями же. Подробности в первой попавшейся документалке уровня рентиви.
Куда любопытнее вот это: https://en.wikipedia.org/wiki/Titanic_(1943_film)
Снятый немцами под руководством министерства Геббельса фильм.
#24891
>>24890
Трудно придумать худшее применение для рамдиска. Ты ебанутый? Не, я, конечно, вижу, что ты ебанутый, но спрашиваю для порядка.
#24923
Аноньчики! А ведь новый год скоро. В этом-то году будем кино смотреть на синхтубе?
#24926
>>24923
Отчего нет? Давайте сделаем список праздничных фильмов.
#24928
>>24927
ХЗ, что это за фильм. Как называется?
#24929
>>24928
Nullnyan: The Movie / Никакихнянов: Фильм.
#24930
А вот на Ронери люди предлагали разные интересные фильмы.
#24933
>>24930
Какие? Охотно посмотрю интересные.
#24944
 rage cat.jpg
Таки это был кулер. Полмесяца не тревожил, сегодня снова зашумел — причём возобновляет это дело каждые три минуты. Уже продувал и чистил. Температура 47-50°C, если верить показаниям ACPI.
Заебал шуметь, сволочь, голова болит. А заменить/смазать/подшипники нечем — ночью тем более. Только перепроверить болты на предмет плохой затяжки и возможной вибрации.

>>24881
#24948
>>24933
«Ленин в октябре».