Skip to content

Update Landing page and table of contents - devdocs #17845

@cooperrc

Description

@cooperrc

Documentation

This issue proposes a redesign of the NumPy Documentation website at www.numpy.org/devdocs. This issue is part of Google Season of Docs to help redesign, add content, and build community in NumPy documentation. My suggestions are designed to implement NEP 44

I would like to make three updates to the website:

  1. Match the landing page to the table of
    contents
  2. Rename "NumPy basics" to "NumPy Fundamentals"
  3. Remove "Explanations" and use "NumPy Fundamentals" as the
    explanations section (following the Divio docs
    descriptions
    )

1- Match the landing page to the table of contents

The current landing page does not match the main documentation table of contents. As the user clicks on an item in the main page, new content appears and the order is slightly different for reference, the current landing vs table of contents is show below:

Landing Page Table of Contents
For users:
  • What is NumPy?
  • Installation
  • Quickstart
  • Absolute beginner's guide
  • Tutorials
  • How-tos
  • NumPy API reference
  • Explanations
  • F2Py guide
  • Glossary

For developers/contributors:

  • NumPy contributor guide
  • Under-the-hood docs
  • Building and extending the documentation
  • The numpydoc docstring guide
  • Benchmarking
  • NumPy Enhancement Proposals

Meta Information:

  • Reporting bugs
  • Release notes
  • Document conventions
  • License of NumPy
  • What is NumPy?
  • Installation
  • NumPy quickstart
  • NumPy: the absolute basics for beginners
  • NumPy basics
  • Miscellaneous
  • NumPy for MATLAB users
  • Building from source
  • Using NumPy C-API
  • NumPy Tutorials
  • NumPy How Tos
  • Explanations
  • F2PY Users Guide and Reference Manual
  • Glossary
  • Under-the-hood Documentation for developers
  • NumPy’s Documentation
  • Reporting bugs
  • Release Notes
  • Documentation conventions
  • NumPy license

Proposed Landing vs Table of Contents:

I propose the new landing page and table of contents should match as such:

Landing Page Table of Contents
For users:
  • What is NumPy?
  • NumPy: the absolute beginner's guide
  • Installation
  • NumPy quickstart
  • NumPy for MATLAB users
  • NumPy Tutorials
  • NumPy How Tos
  • NumPy basics fundamentals
  • Building from source
  • Using NumPy C-API
  • Explanations remove
  • F2PY Users Guide and Reference Manual
  • Glossary

For developers/contributors:

  • NumPy contributor guide
  • Under-the-hood docs
  • A guide to NumPy documentation
  • Building the NumPy API and reference docs
  • Benchmarking
  • NumPy Enhancement Proposals

Meta Information:

  • Reporting bugs
  • Release notes
  • Document conventions
  • License of NumPy
  • What is NumPy?
  • NumPy: the absolute basics for beginners
  • Installation
  • NumPy quickstart
  • Miscellaneous remove
  • NumPy for MATLAB users
  • NumPy Tutorials
  • NumPy How Tos
  • NumPy basics fundamentals
  • Explanations remove
  • Building from source
  • Using NumPy C-API
  • F2PY Users Guide and Reference Manual
  • Glossary
  • NumPy contributor guide
  • Under-the-hood docs
  • A guide to NumPy documentation
  • Building the NumPy API and reference docs
  • Benchmarking
  • NumPy Enhancement Proposals
  • Reporting bugs
  • Release notes
  • Document conventions
  • License of NumPy

2- Rename "NumPy basics" to "NumPy Fundamentals" and reorganize content

The NumPy Basics section consists of the following content:

  • Data types
  • Array creation
  • I/O with NumPy
  • Indexing
  • Broadcasting
  • Byte-swapping
  • Structured arrays
  • Writing custom array containers
  • Subclassing ndarray

These articles have very useful information for users, but they do not cover the basics. The basics are covered in Absolute Basics for beginners. I propose adding a description to these articles as Explanation Material and relabel the section as "NumPy Fundamentals". This documentation space can be used to clarify parts of NumPy and describe design decisions in NumPy. Most of this content is already there, but it will help to
capture it in its own section and label it.

I also propose the content be reorganized from common/basic tasks to less common/advanced tasks as such:

  • Array creation
  • Indexing
  • I/O with NumPy
  • Data types
  • Broadcasting
  • Byte-swapping
  • Structured arrays
  • Writing custom array containers
  • Subclassing ndarray

3- Remove "Explanations" and use "NumPy Fundamentals" as the explanations section (following the Divio docs descriptions)

Following from part 2, by using "NumPy Basics Fundamentals" as the explanation section in the documentation, there is no need for the "Explanations" link. The current link brings the user to a subset of the "NumPy Basics":

  • Broadcasting

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions