Add config file support

This commit is contained in:
√(noham)²
2026-06-19 21:17:16 +02:00
parent 908ae04ddb
commit 93d24e5103
6 changed files with 102 additions and 10 deletions

View File

@@ -35,18 +35,50 @@ Arguments:
Options:
-t, --theme <theme> Reader View theme (light, dark, sepia, groove-dark, solarized-light, solarized-dark, nord-light, nord-dark)
-c, --css <path> path to custom CSS file
--config <path> path to config file (.pdfyrc, .pdfyrc.json, pdfy.config.js)
-p, --prefs <path> path to extension preferences JSON
-o, --output <path> output file path (default: ./output/<title>.pdf)
-l, --log-level <level> logging level (fatal, error, warn, info, debug)
-h, --help display help for command
```
### Configuration
pdfy automatically discovers a config file in the current directory. Supported formats:
- `.pdfyrc` (JSON)
- `.pdfyrc.json` (JSON)
- `pdfy.config.js` (ESM module exporting a default object)
Example `.pdfyrc`:
```json
{
"theme": "dark",
"css": "config/rules.css",
"prefs": "config/reader-view-preferences.json",
"output": "./output/article.pdf"
}
```
Example `pdfy.config.js`:
```js
export default {
theme: 'dark',
css: 'config/rules.css',
prefs: 'config/reader-view-preferences.json',
output: './output/article.pdf'
}
```
CLI flags always override config file values. Use `--config <path>` to specify a custom config file location.
### Examples
```bash
node src/index.js https://example.com/article
node src/index.js https://example.com/article --theme dark --css config/rules.css
node src/index.js https://example.com/article --prefs config/reader-view-preferences.json
node src/index.js https://example.com/article --config .pdfyrc
npm start -- https://example.com/article --theme dark --css config/rules.css
```