Xulieta is a light php binary that find code snippets thought out
documentation files — as for example *.md
, *.markdown
and *.rst
— and lint the pieces of code, so you can find basic documentation errors.
NOTE: For now we just lint PHP code.
composer require codelicia/xulieta
In order to lint the basics of documentation structure, one just needs to provide a path for a directory or file to be linted.
./vendor/bin/xulieta check:error <directory>
We provide out of the box an output
format that you can use to have
automatic feedback from GitHub CI. That is done by specifying the
checkstyle
output and passing it to some external binary that does the
commenting.
We recommend the usage of cs2pr.
./vendor/bin/xulieta check:error <directory> --output=checkstyle | cs2pr
Xulieta tries to find a .xulieta.xml
file in the root of your project
with the following configuration format:
<?xml version="1.0" encoding="UTF-8" ?>
<xulieta xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="./vendor/codelicia/xulieta/xulieta.xsd">
<parser>Codelicia\Xulieta\Parser\MarkdownParser</parser>
<parser>Codelicia\Xulieta\Parser\RstParser</parser>
<validator>Codelicia\Xulieta\Validator\PhpValidator</validator>
<outputFormatters>Codelicia\Xulieta\Output\Checkstyle</outputFormatters>
<exclude>vendor</exclude>
<exclude>node_modules</exclude>
</xulieta>
parser
: listing of all parses to handle file formats based in the extention namevalidator
: performs verification on a given code blockoutputFormatters
: personalized output formatterexclude
: excluded directory or files
For historic reasons and the sake of the Brazilian MEME we keep the original command xulieta check:erromeu
.
Xulieta
will automatically scan dependencies to see if there is
any package that is providing default configurations.
If you want your plugin to take advantage of that functionality,
we expect you to provide some information on your composer.json
file, ie:
{
"extra": {
"xulieta": {
"parser": ["Malukenho\\QuoPrimumTempore\\JsonParser"],
"validator": ["Malukenho\\QuoPrimumTempore\\JsonValidator"]
}
}
}
Thanks goes to these wonderful people (emoji key):
Alexandre Eher 🚇 🚧 💻 |
Jefersson Nathan 🚇 🚧 💻 |
Airton Zanon 👀 |
This project follows the all-contributors specification. Contributions of any kind welcome!