#16256: Reorganize the documentation indexes into src/sage/combinat
-------------------------------------+-------------------------------------
       Reporter:  nthiery            |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.4
      Component:  documentation      |   Resolution:
       Keywords:  combinatorics,     |    Merged in:
  thematic index, quickref           |    Reviewers:
        Authors:  Nicolas M.         |  Work issues:
  Thiéry, Jean-Pierre Flori          |       Commit:
Report Upstream:  N/A                |  80d54890d91a024dfdd45a6d3eed4b8410dc25b5
         Branch:                     |     Stopgaps:
  u/nthiery/ticket/16256             |
   Dependencies:  #16058, #17189     |
-------------------------------------+-------------------------------------
Changes (by nthiery):

 * commit:  7b753a2c64af971fc37d1fffa8f95e6fac1e0438 =>
     80d54890d91a024dfdd45a6d3eed4b8410dc25b5


Old description:

> == Goal: reorganize the documentation indexes into src/sage/combinat ==
>
> - For example, the thematic index
>   `src/doc/en/reference/combinat/crystals.rst` is now in:
>   `src/sage/combinat/crystals/__init__.py` and is accessible through
>   `sage.combinat.crystals`?
>
>   (potential variant: put it in all.py)
>
> - What's left in `doc/en/reference/combinat` can potentially be generated
> automatically.
>   This is not yet automatized; the content of module_list.rst still needs
> to be updated by hand; see the instructions on top of the file.
>
> - All p/cython files in `src/sage/combinat/` are now included in the
> reference manual
>
> - Improved thematic indexes
>
> - New thematic indexes: algebraic_combinatorics, catalog_partitions,
>   counting, enumerated_sets
>
> - Fixed some documentation syntax glitches here and there
>
> - Added the catalogs of permutation groups and matrix groups to the
>   reference manual so that we can link to them. Fixed the doc title of
>   the former.
>
> - Added a back link from the doc of sage.dynamics
>
> - Added (draft of) sage.combinat.quickref
>
> This is a follow up to #16058.
>
> End result browsable at
> ​http://sage.math.washington.edu/home/nthiery/sage/src/doc/output/html/en/reference/combinat/index.html
>
> Warning: see the note below about the current doc compilation glitch.
>
> == Discussion ==
>
> One might argue that this reorganization of the documentation is not
> consistent with what's done elsewhere in the manual. Indeed. I believe
> sage.combinat is a good spot to explore better ways to organize the
> documentation. Here are the advantages of this new organization:
>
> - It's more local:
>
>   E.g. everything the developer has to look at or modify about
>   `designs`, including the index, is in src/sage/combinat/design. This
>   is simpler for newcomers and means, e. g., less chances to forget to
>   update the index w.r.t. the code.
>
> - It's more consistent with the hierarchical structure of modules. In
>   particular, it's agnostic of how the reference manual is split into
>   documents. This was not the case before: to split
>   `sage/combinat/crystals` in its own document required to move the
>   thematic index about crystals from `reference/combinat/` to
>   `reference/combinat/crystals`. This will ease the job of #14582.
>
> - It's more friendly to documentation lookup using introspection
>
> - It's more automatic; there are less chances to forget adding a file
>   in the documentation which hit us often in the past.
>
> - It enforces including all files in the documentation.
>
> - Writing the thematic indexes as plain lists (rather than toctrees)
>   is more flexible:
>
>   - one can e.g. choose to point to the main class in a file rather
>     than the full file.
>
>   - one can focus on the user feature and not reference technical
>     modules (they appear in the full module list anyway)
>
>   - one can point to related things elsewhere in the source code
>
> == TODO ==
>
> - Proof reading
>
> - Checking that the links are functional
>
> - Handle the various TODO's left in the indexes (typically about
>   choosing the right entry points for each module)
>
>   Postponed to a later ticket, since those are further enhancements
>   not directly related to this ticket. It's just that, while browsing
>   through the indexes suggested them to me.
>
> - Finish automatizing the building of module_list.rst.
>
>   Postponed to a later ticket.
>
> - Sphinx issue to be investigated: deciding on how to link to
>   classes/functions: in the index we would want to have the title of
>   the documentation of the class rather than the name of the class; or
>   maybe both.
>
>   For now, we stick to the class name for now until we find a good way
>   to do this with Sphinx.
>
> - Sphinx issue to be investigated: how to crossrefs documents in the
>   thematic tutorial.
>
>   For now we use a workaround.

New description:

 == Goal: reorganize the documentation indexes into src/sage/combinat ==

 - For example, the thematic index
   `src/doc/en/reference/combinat/crystals.rst` is now in:
   `src/sage/combinat/crystals/__init__.py` and is accessible through
   `sage.combinat.crystals`?

   (potential variant: put it in all.py)

 - What's left in `doc/en/reference/combinat` can potentially be generated
 automatically.
   This is not yet automatized; the content of module_list.rst still needs
 to be updated by hand; see the instructions on top of the file.

 - All p/cython files in `src/sage/combinat/` are now included in the
 reference manual

 - Improved thematic indexes

 - New thematic indexes: algebraic_combinatorics, catalog_partitions,
   counting, enumerated_sets

 - Fixed some documentation syntax glitches here and there

 - Added the catalogs of permutation groups and matrix groups to the
   reference manual so that we can link to them. Fixed the doc title of
   the former.

 - Added a back link from the doc of sage.dynamics

 - Added (draft of) sage.combinat.quickref

 This is a follow up to #16058.

 End result browsable at
 
​http://sage.math.washington.edu/home/nthiery/sage/src/doc/output/html/en/reference/combinat/index.html

 Warning: see the note below about the current doc compilation glitch.

 == Discussion ==

 One might argue that this reorganization of the documentation is not
 consistent with what's done elsewhere in the manual. Indeed. I believe
 sage.combinat is a good spot to explore better ways to organize the
 documentation. Here are the advantages of this new organization:

 - It's more local:

   E.g. everything the developer has to look at or modify about
   `designs`, including the index, is in src/sage/combinat/design. This
   is simpler for newcomers and means, e. g., less chances to forget to
   update the index w.r.t. the code.

 - It's more consistent with the hierarchical structure of modules. In
   particular, it's agnostic of how the reference manual is split into
   documents. This was not the case before: to split
   `sage/combinat/crystals` in its own document required to move the
   thematic index about crystals from `reference/combinat/` to
   `reference/combinat/crystals`. This will ease the job of #14582.

 - It's more friendly to documentation lookup using introspection

 - It's more automatic; there are less chances to forget adding a file
   in the documentation which hit us often in the past.

 - It enforces including all files in the documentation.

 - Writing the thematic indexes as plain lists (rather than toctrees)
   is more flexible:

   - one can e.g. choose to point to the main class in a file rather
     than the full file.

   - one can focus on the user feature and not reference technical
     modules (they appear in the full module list anyway)

   - one can point to related things elsewhere in the source code

 == TODO ==

 - Proof reading

 - Checking that the links are functional

 - Handle the various TODO's left in the indexes (typically about
   choosing the right entry points for each module)

   Postponed to a later ticket, since those are further enhancements
   not directly related to this ticket. It's just that, while browsing
   through the indexes suggested them to me.

 - Finish automatizing the building of module_list.rst.

   Postponed to #17421

 - Sphinx issue: deciding on how to link to classes/functions

   in the index we would want to have the title of the documentation of
   the class rather than the name of the class; or maybe both.

   For now, we stick to the class name for now until we find a good way
   to do this with Sphinx.

 - Sphinx issue: how to crossrefs documents in the thematic tutorial.

   For now we use a workaround.

 - Sphinx issue: homogeneous styles for the index links

   The style used by Sphinx depends on the type of the link; this makes
   the indexes look non homogeneous. See what we can do here. This is
   purely about style rather than content, hence postponed to a later
   ticket.

--

Comment:

 New commits:
 
||[http://git.sagemath.org/sage.git/commit/?id=80d54890d91a024dfdd45a6d3eed4b8410dc25b5
 80d5489]||{{{16256: Module List -> Comprehensive Module List and link to
 trac ticket}}}||

--
Ticket URL: <http://trac.sagemath.org/ticket/16256#comment:97>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to