Debounce

When last time I lamented the unoriginality of my tool nfp I also entertained the idea of salvaging some value from it by extracting the event debouncing part into a stand-alone tool. So that's what I did. Meet debounce, a Rust library and a prototype command-line tool. Rust In all ...

New pet project

So anyway, I'm making a shopping list app for Android. As I understand, "shopping list" is something of a hello-world exercise of Android development, which may explain why there are so many rudimentary ones in Google Play. Only in my case I actually need one, and I know exactly what ...

Misconception about OSS support

You wouldn't think a free syntax highlighting library would be a strong dependency for the development process of a business, and yet I'm waking up on a Monday to a flurry of comments and even one personal email from engineers eager to ask me to work for free for their ...

highlight.js turns 10

Almost exactly ten years ago on August 14 I wrote on this very blog (albeit in a different language): So on yesterday's night I got worked up and decided to try and write [it]. But on a condition of not dragging it on for many days if it didn't work ...

Cadence for highlight.js

We're now doing releases of highlight.js on a cadence of 6 weeks. The latest release 8.8 was the second in a row (which is what technically allows me to write "are now doing"). The reason for that is we (well, mostly me) had a certain difficulty deciding when to actually ...

Styles unification: first results

Yesterday I gathered some willpower and began working on a long awaited (by myself, at the least) style unification in highlight.js. Here's the first taste of why I think it is important. Let's take one of the recently added style — the "Android Studio" — and see how it displays ...

I learned C# in 4 days!

You know those crazy books, "Learn whatever programming in 21 days"? I mean, who can afford spending that much time, right? Some background I have a friend who employs a very particular workflow for dealing with his digital photos. It often involves renaming and merging files from different cameras into ...

ijson 2.0

Yesterday I released version 2.0 of the streaming JSON parser ijson. It mostly includes bug fixes accumulated over the last year and the only reason to change the major part of the version number was that import ijson doesn't do any discovery magic anymore. Import Previously, when you did import ...

highlight.js: what's next

This is a loosely ordered dump of ideas about the future of highlight.js presented for purposes of information and discussion. The project is already big enough that the best I can do for it is not writing code but trying to get people interested in joining in. Let's see if ...

New life of Marcus

A while ago I reported on switching this blog to a custom software named Marcus. Despite its source code being available in the open I didn't intend developing it into a full-blown project for two reasons: a) maintaining it would have taken much more time than I could afford and ...

HTTP and JSON in highlight.js

Fresh from the oven, highlight.js now has a pretty cool feature that, to the best of my knowledge, is not supported by any other syntax highlighter. Namely, we can now recognize and highlight HTTP request headers and its body if it happens to be code in a language we know. ...

Sponsoring in highlight.js

I want to draw your attention to an interesting offer made by Adam Kennedy from Kaggle to sponsor the development of syntax highlighting for the R language: highlight.js came to our attention with the addition of MATLAB support, as it is one of the two dominant languages used by our ...

Rainbow.js — a new kid on the highlighters' block

There was a small spike in my referrers stats that led me to a new JavaScript highlighting library — rainbow.js. And since I love bashing other highlighters I couldn't resist this time too :-). Oh, but be sure that all of this is intended of course as a constructive criticism ...

Completely unfair comparison of Javascript syntax highlighters

During the time before latest release of highlight.js 6.0 I decided — for the first time in more than 4 years — to actually look at other highlighting libraries. Sure I knew of their existence before but nonetheless never felt compelled to do any serious comparison because highlight.js is a ...

highlight.js 6.0 beta

В порыве борьбы с прокрастинацией занялся задачкой, которую давно откладывал — рефакторингом определений языков в highlight.js в новый синтаксис. Да так удачно занялся, что решил заодно и другие мелкие задачки, которые планировал на версию 6.0. И вот без лишних слов представляю бету новой большой версии и прошу её потестировать. Ссылки ...

highlight.js открывается

Хотя код highlight.js всегда был открыт, библиотека никогда не была в полном смысле слова проектом. Не было общего места общения разработчиков, wiki с документацией и баг-тракинга. Вместо этого я просто принимал по почте новые языки, патчи и отвечал на вопросы. Причём часто делал это очень медленно. Несмотря на это, хайлайтер ...

Хостинг для highlight.js

Теперь highlight.js хостится на Яндексе, и его не обязательно скачивать, можно просто линковать напрямую с yandex.st. Этот архив, правда, содержит не все языки, потому что тогда бы он был неприлично большой. Поэтому я выбрал языки, которые чаще всего скачивались, и взял столько их, чтобы итоговый архив не превышал 30К. В ...

highlight.js 5.9

Лучше поздно, чем никогда. Прошедшей ночью я наконец выложил очередную версию highlight.js, в которой появилось много приятных добавлений, некоторые из которых были готовы ещё полгода назад. Новые языки Андрей Фёдоров описал язык Lua давний контрибьютор хайлайтера Пётр Леонов описал язык конфигурации Nginx Владимир Москва описал TeX Таким образом, сейчас highlight.js ...

highlight.js в IE: прошу помощи

А есть ли среди моих читателей специалисты по отладке javascript'а в IE? Народ у меня на форуме заметил ошибку с тем, что IE где-то падает, когда highlight.js пытается раскрасить текст с тегами. Остальные браузеры работают. И поскольку у меня навыков отладки в IE нет почти никаких, вот — прошу помощи.

Слияние DOM-деревьев на Javascript'е

Вчера полдня реализовывал фичу для новой версии highlight.js: слияние пользовательской и подсвеченной разметки кода. В процессе написания у меня родилась довольно общая функция слияния DOM-деревьев, которой хочется поделиться. Мне, вообще-то, кажется, что это уже где-то есть написанное, но вчера моё Google-fu меня подвело. Поэтому я отчасти надеюсь, что мне кто-нибудь ...