Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Technical Writing Learning #3022

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

wongyah
Copy link

@wongyah wongyah commented Apr 16, 2024

Repo URL: https://github.com/wongyah/awesome-technical-writing-learning

Site URL: https://resources.docsimpo.work/

The list lists awesome and free resources about technical writing, ranging from courses and tutorials for beginners, popular authoring format (such as Markdown and DITA), to automatic processing technologies. I believe the list will be extremely useful for technical writers and engineers who need to write technical contents.

My comments for the pull requests to be reviewed:

I also opened a pull request: Improve the list guidelines and pull request guidelines (pull request template) #2984

By submitting this pull request I confirm I've read and complied with the below requirements 🖖

Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.

Requirements for your pull request

  • Don't open a Draft / WIP pull request while you work on the guidelines. A pull request should be 100% ready and should adhere to all the guidelines when you open it. Instead use #2242 for incubation visibility.
  • Don't waste my time. Do a good job, adhere to all the guidelines, and be responsive.
  • You have to review at least 2 other open pull requests.
    Try to prioritize unreviewed PRs, but you can also add more comments to reviewed PRs. Go through the below list when reviewing. This requirement is meant to help make the Awesome project self-sustaining. Comment here which PRs you reviewed. You're expected to put a good effort into this and to be thorough. Look at previous PR reviews for inspiration. Just commenting “looks good” or simply marking the pull request as approved does not count! You have to actually point out mistakes or improvement suggestions. Comments pointing out lint violation are allowed, but does not count as a review.
  • You have read and understood the instructions for creating a list.
  • This pull request has a title in the format Add Name of List. It should not contain the word Awesome.
    • Add Swift
    • Add Software Architecture
    • Update readme.md
    • Add Awesome Swift
    • Add swift
    • add Swift
    • Adding Swift
    • Added Swift
  • Your entry here should include a short description of the project/theme of the list. It should not describe the list itself. The first character should be uppercase and the description should end in a dot. It should be an objective description and not a tagline or marketing blurb. It should not contain the name of the list.
    • - [iOS](…) - Mobile operating system for Apple phones and tablets.
    • - [Framer](…) - Prototyping interactive UI designs.
    • - [iOS](…) - Resources and tools for iOS development.
    • - [Framer](…)
    • - [Framer](…) - prototyping interactive UI designs
  • Your entry should be added at the bottom of the appropriate category.
  • The title of your entry should be title-cased and the URL to your list should end in #readme.
    • Example: - [Software Architecture](https://github.com/simskij/awesome-software-architecture#readme) - The discipline of designing and building software.
  • No blockchain-related lists.
  • The suggested Awesome list complies with the below requirements.

Requirements for your Awesome list

  • Has been around for at least 30 days.
    That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
  • Run awesome-lint on your list and fix the reported issues. If there are false-positives or things that cannot/shouldn't be fixed, please report it.
  • The default branch should be named main, not master.
  • Includes a succinct description of the project/theme at the top of the readme. (Example)
    • Mobile operating system for Apple phones and tablets.
    • Prototyping interactive UI designs.
    • Resources and tools for iOS development.
    • Awesome Framer packages and tools.
  • It's the result of hard work and the best I could possibly produce.
    If you have not put in considerable effort into your list, your pull request will be immediately closed.
  • The repo name of your list should be in lowercase slug format: awesome-name-of-list.
    • awesome-swift
    • awesome-web-typography
    • awesome-Swift
    • AwesomeWebTypography
  • The heading title of your list should be in title case format: # Awesome Name of List.
    • # Awesome Swift
    • # Awesome Web Typography
    • # awesome-swift
    • # AwesomeSwift
  • Non-generated Markdown file in a GitHub repo.
  • The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
  • Not a duplicate. Please search for existing submissions.
  • Only has awesome items. Awesome lists are curations of the best, not everything.
  • Does not contain items that are unmaintained, has archived repo, deprecated, or missing docs. If you really need to include such items, they should be in a separate Markdown file.
  • Includes a project logo/illustration whenever possible.
    • Either centered, fullwidth, or placed at the top-right of the readme. (Example)
    • The image should link to the project website or any relevant website.
    • The image should be high-DPI. Set it to a maximum of half the width of the original image.
    • Don't include both a title saying Awesome X and a logo with Awesome X. You can put the header image in a # (Markdown header) or <h1>.
  • Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
  • Includes the Awesome badge.
    • Should be placed on the right side of the readme heading.
      • Can be placed centered if the list has a centered graphics header.
    • Should link back to this list.
  • Has a Table of Contents section.
    • Should be named Contents, not Table of Contents.
    • Should be the first section in the list.
    • Should only have one level of nested lists, preferably none.
    • Must not feature Contributing or Footnotes sections.
  • Has an appropriate license.
    • We strongly recommend the CC0 license, but any Creative Commons license will work.
      • Tip: You can quickly add it to your repo by going to this URL: https://github.com/<user>/<repo>/community/license/new?branch=main&template=cc0-1.0 (replace <user> and <repo> accordingly).
    • A code license like MIT, BSD, Apache, GPL, etc, is not acceptable. Neither are WTFPL and Unlicense.
    • Place a file named license or LICENSE in the repo root with the license text.
    • Do not add the license name, text, or a Licence section to the readme. GitHub already shows the license name and link to the full text at the top of the repo.
    • To verify that you've read all the guidelines, please comment on your pull request with just the word unicorn.
  • Has contribution guidelines.
    • The file should be named contributing.md. The casing is up to you.
    • It can optionally be linked from the readme in a dedicated section titled Contributing, positioned at the top or bottom of the main content.
    • The section should not appear in the Table of Contents.
  • All non-important but necessary content (like extra copyright notices, hyperlinks to sources, pointers to expansive content, etc) should be grouped in a Footnotes section at the bottom of the readme. The section should not be present in the Table of Contents.
  • Has consistent formatting and proper spelling/grammar.
    • The link and description are separated by a dash.
      Example: - [AVA](…) - JavaScript test runner.
    • The description starts with an uppercase character and ends with a period.
    • Consistent and correct naming. For example, Node.js, not NodeJS or node.js.
  • Does not use hard-wrapping.
  • Does not include a CI (e.g. GitHub Actions) badge.
    You can still use a CI for linting, but the badge has no value in the readme.
  • Does not include an Inspired by awesome-foo or Inspired by the Awesome project kinda link at the top of the readme. The Awesome badge is enough.

Go to the top and read it again.

@wongyah
Copy link
Author

wongyah commented Apr 16, 2024

unicorn

@wongyah
Copy link
Author

wongyah commented Apr 16, 2024

I run the awesome-lint before open this pull request, and found 5 kinds of false-positive errors. I have created an issue in the awesome-lint repository:

False-positive errors: invalid URL, awesome-git-repo-age, no-defined-references, no-repeat-punctuation, invalid git repository. #191

@batrdn
Copy link

batrdn commented May 1, 2024

I think the awesome-git-repo-age is failing because your README.md is created a week ago. As to the other failures related to Found reference to undefined definition, it's quite difficult to pinpoint where exactly they're coming from.

@slevithan
Copy link
Contributor

Thanks for your list. Technical writing is a subject I'm curious to learn more about.

Leaving aside the lint errors, there are a lot of minor issues with language. Numerous improvements could be made for clarity, brevity, and to use more idiomatic/natural English.

Here are just a few examples from the top, with suggestions:

  • Replace "Technical writing is an essential skill of" with "Technical writing is the essential skill of" (an→the).
    • Consider replacing "is the essential skill of" with "is about", "focuses on", or similar.
  • Replace "unaccessible" with "inaccessible" (all instances).
  • Replace "it is listed as a sublist item of the unaccessible one followed by a mark of Country Name in a pair of parentheses" with "it is listed as a subitem followed by the country name in parentheses".
    • Currently, there is only one case in the list where you actually do this, so consider removing the tip entirely and just addressing this inline. E.g., instead of "(China)" use something like "(accessible in China)".
  • In the ToC, replace "Text automatic processing" with "Text processing", and "Regular expression" with "Regular expressions".
  • Replace "are the best start points" with "are the best starting points".
  • Replace "Now, you have known a bit of technical writing 👏!" with "Now you know a bit about technical writing! 👏".
  • This is verbose and subjective: "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 😄!"
    • Consider something like: "Textbooks and tutorials by experienced professionals are great resources for systematically learning a new skill."
  • Consider changing "A technical writer at a computer vision startup confessed his daily work in every detail" to something like "Detailed daily work routine by a technical writer at a computer vision startup".
  • Instead of: "Tom Johnson, a senior technical writer at Google and the founder of the popular blog I'd Rather Be Writing, teach you how to write documentation for API step by step".
    • "teach you" → "teaches you".
    • Consider: "How to write API documentation step by step, by Tom Johnson, senior technical writer at Google and founder of the I'd Rather Be Writing blog".

...An so on.

I'd recommend doing another careful editing pass over all of the text, with a focus on being more concise (since this is a list rather than a blog post). That doesn't mean you need to drop your playful/friendly tone!

@wongyah
Copy link
Author

wongyah commented May 7, 2024

@slevithan Thanks a million for your suggestions. I will read through all the text and try to simplify them.

But natural English is really hard for me. What native English speakers think natural may be hard to understand for me.

I converted your comment to a discussion in my repository.

@luhuadong
Copy link

It looks like your awesome list has some punctuation issues. For example, repeated "." symbols, repeated links. It is recommended that you check and fix them, or consider reorganizing the content.

@luhuadong luhuadong mentioned this pull request May 13, 2024
33 tasks
slevithan added a commit to slevithan/awesome that referenced this pull request Jun 4, 2024
https://github.com/slevithan/awesome-regex

> An opinionated list of regular expression tools, tutorials, libraries, etc.

Covers all major regex flavors, and currently includes especially deep coverage of regular expressions in JavaScript. Not a list of merely well-known tools and resources, but rather the very best.

### By submitting this pull request I confirm I've read and complied with the below requirements 🖖

**Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.**

## Requirements for your pull request

- [x] Don't open a Draft / WIP pull request while you work on the guidelines. A pull request should be 100% ready and should adhere to all the guidelines when you open it. **Instead use [sindresorhus#2242](sindresorhus#2242) for incubation visibility**.
- [x] **Don't waste my time.** Do a good job, adhere to all the guidelines, and be responsive.
- [x] **You have to review at least 2 other [open pull requests](https://github.com/sindresorhus/awesome/pulls?q=is%3Apr+is%3Aopen).**
	- [Add Technical Writing Learning sindresorhus#3022 (comment)](sindresorhus#3022 (comment))
	- [Add Microsoft Azure Architecture sindresorhus#3029 (comment)](sindresorhus#3029 (comment))
- [x] You have read and understood the [instructions for creating a list](https://github.com/sindresorhus/awesome/blob/main/create-list.md).
- [x] This pull request has a title in the format `Add Name of List`. It should not contain the word `Awesome`.
	- ✅ `Add Swift`
	- ✅ `Add Software Architecture`
	- ❌ `Update readme.md`
	- ❌ `Add Awesome Swift`
	- ❌ `Add swift`
	- ❌ `add Swift`
	- ❌ `Adding Swift`
	- ❌ `Added Swift`
- [x] Your entry here should include a short description of the project/theme of the list. **It should not describe the list itself.** The first character should be uppercase and the description should end in a dot. It should be an objective description and not a tagline or marketing blurb. It should not contain the name of the list.
	- ✅ `- [iOS](…) - Mobile operating system for Apple phones and tablets.`
	- ✅ `- [Framer](…) - Prototyping interactive UI designs.`
	- ❌ `- [iOS](…) - Resources and tools for iOS development.`
	- ❌ `- [Framer](…)`
	- ❌ `- [Framer](…) - prototyping interactive UI designs`
- [x] Your entry should be added at the bottom of the appropriate category.
- [x] The title of your entry should be title-cased and the URL to your list should end in `#readme`.
	- Example: `- [Software Architecture](https://github.com/simskij/awesome-software-architecture#readme) - The discipline of designing and building software.`
- [x] No blockchain-related lists.
- [x] The suggested Awesome list complies with the below requirements.

## Requirements for your Awesome list

- [x] **Has been around for at least 30 days.**<br>That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
- [x] Run [`awesome-lint`](https://github.com/sindresorhus/awesome-lint) on your list and fix the reported issues. If there are false-positives or things that cannot/shouldn't be fixed, please [report it](https://github.com/sindresorhus/awesome-lint/issues/new).
- [x] The default branch should be named [`main`, not `master`](https://www.zdnet.com/article/github-to-replace-master-with-alternative-term-to-avoid-slavery-references/).
- [x] **Includes a succinct description of the project/theme at the top of the readme.** [(Example)](https://github.com/willempienaar/awesome-quantified-self)
	- ✅ `Mobile operating system for Apple phones and tablets.`
	- ✅ `Prototyping interactive UI designs.`
	- ❌ `Resources and tools for iOS development.`
	- ❌ `Awesome Framer packages and tools.`
- [x] It's the result of hard work and the best I could possibly produce.
	**If you have not put in considerable effort into your list, your pull request will be immediately closed.**
- [x] The repo name of your list should be in lowercase slug format: `awesome-name-of-list`.
	- ✅ `awesome-swift`
	- ✅ `awesome-web-typography`
	- ❌ `awesome-Swift`
	- ❌ `AwesomeWebTypography`
- [x] The heading title of your list should be in [title case](https://capitalizemytitle.com/) format: `# Awesome Name of List`.
	- ✅ `# Awesome Swift`
	- ✅ `# Awesome Web Typography`
	- ❌ `# awesome-swift`
	- ❌ `# AwesomeSwift`
- [x] Non-generated Markdown file in a GitHub repo.
- [x] The repo should have `awesome-list` & `awesome` as [GitHub topics](https://help.github.com/articles/about-topics). I encourage you to add more relevant topics.
- [x] Not a duplicate. Please search for existing submissions.
- [x] Only has awesome items. Awesome lists are curations of the best, not everything.
- [x] Does not contain items that are unmaintained, has archived repo, deprecated, or missing docs. If you really need to include such items, they should be in a separate Markdown file.
- [x] Includes a project logo/illustration whenever possible.
	- Either centered, fullwidth, or placed at the top-right of the readme. [(Example)](https://github.com/sindresorhus/awesome-electron)
	- The image should link to the project website or any relevant website.
	- **The image should be high-DPI.** Set it to a maximum of half the width of the original image.
	- Don't include both a title saying `Awesome X` and a logo with `Awesome X`. You can put the header image in a `#` (Markdown header) or `<h1>`.
- [x] Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
- [x] Includes the [Awesome badge](https://github.com/sindresorhus/awesome/blob/main/awesome.md#awesome-badge).
	- Should be placed on the right side of the readme heading.
		- Can be placed centered if the list has a centered graphics header.
	- Should link back to this list.
- [x] Has a Table of Contents section.
	- Should be named `Contents`, not `Table of Contents`.
	- Should be the first section in the list.
	- Should only have one level of [nested lists](https://commonmark.org/help/tutorial/10-nestedLists.html), preferably none.
	- Must not feature `Contributing` or `Footnotes` sections.
- [x] Has an appropriate license.
	- **We strongly recommend the [CC0 license](https://creativecommons.org/publicdomain/zero/1.0/), but any [Creative Commons license](https://creativecommons.org/choose/) will work.**
		- Tip: You can quickly add it to your repo by going to this URL: `https://github.com/<user>/<repo>/community/license/new?branch=main&template=cc0-1.0` (replace `<user>` and `<repo>` accordingly).
	- A code license like MIT, BSD, Apache, GPL, etc, is not acceptable. Neither are WTFPL and [Unlicense](https://unlicense.org).
	- Place a file named `license` or `LICENSE` in the repo root with the license text.
	- **Do not** add the license name, text, or a `Licence` section to the readme. GitHub already shows the license name and link to the full text at the top of the repo.
	- To verify that you've read all the guidelines, please comment on your pull request with just the word `unicorn`.
- [x] Has [contribution guidelines](https://github.com/sindresorhus/awesome/blob/main/awesome.md#include-contribution-guidelines).
	- The file should be named `contributing.md`. The casing is up to you.
	- It can optionally be linked from the readme in a dedicated section titled `Contributing`, positioned at the top or bottom of the main content.
	- The section should not appear in the Table of Contents.
- [x] All non-important but necessary content (like extra copyright notices, hyperlinks to sources, pointers to expansive content, etc) should be grouped in a `Footnotes` section at the bottom of the readme. The section should not be present in the Table of Contents.
- [x] Has consistent formatting and proper spelling/grammar.
	- The link and description are separated by a dash. <br>Example: `- [AVA](…) - JavaScript test runner.`
	- The description starts with an uppercase character and ends with a period.
	- Consistent and correct naming. For example, `Node.js`, not `NodeJS` or `node.js`.
- [x] Does not use [hard-wrapping](https://stackoverflow.com/questions/319925/difference-between-hard-wrap-and-soft-wrap).
- [x] Does not include a CI (e.g. GitHub Actions) badge.<br>You can still use a CI for linting, but the badge has no value in the readme.
- [x] Does not include an `Inspired by awesome-foo` or `Inspired by the Awesome project` kinda link at the top of the readme. The Awesome badge is enough.
@slevithan slevithan mentioned this pull request Jun 4, 2024
33 tasks
@tyaga001
Copy link
Contributor

tyaga001 commented Jul 3, 2024

Thanks for curating this great list...let me know if you need any help to add more stuff. amazing work.

I also do write technical guides.

@tyaga001 tyaga001 mentioned this pull request Jul 3, 2024
33 tasks
@wongyah
Copy link
Author

wongyah commented Jul 6, 2024

@tyaga001 Sure, appreciate for that. If you want to suggest a new resource or category, just send a pull request or start a discussion in the repository.

Thanks for your comment. You are always welcome!

Thanks for curating this great list...let me know if you need any help to add more stuff. amazing work.

I also do write technical guides.

@sindresorhus
Copy link
Owner

There are still some typos. I recommend passing it through ChatGPT to iron out the typos.

@wongyah
Copy link
Author

wongyah commented Oct 30, 2024

@sindresorhus I have corrected those typos with a VS Code extension named Code Spell Checker, and passed it through a ChatGPT-like application of China. Thanks very much for your suggestion!

There are still some typos. I recommend passing it through ChatGPT to iron out the typos.

Repository owner deleted a comment from Phildeex1 Oct 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants