Set CPS Project Status to 'Mature'
[cps.git] / docs / conf.py
1 #  ============LICENSE_START=======================================================
2 #  Copyright (C) 2021 Nordix Foundation
3 #  ================================================================================
4 #  Licensed under the Apache License, Version 2.0 (the "License");
5 #  you may not use this file except in compliance with the License.
6 #  You may obtain a copy of the License at
7 #
8 #        http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #  Unless required by applicable law or agreed to in writing, software
11 #  distributed under the License is distributed on an "AS IS" BASIS,
12 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #  See the License for the specific language governing permissions and
14 #  limitations under the License.
15 #
16 #  SPDX-License-Identifier: Apache-2.0
17 #  ============LICENSE_END=========================================================
18
19 from docutils.parsers.rst import directives
20
21 project = "onap"
22 release = "master"
23 version = "master"
24
25 author = "Open Network Automation Platform"
26 # yamllint disable-line rule:line-length
27 copyright = "ONAP. Licensed under Creative Commons Attribution 4.0 International License"
28
29 pygments_style = "sphinx"
30 html_theme = "sphinx_rtd_theme"
31 html_theme_options = {
32     "style_nav_header_background": "white",
33     "sticky_navigation": "False" }
34 html_logo = "_static/logo_onap_2017.png"
35 html_favicon = "_static/favicon.ico"
36 html_static_path = ["_static"]
37 html_show_sphinx = False
38
39 extensions = [
40     'sphinx.ext.intersphinx','sphinxcontrib.blockdiag',
41     'sphinxcontrib.seqdiag', 'sphinxcontrib.swaggerdoc', 'sphinx.ext.graphviz',
42     'sphinxcontrib.spelling']
43
44 #
45 # Map to 'latest' if this file is used in 'latest' (master) 'doc' branch.
46 # Change to {releasename} after you have created the new 'doc' branch.
47 #
48
49 branch = 'latest'
50
51 doc_url = 'https://docs.onap.org/projects'
52 master_doc = 'index'
53
54 exclude_patterns = ['.tox']
55
56 spelling_word_list_filename='spelling_wordlist.txt'
57 spelling_lang = "en_GB"
58
59 intersphinx_mapping = {}
60
61 intersphinx_mapping['onap-cps-ncmp-dmi-plugin'] = ('{}/onap-cps-ncmp-dmi-plugin/en/%s'.format(doc_url) % branch, None)
62 intersphinx_mapping['onap-cps-cps-temporal'] = ('{}/onap-cps-cps-temporal/en/%s'.format(doc_url) % branch, None)
63
64 linkcheck_ignore = [
65     'http://localhost',
66     'https://example.com',
67     'about:config'
68 ]
69
70
71 html_last_updated_fmt = '%d-%b-%y %H:%M'
72
73
74 def setup(app):
75     app.add_css_file("css/ribbon.css")
76
77
78 needs_extra_options = {
79     "target": directives.unchanged,
80     "keyword": directives.unchanged,
81     "introduced": directives.unchanged,
82     "updated": directives.unchanged,
83     "impacts": directives.unchanged,
84     "validation_mode": directives.unchanged,
85     "validated_by": directives.unchanged,
86     "test": directives.unchanged,
87     "test_case": directives.unchanged,
88     "test_file": directives.unchanged,
89     "notes": directives.unchanged,
90 }
91
92 needs_id_regex = "^[A-Z0-9]+-[A-Z0-9]+"
93 needs_id_required = True
94 needs_title_optional = True
95
96 needs_template_collapse = """
97 .. _{{id}}:
98
99 {% if hide == false -%}
100 .. role:: needs_tag
101 .. role:: needs_status
102 .. role:: needs_type
103 .. role:: needs_id
104 .. role:: needs_title
105
106 .. rst-class:: need
107 .. rst-class:: need_{{type_name}}
108
109 .. container:: need
110
111     `{{id}}` - {{content|indent(4)}}
112
113     .. container:: toggle
114
115         .. container:: header
116
117             Details
118
119 {% if status and  status|upper != "NONE" and not hide_status %}        | status: :needs_status:`{{status}}`{% endif %}
120 {% if tags and not hide_tags %}        | tags: :needs_tag:`{{tags|join("` :needs_tag:`")}}`{% endif %}
121 {% if keyword %}        | keyword: `{{keyword}}` {% endif %}
122 {% if target %}        | target: `{{target}}` {% endif %}
123 {% if introduced %}        | introduced: `{{introduced}}` {% endif %}
124 {% if updated %}        | updated: `{{updated}}` {% endif %}
125 {% if impacts %}        | impacts: `{{impacts}}` {% endif %}
126 {% if validation_mode %}        | validation mode: `{{validation_mode}}` {% endif %}
127 {% if validated_by %}        | validated by: `{{validated_by}}` {% endif %}
128 {% if test %}        | test: `{{test}}` {% endif %}
129 {% if test_case %}        | test case: {{test_case}} {% endif %}
130 {% if test_file %}        | test file: `{{test_file}}` {% endif %}
131 {% if notes %}        | notes: `{{notes}}` {% endif %}
132         | children: :need_incoming:`{{id}}`
133         | parents: :need_outgoing:`{{id}}`
134 {% endif -%}
135 """