On Wed, Jan 08, 2025 at 06:44:43PM +0000, Gavin Smith wrote:
> Good point.  Perhaps we should provide a stable customization API
> for navigation buttons only and document it well, as it seems like a fairly
> common thing that people want to customize.

I have added texinfo_register_global_direction that can be used to add
new global or text directions, but also be used to reset the node a
global direction points to.  So for, example, you can do:

texinfo_register_global_direction ('Index', 'Main @emph{Index}');

If new directions are added, you also need to set the associated
direction strings, for example:

texinfo_register_global_direction('Home');
texinfo_register_direction_string_info('Home', 'text',
 '<a href="https://myhomepage.example.com/";>Home</a>', undef, 'normal');


texinfo_register_global_direction ('Tutorial', 'My First Program');
texinfo_register_direction_string_info ('Tutorial', 'text', 'Tutorial');
texinfo_register_direction_string_info ('Tutorial', 'button', 'Tuto');
texinfo_register_direction_string_info ('Tutorial', 'accesskey', 't');


I didn't add functions to manipulate buttons lists, as I think that it
could be done in many ways.  I tried to improve the documentation on how
to do it, however, by moving some general descriptions of buttons
specifications to a chapter at the end of the document and by explaining
* how to get the default buttons lists using
  Texinfo::Convert::HTML->converter_defaults(),
* how to get the direction associated to a button, and
* gave an example of modifying a buttons array.

If you want to have a look at the texi2any_api manual, the new/modified
sections are "Getting Converter Default Variables Values", "Simple
headers customizations" and in particular "Directions" and "Simple
Navigation Panel Customization".

I am satisfied with the API and documentation, but do not hesitate to
criticize!

-- 
Pat

Reply via email to