Jump to content

Jonathan Lahijani

Members
  • Posts

    788
  • Joined

  • Last visited

  • Days Won

    40

Everything posted by Jonathan Lahijani

  1. JIT for Tailwind was just announced. It's looks really great. I'm still on the sidelines with Tailwind, but I do see myself using it in the near future. @kongondo when HeadlessUI has components in Alpine that are fully fleshed out, that's when I think I'll make the switch. While the Creative Tim components look good, I'd rather wait for something that's from the Tailwind creators and more comprehensive.
  2. I have a couple sites where the forms are using Google Recaptcha v2, however some automated form spam is still occurring. I know the latest version of Recaptcha is v3 which is supposed to be more effective, but is anyone here using Recaptcha v2 getting spam as well?
  3. I like the idea of editing in a modal (full screen to where it almost feels like its own page), or perhaps a dedicated edit page outside of PW's page editor. I think having it inline as shown in the screenshot looks bad, not to mention the lack of page width. If going the modal route, the "esc" key should not close the modal, but maybe a close button that the user has to click. Also, I would imagine the icons are copyright YOOtheme, but this library is available for commercial use for free and a quick look seems to show they have similar icons: https://github.com/vaadin/vaadin-icons
  4. WOW! This is incredible! I think this idea really has legs and you've proven it can be done in a ProcessWire way. I would like to contribute in any way I can... ideas, styling, testing, financial. I would 100% use this on multiple projects if it could be developed further. I hope you are able to see this project through as well as Padloper. Please let me know how I can help.
  5. I bought a generic sounding ".run" domain name and have my client sites as subdomains of it. .run sounds very developer-y.
  6. What @szabesz said is what I'm thinking as well. There is an ick-factor among developers and page building tools because it crosses the line of keeping content separate from the structural display of that content, but it's incredibly useful for landing page type pages and the marketing people who often manage them. @ryan What approach did you take in building the ProcessWire.com Home page? Entirely hardcoded? Matrix for each main section (overkill since that hero is only used once)? If I wanted to add more text beneath the two buttons in the hero, how would I do it?
  7. Can you elaborate on what you mean by more semantic oriented?
  8. They are not synonyms and their loose definitions are sure to cause confusion. Here are my definitions: Site Builder (aka Full Site Editing / FSE): a no-code type tool that allows you to create a website, including global portions like header and footer. Good for basic websites and non-technical people. See brizy.cloud as an example. Layout Tool: something that allows you to create a section/container/grid/cell structure for a specific page in a visual, no-code way. Components: simple things like Headline, Text, Image to complex things like Table, Definition List, Video, Slideshow, Slider (ie, things that are basically repeating content). YOOtheme Pro: a mega-theme that turns a WordPress website into a Site Builder. YOOtheme Pro's Page Builder: it's the part of YOOtheme Pro that you encounter to build a page in WordPress, as shown in the video. It's a combination of what I'm calling Layout Tool + Components.
  9. "Is there demand for that?" -- I would say this is a resounding yes. There are dozens of page builders out there, and many tied to WordPress: https://blog.hubspot.com/service/wordpress-page-builder Block Editor (Gutenberg) is more of an advanced version of TinyMCE/CKEditor, but it's quickly becoming more of a "page builder" in the next year or two.
  10. Hotwire is an alternative approach to building an SPA without having to do the whole API-first approach, whereby a frontend in React would consume some JSON API. Instead you just build a site the classic, server rendered way, sprinkle in Hotwire, and it makes it work like an SPA. Behind the scenes, it's working with actual HTML instead of JSON, which is the key difference. It was born out of Hey.com, the new email service from the creators of Basecamp. I strongly recommend listening to this podcast episode with DHH. He and Adam Wathan (creator of Tailwind) get deep into it: https://fullstackradio.com/151 As they say in the episode, it fits my mental model. I don't think ProcessWire from the admin side of things needs to be an SPA. However Hotwire could be used on the frontend if a developer decided.
  11. I often develop ProcessWire websites for large companies and organizations, where there are 20+ employees. In these scenarios, my point of contact is almost always someone with a marketing or managerial role. Here are the actual positions I just pulled from the email signatures of my go-to contacts of several of my clients... notice the similarities: SVP Marketing Marketing & Business Development Marketing Associate Director of Marketing Director of Marketing (again) Assistant Marketing Manager Marketing & Communications Coordinator Production Artist Office Manager These marketers are the ones who manage the day-to-day content needs of the site. They are not coders, but are generally technically savvy. They like ProcessWire, or at least the way I set it up. They oftentimes need to throw a page together that's not strictly defined by a template. They need some flexibility to express themselves. While this can be done with Matrix in its current state (say you made 20 different sections that they can choose from), it requires a lot of planning beforehand and can't handle edge-cases without developer involvement.
  12. In this video, I demonstrate YOOtheme Pro's Builder (WordPress) and talk about its approach and benefits. I then demonstrate 3 different builder concepts in ProcessWire using Repeater/RepeaterMatrix, two of which are modeled after YOOtheme Pro's builder and their limitations along with some suggestions. ( @ryan ) (note: there are many more considerations when it comes to a page builder, but if there were some sort of css-framework agnostic layout tool, that would solve the biggest page builder problem) Please share your thoughts.
  13. The decimal fieldtype is available and works well (I use it for an ecommerce site with large numbers, no problems): However it would be nice if this was in the core: https://github.com/processwire/processwire-requests/issues/126 FieldTypeTable supports decimals by the way.
  14. @ryan I can collaborate with you on improving Repeater Matrix and giving you a really deep understanding of page builders, issues that would be faced and my thoughts on a direction ProcessWire can take. I've built a module internally that demonstrates a lot of these concepts.
  15. Indeed. Alpine looks interesting and I'm considering rewriting the cart and checkout portion of my ecommerce site with it instead of Vue one day. I'm familiar with alpinetoolbox.com, and although the examples there look good, I prefer to have components that are more "official" and battle tested especially when using multiple components together. For example, if there were eventually a project that had ready to go components from a single source that covers most of UIkit's components, I'd strongly consider it. I believe there are some projects in the works for that, but nothing totally comprehensive yet.
  16. Looks great. Random question: how does a piece of data like order notes get stored? Is it PW fields or custom Padloper tables?
  17. For what it's worth, I have the following working without any issues: website on a fresh digital ocean ubuntu 20.04 droplet with lamp stack (installed using sudo tasksel install lamp-server) processwire 3.0.168 php 7.4.3 mysql 8.0.22 database on digital ocean database cluster -- set this up just now specs: 1 GB RAM / 1vCPU / 10 GB Disk / Primary only / SFO2 - MySQL 8 mysql 8.x (8.0.20 based on the logs) (connecting using the default 'doadmin' user account, which should be using caching_sha2_password, not mysql_native_password); no connection issues ... I'm clicking around going to various pages and it doesn't feel "fast". Not slow, but not fast. I then upgraded to the 4gb/2cpu database cluster and it's still pretty slow. I just switched back to the local mysql server and it's way faster. Keep in mind both my droplet and my db cluster were in the same region (SFO2). Looks like I won't be using Digital Ocean's database cluster at least until it's faster or I figure out how to make it faster (if it's possible). Not sure why it's so much slower. Related: https://bensmann.no/running-wordpress-with-digital-oceans-managed-mysql-databases/
  18. I've come across a situation where I too need to apply markup regions via a hook (inside a module), but it's not applying with Page::render or TemplateFile::render. I tried various combinations of things. @Edison were you able to ever get it working properly? @elabx any other suggestions? Note: it works fine if I do it without hooks inside /site/templates/_init.php, if that provides any insight.
  19. My journey with CSS frameworks has been: Bootstrap v2 → Zurb Foundation → Bootstrap 3 → UIkit 2 → Uikit 3. This is over the course of 9 years, with plain CSS for several years before that. All of the frameworks I mentioned come with pre-define components along with the JavaScript to do the usual things like accordions, tabs, modals, etc. I really fell in love with UIkit 3 because it goes very deep with JS components, giving you things like filters, lazy loading and slideshow. With Bootstrap, you have to use 3rd party libraries to get the same level of functionality, which in the past has lead to breaking packages for whatever reason, compatibility issues and a lack of cohesiveness. Maybe my workflow these days would alleviate some of those issues, but the fact remains UIkit solves like 95% of my use cases. I completely see the appeal of Tailwind having done CSS for a long time, but the lack of an official set of JS components is holding me back from giving it a try. I'm still waiting to see how UIkit 4 turns out and see how much further they go with utilities. Or I just may sit down and write a set of UIkit classes using Tailwind @apply that uikit.js expects so components looks correct (has anyone done this?). But, that feels a little hacky.
  20. TailwindCSS 2.0 was just released: https://tailwindcss.com/
  21. I created a custom role called "editor" and assigned a user to that role. The role has every permission assigned. I also assigned full capabilities to this role on the "home" template and made sure it inherits to the children. I did the same for the "admin" template. However when I log in as a user with this editor role, I don't see the "Admin" page in the page tree. If I go to the edit URL of it (id=2), I can edit it successfully however. Why can't I see the Admin page listed in the page tree when logged in as a user with that role?
  22. Tip: Giving Folders Custom Display Names I created a workspace where I wanted to add the "site" folder from various ProcessWire sites that I'm working on to do some updates across all the projects, as opposed to opening each workspace independently, one after another. VSCode can handle this, however because the folder name is always "site", it's impossible to differentiate which "site" folder belongs to which project in the sidebar. But, there's a way to set up a custom name override which I thought was very useful. Simply edit the .code-workspace file and add a "name" property to each root folder, so it looks like this: { "folders": [ { "path": "." }, { "name": "website 1 /site/", "path": "../website-1.com/site/" }, { "name": "website 2 /site/", "path": "../website-2.com/site/" }, ... While I could have added "website-1.com" and "website-2.com" which would have resulted in unique folder names anyway, my specific use case was a bit more involved than what I demonstrated above, so hopefully you find this tip helpful! Link: https://github.com/Microsoft/vscode/issues/45227#issuecomment-371380617
  23. You have some references to localhost:8888 for the favicons.
  24. I did another test on Apple's website just now and it's actually not "perfect" either (maybe it was a few months ago). See screenshot.
  25. I was listening to Full Stack Radio recently (hosted by Adam Wathan, the creator of Tailwind CSS) and his guest for this particular episode discussed proper usage of HTML elements. It's worth a listen, especially when touching upon accessibility (overall it's a great podcast for developers): https://fullstackradio.com/118 They got into the topic of heading outline hierarchy within pages and this is something I had to do a deep dive into a few months ago for a site I made, since the client had a 3rd party SEO company do some reports which highlighted the heading structure on various pages. While optimizing the site, I got headingsMap, a very helpful Chrome extension which outputs the heading hierarchy of a page: https://chrome.google.com/webstore/detail/headingsmap/flbjommegcjonpdmenkdiocclhjacmbi?hl=en I then went on a spree with this extension and tested various popular website home pages and based on at least 100 different sites, there's only one site that really does a pristine job with heading hierarchies, and that's apple.com. I'm kind of baffled that only Apple actually took the effort do it correctly. So I'm asking you all here: which sites have you found that do it correctly and don't sweep this under the proverbial rug? The headingsMap Chrome extension has made me think twice when marking up some headings on a site that I'm developing and the use of "screen reader only" / visually hidden classes (which hides the text without using display:none, as display:none removes it from the hierarchy). Since many of us here use UIkit, I asked them to create a native visually hidden type class: https://github.com/uikit/uikit/issues/3967#issuecomment-648920911 Right now, I use CSS Tricks' suggestion located in this article: https://css-tricks.com/places-its-tempting-to-use-display-none-but-dont/ Bootstrap already has the sr-only class which is the same. This has other implications as well, like when customizing a page builder with something like repeater matrix. While it affords clients/non technical people the ability to build a page, it's worth taking the headings generated by the matrix-type templates into consideration.
×
×
  • Create New...