From 75111d12ed56e1244f6d1fbfd501a78f947a5662 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20P=C3=A9rex?= Date: Mon, 26 May 2025 19:12:56 +0100 Subject: [PATCH] chore: update with new options and src layout --- README.md | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 89 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index dcd6b9d..affcd8a 100644 --- a/README.md +++ b/README.md @@ -7,10 +7,27 @@ > [!NOTE] > Source files will be converted if are changed or not exist in target path +## Table of Contents +- [Overview](#overview) +- [Repository Content](#repository-content) +- [MacOS APP](#macos-app) +- [Terminal Commands](#terminal-commands) + - [Basic Usage](#basic-usage) + - [Options](#options) + - [Examples](#examples) + - [Log Levels](#log-levels) + - [Notes](#notes) + - [Settings](#settings) +- [Just](#just) + - [Recipes](#recipes) + - [Main Values](#main-values) +- [For Development](#for-development) +- [To work on app](#to-work-on-app) + +## Overview The following extensions will be converted via LibreOffice **soffice** command. - **FILES_TO_CONVERT**: odt, doc, docx The following extensions or path will be copied to **target** with any conversion @@ -21,7 +38,7 @@ The following path will be ignored during [clean_target_directory](src/directory **PATHS_TO_IGNORE**: .DS_Store, .syncthing, .sync-conflict-, .stfolder, .stversions -## Repository content +## Repository Content
 .
@@ -77,6 +94,70 @@ MACOS_APP_PATH := "DirOdtToPdf.app"
 
 In MacOS [install.command](macos/install.command) copy above commands to BIN_APP_PATH(/usr/local/bin)
 
+## Basic Usage
+```bash
+dir-odt-to-pdf   [OPTIONS]
+```
+
+### Options
+```
+Required Arguments:
+            Source directory with .odt, .doc, or .docx files
+            Target directory for PDFs converted files
+
+Optional Arguments:
+  --log-file      Write logs to file instead of console
+  --log-level    Set log level (error/warn/info/debug/trace)
+                        Default: info
+  --append-log          Append to existing log file instead of overwriting
+  -h, --help            Print help
+  -V, --version         Print version
+```
+
+### Examples
+
+1. Basic conversion (logs to console):
+```bash
+dir-odt-to-pdf /path/to/documents /path/to/pdfs
+```
+
+2. Log to file:
+```bash
+dir-odt-to-pdf /path/to/documents /path/to/pdfs --log-file conversion.log
+```
+
+3. Debug level logging to console:
+```bash
+dir-odt-to-pdf /path/to/documents /path/to/pdfs --log-level debug
+```
+
+4. Append to existing log file with custom level:
+```bash
+dir-odt-to-pdf /path/to/documents /path/to/pdfs \
+    --log-file conversion.log \
+    --log-level debug \
+    --append-log
+```
+
+### Log Levels
+
+Available log levels in increasing verbosity:
+- `error`: Only errors that prevent normal operation
+- `warn`: Warnings about potential issues
+- `info`: General progress information (default)
+- `debug`: Detailed information for troubleshooting
+- `trace`: Very detailed debugging information
+
+### Notes
+
+- When `--log-file` is specified, output goes only to the file (not to console)
+- Without `--append-log`, the log file is overwritten each time
+- The program will create the target directory if it doesn't exist
+- Existing PDF files are only updated if the source file is newer
+
+
+### Settings 
+
 [justfile](justfile) settings:
 
 ```bash
@@ -132,6 +213,11 @@ BIN_APP_PATH := "/usr/local/bin"
 
 ## For Development
 
+> [!NOTE]
+> [Command-line-options](#options) can be added 
+> RUST_LOG environment variable controls env_logger output
+
+
 | Recipe | alias | Descripción  | parameters |
 |--------|-------|--------------|--------------------|
 | **build** | b | run cargo | cargo arguments |
@@ -143,7 +229,7 @@ BIN_APP_PATH := "/usr/local/bin"
 | **doc** | d | run cargo doc --open --no-deps | cargo arguments |
 | **benchmark** | be | run cargo bench | cargo arguments |
 | **test*** | be | run cargo t | cargo arguments |
-| **runtest** | rt | run [run.sh](run.sh) script using [test](test) directories for **SOURCE** and **DEST** parametets | |
+| **runtest** | rt | run [run.sh](run.sh) script using [test](test) directories for **SOURCE** and **DEST** parametets 
add [Command-line-options](#options) | | ## To work on app