Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/09/2025 in all areas

  1. This week I’m thrilled to report that we have a new website online. The site was designed by @jploch and @diogo of KONKAT Studio in Hamburg Germany. Here's a short announcement post about it— https://processwire.com/blog/posts/processwire-website-redesign/
    4 points
  2. A few suggestions on what is a great new theme: Similar to @adrian, I have an issue with font size on larger screens. I have a wide screen and the site smacked me in the face when I visited this morning. Recommend adding css something like: :is(header, main, footer) { width: min(80%, 100ch); margin-inline: auto; } or adding a class to the header, main and footer components. The text was far too big to read and much of the important above the fold content fell below the the fold. Same for every other page I visited. In additon, use CSS to clamp the font-size to a min, preferred, max size rather than a fixed 14vw. https://developer.mozilla.org/en-US/docs/Web/CSS/clamp Absolutely agree with @gRegor about reduced motion. This should be in the CSS, eg: /* Remove all animations and transitions for people that prefer not to see them */ @media (prefers-reduced-motion: reduce) { * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } } Add CSS "text-wrap: balance" to headings and "text-wrap: pretty;" to long content, eg paragraphs, list items, blockquotes, etc. It has good support on modern browsers and makes a difference in appearance and readability. https://developer.mozilla.org/en-US/docs/Web/CSS/text-wrap Keep up the good work
    3 points
  3. In a similar accessibility vein, you might consider supporting prefers-reduced-motion to toggle animated/static content.
    3 points
  4. Is there any way to adjust the font size to personal preferences? I'm finding headings way too big on my screen resulting in unnecessary scrolling to read anything. The animated heading at the top bring back not particularly fond memories of the <blink></blink> tag. I suspect it may be mobile first, but if I'm accessing the site it's for documentation, and I'm not going to do that on a phone. One of the things I've loved about ProcessWire is it's fairly well documented, but if I have to do extra scrolling every time I want to reference docs because everything is so much bigger, that's not helpful. I realise other people may like the new design, and I don't want to impose my preferences on others, but honestly I can't say I'm comfortable with the new presentation. Sorry, I know lots of work has gone into this. It's why I'm asking, following the ProcessWire philosophy of allowing total flexibility, whether actual site visitors themselves can have some option to select default font sizing, so those who like it big can keep it that way, but those who'd like it smaller can have something more to their liking.
    3 points
  5. RockGatekeeper A lightweight ProcessWire module that provides simple password protection for your website using a configurable gatekeeper password. Overview RockGatekeeper adds a basic authentication layer to your ProcessWire site. When enabled, it blocks access to all pages for guest users unless they provide the correct password via URL parameter. Features Minimal footprint: Only runs when gatekeeper is configured Session-based: Once authenticated, users stay logged in for the session IP tracking: Remembers the IP address of authenticated users Clean URLs: Automatically removes the password parameter from URLs after authentication CLI safe: Won't interfere with command-line operations Installation Copy the RockGatekeeper folder to your site/modules/ directory Install the module in ProcessWire admin Configure the gatekeeper password in your site config Configuration Add the gatekeeper password to your site configuration: // In site/config.php $config->gatekeeper = 'your-secret-password'; Usage Basic Authentication To access the protected site, users need to append the password as a URL parameter: https://yoursite.com/?gatekeeper=your-secret-password After successful authentication, users will be redirected to the same page without the password parameter, and they'll have access to the entire site for the duration of their session. Download & Docs: baumrock.com/RockGatekeeper
    2 points
  6. Unfortunately, IMHO the only animation that conveys anything is maybe the one for "Total control over the design". The rest just don't provide any meaning to me. In general animations on websites don't engage me, they distract me from learning what I am there to learn. But maybe I am in the minority, which is fine :)
    2 points
  7. Quick css fix for the misaligned "Project" button: Add <button> to your css selector: .pw-module-primary-actions a, .pw-module-primary-actions button { } Another note: on the homepage you should add the width and height attributes on the slideshow’s images (maybe even a background-color?) so there’s no layout shift when loading the page: Also I think you could echo the logo’s svgs using file_get_contents to avoid the empty spot like in my screenshot. Lastly I would also advice to respect "prefers-reduced-motion: reduce" for the lottie animations (and have a fallback svg image in case there’s no javascript). It’s quite easy to do by setting the autoplay option using "window.matchMedia('(prefers-reduced-motion: reduce)').matches".
    2 points
  8. Very beautiful the new website Bravo!!!!
    2 points
  9. I found some issues in the modules directory: Long Text on a paid module need a bit of a gap. Also the paid-filter don't work properly, none of @bernhard's modules are shown.
    2 points
  10. Good morning everyone! Congratulations with the new look! This redesign effort is something we've been waiting for a long time! I am reading the new site from mobile and I rediscover a lot of great content I forgot existed. I think the navigation logic is improved greatly. Surely, there are visible bugs and glitches here and there. And I didn't see the new site from the desktop yet. But new look is modern and cool. I remember getting used to the last redesign. It was a pain. We as people have hard times seeing something we love change. But the world has to move on) And I am pretty sure here it is for the good! Another amazing thing is that an international community-driven team of volunteers has been working on a redesign. This is so cool and I hope to see more of such for PW in every aspect of its development (like in fixing those bugs and glitches)). Great thanks to the volunteers!
    2 points
  11. Very very nice. Good work to all involved.
    1 point
  12. Dear all, congrats to the redesigned website. Was a big surprise today and first thought, hey what happened to my browser bookmarks, it‘s not PW. But that shock only took a second then I realized it‘s my CMS of choice, just with a new fresh layout. Great work from my point of view. Just browse and read the new content now. Love it.
    1 point
  13. Congratulations to the new website. 🎉
    1 point
  14. Every time I think of something I need in ProcessWire, @bernhardhas already made it. Superb work 🙂
    1 point
  15. Gotta admit I feel really strongly about this also. This is my quick hack to find some visual peace on the homepage :) // Remove all divs whose ID ends with "-animation" document.querySelectorAll('div[id$="-animation"]').forEach(el => el.remove()); // Remove empty uk-width elements document.querySelectorAll('[class*="uk-width-"]').forEach(el => { if (!el.textContent.trim()) { el.remove(); } }); // Change all uk-width elements to full-width document.querySelectorAll('[class*="uk-width-"]').forEach(el => { el.className = el.className .split(/\s+/) .map(cls => cls.startsWith('uk-width-') ? 'uk-width-1-1' : cls) .join(' '); }); // Halve font size of all h1 and h2 elements document.querySelectorAll('h1, h2').forEach(el => { const style = window.getComputedStyle(el); const currentSize = parseFloat(style.fontSize); el.style.fontSize = (currentSize / 2) + 'px'; }); // Remove max-width on .pw-highly-scalable p elements document.querySelectorAll('.pw-highly-scalable p').forEach(el => { el.style.maxWidth = 'none'; });
    1 point
  16. Btw, the old site can be accessed just by appending ?oldsite=1 to any URL (temporarily, anyway).
    1 point
  17. RockDaemon simplifies running long-running background tasks (daemons) with automatic lifecycle management. Ideal for tasks like PDF generation, email processing, or data synchronization that need to run continuously via cron jobs. Why RockDaemon? Running long-running tasks in PHP can be challenging: Preventing multiple instances from running simultaneously Manual restart capabilities Automatic restart after deployments Signal handling and graceful shutdown Debug output control Command-line argument parsing Hosting environment compatibility RockDaemon solves these problems with a simple, cron-based approach. Example <?php // pdf-daemon.php namespace ProcessWire; use RockDaemon\Daemon; require_once __DIR__ . '/public/index.php'; $rockdaemon = wire()->modules->get('RockDaemon'); $daemon = $rockdaemon->new('pdf-daemon'); $daemon ->run(function (Daemon $daemon) { // get a newspaper page that has the "createPdf" checkbox enabled $p = wire()->pages->get([ 'template' => 'newspaper', 'createPdf' => 1, ]); if (!$p->id) return $daemon->echo('Nothing to do'); $timer = Debug::startTimer(); $p->createPdf(); $ms = Debug::stopTimer($timer) * 1000; $daemon->log( message: "created PDF for $p in {$ms}ms", logname: "pdf-create", pruneDays: 30, ); $daemon->run(); }); Docs + Download: baumrock.com/RockDaemon Showcase in PW Weekly: https://weekly.pw/issue/590/
    1 point
  18. Hy @poljpocket thx for your questions I'm not using the functions API myself either. I never use pages() in my module, for example, I'm always using wire()->pages->... which will work with $config->useFunctionsAPI = false; Sure. For me this is not an issue and I thought it would not be an issue for anybody else, because I didn't consider a staging site being visible to others on the same network being critical in any way. But you are right, it might not be the most secure approach, so I have added a config setting for this which is disabled by default. So the default will be to only allow access for the session and allow the IP only when the checkbox is checked. I added this because when I tested my site on staging with my mobile phone and got a signup confirmation via mail and clicked the activation link my phone opened that link in some other browser and therefore I got "access denied". Sure it would be possible to copy the link and open it in the same browser that is already authenticated, but explain that to clients that you sent the staging link for testing... 😉
    1 point
  19. Hello everyone! 🙂 I’ve been using ProcessWire for well over a decade now, so I've been reading here forever, but never actually posted! I recently launced simplesignature.email and once again was delighted how great ProcessWire works for me, so I decided to share this one here! We’re a creative duo (Michael, and Stefan) from Switzerland working at and for many creative and branding agencies over the years. One thing often comes up: we need to create consistent email signatures for our clients. After trying many unsatisfying solutions, we decided to build our own. Goals: Clean, very minimal and easy to use, targeted mostly at designers Work reliably across email clients Possibility to easily share a signature with team members or clients Free of the common issues (PNG logos, font inconsistencies, broken layouts) So we built Simple Signature! Technical Stuff / ProcessWire Architecture Each user gets one ProcessWire page that stores all their signature configurations as JSON We bypassed ProcessWire's user system for a simpler magic link authentication (most users don’t need to login) Technical Features Client-server synchronization with signature configs stored in localStorage first and then pushed to the server, with debounced synchronization to do this efficiently Pure vanilla JavaScript with modular components for real-time preview rendering Server-side image processing using Imagick for different image shapes (circle, square, rectangle) “Business” Model Free for individual use (one signature) Pro plan enables multuple signatures and sharing them via a link - useful for agencies creating signatures for clients Simple Lemon Squeezy checkout overlay integration for payment processing While we’re not primarily revenue-focused - we built it for our own needs and as a free tool – a few paid users might help support operation and hosting costs for free tier Let me know if you happen to have a use for Pro features – happy to send you a discount code! Third Party Modules used: MarkupCloudflareTurnstile to make sure users requesting to create a login magic link are human WireMailSmtp to send emails As primarily a frontend developer, I found ProcessWire to be (again!) the perfect backend solution for this project, even without extensive PHP experience. It’s just super flexible, easy to use and robust. Visit simplesignature.email/signature-editor/ to see the tool it in action. Happy to answer any questions! Best, Michael
    1 point
×
×
  • Create New...