Материал Немножко доделал плагин авто-линковки для локальной базы данных / системы вед…
0%

Немножко доделал плагин авто-линковки для локальной базы данных / системы вед…

Немножко доделал плагин авто-линковки для локальной базы данных / системы ведения заметок 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

https://logseq.com/

И в магазине расширений LogSeq также доступен по ключу logseq-automatic-linker-international

Всё началось с того, что я активно использовал Logseq для ведения заметок на русском языке. Плагин Automatic Linker отлично работал с английским, но с русским текстом возникали проблемы:

  • Ссылки не создавались для русских слов
  • Путаница с регистром букв
  • Проблемы с пробелами в названиях
  • Я заметил, что пользователи из Китая, Японии и Кореи сталкивались с похожими проблемами. Решил это исправить! (у челика там issue висит, а оригинальное репо мертво)

Добавил тестов и пошел переписывать

  1. Добавил поддержку следующих языков:
  • Русский 🇷🇺
  • Китайский 🇨🇳
  • Японский 🇯🇵
  • Корейский 🇰🇷
  • Немецкий 🇩🇪
  1. Улучшил обработку:
  • Unicode символов
  • Смешанного текста
  • Специальных символов
  • Пробелов в разных языках

Основной вызов был в правильной обработке Unicode. Вот ключевой фрагмент кода:

const parseForRegex = (s: string) => { s = s.replace(/[-/\^$\ast +?.()|[]{}]/g, “\$&”); // Поддержка пробелов во всех языках s = s.replace(/\s+/g, “[\s\u0020\u00A0]+”); return s; };

Также починил пачку багов и ускорил загрузку

Оригинал в Telegram

Нашли неточность? Выделите фрагмент текста — рядом появится жучок.

Нужен разбор именно вашей ситуации?

Статья описывает общий случай. Если у вас частный — можно разобрать его отдельно, платно. А если не хватает целого материала, предложите тему: её оплачивают вскладчину, и она выходит открытой для всех.

Доска запросов