# Предложение для плагина "Characters Required"

**URL:** https://meta.discourse.org/t/suggestion-for-the-characters-required-plugin/358621
**Category:** Feature
**Created:** [24.Март.2025 16:24:49 UTC](https://meta.discourse.org/t/suggestion-for-the-characters-required-plugin/358621 "2025-03-24T16:24:49Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![alltiagocom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alltiagocom/32/492709_2.png) [@alltiagocom](https://meta.discourse.org/u/alltiagocom)
#### Post date: [24.Март.2025 16:24:49 UTC](https://meta.discourse.org/t/suggestion-for-the-characters-required-plugin/358621/1 "2025-03-24T16:24:49Z")

</div>

Я только что установил плагин по адресу [GitHub - discourse/discourse-characters-required: Display how many characters are required before a post be made · GitHub](https://github.com/discourse/discourse-characters-required) и у меня есть два предложения, которые, как мне кажется, сделают его лучше:

1. Было бы полезно добавить аналогичную функцию для заголовка. Обязательно нужно показывать минимальное количество символов и там.
2. Как только пользователь начинает вводить текст, надпись могла бы меняться с «Требуется N символов» на «Осталось N символов» (или «остаток»). Если же пользователь удалит текст, надпись снова вернётся к «Требуется». Это лишь небольшая доработка, чтобы функция была более согласована с тем, что происходит в данный момент. Не обязательно, просто улучшение.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [24.Март.2025 17:00:32 UTC](https://meta.discourse.org/t/suggestion-for-the-characters-required-plugin/358621/2 "2025-03-24T17:00:32Z")

</div>

На шаг впереди. 😉

> [@Character count when writing description](https://meta.discourse.org/t/character-count-when-writing-description/190698/14?u=merefield):
>
> Done! If you think this is awesome & I did a great job, you can [buy me a coffee](https://github.com/sponsors/merefield/sponsorships?sponsor=merefield&tier_id=464896&preview=false) coffee@fokxwink

Если мой компонент переживёт обновление нового редактора, я создам для него отдельную тему.

Обратите внимание, что это компонент темы. Пожалуйста, добавьте его на GitHub в избранное ⭐

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [24.Март.2025 17:05:53 UTC](https://meta.discourse.org/t/suggestion-for-the-characters-required-plugin/358621/3 "2025-03-24T17:05:53Z")

</div>

Вы знаете, почему официальное решение — это плагин, а не компонент темы? Какие функции требуют, чтобы оно было именно плагином?

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [24.Март.2025 17:06:31 UTC](https://meta.discourse.org/t/suggestion-for-the-characters-required-plugin/358621/4 "2025-03-24T17:06:31Z")

</div>

Мой компонент темы делает плагин полностью ненужным. Плагин довольно старый и появился раньше, чем были созданы компоненты тем. На момент его разработки такой вариант не был доступен.

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [24.Март.2025 17:07:06 UTC](https://meta.discourse.org/t/suggestion-for-the-characters-required-plugin/358621/5 "2025-03-24T17:07:06Z")

</div>

Понимаю, просто интересно, почему Discourse не сделал это TC, а не плагином 🤷

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [24.Март.2025 17:07:27 UTC](https://meta.discourse.org/t/suggestion-for-the-characters-required-plugin/358621/6 "2025-03-24T17:07:27Z")

</div>

Потому что тематические компоненты тогда ещё не существовали. Это не было доступно.

---

<div class="post-metadata">

### Author: ![alltiagocom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alltiagocom/32/492709_2.png) [@alltiagocom](https://meta.discourse.org/u/alltiagocom)
#### Post date: [24.Март.2025 20:49:09 UTC](https://meta.discourse.org/t/suggestion-for-the-characters-required-plugin/358621/7 "2025-03-24T20:49:09Z")

</div>

> [@merefield](#):
>
> Вы опередили меня.

Где вы были несколько часов назад, чтобы предотвратить необходимость проходить через мучительный процесс установки плагина? 😉

Действительно, это именно то, что я хотел.

Несколько предложений, если вы считаете, что их стоит реализовать:  
1 — Возможность изменить цвет текста. В моём конкретном случае мне нравится исходный цвет. С точки зрения моего непрофессионального опыта в дизайне интерфейсов, я предпочитаю видеть красный цвет только тогда, когда что-то превышает лимит, например, слишком много символов, что приведёт к ошибке при попытке сохранить, или если ввод не соответствует определённому формату (например, URL, email и т. д.). Для меня красный цвет здесь автоматически выглядит «странно», будто что-то уже неверно, даже до того, как я что-либо сделал.  
2 — Отображение чего-то вроде «0/15» создаёт ощущение: «_вы ещё ничего не ввели в ваш лимит всего в 15 символов_». Я знаю, что люди со временем понимают, что это значит, но мне всегда нравится, чтобы всё было максимально понятно, даже для тех, кто уже знает значение. Поэтому в данном случае было бы здорово предложить несколько вариантов, один из которых — `0 из N требуется`.

Я загрузил ZIP-архив с GitHub и внес эти изменения для себя, и теперь это выглядит так:

 ![image](https://global.discourse-cdn.com/meta/original/4X/f/5/2/f52c0ab28bff3cbee7ab94767fc010db63a6e104.png)

Для меня это кажется менее навязчивым и более понятным, не занимая при этом слишком много места. Что вы думаете?

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [24.Март.2025 20:57:26 UTC](https://meta.discourse.org/t/suggestion-for-the-characters-required-plugin/358621/8 "2025-03-24T20:57:26Z")

</div>

Не стесняйтесь делать форк и вносить изменения. Я не планирую вкладывать в это дополнительные усилия, кроме поддержания работоспособности.

Я намеренно исключил любые слова, чтобы текст был мгновенно понятен на всех языках.

Также важно сохранить презентацию максимально компактной, чтобы она как можно меньше мешала тексту пользователя.

---

<div class="post-metadata">

### Author: ![alltiagocom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alltiagocom/32/492709_2.png) [@alltiagocom](https://meta.discourse.org/u/alltiagocom)
#### Post date: [24.Март.2025 21:06:00 UTC](https://meta.discourse.org/t/suggestion-for-the-characters-required-plugin/358621/9 "2025-03-24T21:06:00Z")

</div>

> [@merefield](#):
>
> Не стесняйтесь форкать и вносить изменения

Я не очень хорошо знаком с GitHub и всем остальным. Я просто вношу небольшие изменения в то, что знаю, и в данном случае мне помог ChatGPT, но GitHub — это совершенно чужой мир…

> [@merefield](#):
>
> Также важно сохранять презентацию как можно более компактной, чтобы она как можно меньше мешала тексту пользователя.

Я думаю, что это не проблема, особенно потому, что я буду удалять текст, как только он удовлетворит требованиям.

 ![image](https://global.discourse-cdn.com/meta/original/4X/9/3/a/93a9c81d24a51741f13fadbf8dda11313e883c5f.png)

Даже с пробелами:  
 ![image](https://global.discourse-cdn.com/meta/original/4X/4/8/8/4884daee7ed452493aca8e7f4feb2ccad8e9562b.png)

Одна «ошибка», которую я заметил, заключается в том, что при нажатии ПРОБЕЛ он не отображается в счётчике, хотя учитывается.  
Так что `A ` считается как 2, но текст показывает только `1 из 15` вместо `2 из 15`

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [24.Март.2025 21:08:14 UTC](https://meta.discourse.org/t/suggestion-for-the-characters-required-plugin/358621/10 "2025-03-24T21:08:14Z")

</div>

Спасибо за отчет. Я изучу это.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [24.Март.2025 21:13:10 UTC](https://meta.discourse.org/t/suggestion-for-the-characters-required-plugin/358621/11 "2025-03-24T21:13:10Z")

</div>

А, это обрезает пробелы в начале и в конце текста. Именно так работает Discourse (пробелы по краям не учитываются и не сохраняются). Вы заметите, что текст «подтянется», как только вы введёте следующий символ, не являющийся пробелом. Поэтому я считаю, что текущая реализация верна.

---

<div class="post-metadata">

### Author: ![alltiagocom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alltiagocom/32/492709_2.png) [@alltiagocom](https://meta.discourse.org/u/alltiagocom)
#### Post date: [24.Март.2025 22:28:37 UTC](https://meta.discourse.org/t/suggestion-for-the-characters-required-plugin/358621/12 "2025-03-24T22:28:37Z")

</div>

Да, я заметил, что при вводе другого символа счётчик догонял. Всё ещё странно, что такое поведение существует: если пробел считается символом, то он должен быть виден; иначе, если отображается 13, а лимит 15, значит, у меня ещё два символа, но тогда счётчик прыгает с 13 на 15 (в моём случае он скрывает счёт). Всё из-за пробела в конце. Это может немного запутать пользователей.

Но если это то, что нельзя изменить, то, думаю, «что есть, то есть» 😉  
В любом случае, это уже полезный инструмент. 🙌 Спасибо
