Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Изменяет переносы слов-названий методов в тексте #983

Merged
merged 1 commit into from
Oct 3, 2022

Conversation

Inventoris
Copy link
Member

Привет снова!

Заметил, что некоторые названия методов, по типу .addEventListener(), разбиваются в тексте только по спецсимволам, из-за чего возникают такие вот пустоты:

before

На мой взгляд, выглядит странно: точка остаётся на одной строке, а остальной текст улетает на следующую, плюс разрезается фон и получается, словно что-то «оторвали». И чем длиннее название метода, например .getElementsByClassName(), тем больше эта пустота.

Что, если добавить в функцию небольшую возможность разбивать подобные названия? Поскольку методы из нескольких слов, каждое из которых начинается с заглавной буквы, предложил бы такую логику:

  • Если в слове есть заглавные буквы, то:
  1. Если НЕ начинается на заглавную, то вставить <wbr> перед каждой заглавной;
    .addEventListener() => <wbr>.<wbr>add<wbr>Event<wbr>Listener<wbr>(<wbr><wbr>)<wbr>

  2. Если начинается с двух и более заглавных подряд, то вставить <wbr> только перед сочетанием заглавной и последующих букв в нижнем регистре;
    HTMLCollection => HTML<wbr>Collection

  3. Если чередуется сочетание заглавной и букв в нижнем регистре, то вставить <wbr> со второй пары;
    FormData => Form<wbr>Data

  4. В остальных случаях не трогать.
    Element => Element
    submit => submit

  • Если заглавных нет, то не трогать.

Получается так:

after

Выглядит вроде лучше, код прикладываю 😅

@solarrust solarrust added улучшение Доработка существующего движок Задачи по движку labels Sep 16, 2022
@nlopin
Copy link
Contributor

nlopin commented Sep 20, 2022

Привет! Смотрю разные случаи, поэтому долго

Copy link
Member

@igsekor igsekor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Решение интересное. Кажется, проблему решает 😇

@nlopin
Copy link
Contributor

nlopin commented Oct 3, 2022

Мне нравится, что мы избавляемся от многих странных пробелов, но если код начинается с точки, то лучшего не использовать её как для переноса. Я нашел случаи, где на строке остаётся одна точка, а метод уезжает на следующую строку (Например в removeEventListener):

image

Copy link
Contributor

@nlopin nlopin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Посмотрел ещё раз код код и понял, что это не связано с твоими изменениями

@nlopin nlopin merged commit df15b55 into doka-guide:main Oct 3, 2022
solarrust added a commit that referenced this pull request Oct 27, 2022
* Дополняет список исключений

* Дополняет список папку для рубрики «На собесе»

* Добавляет поля для рубрики «На собесе»

* Добавляет черновик шаблона для вопросов / ответов

* Добавляет динамику работы для ответов на вопросы

* Добавляет стили (такие же, как для советов)

* Вносит правочку (#982)

* Добавляет @HellSquirrel в codeowners (#991)

* Добавляет дополнительные места для переноса текста (#983)

* Исправляет нейминг (#989)

* Запрещает оставлять один символ имени метода при переносе на следующую строку (#998)

* Шаблонизирует названия (#999)

* Добавляет поддержку ссылок на Telegram для страницы автора (#995)

Co-authored-by: Igor Korovchenko <[email protected]>

* Добавляет превью цвета в блоках кода (#996)

* Добавляет код

* Правит выравнивание

* Добавляет роли для людей (#1004)

* Добавляет конструктор тегов

* Исправляет нейминг

* Добавляет роль для автора

* Окорачивает выражение

* Добавляет проверку на наличие значения в ключах

* Делает название роли в Практикуме с большой буквы

* Прессует роль

* Оставляет только один тип карточки для Твиттера (#1002)

* Добавляет ярлыки к имени автора

* Добавляет папку с интервью

* Меняет заголовок

* Добавляет описание к рубрике

* Исправляет метод загрузки коллекций

* Исправляет фильтрацию по ответам

* Добавляет фильтр для меню навигации по материалу

* Добавляет исключение для раздела a11y

* Добавляет список статей с ответом автора

* Правильно структурирует списки

* Меняет название поля

* Снова меняет название поля для ответов на вопросы

* Выносит общий код повыше по абстракции

* Добавляет авторов ответов в индекс

* Рефакторит цвета ярлыков

* Дорабатывает границы блоков

* Меняет описание рубрики

* Наклоняет текст описания

* Добавляет фон для ховера на ярлыках

* Поправляет ховер по умолчанию

* Исправляет цвет для ховера

* Повышает уровень свободы при выборе цвета

* Исправляет нумерацию

* Добавляет красный вопросик

* Меняет структуру содержания материала

* Брендирует рубрику в содержании

* Исправляет фильтр для ответов на вопросы

* Заворачивает вопрос в callout

* Правит стили, добавляет условие, меняет ссылку

* Меняет шило на мыло

* Удаляет лишний стиль

* Добавляет id к вопросу

* Уточняет селектор

* Возвращает содержание статьи в рабочее состояние

* Подправляет стили и вёрстку для плейсходера

* Приводит вёрстку в порядок

* Чинит цвета для ховера на ярлыках

* Добавляет трансформацию для картинок в ответах

Co-authored-by: Alexey Nikitchenko <[email protected]>
Co-authored-by: Egor Levchenko <[email protected]>
Co-authored-by: Denis Putnov <[email protected]>
Co-authored-by: Vadim Makeev <[email protected]>
Co-authored-by: Alena Batitskaia <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
движок Задачи по движку улучшение Доработка существующего
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants