**Apache Airflow version**: 1.10.14

**Environment**:

- **Cloud provider or hardware configuration**: docker
- **OS** (e.g. from /etc/os-release): apache/airflow:1.10.14-python3.8
- **Kernel** (e.g. `uname -a`): Linux host 5.4.0-62-generic #70-Ubuntu SMP Tue Jan 12 12:45:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
- **Install tools**: Docker version 19.03.8, build afacb8b7f0
- **Others**:

**What happened**:
I created a DAG and set the doc_md property on the object but it isn't being rendered in the UI.

**What you expected to happen**:
I expected the markdown to be rendered in the UI

**How to reproduce it**:
Created a new container using the `airflow:1.10.14`, I have tried the following images with the same results.

-  airflow:1.10.14:image-python3.8
-  airflow:1.10.14:image-python3.7
-  airflow:1.10.12:image-python3.7
-  airflow:1.10.12:image-python3.7

```
dag_docs = """
## Pipeline

#### Purpose
This is a pipeline
"""

dag = DAG(
    'etl-get_from_api',
    default_args=default_args,
    description='A simple dag',
    schedule_interval=timedelta(days=1),
)
dag.doc_md = dag_docs

```

![image](https://user-images.githubusercontent.com/29732449/105004686-6b77d680-5a88-11eb-9e34-c8dd38b3fd10.png)

![image](https://user-images.githubusercontent.com/29732449/105004748-7af71f80-5a88-11eb-811c-11bc6a351c71.png)

I have also tried with using a doc-string to populate the doc_md as well as adding some text within the constructor.

```
dag = DAG(
    'etl-get_from_api',
    default_args=default_args,
    description='A simple dag',
    schedule_interval=timedelta(days=1),
    doc_md = "some text"
)
```
All of the different permutations I've tried seem to have the same result. The only thing I can change is the description, that appears to show up correctly.

**Anything else we need to know**:
I have tried multiple browsers (Firefox and Chrome) and I have also done an inspect on from both the graph view and the tree view from within the dag but I can't find any of the text within the page at all.

tests/serialization/test_dag_serialization.py
assert set(simple_task.extra_links) == {
            'BigQuery Console #1',
            'BigQuery Console #2',
            'airflow',
            'github',
            'google',
        }
        ti = TaskInstance(task=simple_task, execution_date=test_date)
        ti.xcom_push('search_query', ["dummy_value_1", "dummy_value_2"])
        
        custom_inbuilt_link = simple_task.get_extra_links(test_date, "BigQuery Console #1")
        assert 'https://console.cloud.google.com/bigquery?j=dummy_value_1' == custom_inbuilt_link
        
        custom_inbuilt_link = simple_task.get_extra_links(test_date, "BigQuery Console #2")
        assert 'https://console.cloud.google.com/bigquery?j=dummy_value_2' == custom_inbuilt_link
        
        google_link_from_plugin = simple_task.get_extra_links(test_date, GoogleLink.name)
        assert "https://www.google.com" == google_link_from_plugin
    class ClassWithCustomAttributes:
        """
        Class for testing purpose: allows to create objects with custom attributes in one single statement.
        """
        def __init__(self, **kwargs):
            for key, value in kwargs.items():
                setattr(self, key, value)
        def __str__(self):
            return f"{self.__class__.__name__}({str(self.__dict__)})"
        def __repr__(self):
            return self.__str__()
        def __eq__(self, other):