Skip to content

Commit ac7263d

Browse files
committed
docs: generate nicer PDF
1 parent ada3cac commit ac7263d

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

.github/workflows/wc-document-generation.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,15 @@ jobs:
2020
- name: Install dependencies
2121
run: |
2222
set -Eeuo pipefail
23-
sudo apt-get install --update --no-install-recommends -y lmodern pandoc plantuml texlive texlive-fonts-recommended
24-
python -m pip install gherkin-official pytm sbdl
23+
sudo apt-get update && sudo apt-get install --no-install-recommends -y plantuml
24+
python -m pip install gherkin-official sbdl
2525
- name: Generate requirements document
2626
run: |
2727
set -Eeuo pipefail
2828
python docs/support/gherkin-to-csv.py test/cpp/features/*.feature
29-
python -m csv-to-sbdl --identifier 0 --description 1 --skipheader rules.csv
30-
sbdl -m template-fill --template docs/templates/requirements.template.md output.sbdl | pandoc -f gfm -o requirements.pdf
29+
python -m csv-to-sbdl --identifier 0 --description 1 --skipheader rules.csv -o - | sbdl -m template-fill --template docs/templates/requirements.template.md output.sbdl > requirements.md
30+
- uses: docker://pandoc/latex:3.7@sha256:ea5a6702bd47aea68dc1da18ff7e9891a76097d10ae88ea03d343113114dcbbe
31+
args: --output requirements.pdf requirements.md
3132
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
3233
if: always()
3334
with:

docs/support/gherkin-to-csv.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ def field_names(cls) -> List[str]:
2121

2222
def extract_rules_from_feature(file_path):
2323
"""Parse a Gherkin feature file and extract the rules."""
24-
with open(file_path, 'r', encoding='utf-8') as file:
25-
content = file.read()
26-
27-
parser = Parser()
2824
try:
25+
with open(file_path, 'r', encoding='utf-8') as file:
26+
content = file.read()
27+
28+
parser = Parser()
2929
feature_document = parser.parse(TokenScanner(content))
3030
rules = []
3131

0 commit comments

Comments
 (0)