/devdocs

Magento Developer Documentation

Primary LanguageHTMLOpen Software License 3.0OSL-3.0

Magento Developer Documentation

Welcome! This site contains the latest Magento developer documentation for ongoing Magento 2.x releases. For additional information, see our Contribution Guide.

Contributors

Our goal is to provide the Magento community with comprehensive and quality technical documentation. We believe that to accomplish that goal we need experts from the community to share their knowledge with us and each other. We are thankful to all of our contributors for improving Magento documentation.

Building this site

You can build this site locally in the following ways:

Build using Jekyll

For local builds, you need to install Ruby 2.4 or later.

To check the Ruby version on your environment, run in your terminal:

ruby -v

Install the latest Ruby (if the Ruby version is less than 2.4)

MacOS users:

  1. Install Homebrew. See the Homebrew site for instructions.

  2. Use Homebrew to install the latest stable version of Ruby:

    brew install ruby

Unix, Windows, and other OS users:

See the Ruby site for instructions.

Upgrade RubyGems

Upgrade RubyGems, which helps with dependencies (gems):

gem update --system

Once you have completed preparing your environment, you can build locally and review the site in your browser.

Install devdocs

Clone or download the repository. The first time you are at the devdocs directory, run:

bundle install

Once you have completed preparing your environment, you can build locally and review the site in your browser.

To build locally:

Using rake

rake is a native Ruby tool that helps to automate tasks.

  1. Run the rake task that installs all required dependencies and starts the Jekyll server:

    rake preview
  2. Press Ctrl+C in the serve terminal to stop the server.

If rake fails on your environment, generate the preview using jekyll.

Using jekyll

  1. The first time you are at the devdocs directory or when you need to pick up changes in Gemfile.lock dependencies (for example, theme changes), run:

    bundle install
  2. To generate the local preview, run:

    bundle exec jekyll serve --incremental
    
     Configuration file: /Users/username/Github/devdocs/_config.yml
                 Source: /Users/username/Github/devdocs
            Destination: /Users/username/Github/devdocs/_site
      Incremental build: enabled
           Generating...
                         done in x.x seconds.
      Auto-regeneration: enabled for '/Users/username/Github/devdocs'
         Server address: http://127.0.0.1:4000//
       Server running... press ctrl-c to stop.
  3. Use the Server address URL http://127.0.0.1:4000/ in a browser to preview the content.

  4. Press Ctrl+C in the serve terminal to stop the server.

TIP Leave the serve terminal open and running. Every time you save changes to a file, it automatically regenerates the site so you can test the output immediately. Changing the _config.yml file requires a fresh build. Using the --incremental option limits re-builds to posts and pages that have changed.

To minimize build time locally:

  1. Create a _config.local.yml file at the root of the project directory and exclude all versions except the one that you want to preview.

    The following example will generate Magento 2.2 documentation only.

     exclude:
      - /community/
      - /swagger/
      - /vagrant/
      - /guides/m1x/
      - /guides/v2.0/
      - /guides/v2.1/
     # - /guides/v2.2/
      - /guides/v2.3/
    
     # Excluded in config.yml
      - /scss/
      - /bin/
      - /node_modules/
      - /vendor/
      - /.*
      - /Rakefile
  2. Run the preview command:

    rake preview

    This command:

    • Checks your environment according to the dependencies in Gemfile.lock.
    • Removes the _site/ directory, which contains previously generated preview files.
    • Generates a new preview and opens the landing page in a web browser.

If you don't have the _config.local.yml file at the root of your devdocs/ directory, the rake will generate all versions of the documentation.

To build v2.0 documentation

Magento 2.0.18 was the final 2.0.x release. After March 2018, Magento 2.0.x stopped receiving security patches, quality fixes, and documentation updates.

To ensure the quality of our public documentation for versions of Magento that are still supported and to avoid potential confusion about 2.0.x support, we removed all 2.0.x content from our public documentation websites on May 31, 2019.

To build v2.0 documentation:

Also, you can use the GitHub interface to read the source Markdown files instead of building the site locally. Navigate to the 2.0 branch and click the file you want to view.

  1. Add an entry for 2.0 in the Docfile.yml file.

    -
      directory: guides/v2.0
      repository: magento/devdocs
      branch: 2.0
      filter: false
  2. Initialize the 2.0 branch in your local devdocs repository.

    rake init
  3. Run the preview command.

    rake preview

To build v2.1 documentation

Magento 2.1.18 was the final 2.1.x release. After June 2019, Magento 2.1.x stopped receiving security patches, quality fixes, and documentation updates.

To ensure the quality of our public documentation for versions of Magento that are still supported and to avoid potential confusion about 2.1.x support, we removed all 2.1.x content from our public documentation websites on July 11, 2019.

To build v2.1 documentation:

Also, you can use the GitHub interface to read the source Markdown files instead of building the site locally. Navigate to the 2.1 branch and click the file you want to view.

  1. Add an entry for 2.1 in the Docfile.yml file.

    -
      directory: guides/v2.1
      repository: magento/devdocs
      branch: 2.1
      filter: false
  2. Initialize the 2.1 branch in your local devdocs repository.

    rake init
  3. Run the preview command.

    rake preview

Build using Vagrant

You can deploy the devdocs site locally using this Vagrant project.


If you have questions, open an issue and ask us. We're looking forward to hearing from you!

Build DevDocs in Windows

Some of the technologies we use to develop DevDocs is not compatible with Windows, such as Jekyll. For this reason, we do not support DevDocs management in Windows; however, we have documented the following procedures to build the DevDocs in a Windows environment. Any further use of this setup or troubleshooting is up to you.

Download software:

Install Chocolatey

Only Administrators can use Chocolatey features. You can use the Administrator account, or you can use the "Run as Administrator" function on the shortcut menu.

  1. Open the Command Prompt using Run as Administrator in the shortcut menu.

  2. Install Chocolatey.

    @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
  3. Verify Chocolatey was added to the environment variables:

    • In the Windows UI, open search and type path.
    • In the Windows CMD console, type echo %path%.

    You should see C:\ProgramData\chocolatey\bin in the path.

  4. Close and reopen the command prompt before using choco commands.

After running the script at the command line, you can install any required extensions. Chocolately has many extensions available, similar to Homebrew for MacOS. As a best practice, only use extensions labeled as a "trusted package". You can install editors, such as Nano and Notepad++, using Chocolatey, as well.

Install Ruby extension

If you have Ruby installed on the workstation, then you can skip this installation.

  1. Open the Command Prompt using Run as Administrator in the shortcut menu.

  2. Install the ruby extension:

    choco install ruby
  3. Verify the environment variables were added properly:

    • In the Windows UI, open search and type path.
    • In the Windows CMD console, type echo %path%.

NOTE If you encounter problems with Ruby, or the gem command is not recognized, you can install the rubyinstaller-devkit.exe development kit located in the c:\ProgramData\chocolatey\bin folder.

Install Git for Windows

Use Git for Windows to prevent interference with the existing Windows environment and to have Git Bash and Git GUI launch commands available on the shortcut menu.

Open the Git Setup file downloaded from the Git for Windows site and use the following settings during installation wizard:

  • select Use Git from Git Bash only
  • select Checkout as-is, commit Unix-style line endings
  • select your preferred editor (can use Nano, Notepad++, or VIM)
  • select Enable symbolic links

Although you can install Git using Chocolatey, we chose to install Git for Windows independently for more control of the installation settings.

Set up SSH key

  1. Open Git Bash. The Git Bash executable is on the shortcut menu.

  2. Create a working directory for your Git repositories and change to the new directory.

    mkdir <directory-name>
  3. Follow the Generating a new SSH instructions.

Clone and build the DevDocs repository

You may have to close and reopen the Git Bash application after the Choco installations.

  1. Open Git Bash. The Git Bash executable is on the shortcut menu.

  2. Change to the directory you created for Git repositories and clone the DevDocs repository.

    git clone git@github.com:magento/devdocs.git
  3. Change to the devdocs directory.

  4. Install Bundler.

    gem install bundle
  5. Install gem executables required for building the site.

    bundle install
  6. Build site.

    bundle exec jekyll serve
    Configuration file: C:/Users/Administrator/mage/devdocs/_config.yml
                Source: C:/Users/Administrator/mage/devdocs
           Destination: C:/Users/Administrator/mage/devdocs/_site
     Incremental build: disabled. Enable with --incremental
          Generating...
                        done in 643.551 seconds.
     Auto-regeneration: enabled for 'C:/Users/Administrator/mage/devdocs'
        Server address: http://127.0.0.1:4000/
      Server running... press ctrl-c to stop.
    

NOTE The .bash_profile file CAN be created and managed using Git Bash, which is useful for aliases and other customizations, This file is in the users/Administrator folder.