add custom files

This commit is contained in:
fz 2024-09-07 21:47:51 +02:00
parent 1d75943a6b
commit 4459477a6d
18 changed files with 9649 additions and 2 deletions

5
.gitignore vendored
View File

@ -17,8 +17,9 @@ version.properties
pipeline/watchedFolders/
pipeline/finishedFolders/
#### Stirling-PDF Files ###
customFiles/
configs/
# We want to track our custom configs and customFiles
# customFiles/
# configs/
watchedFolders/
# Gradle

0
configs/custom_settings.yml Executable file
View File

76
configs/settings.yml Executable file
View File

@ -0,0 +1,76 @@
#############################################################################################################
# Welcome to settings file from #
# ____ _____ ___ ____ _ ___ _ _ ____ ____ ____ _____ #
# / ___|_ _|_ _| _ \| | |_ _| \ | |/ ___| | _ \| _ \| ___| #
# \___ \ | | | || |_) | | | || \| | | _ _____| |_) | | | | |_ #
# ___) || | | || _ <| |___ | || |\ | |_| |_____| __/| |_| | _| #
# |____/ |_| |___|_| \_\_____|___|_| \_|\____| |_| |____/|_| #
# #
# Do not comment out any entry, it will be removed on next startup #
# If you want to override with environment parameter follow parameter naming SECURITY_INITIALLOGIN_USERNAME #
#############################################################################################################
security:
enableLogin: false # set to 'true' to enable login
csrfDisabled: true # Set to 'true' to disable CSRF protection (not recommended for production)
loginAttemptCount: 5 # lock user account after 5 tries; when using e.g. Fail2Ban you can deactivate the function with -1
loginResetTimeMinutes: 120 # lock account for 2 hours after x attempts
loginMethod: all # 'all' (Login Username/Password and OAuth2[must be enabled and configured]), 'normal'(only Login with Username/Password) or 'oauth2'(only Login with OAuth2)
initialLogin:
username: '' # Initial username for the first login
password: '' # Initial password for the first login
oauth2:
enabled: false # set to 'true' to enable login (Note: enableLogin must also be 'true' for this to work)
client:
keycloak:
issuer: '' # URL of the Keycloak realm's OpenID Connect Discovery endpoint
clientId: '' # Client ID for Keycloak OAuth2
clientSecret: '' # Client Secret for Keycloak OAuth2
scopes: openid, profile, email # Scopes for Keycloak OAuth2
useAsUsername: preferred_username # Field to use as the username for Keycloak OAuth2
google:
clientId: '' # Client ID for Google OAuth2
clientSecret: '' # Client Secret for Google OAuth2
scopes: https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile # Scopes for Google OAuth2
useAsUsername: email # Field to use as the username for Google OAuth2
github:
clientId: '' # Client ID for GitHub OAuth2
clientSecret: '' # Client Secret for GitHub OAuth2
scopes: read:user # Scope for GitHub OAuth2
useAsUsername: login # Field to use as the username for GitHub OAuth2
issuer: '' # set to any provider that supports OpenID Connect Discovery (/.well-known/openid-configuration) end-point
clientId: '' # Client ID from your provider
clientSecret: '' # Client Secret from your provider
autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
useAsUsername: email # Default is 'email'; custom fields can be used as the username
scopes: openid, profile, email # Specify the scopes for which the application will request permissions
provider: google # Set this to your OAuth provider's name, e.g., 'google' or 'keycloak'
system:
defaultLocale: en-US # Set the default language (e.g. 'de-DE', 'fr-FR', etc)
googlevisibility: true # 'true' to allow Google visibility (via robots.txt), 'false' to disallow
enableAlphaFunctionality: false # Set to enable functionality which might need more testing before it fully goes live (This feature might make no changes)
showUpdate: false # see when a new update is available
showUpdateOnlyAdmin: false # Only admins can see when a new update is available, depending on showUpdate it must be set to 'true'
customHTMLFiles: true # enable to have files placed in /customFiles/templates override the existing template html files
tessdataDir: /usr/share/tessdata # Path to the directory containing the Tessdata files. This setting is relevant for Windows systems. For Windows users, this path should be adjusted to point to the appropriate directory where the Tessdata files are stored.
ui:
appName: Konfuzio PDF Tools # Application's visible name
homeDescription: PDF Tools from Konfuzio # Short description or tagline shown on homepage.
appNameNavbar: Konfuzio # Name displayed on the navigation bar
endpoints:
toRemove: # List endpoints to disable (e.g. ['img-to-pdf', 'remove-pages'])
- crop
- pipeline
groupsToRemove: [] # List groups to disable (e.g. ['LibreOffice'])
metrics:
enabled: true # 'true' to enable Info APIs (`/api/*`) endpoints, 'false' to disable
# Automatically Generated Settings (Do Not Edit Directly)
AutomaticallyGenerated:
key: example

21
configs/settings_back.yml Executable file
View File

@ -0,0 +1,21 @@
# Welcome to settings file
# Remove comment marker # if on start of line to enable the configuration
# If you want to override with environment parameter follow parameter naming SECURITY_INITIALLOGIN_USERNAME
security:
enableLogin: false # set to 'true' to enable login
csrfDisabled: true
system:
defaultLocale: 'en-US' # Set the default language (e.g. 'de-DE', 'fr-FR', etc)
googlevisibility: false # 'true' to allow Google visibility (via robots.txt), 'false' to disallow
customStaticFilePath: '/customFiles/static/' # Directory path for custom static files
ui:
appName: 'Konfuzio PDF Tools'
homeDescription: 'PDF Tools from Konfuzio'
appNameNavbar: 'Konfuzio Tools for PDFs'
endpoints:
toRemove: [] # List endpoints to disable (e.g. ['img-to-pdf', 'remove-pages'])
groupsToRemove: [] # List groups to disable (e.g. ['LibreOffice'])

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0.0001 1.0002 73.9999 80.9998" xmlns="http://www.w3.org/2000/svg">
<path d="m902.749 417.51 25.555 14.605c3.553 2.013 5.696 5.729 5.696 9.806v29.21c0 4.026-2.143 7.742-5.696 9.754l-25.555 14.606c-3.554 2.012-7.944 2.012-11.445 0l-25.608-14.606c-3.501-2.012-5.696-5.728-5.696-9.754v-29.21c0-4.077 2.195-7.793 5.696-9.806l25.608-14.605c3.501-2.013 7.891-2.013 11.445 0z" fill="#44b78b" transform="matrix(1, 0, 0, 1, -860.0000000000001, -415)"/>
<path d="m891.519 459.853-.103 11.976c0 .639-.513 1.171-1.128 1.171h-8.159c-.616 0-1.129-.532-1.129-1.171v-30.658c0-.639.513-1.171 1.129-1.171h8.107c.616 0 1.129.532 1.129 1.171v10.964l8.21-11.656c.257-.319.565-.479.924-.479h9.646c.616 0 1.129.532 1.129 1.171 0 .266-.102.532-.256.745l-10.468 13.2 11.237 16.021c.36.532.257 1.278-.256 1.65-.154.107-.411.213-.667.213h-10.263c-.41 0-.769-.213-.975-.532z" fill="#fff" transform="matrix(1, 0, 0, 1, -860.0000000000001, -415)"/>
</svg>

After

Width:  |  Height:  |  Size: 981 B

9435
customFiles/static/css/bootstrap.min.css vendored Executable file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,5 @@
.btn-primary {
color: #fff;
background-color: #20c997;
border-color: #20c997;
}

View File

@ -0,0 +1,73 @@
:root {
/* Colors */
--md-sys-color-primary: rgb(0 96 170);
--md-sys-color-surface-tint: rgb(0 96 170);
--md-sys-color-on-primary: rgb(255 255 255);
--md-sys-color-primary-container: rgb(80 163 255);
--md-sys-color-on-primary-container: rgb(0 20 43);
--md-sys-color-secondary: rgb(65 96 136);
--md-sys-color-on-secondary: rgb(255 255 255);
--md-sys-color-secondary-container: rgb(188 215 255);
--md-sys-color-on-secondary-container: rgb(32 65 103);
--md-sys-color-tertiary: rgb(88 90 138);
--md-sys-color-on-tertiary: rgb(255 255 255);
--md-sys-color-tertiary-container: rgb(151 153 205);
--md-sys-color-on-tertiary-container: rgb(7 9 55);
--md-sys-color-error: rgb(186 26 26);
--md-sys-color-on-error: rgb(255 255 255);
--md-sys-color-error-container: rgb(255 218 214);
--md-sys-color-on-error-container: rgb(65 0 2);
--md-sys-color-background: rgb(248 249 255);
--md-sys-color-on-background: rgb(24 28 34);
--md-sys-color-surface: rgb(248 249 255);
--md-sys-color-on-surface: rgb(24 28 34);
--md-sys-color-surface-variant: rgb(220 227 241);
--md-sys-color-on-surface-variant: rgb(64 71 83);
--md-sys-color-outline: rgb(112 119 132);
--md-sys-color-outline-variant: rgb(192 199 213);
--md-sys-color-shadow: rgb(0 0 0);
--md-sys-color-scrim: rgb(0 0 0);
--md-sys-color-inverse-surface: rgb(45 49 55);
--md-sys-color-inverse-on-surface: rgb(238 241 250);
--md-sys-color-inverse-primary: rgb(162 201 255);
--md-sys-color-primary-fixed: rgb(211 228 255);
--md-sys-color-on-primary-fixed: rgb(0 28 56);
--md-sys-color-primary-fixed-dim: rgb(162 201 255);
--md-sys-color-on-primary-fixed-variant: rgb(0 72 130);
--md-sys-color-secondary-fixed: rgb(211 228 255);
--md-sys-color-on-secondary-fixed: rgb(0 28 56);
--md-sys-color-secondary-fixed-dim: rgb(169 201 246);
--md-sys-color-on-secondary-fixed-variant: rgb(40 72 111);
--md-sys-color-tertiary-fixed: rgb(225 224 255);
--md-sys-color-on-tertiary-fixed: rgb(20 22 66);
--md-sys-color-tertiary-fixed-dim: rgb(193 194 248);
--md-sys-color-on-tertiary-fixed-variant: rgb(64 67 112);
--md-sys-color-surface-dim: rgb(215 218 227);
--md-sys-color-surface-bright: rgb(248 249 255);
--md-sys-color-surface-container-lowest: rgb(255 255 255);
--md-sys-color-surface-container-low: rgb(241 243 253);
--md-sys-color-surface-container: rgb(235 238 247);
--md-sys-color-surface-container-high: rgb(229 232 241);
--md-sys-color-surface-container-highest: rgb(223 226 235);
/* Tools Color */
--md-nav-section-color-opacity: 1;
--md-nav-on-section-color-opacity: 1;
--md-nav-section-color-sign: rgba(25, 101, 212, var(--md-nav-section-color-opacity));
--md-nav-on-section-color-sign: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
--md-nav-section-color-organize: rgba(120, 130, 255, var(--md-nav-section-color-opacity));
--md-nav-on-section-color-organize: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
--md-nav-section-color-convert: rgba(25, 177, 212, var(--md-nav-section-color-opacity));
--md-nav-on-section-color-convert: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
--md-nav-section-color-security: rgba(66, 72, 80, var(--md-nav-section-color-opacity));
--md-nav-on-section-color-security: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
--md-nav-section-color-other: rgba(72, 189, 84, var(--md-nav-section-color-opacity));
--md-nav-on-section-color-other: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
--md-nav-section-color-advance: rgba(68, 183, 139, var(--md-nav-section-color-opacity));
--md-nav-on-section-color-advance: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
--md-nav-section-color-image: rgba(212, 172, 25, var(--md-nav-section-color-opacity));
--md-nav-on-section-color-image: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
--md-nav-section-color-word: rgba(61, 153, 245, var(--md-nav-section-color-opacity));
--md-nav-on-section-color-word: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
--md-nav-section-color-ppt: rgba(255, 128, 0, var(--md-nav-section-color-opacity));
--md-nav-on-section-color-ppt: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0.0001 1.0002 73.9999 80.9998" xmlns="http://www.w3.org/2000/svg">
<path d="m902.749 417.51 25.555 14.605c3.553 2.013 5.696 5.729 5.696 9.806v29.21c0 4.026-2.143 7.742-5.696 9.754l-25.555 14.606c-3.554 2.012-7.944 2.012-11.445 0l-25.608-14.606c-3.501-2.012-5.696-5.728-5.696-9.754v-29.21c0-4.077 2.195-7.793 5.696-9.806l25.608-14.605c3.501-2.013 7.891-2.013 11.445 0z" fill="#44b78b" transform="matrix(1, 0, 0, 1, -860.0000000000001, -415)"/>
<path d="m891.519 459.853-.103 11.976c0 .639-.513 1.171-1.128 1.171h-8.159c-.616 0-1.129-.532-1.129-1.171v-30.658c0-.639.513-1.171 1.129-1.171h8.107c.616 0 1.129.532 1.129 1.171v10.964l8.21-11.656c.257-.319.565-.479.924-.479h9.646c.616 0 1.129.532 1.129 1.171 0 .266-.102.532-.256.745l-10.468 13.2 11.237 16.021c.36.532.257 1.278-.256 1.65-.154.107-.411.213-.667.213h-10.263c-.41 0-.769-.213-.975-.532z" fill="#fff" transform="matrix(1, 0, 0, 1, -860.0000000000001, -415)"/>
</svg>

After

Width:  |  Height:  |  Size: 981 B

BIN
customFiles/static/favicon.ico Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

5
customFiles/static/favicon.svg Executable file
View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0.0001 1.0002 73.9999 80.9998" xmlns="http://www.w3.org/2000/svg">
<path d="m902.749 417.51 25.555 14.605c3.553 2.013 5.696 5.729 5.696 9.806v29.21c0 4.026-2.143 7.742-5.696 9.754l-25.555 14.606c-3.554 2.012-7.944 2.012-11.445 0l-25.608-14.606c-3.501-2.012-5.696-5.728-5.696-9.754v-29.21c0-4.077 2.195-7.793 5.696-9.806l25.608-14.605c3.501-2.013 7.891-2.013 11.445 0z" fill="#44b78b" transform="matrix(1, 0, 0, 1, -860.0000000000001, -415)"/>
<path d="m891.519 459.853-.103 11.976c0 .639-.513 1.171-1.128 1.171h-8.159c-.616 0-1.129-.532-1.129-1.171v-30.658c0-.639.513-1.171 1.129-1.171h8.107c.616 0 1.129.532 1.129 1.171v10.964l8.21-11.656c.257-.319.565-.479.924-.479h9.646c.616 0 1.129.532 1.129 1.171 0 .266-.102.532-.256.745l-10.468 13.2 11.237 16.021c.36.532.257 1.278-.256 1.65-.154.107-.411.213-.667.213h-10.263c-.41 0-.769-.213-.975-.532z" fill="#fff" transform="matrix(1, 0, 0, 1, -860.0000000000001, -415)"/>
</svg>

After

Width:  |  Height:  |  Size: 981 B

View File

@ -0,0 +1,2 @@
<svg xmlns="http://www.w3.org/2000/svg" width="6" height="1" fill="currentColor" class="bi bi-link" viewBox="0 0 1 1">
</svg>

After

Width:  |  Height:  |  Size: 126 B

View File

@ -0,0 +1,2 @@
<svg xmlns="http://www.w3.org/2000/svg" width="6" height="1" fill="currentColor" class="bi bi-link" viewBox="0 0 1 1">
</svg>

After

Width:  |  Height:  |  Size: 126 B

View File

@ -0,0 +1,2 @@
<svg xmlns="http://www.w3.org/2000/svg" width="6" height="1" fill="currentColor" class="bi bi-link" viewBox="0 0 1 1">
</svg>

After

Width:  |  Height:  |  Size: 126 B

View File

@ -0,0 +1,2 @@
<svg xmlns="http://www.w3.org/2000/svg" width="6" height="1" fill="currentColor" class="bi bi-link" viewBox="0 0 1 1">
</svg>

After

Width:  |  Height:  |  Size: 126 B

View File

@ -0,0 +1,2 @@
<svg xmlns="http://www.w3.org/2000/svg" width="6" height="1" fill="currentColor" class="bi bi-link" viewBox="0 0 1 1">
</svg>

After

Width:  |  Height:  |  Size: 126 B

View File

@ -0,0 +1,2 @@
<svg xmlns="http://www.w3.org/2000/svg" width="6" height="1" fill="currentColor" class="bi bi-link" viewBox="0 0 1 1">
</svg>

After

Width:  |  Height:  |  Size: 126 B

View File

@ -0,0 +1,9 @@
<div th:fragment="footer">
<footer id="footer" class="text-center py-3">
<!-- <a href="https://github.com/Frooodle/Stirling-PDF" target="_blank" class="mx-1" title="Visit Github Repository"><img src="images/github.svg"></img></a>
<a href="https://hub.docker.com/r/frooodle/s-pdf" target="_blank" class="mx-1" title="See Docker Hub"><img src="images/docker.svg"></img></a>
<a href="https://discord.gg/Cn8pWhQRxZ" target="_blank" class="mx-1" title="Join Discord Channel"><img src="images/discord.svg"></img></a>
<a href="https://github.com/sponsors/Frooodle" target="_blank" class="mx-1" title="Donate"><img src="images/suit-heart-fill.svg"></img></a>-->
<div th:if="${@appName} != 'Stirling PDF'" class="mt-2" style="color: grey;">Licenses</div>
</footer>
</div>