Поддержка русских символов в тегах
This commit is contained in:
parent
350e8b3471
commit
6c6191480e
61
RUSSIAN_TAGS_UPDATE.md
Normal file
61
RUSSIAN_TAGS_UPDATE.md
Normal file
@ -0,0 +1,61 @@
|
||||
# Обновление поддержки русских символов в тегах
|
||||
|
||||
## Описание изменений
|
||||
|
||||
Добавлена поддержка русских символов в тегах приложения NoteJS. Теперь пользователи могут использовать кириллические символы в тегах наряду с латинскими буквами и цифрами.
|
||||
|
||||
## Измененные файлы
|
||||
|
||||
### `/public/app.js`
|
||||
|
||||
1. **Функция `extractTags`** (строка 45):
|
||||
- Изменено регулярное выражение с `/#(\w+)/g` на `/#([а-яё\w]+)/gi`
|
||||
- Добавлен флаг `i` для регистронезависимого поиска
|
||||
- Добавлена поддержка русских букв (а-я, ё)
|
||||
|
||||
2. **Функция `makeTagsClickable`** (строка 62):
|
||||
- Изменено регулярное выражение с `/#(\w+)/g` на `/#([а-яё\w]+)/gi`
|
||||
- Добавлен флаг `i` для регистронезависимого поиска
|
||||
- Добавлена поддержка русских букв (а-я, ё)
|
||||
|
||||
## Поддерживаемые символы в тегах
|
||||
|
||||
- Латинские буквы (a-z, A-Z)
|
||||
- Русские буквы (а-я, А-Я, ё, Ё)
|
||||
- Цифры (0-9)
|
||||
- Подчеркивания (_)
|
||||
|
||||
## Примеры использования
|
||||
|
||||
Теперь поддерживаются теги:
|
||||
- `#работа` - русский тег
|
||||
- `#проект` - русский тег
|
||||
- `#важно` - русский тег
|
||||
- `#work` - латинский тег
|
||||
- `#задача1` - смешанный тег с цифрами
|
||||
- `#meeting_встреча` - смешанный тег
|
||||
|
||||
## Тестирование
|
||||
|
||||
Создан тестовый файл `test_russian_tags.html` для проверки функциональности:
|
||||
- Извлечение русских тегов из текста
|
||||
- Преобразование тегов в кликабельные элементы
|
||||
- Обработка смешанных тегов (русские + латинские символы)
|
||||
|
||||
## Обратная совместимость
|
||||
|
||||
Изменения полностью обратно совместимы:
|
||||
- Существующие теги с латинскими символами продолжают работать
|
||||
- Все функции фильтрации и поиска работают с русскими тегами
|
||||
- Дизайн и стили тегов остались без изменений
|
||||
|
||||
## Технические детали
|
||||
|
||||
Регулярное выражение `/#([а-яё\w]+)/gi`:
|
||||
- `#` - символ решетки в начале тега
|
||||
- `[а-яё\w]+` - один или более символов из диапазона:
|
||||
- `а-я` - русские строчные буквы
|
||||
- `ё` - русская буква ё
|
||||
- `\w` - латинские буквы, цифры и подчеркивания
|
||||
- `g` - глобальный поиск (все совпадения)
|
||||
- `i` - регистронезависимый поиск
|
||||
@ -42,7 +42,7 @@ function autoExpandTextarea(textarea) {
|
||||
|
||||
// Функция для извлечения тегов из текста заметки
|
||||
function extractTags(content) {
|
||||
const tagRegex = /#(\w+)/g;
|
||||
const tagRegex = /#([а-яё\w]+)/gi;
|
||||
const tags = [];
|
||||
let match;
|
||||
|
||||
@ -59,7 +59,7 @@ function extractTags(content) {
|
||||
// Функция для преобразования тегов в заметках в кликабельные элементы
|
||||
function makeTagsClickable(content) {
|
||||
// Сначала находим все теги, которые еще не обернуты в HTML
|
||||
const tagRegex = /#(\w+)/g;
|
||||
const tagRegex = /#([а-яё\w]+)/gi;
|
||||
let result = content;
|
||||
let match;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user