codelicia / xulieta-php-lp
Xulieta Plugin for supporting of Literate programming
Requires
- php: >=7.4 || ~8.0
Requires (Dev)
- codelicia/xulieta: 1.0.x-dev as 1.0.0
- doctrine/coding-standard: ^9.0.0
- phpunit/phpunit: ^9.4
This package is auto-updated.
Last update: 2024-10-24 23:38:34 UTC
README
Warning This library is highly experimental.
🤓 Literate programming?
Literate programming is a programming paradigm introduced by Donald Knuth in which a computer program is given an explanation of its logic in a natural language, such as English, interspersed with snippets of macros and traditional source code, from which compilable source code can be generated. The approach is used in scientific computing and in data science routinely for reproducible research and open access purposes. Literate programming tools are used by millions of programmers today.
Note This library will lint and run php code, be careful with side-effects.
Installation
composer require codelicia/xulieta-lp --dev
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
Advanced Configuration
In order to enable it, you should configure the .xulieta.xml
with the following
parser
and validator
:
<?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\XulietaPhpLP\Parser\MarkdownParser</parser> <validator>Codelicia\XulietaPhpLP\LiterateProgramming</validator> </xulieta>
Internals
Click to see the internal diagram
Author 🎩✨
- malukenho (@malukenho)
- Eher (@EHER)