docs: A set of cosmetical changes in documentation

- limit page width to 1100px and adjust frontpage tiles
- make glossary flat structure (remove sub sections)
- add favicon
- disable "View page source" link
- disable Prev,Next buttons
- disable "Built with Sphinx ..." in page footer
- add captions to some pages to shrink names in TOC

Signed-off-by: Anton Komlev <anton.komlev@arm.com>
Change-Id: Ib6844b118c25b4437d7f11014112533fd8d5547b
diff --git a/docs/_static/css/tfm_custom.css b/docs/_static/css/tfm_custom.css
index 909e2ac..c7fe67f 100644
--- a/docs/_static/css/tfm_custom.css
+++ b/docs/_static/css/tfm_custom.css
@@ -5,9 +5,11 @@
 #
 #----------------------------------------------------------------------------*/
 
-/* Expand width to fill screen */
-.wy-nav-content {
-   max-width: none;
+/* Limit page width */
+@media only screen and (min-width: 780px) {
+    .wy-nav-content {
+        max-width: 1100px;
+    }
 }
 
 /* Flexbox Tile Grid Settings  */
@@ -30,16 +32,16 @@
     -webkit-box-flex: 0;
         -ms-flex: 0 0 auto;
             flex: 0 0 auto;
-    width: 220px;
+    width: 200px;
     text-align: center;
     margin: 1rem;
 }
 
 .grid-item a {
     display: block;
-    width: 220px;
-    height: 220px;
-    padding: 22px;
+    width: 190px;
+    height: 190px;
+    padding: 12px;
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
@@ -59,27 +61,17 @@
 }
 
 .grid-item h2 {
-    font-size: 1.1rem;
+    font-size: 1rem;
+    margin-bottom: 0.5rem;
 }
 
 .grid-item img {
-    margin-bottom: 1.1rem;
     max-width: 75%;
+    margin-bottom: 0.5rem;
 }
 
+
 .grid-item a:hover {
     background-color: #32cd32;
     color: white;
 }
-
-
-.grid-item p {
-    margin-top: 0.5rem;
-    color: #333e48;
-}
-
-.grid-icon {
-   line-height: 1.8;
-   font-size: 6rem;
-   color: #343131;
-}
diff --git a/docs/_static/images/favicon.ico b/docs/_static/images/favicon.ico
new file mode 100644
index 0000000..915353d
--- /dev/null
+++ b/docs/_static/images/favicon.ico
Binary files differ
diff --git a/docs/conf.py b/docs/conf.py
index f856fa7..796fa83 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -106,7 +106,15 @@
 # further.  For a list of options available for each theme, see the
 # documentation.
 #
-html_theme_options = {'collapse_navigation': False}
+html_theme_options = {
+    'collapse_navigation': False,
+    'prev_next_buttons_location' : None   # Hide Prev and Next buttons
+#    'display_version': True,    # Show version under logo
+}
+
+# Remove the "View page source" link from the top of docs pages
+html_show_sourcelink = False
+
 #
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to configuration directory. They are copied after the builtin static
@@ -116,6 +124,9 @@
 # Set the documentation logo relative to configuration directory
 html_logo = '_static/images/tf_logo_white.png'
 
+# Set the documentation favicon
+html_favicon = '_static/images/favicon.ico'
+
 # Custom sidebar templates, must be a dictionary that maps document names
 # to template names.
 #
@@ -129,6 +140,10 @@
 #Disable adding conf.py copyright notice to HTML output
 html_show_copyright = False
 
+# Disable showing Sphinx footer message:
+# "Built with Sphinx using a theme provided by Read the Docs. "
+html_show_sphinx = False
+
 #Add custom css for HTML. Used to allow full page width rendering
 def setup(app):
     app.add_css_file('css/tfm_custom.css')
diff --git a/docs/glossary.rst b/docs/glossary.rst
index 73e91aa..2ee18e7 100644
--- a/docs/glossary.rst
+++ b/docs/glossary.rst
@@ -2,35 +2,31 @@
 Glossary of terms and abbreviations
 ###################################
 
-************
-TF-M related
-************
 .. glossary::
+    :sorted:
 
     Application RoT
-    Application Root of Trust
         `PSA term`_. The security domain in which additional security services
         are implemented.
 
     HAL
-    Hardware Abstraction Layer
+        Hardware Abstraction Layer:
         Interface to abstract hardware-oriented operations and provides a set of
         APIs to the upper layers.
 
     RoT
-    Root of Trust
+        Root of Trust:
         `PSA term`_. This is the minimal set of software, hardware and data that
         is implicitly trusted in the platform — there is no software or hardware
         at a deeper level that can verify that the Root of Trust is authentic
         and unmodified.
 
     RoT Service
-    Root of Trust Service.
         `PSA term`_. A set of related security operations that are implemented
         in a Secure Partition.
 
-    NSPE : TF-M related
-    Non Secure Processing Enviroment
+    NSPE
+        Non Secure Processing Enviroment:
         `PSA term`_. In TF-M this means non secure domain typically running an
         OS using services provided by TF-M.
 
@@ -44,111 +40,90 @@
         `PSA term`_. Platform Security Architecture Firmware Framework for M.
 
     PSA RoT
-    PSA Root of Trust
         `PSA term`_. This defines the most trusted security domain within a PSA
         system.
 
-    SFN : TF-M related
-    Secure Function
+    SFN
+        Secure Function:
         The function entry to a secure service. Multiple SFN per SS are
         permitted.
 
-    SP : TF-M related
-    Secure Partition
+    SP
+        Secure Partition:
         A logical container for secure services.
 
-    SPE : TF-M related
-    Secure Processing Environment
+    SPE
+        Secure Processing Environment:
         `PSA term`_. In TF-M this means the secure domain protected by TF-M.
 
-    SPM : TF-M related
-    Secure Partition Manager
+    SPM
+        Secure Partition Manager
         The TF-M component responsible for enumeration, management and isolation
         of multiple Secure Partitions within the TEE.
 
-    SPRT : TF-M related
-    Secure Partition Runtime
+    SPRT
+        Secure Partition Runtime:
         The TF-M component responsible for Secure Partition runtime
         functionalities.
 
-    SPRTL : TF-M related
-    Secure Partition Runtime Library
+    SPRTL
+        Secure Partition Runtime Library:
         A library contains the SPRT code and data.
 
-    SS : TF-M related
-    Secure Service
+    SS
+        Secure Service:
         A component within the TEE that is atomic from a security/trust point of
         view, i.e. which is viewed as a single entity from a TF-M point of view.
 
-    PS : TF-M related
-    Protected Storage
-        Protected storage service provided by TF-M.
+    PS
+        Protected Storage service provided by TF-M.
 
-    ITS : TF-M related
-    Internal Trusted Storage
+    ITS
         Internal Trusted Storage service provided by TF-M.
 
     TFM
     TF-M
-    Trusted Firmware-M
-    Trusted Firmware for M-class
+        Trusted Firmware-M or Trusted Firmware for M-class.
         ARM TF-M provides a reference implementation of secure world software
         for ARMv8-M.
 
     TBSA-M
-    Trusted Base System Architecture for Armv6-M, Armv7-M and Armv8-M
+        Trusted Base System Architecture for Armv6-M, Armv7-M and Armv8-M.
         TBSA term. See `Trusted Base System Architecture for Armv6-M, Armv7-M
         and Armv8-M`_
 
-****************
-SSE-200 platform
-****************
-.. glossary::
-
-    MPC : SSE-200 platform
-    Memory Protection Controller
+    MPC
+        Memory Protection Controller:
         Bus slave-side security controller for memory regions.
 
-    PPC : SSE-200 platform
-    Peripheral Protection Controller
+    PPC
+        Peripheral Protection Controller:
         Bus slave-side security controller for peripheral access.
 
-************
-v8M-specific
-************
-.. glossary::
-
-    S/NS : v8M-specific
-    Secure/Non-secure
+    S/NS
+        Secure/Non-secure:
         The separation provided by TrustZone hardware components in the system.
 
-    SAU : v8M-specific
-    Secure Attribution Unit
+    SAU
+        Secure Attribution Unit:
         Hardware component providing isolation between Secure, Non-secure
         Callable and Non-secure addresses.
 
-***************
-M-class Generic
-***************
-.. glossary::
-
     AAPCS
-    ARM Architecture Procedure Call Standard
+        ARM Architecture Procedure Call Standard:
         The AAPCS defines how subroutines can be separately written, separately
         compiled, and separately assembled to work together. It describes a
         contract between a calling routine and a called routine
 
-    MPU : M-class Generic
-    Memory Protection Unit
+    MPU
+        Memory Protection Unit:
         Hardware component providing privilege control.
 
     SVC
-    SuperVisor Call
+        SuperVisor Call:
         ARMv7M assembly instruction to call a privileged handler function
 
-*********
-Reference
-*********
+.. rubric:: Reference
 
 | `PSA Firmware_Framework for M`_
 
diff --git a/docs/index.rst b/docs/index.rst
index c941e2a..d8e93a7 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -92,7 +92,7 @@
     API Reference <https://ci.trustedfirmware.org/view/TF-M/job/tf-m-build-docs-nightly/lastSuccessfulBuild/artifact/trusted-firmware-m/build/docs/reference_manual/html/index.html>
     Security Center <https://developer.trustedfirmware.org/w/collaboration/security_center>
     Platform Security Architecture <https://developer.arm.com/architectures/security-architectures/platform-security-architecture>
-    glossary
+    Glossary <glossary>
 
 --------------
 
diff --git a/docs/integration_guide/services/index.rst b/docs/integration_guide/services/index.rst
index 30a2a8a..f8892ab 100644
--- a/docs/integration_guide/services/index.rst
+++ b/docs/integration_guide/services/index.rst
@@ -5,7 +5,14 @@
     :maxdepth: 1
     :glob:
 
-    *
+    Initial Attestation <tfm_attestation_integration_guide>
+    Audit Log <tfm_audit_integration_guide>
+    Crypto <tfm_crypto_integration_guide>
+    Internal Storage <tfm_its_integration_guide>
+    Platform <tfm_platform_integration_guide>
+    Protected Storage <tfm_ps_integration_guide>
+    PSA Proxy <tfm_psa_proxy_integration_guide>
+    How to add a partition <tfm_secure_partition_addition>
 
 --------------