Use the index directive to specify locations in the documentation you
would like to access with the Help API. The index directive should be
placed directly before the point you want to access. Sphinx will use
these directives to build an HTMLHelp index file (.hhk). Links will
look like this:
propertyfuncs.html#index-6, where index-6 is a specific location in
the file propertyfuncs.html. If you want to use the Help API to point
to this location add the following to your .hhp file generated by
Sphinx:

[ALIAS]
IDH_Air_rho=propertyfuncs.html#index-6

[MAP]
#define IDH_Air_rho 1050

I started out manually pasting the Alias and ContextID's to the end of
the Sphinx generated .hhp file. More recently, I've modified my
make.bat batch file to append the Alias and Context ID's to the .hhp
file each time the HTMLHelp builder is called.

I'm interested in developing a Sphinx extension to auto-generate the
Alias and Context ID's from the Sphinx index. Of course a typical
index contains far more entries than needed for the Help API, but I
figure I'll use the entries I need and ignore the rest. I started
looking at the Extension API docs this weekend and I think I see two
options for the extension:
1. Use the build-finished event to trigger a function to generate the
Context ID's and Alias's and append them to the .hhp file. This should
work if the objects Sphinx uses to build the index can still be
accessed.
2. Create a new builder that subclasses the current HTMLHelpBuilder. I
don't like this option it seems like too much work.

Either option will have to avoid replacing previously generated
Context ID's to prevent breaking downstream code that utilizes the
ID's.

I'm just a Sphinx user and Python hacker though so I would appreciate
any advice and guidance from the experienced Sphinx developers.

Thanks,
David Parker

On Jun 12, 9:35 am, Troy <blueb...@gmail.com> wrote:
> Is this even possible. I would like to switch from asciidoc/docbook
> format to sphinx. I just need this one bit of information to
> accomplish that task.
>
> On Apr 21, 9:09 am, Troy <blueb...@gmail.com> wrote:
>
> > I am currently using Asciidoc to generate my documentation and it
> > works well except on windows I have to use cygwin to get things
> > running. It is ok for me but a complex setup for others that want to
> > use this system. So I am look at alternatives and Sphinx is one of
> > them because of thehtmlhelpoutput.
>
> > Looking through the documentation I am unable to find information on
> > how to specify 'map ids' which are used by the api to access specific
> > sections of a help file through code. For example if I specify amapid=400 
> > in my code it will open the help file to the specific
> > section. The closest thing that I could find in the documentation is
> > 'Cross-referencing arbitrary locations'. In thehtmlhelpoutput folder
> > should be two files an alias.h and context.h
>
> > The context.h contains:
>
> > #define mvb_about       801
> > #define mvb_establish_reference_line    802
> > #define mvb_stope_limits        803
>
> > The alias.h contains:
> > mvb_about=iRing Help.htmlhelp/index.html#_about
> > mvb_establish_reference_line=iRing Help.htmlhelp/ar01s02.html
> > mvb_stope_limits=iRing Help.htmlhelp/ar01s04.html
>
> > Any ideas on how to accomplish this would be greatly appreciated.
> > Cheers,
> > Troy
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "sphinx-dev" group.
> > To post to this group, send email to sphinx-...@googlegroups.com.
> > To unsubscribe from this group, send email to 
> > sphinx-dev+unsubscr...@googlegroups.com.
> > For more options, visit this group 
> > athttp://groups.google.com/group/sphinx-dev?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sphinx-dev" group.
To post to this group, send email to sphinx-...@googlegroups.com.
To unsubscribe from this group, send email to 
sphinx-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sphinx-dev?hl=en.

Reply via email to