PublicShow -- Index the HTML manuals

This module pre-processes the HTML files that constitute the manual such that we can access the summary documentation of all predicates for usage in IDE tools.

Source manual_object(?Object, ?Summary, ?File, ?Class, ?Offset) is nondet
True if Object is documented. Arguments:
Object- is the object documented, described by a Prolog term. Defined shapes are:
  • section(Level, Number, Label, File)
  • Name/Arity
  • Name//Arity
  • Module:Name/Arity
  • Module:Name//Arity
  • f(Name/Arity
  • c(Name)
Summary- is a string object providing a summary of object
File- is the HTML file in which the object is documented
Class- is one of manual or packages
Offset- is the character offset at which the DOM element describing Object appears. This is used by to quickly extract the node.
Source clean_man_index is det
Clean already loaded manual index.
Source save_man_index
Create swi('doc/manindex.db'), containing an index into the HTML manuals for use with help/1 and similar predicates. This predicate is called during the build process.
Source check_duplicate_ids
Maintenance utility to check that we do not have duplicate section identifiers in the documentation.
Source index_man_directory(+Dir, +Options) is det
Index the HTML directory Dir. Options are:
Define category of the found objects.
Symbolic (file search) specification for Dir

Remaining Options are passed to absolute_file_name/3.

Source index_man_file(+Class, +File) is det
Source index_man_file(+Class, +File, +Symbolic) is det
Collect the documented objects from the SWI-Prolog manual file File.
Source current_man_object(?Object) is nondet
Source man_object_property(?Object, ?Property) is nondet
True when Property is a property of the given manual object. Defined properties are:
Summary text for the object.
Return unique id for the text, so we can remove duplicates
Source doc_object_identifier(+DocObject, -Identifier) is semidet
True when Identifier is the name of DocObject.