Создание эффективной документации для Discourse

:information_source: Документация Discourse в настоящее время пересматривается и редактируется для соответствия этому руководству по стилю. Не все темы документации в данный момент полностью соответствуют этому — мы работаем над этим как можно быстрее.

Это считается живым документом, который определяет, как пишется и форматируется документация Discourse. Эта тема будет обновляться по мере необходимости. Если у вас возникнут сомнения по поводу любого из принципов здесь, пожалуйста, напишите в этой теме для обсуждения деталей.

Основополагающий принцип этого руководства по стилю документации — учитывать ваших читателей и их потребности при написании документации: чего они хотят достичь? Какова ваша цель при предоставлении контента?

:eyes: Быстрый чек-лист при внедрении руководства по стилю:

  1. Присутствует и корректно заполнен мета-блок
  2. Заголовок ориентирован на действие
  3. Все заголовки написаны в предложном регистре (sentence case)
  4. Используются правильные теги и категории
  5. Документ структурирован логично

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

Пожалуйста, обратите внимание на следующие рекомендации по форматированию текста:


Мета-информация

  • Документ должен относиться к одной и только одной из следующих категорий:
    • Использование Discourse
      • Общие руководства для пользователей по задачам, не требующим прав администратора
    • Управление сайтом
      • Настройки, плагины, контент и общее администрирование сайта
    • Интеграции
      • Руководства по интеграции других платформ с Discourse
    • Клиенты хостинга
      • Руководства, актуальные только для клиентов хостинга
    • Самохостинг
      • Руководства, актуальные только для самостоятельно размещаемых сайтов
    • Руководства для разработчиков
      • Технические руководства по разработке поверх Discourse, включая создание тем, компонентов тем и плагинов
    • Вклад в проект
      • Руководства по внесению вклада в проект с открытым исходным кодом Discourse
  • Документ должен относиться к одному и только одному из следующих тегов / типов документов:
    • #how-to
    • #explanation
    • #reference
    • #tutorial
  • Документ может содержать любые другие применимые теги, но абсолютный максимум — 5 тегов на один документ

Мета-блок

Все документы должны иметь блок вверху, который включает краткое объяснение того, о чем документ, а также любую другую соответствующую мета-информацию, такую как требуемый уровень доступа пользователя, требуется ли доступ к консоли или что-либо еще. Это будет оформлено в виде цитаты без заголовка над ней. Вот пример того, как это должно выглядеть:

:bookmark: Это руководство по описанию всех доступных скрытых настроек сайта, их включению и причинам, по которым вы можете захотеть их изменить.

:person_raising_hand: Требуемый уровень пользователя: Администратор

:computer: Требуется доступ к консоли

Заголовки и подзаголовки

  • Делайте заголовки документов ориентированными на действие
    • Неправильно: «Как включить автоматические заголовки для чат-тем»
    • Правильно: «Включение автоматических заголовков для чат-тем»
  • Заголовки документов не должны быть слишком длинными
  • Для тем «как сделать» (how-to) делайте заголовок ориентированным на цель
  • Все заголовки должны быть конкретными и уникальными
  • Не используйте знаки препинания или специальные символы в заголовках документов, кроме запятых
  • Не используйте эмодзи в заголовках документов
  • Используйте предложный регистр (sentence case) для заголовков и подзаголовков — это означает, что только первое слово начинается с заглавной буквы, а также имена собственные и любые другие слова, которые обычно пишутся с заглавной буквы
  • Не используйте амперсанды (&) в заголовках, вместо этого используйте полное слово («и»)

Общие рекомендации по написанию, тону и грамматике

  • Используйте второе лицо при упоминании людей, читающих документ — то есть используйте «вы», а не «мы»
  • Используйте активный залог как можно чаще
    • Неправильно: «кнопка должна быть нажата»
    • Правильно: «нажмите кнопку»
  • Расшифровывайте аббревиатуры и сокращения при первом использовании; при необходимости предоставьте внешнюю ссылку с дополнительной информацией
  • Используйте короткие предложения и разбивайте текст на более короткие абзацы, заголовки и списки
  • Вы можете использовать **жирный шрифт** и курсив для выделения ключевых фраз или слов, но не злоупотребляйте ими
  • Избегайте использования жаргона или технических терминов без объяснений — если сомневаетесь, лучше пояснить
  • Используйте скриншоты при описании визуального интерфейса, например элемента UI
  • Не документируйте и не раскрывайте будущие функции, продукты или услуги Discourse, если это не разрешено явно
  • Используйте слова-связки, такие как следовательно, хотя и более того.
  • Используйте распространенные сокращения: это, вы будете, вы есть, мы есть, давайте (на русском: это, вы будете, вы есть, мы есть, давайте — в контексте русского языка адаптируйте под естественные сокращения, например: не, вы, мы, давай)
  • В документации подразумевается вневременной характер — избегайте слов, таких как скоро, новый, сейчас, последний и т. д., которые быстро устаревают
  • Не приписывайте человеческие качества программному или аппаратному обеспечению
    • Например: «Если вы передадите целое число этому API, он разозлится и выдаст ошибку»
    • Например: «Наш дружелюбный и амбициозный ИИ-бот поможет решить все ваши проблемы»
  • При цитировании текста (в том числе из интерфейса Discourse) используйте «кавычки»
  • При цитировании URL используйте обратные кавычки
  • При использовании примера домена используйте discourse.example.com
  • Если это будет полезно, вы можете использовать эмодзи в начале абзаца для его выделения. Не используйте более двух или трех таких эмодзи в одной теме. Вот несколько примеров эмодзи, которые можно использовать:
    • :information_source: — Информативная заметка
    • :mega: — Объявление или уведомление
    • :warning: — Предупреждение
    • :exclamation: — Очень важная информация
  • Избегайте:
    • Лишних метафор или юмора
    • Культурных и региональных ссылок
    • Насмешливого тона при указании или порядке действий — например, Вы должны нажать Опубликовать или Вам нужно нажать Опубликовать
    • Чрезмерной вежливости. Например, Пожалуйста, нажмите Опубликовать
    • Использования восклицательных знаков, если это абсолютно необходимо
    • Заглавных букв там, где это не нужно
    • Чрезмерного использования одних и тех же фраз и местоимений

Для документации конечных пользователей:
Сохраняйте дружелюбный, неформальный тон, сосредоточившись на ясности и краткости в компетентной манере. Сразу переходите к сути. Объясняйте технические термины, но будьте осторожны, чтобы не звучать снисходительно. Для обеспечения ясности начните с краткого указания контекста текущей темы.

Для документации разработчиков и технической документации:
Сохраняйте прямой и точный тон. Используйте тот же тон, что и для документации пользователей, но вы можете предполагать более высокий уровень технических знаний у ваших читателей.

Структура

  • Сразу переходите к сути — начните с самого важного
  • Включите важные ключевые слова в начале документа
  • Сделайте выбор пользователя и следующие шаги очевидными
  • Всегда используйте легкую разметку для написания документации (это уже встроено в Discourse с помощью Markdown-it).
  • Организуйте вашу документацию в логической последовательности — начните с обзора, затем следуют подробные разделы и, при необходимости, резюме или заключение
  • Используйте заголовки и подзаголовки для структурирования контента, чтобы читателям было легче просматривать и находить конкретную информацию — используйте нисходящую иерархию заголовков, начиная с h2, и не пропускайте уровни
  • Предоставляйте ссылки на связанные темы или разделы внутри вашей документации — это помогает пользователям находить дополнительную информацию без лишних поисков

Ссылки

  • Используйте осмысленный текст в ссылках
    • Неправильно: «Нажмите здесь, чтобы прочитать руководство»
    • Правильно: «Прочитайте руководство»
  • Если формат URL не важен и не является обучающим, не используйте URL как текст ссылки — вместо этого используйте заголовок страницы или описание страницы
  • Ссылайтесь на внешние сайты и источники вместо цитирования или переписывания существующей документации
  • Убедитесь, что сайты, на которые вы ссылаетесь, имеют высокий стандарт и качество
  • Если ссылка ведет на скачивание файла, явно укажите это — также укажите тип скачиваемого файла и приблизительный размер файла

Код в документации

  • Используйте блоки кода с подсветкой синтаксиса, специфичной для языка, когда это возможно для больших примеров кода
  • Если пример кода не является самоочевидным, введите его вводным предложением, которое инициирует следующий пример — если сомневаетесь, лучше пояснить
  • Примеры кода должны следовать лучшим практикам написания кода для соответствующего языка программирования
  • Используйте встроенный код для выражения основных атрибутов кода или когда полный блок кода не требуется, например:
    • Имена и значения атрибутов
    • Имена классов
    • Имена утилит командной строки
    • Типы данных
    • Имена переменных окружения
    • Имена файлов, расширения файлов и пути
    • Папки и каталоги
    • HTTP-методы, коды состояния и значения content-type
    • Имена и значения параметров запроса
    • Ввод текста
  • Когда вы используете заполнитель в примерах кода, командах или другом тексте, включите объяснение того, что представляет собой заполнитель
    • Напишите объяснение при первом использовании заполнителя; если после первого использования этого заполнителя есть несколько заполнителей или шагов, вы можете объяснить заполнитель снова
  • Предоставьте пользователям или разработчикам простой способ скопировать и выполнить код.
    • Покажите ожидаемый вывод, либо в отдельном разделе после примера кода, либо с помощью комментариев внутри примера кода
  • Пишите безопасный код — никогда не hard-code пароли, API-ключи или конфиденциальную информацию в коде

Процедуры и пошаговые руководства

  • Форматируйте процедуры последовательно, чтобы читатели могли легко находить их при просмотре
  • Используйте отдельный нумерованный пункт для каждого шага
  • Включайте действия, завершающие шаг, такие как кнопки ОК или Применить
  • Если инструкция появляется в том же интерфейсе, где происходит действие, обычно не нужно указывать детали расположения
  • Если вам нужно убедиться, что читатель начинает с правильного места, предоставьте краткую фразу в начале шага

Доступность и инклюзивность

  • Используйте скриншоты, диаграммы или видео там, где они добавляют ценность, особенно для объяснения сложных шагов или отображения частей интерфейса
  • Изображения должны использоваться для поддержки текстовой информации, а не заменять её
  • Всегда используйте атрибуты alt для изображений
  • Всегда предоставляйте подписи или транскрипции для видео
  • Используйте GIF только в том случае, если вы можете полностью объяснить содержание в тексте
  • Выбирайте простые изображения и обрезайте лишние детали
  • Используйте простой язык и избегайте идиом или выражений, которые могут быть непонятны не всем
  • Учитывайте, что ваш документ будет использоваться на множестве устройств
  • Используйте гендерно-нейтральный язык. Не используйте он, ему, его, она, ей, её при упоминании людей — чтобы обойти местоимения, вы можете:
    • Переписать предложение, используя второе лицо (вы)
    • Переписать предложение так, чтобы в нем было множественное число существительное и местоимение
    • Использовать слова человек или индивид
    • Использовать артикли этот, этот, этот (в русском: этот, этот, этот — адаптируйте под русский: этот, этот, этот или неопределенный артикль — в русском языке артикли отсутствуют, поэтому используйте человек, они, их, им)
    • Использовать местоимение множественного числа, такое как они, их, им, даже если оно относится к одному человеку
  • Когда вы пишете о реальном человеке, используйте местоимения, которые предпочитает этот человек
  • Будьте инклюзивны в отношении гендерной идентичности, расы, культуры, религии, способностей, возраста, сексуальной ориентации и социально-экономического класса — включайте широкий спектр профессий, культур, образовательных сред, регионов и экономических условий в примеры
  • Избегайте политизированного контента — в случаях, когда необходимо включить политический контент, оставайтесь нейтральными
  • Не делайте никаких обобщений о людях, странах и культурах, даже позитивных или нейтральных
  • Не пишите предвзятый и дискриминационный контент против каких-либо сообществ, особенно меньшинств
  • Избегайте качественных терминов, связанных с историческими событиями
  • Избегайте использования терминов и метафор, связанных с насилием и военными действиями
8 лайков

@hugh / @SaraDev

Здесь наблюдается небольшая несогласованность в отношении заголовков.

У нас есть такие примеры:

Но затем мы говорим следующее:

Если я прогоню «правильный» пример через конвертер, то получу вот что:

Включить автоматические заголовки для чат-тем

Стоит ли нам обновить наш пример, чтобы он соответствовал?

aside

Если бы решение зависело только от меня, я бы подумал, что мы должны использовать регистр предложений, и я не уверен, почему в текущем заголовке темы слова «Chat Threads» написаны с заглавной буквы, поэтому я бы лично предпочел видеть вот это:

Включить автоматические заголовки для чат-тем

Но в конечном итоге согласованность важнее, и я исхожу из того, что у вас есть веская причина выбрать текущую рекомендацию.

1 лайк

Хорошее замечание — я не связывал эти вещи, но обновить несложно. Однако:

Спецификацию регистров заголовков предложил я, потому что считаю, что она в целом выглядит аккуратнее и профессиональнее. Думаю, это лишь моё субъективное мнение, так как и Google, и Microsoft рекомендуют использовать регистр предложения в заголовках документации. Другие найденные мной сайты также рекомендуют регистр предложения, поэтому я отменю это и обновлю требование по регистру там.

3 лайка

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

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

1 лайк

Согласен — я добавлю это сюда, чтобы явно это указать.

1 лайк

Ладно, раз я уже втянулся…

Мне нравится, что мы говорим так:

Однако в руководстве у нас сейчас такой пример:

Мое мнение: здесь нет необходимости писать «скрытые настройки сайта» с заглавных букв. (апелляция к авторитету)

2 лайка

Я ценю это обращение к авторитету :smile:

Да, это хороший момент — тот пример был взят из реального документа, где мы использовали заголовок существующего документа для его описания, и поскольку в том документе использовался регистр заголовков, ссылка тоже была в этом регистре. С изменением с регистра заголовков на регистр предложений, эту ссылку также следует обновить.

1 лайк

Я внес несколько правок в это руководство по стилю на основе вышеупомянутого обсуждения.

  • Изменил заголовок темы на предложения с заглавной буквы
  • Изменил заголовки на предложения с заглавной буквы
  • Убрал лишнее написание с заглавной буквы (Синтаксис)
  • Заменил символы амперсанда (&) в заголовках на слово «и»
  • Заменил слэши (/) в заголовках на запятые или союзы

Последние два изменения не обсуждались — дайте знать, если они кажутся излишними или противоречат руководству (или, наоборот, стоит ли включить эти правила в само руководство).

2 лайка

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

1 лайк

Предполагаю, что флаги для маркировки документов на других языках являются исключением.

1 лайк

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

moreover?

В какой-то момент мы (возможно, я) начали использовать встроенный код для ссылок на настройки сайта. Например: «Включите настройку сайта discourse connect». Это может быть правильным подходом, но он кажется немного «разработческим».

Стоит ли использовать единое имя-заглушку для обозначения сайтов Discourse? Например, discourse.example.com? В документации здесь есть упоминания сайта Discourse как sitename.com. Это меня сильно сбило с толку.


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

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

То, что снова сделало написание текста увлекательным для меня, — это совет искать способы добавить немного себя в то, что вы пишете. Это может быть что угодно: ваш тон, ваши хобби и так далее. Это как раз противоположность тому, что здесь рекомендуется.

6 лайков

Привет, Саймон! :blob_wave:

Я собирался посмотреть, как это сработает на практике, но да, я такой же: я пытаюсь избегать сокращений.

Ха-ха, да… Я не буду использовать ни одно из этих слов в документации, чтобы не выдать свою :face_with_monocle:.

Безусловно: Example Domains

Вот именно об этом я и хотел поговорить! :smiley:

У нас было много обсуждений по этому поводу, и я рад, что это включено в руководство по стилю по умолчанию.

Вот почему я считаю это важным: создание документации должно быть доступным для как можно большего числа членов нашего сообщества, включая (особенно?) членов команды Discourse.

Discourse — это социальное программное обеспечение для обсуждений. И некоторая документация на самом деле представляет собой непрерывный диалог. Если я делюсь практикой по адаптации новых участников моего сообщества, я хотел бы быть представлен как «владелец» этой темы, чтобы я мог отвечать на вопросы и углубляться в тему.

С другой стороны, если клиент спрашивает о функции, которую мы так и не успели объяснить, я хотел бы иметь возможность использовать руководство по стилю и создавать полезную, общую документацию. Я чувствую, что быть владельцем темы создает больше инерции для публикации.

Кроме того, если мы создаем документацию вне Discourse (интеграция, генерация из комментариев в коде или что-то подобное), наличие «пользователя документации» скорее всего проще реализовать как деталь реализации. :thinking:

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

3 лайка

Пока у нас нет нативного способа обработки локализованных документов, я считаю, что добавление флагов в начало заголовка — это самый практичный способ, и разумное исключение из этого руководства.

Я думаю, что в этом вопросе существуют разные мнения и предпочтения, но для нашего руководства по стилю мы будем придерживаться общепринятых отраслевых норм. Ещё раз: и Google, и Microsoft в своих руководствах сходятся во мнении, что использование распространённых сокращений предпочтительнее.

Тем не менее, я читал сообщения, в которых утверждается, что использование отрицательных сокращений (например, «can’t») может затруднить понимание для носителей других языков. Мы ещё раз изучим этот вопрос и, при необходимости, обновим руководство по стилю соответствующим образом.

Я удалил этот пример! :smile:

Да — это очень распространено (не только в Discourse), но я согласен, что это не совсем верно. Лучше использовать кавычки, поэтому я думаю, что сделаю это явным в руководстве по стилю.

Это отличный момент — я добавлю это в руководство по стилю!

Спасибо за эту обратную связь! @maiki высказал несколько хороших мыслей выше, и я согласен с тем, что он сказал. В дополнение к этому скажу, что одна из причин, по которой мы перешли на указание @Discourse в качестве автора официальной документации, — придать ей больший авторитет для читателей, особенно для тех, кто впервые обращается к документации. Это также стало движущей силой создания самого руководства по стилю.

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

Мы очень ценим всю эту обратную связь :slight_smile:

2 лайка

Что касается части метаблока в руководстве. Хотя, согласно приведённому выше руководству, темам документации необходим метаблок, не все темы его содержат [1], и их оформление не всегда единообразно. Вот несколько примеров из найденных мной руководств:

Лично мне нравится вариант «Все пользователи».

Я не хотел вносить изменения в темы, не собрав предварительно обратную связь :smiley:


  1. возможно, это зависит от контекста темы ↩︎

4 лайка

Все документы @Discourse находятся в разработке, и, надеемся, у всех них в какой-то момент появится такая возможность (:crossed_fingers:). Однако вы правы насчёт несогласованности. Я не уверен, на чём именно мы остановимся, но обязательно выберем один вариант и будем придерживаться его. :slight_smile:

4 лайка

Также хочу добавить: если вы видите информацию с новым блоком сведений, это означает, что она прошла «этап 1» и находится на этапе проверки. Поэтому, если вы прочитаете что-то и подумаете: «это неверно» или «здесь не хватает информации», и у вас будет желание оставить отзыв, пожалуйста, поделитесь своими мыслями в посте. :heart: :slight_smile:

5 лайков

В чём цель обязательной информации об уровне пользователя вверху? Я думал, что она поможет понять, актуален ли документ для меня, чтобы я мог прочитать его и решить: «Я не xxx, значит, это не для меня». Но, похоже, это используется иначе, потому что, например, пользователи ниже уровня доверия 3 (TL3) могут редактировать вики, поэтому эта информация актуальна и для других.

3 лайка

Спасибо, что обратили на это внимание, @Moin. Эта тема была обновлена, чтобы исправить требуемый уровень доступа пользователя.

Ваше понимание назначения этой информации верно — в ней должно указываться, какой уровень или тип пользователя может выполнять действия, описанные в документе.

1 лайк