Много сгоревших свечей пришлось сжечь чтобы разобраться как работает генератор статических сайтов zola.
Оно использует .md файлы и это должен быть максимально безопасный вариант.
Оказалось, что оно не может рендерить ``` и зачем-то внутри всё оборачивает слоями <code> и <p> даже если выключена подсветка.
Это печально — упасть на тексте который не надо трогать (потрогайте картинки).


(иногда фантазирую как конвертирую вордпресс в золу и при этом меняю структуру урлов и мне очень тепло)
#zola #web #ssg #markdown #wtf
2025.11.16 15:23
В терминале можно неплохо удалять. Например, если у вас есть строка и курсор в центре:
xxx xxx █ xxx xxx
То вы можете:
– CTRL+W чтобы удалить слово слева
– ALT+D чтобы удалить слово справа
Почему?
2025.11.10 23:17
Очень нужно сильно захотелось написать простой маленький консольный бинарничичек. Конечно же не на пхп ведь мы же не монстры, правда?
Немедленно открываем документацию к racket чтобы узнать как это делать:
(command-line optional-name-expr optional-argv-expr
flag-clause ...
finish-clause)
optional-name-expr =
| #:program name-expr
optional-argv-expr =
| #:argv argv-expr
flag-clause = #:multi flag-spec ...
| #:once-each flag-spec ...
| #:once-any flag-spec ...
| #:final flag-spec ...
| #:usage-help string ...
| #:help-labels string ...
| #:ps string ...
flag-spec = (flags id ... help-spec body ...+)
| (flags => handler-expr help-expr)
flags = flag-string
| (flag-string ...+)
help-spec = string
| (string-expr ...+)
finish-clause =
| #:args arg-formals body ...+
| #:handlers handlers-exprs
arg-formals = rest-id
| (arg ...)
| (arg ...+ . rest-id)
arg = id
| [id default-expr]
handlers-exprs = finish-expr arg-strings-expr
| finish-expr arg-strings-expr help-expr
| finish-expr arg-strings-expr help-expr
unknown-expr
Пожалукйста, потратьте минутку и насладитесь этим шедевром форматирования.
Спасибо, больше не надо этого делать. Если вы не поняли как это работает, то вот вам настоящий пример от человека который понял:
(define parser
(command-line
#:usage-help
"Here you can write a general description of your program"
"You can have multiple strings to make multiple lines"
#:once-each
[("-m" "--my-parameter") MY-PARAMETER-NAME
"write a short description of what setting MY-PARAMETER-NAME does"
(my-parameter (string->number MY-PARAMETER-NAME))]
[("-a" "--another-parameter") ANOTHER-PARAM
"a little description of ANOTHER-PARAM"
(another-parameter (string=? "true" ANOTHER-PARAM))]
[("-s" "--string") A-STRING
"what is A-STRING?"
(a-string A-STRING)]
#:args () (void)))
Очень мне нравится как в они в этом racket’е любят использовать магические строки типа #:once-each которые непонятно что делают и никак не автодополняются официальной IDE.
Очень, очень захватывающе. Пожалуй, на этом с racket я закончу.
#racket #why #wtf #theway #deep
2025.01.26 14:54
Invalid formula - Operator "=" doesn't support TEXT = NUMBER. Operator "=" supports ANY = ANY.
А почему `TEXT = NUMBER` это не `ANY = ANY`??????77
2024.06.28 10:22
Разработчики проекта Gentoo объявили о введении в строй отдельного репозитория с бинарными пакетами, собранными с поддержкой третьей версии микроархитектуры x86-64 (x86-64-v3), применяемой в процессорах Intel примерно с 2015 года
Новый репозиторий позволяет добиться более высокой производительности на современных процессорах, благодаря задействованию в программах расширенных инструкций.
Приятно видеть что мейнтейнеры генты не предают идеи генты!
2024.02.08 00:44
Традиционно, шрифты это ад и ненависть. Как настраивать fontconfig понимают только те кто понимают, но я не из тех кто пониимает и поэтому не понимаю. При каждой попытке занырнуть в этот xml я понимаю что не стоило этого делать.
Каким-то образом понаставив каких-то пакетов наугад удалось найти какой-то моноширинный шрифт на который больно смотреть, но всё же можно смотреть. Это была победа.
Понаставив каких-то других шрифтов начали показываться эмодзи, даже цветные, но не все. Ну, это уже была победная победа.
Но после очередного обновления прекрасного прекрасного rolling release эмодзи стали показываться не все, но зато чёрно-белые. И всё, как это починить непонятно.
Доколе.
#arch #linux #fonts #emoji #hate #why #wtf
2024.02.08 00:43
А вы знаете что в линуксах есть файл /etc/services и в него можно добавить алиасы для портов? Напрмер:
# tail -n 1 /etc/services docker-git-http 23456/tcp
Ну, знаете, удобно не хардкодить везде какие-то числа которые потом невозможно поменять, а просто пишешь алиас и везде используешь. Ну, прямо как с /etc/hosts и всякими локалхостами! Очень удобно!
Только именованные порты не работают ни в nginx, ни в docker.
Как? Почему? Кто виноват? Как жить с этой печалью?
2024.01.03 14:35
# pacman -Sy my-package # pacman -Sy my-package :: Synchronizing package databases... error: failed to synchronize all databases (unable to lock database)
О нет о нет как же быть пользователь хочет ставить два пакета одновременно о нет как же быть паника паника ошибка
2023.11.21 15:43
После генты арч не вызывает паники, но всё же некоторое недоумление:
$ modprobe acpi_call modprobe: FATAL: Module acpi_call not found in directory /lib/modules/6.5.7-arch1-1 $ uname -a Linux computer 6.5.7-arch1-1 #1 SMP PREEMPT_DYNAMIC Tue, 10 Oct 2023 21:10:21 +0000 x86_64 GNU/Linux $ pacman -Ql acpi_call | grep '/modules/' acpi_call /usr/lib/modules/ acpi_call /usr/lib/modules/6.6.1-arch1-1/ acpi_call /usr/lib/modules/6.6.1-arch1-1/extramodules/ acpi_call /usr/lib/modules/6.6.1-arch1-1/extramodules/acpi_call.ko.xz
Это вообще как и почему произошло? Ну то есть я понимаю почему это произошло и что арч надо полностью обновлять каждые 4 минуты (и перезагружаться), но всё же у меня есть некоторые вопросы.
2023.11.19 19:13
Захотелось поставить пакет из Arch AUR и это интересный опыт.
Сначала надо вручную склонировать репозиторий, потом собрать пакет, а потом установить пакет через пакман.
ERROR: Running makepkg as root is now allowed as it can cause permanent, catastrophic damage to your system
И вот мне теперь что, вместо того чтобы поставить пакет надо создавать /home, придумывать имя пользователю и ставить из под него?
Я вот ещё не готов к такому шагу, у меня /home ещё даже не монтирутеся, вот почему???77
В генте всё намного проще с левыми пакетами.
Можно, конечно, для Arch AUR поставить второй менеджер пакетов который будет всё это прятать в себя. Но те два на которые мне удалось проверить можно поставить только из Arch AUR.
Потрясающе!
Только для того чтобы разрешило собрать пакет из AUR надо настроить всю систему сначала.
# makepkg -scir ==> ERROR: Cannot find the fakeroot binary, ==> WARNING: Cannot find sudo binary. Will use su to acquire root privileges.
🤌
#linux #gentoo2arch #arch #wtf
2023.10.31 22:56