Customizing the look

Name, texts and languages

Brand color, logo and icon (no coding)

Open Settings → Appearance in the admin panel:

Images are stored in public/media/branding under random names. Nothing needs rebuilding and updates keep your choices.

Light or dark by default

Settings → Appearance → Default look chooses how pages open before a visitor uses the light/dark switch: following the visitor's device (the default), always light or always dark. The admin panel follows it too.

Themes and colors (advanced)

The whole look — the public site, the member area and the admin panel — comes from a theme: a folder in resources/css/themes (the default is soft3d). All colors live in its tokens.css as named tokens (--brand-500, --primary, --accent-500, --canvas, --neutral-*…), with a dark-mode block. The Appearance setting above overrides the brand tokens; for anything else (accent color, surfaces, category colors), change the values, then rebuild the stylesheets on your computer:

npm install
npm run build

Upload the new public/build folder. (Node.js is only needed on your computer, never on the server.)

Two themes are included: Soft 3D (emerald, soft depth; the default) and Pastel Pop (lavender and coral, rounded type, playful pictures). Settings → Appearance shows the installed themes as a gallery: pick one, save, and every page changes at once (no rebuild). The same page sets the corners (as the theme draws them, sharp or extra round) and turns the decorative animations on or off for the whole site.

To make a theme of your own, copy resources/css/themes/soft3d to a new folder, change its theme.json and tokens.css, and rebuild: the gallery then lists it. A theme can also bring its own pictures (public/themes/{theme}/art/*.svg) and draw chosen parts of the pages its own way (resources/views/themes/{theme}/…). The step-by-step guide is resources/css/themes/README.md.

Pictures

Each theme's pictures are SVG files in public/themes/{theme}/art (for the default theme, public/themes/soft3d/art): the shared ones (file icons, padlock, cloud…) and one per tool (tool-merge-pdf.svg…). To change one, replace the file with an SVG of your own under the same name and upload it: no rebuild is needed. A theme without a picture shows the default theme's. Which shared picture a tool falls back to is set in app/Modules/Tools/config.php (artwork).

The shipped pictures are drawn as code in scripts/theme-art/{theme}.mjs; to change colors or shapes there, run node scripts/theme-art/soft3d.mjs on your computer and upload the new files. Pictures are never mirrored in right-to-left languages because some contain letters.

Logo (advanced)

Upload your logo in Settings → Appearance (see above). Without an uploaded logo, the folded-sheet mark and the site name are drawn by resources/views/components/site/logo.blade.php; you can also replace that SVG with your own (keep aria-hidden="true"; the site name stays as text for accessibility and SEO).

Custom CSS (no rebuilding)

For small changes to the look, write your own CSS in Settings → Analytics & custom code → Custom CSS. It applies to the site and the member area right away, after the theme's styles (so your rules win), and never to the admin panel. It is kept in the database, so updates keep it. Use the theme's tokens to stay in step with the brand color and dark mode, for example border-color: var(--brand-500).

E-mails

The words of every e-mail are edited in Settings → E-mail templates (see Configuring). Their look comes from resources/views/vendor/mail/html/themes/pagemint.css. Set MAIL_MARKDOWN_THEME=default in .env to return to Laravel's plain theme.

Keep your changes in a list: after an update, re-apply changes made to files (translations and settings made in the admin panel are kept automatically).