NAME
Pod::POM::Web::Help - How to use this Perl documentation
DESCRIPTION
Pod::POM::Web is a Web application for browsing the documentation of Perl components installed on your local machine. Since pages are dynamically generated, they are always in sync with code actually installed.
Searching
Users can type search criteria in the single search input field and then hit RETURN
. The behaviour depends on which search category was chosen in the search menu :
- perlfunc
-
The input field should contain one of the (many) builtin perl functions. An autocompleter is automatically activated to help choose a proper function name. The answer will be an excerpt from the the perlfunc documentation, just for that specific function (more or less equivalent to the
perldoc -f
command). - perlfaq
-
This will search all
perlfaq
entries whose title contains the word given in the search input field. - modules
-
The input field should contain a module name. The answer will be the documentation for that module. If the local Perl installation was indexed (see below), then an autocompleter is automatically activated to help choose a proper module name.
- fulltext
-
This only works if the local Perl installation was indexed (see Pod::POM::Web::Indexer on how to do it). In that case, the input field can contain one or several words, possibly connected by Boolean operators (Search::QueryParser). The answer will be a list of modules that match that query, either in the documentation or in the source code. Each module is presented with some contextual excerpts of the matching words.
Browsing
The browsing tree starts with two sections Perl docs and Pragmas, containing core Perl documentation. The third section Scripts reflects the structure of Perl scripts installed in perl/bin
. The fourth section Modules reflects the structure of installed modules on the local machine (the various @INC
directories such as lib
, vendor/lib
, site/lib
, etc. are collapsed into a single tree). Only top-level nodes are loaded initially; subnodes are fetched dynamically through Ajax calls when opening the nodes.
Navigation in the tree is either with the mouse or with the keyboard. At any point in time, at most one node is selected : this is the one that receives keyboard events. Hence if the tree has no selected node, no keyboard events are interpreted.
Mouse events
Clicking on a node label selects that node, and displays the corresponding documentation page in the other frame (if applicable -- some nodes are just containers of other nodes, without their own documentation page).
Clicking on the square +
/-
icon on the left of the label toggles the open/closed status of the node.
Keyboard events
Typing a few letters will automatically select the next node starting with those letters.
Furthermore, the following special keys can be used to navigate within the tree :
keypad +
-
open the node
keypad -
-
close the node
keypad *
-
open the node and all its subnodes
keypad /
-
close the node and all its subnodes
Ctrl-keypad *
-
activate "show all" mode (the content of closed nodes is nevertheless visible, which may be useful for printing)
Ctrl-keypad /
-
deactivate the "show all" mode
TAB
-
if closed, open the node; if already opened, pass focus to the next item (maybe the next node, or another tabindex-enabled HTML element, such as a form control).
↑
-
move to previous displayed node
↓
-
move to next displayed node
←
-
if open, close the node; if already closed, move to parent node
→
-
if closed, open the node; if already open, move to next subnode
HOME
-
select the first node of the tree
END
-
select the last visible subnode of the tree
Ctrl-R
-
refresh the node's content (if that node has an URL for dynamic content).
RETURN
-
select the node and display its documentation page
Ctrl-1
..Ctrl-9
-
close all nodes at level of the specified digit, and open all nodes above
SEE ALSO
Pod::Webserver is another, earlier implementation of a Perl documentation server.
Pod::Browser is a Catalyst application serving local POD modules. Pod::Server is yet another
Perl documentation can be browsed in command-line mode through the perldoc utility.
See Pod::POM::Web for information about how this application is implemented.