diff --git a/docs/_data/navigation.yml b/docs/_data/navigation.yml index abd8c0f..6bf082e 100644 --- a/docs/_data/navigation.yml +++ b/docs/_data/navigation.yml @@ -11,4 +11,7 @@ main: blank: false - title: "Examples" url: /#examples + blank: false + - title: "Credits" + url: /#credits blank: false \ No newline at end of file diff --git a/docs/_pages/index.md b/docs/_pages/index.md index ed91891..6ee82ad 100644 --- a/docs/_pages/index.md +++ b/docs/_pages/index.md @@ -218,10 +218,11 @@ Set the running head, the page- and chapter prefix etc. | **Name** | **Long Command** | **Short Command** | **Description** | |-----------|-------------------|-------------------|-----------------| -| **Help** | `--help` | `-h`, `-?`, `?`| Displays a list of supported commands and their usage. Example: `pdfminion --help`| -| **Version** | `--version` | `-v` | Displays the current version of PDFminion. Example: `pdfminion --version` | -| **Defaults** | `--defaults` | | Prints all current default settings. Example: `pdfminion --defaults`. | -| **Debug Mode** | `--debug` | | Enables debug mode for detailed logs. Example: `pdfminion --debug` | +| **Help** | `--help` | `-h`, `-?`, `?`| Displays a list of supported commands and their usage. Example: `pdfminion --help`| +| **Version** | `--version` | `-v` | Displays the current version of PDFminion. Example: `pdfminion --version` | +| **Thanx** | `--thanx` | `-tx` | Gives credit to the maintainers of several OS libraries. Example: `pdfminion --thanx`. | +| **Defaults** | `--defaults` | | Prints all current default settings. Example: `pdfminion --defaults`. | +| **Debug Mode** | `--debug` | | Enables debug mode for detailed logs. Example: `pdfminion --debug` |

Multi-Language Support

@@ -267,13 +268,21 @@ After all files have been processed, you may merge them or create a table-of-con > **Example 1**: Add page numbers and running headers to all PDF files in the `input` directory and save the processed files in the `output` directory. Requires the `output` to be empty! ```shell -pdfminion --source ./input --target ./output +$ pdfminion --source ./input --target ./output ``` > **Example 2**: Force overwrite of existing files in the `output` directory ```shell -pdfminion --force --source ./input --target ./output +$ pdfminion --force --source ./input --target ./output +``` + +> **Example 41**: Gives credit to the maintainers of the open-source libraries used by PDFminion, e.g. [pdfcpu](https://pdfcpu.io/) and a few others.. + +```shell +$ pdfminion --thanx + +PDFminion was created on the shoulder of giants... ``` @@ -282,3 +291,19 @@ pdfminion --force --source ./input --target ./output + +
+
+
+
+

Credits

+ +PDFminion uses numerous open-source libraries, and wish to thank the maintainers of the following projects: + + +* Horst Rutter for [pdfcpu](https://pdfcpu.io/), all things related to PDF processing. +* Hao Ding for [go-locale](https://github.com/Xuanwo/go-locale) to handle tricky locale settings. + +* and, of course, the [Go team](https://golang.org/) for creating the language that compiles to various operating systems, + and refrains from adding fancy features every 6 month (pun intended). +
\ No newline at end of file diff --git a/documentation/init-sequence.puml b/documentation/init-sequence.puml new file mode 100644 index 0000000..10ae0d4 --- /dev/null +++ b/documentation/init-sequence.puml @@ -0,0 +1,39 @@ +@startuml +actor User as user +participant main +participant config +participant domain +participant "github.com/spf13/viper" as viper +participant "github.com/spf13/cobra" as cobra +participant "golang.org/x/text/language" as language + +user -> main : Execute application +main -> config : LoadConfig() +activate config + +config -> domain : InitializeDefaults() +activate domain +domain --> config : Return default MinionConfig +deactivate domain + +config -> cobra : Parse CLI flags (--file, --source, --language, etc.) +activate cobra +cobra --> config : CLI flag values +deactivate cobra + +config -> config : Determine config file path\n(either --file or pdfminion.cfg) +config -> viper : Read config file +activate viper +viper --> config : Parsed config values +deactivate viper + +config -> language : Parse language tag (if applicable) +activate language +language --> config : Parsed language.Tag +deactivate language + +config --> main : Final merged MinionConfig +deactivate config + +main -> domain : Use MinionConfig for application logic +@enduml