Giter Site home page Giter Site logo

python / docs-community Goto Github PK

View Code? Open in Web Editor NEW
37.0 37.0 24.0 2.54 MB

Community management for documentation contributors and the Docs Workgroup

Home Page: https://docs-community.readthedocs.io/en/latest/

License: Creative Commons Zero v1.0 Universal

docs-community's People

Contributors

aa-turner avatar betteridiot avatar brianschubert avatar cam-gerlach avatar dependabot[bot] avatar egeakman avatar encukou avatar ezio-melotti avatar freddrake avatar hugovk avatar mariatta avatar pauleveritt avatar pradyunsg avatar pre-commit-ci[bot] avatar snoopj avatar unique-usman avatar willingc 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

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

docs-community's Issues

Enhancing the switchers setup

Currently the contributions to python-docs-theme are made hard because of the language and version switchers.

I made review a bit easier by adding a github action to build the doc and provide it as a built artifact, so reviewers can just download and test locally.

But still the enhancement of the doc is made hard, for example python/python-docs-theme#46 has been slowed down because of this (sry @obulat).

Solution 1

I once had an idea to enhance the situation: we could provide an "API" on the form of a simple .js file at the root of docs.python.org listing the available versions and languages.

pros:

  • It removes the switchers ugly hack in docsbuild-scripts.
  • It make the theme easy to test locally: just drop a versions.js at the root with some sample data.
  • A project using our theme with no need for switchers will not use a version.js file and have no switchers.
  • A project using our theme with the need for switchers could set them up easily (add a version.js file).

cons:

  • This is already the case, but we should be aware of the SEO penality that we could have if we redrow the page after load to render the switchers.
  • The impementation will probably be tied to our specific hiearchy: /{LANG}/{VERSION}/ with the language being optional, defaulting to english.
  • It may not follow the current state of the art of doing this, as I did not reviewd how other themes do this, how readthedocs does it, how for example https://docs.djangoproject.com/en/3.1/ does it.

Other ideas, and feedback welcome.

cc @pradyunsg @obulat

Move language selection to a dedicated page?

I have been browsing various documentation sites, as part of exploration for #1, and I quite like how React has handled their presentation for the documentation translations: https://reactjs.org/languages

By having a separate page, the page can now contain:

  • Clear indicators for the "state" / "completeness" of the translation efforts, like "In Progress" and "Needs Contributors".
  • Clear links to contribute to each of the language-specific translation efforts.
  • Callout to a documentation page, for folks interested in contributing additional languages.
  • A lot more space to present translations across many languages. :)

I think all of these are basically non-feasible for a dropdown-based language selector like we have today on docs.python.org.

Diátaxis: Where are we?

There seems to be general consensus that diátaxis is a great theoretical model for structuring documentation.
However, using it – restructuring Python's docs – is a monumental task that needs some planning upfront.
@AA-Turner mentioned on the recent meeting that it would be good to start by charting the starting point: where on the Diátaxis chart do individual sections of the docs fall?
With that info we should be able to start planning where they should fall, and restructure/rewrite accordingly.

Roles/styles for good/bad code blocks in PEPs

Do we want to add styling for good/bad code blocks to PEPs?

For an epxample, look at pep8.org, a third-party (and outdated) rendering of PEP 8
The main difference between it and the new style proposed for PEPs is the red & green indicators on what to do vs. what not to do.

I've just read the dangerous "naive" SQL code in PEP-0675 and thought it could use a similar "don't copy this" indicator. There surely are many other examples.
Of course everything should be covered in prose for screen readers and color-blind people, but for many people colors could aid understanding.

Would it be useful in docs as well?

Docs WG monthly meeting #1

Hello, Docs WG! I think it's time to plan the long-overdue monthly meetings.
Carol filled me in on some previous conversations, and I'd like to play the role of a project manager -- help make this actually happen.

I'm envisioning a one-hour meeting call, open to the community (with moderation, obviously).
Would everyone be OK with meeting over Discord?

For me it would be convenient to combine this meeting with the Steering Council one, so I'll propose Monday, Feb 7th, 17:30 UTC 22:00 UTC. But I'm quite flexible.
Does this work for you, and if not, what time(s) could you make it? If you don't want to share details here, I'm at [email protected]

@willingc @Mariatta @nedbat @JulienPalard

Edit:
As for the platform, no one seems to be against Discord. If you already have an account there, please join with sMWqvzXvde. Or contact me at [email protected] for a direct link -- this should be public, but I want to avoid any invite-harvesting bots.

Add automation to prevent breaking URLs

(This was discussed at one of the meetings, filing an issue so it isn't forgotten.)

Any kind of reorganization can break existing URLs. Ideally any breakage is intentional rather than accidental. Even more ideally, we add some redirect mechanism.

Brian Skinn's sphobjinv library might be useful for inspecting Sphinx inventories.

[PyCon 2024] Documentation summit and Documentation sprint

I would like to propose these activities for PyCon 2024, I know it is not relevant to the documentation for Python but I would like to get the opinion of the amazing people who are passionate about documentation and put in so much effort to make our documentation great!

Documentaion summit

Like other summits, we will invite leaders in the documentation spaces (especially in the Python community) to present some documentation-focused talks. We will also host panel sessions to discuss relevant issues regarding documentation. It would also be great to invite tech writers from companies (e.g. sponsors, those who have good documentation) to join.

Documentation sprint

It can be part of the "regular" sprint at the end of the conference, however, we should gather projects to put focus on documentation and encourage contribution to it. Or it can be like mentored sprints and have a separate session in the tutorials/ main conference days.

Please let me know what you think. CC @Mariatta who is the awesome PyCon chair of 2023 and 2024

Discourse: fill in "About the Documentation category"

The pinned about page for the Documentation category still has the template placeholder:

https://discuss.python.org/t/about-the-documentation-category/5499

(Replace this first paragraph with a brief description of your new category. This guidance will appear in the category selection area, so try to keep it below 200 characters.)

  • Use the following paragraphs for a longer description, or to establish category guidelines or rules:

  • Why should people use this category? What is it for?

  • How exactly is this different than the other categories we already have?

  • What should topics in this category generally contain?

  • Do we need this category? Can we merge with another category, or subcategory?

Let's update it.

French translation sprint

Posting here for added visibility.

The Montréal-Python user group is hosting a sprint to work the on the French translation of the Python documentation until the end of the month. We are focussing on 3.9 for this sprint with aspirations to run another one in the fall to focus on 3.10.

More details here: https://mtlpy.org/en/2021/04/python-fr-sprint/

Mobile friendly theme for wiki.python.org

Wiki.python.org is not mobile friendly.

It would be great to have a mobile theme for wiki.python.org. Though I personally don't have CSS / styling / art skills, so all I can do is provide moral support and perhaps merge the PR 😅

I wasn't able to locate the source code for the wiki, and I wasn't sure who "owns" or "hosts" the wiki, so I asked in The PSF's Discourse: https://discuss.python.org/t/wiki-python-org-is-not-mobil-friendly/8700

Some info:

Some thoughts and questions:

  • We can fork the europython theme and improve it?
  • Or perhaps we should develop a theme for us and make it look closer to python-docs-theme, or python.org?
  • Or perhaps we should just use a pre-existing more modern moinmoin theme? Looks like the official theme itself is quite mobile friendly?

Changing docs for trivial issues

There's this open issue right now on British vs American spelling:

python/cpython#82221

In the past, there's been some merged PRs on similar smallish consistency/grammar issues:

python/cpython#2787
python/cpython#25985

However, there are also these other comments that seem to resist against trivial changes:

python/cpython#58372 (comment)
python/cpython#62480 (comment)

The sense that I'm getting is that trivial / minor grammatical / consistency issues are generally not considered if it's either unreported, too large such that it'll take more core dev reviewing time than it's worth in improvement, or touches on somewhat historical docs. Would this be an accurate summary on whether to consider committing small changes?

How to communicate the philosophy of type annotations in Python?

A question from the Typing summit:

How to communicate the philosophy of type annotations in Python?

  • Beginners don't need annotations
  • "Catching bugs" is how to sell it to your engineering director :-)
  • Adding improvements like new Union to simplify the syntax

There's a nice community around typing that is responsive to ideas and thoughts.

Document the Editorial Board in this repo

PEP 732 – The Python Documentation Editorial Board was accepted last month, which formed a Documentation Editorial Board to replace the old Documentation Working Group.

Let's update this repo's docs to reflect this.

Please could the EB take care of updating https://docs-community.readthedocs.io/en/latest/workgroup/index.html?

There's lots of stuff there about (old WG) practices which the new board is best placed to update. I expect a lot can be deleted and/or replaced with a link to the PEP.

Suggestions from Python Language Summit

  1. From Greg Smith:

we should turn this into a modern "how to write a modern interpreter finalization and subinterpreter safe extension module" best practices doc. (beyond the pep)

Add meta tags to docs.python.org

We need to add <meta> tags to the output of sphinx documentation.

It looks like this is supported using the meta directive

https://docutils.sourceforge.io/docs/ref/rst/directives.html#meta

Example:

.. meta::
   :description: The reStructuredText plaintext markup language
   :keywords: plaintext, markup language

Some meta tags we should have:

  • title
  • description

Some advice according to: https://ahrefs.com/blog/seo-meta-tags/

Title meta:

  • Write a unique title tag for each page;
  • Be brief, but descriptive;
  • Avoid generic and vague titles;
  • Use sentence case or title case;
  • Create something click-worthy—not clickbait;
  • Match search intent;
  • Include your target keyword where it makes sense;
  • Keep it under 60 characters.

Description meta:

  • Write a unique description for each page;
  • Try to summarize content accurately;
  • Avoid generic descriptions;
  • Use sentence case;
  • Create something click-worthy, not clickbait;
  • Match search intent;
  • Include your target keyword where it makes sense;
  • Keep it under 160 characters

Style guide: permit "CPU"?

The devguide style guide advises against using "CPU":

CPU

For “central processing unit.” Many style guides say this should be spelled out on the first use (and if you must use it, do so!). For the Python documentation, this abbreviation should be avoided since there’s no reasonable way to predict which occurrence will be the first seen by the reader. It is better to use the word “processor” instead.

But it's advice rarely followed. A quick count in the CPython docs (searching for lines with regex "\bCPUs?\b" and "\bprocessors?\b"):

  • 74 "CPU"
  • 48 "processor"

Even the devguide only managed 1 "processor", and it was in the recommendation above to use this word. Compared to 4 "CPU" (1 in the prohibition above and 3 elsewhere).

Other style guides

Well, let's see what some other style guides say.

Google:

CPU
All caps. No need to expand the abbreviation on first mention.

Red Hat:

Capitalization
Unless the acronym or initialism stands for a proper noun, use sentence case for the spelled out version: for example, "central processing unit (CPU)". Not all acronyms are capitalized (for example, "spool"); see the IBM Style Guide or another suitable reference if you are unsure.

Apple:

CPU
Abbreviation for central processing unit. Avoid in user materials; use processor to refer to the chip and use computer or system to refer to the computer itself. For guidelines about spelling out abbreviations, see abbreviations and acronyms. See also computer; processor; system.

Microsoft:

CPU not specifically mentioned or prohibited.

Bishop Fox

CPU, CPUs (n.)
Central processing unit. Do not spell out.

Archaeology

This advice was first added to the devguide by Sandro Tosi in January 2012:
python/devguide@3160c41

It was moved from "Documenting Python":

https://web.archive.org/web/20080214225803/http://docs.python.org/dev/documenting

The style guide mentioned there isn't archived, but it was originally part of the Python source. This advice was first added to the main repo by Fred Drake in July 2001:

python/cpython@9120df3

  \begin{description}
    \item[CPU]
    For ``central processing unit.''  Many style guides say this
    should be spelled out on the first use (and if you must use it,
    do so!).  For the Python documentation, this abbreviation should
    be avoided since there's no reasonable way to predict which occurance
    will be the first seen by the reader.  It is better to use the
    word ``processor'' instead.

The commit message:

Add a little more information about the usage of some terms where the style guide can use a little clarification, and present some minor specific markup.

Make a few adjustments to conform to the style guide.

I had a poke around the old Python-Dev mailing list but didn't find any mention.

So no specific reasoning for this addition.

Suggestion

I think our recommendation is outdated, and we're clearly not following it.

I think it's okay to use "CPU" without spelling out.

Shall we remove this rule, or update it somehow?

Host the Python docs on ReadTheDocs

From time to time the discussion arise about moving docs.python.org to readthedocs, there's even an experimental python.readthedocs.io.

I think there's many pros and cons of using readthedocs.

I'd personally be in favor of it if we (the PSF) support them (the cpython Doc is a big one with a lot of traffic, it take around 24h of CPU to build all versions × languages with all PDF A4, PDF letter, HTML, plaintext, epub).

In the other hand it's not an easy task, among other things docs.python.org is not only about generating the docs but also hosting history:

What's the intended organisation of people here?

So... this morning I'm spiralling into what is almost certainly going to end up being a proposal on python-ideas or the Ideas category on discuss.python.org -- that we adopt the "Teams" concept from PEP 8015.

And... that has confused me about this group -- is the plan for this group to become a PSF work group (i.e. PSF board approved group, fundraising + making hiring decisions, handle all the paperwork around that etc), or is this intended to be closer to what the typing has (just a bunch of volunteers who are interested in the topic), or what the packaging community has (both, with a clear separation between the two)?

I'm thinking that this group will have a similar split in responsibilities as Packaging-WG and the PyPA (see https://peps.python.org/pep-0609/#terminology for language on the relationship).

Filing this on the issue tracker, to serve as a clear place for public discussion on this. :)

Add release cycle chart

In 2019 Dustin Ingram made this chart of the Python release cycle: https://python-release-cycle.glitch.me/

image

Jeff Triplett and I have forked to make one for Django and Drupal respectively. It's a simple static site: some HTML, JS and CSS using a Gantt chart from Google Charts:

Dustin recently asked:

Hugo, do you think there's any appetite for putting this in more official docs or web properties somewhere? I think there was talk about that at some point but never saw it happen.

I think it would be good, it has come up before a couple of times:

Options

If so, we have a number of options.

We could:

Proof of concept

For option two, I made a proof of concept using https://github.com/mgaitan/sphinxcontrib-mermaid to render a Gantt chart on the devguide: https://hugovk-devguide.readthedocs.io/en/mermaid/versions/

image

Right now it duplicates the dates, but once python/devguide#884 is merged, we could generate them from the CSV.

Further

Let's discuss in today's docs community meeting.

Cut the whale of the changelog into manageable pieces?

The changelog page is very long:

It's currently 219,974 words, that's longer than Moby Dick (212,794 words)... 🐳

It contains all the NEWS entries back to Python 3.5.0 alpha 1 (February 8, 2015).

It loads okay on deskstop, but my phone struggles to render it, and the browser hangs when trying to search for text.

I tried to check the accessibility report using Google's PageSpeed Insights:

It shows good initial numbers:

image

But the rest of the report is missing: "Oops! Something went wrong. generic::deadline_exceeded: Render timeout received in extension."

image

Shall we break the changelog page into smaller, more manageable chunks?

Use Sphinx for pep builds and better rendering

TODO:

  • Deploy on RTD and GH-Pages
  • Determine after both are deployed when should each be used. I could see RTD for PEP docs similar to devguide and gh-pages to perhaps integrate with Python dot org

Clean up docs-community.readthedocs.io

The docs are a bit of a ghost town. Remove the unnecessary bits, consolidate the necessary ones, and generally make it better.

(But keep in mind it should be living documents: we don't need book-quality prose.)

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.