Effektive Dokumentation für Discourse schreiben

:information_source: Discourse documentation is currently being reviewed and edited to align with this style guide. Not all documentation topics currently match up to this - we are working toward that as quickly as possible.

This is considered a living document that guides how Discourse documentation is written and formatted. This topic will be kept up to date as needed. If you are in doubt about any of the principles here, please post on the topic to discuss specifics.

The guiding principle behind this documentation style guide is to consider your readers and their needs when writing documentation - what do they want to accomplish? What is your goal for providing the content?

:eyes: Quick checklist when implementing the style guide:

  1. Meta block is present and correct
  2. Title is action-oriented
  3. All titles use sentence case
  4. Correct tags and categories are used
  5. Document is structured logically

When completing a document, review it to make sure all of those criteria are met.

Please take note of these text formatting guidelines:


Meta information

  • Document should belong to one and only one of the following categories:
    • Using Discourse
      • General user guides for non-administrative tasks
    • Site Management
      • Settings, plugins, content, and general site administration
    • Integrations
      • Guides for integrating other platforms with Discourse
    • Hosted Customers
      • Guides that are only relevant to hosted customers
    • Self-hosting
      • Guides that are only relevant to self-hosted sites
    • Developer Guides
      • Technical guides for developing on top of Discourse, including creating themes, theme components, and plugins
    • Contributing
      • Guides for contributing to the Discourse open-source project
  • Document should belong to one and only one of the following tags / document types:
    • #how-to
    • #explanation
    • #reference
    • #tutorial
  • Document may have any other applicable tags, with an absolute maximum of 5 tags on a single document

Meta block

All documents must have a block at the top that includes a short explanation of what the document is about as well as any additional relevant meta information, like what the user level requirements are, whether console access is required, or anything else. This will be formatted in a blockquote without a heading over it. Heres an example of what this must look like:

:bookmark: This is a guide for describing all available hidden site settings, how to enable them, and why you might want to adjust them.

:person_raising_hand: Required user level: Administrator

:computer: Console access required

Titles and headings

  • Make document titles action-oriented
    • Incorrect: “How to enable automatic titles for chat threads”
    • Correct: “Enabling automatic titles for chat threads”
  • Document titles should not be too long
  • For ‘how-to’ topics, make the title goal oriented
  • All titles must be specific and unique
  • Do not use punctuation or special characters in document titles, other than commas
  • Do not include emoji in document titles
  • Use sentence case for titles and headings - that means only the first word starts with a capital letter, along with proper nouns and any other words that would normally be capitalised
  • Do not use ampersands (&) in headings, rather use the full word (“and”)

General writing guidelines, tone, and grammar

  • Use second-person voice when referring to people reading the document - i.e. use “you”, not “we”
  • Use active voice as much as possible
    • Incorrect: “the button should be clicked”
    • Correct: “click the button”
  • Define acronyms and abbreviations when first used, if necessary provide an external link that provides more information
  • Use short sentences, and break up text using shorter paragraphs, headings, and lists
  • You can use **bold** and *italics* to emphasise key phrases or words, but don’t overuse them
  • Avoid using jargon or technical terms without explanations - if in doubt, err on the side of explaining
  • Use screenshots when describing a visual interface, such as a UI element
  • Don’t document or attempt to disclose future Discourse features, products, or services unless explicitly permitted
  • Use transition words such as therefore, although, and furthermore.
  • Use common contractions: it’s, you’ll, you’re, we’re, let’s
  • Infer timelessness in documentation - avoid words such as soon, new, now, latest, etc. that quickly become irrelevant
  • Don’t attribute human qualities to software or hardware
    • e.g. “If you pass an integer to this API, it will get angry and raise an error”
    • e.g. “Our friendly and ambitious AI bot will help solve all your problems”
  • When quoting text (including from the Discourse UI), use “quotation marks”
  • When quoting a URL, use backticks
  • When using an example domain use discourse.example.com
  • If it would be useful, you can use emojis at the start of a paragraph to highlight it. Do not use more than two or three of these in a single topic. Some example emojis you can use:
    • :information_source: - An informative note
    • :mega: - Announcement or notice
    • :warning: - A warning message
    • :exclamation: - Very important information
  • Avoid:
    • Unnecessary metaphors or humour
    • Cultural and regional references
    • Dictating or ordering procedures in a condescending tone - e.g. You must click Publish or You need to click Publish
    • Being overly polite. For example, Please click Publish
    • Using exclamation points unless absolutely needed
    • Capitalizing words where it is unnecessary
    • Excess use of the same phrases and pronouns

For end user documentation:
Maintain a friendly, informal tone, with a focus on being clear and concise in a knowledgeable manner. Get to the point promptly. Explain technical terms, but be careful not to be condescending. To ensure clarity, start by briefly specifying the context of the current topic.

For developer and technical documentation:
Maintain a direct and precise tone. Use the same tone you would for user documentation, but you can assume a higher level of technical knowledge in your readers.

Structure

  • Get to the point fast - lead with what’s most important
  • Include important keywords early in the document
  • Make reader choices and next steps obvious
  • Always use light markup to write documentation (This is already built into Discourse with Markdown-it).
  • Organize your documentation in a logical flow - start with an overview, followed by detailed sections, and a summary or conclusion if applicable
  • Use headings and subheadings to structure your content, making it easier for readers to scan and find specific information - use descending hierarchy in headings, starting with h2, and don’t skip levels
  • Provide links to related topics or sections within your documentation - this helps users find additional information without unnecessary searches

Links

  • Use meaningful text in links
    • Incorrect: “Click here to read the guide”
    • Correct: “Read the guide
  • Unless the format of the URL is important or instructive, don’t use a URL as link text - instead, use the page title or a description of the page
  • Link to external sites and sources instead of quoting or rewriting existing documentation
  • Ensure that the sites you link to are of high standard and quality
  • If the link downloads a file, explicitly mention it - also indicate the type of file being downloaded and a rough estimate of the file size

Code in documentation

  • Use block code with language-specific syntax highlighting when possible for large code examples
  • If it is not already self-explanatory, introduce a code example with an introductory sentence that initiates the example that follows - when in doubt, err on the side of explaining
  • Code examples should follow the best practices for writing code for the relevant coding language
  • Use inline code for expressing basic code attributes or when a full code block is not necessary, such as:
    • Attribute names and values
    • Class names
    • Command-line utility names
    • Data types
    • Environment variable names
    • Filenames, filename extensions, and paths
    • Folders and directories
    • HTTP verbs, status codes, and content-type values
    • Query parameter names and values
    • Text input
  • When you use a placeholder in code examples, commands, or other text, including an explanation for what the placeholder represents
    • Write an explanation for the first time you use the placeholder; if there are multiple placeholders or steps after the first use of that placeholder, you can explain the placeholder again
  • Provide an easy way for users or developers to copy and run code.
    • Show expected output, either in a separate section after the code example or by using code comments within the code example
  • Write secure code - never hard-code passwords, API Keys, or secure information in code

Procedures and step-by-step guides

  • Format procedures consistently, so readers can find them easily by scanning
  • Use a separate numbered entry for each step
  • Include actions that finalize a step, such as OK or Apply buttons
  • If the instruction appears in the same UI where the action occurs, it’s usually not necessary to provide location details
  • If you need to make sure the reader begins in the right place, provide a brief phrase at the beginning of the step

Accessibility and inclusivity

  • Use screenshots, diagrams, or videos where they add value, particularly for explaining complex steps or showing parts of an interface
  • Images should be used to back up text information, not replace it
  • Always use alt attributes for images
  • Always provide captions or transcripts for videos
  • Only use GIFs if you can fully explain the content in text
  • Choose simple images and crop extraneous detail
  • Use plain language and avoid figures of speech or idioms that might not be universally understood
  • Consider that your document will be used on a multitude of devices
  • Use gender-neutral language. Don’t use he, him, his, she, her, or hers while referencing people - to write around pronouns, you can:
    • Rewrite using the second person (you)
    • Rewrite the sentence to have a plural noun and pronoun
    • Use the words person or individual
    • Use articles the, an, or a instead of a pronoun
    • Use a plural pronoun such as they, their, or them, even if it references a single individual
  • When you’re writing about a real person, use the pronouns that person prefers
  • Be inclusive of gender identity, race, culture, religion, ability, age, sexual orientation, and socioeconomic class - include a wide variety of professions, cultures, educational settings, locales, and economic settings in examples
  • Avoid politicised content - in cases where political content needs to be included, remain neutral
  • Don’t make any generalisations about people, countries, and cultures, not even positive or neutral generalisations
  • Don’t write prejudiced and discriminatory content against any communities, especially minorities
  • Avoid qualitative terms related to historical events
  • Avoid using terms and metaphors associated with violence and military actions

Last edited by @hugh 2024-09-03T11:02:51Z

Last checked by @hugh 2025-03-10T03:50:30Z

Check documentPerform check on document:
8 „Gefällt mir“

@hugh / @SaraDev
Ich sehe hier einige Inkonsistenzen bei den Titeln.

Wir haben diese Beispiele:

Aber dann sagen wir Folgendes:

Wenn ich das „richtige“ Beispiel durch den Konverter laufen lasse, erhalte ich stattdessen Folgendes:

Enable Automatic Titles for Chat Threads

Sollten wir unser Beispiel entsprechend aktualisieren?

aside

Wenn es nach mir ginge, hätte ich gedacht, wir würden uns für die Satzschreibung entscheiden, und ich bin mir nicht sicher, warum „Chat Threads“ im aktuellen Thema-Titel großgeschrieben wird, daher würde ich persönlich lieber Folgendes sehen:

Enable automatic titles for chat threads

Aber Konsistenz ist am Ende wichtiger, und ich gehe davon aus, dass Sie alle gute Gründe haben, die aktuelle Empfehlung gewählt zu haben.

1 „Gefällt mir“

Das ist eine gute Beobachtung – ich hatte diese Verbindung nicht hergestellt, aber es ist einfach zu aktualisieren. Jedoch:

Die Spezifikation für die Großschreibung von Titeln war meine, weil ich finde, dass sie im Allgemeinen sauberer und professioneller aussieht. Ich denke, das ist sehr viel meine subjektive Meinung, denn sowohl Google als auch Microsoft empfehlen die Großschreibung von Sätzen in Dokumentationstiteln. Andere Websites, die ich gefunden habe, sagen ebenfalls, dass die Großschreibung von Sätzen verwendet werden soll, also werde ich dies rückgängig machen und die Anforderung für die Großschreibung dort aktualisieren.

3 „Gefällt mir“

Ich bemerke auch, dass sie sagen, dass für Titel und Überschriften die Satzschreibung verwendet werden soll. (Ich bin im selben Team).

Es scheint, dass wir unsere Präferenz für Überschriften derzeit nicht angeben. Lassen Sie uns das auch gleich hinzufügen.

1 „Gefällt mir“

Einverstanden – ich werde das hier hinzufügen, um es explizit anzugeben.

1 „Gefällt mir“

OK, da ich gerade gut in Schwung bin…

Ich mag es, dass wir Folgendes sagen:

Aber in der Anleitung haben wir dieses Beispiel, derzeit:

Meiner Meinung nach ist es unnötig, “Hidden Site Settings” hier großzuschreiben. (Autoritätsargument)

2 „Gefällt mir“

Ich schätze die Berufung :smile:

Ja, das ist ein guter Punkt – dieses Beispiel wurde aus einem echten Dokument übernommen, in dem wir den Titel des vorhandenen Dokuments zur Beschreibung verwendet haben, und da dieses Dokument die Titelform verwendet hat, galt dies auch für den Verweis. Mit der Änderung von der Titel- zur Satzform sollte auch dieser Verweis aktualisiert werden.

1 „Gefällt mir“

Ich habe diese Style-Anleitung nun basierend auf dem obigen Gespräch leicht überarbeitet.

  • Der Titel des Themas wurde in Satzschreibung geändert.
  • Die Überschriften wurden in Satzschreibung geändert.
  • Eine unnötige Großschreibung (Syntax) wurde entfernt.
  • Ersetzte kaufmännische Und-Zeichen (&) in Überschriften durch “und”.
  • Ersetzte Schrägstriche (/) in Überschriften durch Kommas oder Konjunktionen.

Die letzten beiden Änderungen wurden nicht besprochen – lassen Sie mich wissen, ob sie überflüssig erscheinen oder im Widerspruch zur Anleitung stehen (oder ob wir diese Richtlinien alternativ in der Anleitung festhalten sollten).

2 „Gefällt mir“

Die letzten beiden gefallen mir – sie entsprechen definitiv dem Geist des restlichen Leitfadens und es lohnt sich, sie in den Leitfaden aufzunehmen. Ich werde sie jetzt hinzufügen.

1 „Gefällt mir“

Ich gehe davon aus, dass Flaggen zur Kennzeichnung von Dokumenten in anderen Sprachen eine Ausnahme darstellen.

1 „Gefällt mir“

Neben der Vermeidung von Idiomen habe ich auch immer darauf verzichtet, Kontraktionen in Dokumenten zu verwenden. Ich dachte, sie würden es für Nicht-Englisch-/Nicht-West-Leser schwerer verständlich machen. Englisch ist eine seltsame Sprache.

moreover?

Irgendwann haben wir (möglicherweise ich) angefangen, Inline-Code zu verwenden, um auf Site-Einstellungen zu verweisen. Zum Beispiel: „Aktivieren Sie die Site-Einstellung discourse connect“. Das mag der richtige Ansatz sein, aber es fühlt sich irgendwie entwicklerisch an.

Es könnte sich lohnen, einen konsistenten Platzhalternamen für Discourse-Sites zu verwenden. Vielleicht discourse.example.com? Es gibt hier einige Dokumentationen, die sich auf die Discourse-Site als sitename.com beziehen. Das hat mich wirklich verwirrt.


Ein allgemeiner Schreibtipp: Lesen Sie, was Sie geschrieben haben, so, als wären Sie Mitglied Ihrer (sehen Sie, wie knifflig Kontraktionen sind) Zielgruppe. Stellen Sie sicher, dass Ihre Annahmen über das Vorwissen der Zielgruppe angemessen sind.

So sehr ich es schätze, keine Unmengen von Dokumentationsthemen mehr mir zugeschrieben zu bekommen, fühlt es sich ein wenig kalt an, Discourse als Autor aller Dokumentationsthemen des Teams zu verwenden.

Was das Schreiben für mich wieder zum Vergnügen gemacht hat, war der Rat, nach Möglichkeiten zu suchen, ein wenig von sich selbst in das Geschriebene einzubringen. Es könnte alles sein, Ihr Tonfall, Ihre Hobbys, was auch immer… Das ist irgendwie das Gegenteil von dem, was hier empfohlen wird.

6 „Gefällt mir“

Hallo Simon! :blob_wave:

Ich wollte sehen, wie sich das entwickelt, aber ja, mir geht es genauso, ich versuche, Kontraktionen zu vermeiden.

Hahaha, ja… Ich werde keines dieser Wörter in Dokumenten verwenden, damit ich nicht mein :face_with_monocle: offenbare.

Definitiv: Example Domains

Das ist der Punkt, den ich hier besprechen wollte! :smiley:

Wir hatten viel hin und her darüber, und ich war froh zu sehen, dass dies standardmäßig in den Styleguide aufgenommen wurde.

Hier ist, warum ich es für wichtig halte: Die Erstellung von Dokumentationen muss für so viele Mitglieder unserer Community wie möglich zugänglich sein, einschließlich (insbesondere?) unserer Discourse-Teammitglieder.

Discourse ist eine soziale Diskussionssoftware. Und einige Dokumentationen sind wirklich eine fortlaufende Konversation. Wenn ich eine Praxis teile, wie ich Mitglieder in meiner Community anwerbe, möchte ich als „Besitzer“ dieses Themas präsentiert werden, damit ich Fragen beantworten und das Thema erweitern kann.

Auf der anderen Seite, wenn ein Kunde nach einer Funktion fragt, die wir nie erklärt haben, möchte ich den Styleguide verwenden und nützliche, allgemeine Dokumentationen erstellen können, was meiner Meinung nach die Veröffentlichung durch die Themenbesitzerschaft mehr Trägheit verleiht.

Außerdem, wenn wir Dokumentationen außerhalb von Discourse erstellen (eine Integration oder Erstellung aus Code-Kommentaren oder was auch immer), ist es wahrscheinlich einfacher, einen „Dokumentationsbenutzer“ als Implementierungsdetail zu haben. :thinking:

Ich glaube nicht, dass dieser Leitfaden Leute davon abhalten wird, ihre Stimme und Persönlichkeit einzubringen und die Diskussion zu hosten. Aber es wäre großartig, wenn er mehr Leuten hilft, sich mit dem Dokumentieren zu beschäftigen, die es sonst nicht tun würden (und dann können wir sie anstupsen, persönlicher zu werden!) :smiley:

3 „Gefällt mir“

Bis wir eine native Möglichkeit zur Handhabung lokalisierter Dokumente haben, denke ich, dass das Voranstellen von Flaggen dem Titel die praktischste Methode ist und eine vernünftige Ausnahme von dieser Richtlinie darstellt.

Ich denke, diese Art von Dingen hat unterschiedliche Meinungen und Vorlieben, aber für diesen Styleguide orientieren wir uns an den akzeptierten Branchennormen. Wieder einmal stimmen die Richtlinien von Google und Microsoft darin überein, dass gebräuchliche Kontraktionen besser zu verwenden sind.

Davon abgesehen habe ich einige Beiträge gelesen, die darauf hindeuten, dass die Verwendung von negativen Kontraktionen (wie “kann nicht”) das Verständnis für Nicht-Englischsprachige erschweren könnte. Wir werden uns das noch genauer ansehen und, falls nötig, den Styleguide entsprechend aktualisieren.

Ich habe dieses Beispiel entfernt! :smile:

Ja – das ist sehr üblich (nicht nur bei Discourse), aber ich stimme zu, dass es nicht ganz korrekt ist. Die Verwendung von Anführungszeichen wäre besser, daher werde ich das im Styleguide explizit machen.

Das ist ein wichtiger Punkt – ich werde das in den Styleguide aufnehmen!

Vielen Dank für dieses Feedback! @maiki hat oben einige gute Punkte angesprochen, und ich stimme dem zu, was er dort sagt. Ich möchte noch hinzufügen, dass einer der Gründe, warum wir die offiziellen Dokumentationen auf @Discourse als Autor umgestellt haben, darin besteht, ihnen für die Leser, insbesondere für Personen, die die Dokumentationen zum ersten Mal lesen, ein größeres Gefühl der Autorität zu verleihen. Dies ist auch der Anstoß für den gesamten Styleguide.

Jeder, der Dokumentationen schreibt, kann seine Persönlichkeit definitiv weiterhin in seine Texte einbringen, und die Diskussion über einzelne Dokumentationsthemen wird nicht verschwinden, sodass dies immer ein guter Ort ist, um Dinge persönlicher zu gestalten.

All dieses Feedback wird sehr geschätzt :slight_smile:

2 „Gefällt mir“

Bezüglich des Metablock-Teils des Leitfadens. Obwohl Doc-Themen laut dem obigen Leitfaden einen benötigen, haben nicht alle Themen einen [1] und sie sind nicht immer konsistent, hier sind einige Beispiele aus einigen Leitfäden, die ich gefunden habe.

Persönlich gefällt mir ‘Alle Benutzer’

Ich wollte das bei den Themen nicht ändern, bevor ich Feedback gesammelt habe :smiley:


  1. vielleicht hängt es vom Kontext des Themas ab? ↩︎

4 „Gefällt mir“

Alle @Discourse-Dokumente werden überarbeitet und hoffentlich irgendwann alle einheitlich sein (:crossed_fingers:). Guter Punkt bezüglich der Inkonsistenz. Ich bin mir nicht sicher, für welche wir uns entscheiden werden, aber wir werden uns definitiv für eine entscheiden und dabei bleiben. :slight_smile:

4 „Gefällt mir“

Ich sollte auch hinzufügen, dass alle, die Sie mit dem neuen Info-Block sehen, die „Phase 1“ durchlaufen haben und sich in der Überprüfungsphase befinden – wenn Sie also einen lesen und denken „Das stimmt nicht“ oder „Dem fehlen Informationen“ und Sie sich großzügig genug fühlen, Feedback zu hinterlassen, fügen Sie Ihre Gedanken bitte in einen Beitrag ein. :heart: :slight_smile:

5 „Gefällt mir“

Was ist der Zweck der erforderlichen Benutzerinformationen oben? Ich dachte, es würde Informationen darüber liefern, ob das Dokument für mich relevant ist oder nicht. So könnte ich es lesen und entscheiden „Ich bin nicht xxx, also nicht relevant“.
Aber es scheint anders verwendet zu werden, denn zum Beispiel können Benutzer unter TL3 Wikis bearbeiten, daher ist es auch für andere relevant.

3 „Gefällt mir“

Danke, dass Sie darauf hingewiesen haben, @Moin – dieses Thema wurde aktualisiert, um die erforderliche Benutzerstufe zu korrigieren.

Ihr Verständnis davon, wofür diese Informationen bestimmt sind, ist korrekt – sie sollten angeben, welche Benutzerstufe oder welcher Benutzertyp die in der Dokumentation erklärten Aktionen ausführen kann.

1 „Gefällt mir“