summaryrefslogtreecommitdiff
path: root/pgweb/docs/views.py
diff options
context:
space:
mode:
authorMagnus Hagander2021-05-18 07:20:13 +0000
committerMagnus Hagander2021-05-18 07:39:02 +0000
commitf15ffc84b0fc5e954426441581fd01052c07aa96 (patch)
tree32a3c48dce02df74a5ae9cd80238964250b8e8dd /pgweb/docs/views.py
parentff7058fe58593df58662b907b889e6ae1b903b97 (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.py20
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