diff --git a/docs-site/generate_infra_index.py b/docs-site/generate_infra_index.py new file mode 100755 index 0000000000..07e1b51003 --- /dev/null +++ b/docs-site/generate_infra_index.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Read the infra-documents.yaml file and generate the index.html file. +""" + +from __future__ import print_function + +import argparse +import os + +import jinja2 +import yaml + + +def render_template(template_filename, output_filename, template_context): + with open(template_filename, 'r') as f: + template = jinja2.Template(f.read()) + print('Writing %r' % output_filename) + with open(output_filename, 'w') as f: + f.write(template.render(**template_context)) + + +parser = argparse.ArgumentParser() +parser.add_argument('-v', '--verbose', + dest='verbose', + default=False, + action='store_true', + ) +parser.add_argument( + 'infile', + help='Path to infra-documents.yaml', +) +args = parser.parse_args() + +print('Reading documents data from %r' % args.infile) +infile = yaml.load(open(args.infile, 'r')) +template_path = os.path.dirname(args.infile) + +template_context = { + 'documents': infile['documents'], + 'all': infile['documents'] +} + +outdir = os.path.join(template_path, 'output') +if not os.path.exists(outdir): + os.makedirs(outdir) + + +for template_name, filename in [('infra-index.html.tmpl', 'index.html')]: + render_template(os.path.join(template_path, template_name), + os.path.join(outdir, filename), + template_context) diff --git a/docs-site/infra-documents.yaml b/docs-site/infra-documents.yaml new file mode 100644 index 0000000000..f80026c4d5 --- /dev/null +++ b/docs-site/infra-documents.yaml @@ -0,0 +1,19 @@ +documents: + - name: Infrastructure Manual + directory: manual + - name: Jenkins Job Builder + directory: jenkins-job-builder + - name: Nodepool + directory: nodepool + - name: OpenStackID + directory: openstackid + - name: Shade + directory: shade + - name: Slide Presentations + directory: publications + - name: Storyboard + directory: storyboard + - name: System Configuration + directory: system-config + - name: Zuul + directory: zuul diff --git a/docs-site/infra-index.html.tmpl b/docs-site/infra-index.html.tmpl new file mode 100644 index 0000000000..56b181c1f8 --- /dev/null +++ b/docs-site/infra-index.html.tmpl @@ -0,0 +1,130 @@ + + +
+ +