#16256: Reorganize the documentation indexes into src/sage/combinat
-------------------------+-------------------------------------------------
   Reporter:  nthiery    |            Owner:
       Type:             |           Status:  new
  enhancement            |        Milestone:  sage-6.2
   Priority:  major      |         Keywords:  combinatorics, thematic
  Component:             |  index, quickref
  documentation          |          Authors:  Nicolas M. Thiéry
  Merged in:             |  Report Upstream:  N/A
  Reviewers:             |           Branch:
Work issues:             |     Dependencies:  #16058
     Commit:             |
   Stopgaps:             |
-------------------------+-------------------------------------------------
 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 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.

 - Added (draft of) sage.combinat.quickref

 End result browsable at
 ​http://sage.math.washington.edu/home/nthiery/16058-doc/combinat/index.html

 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`.

 - 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

 - choosing the right entry points for each module

 - checking that the links are functional

 - 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.

 - here or in a later ticket: finish automatizing the building of
   module_list.rst.

 This is a follow up to #16058.

--
Ticket URL: <http://trac.sagemath.org/ticket/16256>
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