5 Use sheep to validate that documentation strings on external symbols adhere to a strict format and exist, so that they can be output to markdown format, while looking decent when used within a common lisp process.
9 * **function [export-package](#function-export-package)** - _export-package_ takes in _pkg_ and converts all the documentation for the symbols into markdown with the hope of emulating the hyperspec style.
10 * **function [pretty-print-validate-packages](#function-pretty-print-validate-packages)** - _pretty-print-validate-packages_ takes _pkgs_ and runs validation on all of them. It dumps to standard out failures as it comes upon them, finally returning whether it was successful or not.
11 * **function [validate-package](#function-validate-package)** - _validate-package_ takes in _pkg_ and validates that all the external symbols adhere to documentation guidelines, exist, and can be parsed to be used for exporting.
12 * **condition [validation-failure](#condition-validation-failure)** - Used internally for sheep parts to signal a validation error.
14 ## Function **EXPORT-PACKAGE**
18 **export-package** _pkg_ => _markdown_
20 #### Arguments and Values:
22 _pkg_---A package symbol
23 _markdown_---A string containing the markdown representation of this packages documentation
27 _export-package_ takes in _pkg_ and converts all the documentation for the symbols into markdown with the hope of emulating the hyperspec style.
29 It should only be run after the package has been validated, as it assumes that all documentation it gets will be valid.
31 ## Function **PRETTY-PRINT-VALIDATE-PACKAGES**
35 **pretty-print-validate-packages** _&rest_ _pkgs_ => _success_
39 #### Arguments and Values:
41 _success_---Whether or not all symbols passed validation
42 _pkg_---A package symbol
46 _pretty-print-validate-packages_ takes _pkgs_ and runs validation on all of them. It dumps to standard out failures as it comes upon them, finally returning whether it was successful or not.
48 This can be used in validation tests to ensure that documentation can be generated at a later date.
52 ```(pretty-print-validate-packages :pkg1 :pkg2)``` => ```t```
54 ## Function **VALIDATE-PACKAGE**
58 **validate-package** _pkg_ => _failures_
60 ```failures::= failure*```
61 ```failure::= (:failure symb msg)```
63 #### Arguments and Values:
65 _pkg_---A package symbol
66 _symb_---Symbol the check failed on
67 _msg_---Message containing information about the failure
71 _validate-package_ takes in _pkg_ and validates that all the external symbols adhere to documentation guidelines, exist, and can be parsed to be used for exporting.
73 Only one error per symbol will be reported at a time, all concatenated to a list in the aforementioned form.
75 ## Condition VALIDATION-FAILURE
77 Used internally for sheep parts to signal a validation error.