The essential news about content management systems and mobile technology. Powered by Perfect Publisher and XT Search for Algolia.
The News Site publishes posts to the following channels: Facebook, Instagram, Twitter, Telegram, Web Push, Tumblr, and Blogger.
Read more https://build.prestashop-project.org/news/2023/core-monthly-2023-07-01-2023-07-31/
The post Laravel Sushi gets a new landing page appeared first on Laravel News.
Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.
Read more https://laravel-news.com/laravel-sushi-landing-page
The post Genesis is a Starter Kit for the TALL Stack appeared first on Laravel News.
Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.
Read more https://laravel-news.com/genesis-starter-kit
After introducing the Jetpack Mobile app earlier this year, we’re focused on making it the best WordPress experience on your mobile device. We’ve started by updating the design of the mobile editor.
Below we walk you through the changes we’ve made that streamline your writing and editing experience on mobile. You’ll find these improvements when your app updates to version 22.9.
We’ve replaced soft blue tones with a striking black and white style, which not only looks cleaner but is simply easier to see as well. Overall, we’ve aligned our styles more closely to the WordPress.com desktop experience, including the more familiar block inserter button.
We’ve hidden the site title to make room for global actions like “Undo.” Your site icon is shown next to the back arrow, where you can tap to leave the editor. We’ve also added a border to clearly separate the navigation bar from your content.
We’ve added in-line media blocks when you have no other block selected, so you can add an image or video faster without opening the full block list.
We’ve hidden the blue border around the paragraph block while you’re typing to let you focus on writing.
It used to be that some block controls were shown on top of the block, taking space from your content. Now all the block controls live in the toolbar, with the settings icon up first.
The up and down arrows, which move blocks within your posts and pages, have moved to the right side of the toolbar. And if you missed it, we introduced drag and drop last year, so you can move blocks manually.
You’ll find these improvements when your app updates to version 22.9.
We’ll be continuing to make improvements to the mobile editor. In the meantime, we’d love to hear what you like, what challenges you’ve encountered, and any ideas you have. It may very well shape what we work on next.
Get the app todayRead more https://wordpress.com/blog/2023/08/07/the-new-and-improved-jetpack-mobile-editor/
We just released Studio — a beautiful new agency website template we’ve been working on for the last couple of months for Tailwind UI.
We just released Studio — a beautiful new agency website template we’ve been working on for the last couple of months for Tailwind UI.
We built it with Next.js, MDX, and of course Tailwind CSS, and it’s the first template we’ve published using the new Next.js App Router.
Designing an agency template is an interesting project, because creative agencies commonly use their own website to show off some really flashy, bespoke ideas, and using a template just kind of feels strange when the goal is to show what you’re own company is capable of.
So we tried to approach this one with two goals in mind to actually make it useful to people:
I think we what we came up with nailed these two goals and I’m really proud of how it all turned out.
Check out the live preview as always for the full experience — there are tons of cool details in this one that you have to see in the browser to really appreciate.
One of the unspoken rules of agency websites is that they’ve gotta be flashy. We didn’t go full replace-the-mouse-cursor or render-the-entire-site-with-WebGL but we did look for opportunities to tastefully introduce animations and interactivity wherever we could.
For instance, we built a light declarative component-based API around some features of Framer Motion to make it easy to do scroll-triggered entrance animations:
The authoring experience for these types of animations turned
out really nice — just wrap the stuff you want to fade in with a
FadeIn
or FadeInStagger
component and
you’re in business:
function Clients() {
return (
<div className="mt-24 rounded-4xl bg-neutral-950 py-20 sm:mt-32 sm:py-32 lg:mt-56">
<Container>
<FadeIn className="flex items-center gap-x-8">
<h2 className="text-center font-display text-sm font-semibold tracking-wider text-white sm:text-left">
We’ve worked with hundreds of amazing people
</h2>
<div className="h-px flex-auto bg-neutral-800" />
</FadeIn>
<FadeInStagger faster>
<ul
role="list"
className="mt-10 grid grid-cols-2 gap-x-8 gap-y-10 lg:grid-cols-4"
>
{clients.map(([client, logo]) => (
<li key={client}>
<FadeIn>
<Image src={logo} alt={client} unoptimized />
</FadeIn>
</li>
))}
</ul>
</FadeInStagger>
</Container>
</div>
)
}
We also added this nice little animation to the logo where the mark is filled with a solid color on hover:
This is little detail looks small but interestingly you can’t really do it without client-side navigation, because the animation would re-run when clicking the logo to go back to the homepage. Using a framework like Next.js, we’re able to keep the logo filled in while hovering, even across URL changes, which feels a lot nicer.
The menu drawer animation turned out really nice as well, pushing the whole page down when it opens:
If you look closely, the logo and button don’t just naively change color either — it’s actually driven precisely by the position of the sheet that’s sliding down, and the logo is actually partially white and partially black at the same time when the edge of the sheet is intersecting with it.
Another detail I really love is this interaction we came up with for the images on the case study pages:
We wanted the whole site to feel black and white, but showing black and white images all of the time didn’t feel right. So we came up with this treatment where the image starts off black and white, and the saturation animates back in as the image gets close to the center of the screen when scrolling. We also show the full color image on hover.
We were also careful to try and implement all of these
animations in a way that’s mindful of people with vestibular motion
disorders and are sensitive to these types of big animations. Using
Framer Motion’s useReducedMotion
hook and the
motion-safe
variant in Tailwind, we do things like
conditionally disable the navigation menu animation, and limit the
scroll-driven entrance animations to opacity only so things aren’t
moving on the screen.
Studio includes support for both case studies and blog posts, and as you might have guessed if you’ve played with any of our other templates, we used this an excuse to integrate MDX into the project.
Here’s an example of what a basic case study looks like — authored mostly in markdown with some common metadata and support for custom components mixed in to the content:
import logo from '@/images/clients/phobia/logomark-dark.svg'
import imageHero from './hero.jpg'
import imageJennyWilson from './jenny-wilson.jpeg'
export const caseStudy = {
client: 'Phobia',
title: 'Overcome your fears, find your match',
description:
'Find love in the face of fear — Phobia is a dating app that matches users based on their mutual phobias so they can be scared together.',
summary: [
'Find love in the face of fear — Phobia is a dating app that matches users based on their mutual phobias so they can be scared together.',
'We worked with Phobia to develop a new onboarding flow. A user is shown pictures of common phobias and we use the microphone to detect which ones make them scream, feeding the results into the matching algorithm.',
],
logo,
image: { src: imageHero },
date: '2022-06',
service: 'App development',
testimonial: {
author: { name: 'Jenny Wilson', role: 'CPO of Phobia' },
content:
'The team at Studio went above and beyond with our onboarding, even finding a way to access the user’s microphone without triggering one of those annoying permission dialogs.',
},
}
export const metadata = {
title: `${caseStudy.client} Case Study`,
description: caseStudy.description,
}
## Overview
Noticing incredibly high churn, the team at Phobia came to the conclusion that, instead of having a
fundamentally flawed business idea, they needed to improve their onboarding process.
Previously users selected their phobias manually but this led to some users selecting things they
weren’t actually afraid of to increase their matches.
To combat this, we developed a system that displays a slideshow of common phobias during
onboarding. We then use malware to surreptitiously access their microphone and detect when they
have audible reactions. We measure the pitch, volume and duration of their screams and feed that
information to the matching algorithm.
The next phase is a VR version of the onboarding flow where users are subjected to a series of
scenarios that will determine their fears. We are currently developing the first scenario, working
title: “Jumping out of a plane full of spiders”.
## What we did
<TagList>
<TagListItem>Android</TagListItem>
<TagListItem>iOS</TagListItem>
<TagListItem>Malware</TagListItem>
<TagListItem>VR</TagListItem>
</TagList>
<Blockquote
author={{ name: 'Jenny Wilson', role: 'CPO of Phobia' }}
image={{ src: imageJennyWilson }}
>
The team at Studio went above and beyond with our onboarding, even finding a
way to access the user’s microphone without triggering one of those annoying
permission dialogs.
</Blockquote>
<StatList>
<StatListItem value="20%" label="Churn rate" />
<StatListItem value="5x" label="Uninstalls" />
<StatListItem value="2.3" label="App store rating" />
<StatListItem value="8" label="Pending lawsuits" />
</StatList>
All of the typography styles for this template are totally
custom and we took a bit of a different approach this time than we
have in the past — instead of writing a bunch of complex CSS to
avoid our typography styles clashing with any custom components in
the MDX, we created a little remark plugin called remark-rehype-wrap
that makes it possible
to wrap chunks of Markdown content with a wrapper element.
This way, we could wrap anything that was vanilla Markdown
content with a typography
class, but make sure any
custom components in the document were simply not wrapped,
rather than try to craft the CSS in such a way that it ignores
those parts of the tree.
Both approaches totally work but it’s always fun to try new ideas and see what you learn. I’m curious to see what a solution based on the new style queries feature coming to CSS might look like in the future too!
So that’s Studio! Pull it down, tear it apart, and see if you learn a couple of new tricks.
Like all of our templates, it’s included with a one-time purchase Tailwind UI all-access license, which is the best way to support our work on Tailwind CSS and make it possible for us to keep building awesome stuff for years to come.
(The post Meet Studio: Our beautiful new agency site template appeared first on Tailwind CSS Blog.)
Read more https://tailwindcss.com/blog/2023-08-07-meet-studio-our-new-agency-template