Немножко доделал плагин авто-линковки для локальной базы данных / системы ведения заметок Logseq (а-ля Obsidian только open source)
#logseq #plugin #opensource #productivity #notes #i18n #russian #chinese #japanese #korean #weekenddevelopment #nightdevelopment
Что это и зачем?
Плагин который исходя из ваших предыдущих заметок позволяет создавать некоторый back-link как в Википедии
Чу поделав?
- Добавил мультиязыки
- Начал экспериментировать с NLP, плюс убрал case sensitive и так далее
GitHub: https://github.com/the-homeless-god/logseq-automatic-linker-international
И в магазине расширений LogSeq также доступен по ключу logseq-automatic-linker-international
Всё началось с того, что я активно использовал Logseq для ведения заметок на русском языке. Плагин Automatic Linker отлично работал с английским, но с русским текстом возникали проблемы:
- Ссылки не создавались для русских слов
- Путаница с регистром букв
- Проблемы с пробелами в названиях
- Я заметил, что пользователи из Китая, Японии и Кореи сталкивались с похожими проблемами. Решил это исправить! (у челика там issue висит, а оригинальное репо мертво)
Добавил тестов и пошел переписывать
- Добавил поддержку следующих языков:
- Русский 🇷🇺
- Китайский 🇨🇳
- Японский 🇯🇵
- Корейский 🇰🇷
- Немецкий 🇩🇪
- Улучшил обработку:
- Unicode символов
- Смешанного текста
- Специальных символов
- Пробелов в разных языках
Основной вызов был в правильной обработке Unicode. Вот ключевой фрагмент кода:
const parseForRegex = (s: string) => { s = s.replace(/[-/\^$\ast +?.()|[]{}]/g, “\$&”); // Поддержка пробелов во всех языках s = s.replace(/\s+/g, “[\s\u0020\u00A0]+”); return s; };