Docwriter is an API documentation generator for the FreeType Library that extracts and builds Markdown docs from the FreeType header files.
Run pip install docwriter
(see (4) below for an automated virtualenv
usage). It requires
Python >= 3.5 to run.
-
Ensure
docwriter
is installed usingpip
. -
Clone the freetype2 repository from here.
-
The FreeType build system can be used to generate the docs:
sh autogen.sh ./configure make refdoc
-
Alternatively, step 1 and the make target can be replaced with
make refdoc-venv
. This installs all requirements automatically in a separate virtual environment. More information onvirtualenv
usage can be found here.
-
Clone this repository.
-
Clone the freetype2 repository from here.
-
Run
pip install -r requirements.txt
in your environment (virtualenv
recommended). -
Copy the
include/
directory fromfreetype2
todocwriter
. -
Run in the
docwriter
directory:python -m docwriter \ --prefix=ft2 \ --title=FreeType-2.9.1 \ --site=reference \ --output=./docs \ ./include/freetype/*.h \ ./include/freetype/config/*.h \ ./include/freetype/cache/*.h
-
The markdown files are generated in
docs/markdown/
. Static site can be built by runningmkdocs build
indocs/
. Read more about Mkdocs here.
docwriter [-h] [-t T] -o DIR [-p PRE] [-s DIR] [-q | -v] files [files ...]
DocWriter Usage information
positional arguments:
files list of source files to parse, wildcards are allowed
optional arguments:
-h, --help show this help message and exit
-t T, --title T set project title, as in '-t "My Project"'
-o DIR, --output DIR set output directory, as in '-o mydir'
-p PRE, --prefix PRE set documentation prefix, as in '-p ft2'
-s DIR, --site DIR set 'site_dir' in mkdocs.yml [default=site]
-q, --quiet run quietly, show only errors
-v, --verbose increase output verbosity
To test on all supported Python versions:
-
Make sure
tox
is installed:pip install tox
-
Ensure that all Python versions that you need to run the tests on are installed.
-
Run tests:
tox
To run specifc tests, use the -e
argument. For example,
tox -e py37,py38
will run tests only on Python 3.7 and 3.8 (assuming they are installed). See tox.ini for all available environments.
More information on running specific tox environments can be found here.
Regression tests require internet access, git
, and other FreeType build
dependencies, and are
time-consuming. These tests are largely meant to run on Travis CI, but can also be run locally:
tox -e regression
This library is licensed under the FreeType License.
This library was originally written by David Turner as docmaker
which collected and presented
documentation in HTML. It has since been modified multiple times, including a major refactor to
allow multiple output formats. The current docwriter
is the biggest rewrite, with lots of changes
and additions that allow it to be more flexible, readable, maintainable and usable.