codelicia/xulieta

Xulieta is a light php binary that lint documentation snippets

Fund package maintenance!
malukenho
EHER

0.1.6 2021-01-07 07:51 UTC

README

Xulieta

🌹 XULIETA

Xulieta is a light php binary that lint documentation snippets.

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.

Installation

composer require codelicia/xulieta

Checking for errors

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:erromeu <directory>

Integration with GitHub Actions

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:erromeu <directory> --output=checkstyle | cs2pr

Commenting example

Codelicia\Xulieta

Advanced Configuration

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 name
  • validator: performs verification on a given code block
  • outputFormatters: personalized output formatter
  • exclude: excluded directory or files

Contributors ✨

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!