Code Monkey home page Code Monkey logo

awesome-technical-writing-learning's Introduction

Awesome Technical Writing Learning Awesome

Technical writing is an essential skill of conveying complex technical information in an easy-to-understand way.

Tip

All resources in this curated list are free, unless otherwise noted.

Tip

A few resources are unaccessible in some countries, such as China. If an alternative is available in a specific country, it is listed as a sublist item of the unaccessible one followed by a mark of Country Name in a pair of parentheses.

Want to suggest a resource? Check out the Contribution Guidelines! ๐Ÿ‘


Contents


Technical writing

Courses for beginners

If you are completely new to technical writing, the following ๐Ÿ”” courses are the best start points for you:

Textbooks and tutorials

Now, you have known a bit of technical writing ๐Ÿ‘! Not enough for you? Let's go further ๐Ÿค !

To learn a new skill or a new subject systematically, there is nothing better than ๐Ÿ“š academic textbooks and tutorials self-published by experienced professionals at work. Here you are, enjoy ๐Ÿ˜„!

Editorial style guides for technical writing

Learning by doing, rather than learning by reading. It's time to write or imporve your own technical documentation using the writing skills you have studied!

But wait a minute, you still need to adopt an ๐Ÿ“™ editorial style guide for technical writing at first. If you never know or forget what editorial sytle guides are or why you need one, go back to the Google Technical Writing Courses for Engineers for a refresher.

  • ASD-STE100 Simplied Technical English - An international specification containing a set of writing rules and a controlled dictionary, which is widely used in aerospace and defense industry and other manufacturing industries.
  • The IBM Style Guide - A popular book first published by IBM Press in 2011, which emphasizeds a helpful, direct, and authoritative tone and topic-based writing (DITA).
  • Red Hat Technical Writing Style Guide - A style guide for all kinds of technical documentations, including training and examination content. It emphasizes a formal writing sytle, with IBM Style Guide as the preferred reference.
  • Red Hat Supplementary Style Guide for Product Documentation - A style guide supplementary to the IBM Style Guide, which provides format examples in AsciiDoc.
  • Microsoft Writing Style Guide - A style guide for computer technology and software documentations, which emphasizes a warm and relax conversational voice.
  • Google Developer Documentation Style Guide - A style guide for software documentations, which emphasizes a casual and natural conversational tone with specific format recommendations for HTML and Markdown.
  • GitLab Documentation Style Guide - A style guide for open source software documentations written in Markdown, which emphasizes topic-based writing and format guidelines for Markdown.
  • SUSE Documentation Style Guide - A style guide for software documentations, which emphasizes a professional tone and comprehensive markup reference for DocBook.
  • Apple Style Guide - A style guide for Apple materials, nothing special.

General purpose editorial style guides

In the real world, anything is possible. Take a suitable ๐Ÿ“™ general purpose editorial style guide at hand, in case you step into an unknown situation someday.

Dictionaries

And you know, select a suitable ๐Ÿ“˜ dictionary too!

Technical illustrations

A picture is worth a thousand words.

High-tech industries usually rely heavily on technical illustrations in their technical documentations, such as manufacturing, automotive, aerosapce, and defense. But unfortunately, there are few resources available ๐Ÿค“.

Technical illustrators used to use software like Adobe Illustrator or CAD to create technical illustrations. But now, ๐Ÿ’ป softwares specially made for technical illustrations are becoming more and more popular.

Authoring formats

Going with the trend of Docs as Code, more and more organizations and their technical writers have ditched word processors and switched to markup languages.

Markdown

Markdown is a lightweight markup language created by John Gruber in 2004. It has become a commonly used markup language to write technical documentations, especially those software documentations that host in GitHub or GitHub-like platforms.

If you are completely new to Markdown, the following ๐Ÿ“” guide is the best start point for you:

Now, you have known a bit of Markdown ๐Ÿ‘. It is easy-to-read, easy-to-write, and easy-to-learn, isn't it ๐Ÿ˜Ž?

Can't wait to try it out? Just adopt a โœ’๏ธ Markdown editor, then you are ready ๐Ÿ’ช!

  • Dillinger - A concise in-browser Markdown editor, which can create new files, export the files to Markdown, HTML, or PDF, synchronize with GitHub, Google Drive, or Dropbox repositories, etc.
  • StackEdit - An in-browser Markdown editor with rich functions, which can create new files or new folders, export the files to Markdown or HTML, synchronize with GitHub, Google Drive, or Dropbox accounts, etc.
  • Visual Studio Code (VS Code) - A code editor developed by Microsoft, with built-in Markdown preview and many Markdown extentions.
    • Markdown All in One - An extension to enrich Markdown features in VS Code, such as automatic creation of table of contents, auto completions, printing Markdown files to HTML.
    • Markdown Table Maker - An extention to generate Markdown tables in an easy and intuitive way.
    • Markdown PDF - An extenstion to convert Markdown files to PDF, PNG, JPEG, or HTML.
    • Markdown Preview Enhanced - An extention to enrich Markdown features in Atom and VS Code, featuring the integration of Pandoc.

If you go deeper, you will find the controversy over Markdown.

As Markdown got popular, more and more Markdown parsers appeared. However, Markdown has no well-accepted standard untill now. The Markdown syntax in each parser is to some extent different from others.

As a result, every time you choose a new Markdown tool, you had better read through its ๐Ÿ“™ user manual or documentation to know exactly what Markdown syntax it supports.

If you like to explore more resources about Markdown, see Awesome Markdown.

reStructuredText

reStructuredText is a lightweight markup language that is more well-defined compared to Markdown and widely used for Python documentation.

If you are completely new to reStructuredText, the following ๐Ÿ“” introductions and tutorials are the best start points for you:

Now, you have known a bit of reStructuredText ๐Ÿ‘. Just adopt a โœ’๏ธ reStructuredText editor, then you can try it out ๐Ÿง!

You may forget an unfrequently used syntax or not sure about a specific syntax during writing. Pick a ๐Ÿ“” cheatsheet or reference documentation at hand, which you will look for sooner or later.

DITA

DITA is an open source standard for creating topic-based strcutured technical documentations, which was originally created by IBM and was donated to OASIS in 2005.

It was initially spread to high-tech companies like Adobe, Siemens, and Kone, and then become more and more popular in all industries.

If you are completely new to DITA, the following ๐Ÿ”” courses and tutorials are the best start points for you:

  • LearningDITA - Nine game-based courses for DITA beginners, developed and maintained by Scriptorium.
  • DITA for the Impatient - A short DITA tutorial to teach the basics of DITA, developed by Hussein Shafie at XMLmind Software.

Now, you have known a bit of DITA ๐Ÿ‘. It's time to practice ๐Ÿ’ƒ๐Ÿ•บ!

That said, DITA is a bit complicated. Adopt a DITA-aware XML editor first, in case you are trapped in the tremendous DITA elements. Then, keep a ๐Ÿ“™ book of DITA best practices at hand for reference at any time.

You can use DITA to improve your own technical documentation. If you don't have such resources, pick one of ๐Ÿ“” open source sample manuals written in DITA to see how it was written and think how to improve it.

DITA has much more elements than Markdown and reStructuredText. If you encounter soemthing unknown, resort to ๐Ÿ“˜ official specifications.

If you like to stay current with DITA developments, visit the ๐Ÿ“ official repositories in GitHub often.

  • DITA Specification - The official repository for the source files of the DITA specification developed and maintained by the DITA Technical Committee.
  • Leightweight DITA Specification - The official repository for source files of the Lightweight DITA specification developed and maintained by the Lightweight DITA Subcommittee.
  • DITA Specializations - The official repository for DITA specializations that were developed by the DITA Technical Committee, but are no longer part of the DITA standard.

S1000D

S1000D is an international specification for procurement and production of technical publications, which was initially developed for military aerospace industries and spread to various civil and military aeroamphibious equipments later.

S1000D is the most complicated standard for technical documentations. That means, there are rare free resources for self-study.

Here are the ๐Ÿ“ official specifications and implementations in specific industries.

Text automatic processing

Equipping yourself with some programming skills will enable you to complete some really cool jobs, such as automating workflow and batch modifying.

Regular expression

A regular expression (regex) is a pattern that the regex engine can use to find or match substrings. Regex is extremely useful in finding and replacing texts or strings in text files.

If you are completely new to regex, the following ๐Ÿ“™ tutorial is the best start point for you:

Use an ๐Ÿ’ป online tool to experiment the regexes in the tutorial or your own regexes. It will make your studying easy and interesting.

  • Regex 101 - An online tool to build, test and debug regex.
  • RegExr - An online tool to learn, build and test regex.

Tip

You can also use a text editor that supports searching files with regex to experiment your regexes, such as VS Code.

Take a ๐Ÿ“” cheatsheet or quick reference at hand to check the regex syntax at any time:

XSL

XSL (Extensible Stylesheet Language) is a styling language for XML. It consists of three parts: XSLT, XPath, and XSL-FO.

XSLT (XSL Transformations) is a language for tranforming XML documents. It is widely used in many purposes other than stylesheets, like transforming from one XML language to another, generating HTML pages from XML documents, etc.

XPath (XML Path Language) is an expression language for navigating through elements and attributes in an XML document.

  • XPath Tutorial - A tutorial for XPath beginners, which was developed by W3Schools.
  • XPath 3.1 - The latest official specification for XPath, which was released on Mar 21, 2017.

XSL-FO (XSL Formatting Objects) is a language for formatting XML documents. XSL-FO is also called XSL.

  • XSL-FO Tutorial - A tutorial for XSL-FO beginners, which was developed by W3Schools.
  • XSL-FO Tutorial - A learn-by-example tutorial for XSL-FO beginners, which provides a series of examples working in XEP.
  • XSL Version 1.1 - The lastest official specification for XSL-FO, which was released on Dec 05, 206.

PowerShell

PowerShell is a task automation tool from Microsoft which is built into all versions of Windows.

If you like to explore more resources about PowerShell, see Awesome PowerShell.

awesome-technical-writing-learning's People

Contributors

wongyah avatar yedda-wang avatar

Stargazers

 avatar Remus-Horia B avatar  avatar

Watchers

 avatar

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.