diff options
author | Magnus Hagander | 2021-05-18 07:20:13 +0000 |
---|---|---|
committer | Magnus Hagander | 2021-05-18 07:39:02 +0000 |
commit | f15ffc84b0fc5e954426441581fd01052c07aa96 (patch) | |
tree | 32a3c48dce02df74a5ae9cd80238964250b8e8dd /pgweb/docs/views.py | |
parent | ff7058fe58593df58662b907b889e6ae1b903b97 (diff) |
Enhance the xkey tags set on documentation pages
* For 'current' docs, *also* set the xkey pgdocs_current. Otherwise when
a new major release is turned into current, the loader purge wouldn't
be able to replace it, only replace the devel version.
* Set the pgdocs_<version> key on the release notes pages under
/release/ (this is what triggered me to look at this)
* Set the pgdocs_all key for index pages such as /docs/ and /docs/release/. This
will be purged every time, making sure we have an up-to-date list of
versions.
* Set the key pgdocs_pdf for any pages that have PDF file information in
them, so we can purge the list when new PDFs are uploaded.
Diffstat (limited to 'pgweb/docs/views.py')
-rw-r--r-- | pgweb/docs/views.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/pgweb/docs/views.py b/pgweb/docs/views.py index 54393f74..c2d00c89 100644 --- a/pgweb/docs/views.py +++ b/pgweb/docs/views.py @@ -137,6 +137,8 @@ def docpage(request, version, filename): } }) r['xkey'] = 'pgdocs_{}'.format(page.display_version()) + if version == 'current': + r['xkey'] += ' pgdocs_current' return r @@ -158,6 +160,8 @@ def docsvg(request, version, filename): r = HttpResponse(page.content, content_type="image/svg+xml") r['xkey'] = 'pgdocs_{}'.format(page.display_version()) + if version == 'current': + r['xkey'] += ' pgdocs_current' return r @@ -181,9 +185,11 @@ def redirect_root(request, version): def root(request): versions = Version.objects.filter(Q(supported=True) | Q(testing__gt=0, tree__gt=0)).order_by('-tree') - return render_pgweb(request, 'docs', 'docs/index.html', { + r = render_pgweb(request, 'docs', 'docs/index.html', { 'versions': [_VersionPdfWrapper(v) for v in versions], }) + r['xkey'] = 'pgdocs_all pgdocs_pdf' + return r class _VersionPdfWrapper(object): @@ -222,9 +228,11 @@ def manuals(request): def manualarchive(request): versions = Version.objects.filter(testing=0, supported=False, tree__gt=0).order_by('-tree') - return render_pgweb(request, 'docs', 'docs/archive.html', { + r = render_pgweb(request, 'docs', 'docs/archive.html', { 'versions': [_VersionPdfWrapper(v) for v in versions], }) + r['xkey'] = 'pgdocs_all pgdocs_pdf' + return r def release_notes(request, major_version=None, minor_version=None): @@ -336,7 +344,13 @@ def release_notes(request, major_version=None, minor_version=None): } else: context = {'release_notes': release_notes} - return render_pgweb(request, 'docs', 'docs/release_notes.html', context) + + r = render_pgweb(request, 'docs', 'docs/release_notes.html', context) + if major_version: + r['xkey'] = 'pgdocs_{}'.format(major_version) + else: + r['xkey'] = 'pgdocs_all' + return r @login_required |