sphinx-watermark is an extension for Sphinx that enables watermarks for HTML output.
Full documentation: https://jokneemo.github.io/sphinx-watermark
Forked from kallimachos/sphinxmark
This fork was created primarily to remove the dependency on bottle, and to support updates to Sphinx v7, Docutils, and Pillow.
Some themes perform differently in newer version of Docutils. The main issues faced are html elements are changed between div, section, article, etc.
Sphinxmark only supported div elements and the configuration changes I made to support it were too expansive for a simple pull request. See below for all of the enhancements added.
- Removed bottle dependency
- HTML element selection
- Static png name to support spaces in text
- Collection of fonts
- See the fonts directory.
- Customizable border
Install sphinx-watermark using pip:
$ pip3 install sphinx-watermark
Add sphinx-watermark to the list of extensions in
conf.py
:extensions = ['sphinx_watermark']
Enable and configure sphinx-watermark in
conf.py
. You only have to include the values you want to change from default.Below is the bare-minimum config for an
Internal Draft
watermark:watermark = { 'enabled': False, 'text': 'Internal\nDraft' }
Below are the defaults for all options: (Notice that watermarks are disabled by default.)
watermark = { 'enabled': False, 'selector': { 'type': 'div', 'class': 'body' }, 'position': { 'margin': None, 'repeat': True, 'fixed': False }, 'image': None, 'text': { 'content': None, 'align': 'center', 'font': 'RubikDistressed', 'color': (255, 0, 0), 'opacity': 40, 'size': 100, 'rotation': 0, 'width': 816, 'spacing': 400, 'border': { 'outline': (255, 0, 0), 'fill': None, 'width': 10, 'padding': 30, 'radius': 20, } } }
Build your docs as normal. The defined watermark should appear behind the text.
Note
Some Sphinx themes place body content in different CSS divs. See the sphinx-watermark documentation for full configuration details.