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 Read the Docs #2424

Merged
merged 4 commits into from
May 8, 2023
Merged

Add Read the Docs #2424

merged 4 commits into from
May 8, 2023

Conversation

benjaoming
Copy link
Contributor

@benjaoming benjaoming commented Nov 4, 2022

https://github.com/readthedocs-examples/awesome-read-the-docs#readme

Motivation tl;dr

There's a lot of stuff going on in the field of documentation and technical writing. Especially the world of academic writing and research engineering is moving closer to software engineering and software documentation. Whatever documentation project you are writing, you can get inspired from a rapidly developing world of themes, framework extensions, structure, writing style etc.

There's a lot of reasons why a documentation project might be interesting. Those reasons might not strike the reader by simply visiting the project. So we try to give a few tips in the description about what makes a particular project interesting.

Another reason that these projects are interesting to share is that not just that the end-result is inspiring -- the code behind all these projects in the list is Open Source and linked directly from their output pages.

There are probably thousands more documentation projects on Read the Docs than one person can ever read in a life-time. Hence, this list needs to be launched, as in made open for contributions. We're hoping it can benefit from reviews here and start its journey towards wider community contributions in this fashion.

Notes

About the choice of "Miscellaneous": I noticed some themes around writing in general, will open an issue about this.

Another note: There are 0 awesome lists in the theme of documentation?

PR Reviews

https://github.com/sindresorhus/awesome/pull/2386
https://github.com/sindresorhus/awesome/pull/2159#issuecomment-1303955577
https://github.com/sindresorhus/awesome/pull/2585

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 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.
  • You have read and understood the instructions for creating a list.
  • This pull request has a title in the format Add Name of List.
    • 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 about 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.
    • - [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.
  • 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.
  • 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.
  • 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 maximum half the width of the original image.
  • 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. 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.
  • Doesn't use hard-wrapping.
  • Doesn't include a Travis badge.
    You can still use Travis for list linting, but the badge has no value in the readme.
  • Doesn't 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.

@LutingWang
Copy link

LutingWang commented Nov 18, 2022

Contents should be the first section instead of Foreword. Personally, I believe that the heading Foreword is unnecessary, and the contents can be directly merged with the previous paragraph.

Some descriptions like setuptools - lots ... and disnake - this ... does not start with capital letters (l and t).

Please read the pull_request_template again to make sure that you do not miss a line.

@benjaoming
Copy link
Contributor Author

benjaoming commented Nov 18, 2022

Personally, I believe that the heading Foreword is unnecessary, and the contents can be directly merged with the previous paragraph.

I was inspired by this list: https://github.com/mojoaxel/awesome-regression-testing

I prefer to isolate the motivational speech in a Foreword. It's the same principal as with a book that you read: Some people like to read the Foreword before they start reading, while other people find it easy to skip.

Some descriptions like setuptools - lots ... and disnake - this ... does not start with capital letters (l and t).

That's on purpose. Software projects tend to be specific about their names with respect to character cases.

Please read the pull_request_template again to make sure that you do not miss a line.

Please help me here - what lines did I miss?

@LutingWang
Copy link

LutingWang commented Nov 18, 2022

I was inspired by this list: https://github.com/mojoaxel/awesome-regression-testing

I prefer to isolate the motivational speech in a Foreword. It's the same principal as with a book that you read: Some people like to read the Foreword before they start reading, while other people find it easy to skip.

Oh, I see. I agree that sometimes the Foreword is best isolated. But according to the guidelines (Has a Table of Contents section...Should be the first section in the list), this does not seem the best practice. I think the repo owner wants to keep the awesome lists uniform in format. But I'm not sure why the awesome-regression-testing violates the guidelines and still gets merged...

That's on purpose. Software projects tend to be specific about their names with respect to character cases.

I'm not sure if there is a misunderstanding. What I'm referring to is the lots and this, which are supposed to be Lots and This (The description starts with an uppercase character and ends with a period).

Please help me here - what lines did I miss?

Sorry that I may not be allowed to tell you the exact line since it is merely a check. Simply read it again, and do not skip any line (even if they are nested). You will see when you reach the line.

@benjaoming
Copy link
Contributor Author

benjaoming commented Nov 21, 2022

(The description starts with an uppercase character and ends with a period).

Ah, I see what you mean! Thanks! Yes, some of the descriptions needed to start with an upper case letter, it is fixed now. Not sure why the linting doesn't catch this, but there's probably a good reason.

readme.md Outdated Show resolved Hide resolved
@julienrbrt
Copy link
Contributor

I am curious of the tags you add next to each line. What are the use case? Are people are expected to search in the page for each tag? If so, maybe where it makes sense you should to create a category instead of adding the tag.

@julienrbrt julienrbrt mentioned this pull request Nov 28, 2022
@benjaoming
Copy link
Contributor Author

benjaoming commented Nov 28, 2022

@julienrbrt

Exclusive categories are difficult because there are a lot of intersections going on in this list. For each project, there may be several reasons why it is Awesome 🕶️

For now, the tags are there to denote this overlap and to figure out what the system should be.

I'm genuinely interested in developing the tags so they are useful as a criteria for the user. You could for instance type CTRL+F and then tab through everything with Sphinx.

Some projects are interesting because they can inspire someone with a scientific or academic use-case, but they may also still contain a nice API documentation; they might be using Sphinx, and they might be using MkDocs.

Edit: One of the ways to improve this over time, would be to have a very limited set of tags so it's easy to spot the system.

@tomByrer
Copy link

A curated list of awesome documentation projects, useful to learn from and for bootstrapping new documentation projects. Plus cool real-life usages of Read the Docs.

This is disingenuous; only lists Read the Docs projects, while there are 30 other "awesome documentation" builders.

@benjaoming
Copy link
Contributor Author

@tomByrer - The description already mentions giving space to a "Documentation" section. It would be great if people did more lists revolving around the theme of documentation, sure.

@julienrbrt
Copy link
Contributor

@julienrbrt

Exclusive categories are difficult because there are a lot of intersections going on in this list. For each project, there may be several reasons why it is Awesome dark_sunglasses

For now, the tags are there to denote this overlap and to figure out what the system should be.

I'm genuinely interested in developing the tags so they are useful as a criteria for the user. You could for instance type CTRL+F and then tab through everything with Sphinx.

Some projects are interesting because they can inspire someone with a scientific or academic use-case, but they may also still contain a nice API documentation; they might be using Sphinx, and they might be using MkDocs.

Edit: One of the ways to improve this over time, would be to have a very limited set of tags so it's easy to spot the system.

If you eventually render your list on a website and add some JS to easily select tags, then it makes sense.
I do agree that a set of tags should be pre-defined. It might become a hell to keep track otherwise.

Copy link
Contributor

@julienrbrt julienrbrt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, pending title change for clarity.

@silopolis
Copy link

This would surely fit well in the proposed Technical Documentation category proposed in #2486.

@benjaoming
Copy link
Contributor Author

Thanks for gathering the overview @silopolis 👍

I'll be happy to change this PR to bootstrap a new category if the proposal is approved.

@sindresorhus
Copy link
Owner

#2386

This is not an acceptable review. You need to actually point out some specific actionable improvements.

readme.md Outdated Show resolved Hide resolved
@epompeii
Copy link

It looks much improved. You could always run npx awesome-lint though to see if that helps.

@benjaoming
Copy link
Contributor Author

@epompeii thanks, yeah it has been running linting from the beginning: https://github.com/readthedocs-examples/awesome-read-the-docs/blob/main/.github/workflows/lint.yaml#L24

@ogeorgeonyeka
Copy link

let's add a contributing file, so we can work better, together!

@sindresorhus
Copy link
Owner

Bump

@benjaoming
Copy link
Contributor Author

@sindresorhus I did a shortening of the description

This is not an acceptable review. You need to actually point out some specific actionable improvements.

I've done another review, so I hope you can accept that. It's in https://github.com/sindresorhus/awesome/pull/2585#pullrequestreview-1396950895. It takes a lot of time to review things, so even if there isn't an actionable item doesn't mean that someone hasn't spent time to verify the claims of a PR 👍

@sindresorhus
Copy link
Owner

The image should be high-DPI. Set it to maximum half the width of the original image.

@benjaoming
Copy link
Contributor Author

I've changed the logo to an SVG that I have of our real logo. I don't unfortunately have the former illustration as SVG. If I manage to find it, I will replace the current logo with the former one because it's more illustrative of the point (RTD projects, not RTD itself).

@benjaoming
Copy link
Contributor Author

Fixed conflicts.

@sindresorhus LMK if there's anything actionable left, I haven't been able to find anything 😊

@sindresorhus sindresorhus merged commit 78bde71 into sindresorhus:main May 8, 2023
@sindresorhus
Copy link
Owner

Tweet: https://twitter.com/awesome__re/status/1655656716141477888

@benjaoming benjaoming deleted the patch-1 branch May 8, 2023 21:01
@julienrbrt julienrbrt mentioned this pull request Jun 20, 2023
31 tasks
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.

8 participants