blob: f22683d14d65df88484034c1f3cb69e4c954d4f9 [file] [log] [blame]
Ales Komarek75cdb6f2013-12-12 14:48:22 +01001{%- if pillar.sphinx.server.enabled %}
2
3sphinx_packages:
4 pkg.installed:
5 - names:
6 - python-sphinx
7
8/srv/sphinx/sites:
Ales Komarek30eecea2014-09-07 14:52:36 +02009 file.directory:
Ales Komarek75cdb6f2013-12-12 14:48:22 +010010 - mode: 755
11 - makedirs: true
12
Ales Komarek30eecea2014-09-07 14:52:36 +020013/srv/sphinx/extern:
14 file.directory:
15 - mode: 755
16 - makedirs: true
Ales Komarek75cdb6f2013-12-12 14:48:22 +010017
Ales Komarek30eecea2014-09-07 14:52:36 +020018{%- for doc_name, doc in server.doc.iteritems() %}
19
20/srv/sphinx/sites/{{ doc_name }}:
21 file.directory:
Ales Komarek75cdb6f2013-12-12 14:48:22 +010022 - mode: 755
23 - makedirs: true
24 - require:
25 - file: /srv/sphinx/sites
26
Ales Komarek30eecea2014-09-07 14:52:36 +020027{%- if doc.source.engine == 'git' %}
28
29sphinx_source_{{ doc_name }}:
30 {{ doc.source.engine }}.latest:
31 - name: {{ doc.source.address }}
32 - target: /srv/sphinx/extern/{{ doc_name }}
33 - rev: {{ plugin.source.revision }}
Ales Komarek75cdb6f2013-12-12 14:48:22 +010034 - require:
Ales Komarek30eecea2014-09-07 14:52:36 +020035 - file: /srv/sphinx/extern
36 - require_in:
37 - cmd: generate_sphinx_doc_{{ doc_name }}
38
39generate_sphinx_doc_{{ doc_name }}:
40 cmd.run:
41 - name: sphinx-build -b {{ doc.builder }} /srv/sphinx/extern/{{ doc_name }} /srv/sphinx/sites/{{ doc_name }}
42 - require:
43 - git: sphinx_source_{{ doc_name }}
44 - file: /srv/sphinx/sites/{{ doc_name }}
45
46{%- endif -%}
47
48{%- if doc.source.engine == 'local' %}
49
50generate_sphinx_doc_{{ doc_name }}:
51 cmd.run:
52 - name: sphinx-build -b {{ doc.builder }} {{ doc.source.path }} /srv/sphinx/sites/{{ doc_name }}
53 - require:
54 - file: /srv/sphinx/sites/{{ doc_name }}
55
56{%- endif %}
Ales Komarek75cdb6f2013-12-12 14:48:22 +010057
58{%- endfor %}
59
60{%- endif %}