templatize the language-bindings page

Add more projects to the list and update the language-bindings page to
pull data from projects.yaml instead of being hard-coded.

Change-Id: Ie46ba93326141988879b9a7dc097f107e2159d5c
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
Doug Hellmann 2017-06-21 14:43:26 -04:00
parent 2e587af407
commit 89465b0526
3 changed files with 149 additions and 81 deletions

View File

@ -24,69 +24,13 @@
<div class="col-lg-6 col-md-6 col-sm-6">
<div class="docs-link-sections">
<h3><i class="fa fa-book"></i> Bindings for the OpenStack APIs</h3>
<a href="/python-ironicclient/latest/">
Bare Metal service Python Bindings (ironic client)
</a><br />
<a href="/python-cinderclient/latest/">
Block Storage service Python Bindings (cinder client)
</a><br />
<a href="/python-novaclient">
Compute service Python Bindings (nova client)
</a><br />
<a href="/python-magnumclient">
Container Infrastructure Management service Python Bindings (magnum client)
</a><br />
<a href="/python-saharaclient">
Data Processing service Python Bindings (sahara client)
</a><br />
<a href="/python-troveclient">
Database service Python Bindings (trove client)
</a><br />
<a href="/python-designateclient">
DNS service Python Bindings (designate client)
</a><br />
<a href="/python-congressclient/latest/">
Governance service Python Bindings (congress client)
</a><br />
<a href="/python-keystoneclient/latest/">
Identity service Python Bindings (keystone client)
</a><br />
<a href="/python-glanceclient/latest/">
Image service Python Bindings (glance client)
</a><br />
<a href="/python-watcherclient/latest/">
Infrastructure Optimization service Python Bindings (watcher client)
</a><br />
<a href="/python-barbicanclient/latest/">
Key Management service Python Bindings (barbican client)
</a><br />
<a href="/python-zaqarclient/latest/">
Messaging service Python Bindings (zaqarclient client)
</a><br />
<a href="/python-neutronclient">
Networking service Python Bindings (neutron client)
</a><br />
<a href="/python-swiftclient/latest/">
Object Storage service Python Bindings (swift client)
</a><br />
<a href="/python-heatclient/latest/">
Orchestration service Python Bindings (heat client)
</a><br />
<a href="/python-manilaclient/latest/">
Shared File Systems service Python Bindings (manila client)
</a><br />
<a href="/python-aodhclient/latest/">
Telemetry Alarming service Python Bindings (aodh client)
</a><br />
<a href="/python-ceilometerclient/latest/">
Telemetry Data Collection service Python Bindings (ceilometer client)
</a><br />
<a href="/python-gnocchiclient/latest/">
Telemetry Time Series Database as a Service Python Bindings (gnocchi client)
</a><br />
<a href="/python-mistralclient/latest/">
Workflow service Python Bindings (mistral client)
{% for project in projects|sort(attribute='name') -%}
{% if project.type == 'client' %}
<a href="/{{project.name}}/latest/">
{{project.service_type}} ({{project.description}})
</a><br />
{% endif %}
{%- endfor %}
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-6">

View File

@ -35,7 +35,7 @@
<ul>
{% for project in projects -%}
{% if project.has_install_guide %}
<li><a href="/{{project.name}}/{{SERIES}}/install/">{{project.service_type}} ({{project.name|title}})</a></li>
<li><a href="/{{project.name}}/{{SERIES}}/install/">{{project.service}} ({{project.name|title}})</a></li>
{% endif %}
{%- endfor %}
</ul>

View File

@ -1,55 +1,179 @@
---
# Schema:
#
# name -- the short project name, should match the repo
#
# description -- short description such as 'ironic client'
#
# service -- the official service type description string or for
# client libraries a string like 'Bare Metal service
# Python Bindings'
#
# has_install_guide -- boolean indicating whether the project should
# be included list of installation guides
#
# type -- one of 'service' (if it has a REST API), 'client' (for
# python client libraries), 'library' (for other types of
# libraries), or 'other' (for anything else)
#
- name: keystone
service_type: Identity service
service: Identity service
has_install_guide: true
type: service
- name: python-keystoneclient
service: Identity service Python Bindings
type: client
description: keystone client
- name: glance
service_type: Image service
service: Image service
has_install_guide: true
type: service
- name: python-glanceclient
service: Image service Python Bindings
type: client
description: glance client
- name: nova
service_type: Compute service
service: Compute service
has_install_guide: true
type: service
- name: python-novaclient
service: Compute service Python Bindings
type: client
description: nova client
- name: neutron
service_type: Networking service
service: Networking service
has_install_guide: true
type: service
- name: python-neutronclient
service: Networking service Python Bindings
type: client
description: neutron client
- name: horizon
service_type: Dashboard
service: Dashboard
has_install_guide: true
type: service
- name: cinder
service_type: Block Storage service
service: Block Storage service
has_install_guide: true
type: service
- name: python-cinderclient
service: Block Storage service Python Bindings
type: client
description: cinder client
- name: ironic
service_type: Bare Metal service
service: Bare Metal service
has_install_guide: true
type: service
- name: python-ironicclient
service: Bare Metal service Python Bindings
type: client
description: ironic client
- name: magnum
service_type: Container Infrastructure Management service
service: Container Infrastructure Management service
has_install_guide: true
type: service
- name: python-magnumclient
service: Container Infrastructure Management service Python Bindings
type: client
description: magnum client
- name: trove
service_type: Database service
service: Database service
has_install_guide: true
type: service
- name: python-troveclient
service: Database service Python Bindings
type: client
description: trove client
- name: designate
service_type: DNS service
service: DNS service
has_install_guide: true
type: service
- name: python-designateclient
service: DNS service Python Bindings
type: client
description: designate client
- name: ec2-api
service_type: EC2 API compatibility layer
service: EC2 API compatibility layer
has_install_guide: true
type: service
- name: barbican
service_type: Key Manager service
service: Key Manager service
has_install_guide: true
type: service
- name: python-barbicanclient
service: Key Manager service Python Bindings
type: client
description: barbican client
- name: zaqar
service_type: Messaging service
service: Messaging service
has_install_guide: true
type: service
- name: python-zaqarclient
service: Messaging service Python Bindings
type: client
description: zaqar client
- name: swift
service_type: Object Storage service
service: Object Storage service
has_install_guide: true
type: service
- name: python-swiftclient
service: Object Storage service Python Bindings
type: client
description: swift client
- name: heat
service_type: Orchestration service
service: Orchestration service
has_install_guide: true
type: service
- name: python-heatclient
service: Orchestration service Python Bindings
type: client
description: heat client
- name: manila
service_type: Shared File Systems service
service: Shared File Systems service
has_install_guide: true
type: service
- name: python-manilaclient
service: Shared File Systems service Python Bindings
type: client
description: manila client
- name: aodh
service_type: Telemetry Alarming services
service: Telemetry Alarming services
has_install_guide: true
type: service
- name: python-aodhclient
service: Telemetry Alarming service Python Bindings
type: client
description: aodh client
- name: ceilometer
service_type: Telemetry Data Collection service
service: Telemetry Data Collection service
has_install_guide: true
type: service
- name: python-ceilometerclient
service: Telemetry Data Collection service Python Bindings
type: client
description: ceilometer client
- name: sahara
service: Data Processing service
has_install_guide: false
type: service
- name: python-saharaclient
service: Data Processing service Python Bindings
type: client
description: sahara client
- name: congress
service: Governance service
type: service
has_install_guide: false
- name: python-congressclient
service: Governance service Python Bindings
type: client
description: congress client
- name: python-watcherclient
service: Infrastructure Optimization service Python Bindings
type: client
description: watcher client
- name: python-mistralclient
service: Workflow service Python Bindings
type: client
description: mistral client