Static site export¶
It can be useful to publish your pattern library as a static site – for example to host it without a runtime dependency on the rest of your code, or to save past versions, or save the output as build artifacts.
With render_patterns
¶
The render_patterns
command command can be used to export all your templates, without exporting the pattern library UI.
# Export all templates, wrapped in the base template like the pattern library UI does.
./manage.py render_patterns --wrap-fragments --output dpl-rendered-patterns
# Or alternatively export all templates without extra wrapping.
./manage.py render_patterns --output dpl-rendered-patterns
This command will create a new folder, with a structure matching that of your templates:
dpl-rendered-patterns
├── atoms
│ ├── icons
│ │ └── icon.html
├── molecules
│ ├── accordion
│ │ └── accordion.html
└── pages
└── people
└── person_page.html
Note this will export all templates but won’t export static files. If you need static files for your export, additionally run collectstatic
, and move its output to be where STATIC_URL
expects it:
./manage.py collectstatic
# Moving the collected files to match STATIC_URL
mv static dpl-rendered-patterns/static
With a website scrapper¶
It’s very straightforward to export the whole pattern library as a static site, including all templates, and the pattern library UI. Here is an example exporting the pattern library with wget
:
wget --mirror --page-requisites --no-parent http://localhost:8000/pattern-library/