diff --git a/docs/building-extensions/components/table-columns.md b/docs/building-extensions/components/table-columns.md new file mode 100644 index 00000000..1cbacc27 --- /dev/null +++ b/docs/building-extensions/components/table-columns.md @@ -0,0 +1,39 @@ +# User-defined Hide Table Columns +All the core components have a button that lets the user decide which columns of a table to display. + +## Adding Hide Table Columns to your component +Adding this functionality to your own component is very simple and is usually a simple case of adding the code below to the `tmpl` file for the table. + +### Check if you are you using WebAssetManager +Look for this line of code in the php block at the top of your `tmpl` file. +``` +$wa = $this->document->getWebAssetManager(); +``` + +### Already using WebAssetManager +Add the following line to your existing code. + +``` +useScript('table.columns') +``` + +Note the line ending. Your final code will look similar to this example + +``` +/** @var \Joomla\CMS\WebAsset\WebAssetManager $wa */ +$wa = $this->document->getWebAssetManager(); +$wa->useScript('table.columns') + ->useScript('multiselect'); +``` + +### Not using WebAssetManager (yet) +Add the following code anywhere in the php block at the top of your `tmpl` file. + +``` +/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ +$wa = $this->document->getWebAssetManager(); +$wa->useScript('table.columns'); +``` + +### Note +Your table will need to be a valid html table with a `` and each column a ``. diff --git a/docs/changelog/index.md b/docs/changelog/index.md new file mode 100644 index 00000000..5820e56a --- /dev/null +++ b/docs/changelog/index.md @@ -0,0 +1,9 @@ +--- +sidebar_position: 1000 +--- + +Changes to the CMS and the API +============================== + +The deprecations and code changes are version independent and can be found in the +[migration](/migrations) sections in this documentation. diff --git a/docs/code-migration/310-40/index.md b/docs/code-migration/310-40/index.md deleted file mode 100644 index 48f5af04..00000000 --- a/docs/code-migration/310-40/index.md +++ /dev/null @@ -1,9 +0,0 @@ -3.10 to 4.0 -=============== -An explanation of the code changes for each version of Joomla. -If you follow from the version of your current code until the version you want to support you should come across all the changes you need to make. -:::caution TODO - -This page is unfinished, please use the **Edit this Page** link at the bottom of this page to help make it more useful. - -::: diff --git a/docs/code-migration/42-43/index.md b/docs/code-migration/42-43/index.md deleted file mode 100644 index 5f404b1e..00000000 --- a/docs/code-migration/42-43/index.md +++ /dev/null @@ -1,9 +0,0 @@ -4.2 to 4.3 -=============== -An explanation of the code changes for each version of Joomla. -If you follow from the version of your current code until the version you want to support you should come across all the changes you need to make. -:::caution TODO - -This page is unfinished, please use the **Edit this Page** link at the bottom of this page to help make it more useful. - -::: diff --git a/docs/code-migration/43-44/new-deprecations.md b/docs/code-migration/43-44/new-deprecations.md deleted file mode 100644 index 3fff1a43..00000000 --- a/docs/code-migration/43-44/new-deprecations.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -sidebar_position: 2 ---- - -New deprecations -=============== -All the new deprecations that should be aware of and what you should now be using instead. -:::caution TODO - -This page is unfinished, please use the **Edit this Page** link at the bottom of this page to help make it more useful. - -::: diff --git a/docs/code-migration/44-50/new-deprecations.md b/docs/code-migration/44-50/new-deprecations.md deleted file mode 100644 index 3fff1a43..00000000 --- a/docs/code-migration/44-50/new-deprecations.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -sidebar_position: 2 ---- - -New deprecations -=============== -All the new deprecations that should be aware of and what you should now be using instead. -:::caution TODO - -This page is unfinished, please use the **Edit this Page** link at the bottom of this page to help make it more useful. - -::: diff --git a/docs/code-migration/44-50/removed-backward-incompatibility.md b/docs/code-migration/44-50/removed-backward-incompatibility.md deleted file mode 100644 index 6df5212e..00000000 --- a/docs/code-migration/44-50/removed-backward-incompatibility.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -sidebar_position: 3 ---- - -Removed and backward incompatibility -=============== -All the deprecated features than have now been removed and any backward incompatibilities. -There should be an explanation of how to mitigate the removals / changes. -:::caution TODO - -This page is unfinished, please use the **Edit this Page** link at the bottom of this page to help make it more useful. - -::: diff --git a/docs/code-migration/index.md b/docs/code-migration/index.md deleted file mode 100644 index b917c394..00000000 --- a/docs/code-migration/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -sidebar_position: 7 ---- - -Code migration -=============== - -An explanation of the code changes for each version of Joomla. -If you follow from the version of your current code until the version you want to support you should come across all the changes you need to make. -:::caution TODO - -This page is unfinished, please use the **Edit this Page** link at the bottom of this page to help make it more useful. - -::: diff --git a/docs/get-started/git.md b/docs/get-started/git.md deleted file mode 100644 index 39054ff9..00000000 --- a/docs/get-started/git.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -sidebar_position: 2 ---- -GIT -======================= -This is the content for GIT -:::caution TODO - -This page is unfinished, please use the **Edit this Page** link at the bottom of this page to help make it more useful. - -::: diff --git a/docs/get-started/git/git-basics.md b/docs/get-started/git/git-basics.md new file mode 100644 index 00000000..2e5e22a5 --- /dev/null +++ b/docs/get-started/git/git-basics.md @@ -0,0 +1,95 @@ +--- +sidebar_position: 1 +title: "Git Basics" +--- + +## Selected Git Features + +This brief introduction to Git uses the command line to illustrate some of its features. If you want to try it out, download and install Git on your laptop or workstation: [git-scm.com](https://git-scm.com/). + +### Repositories + +A repository is a place where all of the changes in a project are stored. In the simplest case this is a folder named .git in the same folder as the project source files. To get started, create an empty folder, make it the current directory with `cd` and then try this command: + +``` +git init . +``` + +which should result in confirmation that an empty Git repository has been created in a hidden folder named .git (folders starting with a period(.) are usually left out of listings so you don't see them, hence hidden). + +You may also use a remote repository on another computer, which is where GitHub comes in. That will be covered in separate articles. + +Create some content with a text editor and save it in the source folder, the one containing the .git repo (the word repo is often used as a short form of repository). In this article this markdown document, aptly named git.md, is used as an example document. Confirm what you have with a list command: + +``` +ls -al +total 8 +drwxr-xr-x 4 ceford staff 128 26 Aug 07:02 . +drwxr-xr-x+ 99 ceford staff 3168 26 Aug 06:31 .. +drwxr-xr-x 9 ceford staff 288 26 Aug 07:02 .git +-rw-r--r-- 1 ceford staff 1689 26 Aug 07:10 git.md +``` + +You can look at the contents of the .git folder if you wish but as a rule you should not make any changes there yourself. Let the git commands do the work. You can delete the .git folder if you wish without affecting the source text but you will lose any history of changes. + +### Staging + +The next step is to issue a command to add a source file to the index of files that git keeps track of: + +``` +git add git.md +``` + +There is no response to that command - git just does it. + +### Commit + +The commit command tells git to record all changes made to the source files so far: + +``` +git commit -m "Text entered as far as Commit" +``` + +To which the response is: + +``` +[master (root-commit) 913815c] Text entered as far as Commit + 1 file changed, 45 insertions(+) + create mode 100644 git.md +``` + +That strange number, 913815c, is the commit **id** that allows git to keep track of that particular point in history. The text in quotes is the commit message - it should be a short informative description of the changes made in that commit. + +### Branch + +Suppose you want to try a new feature but you are not sure whether you will use it. Or, you are working on a collaborative project and you want to change something contributed by others. This is where branching comes in. You make a branch of your repo, checkout the branch, make your changes and then decide what to do. Try this: + +``` +git branch --list +* master +``` + +The list command indicates that this repo has only one branch, named master. Try these commands: + +``` +git branch myfix +git checkout myfix +git branch --list + master +* myfix +``` +The list shows that there are now two branches and the * indicates that the myfix branch is checked out as the current branch. I can now go ahead and make changes to the myfix branch without affecting the existing content of the master branch. If I decide to use the changes I need to commit them and then either merge the myfix branch into my master branch or ask my collaborator to merge my myfix branch into his master branch. + +When the branch is finished with, by being merged or abandoned, it can be deleted. + +## Full Documentation + +Git has many more commands and options. Mostly you don't need to know them because your IDE handles them for you with Menu items. If you want to look up what a menu item does try this source: + +[Git Documentation](https://git-scm.com/doc) + +If you have been experimenting, remember you can delete the repo (.git) and you will be left with your source files as you see them in your editor. + +## Using an IDE + +One final point: your chosen IDE will not put any IDE specific content in your git repo. It follows that you can change your IDE and expect it to work equally well with your existing repo. diff --git a/docs/get-started/git/git-manual-pull-checks-passed.png b/docs/get-started/git/git-manual-pull-checks-passed.png new file mode 100644 index 00000000..364c52a0 Binary files /dev/null and b/docs/get-started/git/git-manual-pull-checks-passed.png differ diff --git a/docs/get-started/git/git-manual-vsc-sc.png b/docs/get-started/git/git-manual-vsc-sc.png new file mode 100644 index 00000000..27cb5326 Binary files /dev/null and b/docs/get-started/git/git-manual-vsc-sc.png differ diff --git a/docs/get-started/git/git.md b/docs/get-started/git/git.md new file mode 100644 index 00000000..ffc3d440 --- /dev/null +++ b/docs/get-started/git/git.md @@ -0,0 +1,23 @@ +--- +sidebar_position: 2 +--- +Git +======================= + +From Wikipedia: [Git](https://en.wikipedia.org/wiki/Git) is free and open source software for distributed version control: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows (thousands of parallel branches running on different systems). + +Git is available for all modern platforms. It is mostly associated with managing code such as PHP, Java or Python but it can be used to manage any line-based text such as this documentation written in Markdown format. Git can be used from the command line although most users rely on an Integrated Development Environment (IDE) to compose and run git commands. + +To learn more, start with the Git Basics page and then move on to the cited Github based examples. + +## References + +The following articles are from docs.joomla.org: + +- [Git Branching Quickstart](https://docs.joomla.org/Git_branching_quickstart) +- [Working with git and github](https://docs.joomla.org/Working_with_git_and_github) +- [Git for Testers and Trackers](https://docs.joomla.org/Git_for_Testers_and_Trackers) +- [Setting up Eclipse PDT 2020 and Git for Pulls](https://docs.joomla.org/Setting_up_Eclipse_PDT_2020_and_Git_for_Pulls) +- [My first pull request to Joomla! on Github](https://docs.joomla.org/My_first_pull_request_to_Joomla!_on_Github) + +These references may be deleted when the new documentation is considered *mature*. diff --git a/docs/get-started/git/github-joomla-cms.md b/docs/get-started/git/github-joomla-cms.md new file mode 100644 index 00000000..878bdbbe --- /dev/null +++ b/docs/get-started/git/github-joomla-cms.md @@ -0,0 +1,166 @@ +--- +sidebar_position: 4 +title: "GitHub Example 2: Joomla! CMS" +--- + +:::caution TODO + +This page is unfinished, but Cliff is working on it! + +::: + +## Getting Started + +If you would like to contribute to Joomla! core code you will need a [GitHub](https://github.com/) account. It is free and takes moments to set up. You will also need a working [LMWX]AMP stack on your local laptop or workstation. You will almost certainly need an IDE too! + +## Fork joomla/joomla-cms on GitHub + +Log in to your GitHub account and type joomla/joomla-cms in the `Search or Jump to...` box at the top left. You need to be in the original joomla-cms repo. + +Click the `Fork` button at the top right of the screen. This will bring up a form asking you to confirm details of the fork you want to make. It is usually sufficient to select the green `Create fork` button. + +That will make a complete copy of the joomla-cms repo as it exists at this time in your own account. If someone updates the original later you can use the `Sync fork` button to bring your repo up to date. + +## Clone your Github fork locally + +The local Apache web server uses a specific folder for individual web sites. For example, on a Mac it may be /Users/username/Sites. You may have many sites for testing and developing different projects, each in a separate subfolder. The clone process will create a folder within your current folder so first open a terminal window and switch to your sites folder: + +``` +cd ~/Sites +``` + +Then type in the clone command: + +``` +git clone https://github.com/yourusername/joomla-cms.git +``` + +This may take a long time! Switch to the joomla-cms folder and list what is in it: + +``` +cd joomla-cms +ls -al +total 2192 +drwxr-xr-x 44 ceford staff 1408 26 Aug 17:28 . +drwxr-xr-x 107 ceford staff 3424 26 Aug 17:26 .. +-rw-r--r-- 1 ceford staff 2174 26 Aug 17:28 .appveyor.yml +-rw-r--r-- 1 ceford staff 13689 26 Aug 17:28 .drone.yml +-rw-r--r-- 1 ceford staff 388 26 Aug 17:28 .editorconfig +drwxr-xr-x 12 ceford staff 384 26 Aug 17:28 .git +drwxr-xr-x 11 ceford staff 352 26 Aug 17:28 .github +-rw-r--r-- 1 ceford staff 1765 26 Aug 17:28 .gitignore +-rw-r--r-- 1 ceford staff 4076 26 Aug 17:28 .php-cs-fixer.dist.php +-rw-r--r-- 1 ceford staff 6748 26 Aug 17:28 CODE_OF_CONDUCT.md +-rw-r--r-- 1 ceford staff 18092 26 Aug 17:28 LICENSE.txt +-rw-r--r-- 1 ceford staff 4469 26 Aug 17:28 README.md +-rw-r--r-- 1 ceford staff 4942 26 Aug 17:28 README.txt +drwxr-xr-x 12 ceford staff 384 26 Aug 17:28 administrator +drwxr-xr-x 6 ceford staff 192 26 Aug 17:28 api +drwxr-xr-x 20 ceford staff 640 26 Aug 17:28 build +-rw-r--r-- 1 ceford staff 6422 26 Aug 17:28 build.xml +drwxr-xr-x 3 ceford staff 96 26 Aug 17:28 cache +drwxr-xr-x 4 ceford staff 128 26 Aug 17:28 cli +-rw-r--r-- 1 ceford staff 461 26 Aug 17:28 codeception.yml +drwxr-xr-x 19 ceford staff 608 26 Aug 17:28 components +-rw-r--r-- 1 ceford staff 3867 26 Aug 17:28 composer.json +-rw-r--r-- 1 ceford staff 419222 26 Aug 17:28 composer.lock +-rw-r--r-- 1 ceford staff 6858 26 Aug 17:28 htaccess.txt +drwxr-xr-x 8 ceford staff 256 26 Aug 17:28 images +drwxr-xr-x 6 ceford staff 192 26 Aug 17:28 includes +-rw-r--r-- 1 ceford staff 1068 26 Aug 17:28 index.php +drwxr-xr-x 16 ceford staff 512 26 Aug 17:28 installation +drwxr-xr-x 5 ceford staff 160 26 Aug 17:28 language +drwxr-xr-x 7 ceford staff 224 26 Aug 17:28 layouts +drwxr-xr-x 16 ceford staff 512 26 Aug 17:28 libraries +drwxr-xr-x 27 ceford staff 864 26 Aug 17:28 modules +-rw-r--r-- 1 ceford staff 538644 26 Aug 17:28 package-lock.json +-rw-r--r-- 1 ceford staff 3983 26 Aug 17:28 package.json +-rw-r--r-- 1 ceford staff 639 26 Aug 17:28 phpunit-pgsql.xml.dist +-rw-r--r-- 1 ceford staff 642 26 Aug 17:28 phpunit.xml.dist +drwxr-xr-x 26 ceford staff 832 26 Aug 17:28 plugins +-rw-r--r-- 1 ceford staff 422 26 Aug 17:28 renovate.json +-rw-r--r-- 1 ceford staff 764 26 Aug 17:28 robots.txt.dist +-rw-r--r-- 1 ceford staff 26187 26 Aug 17:28 ruleset.xml +drwxr-xr-x 5 ceford staff 160 26 Aug 17:28 templates +drwxr-xr-x 8 ceford staff 256 26 Aug 17:28 tests +drwxr-xr-x 3 ceford staff 96 26 Aug 17:28 tmp +-rw-r--r-- 1 ceford staff 2974 26 Aug 17:28 web.config.txt +``` + +## Build a working Joomla site + +The downloaded development branch needs some extra steps to create a working Joomla site. This from the README.md file: + +``` +composer install +npm ci +``` + +Again, it will take a while and you will see flash past the commands to compile the javascript and css files. When done you can point your browser at localhost/joomla-cms and go through the normal install process. + +The site should now work as any normal Joomla site. + +## Making changes + +If you would like to contribute to the Joomla CMS you need to progress through the following stages: + +- **Create and Checkout a branch** in your local repo. This is very important! It will contain a record of the changes you propose to make to the original. +- **Make and Test Changes** and don't forget to check that your code conforms to the Joomla coding standards. +- **Commit and Push** your changes to your remote GitHub repo. +- **Make a Pull request** in your remote repo to ask for your branch to be merged into the main branch. + +### Create and Checkout a branch + +In the terminal window, make sure you are in the root of your site, then: + +* git branch mypatch1 +* git checkout mypatch1 + +where mypatch1 should be some short distinctive piece of text that allows you and others to distinguish between various branches. For example, it could start with your initials and finish with a succinct description of its main purpose, for example `cffixabc`. + +### Make Coding Changes + +This can be as trivial as correcting a language string or as complex as a major new feature. Or you might like to tackle a problem reported in the Issue Tracker. You can always ask for advice or comment there before plunging in to coding. + +## Local Testing + +It is essential that you test your proposed changes locally before making a pull request. You will have been checking your local joomla site to see that your code appears to work properly. However, if your code involves changes to javascript or css files you will need to recompile your sources. So go back to your terminal window and enter: + +``` +npm ci +``` +If you site works without error you are ready to make a pull request. + +### Commit and Push + +Easy with an IDE. In VSCode: +- select the `+` button in the Changes list to commit the changes to the local repository. +- Select the Source Control `...` button followed by Pull, Push / Push To... / and then select your own remote repo to push the changes from your local repo to your remote repo. + +### Make a pull request + +Login to your account on GitHub and select your own joomla-cms repo. In the `Code` section select the branch you wish to commit from the `Switch branches` drop-down list (marked with the branch icon). Click the `Contribute` button and then the `Open Pull Request` button. + +After making a pull request some automatic checks are carried out. All being well after a few minutes you will see this result: + +ToDo + +### Remote Testing + +Your pull request will go into a testing phase where the Joomla developers can examine your code and test it to see if it works and whether it stops anything else from working. Even if it works, others may regard the proposed change or method of implementation as inappropriate and decline to merge your pull request into the main code. Do not take umbrage! It happens all the time, even to the experts. Just move on to something else. + +## Github workflow + +In git you may have multiple remote repositories. You defined one remote repository when you cloned your own remote repo. You may also add the original repo to your list of remote repos. Example: + +``` +git remote -v show +Manual https://github.com/ceford/Manual (fetch) +Manual https://github.com/ceford/Manual (push) +origin https://github.com/joomla/Manual.git (fetch) +origin https://github.com/joomla/Manual.git (push) +``` + +This allows you keep your own fork and clone up to date from your local computer. You just need to pull and merge the original source into your local clone and then push your local clone to your remote fork. The following diagram illustrates the process: + +Github work flow joomla.png diff --git a/docs/get-started/git/github-manual.md b/docs/get-started/git/github-manual.md new file mode 100644 index 00000000..4e7cbe7b --- /dev/null +++ b/docs/get-started/git/github-manual.md @@ -0,0 +1,188 @@ +--- +sidebar_position: 3 +title: "GitHub Example 1: This Manual" +--- + +## Getting Started + +GitHub is a web site that offers repository hosting. Private repos are charged a commercial fee but public repos, such as Joomla, are hosted free of charge. As the name implies, GitHub is based on using Git for repo management. If you want to contribute to Joomla development you need a GitHub account. It only takes a few moments to create one so Give it a try: [GitHub](https://github.com/). You just need your email address to start. You could try it out by contributing content for this documentation. + +## Fork joomla/Manual on GitHub + +Log in to your GitHub account and type joomla/Manual in the `Search or Jump to...` box at the top left. You need to be in the original Manual repo. + +Click the `Fork` button at the top right of the screen. This will bring up a form asking you to confirm details of the fork you want to make. It is usually sufficient to select the green `Create fork` button. + +That will make a complete copy of the Manual repo as it exists at this time in your own account. If someone updates the original later you can use the `Sync fork` button to bring your repo up to date. + +## Clone your Github fork locally + +For local testing of any web site content you will need to install Apache, MySQL, PHP and phpMyAdmin on your laptop or desktop computer. This collection of separate software items is often referred to as a stack. You may see the words LAMP, MAMP, WAMP or XAMP - the first character indicating Linux, Mac, Windows, or All three. Stack installation is covered elsewhere. + +Your local Apache web server uses a specific folder for individual web sites. For example, on a Mac it may be /Users/username/Sites. You may have many sites for testing and developing different projects, each in a separate subfolder. The clone process will create a folder within your current folder so first open a terminal window and switch to your sites folder: + +``` +cd ~/Sites +``` + +Then type in the clone command: + +``` +git clone https://github.com/yourusername/Manual.git + +Cloning into 'Manual'... +remote: Enumerating objects: 833, done. +remote: Counting objects: 100% (65/65), done. +remote: Compressing objects: 100% (39/39), done. +remote: Total 833 (delta 27), reused 55 (delta 24), pack-reused 768 +Receiving objects: 100% (833/833), 1.18 MiB | 3.04 MiB/s, done. +Resolving deltas: 100% (436/436), done. +``` + +Switch to the Manual folder and list what is in it: + +``` +cd Manual +ls -al +total 1824 +drwxr-xr-x 18 ceford staff 576 26 Aug 12:36 . +drwxr-xr-x 107 ceford staff 3424 26 Aug 12:33 .. +-rw-r--r-- 1 ceford staff 1463 26 Aug 12:36 .drone.yml +drwxr-xr-x 12 ceford staff 384 26 Aug 12:36 .git +-rw-r--r-- 1 ceford staff 390 26 Aug 12:36 .gitignore +-rw-r--r-- 1 ceford staff 1445 26 Aug 12:36 README.md +-rw-r--r-- 1 ceford staff 89 26 Aug 12:36 babel.config.js +drwxr-xr-x 12 ceford staff 384 26 Aug 12:36 docs +-rw-r--r-- 1 ceford staff 5062 26 Aug 12:36 docusaurus.config.js +-rw-r--r-- 1 ceford staff 883852 26 Aug 12:36 package-lock.json +-rw-r--r-- 1 ceford staff 1104 26 Aug 12:36 package.json +-rw-r--r-- 1 ceford staff 357 26 Aug 12:36 renovate.json +-rw-r--r-- 1 ceford staff 725 26 Aug 12:36 sidebars.js +drwxr-xr-x 4 ceford staff 128 26 Aug 12:36 src +drwxr-xr-x 3 ceford staff 96 26 Aug 12:36 static +-rw-r--r-- 1 ceford staff 458 26 Aug 12:36 test.sh +-rw-r--r-- 1 ceford staff 4 26 Aug 12:36 versions.json +-rw-r--r-- 1 ceford staff 59 26 Aug 12:36 versionsArchived.json +``` + +That is your copy of the Joomla Programmers Manual. It is a Docusaurus application that needs Node.js installed to run. That is covered elsewhere. To get going you should read the README.md file, where you will find the following commands: + +``` +npm install + +npm run start +``` + +And bingo, your browser will spring to life with your local copy of the Joomla! Programmers Documentation. + +If you go back to your terminal, open a new window and type `git branch --list` you will see there is only one branch named 'main'. This is something to keep in mind. A local repo created with git will have `master` as the name of the primary branch whereas a repo created on GitHub may have a different primary branch name. + +## Bringing up to date + +There are several different ways to keep your repo up to date with the original repo. This is just one: + +* In your own GitHub repo, select the `Sync fork` button and then the `Update branch` button. The latter will only be active if the branch is not up to date. +* In your local terminal window type **git pull** and wait for a message (Already up to date). + +## Making changes + +If you would like to contribute to the Joomla Programmers Manual you need to progress through the following stages: + +- **Create and Checkout a branch** in your local repo. This is very important! It will contain a record of the changes you propose to make to the original. +- **Make Changes** by adding or changing folders or files, and adding images. +- **Commit** your changes to your local repo. +- **Push** your changes from your local repo to your remote GitHub repo. +- **Make a Pull request** in your remote repo to ask for your branch to be **merged** into the main branch. + +### Create and Checkout a branch + +In the terminal window, make sure you are in the root of your site, then: + +* git branch ceffixgit +* git checkout ceffixgit + +where ceffixgit is some short distinctive piece of text that allows you and others to distinguish between various branches. For example, it could start with your initials and finish with a succinct description of its main purpose: `ceffixgit`. + +You may wish to list the branches in your repo: + +``` +git branch --list +* ceffixgit + main +``` +That is a reminder that the main branch is named `main` rather than `master`. + +## Time for an IDE? + +During preparation of this article I created a folder, moved an article into that folder and created two new articles. Remembering all of this and updating the repo from the command line is an error prone chore. So I started Visual Studio Code and used File / Open Folder to open my local ~/Sites/Manual folder. The Source Control icon at the left shows me where I have made changes and the state of those changes. + +![VSCode Source Control](git-manual-vsc-sc.png) + +The moved document shows up marked with a red `D` for Deleted. The added documents show up with a green `U` for Unstaged. In each case I can click the adjacent `+` sign to stage the file to make it ready to commit. As each `+` is clicked it moves from a `Changes ` list into a `Staged Changes` list. + +## Local Testing + +It is essential that you test your proposed changes locally before making a pull request. You will have been checking your local docusaurus site to see that it appears to work properly. However, you also need to check the build stage. This is when static html pages are generated and it can reveal all sorts of additional problems such as broken links or invalid source content. So go back to your terminal window and enter: + +``` +$ npm run build +``` +If it works without error you are ready to make a pull request. + +### Commit and Push + +Easy with an IDE. In VSCode: +- Select the Source Control icon at the left. +- Add a Commit message: a very brief statement of what changed in this commit. +- Either select the `+` button in the Changes list to stage the changes. +- Or select the `Commit` button to commit the changes to the local repository. +- Select the Source Control `...` button followed by Pull, Push / Push To... / and then select your own remote repo to push the changes from your local repo to your remote repo. + +### Make a Pull Request + +Login to your account on GitHub and select your own Manual repo. In the `Code` section select the branch you wish to commit from the `Switch branches` drop-down list (marked with the branch icon). Click the `Contribute` button and then the `Open Pull Request` button. + +After making a pull request some automatic checks are carried out. All being well after a few minutes you will see this result: + +![Pull test result](git-manual-pull-checks-passed.png) + +You can then test the pull request on the live site with the following url: + +``` +http://pr-[prnumber].manual.joomlacode.org +``` + +Where the `[prnumber]` can be obtained from the Pull Requests list (just a number - no brackets). + +### After commit + +If all seems in order, the team who maintain the documentation repo will **commit** your changes to become incorporated into the `main` branch of the original repo. At that point you can delete your branch. From the command line first switch to your local main branch: + +``` +git checkout main +``` + +If you have the folder you are working on open in an IDE you will notice that all of the changes you made will seem to have disappeared. That is because git has replaced the source code stored in the previous branch with the source code stored in the main branch. + +You can delete the branch that has been committed now or you can leave it until later. Don't make any more changes to it! + +``` +git branch --delete ceffixgit +``` + +## Keeping up to date + +Tomorrow, next week, next month, you may want to contribute some more documentation. But in the meantime the original `main` branch of the documentation may have changed with contributions from others. Those contributions may even have changed your last contribution. So before starting anything new you need to bring your local copy of the original repo up to date. + +First go to your GitHub account and open your fork of this Manual: username/Manual. Then click the `Sync fork` button. That should bring your fork up to date. + +Then in your terminal window, change to the folder containing your local clone of your remote fork and issue the git pull command: + + ``` + cd ~/Sites/Manual + git pull + ``` + + That is exactly the same as **Bringing up to date** above. + + You are now ready for your next contribution, for which you need a new branch. diff --git a/docs/using-core-functions/Dashboard.md b/docs/using-core-functions/Dashboard.md new file mode 100644 index 00000000..272a7295 --- /dev/null +++ b/docs/using-core-functions/Dashboard.md @@ -0,0 +1,145 @@ +It is common usage to insert a link into the component menu for direct access to your own component. +This is done in the manifest file: + +```xml title="Menu item Component in example.xml " + + COM_EXAMPLE + + [.. ] + +``` +Add a dashboard to your component: +================================== + +A parameter < dashboard > expands the menu entry with link to a dashboard for your component. You can give this dashboard any name you want, but Note: use lowercase and only "-", never underscore for the dashboard name. +my-example or example are correct, my_example, Com-MY_EXAMPLE are wrong. + +The param < dashboard > +- will make a dashboard icon appear next to the administrator menu item for the component +- The dashboard icon will click through to display modules assigned to the cpanel-example administrator module position +- The title and icon defined in the XML file will be used as the header and icon at the top of the component's dashboard page. + +```xml title="Dashboard Link " + + + COM_EXAMPLE + + example + + + + [..] + +``` +Joomla provides now a dashboard for your component. You can add modules here using the position: cpanel-example . + +## Dashboard title and icon + +Give your dashboard a name and an icon. Add this to your manifest file: + +```xml title="Dashboard title and icon" + + COM_EXAMPLE_DASHBOARD_NAME + +``` + +## Submenu +If you want to address different views of your component, expand the menuy by a submenu. + +```xml title="Submenu items" + + COM_EXAMPLE + + example + + + + COM_EXAMPLE_EXAMPLES + COM_EXAMPLE_CATEGORIES + COM_EXAMPLE_FIELDS + >COM_EXAMPLE_FIELDGROUPS + +``` + +# Submenu Module on your Dashboard + +Your dashboard is empty and waits for modules to be filled in. If you want to add your submenu, you have to +- add a folder presets to your component +- write a preset for your module +- add the presets folder to your .xml file +- expand your install script + +Presets are already used in the core, see examples the component com_menu. + +## The menu preset + +In a folder 'presets' write a preset file, name it example.php. + +```xml title="presets/example.xml" + + + + + + + + +``` + + +## Manifest file + +```xml title="New folder in example.xml" + + + [..] + + + forms + language + presets + services + sql + src + tmpl + access.xml + config.xml + eaxmple.xml + + +``` + +## install script + +We suppose here that you have a install script in your component. If not, please read the doc for install scripts. + +You add your preset in the dashboard of your component with a single line of code during installation: + +```xml title="installation script" + // Add menu module to dashboard + $this->addDashboardMenu('example', 'example'); +``` + +See also: https://api.joomla.org/cms-4/classes/Joomla-CMS-Installer-InstallerScript.html#method_addDashboardMenu + diff --git a/docs/using-core-functions/Quicktasklink.md b/docs/using-core-functions/Quicktasklink.md new file mode 100644 index 00000000..1ab1d6e4 --- /dev/null +++ b/docs/using-core-functions/Quicktasklink.md @@ -0,0 +1,64 @@ +Quicktask Link and Icon +======================= + +In general, a component has has one or more links to its views.They are defined in the manifest file and is added int othe menu during installation. + +```xml title="A link to your component " + + + COM_EXAMPLE + + + [..] + +``` +Sometimes it is useful to add so called quicktask link which enables an action calling fromthe menuy without first visiting the Overview. +You can see this for Joomla core components, for example articles in com_content, here the quicktask is the plus icon and lets you add a new article in a single click. +Your menu link is added in the manfest file during installation. + +## Qicktask link + +A quicktask link and icon are added as params to a menu item. + +```xml title="Qicktask Link and icon" + + COM_EXAMPLE_MENU_EXAMPLE + + >COM_EXAMPLE_QUICKTASK_TITLE + index.php?option=com_example&view=example&layout=edit + + + +``` + +## Example + +This example shows a complete menu with dashboard, submenu and a quicktask. + +```xml + + COM_EXAMPLE + + wickedevent + + + + + COM_EXAMPLE + + >COM_EXAMPLE_EXAMPLES + index.php?option=com_example&view=example&layout=edit + + + + JCATEGORY + + JCATEGORY + index.php?option=com_categories&view=category&layout=edit&extension=com_example + + + Felder + Feldgruppen + + +``` \ No newline at end of file diff --git a/docusaurus.config.js b/docusaurus.config.js index 5b38809f..c124ad37 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -78,6 +78,12 @@ const config = { label: 'Using the CMS', position: 'left', }, + { + to: '/migrations', + label: 'Migrations', + position: 'right', + activeBaseRegex: `/migrations/`, + }, { type: 'docsVersionDropdown', position: 'right', @@ -187,6 +193,27 @@ const config = { language: "en", }, ], + [ + 'content-docs', + /** @type {import('@docusaurus/plugin-content-docs').Options} */ + ({ + id: 'migrations', + path: 'migrations', + routeBasePath: 'migrations', + editUrl: ({locale, versionDocsDirPath, docPath}) => { + /* if we need to support more languages this is an example + if (locale !== 'en') { + return `https://crowdin.com/project/docusaurus-v2/${locale}`; + } + */ + return `https://github.com/joomla/manual/edit/main/${versionDocsDirPath}/${docPath}`; + }, + editCurrentVersion: true, + sidebarPath: require.resolve('./sidebarsMigrations.js'), + showLastUpdateAuthor: true, + showLastUpdateTime: true, + }), + ], ], }; diff --git a/migrations/310-40/index.md b/migrations/310-40/index.md new file mode 100644 index 00000000..2a933f40 --- /dev/null +++ b/migrations/310-40/index.md @@ -0,0 +1,62 @@ +--- +sidebar_position: 1000 +--- + +3.10 to 4.0 +=========== +An explanation of the code changes for each version of Joomla. +If you follow from the version of your current code until the version you +want to support you should come across all the changes you need to make. + +Updated System Requirements +--------------------------- + +Beside changed to the code base itself we also increased the minium +system requirements. + +The system requirements have been updated as follows: + +* PHP 7.2.5 +* MySQL 5.6 +* PostgreSQL 11.0 +* **SQL Server support has been dropped.** + +### PHP MySQL Extension + +* Joomla **no longer supports** using PHP's **ext/MySQL** driver (which was removed in PHP 7.0). + Joomla will automatically try to use the MySQLi extension (available since PHP 5.3) or + the MySQL PDO Driver (available since PHP 5.3). Otherwise it will fail to create a + database connection. + +* Strict mode has been enabled. The following flags are now active by default in Joomla 4 + and you may have to update your database queries accordingly. This will help us with + future MySQL version upgrades and also aligns more closely with Postgres to enable + easier compatibility with queries in both languages. + * STRICT_TRANS_TABLES + * ERROR_FOR_DIVISION_BY_ZERO + * NO_AUTO_CREATE_USER + * NO_ENGINE_SUBSTITUTION + +* As a consequence, Joomla 4 will only use `NULL` date defaults. The use of the invalid + default date of **0000-00-00 00:00:00** in Joomla 4 has been deprecated. + +### PHP Postgres Extension + +Joomla **no longer supports** using PHP's **ext/pgsql** driver. Joomla will automatically try to +use the PostgreSQL PDO Driver (available since PHP 5.3 and Joomla 3.9). Otherwise it will +fail to create a database connection with a Postgres Database. + +### PHP GMP Extension + +This **is required** for using the **WebAuthn Passwordless Login** feature. Note the PHP GMP +extension is installed by default on the majority of hosting sites. The WebAuthn Passwordless +Login System Plugin is **enabled by default** in Joomla 4 on **HTTPS** sites. + +### PHP mcrypt Extension + +Since the mcyprt extensions has been **removed** from PHP in Version 7.2.0 you need the +[mycrypt PECL Package](https://pecl.php.net/package/mcrypt) for using the +`Joomla\CMS\Crypt\Cipher\CryptoCipher` class and its alias `JCryptCipherCrypto`. + +The support for mcrypt will be **removed** with Joomla! 5.0 or 6.0. + diff --git a/migrations/310-40/new-deprecations.md b/migrations/310-40/new-deprecations.md new file mode 100644 index 00000000..cfe1cc74 --- /dev/null +++ b/migrations/310-40/new-deprecations.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 2 +--- + +New deprecations +=============== + +Joomla! 4.0 is a special version which introduces a new timebased release cycle. This +cycle allow us to remove old code every 2 years. Based on motion +[PROD2022/011](https://volunteers.joomla.org/departments/production/reports/1793-production-dept-meeting-minutes-august-23-2022) +we keep deprecations for at least one major version. For this we retagged all deprecation +which are introduced in 4.0 with version 4.3. That means we don't have many deprecations left +for 4.0 and you can find all relevant deprecations introduced in 4.0 at [4.3 deprecations](../42-43/new-deprecations.md). diff --git a/docs/code-migration/310-40/new-features.md b/migrations/310-40/new-features.md similarity index 100% rename from docs/code-migration/310-40/new-features.md rename to migrations/310-40/new-features.md diff --git a/docs/code-migration/43-44/removed-backward-incompatibility.md b/migrations/310-40/removed-backward-incompatibility.md similarity index 76% rename from docs/code-migration/43-44/removed-backward-incompatibility.md rename to migrations/310-40/removed-backward-incompatibility.md index 6df5212e..b0366d53 100644 --- a/docs/code-migration/43-44/removed-backward-incompatibility.md +++ b/migrations/310-40/removed-backward-incompatibility.md @@ -6,6 +6,9 @@ Removed and backward incompatibility =============== All the deprecated features than have now been removed and any backward incompatibilities. There should be an explanation of how to mitigate the removals / changes. + +Currently you find migration information at https://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_4 + :::caution TODO This page is unfinished, please use the **Edit this Page** link at the bottom of this page to help make it more useful. diff --git a/docs/code-migration/40-41/index.md b/migrations/40-41/index.md similarity index 92% rename from docs/code-migration/40-41/index.md rename to migrations/40-41/index.md index 90249b93..e6406dca 100644 --- a/docs/code-migration/40-41/index.md +++ b/migrations/40-41/index.md @@ -1,3 +1,7 @@ +--- +sidebar_position: 999 +--- + 4.0 to 4.1 =============== An explanation of the code changes for each version of Joomla. diff --git a/docs/code-migration/310-40/new-deprecations.md b/migrations/40-41/new-deprecations.md similarity index 100% rename from docs/code-migration/310-40/new-deprecations.md rename to migrations/40-41/new-deprecations.md diff --git a/docs/code-migration/40-41/new-features.md b/migrations/40-41/new-features.md similarity index 100% rename from docs/code-migration/40-41/new-features.md rename to migrations/40-41/new-features.md diff --git a/docs/code-migration/310-40/removed-backward-incompatibility.md b/migrations/40-41/removed-backward-incompatibility.md similarity index 100% rename from docs/code-migration/310-40/removed-backward-incompatibility.md rename to migrations/40-41/removed-backward-incompatibility.md diff --git a/docs/code-migration/41-42/index.md b/migrations/41-42/index.md similarity index 92% rename from docs/code-migration/41-42/index.md rename to migrations/41-42/index.md index a1542550..f39b6499 100644 --- a/docs/code-migration/41-42/index.md +++ b/migrations/41-42/index.md @@ -1,3 +1,7 @@ +--- +sidebar_position: 998 +--- + 4.1 to 4.2 =============== An explanation of the code changes for each version of Joomla. diff --git a/docs/code-migration/40-41/new-deprecations.md b/migrations/41-42/new-deprecations.md similarity index 100% rename from docs/code-migration/40-41/new-deprecations.md rename to migrations/41-42/new-deprecations.md diff --git a/docs/code-migration/41-42/new-features.md b/migrations/41-42/new-features.md similarity index 100% rename from docs/code-migration/41-42/new-features.md rename to migrations/41-42/new-features.md diff --git a/docs/code-migration/40-41/removed-backward-incompatibility.md b/migrations/41-42/removed-backward-incompatibility.md similarity index 100% rename from docs/code-migration/40-41/removed-backward-incompatibility.md rename to migrations/41-42/removed-backward-incompatibility.md diff --git a/migrations/42-43/index.md b/migrations/42-43/index.md new file mode 100644 index 00000000..ab451207 --- /dev/null +++ b/migrations/42-43/index.md @@ -0,0 +1,39 @@ +--- +sidebar_position: 997 +--- + +4.2 to 4.3 +========== + +:::caution TODO + +This page is unfinished, please use the **Edit this Page** link at the bottom of this page to help make it more useful. + +::: + +Joomla! 4.3 is a feature release. It also holds all deprecations which are targeted +to be remove in 6.0. + +Minimum Developer Requirements +============================== + +As part of our development strategy we need to increase our minimum requirements for +building Joomla!. + +* Nodejs 18 + +Testing Framework +================= + +Starting with Joomla! 4.3 we switched our automated e2e testing from +[codeception](https://codeception.com) to [cypress](https://www.cypress.io). + +For older versions then Joomla! 4.3 we still provide the codeception +[joomla-browser](https://github.com/joomla-projects/joomla-browser). + +Starting with 4.3 we provide a [node package](https://github.com/joomla-projects/joomla-cypress) +for testing Joomla! in cypress. + +For more information about system tests can be found at +[System Tests](/docs/testing/automated/system/) + diff --git a/migrations/42-43/layout-changes.md b/migrations/42-43/layout-changes.md new file mode 100644 index 00000000..8d926873 --- /dev/null +++ b/migrations/42-43/layout-changes.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 4 +--- + +Layout and Template changes +=========================== + +This lists layout and template changes done in this release. + +Custom field and captcha order in registration +---------------------------------------------- + +Starting with Joomla! 4.3 a captcha field will be shown after all custom fields in +the registration process. Before this version captcha field has been shown in between. diff --git a/migrations/42-43/new-deprecations.md b/migrations/42-43/new-deprecations.md new file mode 100644 index 00000000..a4273b0c --- /dev/null +++ b/migrations/42-43/new-deprecations.md @@ -0,0 +1,192 @@ +--- +sidebar_position: 2 +--- + +New deprecations +=============== +All the new deprecations that should be aware of and what you should now be using instead. + +:::caution TODO + +This page is unfinished, please use the **Edit this Page** link at the bottom of this page to help make it more useful. + +::: + +# File deprecations + +As part of restructuring it's possible that files get moved or classes get a namespace. +Normally when a class get a namespace or gets moved to a new directory we also remove +the file from the old location. +As b/c enhancement Joomla! keep files which to be known to be included/required directly +for legacy reasons. For example in Joomla 4 component helpers get moved from +`components/helpers/banners.php` to `components/src/Helper/bannersHelper.php` and the class +get a namespace `\Joomla\Component\Banners\Administrator\Helper\BannersHelper`. + +The class will be aliased in `libraries/classmap.php` or `libraries/extensions.classmap.php`. +In the next major version all aliases will be moved to the combat plugin. The file will be +kept till the next major version, in this version file and alias will be removed. + +:::caution TODO + +The section above should be moved to the deprecation strategy. + +::: + +Planned to be removed in Joomla! 6.0 alias added to the combat plugin in 5.0. + +* administrator/components/com_banners/helpers/banners.php +* administrator/components/com_categories/helpers/categories.php +* administrator/components/com_contact/helpers/contact.php +* administrator/components/com_content/helpers/content.php +* administrator/components/com_contenthistory/helpers/contenthistory.php +* administrator/components/com_fields/helpers/fields.php +* administrator/components/com_installer/helpers/installer.php +* administrator/components/com_menus/helpers/menus.php +* administrator/components/com_modules/helpers/modules.php +* administrator/components/com_newsfeeds/helpers/newsfeeds.php +* administrator/components/com_plugins/helpers/plugins.php +* administrator/components/com_redirect/helpers/redirect.php +* administrator/components/com_templates/helpers/template.php +* administrator/components/com_templates/helpers/templates.php +* administrator/components/com_users/helpers/users.php + + +* components/com_contact/helpers/route.php +* components/com_finder/helpers/route.php +* components/com_newsfeeds/helpers/route.php +* components/com_tags/helpers/route.php + +# Classes made final + +##### \Joomla\CMS\Log\DelegatingPsrLogger +File: libraries/src/Log/DelegatingPsrLogger.php + +Class becomes final and marked internal, therefore it cannot be overridden ([reasoning](https://github.com/joomla/joomla-cms/pull/39134#issuecomment-1316841537)). + +# Class deprecations + +Planned to be removed in Joomla! 6.0 + +##### BannersHelper + +File: administrator/components/com_banners/helpers/banners.php +Replacement: \Joomla\Component\Banners\Administrator\Helper\BannersHelper + +##### CategoriesHelper + +File: administrator/components/com_categories/helpers/categories.php +Replacement: \Joomla\Component\Categories\Administrator\Helper\CategoriesHelper + +##### ContactHelper + +File: administrator/components/com_contact/helpers/contact.php +Replacement: \Joomla\Component\Contact\Administrator\Helper\ContactHelper + +##### ContentHelper + +File: administrator/components/com_content/helpers/content.php +Replacement: \Joomla\Component\Content\Administrator\Helper\ContentHelper + +##### ContenthistoryHelper + +File: administrator/components/com_contenthistory/helpers/contenthistory.php +Replacement: \Joomla\Component\Contenthistory\Administrator\Helper\ContenthistoryHelper + +##### FieldsHelper + +File: administrator/components/com_fields/helpers/fields.php +Replacement: \Joomla\Component\Fields\Administrator\Helper\FieldsHelper + +##### InstallerHelper + +File: administrator/components/com_installer/helpers/installer.php +Replacement: \Joomla\Component\Installer\Administrator\Helper\InstallerHelper + +##### MenusHelper + +File: administrator/components/com_menus/helpers/menus.php +Replacement: \Joomla\Component\Menus\Administrator\Helper\MenusHelper + +##### ModulesHelper + +File: administrator/components/com_modules/helpers/modules.php +Replacement: \Joomla\Component\Modules\Administrator\Helper\ModulesHelper + +##### NewsfeedsHelper + +File: administrator/components/com_newsfeeds/helpers/newsfeeds.php +Replacement: \Joomla\Component\Newsfeeds\Administrator\Helper\NewsfeedsHelper + +##### PluginsHelper + +File: administrator/components/com_plugins/helpers/plugins.php +Replacement: \Joomla\Component\Plugins\Administrator\Helper\PluginsHelper + +##### RedirectHelper + +File: administrator/components/com_redirect/helpers/redirect.php +Replacement: \Joomla\Component\Redirect\Administrator\Helper\RedirectHelper + +##### TemplateHelper + +File: administrator/components/com_templates/helpers/template.php +Replacement: \Joomla\Component\Templates\Administrator\Helper\TemplateHelper + +##### TemplatesHelper + +File: administrator/components/com_templates/helpers/templates.php +Replacement: \Joomla\Component\Templates\Administrator\Helper\TemplatesHelper + +##### UsersHelperDebug + +File: administrator/components/com_users/helpers/debug.php +Replacement: Joomla\Component\Users\Administrator\Helper\DebugHelper\UsersHelperDebug + +##### UsersHelper + +File: administrator/components/com_users/helpers/users.php +Replacement: \Joomla\Component\Users\Administrator\Helper\UsersHelper + +##### ContactHelperRoute + +File: components/com_contact/helpers/route.php +Replacement: Joomla\Component\Contact\Site\Helper\RouteHelper + +##### FinderHelperRoute + +File: components/com_finder/helpers/route.php +Replacement: Joomla\Component\Finder\Site\Helper\RouteHelper + +##### NewsfeedsHelperRoute + +File: components/com_newsfeeds/helpers/route.php +Replacement: Joomla\Component\Newsfeeds\Site\Helper\RouteHelper + +##### TagsHelperRoute + +File: components/com_tags/helpers/route.php +Replacement: Joomla\Component\Tags\Site\Helper\RouteHelper + +# Method deprecations + +Planned to be removed in Joomla! 6.0 + +##### ArticlesLatestHelper static getList(Registry $params, ArticlesModel $model) + +File: modules/mod_articles_latest/src/Helper/ArticlesLatestHelper.php +Replacement: $this->getArticles(Registry $params, SiteApplication $app) +Example: +```php +// Usally used in the module context which implements \Joomla\CMS\Helper\HelperFactoryAwareInterface +$articles = $this->getHelperFactory()->getHelper('ArticlesLatestHelper')->getArticles($data['params'], $this->getApplication()); +``` + +##### ArticlesNewsHelper static getList(Registry $params, ArticlesModel $model) + +File: modules/mod_articles_news/src/Helper/ArticlesNewsHelper.php +Replacement: $this->getArticles(Registry $params, SiteApplication $app) +Example: +```php +// Usally used in the module context which implements \Joomla\CMS\Helper\HelperFactoryAwareInterface +$articles = $this->getHelperFactory()->getHelper('ArticlesNewsHelper')->getArticles($data['params'], $this->getApplication()); +``` diff --git a/docs/code-migration/42-43/new-features.md b/migrations/42-43/new-features.md similarity index 100% rename from docs/code-migration/42-43/new-features.md rename to migrations/42-43/new-features.md diff --git a/docs/code-migration/41-42/removed-backward-incompatibility.md b/migrations/42-43/removed-backward-incompatibility.md similarity index 100% rename from docs/code-migration/41-42/removed-backward-incompatibility.md rename to migrations/42-43/removed-backward-incompatibility.md diff --git a/docs/code-migration/43-44/index.md b/migrations/43-44/index.md similarity index 92% rename from docs/code-migration/43-44/index.md rename to migrations/43-44/index.md index f470d5b5..0f8f11be 100644 --- a/docs/code-migration/43-44/index.md +++ b/migrations/43-44/index.md @@ -1,3 +1,7 @@ +--- +sidebar_position: 996 +--- + 4.3 to 4.4 =============== An explanation of the code changes for each version of Joomla. diff --git a/docs/code-migration/41-42/new-deprecations.md b/migrations/43-44/new-deprecations.md similarity index 100% rename from docs/code-migration/41-42/new-deprecations.md rename to migrations/43-44/new-deprecations.md diff --git a/docs/code-migration/43-44/new-features.md b/migrations/43-44/new-features.md similarity index 100% rename from docs/code-migration/43-44/new-features.md rename to migrations/43-44/new-features.md diff --git a/docs/code-migration/42-43/removed-backward-incompatibility.md b/migrations/43-44/removed-backward-incompatibility.md similarity index 100% rename from docs/code-migration/42-43/removed-backward-incompatibility.md rename to migrations/43-44/removed-backward-incompatibility.md diff --git a/docs/code-migration/44-50/index.md b/migrations/44-50/index.md similarity index 91% rename from docs/code-migration/44-50/index.md rename to migrations/44-50/index.md index 2495f445..789c158c 100644 --- a/docs/code-migration/44-50/index.md +++ b/migrations/44-50/index.md @@ -1,3 +1,7 @@ +--- +sidebar_position: 995 +--- + 4.4 to 5.0 =============== An explanation of the code changes for each version of Joomla. @@ -6,4 +10,4 @@ If you follow from the version of your current code until the version you want t This page is unfinished, please use the **Edit this Page** link at the bottom of this page to help make it more useful. -::: \ No newline at end of file +::: diff --git a/docs/code-migration/42-43/new-deprecations.md b/migrations/44-50/new-deprecations.md similarity index 100% rename from docs/code-migration/42-43/new-deprecations.md rename to migrations/44-50/new-deprecations.md diff --git a/docs/code-migration/44-50/new-features.md b/migrations/44-50/new-features.md similarity index 100% rename from docs/code-migration/44-50/new-features.md rename to migrations/44-50/new-features.md diff --git a/migrations/44-50/removed-backward-incompatibility.md b/migrations/44-50/removed-backward-incompatibility.md new file mode 100644 index 00000000..7944c5d0 --- /dev/null +++ b/migrations/44-50/removed-backward-incompatibility.md @@ -0,0 +1,39 @@ +--- +sidebar_position: 3 +--- + +Removed and backward incompatibility +=============== +All the deprecated features than have now been removed and any backward incompatibilities. +There should be an explanation of how to mitigate the removals / changes. +:::caution TODO + +This page is unfinished, please use the **Edit this Page** link at the bottom of this page to help make it more useful. + +::: + +### PSR-3 upgraded to version 3 + +The PSR-3 (Logging) is upgraded to [version 3](https://github.com/php-fig/log/tree/3.0.0) of the specification. + +Most critically, the signature of the `\Psr\Log\LoggerInterface` methods has changed. The `$message` argument is now strongly typed as `string|\Stringable`. Any logger implementation you use **must** be compatible with this new signature. This is relevant to you if you implement your own logger, or if you are using a third party logger such as Monolog, in your extension. + +If you are using your own logger, you want to preserve compatibility with Joomla 4 and 5 in the same extension package, and you do not mind losing PSR-3 compatibility you can include a copy of PSR-3 in your extension _as long as it's under your extension's namespace_. For example, instead of using `\Psr\Log\LoggerInterface` you could use `\Acme\Component\Example\Administrator\Log\LoggerInterface`. Note that you can use [PHP Scoper](https://github.com/humbug/php-scoper) to easily migrate your dependencies under your own namespace. + +If you only need to maintain compatibilty with PSR-3 to use an logger external to your component, such as Joomla's logger, you can still typehint against `\Psr\Log\LoggerInterface`. Please note that the external logger you are using must be compatible with PSR-3 version 1 on Joomla 4 and PSR-3 version 3 on Joomla 5. If you are providing a third party, external logger yourself you may need to include two versions of the logger with your extension and only load the correct one for each Joomla version. + +### Database must be injected in constructor model +- PR: https://github.com/joomla/joomla-cms/pull/38511 +- Description: The database instance in the model should be injected through the `$this->setDatabase()` or the deprecated function `$this->setDbo()` configuration in the constructor to make it available in the base class. Like that it is ensured that calls to `$this->getDatabase()` and the deprecated function `$this->getDbo()` will point to the same instance. + +```php +class MyModel extends ListModel { + public function __construct(..) { + parent::__construct(...); + $this->setDatabase(MyHelper::getGridDB()); + } +} +``` + +### CSS removals +The CSS class ".ie11" was removed [via PR #39018](https://github.com/joomla/joomla-cms/pull/39018) diff --git a/migrations/index.md b/migrations/index.md new file mode 100644 index 00000000..9e8ec16b --- /dev/null +++ b/migrations/index.md @@ -0,0 +1,39 @@ +--- +sidebar_position: 1 +--- + +Code Changes +============ + +An explanation of the code changes for each version of Joomla. This documentation is outside the development documentation +to be version in dependent. The Documentation is per CMS version and it makes not much sense to see only deprecations and improvments +up to the current CMS version. + +Joomla! is trying to follow SemVer as much as possible but some parts of SemVer doesn't fit into the lifecycle of the CMS. + +Deprecations +------------ + +Base on SemVer deprecations are only introduced in minor versions but not removed in the next major version. +Production department decided in motion [PROD2022/011](https://volunteers.joomla.org/departments/production/reports/1793-production-dept-meeting-minutes-august-23-2022) +that deprecations will not removed in the next major version. Instead, it will be removed in the next next major version +but don't have to. This allows 3rd party developer to have at least 2 years to adapter there code. + +### From the motion: + +> Currently deprecated code can be removed in the next major version (something deprecated in 4.x could be removed in 5.0) +> but with the new release timeline of two years a new major release this short time frame gives some challenges for developer. +> So the standard is, that deprecatd code has to be available as long as the Joomla version where the code was deprecated is still supported. +> That means, something deprecated in 4.x can earliest be removed in 6.0 (but don't have to). For specific important changes +> a production motion is needed to remove code earlier. + +Code migration +-------------- + +Joomla! improves overtime and find better ways to write code. Also PHP improves and allows us to write better and/or faster code. +But often this require us to rewrite code. For this we add examples how to change code within the Joomla api and how to call it. + +Often this requires a new PHP version and would most likely be introduced in a major version. If you follow from the version +of your current code until the version you want to support you should come across all the changes you need to make. + +Please read all migrations, this allows you to also find code which maybe have not been migrated even if it's from an older version. diff --git a/package-lock.json b/package-lock.json index 5a8bff78..22838080 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,8 @@ "version": "0.0.0", "dependencies": { "@cmfcmf/docusaurus-search-local": "^0.11.0", - "@docusaurus/core": "2.1.0", - "@docusaurus/preset-classic": "2.1.0", + "@docusaurus/core": "2.2.0", + "@docusaurus/preset-classic": "2.2.0", "@mdx-js/react": "^1.6.22", "clsx": "^1.2.0", "prism-react-renderer": "^1.3.5", @@ -19,7 +19,7 @@ "react-icons": "^4.4.0" }, "devDependencies": { - "@docusaurus/module-type-aliases": "2.1.0" + "@docusaurus/module-type-aliases": "2.2.0" }, "engines": { "node": ">=16.14" @@ -2041,9 +2041,9 @@ } }, "node_modules/@docusaurus/core": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz", - "integrity": "sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.2.0.tgz", + "integrity": "sha512-Vd6XOluKQqzG12fEs9prJgDtyn6DPok9vmUWDR2E6/nV5Fl9SVkhEQOBxwObjk3kQh7OY7vguFaLh0jqdApWsA==", "dependencies": { "@babel/core": "^7.18.6", "@babel/generator": "^7.18.7", @@ -2055,13 +2055,13 @@ "@babel/runtime": "^7.18.6", "@babel/runtime-corejs3": "^7.18.6", "@babel/traverse": "^7.18.8", - "@docusaurus/cssnano-preset": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/cssnano-preset": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "@slorber/static-site-generator-webpack-plugin": "^4.0.7", "@svgr/webpack": "^6.2.1", "autoprefixer": "^10.4.7", @@ -2129,9 +2129,9 @@ } }, "node_modules/@docusaurus/cssnano-preset": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz", - "integrity": "sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.2.0.tgz", + "integrity": "sha512-mAAwCo4n66TMWBH1kXnHVZsakW9VAXJzTO4yZukuL3ro4F+JtkMwKfh42EG75K/J/YIFQG5I/Bzy0UH/hFxaTg==", "dependencies": { "cssnano-preset-advanced": "^5.3.8", "postcss": "^8.4.14", @@ -2143,9 +2143,9 @@ } }, "node_modules/@docusaurus/logger": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz", - "integrity": "sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.2.0.tgz", + "integrity": "sha512-DF3j1cA5y2nNsu/vk8AG7xwpZu6f5MKkPPMaaIbgXLnWGfm6+wkOeW7kNrxnM95YOhKUkJUophX69nGUnLsm0A==", "dependencies": { "chalk": "^4.1.2", "tslib": "^2.4.0" @@ -2155,14 +2155,14 @@ } }, "node_modules/@docusaurus/mdx-loader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz", - "integrity": "sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.2.0.tgz", + "integrity": "sha512-X2bzo3T0jW0VhUU+XdQofcEeozXOTmKQMvc8tUnWRdTnCvj4XEcBVdC3g+/jftceluiwSTNRAX4VBOJdNt18jA==", "dependencies": { "@babel/parser": "^7.18.8", "@babel/traverse": "^7.18.8", - "@docusaurus/logger": "2.1.0", - "@docusaurus/utils": "2.1.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/utils": "2.2.0", "@mdx-js/mdx": "^1.6.22", "escape-html": "^1.0.3", "file-loader": "^6.2.0", @@ -2186,12 +2186,12 @@ } }, "node_modules/@docusaurus/module-type-aliases": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz", - "integrity": "sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.2.0.tgz", + "integrity": "sha512-wDGW4IHKoOr9YuJgy7uYuKWrDrSpsUSDHLZnWQYM9fN7D5EpSmYHjFruUpKWVyxLpD/Wh0rW8hYZwdjJIQUQCQ==", "dependencies": { "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/types": "2.1.0", + "@docusaurus/types": "2.2.0", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2205,17 +2205,17 @@ } }, "node_modules/@docusaurus/plugin-content-blog": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz", - "integrity": "sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.2.0.tgz", + "integrity": "sha512-0mWBinEh0a5J2+8ZJXJXbrCk1tSTNf7Nm4tYAl5h2/xx+PvH/Bnu0V+7mMljYm/1QlDYALNIIaT/JcoZQFUN3w==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "cheerio": "^1.0.0-rc.12", "feed": "^4.2.2", "fs-extra": "^10.1.0", @@ -2235,17 +2235,17 @@ } }, "node_modules/@docusaurus/plugin-content-docs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz", - "integrity": "sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.2.0.tgz", + "integrity": "sha512-BOazBR0XjzsHE+2K1wpNxz5QZmrJgmm3+0Re0EVPYFGW8qndCWGNtXW/0lGKhecVPML8yyFeAmnUCIs7xM2wPw==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/module-type-aliases": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "@types/react-router-config": "^5.0.6", "combine-promises": "^1.1.0", "fs-extra": "^10.1.0", @@ -2265,15 +2265,15 @@ } }, "node_modules/@docusaurus/plugin-content-pages": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz", - "integrity": "sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.2.0.tgz", + "integrity": "sha512-+OTK3FQHk5WMvdelz8v19PbEbx+CNT6VSpx7nVOvMNs5yJCKvmqBJBQ2ZSxROxhVDYn+CZOlmyrC56NSXzHf6g==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "fs-extra": "^10.1.0", "tslib": "^2.4.0", "webpack": "^5.73.0" @@ -2287,13 +2287,13 @@ } }, "node_modules/@docusaurus/plugin-debug": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz", - "integrity": "sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.2.0.tgz", + "integrity": "sha512-p9vOep8+7OVl6r/NREEYxf4HMAjV8JMYJ7Bos5fCFO0Wyi9AZEo0sCTliRd7R8+dlJXZEgcngSdxAUo/Q+CJow==", "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", + "@docusaurus/core": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", "fs-extra": "^10.1.0", "react-json-view": "^1.21.3", "tslib": "^2.4.0" @@ -2307,13 +2307,13 @@ } }, "node_modules/@docusaurus/plugin-google-analytics": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz", - "integrity": "sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.2.0.tgz", + "integrity": "sha512-+eZVVxVeEnV5nVQJdey9ZsfyEVMls6VyWTIj8SmX0k5EbqGvnIfET+J2pYEuKQnDIHxy+syRMoRM6AHXdHYGIg==", "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "@docusaurus/core": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "tslib": "^2.4.0" }, "engines": { @@ -2325,13 +2325,13 @@ } }, "node_modules/@docusaurus/plugin-google-gtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz", - "integrity": "sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.2.0.tgz", + "integrity": "sha512-6SOgczP/dYdkqUMGTRqgxAS1eTp6MnJDAQMy8VCF1QKbWZmlkx4agHDexihqmYyCujTYHqDAhm1hV26EET54NQ==", "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "@docusaurus/core": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "tslib": "^2.4.0" }, "engines": { @@ -2343,16 +2343,16 @@ } }, "node_modules/@docusaurus/plugin-sitemap": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz", - "integrity": "sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.2.0.tgz", + "integrity": "sha512-0jAmyRDN/aI265CbWZNZuQpFqiZuo+5otk2MylU9iVrz/4J7gSc+ZJ9cy4EHrEsW7PV8s1w18hIEsmcA1YgkKg==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "fs-extra": "^10.1.0", "sitemap": "^7.1.1", "tslib": "^2.4.0" @@ -2366,22 +2366,22 @@ } }, "node_modules/@docusaurus/preset-classic": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz", - "integrity": "sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/plugin-debug": "2.1.0", - "@docusaurus/plugin-google-analytics": "2.1.0", - "@docusaurus/plugin-google-gtag": "2.1.0", - "@docusaurus/plugin-sitemap": "2.1.0", - "@docusaurus/theme-classic": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-search-algolia": "2.1.0", - "@docusaurus/types": "2.1.0" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.2.0.tgz", + "integrity": "sha512-yKIWPGNx7BT8v2wjFIWvYrS+nvN04W+UameSFf8lEiJk6pss0kL6SG2MRvyULiI3BDxH+tj6qe02ncpSPGwumg==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/plugin-content-blog": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/plugin-content-pages": "2.2.0", + "@docusaurus/plugin-debug": "2.2.0", + "@docusaurus/plugin-google-analytics": "2.2.0", + "@docusaurus/plugin-google-gtag": "2.2.0", + "@docusaurus/plugin-sitemap": "2.2.0", + "@docusaurus/theme-classic": "2.2.0", + "@docusaurus/theme-common": "2.2.0", + "@docusaurus/theme-search-algolia": "2.2.0", + "@docusaurus/types": "2.2.0" }, "engines": { "node": ">=16.14" @@ -2404,22 +2404,22 @@ } }, "node_modules/@docusaurus/theme-classic": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz", - "integrity": "sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-translations": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.2.0.tgz", + "integrity": "sha512-kjbg/qJPwZ6H1CU/i9d4l/LcFgnuzeiGgMQlt6yPqKo0SOJIBMPuz7Rnu3r/WWbZFPi//o8acclacOzmXdUUEg==", + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/module-type-aliases": "2.2.0", + "@docusaurus/plugin-content-blog": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/plugin-content-pages": "2.2.0", + "@docusaurus/theme-common": "2.2.0", + "@docusaurus/theme-translations": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "@mdx-js/react": "^1.6.22", "clsx": "^1.2.1", "copy-text-to-clipboard": "^3.0.1", @@ -2443,16 +2443,16 @@ } }, "node_modules/@docusaurus/theme-common": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz", - "integrity": "sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag==", - "dependencies": { - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/utils": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.2.0.tgz", + "integrity": "sha512-R8BnDjYoN90DCL75gP7qYQfSjyitXuP9TdzgsKDmSFPNyrdE3twtPNa2dIN+h+p/pr+PagfxwWbd6dn722A1Dw==", + "dependencies": { + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/module-type-aliases": "2.2.0", + "@docusaurus/plugin-content-blog": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/plugin-content-pages": "2.2.0", + "@docusaurus/utils": "2.2.0", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2471,18 +2471,18 @@ } }, "node_modules/@docusaurus/theme-search-algolia": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz", - "integrity": "sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.2.0.tgz", + "integrity": "sha512-2h38B0tqlxgR2FZ9LpAkGrpDWVdXZ7vltfmTdX+4RsDs3A7khiNsmZB+x/x6sA4+G2V2CvrsPMlsYBy5X+cY1w==", "dependencies": { "@docsearch/react": "^3.1.1", - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-translations": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/theme-common": "2.2.0", + "@docusaurus/theme-translations": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "algoliasearch": "^4.13.1", "algoliasearch-helper": "^3.10.0", "clsx": "^1.2.1", @@ -2501,9 +2501,9 @@ } }, "node_modules/@docusaurus/theme-translations": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz", - "integrity": "sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.2.0.tgz", + "integrity": "sha512-3T140AG11OjJrtKlY4pMZ5BzbGRDjNs2co5hJ6uYJG1bVWlhcaFGqkaZ5lCgKflaNHD7UHBHU9Ec5f69jTdd6w==", "dependencies": { "fs-extra": "^10.1.0", "tslib": "^2.4.0" @@ -2513,9 +2513,9 @@ } }, "node_modules/@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.2.0.tgz", + "integrity": "sha512-b6xxyoexfbRNRI8gjblzVOnLr4peCJhGbYGPpJ3LFqpi5nsFfoK4mmDLvWdeah0B7gmJeXabN7nQkFoqeSdmOw==", "dependencies": { "@types/history": "^4.7.11", "@types/react": "*", @@ -2532,11 +2532,11 @@ } }, "node_modules/@docusaurus/utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz", - "integrity": "sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.2.0.tgz", + "integrity": "sha512-oNk3cjvx7Tt1Lgh/aeZAmFpGV2pDr5nHKrBVx6hTkzGhrnMuQqLt6UPlQjdYQ3QHXwyF/ZtZMO1D5Pfi0lu7SA==", "dependencies": { - "@docusaurus/logger": "2.1.0", + "@docusaurus/logger": "2.2.0", "@svgr/webpack": "^6.2.1", "file-loader": "^6.2.0", "fs-extra": "^10.1.0", @@ -2565,9 +2565,9 @@ } }, "node_modules/@docusaurus/utils-common": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz", - "integrity": "sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.2.0.tgz", + "integrity": "sha512-qebnerHp+cyovdUseDQyYFvMW1n1nv61zGe5JJfoNQUnjKuApch3IVsz+/lZ9a38pId8kqehC1Ao2bW/s0ntDA==", "dependencies": { "tslib": "^2.4.0" }, @@ -2584,12 +2584,12 @@ } }, "node_modules/@docusaurus/utils-validation": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz", - "integrity": "sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.2.0.tgz", + "integrity": "sha512-I1hcsG3yoCkasOL5qQAYAfnmVoLei7apugT6m4crQjmDGxq+UkiRrq55UqmDDyZlac/6ax/JC0p+usZ6W4nVyg==", "dependencies": { - "@docusaurus/logger": "2.1.0", - "@docusaurus/utils": "2.1.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/utils": "2.2.0", "joi": "^17.6.0", "js-yaml": "^4.1.0", "tslib": "^2.4.0" @@ -13832,9 +13832,9 @@ } }, "@docusaurus/core": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz", - "integrity": "sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.2.0.tgz", + "integrity": "sha512-Vd6XOluKQqzG12fEs9prJgDtyn6DPok9vmUWDR2E6/nV5Fl9SVkhEQOBxwObjk3kQh7OY7vguFaLh0jqdApWsA==", "requires": { "@babel/core": "^7.18.6", "@babel/generator": "^7.18.7", @@ -13846,13 +13846,13 @@ "@babel/runtime": "^7.18.6", "@babel/runtime-corejs3": "^7.18.6", "@babel/traverse": "^7.18.8", - "@docusaurus/cssnano-preset": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/cssnano-preset": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "@slorber/static-site-generator-webpack-plugin": "^4.0.7", "@svgr/webpack": "^6.2.1", "autoprefixer": "^10.4.7", @@ -13910,9 +13910,9 @@ } }, "@docusaurus/cssnano-preset": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz", - "integrity": "sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.2.0.tgz", + "integrity": "sha512-mAAwCo4n66TMWBH1kXnHVZsakW9VAXJzTO4yZukuL3ro4F+JtkMwKfh42EG75K/J/YIFQG5I/Bzy0UH/hFxaTg==", "requires": { "cssnano-preset-advanced": "^5.3.8", "postcss": "^8.4.14", @@ -13921,23 +13921,23 @@ } }, "@docusaurus/logger": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz", - "integrity": "sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.2.0.tgz", + "integrity": "sha512-DF3j1cA5y2nNsu/vk8AG7xwpZu6f5MKkPPMaaIbgXLnWGfm6+wkOeW7kNrxnM95YOhKUkJUophX69nGUnLsm0A==", "requires": { "chalk": "^4.1.2", "tslib": "^2.4.0" } }, "@docusaurus/mdx-loader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz", - "integrity": "sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.2.0.tgz", + "integrity": "sha512-X2bzo3T0jW0VhUU+XdQofcEeozXOTmKQMvc8tUnWRdTnCvj4XEcBVdC3g+/jftceluiwSTNRAX4VBOJdNt18jA==", "requires": { "@babel/parser": "^7.18.8", "@babel/traverse": "^7.18.8", - "@docusaurus/logger": "2.1.0", - "@docusaurus/utils": "2.1.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/utils": "2.2.0", "@mdx-js/mdx": "^1.6.22", "escape-html": "^1.0.3", "file-loader": "^6.2.0", @@ -13954,12 +13954,12 @@ } }, "@docusaurus/module-type-aliases": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz", - "integrity": "sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.2.0.tgz", + "integrity": "sha512-wDGW4IHKoOr9YuJgy7uYuKWrDrSpsUSDHLZnWQYM9fN7D5EpSmYHjFruUpKWVyxLpD/Wh0rW8hYZwdjJIQUQCQ==", "requires": { "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/types": "2.1.0", + "@docusaurus/types": "2.2.0", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -13969,17 +13969,17 @@ } }, "@docusaurus/plugin-content-blog": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz", - "integrity": "sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.2.0.tgz", + "integrity": "sha512-0mWBinEh0a5J2+8ZJXJXbrCk1tSTNf7Nm4tYAl5h2/xx+PvH/Bnu0V+7mMljYm/1QlDYALNIIaT/JcoZQFUN3w==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "cheerio": "^1.0.0-rc.12", "feed": "^4.2.2", "fs-extra": "^10.1.0", @@ -13992,17 +13992,17 @@ } }, "@docusaurus/plugin-content-docs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz", - "integrity": "sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.2.0.tgz", + "integrity": "sha512-BOazBR0XjzsHE+2K1wpNxz5QZmrJgmm3+0Re0EVPYFGW8qndCWGNtXW/0lGKhecVPML8yyFeAmnUCIs7xM2wPw==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/module-type-aliases": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "@types/react-router-config": "^5.0.6", "combine-promises": "^1.1.0", "fs-extra": "^10.1.0", @@ -14015,88 +14015,88 @@ } }, "@docusaurus/plugin-content-pages": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz", - "integrity": "sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.2.0.tgz", + "integrity": "sha512-+OTK3FQHk5WMvdelz8v19PbEbx+CNT6VSpx7nVOvMNs5yJCKvmqBJBQ2ZSxROxhVDYn+CZOlmyrC56NSXzHf6g==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "fs-extra": "^10.1.0", "tslib": "^2.4.0", "webpack": "^5.73.0" } }, "@docusaurus/plugin-debug": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz", - "integrity": "sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.2.0.tgz", + "integrity": "sha512-p9vOep8+7OVl6r/NREEYxf4HMAjV8JMYJ7Bos5fCFO0Wyi9AZEo0sCTliRd7R8+dlJXZEgcngSdxAUo/Q+CJow==", "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", + "@docusaurus/core": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", "fs-extra": "^10.1.0", "react-json-view": "^1.21.3", "tslib": "^2.4.0" } }, "@docusaurus/plugin-google-analytics": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz", - "integrity": "sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.2.0.tgz", + "integrity": "sha512-+eZVVxVeEnV5nVQJdey9ZsfyEVMls6VyWTIj8SmX0k5EbqGvnIfET+J2pYEuKQnDIHxy+syRMoRM6AHXdHYGIg==", "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "@docusaurus/core": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "tslib": "^2.4.0" } }, "@docusaurus/plugin-google-gtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz", - "integrity": "sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.2.0.tgz", + "integrity": "sha512-6SOgczP/dYdkqUMGTRqgxAS1eTp6MnJDAQMy8VCF1QKbWZmlkx4agHDexihqmYyCujTYHqDAhm1hV26EET54NQ==", "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "@docusaurus/core": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "tslib": "^2.4.0" } }, "@docusaurus/plugin-sitemap": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz", - "integrity": "sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.2.0.tgz", + "integrity": "sha512-0jAmyRDN/aI265CbWZNZuQpFqiZuo+5otk2MylU9iVrz/4J7gSc+ZJ9cy4EHrEsW7PV8s1w18hIEsmcA1YgkKg==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "fs-extra": "^10.1.0", "sitemap": "^7.1.1", "tslib": "^2.4.0" } }, "@docusaurus/preset-classic": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz", - "integrity": "sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/plugin-debug": "2.1.0", - "@docusaurus/plugin-google-analytics": "2.1.0", - "@docusaurus/plugin-google-gtag": "2.1.0", - "@docusaurus/plugin-sitemap": "2.1.0", - "@docusaurus/theme-classic": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-search-algolia": "2.1.0", - "@docusaurus/types": "2.1.0" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.2.0.tgz", + "integrity": "sha512-yKIWPGNx7BT8v2wjFIWvYrS+nvN04W+UameSFf8lEiJk6pss0kL6SG2MRvyULiI3BDxH+tj6qe02ncpSPGwumg==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/plugin-content-blog": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/plugin-content-pages": "2.2.0", + "@docusaurus/plugin-debug": "2.2.0", + "@docusaurus/plugin-google-analytics": "2.2.0", + "@docusaurus/plugin-google-gtag": "2.2.0", + "@docusaurus/plugin-sitemap": "2.2.0", + "@docusaurus/theme-classic": "2.2.0", + "@docusaurus/theme-common": "2.2.0", + "@docusaurus/theme-search-algolia": "2.2.0", + "@docusaurus/types": "2.2.0" } }, "@docusaurus/react-loadable": { @@ -14109,22 +14109,22 @@ } }, "@docusaurus/theme-classic": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz", - "integrity": "sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-translations": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.2.0.tgz", + "integrity": "sha512-kjbg/qJPwZ6H1CU/i9d4l/LcFgnuzeiGgMQlt6yPqKo0SOJIBMPuz7Rnu3r/WWbZFPi//o8acclacOzmXdUUEg==", + "requires": { + "@docusaurus/core": "2.2.0", + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/module-type-aliases": "2.2.0", + "@docusaurus/plugin-content-blog": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/plugin-content-pages": "2.2.0", + "@docusaurus/theme-common": "2.2.0", + "@docusaurus/theme-translations": "2.2.0", + "@docusaurus/types": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-common": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "@mdx-js/react": "^1.6.22", "clsx": "^1.2.1", "copy-text-to-clipboard": "^3.0.1", @@ -14141,16 +14141,16 @@ } }, "@docusaurus/theme-common": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz", - "integrity": "sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag==", - "requires": { - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/utils": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.2.0.tgz", + "integrity": "sha512-R8BnDjYoN90DCL75gP7qYQfSjyitXuP9TdzgsKDmSFPNyrdE3twtPNa2dIN+h+p/pr+PagfxwWbd6dn722A1Dw==", + "requires": { + "@docusaurus/mdx-loader": "2.2.0", + "@docusaurus/module-type-aliases": "2.2.0", + "@docusaurus/plugin-content-blog": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/plugin-content-pages": "2.2.0", + "@docusaurus/utils": "2.2.0", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -14162,18 +14162,18 @@ } }, "@docusaurus/theme-search-algolia": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz", - "integrity": "sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.2.0.tgz", + "integrity": "sha512-2h38B0tqlxgR2FZ9LpAkGrpDWVdXZ7vltfmTdX+4RsDs3A7khiNsmZB+x/x6sA4+G2V2CvrsPMlsYBy5X+cY1w==", "requires": { "@docsearch/react": "^3.1.1", - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-translations": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", + "@docusaurus/core": "2.2.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/plugin-content-docs": "2.2.0", + "@docusaurus/theme-common": "2.2.0", + "@docusaurus/theme-translations": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@docusaurus/utils-validation": "2.2.0", "algoliasearch": "^4.13.1", "algoliasearch-helper": "^3.10.0", "clsx": "^1.2.1", @@ -14185,18 +14185,18 @@ } }, "@docusaurus/theme-translations": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz", - "integrity": "sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.2.0.tgz", + "integrity": "sha512-3T140AG11OjJrtKlY4pMZ5BzbGRDjNs2co5hJ6uYJG1bVWlhcaFGqkaZ5lCgKflaNHD7UHBHU9Ec5f69jTdd6w==", "requires": { "fs-extra": "^10.1.0", "tslib": "^2.4.0" } }, "@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.2.0.tgz", + "integrity": "sha512-b6xxyoexfbRNRI8gjblzVOnLr4peCJhGbYGPpJ3LFqpi5nsFfoK4mmDLvWdeah0B7gmJeXabN7nQkFoqeSdmOw==", "requires": { "@types/history": "^4.7.11", "@types/react": "*", @@ -14209,11 +14209,11 @@ } }, "@docusaurus/utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz", - "integrity": "sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.2.0.tgz", + "integrity": "sha512-oNk3cjvx7Tt1Lgh/aeZAmFpGV2pDr5nHKrBVx6hTkzGhrnMuQqLt6UPlQjdYQ3QHXwyF/ZtZMO1D5Pfi0lu7SA==", "requires": { - "@docusaurus/logger": "2.1.0", + "@docusaurus/logger": "2.2.0", "@svgr/webpack": "^6.2.1", "file-loader": "^6.2.0", "fs-extra": "^10.1.0", @@ -14231,20 +14231,20 @@ } }, "@docusaurus/utils-common": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz", - "integrity": "sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.2.0.tgz", + "integrity": "sha512-qebnerHp+cyovdUseDQyYFvMW1n1nv61zGe5JJfoNQUnjKuApch3IVsz+/lZ9a38pId8kqehC1Ao2bW/s0ntDA==", "requires": { "tslib": "^2.4.0" } }, "@docusaurus/utils-validation": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz", - "integrity": "sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.2.0.tgz", + "integrity": "sha512-I1hcsG3yoCkasOL5qQAYAfnmVoLei7apugT6m4crQjmDGxq+UkiRrq55UqmDDyZlac/6ax/JC0p+usZ6W4nVyg==", "requires": { - "@docusaurus/logger": "2.1.0", - "@docusaurus/utils": "2.1.0", + "@docusaurus/logger": "2.2.0", + "@docusaurus/utils": "2.2.0", "joi": "^17.6.0", "js-yaml": "^4.1.0", "tslib": "^2.4.0" diff --git a/package.json b/package.json index 294f326d..5aa2a1f5 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,8 @@ }, "dependencies": { "@cmfcmf/docusaurus-search-local": "^0.11.0", - "@docusaurus/core": "2.1.0", - "@docusaurus/preset-classic": "2.1.0", + "@docusaurus/core": "2.2.0", + "@docusaurus/preset-classic": "2.2.0", "@mdx-js/react": "^1.6.22", "clsx": "^1.2.0", "prism-react-renderer": "^1.3.5", @@ -25,7 +25,7 @@ "react-icons": "^4.4.0" }, "devDependencies": { - "@docusaurus/module-type-aliases": "2.1.0" + "@docusaurus/module-type-aliases": "2.2.0" }, "browserslist": { "production": [ diff --git a/sidebarsMigrations.js b/sidebarsMigrations.js new file mode 100644 index 00000000..cd2b73df --- /dev/null +++ b/sidebarsMigrations.js @@ -0,0 +1,31 @@ +/** + * Creating a sidebar enables you to: + - create an ordered group of docs + - render a sidebar for each doc of that group + - provide next/previous navigation + + The sidebars can be generated from the filesystem, or explicitly defined here. + + Create as many sidebars as you want. + */ + +// @ts-check + +/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ +const sidebars = { + // By default, Docusaurus generates a sidebar from the docs folder structure + manualSidebar: [{type: 'autogenerated', dirName: '.'}], + + // But you can create a sidebar manually + /* + tutorialSidebar: [ + { + type: 'category', + label: 'Tutorial', + items: ['hello'], + }, + ], + */ +}; + +module.exports = sidebars;