sortorder extension

Note

Japanese version of this document is also available, on the site or the doc folder of this package.

Introduction

Currently, June 1, 2015, Sphinx 1.3.1 cannot generate localized heading in index pages and glossary directives. This package make the gate to make the Sphinx internationalized. This means another package is required to do, I will make the one named ‘Gosyu’, please find that on pip.

This package does not depends on the Sphinx. You can use this for another text proccesing product.

License

2-clause BSD, same as the Sphinx project.

Installation

You can install or uninstall this package like another Python packages. Also, you can use this package without installing this package on your Python systems, the configuration file of Sphinx(conf.py) enable you to use.

Requirements

Tested with 32bit version of Python 2.7.9 and 64bit version of 3.4.3, both on the Microsoft Windows 8.1 Pro 64bit edition. But with another versions and on another OSs would be usable.

How to install

Again, you can install this package as you will do with another one.

  1. Open a console and do pip install sortorder.

    On the MS-Windows, <python_installed_path>\Scripts\pip.exe install sortorder.

  2. Or when you get zip archive like sortorder-2.0.6(.zip) where ‘2.0.6’ is version number, change current directiory to the folder that has the zip file, and do setup.py sortorder-2.0.6.zip.

    On the MS-Windows, <python_installed_path>\Scripts\pip.exe install sortorder-2.0.6.zip.

  3. Or, this way is the Sphinx specific, you can use this package just extracted any folder you want. the conf.py enables you to use the themes and extensions.

How to use (with Sphinx)

To know how to use the sort order you already have, see yogosyu or gosyu.

If you want to use one of the preset sort orders this package has, just language = 'xx'. it causes automatically load sortorder.xx.

Currently, xx is available ja, eo, el and ru for the presets.

To know how to make your own sortorder, see sortorder/__init__.py.

In short:

  • determine the filename of the new module and create it. if you name sort_order_xx.py, it will automatically loaded when language = 'xx' is declared.
  • write import sortorder.
  • make the class inherits sortorder.SortOrderBase.
  • override get_string_to_sort and get_group_name.
  • make get_default_sort_orderreturns the instance of the class.
  • make setup. see any of sortorder.xx included this package.

How to use (General)

If you have this module not installed by pip, you should first do sys.path.insert(0, '<the_folder_you_copied_the_extension_file>').

Second, if you want directly use ja.py (Japanese), eo.py (Esperanto), el.py (Greek) or ru.py (Russian), Just do import sortorder.xxx where xxx is language code like ja, eo, etc.

Otherwise, you should make the your sort-order module as you want. You should define the new class which inherits sortorder.SortOrderBase. The filename of the module should prefixed sort_order_, like sort_order_xx.py.

get_default_sort_order and setup methods are only used by the Sphinx document generator.

After you make sort_order_xx.py or you have it someone gives, add the path of the .py file to sys.path like above. Next import the module:

sys.path.insert(0, '<the_folder_you_copied_the_extension_file>')
# (snip...)
import sort_order_xx # may automatically import sortorder.__init__.py

But sortorder.__init__ has the method get_sort_order. You can add your code some automatic feature like used with the Sphinx, by defining get_default_sort_order method in your module.

Author

Suzumizaki-Kimitaka(鈴見咲君高), 2011-2015

History

2.0.6(2015-07-04):

Fix document(this file) for PyPI.

2.0.5(2015-07-04):

  • Part from yogosyu extension.
  • First uploded to PyPI.

2013-12-07:

Add Python 3 support.

2013-12-06:

Updated to meet Sphinx 1.2.

2011-06-28:

Russian and Greek versions added.

2011-05-24:

First release. Included in yogosyu extension. Japanese and Esperanto versions included.