mirror of
https://gh.wpcy.net/https://github.com/WeblateOrg/weblate.git
synced 2026-04-28 09:16:34 +08:00
* automatically generate documentation snippets in docs workflow * use ci token to update doc snippets * docs: Update documentation snippets * updagind management commands documentation * improve test coverage * fix auto-commit in docs workflows --------- Co-authored-by: gersona <6675010+gersona@users.noreply.github.com>
64 lines
2.1 KiB
Makefile
64 lines
2.1 KiB
Makefile
# Copyright © Michal Čihař <michal@weblate.org>
|
|
#
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
# Minimal makefile for Sphinx documentation
|
|
#
|
|
|
|
# You can set these variables from the command-line, and also
|
|
# from the environment for the first two.
|
|
SPHINXOPTS ?=
|
|
SPHINXBUILD ?= sphinx-build
|
|
SOURCEDIR = .
|
|
BUILDDIR = _build
|
|
|
|
# Put it first so that "make" without argument is like "make help".
|
|
help:
|
|
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
|
|
.PHONY: help Makefile update-po update-screenshots update-schemas update-openapi update-doc-snippets run-selenium
|
|
|
|
run-selenium:
|
|
@rm -rf ../data-test ../test-images
|
|
@cd .. && \
|
|
. scripts/test-database.sh && \
|
|
pytest -n 3 weblate/trans/tests/test_selenium.py
|
|
|
|
SCREENSHOTS = $(wildcard screenshots/*.webp)
|
|
|
|
../test-images/%.png: run-selenium
|
|
@true
|
|
|
|
screenshots/%.webp: ../test-images/%.png run-selenium
|
|
@echo "Processing $@"
|
|
@convert $< $@
|
|
|
|
update-screenshots: $(SCREENSHOTS)
|
|
@echo $(SCREENSHOTS)
|
|
|
|
update-schemas:
|
|
@cp $$(uv run --no-sync ../scripts/get-schemas-dir.py)/schemas/* specs/schemas/
|
|
|
|
update-openapi:
|
|
@WEBLATE_HIDE_VERSION=1 uv run --no-sync ../manage.py spectacular --skip-checks --fail-on-warn --validate > specs/openapi.yaml
|
|
|
|
update-doc-snippets:
|
|
@uv run --no-sync ../manage.py list_file_format_params > snippets/file-format-parameters.rst
|
|
@uv run --no-sync ../manage.py list_permissions --sections perms > snippets/permissions.rst
|
|
@uv run --no-sync ../manage.py list_permissions --sections roles > snippets/roles.rst
|
|
@uv run --no-sync ../manage.py list_change_events > snippets/change-events.rst
|
|
|
|
update-po: $(wildcard locales/*/LC_MESSAGES/docs.po)
|
|
|
|
locales/%/LC_MESSAGES/docs.po: locales/docs.pot
|
|
@if ! test -h locales/$* ; then msgmerge -U $@ -C ../weblate/locale/$*/LC_MESSAGES/django.po --previous $< ; fi
|
|
|
|
locales/docs.pot: gettext
|
|
@cp _build/gettext/docs.pot $@
|
|
@../scripts/filter-docs-po.py $@
|
|
|
|
|
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
|
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
|
%: Makefile
|
|
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|