.. index:: single: doclet
.. _doclet/0:

.. rst-class:: right

**object**

``doclet``
==========

Utility object to help automate (re)generating documentation for a project.

| **Availability:** 
|    ``logtalk_load(doclet(loader))``

| **Author:** Paulo Moura
| **Version:** 0:5:0
| **Date:** 2017-01-05

| **Compilation flags:**
|    ``static, context_switching_calls``


| **Provides:**
|    :ref:`logtalk::message_tokens//2 <logtalk/0::message_tokens//2>`
| **Uses:**
|    :ref:`logtalk <logtalk/0>`
|    :ref:`os <os/0>`

| **Remarks:**
|    (none)

| **Inherited public predicates:**
|    (none)

.. contents::
   :local:
   :backlinks: top

Public predicates
-----------------

.. index:: update/0
.. _doclet/0::update/0:

``update/0``
^^^^^^^^^^^^

Updates the project documentation, first by calling a sequence of goals and second by executing a sequence of shell commands. Fails if any goal or shell command fails.

| **Compilation flags:**
|    ``static``

| **Mode and number of proofs:**
|    ``update`` - ``zero_or_one``


------------

.. index:: doc_goal/1
.. _doclet/0::doc_goal/1:

``doc_goal/1``
^^^^^^^^^^^^^^

Table of goals, typically using the ``diagrams`` and the ``lgtdoc`` tools, used to generate the documentation. Goals are called in the order they are defined and in the context of the ``user`` pseudo-object.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``doc_goal(Goal)``
| **Mode and number of proofs:**
|    ``doc_goal(?callable)`` - ``one_or_more``


------------

.. index:: shell_command/1
.. _doclet/0::shell_command/1:

``shell_command/1``
^^^^^^^^^^^^^^^^^^^

Table of shell commands to convert intermediate documentation files into user-friendly documentation. Commands are executed in the order they are defined.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``shell_command(Command)``
| **Mode and number of proofs:**
|    ``shell_command(?atom)`` - ``one_or_more``


------------

Protected predicates
--------------------

(no local declarations; see entity ancestors if any)

Private predicates
------------------

(no local declarations; see entity ancestors if any)

Operators
---------

(none)

.. seealso::

   :ref:`lgtdocp <lgtdocp/0>`, :ref:`diagram(Format) <diagram/1>`

