* Feat: add a new datdump tool
* Refactor: address code review comments
* Refactor: remove export all from main program
use datdump instead
* Refactor: allow spaces in exportlists
e.g. `--exportlists="lista, listb"`
* all: cleanup
* apply review suggestion
---------
Co-authored-by: database64128 <free122448@hotmail.com>
* Refactor: improve deduplicate
* Feat: support to export all lists to a plain yml
use: `--exportlists=_all_`
* Docs: add links for dlc plain yml
[skip ci]
* Refactor: reduce the use of strings.TrimSpace
* Refactor: use string attr before toProto
* Refactor parseEntry
- add value/attribute checker(check missing space)
- allow multiple spaces
- sort attributes
- improve readablity
* Refactor exportPlainTextList
- remove unnecessary variable
- improve readablity
* Remove support for partial include
This reverts e640ac2783
It is problematic and I will implement a new one
* Refactor: promote refMap
* Feat: add support for partial include
- refactor inclusion logic
- add basic deduplicate
* Refactor exporting plaintext list
* Feat: add support for affiliation
A domain rule is always added to the list corresponding to the filename
it resides in. Additionally, you can now add affiliations to a domain
rule, and the rule will be added to the list specified by the
affiliation. Each affiliation begins with `&` and followed by the name
of the affiliation.
This helps us to reduce the number of data files without compromising
functionality, and avoid writing a same rule in different files.
* Feat: add advanced deduplicate for subdomains
only for domain/full subdomains without attr
* Refactor: import and use slices
* Refactor: improve code