 Okay. Hello everybody. So, it's my first talk in English. So, bear with me. So, there were a lot of talks about patents. Team Jason and full-side editing. I hope you saw that. And if not, you can always have a look at YouTube too. I think after the registration it will be available anyway. So, I'm not going to talk about those things that are in the background. So, bear with me, but it could be very, very long. Longer than already is. So, once upon a time, WordPress introduced Gutenberg, 2018, I think, something like that. And so, we started to use the classic editor blogging. Because, you know, Gutenberg is based on something that not all developers were used to. So, mostly as a model habit. So, now, we kind of like Gutenberg for some reasons. But still, React is... Well, I'm joking. Meaning, I'm one of the people that develop in React and I like it. At least for the part that is connected to Gutenberg. But, you know, it should be easier than this, I think. And, generally speaking, React has a learning curve very steep. So, you know. So, what are we going to do now? We have this nice, very nice backend. We can do a lot of things. But, but. So, this presentation is about how you can set up a local environment easily with something that is developed by WordPress and automatic. It's not the same thing, of course. And you can start playing around and do a mess in your local environment so you don't break anything. And when you're finished, you will have your new website and you can export the team. And that's it. But you need some tools for that. So, the first one, it's Docker. Because I'm not talking about what is Docker, how you install it, you will have to... Sorry. I have to look at it after the presentation. In the end, there will be a URL at a GitHub repository. And there's everything that I'm talking about now, all the links, et cetera. So, you will find also Docker. I don't know if you know already Docker. Can you? Okay. Okay. That's good. Node.js, of course. Obviously, necessary. And the same, you should... These tools are something that you can install at first and then you forgot about them completely. It's not a big deal. And, of course, get in this case also because you can download or clone the repository for you. And so, this is the WordPress M is the ready to use way to launch an instance of any website. It's really a very powerful tool. You can install, in this case, that is the command for installing globally. If you want, you can install it locally. So, every locally instance is installed if you want. It's your choice. So, how do you use that? So, let's say you clone or download this repository. And so, you have to use also a terminal, a command line, any command line, and type WP-... Sorry, WP-... Yes. I'm sorry about that. WP- and space start. And that starts the environment. It takes a little time because what this does, essentially, it downloads all the images for Docker with WordPress, PHP, MySQL, whatever you need to start a local environment. So, use of a command for the WP-M. Start and, of course, stop to stop the environment. Of course, you want to use stop, believe me, because Docker, yeah, it's kind of a vampire. And then clean all. Clean all. Use it carefully because it just delete every customization you did on the database. But you can, sometimes you need to do that. Install path. It gives you the information on where the WordPress installation is located on your computer. It's some kind of a hash. And it's usually in a folder somewhere in your system. So, it's not easy to find it. So, this is very useful too. And run CLI. Run CLI, of course. It's also, it's so the WP CLI, the command line of WordPress. So, you can use all the commands, but you have to start with WP half CLI, then WP call update, plugin updates, minus minus, so on. If you know how to use the command line for WordPress, you know what I'm talking about. So, this environment comes with a file that is called, well, sorry, I'm talking rubbish. Essentially, you can use this file. So, you have to set it up from scratch. It doesn't come with the installation. This dot WPM JSON, what does, this is something very useful because you can, as you can see here, you can set up the core. So, you could use a specific core version. I don't know if you want to, for example, I used to update my plugins. So, you can use a beta or a CE or whatever. In this case, it's not. So, it means that they download, every time you do WP Python and start, it downloads the latest version of WordPress, in this case. Also, teams and plugins, same thing. It will download the latest version of the plugin or team, unless you give this string, you say, okay, I want this specific version of that stuff. Okay, I started with 2024 because I don't know if you know that, but when you start an environment like this, you will see the white screen of death. So, because it doesn't recognize which team is referring to. If you don't have the latest, the default one, it could be frustrating. We don't want that. So, that's one. The other one is called blockbase, and the name tells everything, because it's a base of a team that is based on the blocks. So, it's a full-size editing, and it has some special things that I'm going to show you. Then, plugins. A query monitor, use it always, always. If you're developing locally, it's better to have something that tells you. You're doing it wrong. That's kind of a message that comes often. And create block theme. It's another plugin that is really useful, because you can create easily a copy of the team you're working on, or a child of the team you're working on, and there are other options. It's really, really useful. Again, this is the same file. One thing that I think is really useful is to have the mappings. The mappings, in this case, we are going to say, I want the WB content in a specific place. In this case, it's the same, same repository. Of course, you should have an ignore line that says to ignore this content, of course. But it will be very useful, because you can see themes and uploads and whatever. But the very nice thing is you can specify a port. It's local host always. But think about, if you want to work with several local environments, you can specify different ports, and that's it. This is very, very, very useful. Of course, your limitation is always on Docker. As I said before, Docker is a vampire. It uses a lot of resources. It depends on your computer resources if you can run more than one of these instances. And then you can specify a config. So you can say, for example, config in WB, a health config, so everything that you usually put in the PHP file, you can use it there. So if you want it or not, you can specify that. So as I said, block base, it comes also with two features that I think are interesting. There are several fonts. It's a special way to include the fonts with the theme JSON. And there are at least four different styles. And you can choose whatever you want. So as stated here, of course, create blockchain is not something that you will use in a production environment, but you can use it if you are just playing around. So the last thing is probably you should have some test data. Also because there's something particular. Every time you do a start, the database port will change. That means that you should not rely on the database to have some specific content. It's better if you use dummy content. But usually, well, I work with some government agency. So in my case, it's very useful not to do that because there are some privacy problems. If you do that as a default, you will not incurring problems or whatever. So there is thin test data or fake press. That's your choice. It's just to have something to work with. We should have a look at what exactly, when you started all this, you had to install Docker. It's very painful if you're using Windows, particularly. But after that, you forget about this and start using one line. Sorry, is there any second? Oh, okay. I don't want this. Cool boom, too. Can you see? That's good. So let's see what it does. Okay. I've already started before this. So it's just checking if I change anything on the WPJ file. And it starts everything. And this is what you will see when you... Okay. So as you can see, this is the port that I just started to use. It's not something that you have to do, but it can be useful. And as you can see, there is the 2024 team, the default. So if I want to see how it works, another team, sorry, in this case, block base. Okay. So block base is very, very, very basic. Okay. So it's a black canvas, essentially. Okay. It's very useful because you can do anything with this, not just what they want you to do like the 2024. So one thing that I find very useful about this team is the team fonts that are a lot of it. Okay. In this case, this is the plugin that I was talking before. And it shows you all the fonts and you can remove them. These fonts are in a folder, so in a local folder. So you don't have to, I don't know, get it from Google or download or whatever. You have already or everything here. And if you go to a page, for example, you can see that you have all your phones here somewhere. Why is it? These are the mentions. Please help me from time and age. Yes. Sorry. Yes. It wasn't so difficult before. Yes. And that's it. Okay. You can do that globally. You can do that locally, whatever. Okay. I'm going to try and be a little more fast because I wanted to show you this. Wait. Okay. This is a create blockchain. So you can export that team. You can create a child. You can clone the team you're using. You can override it. You can create a blind team or a style variation. Okay. What is a style variation? Okay. If we go on the site and try to edit it, it also comes with, if I can find it, different styles. Okay. These are, again, a JSON file. So it's quite easy. If you want to create a set of colors, for example, you can just do that. It's really, really, really easy. So I wanted to show you also the team that I prepared for you. But, and what does it does? But I don't have to time to go through the code. But essentially, this is the result. Yeah. The first one is a core paragraph. If you can see, it's in a different category. Okay. They are called work. Can can be useful. You can group together all the all the blocks that the client use. Usually, for example, the punchline header and the SWF player are variation block variation. Essentially, you declare. You declare. Can you see it? More or less. You say, okay, I want to make a different, slightly different block. That is from the file. Okay. So you declare a core file. And then you say, I want it in the work category. I want to totally SWF player. I give it a name. I give it an icon. I say, in this case, that is the fault. So by default, there will be this variation, not what usually WordPress show you. And well, there is every core blocks has these attributes. Of course, there is the guide in the WordPress documentation. It's very, well, it's updated often. So you can find all the attributes here. The file is one of the most easy and short. So for example, you can display or not the preview or show the download button. I can show you how it works. In this case, sorry. Okay. This is a very old flash. I am using a JavaScript that emulates the player. I was very happy when I found it. So I wanted to show you too. Sorry. But if you want to, if you have any questions, I need to stop here. Merry Christmas.