๐งฌ Meet Aria, an efficient Adblock filter list compiler, with many features that make your maintenance of Adblock filter lists a breeze! ๐ฆ
npm install @igor.dvlpr/ariaADBT) compiler
Aria, an efficient Adblock filter list compiler, with many features that make your maintenance of Adblock filter lists a breeze! ๐ฆ
๐ Support further development
I work hard for every project, including this one and your support means a lot to me!
Consider buying me a coffee. โ
Thank you for supporting my efforts! ๐๐
![]()
@igorskyflyer
shell
npm i -g "@igor.dvlpr/aria"
`
Local install
`shell
npm i "@igor.dvlpr/aria"
`
๐คน๐ผโโ๏ธ Usage
๐ก This file only documents Aria CLI-related API.
You should read the official ADBT API documentation for more information on how ADBT works, its syntax and usage.
$3
Will print the welcome + help screen
#### File
Compile the input ADBT template file.
Short: -f
Long: --file
Accepts: path: string
Required: yes
Example
`shell
aria -f './my-template.adbt'
`
> ๐ก Template files _should_ end with the .adbt extension.
#### Root
Set the root directory (CWD).
Short: -r
Long: --root
Accepts: path: string
Required: no
Example
`shell
aria -f './my-template.adbt' --root 'D:\my-filter'
`
> ๐ก Useful when passing an absolute template path or when working from a directory that's not the directory where the template file is stored.
#### Versioning
The versioning to use, can be:
- auto: default, let Aria decide which versioning system to use.
If the resulting file already exists, i.e. Aria already compiled the template before, it will re-use the versioning found in the file, otherwise it will use semver,
- semver: use valid SemVer versioning when exporting the filter file, e.g. v1.0.0, v2.199.222, etc.
If no version is found the counting starts with v1.0.0,
- timestamp: use current UNIX timestamp, e.g. 1690409508.
Short: -v
Long: --versioning
Accepts: auto, semver, timestamp
Required: no
Example
`shell
aria -f './my-template.adbt' -v semver
`
> โน๏ธ Versioning in Adblock filters
>
> Take this snippet from my AdVoid filter list:
`
! Title: AdVoid.Core
! Description: โ AdVoid is an efficient AdBlock filter that blocks ads! ๐พ
! Version: 1.8.1082
`
Aria takes care of the versioning, the last line you see in the snippet above - so you don't have to!
> โWhen using SemVer as the versioning system, Aria will always increase only the patch component of the version.
$3
#### Dry
Do a dry-run and print the resulting AST.
Short: -d
Long: --dry
Accepts: N/A
Required: no
Example
`shell
aria -f './my-template.adbt' -d
`
> ๐ก The template will not be compiled; Aria will only print out the log.
> โ If you want to both compile and print the log, then use the log flag.
#### Tree
Will print the resulting AST.
Short: -t
Long: --tree
Accepts: N/A
Required: no
Example
`shell
aria -f './my-template.adbt' -t
`
> ๐ก This will compile and print out the resulting AST.
> ๐ค What is AST?
>
> _In computer science, an abstract syntax tree (AST), or just syntax tree, is a tree representation of the abstract syntactic structure of text (often source code) written in a formal language. Each node of the tree denotes a construct occurring in the text._ โ Wikipedia
#### Log
Enable compilation logging.
Short: -l
Long: --log
Accepts: N/A
Required: no
Example
`shell
aria -f './my-template.adbt' -l
`
> ๐ก The template will be compiled and Aria will log while compiling.
> โ If you only want to do a dry-run and don't compile the template, then use the dry flag.
#### Help
Show the welcome + help screen.
Short: -h
Long: --help
Accepts: N/A
Required: no
Example
`shell
aria --help
`
> ๐ก This flag works the same as calling aria` on its own - with 0 arguments.