Git Product home page Git Product logo

the-documentation-compendium's Introduction

The Documentation Compendium

The Documentation Compendium

Tweet Status GitHub Issues GitHub Pull Requests License


💡 Various templates & tips on writing high-quality documentation that people want to read.

Table of Contents

Why must you document your project?

  • It doesn’t matter how good your software is, because if the documentation is not good enough, people will not use it. Even if for some reason they have to use it, without good documentation, they won’t use it effectively or the way you’d like them to
  • THE MAJORITY OF PEOPLE GLANCE AND LEAVE. Make it pretty so that it's easier for them to star before they leave. The more stars you have, the likelier it is that serious developers will use your repo
  • You will be using your code in 6 months. Code that you wrote 6 months ago is often indistinguishable from code that someone else has written
  • You want people to use your code because you think that others might find it useful. However, people need to understand why your code might be useful for them, before they decide to use it
  • You want people to help out. If you don’t have documentation, you will miss out on a whole class of contributors
  • You want to be a better writer

Best Practices

Things to remember:

  • Keep a lighthearted friendly tone. Treat the reader as someone who doesn't have a lot of knowledge about the topic but is very interested
  • Keep things brief
  • Use headings frequently. This breaks things up when reading and often it is good for linking to specific information
  • Link to other places in the documentation often but only for additional information. Readers should not have to navigate through several pages to find information regarding one specific thing. Just inline the immediately relevant information and link off if they want to know more
  • Use as many code snippets, CLI, etc. examples as possible. Show the reader what you mean
  • Gently introduce a guide before diving into technical details. This gives context and readers are more likely to stay engaged longer
  • It is always good to describe the functionality of the various files in your project
  • Always use gender-neutral pronouns. A gender-neutral pronoun is a pronoun which does not associate a gender with the individual who is being discussed. For eg. - using 'they' instead of 'he/she'

Things you should avoid:

  • Don't assume prior knowledge about the topic. If you want to appeal to a large audience, then you are going to have people with very diverse backgrounds
  • Don't use idioms. Write using more formal terms that are well defined. This makes it easier for non-native English speakers and for translations to be written
  • Don't clutter explanations with overly detailed examples
  • Don't use terms that are offensive to any group. There will never be a good reason to

Templates

The Art of Technical Writing

Further reading on technical writing topics from www.writethedocs.org

Technical Writing Programs

  1. Google Season of Docs
  2. A List of Open Source Projects with Volunteer Documentation Opportunities

Awesome Technical Writing Sources

  1. r/technicalwriting
  2. My Tech Writing Process - Amruta Ranade
  3. Developer to Technical Writer - r/technicalwriting
  4. awesome-github-templates - devspace
  5. makeareadme - dguo
  6. What nobody tells you about documentation - Daniele Procida
  7. 3 Essential Components of Great Documentation - Eli B
  8. Inspiring techies to become great writers - Cameron Shorter
  9. Technical Documentation Writing Principles - Cameron Shorter
  10. Building Our Documentation Site on platformOS — Part 2: Content Production and Layouts - Diana Lakato
  11. Google Developer Documentation Style Guide - Google
  12. README Maturity Model - LappleApple
  13. Markdown Style Guide - Ciro Santilli

Get Feedback

  • feedmereadmes - Free README editing + feedback to make your open-source projects grow. See the README maturity model to help you keep going
  • maintainer.io - Free README standardization and feedback if you click on 'Book an audit'

Acknowledgements

  1. Documenting your projects on GitHub - GitHub Guides
  2. documentation-handbook - jamiebuilds
  3. Documentation Guide - Write the Docs

P.S.

  • This repo is under active development. If you have any improvements / suggestions please file an issue or send in a Pull Request
  • The issues page is a good place to visit if you want to pick up some task. It has a list of things that are to be implemented in the near future

CC0
To the extent possible under law, Kyle Lobo has waived all copyright and related or neighboring rights to The Documentation Compendium.

the-documentation-compendium's People

Contributors

actuallyyun avatar albertomosconi avatar carlosblanc0 avatar doseeing avatar fanchinirudolf avatar jeroenouw avatar kotnik avatar kylelobo avatar lichtimi avatar mandelliant avatar myafka avatar salakar avatar teo8192 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

the-documentation-compendium's Issues

Make a minimal IoT README template

It should involve things such as description, s/w requirements, h/w requirements, schematics, usage etc.

Refer to the various Arduino project documentations for assistance.

Restructured Text?

Ohai, can we also have that as restructured text? I use sphinx to document my projects and rST just goes better with that :)

Minimal template has link to missing "Deployment" section

The minimal README.md template has a link to "Deployment" in the intro of "Getting Started". However, this section is by default not present in the template.

To me, it seems that there are two ways to address this:

  1. Rewrite the sentence in "Getting Started" and instead refer to "Usage" of the project rather than "Deployment".
  2. Add the "Deployment" section, similarly as it is present in the standard README version.

My take would be to go for (1), as it is probably more in line with the minimalistic nature of this template. However, (2) might be easier, as it requires just copy-pasting from the standard template. Another advantage of (2) would be that minimal and standard deviate as little as possible from each other, making migration between the two easier.

CONTRIBUTING.md should not be a git tutorial

https://github.com/kylelobo/The-Documentation-Compendium/blob/d472f574099bf4fec09c2a843857a9b10dc0a40f/CONTRIBUTING.md

This is tutorial on how to use git. This has nothing to do with real-world project contribution guidelines that would be useful in the context of a working git project. There are far better "How to use git" tutorials out there, and this space should describe either

  • how to actually contribute to this repo, or
  • in general, a proposed education around the politics and conventions of contributing at large

Make an IoT README template

It should involve things such as description, sensors used, s/w requirements, h/w requirements, schematics, how to install a library in the Arduino IDE, baud rate settings, usage etc.

Refer to the various Arduino project documentations for assistance.

Additional bug report template sections

Coming from a background of both tech support and DevOps, the most useful question that I tend to ask on every inbound issue is "What have you tried to resolve the issue yourself?" This is usually followed by "What workarounds are available to you while we work to resolve the issue?" These questions are equally valuable to the reporter and the supporter, and sometimes lead to misunderstandings resolving themselves. Having them as part of the template also discourages "We've tried nothing and are out of ideas" bugs from being filed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.