diff --git a/doc/administration/restart_gitlab.md b/doc/administration/restart_gitlab.md
index 176ff5c1b1b0f9baf8a63ca6b5d91daa1e553a30..907d7bb307afdd8c36f43d0b3744466b1c3a4868 100644
--- a/doc/administration/restart_gitlab.md
+++ b/doc/administration/restart_gitlab.md
@@ -37,7 +37,7 @@ sudo gitlab-ctl restart
 
 The output should be similar to this:
 
-```
+```plaintext
 ok: run: gitlab-workhorse: (pid 11291) 1s
 ok: run: logrotate: (pid 11299) 0s
 ok: run: mailroom: (pid 11306) 0s
@@ -103,13 +103,13 @@ depend on those files.
 If you have followed the official installation guide to [install GitLab from
 source][install], run the following command to restart GitLab:
 
-```
+```shell
 sudo service gitlab restart
 ```
 
 The output should be similar to this:
 
-```
+```plaintext
 Shutting down GitLab Unicorn
 Shutting down GitLab Sidekiq
 Shutting down GitLab Workhorse
diff --git a/doc/administration/troubleshooting/sidekiq.md b/doc/administration/troubleshooting/sidekiq.md
index 73598bb9441247ce552d0ef740c3842e2994f9bb..172e80bee7d4a8dd79f314f62248c4c7f7b87f5d 100644
--- a/doc/administration/troubleshooting/sidekiq.md
+++ b/doc/administration/troubleshooting/sidekiq.md
@@ -25,7 +25,7 @@ the `SIDEKIQ_LOG_ARGUMENTS` [environment variable](https://docs.gitlab.com/omnib
 
 Example:
 
-```
+```ruby
 gitlab_rails['env'] = {"SIDEKIQ_LOG_ARGUMENTS" => "1"}
 ```
 
@@ -43,7 +43,7 @@ single argument containing the string `"..."`.
 Send the Sidekiq process ID the `TTIN` signal and it will output thread
 backtraces in the log file.
 
-```
+```shell
 kill -TTIN <sidekiq_pid>
 ```
 
@@ -95,7 +95,7 @@ sudo perf record -p <sidekiq_pid>
 Let this run for 30-60 seconds and then press Ctrl-C. Then view the perf report:
 
 ```shell
-sudo perf report
+$ sudo perf report
 
 # Sample output
 Samples: 348K of event 'cycles', Event count (approx.): 280908431073
diff --git a/doc/downgrade_ee_to_ce/README.md b/doc/downgrade_ee_to_ce/README.md
index bdbd17c2a23a594d715d1ff82af22614f01eb0f8..29f9baae5c4a6117d12692dd0e6c1dbed3643950 100644
--- a/doc/downgrade_ee_to_ce/README.md
+++ b/doc/downgrade_ee_to_ce/README.md
@@ -21,7 +21,7 @@ The `JenkinsService` and `GithubService` classes are only available in the Enter
 so if you downgrade to the Community Edition, you'll come across the following
 error:
 
-```
+```plaintext
 Completed 500 Internal Server Error in 497ms (ActiveRecord: 32.2ms)
 
 ActionView::Template::Error (The single-table inheritance mechanism failed to locate the subclass: 'JenkinsService'. This
@@ -32,7 +32,7 @@ use another column for that information.)
 
 or
 
-```
+```plaintext
 Completed 500 Internal Server Error in 497ms (ActiveRecord: 32.2ms)
 
 ActionView::Template::Error (The single-table inheritance mechanism failed to locate the subclass: 'GithubService'. This
diff --git a/doc/gitlab-basics/command-line-commands.md b/doc/gitlab-basics/command-line-commands.md
index 74539b3364275948e953ab4e1c42fe588fe729c7..fed91046c320ec11ce39d15fab4fed48a21d27d7 100644
--- a/doc/gitlab-basics/command-line-commands.md
+++ b/doc/gitlab-basics/command-line-commands.md
@@ -43,7 +43,7 @@ The list below is not exhaustive, but contains many of the most commonly used co
 To create a text file from the command line, for example `README.md`, follow these
 steps:
 
-```
+```shell
 touch README.md
 nano README.md
 #### ADD YOUR INFORMATION
@@ -59,14 +59,14 @@ It is easy to delete (remove) a file or directory, but be careful:
 DANGER: **Danger:**
 This will **permanently** delete a file.
 
-```
+```shell
 rm NAME-OF-FILE
 ```
 
 DANGER: **Danger:**
 This will **permanently** delete a directory and **all** of its contents.
 
-```
+```shell
 rm -r NAME-OF-DIRECTORY
 ```
 
@@ -77,14 +77,14 @@ and then execute any of them again, if needed.
 
 First, list the commands you executed previously:
 
-```
+```shell
 history
 ```
 
 Then, choose a command from the list and check the number next to the command (`123`,
 for example) . Execute the same full command with:
 
-```
+```shell
 !123
 ```
 
@@ -95,7 +95,7 @@ need administrator's rights to execute commands that affect the system, or try t
 protected data, for example. You can use `sudo` to execute these commands, but you
 will likely be asked for an administrator password.
 
-```
+```shell
 sudo RESTRICTED-COMMAND
 ```
 
diff --git a/doc/install/azure/index.md b/doc/install/azure/index.md
index bd96db91a2c72bbcd3b6479c4f5aa0cdee0f1be3..daf6eb2ba406ae198c9e478dd8c897b02bf141e7 100644
--- a/doc/install/azure/index.md
+++ b/doc/install/azure/index.md
@@ -376,7 +376,7 @@ terminal window:
 
 Once the update process has completed, you'll see a message like this:
 
-```
+```plaintext
 Upgrade complete! If your GitLab server is misbehaving try running
 
    sudo gitlab-ctl restart
diff --git a/doc/install/google_cloud_platform/index.md b/doc/install/google_cloud_platform/index.md
index aba308706400c595cd23aca2248a891ed4e51345..9fcf6e6420c3e0bcc3258c940c31e0b8caf506db 100644
--- a/doc/install/google_cloud_platform/index.md
+++ b/doc/install/google_cloud_platform/index.md
@@ -90,14 +90,14 @@ here's how you configure GitLab to be aware of the change:
 
 1. Edit the config file of Omnibus GitLab using your favorite text editor:
 
-   ```
+   ```shell
    sudo vim /etc/gitlab/gitlab.rb
    ```
 
 1. Set the `external_url` value to the domain name you wish GitLab to have
    **without** `https`:
 
-   ```
+   ```ruby
    external_url 'http://gitlab.example.com'
    ```
 
@@ -105,7 +105,7 @@ here's how you configure GitLab to be aware of the change:
 
 1. Reconfigure GitLab for the changes to take effect:
 
-   ```
+   ```shell
    sudo gitlab-ctl reconfigure
    ```
 
diff --git a/doc/install/installation.md b/doc/install/installation.md
index 33367d6063ff5d5f417d70af1ad72e31d30b89f2..deef2cef21bc38ec60ef500d0eafb80951a9a109 100644
--- a/doc/install/installation.md
+++ b/doc/install/installation.md
@@ -47,7 +47,7 @@ If the highest number stable branch is unclear, check the [GitLab blog](https://
 This is the main directory structure you will end up with following the instructions
 of this page:
 
-```
+```plaintext
 |-- home
 |   |-- git
 |       |-- .ssh
@@ -147,7 +147,7 @@ ldd /usr/local/bin/git | grep pcre2
 
 The output should be similar to:
 
-```
+```plaintext
 libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x00007f08461c3000)
 ```
 
@@ -904,7 +904,7 @@ for the changes to take effect.
 
 If you'd like to connect to a Redis server on a non-standard port or a different host, you can configure its connection string via the `config/resque.yml` file.
 
-```
+```yaml
 # example
 production:
   url: redis://redis.example.tld:6379
@@ -912,7 +912,7 @@ production:
 
 If you want to connect the Redis server via socket, use the "unix:" URL scheme and the path to the Redis socket file in the `config/resque.yml` file.
 
-```
+```yaml
 # example
 production:
   url: unix:/path/to/redis/socket
@@ -920,7 +920,7 @@ production:
 
 Also, you can use environment variables in the `config/resque.yml` file:
 
-```
+```yaml
 # example
 production:
   url: <%= ENV.fetch('GITLAB_REDIS_URL') %>
@@ -930,7 +930,7 @@ production:
 
 If you are running SSH on a non-standard port, you must change the GitLab user's SSH config.
 
-```
+```plaintext
 # Add to /home/git/.ssh/config
 host localhost          # Give your setup a name (here: override localhost)
     user git            # Your remote git user
diff --git a/doc/install/openshift_and_gitlab/index.md b/doc/install/openshift_and_gitlab/index.md
index 232ad2f15091470a0bc4eea4b3e7bc4823fa00f8..2689fcb164503d17ec1e701b6d95898807f56883 100644
--- a/doc/install/openshift_and_gitlab/index.md
+++ b/doc/install/openshift_and_gitlab/index.md
@@ -184,7 +184,7 @@ Sometimes though, you may encounter some issues, like OpenShift not running
 when booting up the VM. The web UI may not responding or you may see issues
 when trying to login with `oc`, like:
 
-```
+```plaintext
 The connection to the server 10.2.2.2:8443 was refused - did you specify the right host or port?
 ```
 
@@ -403,7 +403,7 @@ Let's see how to do that using the following steps.
 
    The output will be similar to:
 
-   ```
+   ```plaintext
    NAME                   CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
    gitlab-ce              172.30.243.177   <none>        22/TCP,80/TCP   5d
    gitlab-ce-postgresql   172.30.116.75    <none>        5432/TCP        5d
@@ -436,7 +436,7 @@ Let's see how to do that using the following steps.
 
    which will return something like:
 
-   ```
+   ```plaintext
    NAME          DESIRED   CURRENT   AGE
    gitlab-ce-2   2         2         5d
    ```
diff --git a/doc/install/requirements.md b/doc/install/requirements.md
index 375137adad32e07cadc23a7165f15c30bd86d607..e85f82e1c1a0adfdaf97c1e18adc8070a56dc9e1 100644
--- a/doc/install/requirements.md
+++ b/doc/install/requirements.md
@@ -147,7 +147,7 @@ Users using PostgreSQL must ensure the `pg_trgm` extension is loaded into every
 GitLab database. This extension can be enabled (using a PostgreSQL super user)
 by running the following query for every database:
 
-```
+```sql
 CREATE EXTENSION pg_trgm;
 ```
 
@@ -170,7 +170,7 @@ If you are using [GitLab Geo](../development/geo.md):
   [postgres_fdw](https://www.postgresql.org/docs/9.6/postgres-fdw.html)
   extension.
 
-```
+```sql
 CREATE EXTENSION postgres_fdw;
 ```
 
diff --git a/doc/integration/azure.md b/doc/integration/azure.md
index 60885f7d9baf325988d5e13c823e3d2e0cf9eef8..d6205b60f3d8fcddd8a3e4e5493882788a0ee04e 100644
--- a/doc/integration/azure.md
+++ b/doc/integration/azure.md
@@ -67,7 +67,7 @@ To enable the Microsoft Azure OAuth2 OmniAuth provider you must register your ap
 
    For installations from source:
 
-   ```
+   ```yaml
    - { name: 'azure_oauth2',
      args: { client_id: "CLIENT ID",
      client_secret: "CLIENT SECRET",
diff --git a/doc/integration/bitbucket.md b/doc/integration/bitbucket.md
index 1ce361761ff8033c085d8be200b7686b70318e3d..ac462ff7becf9a21592cc2582b63d7f10e328a36 100644
--- a/doc/integration/bitbucket.md
+++ b/doc/integration/bitbucket.md
@@ -57,7 +57,7 @@ you to use.
 
    And grant at least the following permissions:
 
-   ```
+   ```plaintext
    Account: Email, Read
    Projects: Read
    Repositories: Read
@@ -77,7 +77,7 @@ you to use.
 
 1. On your GitLab server, open the configuration file:
 
-   ```
+   ```shell
    # For Omnibus packages
    sudo editor /etc/gitlab/gitlab.rb
 
diff --git a/doc/integration/cas.md b/doc/integration/cas.md
index 8aadfaad4e9076695f5e5bc6240c6cc9aa8b5135..cb92198f88d58dad3cfed819720c2e99f86904ac 100644
--- a/doc/integration/cas.md
+++ b/doc/integration/cas.md
@@ -41,7 +41,7 @@ To enable the CAS OmniAuth provider you must register your application with your
 
    For installations from source:
 
-   ```
+   ```yaml
    - { name: 'cas3',
        label: 'cas',
        args: {
diff --git a/doc/integration/elasticsearch.md b/doc/integration/elasticsearch.md
index e7667ea8080ac50a65d954ae47faf72720ede8cf..8b1d7b8a106ab1568b37905e0eb728b442cf1658 100644
--- a/doc/integration/elasticsearch.md
+++ b/doc/integration/elasticsearch.md
@@ -563,7 +563,7 @@ Here are some common pitfalls and how to overcome them:
   If you enabled Elasticsearch before GitLab 8.12 and have not rebuilt indexes you will get
   exception in lots of different cases:
 
-  ```text
+  ```plaintext
   Elasticsearch::Transport::Transport::Errors::BadRequest([400] {
       "error": {
           "root_cause": [{
@@ -587,7 +587,7 @@ Here are some common pitfalls and how to overcome them:
 
 - Exception `Elasticsearch::Transport::Transport::Errors::RequestEntityTooLarge`
 
-  ```text
+  ```plaintext
   [413] {"Message":"Request size exceeded 10485760 bytes"}
   ```
 
@@ -619,7 +619,7 @@ Here are some common pitfalls and how to overcome them:
 
 - **I'm getting a `health check timeout: no Elasticsearch node available` error in Sidekiq during the indexing process**
 
-   ```
+   ```plaintext
    Gitlab::Elastic::Indexer::Error: time="2020-01-23T09:13:00Z" level=fatal msg="health check timeout: no Elasticsearch node available"
    ```
 
diff --git a/doc/integration/facebook.md b/doc/integration/facebook.md
index 878d6c38230f2f9510ecb045741f4168c3573c8f..97623b2a782724edb840aa993fdf4c1e98e554ed 100644
--- a/doc/integration/facebook.md
+++ b/doc/integration/facebook.md
@@ -81,7 +81,7 @@ To enable the Facebook OmniAuth provider you must register your application with
 
    For installations from source:
 
-   ```
+   ```yaml
    - { name: 'facebook', app_id: 'YOUR_APP_ID',
      app_secret: 'YOUR_APP_SECRET' }
    ```
diff --git a/doc/integration/github.md b/doc/integration/github.md
index 269f3aa0f1991b1da384777ef7ef97ff0b4f486c..f95159731aa3b348f7eb53d0eea7cc374ae7902b 100644
--- a/doc/integration/github.md
+++ b/doc/integration/github.md
@@ -69,7 +69,7 @@ Follow these steps to incorporate the GitHub OAuth 2 app in your GitLab server:
 
    For GitHub.com:
 
-   ```
+   ```yaml
    - { name: 'github', app_id: 'YOUR_APP_ID',
      app_secret: 'YOUR_APP_SECRET',
      args: { scope: 'user:email' } }
@@ -77,7 +77,7 @@ Follow these steps to incorporate the GitHub OAuth 2 app in your GitLab server:
 
    For GitHub Enterprise:
 
-   ```
+   ```yaml
    - { name: 'github', app_id: 'YOUR_APP_ID',
      app_secret: 'YOUR_APP_SECRET',
      url: "https://github.example.com/",
@@ -124,7 +124,7 @@ omnibus_gitconfig['system'] = { "http" => ["sslVerify = false"] }
 
 For installation from source:
 
-```
+```yaml
 - { name: 'github', app_id: 'YOUR_APP_ID',
   app_secret: 'YOUR_APP_SECRET',
   url: "https://github.example.com/",
@@ -134,7 +134,7 @@ For installation from source:
 
 You will also need to disable Git SSL verification on the server hosting GitLab.
 
-```
+```shell
 git config --global http.sslVerify false
 ```