Skip to content

Commit 673f75d

Browse files
authored
Merge pull request #26 from LibreSign/docs/github-pages-documentation
Add tested user documentation site and GitHub Pages deployment
2 parents 7252fa2 + 27de4c7 commit 673f75d

31 files changed

Lines changed: 1207 additions & 307 deletions

.docker/Dockerfile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,15 @@ ARG UID=1000
77
ARG GID=1000
88

99
RUN apt-get update \
10-
&& apt-get install -y --no-install-recommends git unzip zip bash curl ca-certificates \
10+
&& apt-get install -y --no-install-recommends git unzip zip bash curl ca-certificates python3 python3-pip python3-venv \
1111
&& rm -rf /var/lib/apt/lists/*
1212

13+
COPY docs/requirements-docs.txt /tmp/requirements-docs.txt
14+
15+
RUN python3 -m venv /opt/docs-venv \
16+
&& /opt/docs-venv/bin/pip install --no-cache-dir -r /tmp/requirements-docs.txt \
17+
&& ln -sf /opt/docs-venv/bin/mkdocs /usr/local/bin/mkdocs
18+
1319
RUN pecl install xdebug \
1420
&& docker-php-ext-enable xdebug
1521

.github/.performance/baseline.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"version": "1.0.0",
3+
"created_at": "2026-06-01",
4+
"allowed_regression_pct": 25.0,
5+
"stale_threshold_pct": 35.0,
6+
"benchmarks": {
7+
"LibreSign\\XObjectTemplate\\Benchmarks\\CompilerBench::benchSimpleHtml": {
8+
"mean": 0.356085,
9+
"memory_real": 768
10+
},
11+
"LibreSign\\XObjectTemplate\\Benchmarks\\CompilerBench::benchComplexHtml": {
12+
"mean": 1.366,
13+
"memory_real": 1024
14+
}
15+
}
16+
}

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@ body:
99
id: summary
1010
attributes:
1111
label: Summary
12+
description: Provide a short, objective problem statement.
1213
validations:
1314
required: true
1415
- type: textarea
1516
id: steps
1617
attributes:
1718
label: Steps to reproduce
19+
description: Include exact input and commands.
1820
validations:
1921
required: true
2022
- type: textarea
@@ -23,3 +25,14 @@ body:
2325
label: Expected behavior
2426
validations:
2527
required: true
28+
- type: textarea
29+
id: actual
30+
attributes:
31+
label: Actual behavior
32+
validations:
33+
required: true
34+
- type: input
35+
id: runtime
36+
attributes:
37+
label: Runtime details
38+
placeholder: PHP version, package version/commit, OS

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,6 @@ contact_links:
66
- name: Security disclosure
77
url: https://github.com/LibreSign/xobject-template/security
88
about: Please report vulnerabilities privately.
9+
- name: Sponsor maintenance
10+
url: https://github.com/sponsors/LibreSign
11+
about: Funding helps prioritize fixes and compatibility work.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# SPDX-FileCopyrightText: 2026 LibreSign
2+
# SPDX-License-Identifier: AGPL-3.0-or-later
3+
4+
name: Documentation
5+
description: Report documentation errors or suggest improvements
6+
labels: [documentation]
7+
body:
8+
- type: textarea
9+
id: problem
10+
attributes:
11+
label: What is unclear or incorrect?
12+
validations:
13+
required: true
14+
- type: input
15+
id: page
16+
attributes:
17+
label: Affected page/path
18+
placeholder: docs/reference/supported-svg.md
19+
- type: textarea
20+
id: suggestion
21+
attributes:
22+
label: Suggested improvement
23+
description: Keep suggestions objective and user-focused.

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,18 @@ body:
99
id: problem
1010
attributes:
1111
label: Problem statement
12+
description: Describe the user or integration problem first.
1213
validations:
1314
required: true
1415
- type: textarea
1516
id: proposal
1617
attributes:
1718
label: Proposed solution
19+
description: Keep scope explicit and include expected API/behavior impact.
1820
validations:
1921
required: true
22+
- type: textarea
23+
id: non_goals
24+
attributes:
25+
label: Non-goals / out of scope
26+
description: Clarify what should not be included.
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# SPDX-FileCopyrightText: 2026 LibreSign
2+
# SPDX-License-Identifier: AGPL-3.0-or-later
3+
4+
name: Rendering bug
5+
description: Report a minimal reproducible rendering issue for HTML/CSS/SVG to XObject output
6+
labels: [bug, rendering]
7+
body:
8+
- type: textarea
9+
id: summary
10+
attributes:
11+
label: Summary
12+
description: Describe the rendering issue in one or two sentences.
13+
validations:
14+
required: true
15+
- type: textarea
16+
id: minimal_input
17+
attributes:
18+
label: Minimal HTML/CSS/SVG input
19+
description: Paste the smallest possible input that reproduces the issue.
20+
render: markdown
21+
validations:
22+
required: true
23+
- type: textarea
24+
id: expected_output
25+
attributes:
26+
label: Expected output
27+
validations:
28+
required: true
29+
- type: textarea
30+
id: actual_output
31+
attributes:
32+
label: Actual output
33+
validations:
34+
required: true
35+
- type: textarea
36+
id: payload_details
37+
attributes:
38+
label: Generated content stream/resources (if possible)
39+
description: Include compile result content stream/resources snippet when available.
40+
- type: dropdown
41+
id: affected_area
42+
attributes:
43+
label: Affected area
44+
options:
45+
- text
46+
- PNG/JPEG
47+
- SVG
48+
- layout
49+
- CSS
50+
- interpolation
51+
- placement
52+
validations:
53+
required: true
54+
- type: input
55+
id: php_version
56+
attributes:
57+
label: PHP version
58+
placeholder: '8.2.x'
59+
validations:
60+
required: true
61+
- type: input
62+
id: package_version
63+
attributes:
64+
label: Package version or commit
65+
placeholder: 'composer version, tag, or commit hash'
66+
validations:
67+
required: true
68+
- type: textarea
69+
id: fixture
70+
attributes:
71+
label: Minimal fixture attachment details
72+
description: If possible, attach or describe a minimal fixture file set.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,24 @@
1010
- [ ] Tests added/updated
1111
- [ ] Relevant checks executed
1212

13+
## Documentation
14+
15+
- [ ] Documentation updated
16+
- [ ] Examples updated if public behavior changed
17+
- [ ] Supported HTML/CSS/SVG matrix updated if relevant
18+
- [ ] Documentation drift checks pass
19+
1320
## Performance
1421

1522
- [ ] Performance impact assessed
1623
- [ ] Benchmark threshold still green
1724

25+
## Output integrity
26+
27+
- [ ] No unsupported feature documented as supported
28+
- [ ] No generated build artifacts committed to the source branch
29+
- [ ] LibreSign use case impact considered if relevant
30+
1831
## Compliance
1932

2033
- [ ] DCO sign-off in all commits

.github/workflows/docs.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# SPDX-FileCopyrightText: 2026 LibreSign
2+
# SPDX-License-Identifier: AGPL-3.0-or-later
3+
4+
name: docs
5+
6+
on:
7+
push:
8+
branches:
9+
- main
10+
paths:
11+
- 'docs/**'
12+
- '.github/workflows/docs.yml'
13+
14+
permissions:
15+
contents: write
16+
17+
concurrency:
18+
group: pages
19+
cancel-in-progress: true
20+
21+
jobs:
22+
deploy:
23+
runs-on: ubuntu-latest
24+
steps:
25+
- uses: actions/checkout@v4
26+
27+
- uses: actions/setup-python@v5
28+
with:
29+
python-version: '3.12'
30+
31+
- name: Install docs dependencies
32+
run: pip install -r docs/requirements-docs.txt
33+
34+
- name: Deploy to gh-pages
35+
run: mkdocs gh-deploy --force --config-file docs/mkdocs.yml

0 commit comments

Comments
 (0)