-
Notifications
You must be signed in to change notification settings - Fork 0
/
rst_to_asciidoc.yaml
51 lines (51 loc) · 1.73 KB
/
rst_to_asciidoc.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
- name: Convert restructured text (rst) to asciidoc
hosts: localhost
vars:
source_repository: git@github.com:ansible/ansible-builder.git
source_version: "1.2.0"
source_directory: ./ansible-builder
source_rst_path: "{{ source_directory }}/docs"
target_directory: ./converted_rst
tasks:
- name: Checkout the source repository
ansible.builtin.git:
repo: "{{ source_repository }}"
dest: "{{ source_directory }}"
single_branch: true
version: "{{ source_version }}"
- name: Extract all rst files from the source
ansible.posix.synchronize:
src: "{{ source_rst_path }}"
dest: "{{ target_directory }}"
delete: true
recursive: true
rsync_opts:
- "--exclude='_static'"
- "--exclude='_templates'"
- "--exclude='Makefile'"
- "--exclude='conf.py'"
- "--exclude='*.bat'"
- "--exclude='*.in'"
- "--exclude='*.txt'"
- name: Clean up by removing the source directory
ansible.builtin.file:
path: "{{ source_directory }}"
state: absent
- name: Create a variable that registers all rst files
ansible.builtin.find:
paths: "{{ target_directory }}"
patterns: "*.rst"
recurse: true
file_type: file
register: rst_files
- name: Convert rst to asciidoc
ansible.builtin.shell:
cmd: while read i; do pandoc -f rst -t asciidoc "$i" -o "${i%.*}.adoc"; done
stdin: "{{ item.path }}"
loop: "{{ rst_files.files }}"
changed_when: false
- name: Clean up by removing all source rst files
ansible.builtin.file:
path: "{{ item.path }}"
state: absent
loop: "{{ rst_files.files }}"