Tennis – US Open 2024 – Taylor Fritz : ” I have a feeling that I’m going to come out and play…
Vidéo : @USOpen
Vidéo : @USOpen
Are you looking to change your website address (URL) in WordPress but aren’t sure where to start? In this video, I’ll guide you through the simple steps to change your WordPress site address, whether you’re moving to a new domain, switching from HTTP to HTTPS, or updating your WordPress URL for better SEO and branding.
We’ll cover how to safely update the WordPress Address (URL) and Site Address (URL) from within the WordPress dashboard, as well as additional steps to ensure the transition is smooth and doesn’t cause any broken links or issues for your visitors. I’ll also show you how to update the URLs directly in the wp-config.php file or the phpMyAdmin panel if you’re unable to access the dashboard.
This video is perfect for WordPress beginners and anyone looking to make domain changes or optimize their website address for SEO purposes. By the end of this video, you’ll be able to confidently update your website URL, keeping your website running smoothly and ensuring it’s correctly configured for search engines.
Don’t forget to subscribe to the channel and click the notification bell to stay updated on more WordPress tips and tricks. Give this video a thumbs up if you found it helpful!
In this video, you’ll learn:
How to change your WordPress site address (URL) from the dashboard.
How to safely switch from HTTP to HTTPS for better security and SEO.
What to do if you cannot access the WordPress dashboard and need to change the URL manually.
Tips to avoid broken links and ensure a smooth transition to your new website address.
Don’t miss more tutorials on the channel: https://www.youtube.com/c/ItayVerchik?sub_confirmation=1
Thank you for watching! If you have any questions or suggestions for future videos, drop a comment below, and I’ll be happy to help. Don’t forget to like and share this video if you found it useful!
To Sign Up For The Keywords Tracking System:
https://say-v.com/
Join now the community of Webmasters and SEO Marketers completely free:
https://www.facebook.com/groups/itayverchik
To purchase Elementor Pro, the world’s best WordPress page designer:
https://trk.elementor.com/2500
Don’t Have A Web Hosting Account Yet Or Are You Just Not Satisfied With Your Existing Hosting?
Get A 25% Discount For Cloudways Web Hosting For The First 3 Months:
https://platform.cloudways.com/signup?id=314159&coupon=VERCHIK
Hey you’re back! 🙂 In the previous post we talked about how to build a custom Drupal theme using Storybook as the design system. We also built a simple component to demonstrate how Storybook, using custom extensions, can understand Twig. In this post, the focus will be on making Drupal aware of those components by connecting Drupal to Storybook.
If you are following along, we will continue where we left off to take advantage of all the prep work we did in the previous post. Topics we will cover in this post include:
In the context of Drupal development using the component-driven methodology, Drupal integration means connecting Drupal presenter templates such as node.html.twig, block.html.twig, paragraph.html.twig, etc. to Storybook by mapping Drupal fields to component fields in Storybook. This in turn allows for your Drupal content to be rendered wrapped in the Storybook components.
The advantage of using a design system like Storybook is that you are in full control of the markup when building components, as a result your website is more semantic, accessible, and easier to maintain.
The title component we built in the previous post may not be enough to demonstrate some of the advanced techniques when integrating components. We will build a larger component to put these techniques in practice. The component we will build is called Card and it looks like this:

When building components, I like to take inventory of the different parts that make up the components I’m building. The card image above shows three parts: An image, a title, and teaser text. Each of these parts translates into fields when I am defining the data structure for the component or building the entity in Drupal.
web/themes/custom/storybook)---
modifier: ''
image: <img src="https://source.unsplash.com/cHRDevKFDBw/640x360" alt="Palm trees near city buildings" />
title:
level: 2
modifier: ''
text: 'Tours & Experiences'
url: 'https://mariohernandez.io'
teaser: 'Step inside for a tour. We offer a variety of tours and experiences to explore the building’s architecture, take you backstage, and uncover the best food and drink. Tours are offered in different languages and for different levels of mobility.'
{{ attach_library('storybook/card') }}
<article class="card{{ modifier ? ' ' ~ modifier }}{{- attributes ? ' ' ~ attributes.class -}}" {{- attributes ? attributes|without(class) -}}>
{% if image %}
<div class="card__image">
<figure>
{{ image }}
</figure>
</div>
{% endif %}
<div class="card__content">
{% if title %}
{% include "@atoms/title/title.twig" with {
'level': title.level,
'modifier': title.modifier,
'text': title.text,
'url': title.url,
} only %}
{% endif %}
{% if teaser %}
<p class="card__teaser">{{ teaser }}</p>
{% endif %}
</div>
</article>
Code snippet for building card
Copy and paste these styles into card.css.
Finally, let’s create the Storybook card story by adding the following to card.stories.jsx:
import parse from 'html-react-parser';
import card from './card.twig';
import data from './card.yml';
import './card.css';
const component = {
title: 'Molecules/Card',
};
export const Card = {
render: (args) => parse(card(args)),
args: { ...data },
};
export default component;
Let’s go over a few things regarding the code above:
<img> element rather than just using the image src and alt attributes. The reason for this is so when we get to Drupal, we can use Drupal’s full image entity. This is a good practice for caching purposes.You may have noticed in card.twig we used the namespace @atoms when nesting the title component. This namespace does not exist, and we need to create it now. In addition, we need to move the title component into the 01-atoms directory:
/* eslint-disable */
import { defineConfig } from 'vite'
import yml from '@modyfi/vite-plugin-yaml';
import twig from 'vite-plugin-twig-drupal';
import { join } from 'node:path'
export default defineConfig({
root: 'src',
publicDir: 'public',
build: {
emptyOutDir: true,
outDir: '../dist',
rollupOptions: {
input: {
'reset': './src/css/reset.css',
'styles': './src/css/styles.css',
'card': './src/components/02-molecules/card/card.css',
},
output: {
assetFileNames: 'css/[name].css',
},
},
sourcemap: true,
},
plugins: [
twig({
namespaces: {
atoms: join(__dirname, './src/components/01-atoms'),
molecules: join(__dirname, './src/components/02-molecules'),
},
}),
// Allows Storybook to read data from YAML files.
yml(),
],
})
Let’s go over some of the most noticeable updates inside vite.config.js:
We have defined a few things to improve the functionality of our Vite project, starting with using src as our app root directory and public for publicDir. This helps the app understand the project structure in a relative manner.
Next, we defined a Build task which provides the app with defaults for things like where should it compiled code to (i.e. /dist), and rollupOptions for instructing the app which stylesheets to compile and what to call them.
As part of the rollupOptions we also defined two stylesheets for global styles (reset.css and styles.css). We’ll create these next.
This is as basic as it gets for a build workflow and in no way would I recommend this be your front-end build workflow. When working on bigger projects with more components, it is best to define a more robust and dynamic workflow that provides automation for all the repetitive tasks performed on a typical front-end project.
Under the Plugins section, we have defined two new namespaces, @atoms and @molecules, each of which points to specific path within our components directory. These are the namespaces Storybook understands when nesting components. You can have as many namespaces as needed.
import '../dist/css/reset.css';
import '../dist/css/styles.css';
Remember, you need NodeJS v20 or higher as well as NVM installed on your machine
nvm install
npm install
npm run build
npm run storybook
A quick note about the commands above:
After Storybook launches, you should see two story categories in Storybook’s sidebar, Atoms and Molecules. The title component should be under Atoms and the Card under Molecules. See below:

We have completed all the prep work in Storybook and our attention now will be all in Drupal. In the previous post all the work we did was in a standalone project which did not require Drupal to run. In this post, we need a Drupal site to be able to do the integration with Storybook. If you are following along and already have a Drupal 10 site ready, you can skip the first step below.
Earlier we created namespaces for Storybook, now we will do the same but this time for Drupal. It is best if the namesapces’ names between Storybook and Drupal match for consistency. In addition, we will create Drupal libraries to allow Drupal to use the CSS we’ve written.
components:
namespaces:
atoms: src/components/01-atoms
molecules: src/components/02-molecules
global:
version: VERSION
css:
base:
dist/css/reset.css: {}
dist/css/styles.css: {}
card:
css:
component:
dist/css/card.css: {}
Let’s go over the changes to both, storybook.info.yml and storybook.libraries.yml files:
All the pieces are in place to Integrate the Card component so Drupal can use it to render article nodes when viewed in teaser view mode.
The first thing we need to do to begin the integration process is to determine which Twig template Drupal uses to render article nodes in teaser view mode. One easy way to do this is by turning Twig debugging on. This used to be a complex configuration but starting with Drupal 10.1 you can now do it directly in Drupal’s UI:
/admin/config/development/settings on your browser. This will bring up the Development settings page./admin/config/development/performance so we can turn CSS and JS aggregation off.With Twig debugging on, go to the homepage where the Article we created should be displayed in teaser mode. If you right-click on any part of the article and select inspect from the context menu, you will see in detail all the templates Drupal is using to render the content on the current page. See example below.
I am using a new basic Drupal site with Olivero as the default theme. If your homepage does not display Article nodes in teaser view mode, you could create a simple Drupal view to list Article nodes in teaser view mode to follow along.

In the example above, we see a list of templates that start with node…*. These are called template suggestions and are the names Drupal is suggesting we can assign our custom templates. The higher the template appears on the list, the more specific it is to the piece of content being rendered. For example, changes made to node.html.twig would affect ALL nodes throughout the site, whereas changes made to node–1–teaser.html.twig will only affect the first node created on the site but only when it’s viewed in teaser view mode.
Notice I marked the template name Drupal is using to render the Article node. We know this is the template because it has an X before the template name.
In addition, I also marked the template path. As you can see the current template is located in core/themes/olivero/templates/content/node–teaser.html.twig.
And finally, I marked examples of attributes Drupal is injecting in the markup. These attributes may not always be useful but it is a good practice to ensure they are available even when we are writing custom markup for our components.
By looking at the path of the template in the code inspector, we can see that the original template being used is located inside the Olivero core theme. The debugging screenshot above shows a pretty extensive list of templates suggestions, and based on our requirements, copying the file node–teaser.html.twig makes sense since we are going to be working with a node in teaser view mode.
As you can see, by renaming the template node–article–teaser (one of the names listed as a suggestion), we are indicating that any changes we make to this template will only affect nodes of type Article which are displayed in Teaser view mode. So whenever an Article node is displayed, if it is in teaser view mode, it will use the Card component to render it.
The template has a lot of information that may or may not be needed when integrating it with Storybook. If you recall, the Card component we built was made up of three parts: an image, a title, and teaser text. Each of those are Drupal fields and these are the only fields we care about when integrating. Whenever when I copy a template from Drupal core or a module into my theme, I like to keep the comments on the template untouched. This is helpful in case I need to reference any variables or elements of the template.
{% set render_content = content|render %}
{% set article_title = {
'level': 2,
'modifier': 'card__title',
'text': label,
'url': url,
}
%}
{% include '@molecules/card/card.twig' with {
'attributes': attributes.addClass(classes),
'image': content.field_image,
'title': article_title,
'teaser': content.body,
} only %}
content|render as its value. The only purpose for this variable is to make Drupal aware of the entire content array for caching purposes. More info here.Before we forget, let’s enable the Storybook theme an also make it your default theme, otherwise all the work we are doing will not be visible since we are currently using Olivero as the default theme. Clear caches after this is done.
Integration is done and we switched our default theme to Storybook. After clearing caches if you reload the homepage you should be able to see the Article node you wrote but this time displayed as a card. See below:

<article> tag is also inheriting several other attributes that were provided by Drupal through its Attributes variable. See below:
If your card’s image size or aspect ratio does not look as the one in Storybook, this is probably due to the image style being used in the Article Teaser view mode. You can address this by:
/admin/structure/types/manage/article/display/teaser).This is only a small example of how to build a simple component in Storybook using Twig and then integrate it with Drupal, so content is rendered in a more semantic and accessible manner. There are many more advantages of implementing a system like this. I hope this was helpful and see the potential of a component-driven environment using Storybook. Thanks for visiting.
For a full copy of the code base which includes the work in this and the previous post, clone or download the repo and switch to the card branch. The main branch only includes the previous post code.
Hi there!
A big joint release today. Mostly security fixes but we also have the final release candidate of 3.13 so let’s start with that!
Final opportunity to test and find any show-stopper bugs before we bless and release 3.13.0 final on October 1st.
Get it here: Python Release Python 3.13.0rc2 | Python.org
We strongly encourage maintainers of third-party Python projects to
prepare their projects for 3.13 compatibilities during this phase, and
where necessary publish Python 3.13 wheels on PyPI to be ready for the
final release of 3.13.0. Any binary wheels built against Python
3.13.0rc2 will work with future versions of Python 3.13. As always,
report any issues to the Python bug tracker.
Please keep in mind that this is a preview release and while it’s as close to the final release as we can get it, its use is not recommended for production environments.
As a reminder, until the final release of 3.13.0, the 3.13 branch is set up so that the Release Manager (@thomas) has to merge the changes. Please add him (@Yhg1s
on GitHub) to any changes you think should go into 3.13.0. At this
point, unless something critical comes up, it should really be documentation only. Other changes (including tests) will be pushed to 3.13.1.
locals() builtin function (and its C equivalent) now has well-defined semantics when mutating the returned mapping, which allows debuggers to operate more consistently.This is an expedited release for 3.12 due to security content. The schedule returns back to regular programming in October.
One notable change for macOS users: as mentioned in the previous release of 3.12, this release drops support for macOS versions 10.9 through 10.12.
Versions of macOS older than 10.13 haven’t been supported by Apple
since 2019, and maintaining support for them has become too difficult.
(All versions of Python 3.13 have already dropped support for them.)
Get it here: Python Release Python 3.12.6 | Python.org
92 commits.
Python 3.11 joins the elite club of security-only versions with no binary installers.
Get it here: Python Release Python 3.11.10 | Python.org
28 commits.
Get it here: Python Release Python 3.10.15 | Python.org
24 commits.
Get it here: Python Release Python 3.9.20 | Python.org
22 commits.
Python 3.8 is very close to End of Life (see the Release Schedule). Will this be the last release of 3.8 ever? We’ll see… but now I think I jinxed it.
Get it here: Python Release Python 3.8.20 | Python.org
22 commits.
os.mkdir() on Windows now accepts mode of 0o700 to restrict the new directory to the current user. This fixes CVE-2024-4030 affecting tempfile.mkdtemp() in scenarios where the base temporary directory is more permissive than the default."-quoted cookie values with backslashes by http.cookies. Fixes CVE-2024-7592.urllib.parse.urlunparse() and urllib.parse.urlunsplit() for URIs with path starting with multiple slashes and no authority. Fixes CVE-2015-2104.python -i, as well as for python -m asyncio. The event in question is cpython.run_stdin.socket.socketpair() fallback on platforms where AF_UNIX is not available like Windows.hdrcharset, PAX, and GNU sparse headers. That’s CVE-2024-6232.ssl.SSLContext.cert_store_stats() and ssl.SSLContext.get_ca_certs() now correctly lock access to the certificate store, when the ssl.SSLContext is shared across multiple threads.email.utils.getaddresses() and email.utils.parseaddr() now return ('', '')strict=False to get the old behavior, accept malformed inputs. getattr(email.utils, 'supports_strict_parsing', False) can be use to check if the strict paramater is available. This improves the CVE-2023-27043 fix.zipfile.Path to avoid infinite loops (gh-122905) without breaking contents using legitimate characters. That’s CVE-2024-8088.email headers with embedded newlines are now quoted on output. The generator will now refuse to serialize (write) headers that are unsafely folded or delimited; see verify_generated_headers. That’s CVE-2024-6923._winapi.CreateFile and _winapi.CreateNamedPipe.<_overlapped.Overlapped object at 0xXXX> still has pending operation at deallocation, the process may crash.pystate.c’s HEAD_LOCK in posixmodule.c at fork is now fixed.Upgrading is highly recommended to all users of affected versions.
Thanks to all of the many volunteers who help make Python Development
and these releases possible! Please consider supporting our efforts by
volunteering yourself or through organization contributions to the
Python Software Foundation.
–
Łukasz Langa @ambv
on behalf of your friendly release team,
Ned Deily @nad
Steve Dower @steve.dower
Pablo Galindo Salgado @pablogsal
Łukasz Langa @ambv
Thomas Wouters @thomas
We have released version 7.1.1 of Texinfo, the GNU documentation format. This is a minor bug-fix release.
It’s available via a mirror (xz is much smaller than gz, but gz is available too just in case):
http://ftpmirror.gnu.org/texinfo/texinfo-7.1.1.tar.xz
http://ftpmirror.gnu.org/texinfo/texinfo-7.1.1.tar.gz
Please send any comments to bug-texinfo@gnu.org.
Full announcement:
https://lists.gnu.org/archive/html/bug-texinfo/2024-09/msg00041.html
Video by via Dailymotion Source Due to an issue The Steam has made us by making Linux servers not register with VAC system (and are not displayed in game server browser) you need to join by console command …: for events on our server. Sorry but it is NOT our fault… So copy&paste this in … Read more