From d6a8e9c9c900cf3c990771dd5a24d663a2633114 Mon Sep 17 00:00:00 2001
From: shettygururaj <gururaj.shetty@huawei.com>
Date: Fri, 2 Apr 2021 17:15:18 +0530
Subject: [PATCH] openharmony-vision: Use Tab Extension for better look and
 feel

Signed-off-by: shettygururaj <gururaj.shetty@huawei.com>
---
 conf.py                         |  3 +-
 overview/openharmony-vision.rst | 69 ++++++++++++++++-----------------
 requirements.txt                |  1 +
 3 files changed, 36 insertions(+), 37 deletions(-)

diff --git a/conf.py b/conf.py
index 85902ef..ca37c9a 100644
--- a/conf.py
+++ b/conf.py
@@ -33,8 +33,7 @@ release = version
 # Add any Sphinx extension module names here, as strings. They can be
 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
 # ones.
-extensions = [
-]
+extensions = ['sphinx_tabs.tabs']
 
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
diff --git a/overview/openharmony-vision.rst b/overview/openharmony-vision.rst
index 96735c8..123a7df 100644
--- a/overview/openharmony-vision.rst
+++ b/overview/openharmony-vision.rst
@@ -56,49 +56,48 @@ framework layer, and application layer. In multi-device development, Yocto
 provides the capabilities to tweak layers and recipes to remove unnecessary
 subsystems, functions, or modules as required.
 
-Kernel Layer
-------------
+.. tabs::
 
-|main_project_name| will support a multi-kernel design out of the box (Linux
-kernel and an RTOS such as Zephyr RTOS or LiteOS) so that appropriate OS
-kernels can be selected for devices with different resource limitations. Over
-time, a kernel abstraction layer (KAL) will shield differences in kernel
-implementations and provide the upper layer with basic kernel capabilities,
-including process and thread management, memory management, file system,
-network management, and peripheral management.
+   .. tab:: Kernel Layer
 
-System Services Layer
----------------------
+      |main_project_name| will support a multi-kernel design out of the box
+      (Linux kernel and an RTOS such as Zephyr RTOS or LiteOS) so that
+      appropriate OS kernels can be selected for devices with different
+      resource limitations. Over time, a kernel abstraction layer (KAL) will
+      shield differences in kernel implementations and provide the upper layer
+      with basic kernel capabilities, including process and thread management,
+      memory management, file system, network management, and peripheral
+      management.
 
-The System Services Layer will contain the bulk of the differentiating features
-of |main_project_name|. It will provide a complete set of capabilities
-essential for |main_project_name| to offer services for applications through
-the framework layer. The system services layer will add the following features
-over time:
+   .. tab:: System Services Layer
 
-- The protocols and primitives that allow devices to discover each other
+      The System Services Layer will contain the bulk of the differentiating
+      features of |main_project_name|. It will provide a complete set of
+      capabilities essential for |main_project_name| to offer services for
+      applications through the framework layer. The system services layer will
+      add the following features over time:
 
-- APIs to allow sharing of computing, storage and other resources
+      - The protocols and primitives that allow devices to discover each other
 
-- APIs that allow applications to be more context-aware due to collaboration
-  with other devices in the network
+      - APIs to allow sharing of computing, storage and other resources
 
-- APIs to allow applications to expose business logic as `abilities` that may
-  be integrated into other applications or even used on other devices in the
-  network
+      - APIs that allow applications to be more context-aware due to 
+        collaboration with other devices in the network
 
-Framework Layer
----------------
+      - APIs to allow applications to expose business logic as `abilities`
+        that may be integrated into other applications or even used on other
+        devices in the network
 
-The Framework layer will provide an SDK to develop |main_project_name|
-applications in multiple languages such as Java, C, C++, and JS depending on
-the target device class and its HW constraints.
+   .. tab:: Framework Layer
 
-Application Layer
------------------
+      The Framework layer will provide an SDK to develop |main_project_name|
+      applications in multiple languages such as Java, C, C++, and JS depending
+      on the target device class and its HW constraints.
 
-When completed, the Application layer will host the system and third-party
-applications. |main_project_name| applications will be able to use APIs to expose
-business logic as `abilities` that may be utilized inside other applications, thus
-allowing creation of more integrated experiences on the same device as well as
-distributed across devices.
+   .. tab:: Application Layer
+
+      When completed, the Application layer will host the system and
+      third-party applications. |main_project_name| applications will be able
+      to use APIs to expose business logic as `abilities` that may be utilized
+      inside other applications, thus allowing creation of more integrated 
+      experiences on the same device as well as distributed across devices.
diff --git a/requirements.txt b/requirements.txt
index 086aaeb..07ec601 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,3 +4,4 @@
 
 six
 recommonmark
+sphinx-tabs
-- 
GitLab