diff options
author | Rasmus Andersson <rasmus@notion.se> | 2017-08-22 23:11:06 +0300 |
---|---|---|
committer | Rasmus Andersson <rasmus@notion.se> | 2017-08-22 23:11:06 +0300 |
commit | c97111a594525e900cf941bc354fc5b2ea868ddf (patch) | |
tree | 11aa391ab295f7f5508d3b38b65c59c66feadab9 | |
parent | eda835f2f2258bc099e582d57d394dae1e9786d8 (diff) | |
download | inter-c97111a594525e900cf941bc354fc5b2ea868ddf.tar.xz |
Include version in CSS so that HTTP caches are not pointing to old versions
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | docs/interface.css | 24 | ||||
-rwxr-xr-x | misc/versionize-css.py | 36 |
3 files changed, 49 insertions, 12 deletions
@@ -97,6 +97,7 @@ dist: rm -rf docs/font-files mkdir docs/font-files cp -a build/dist/*.woff build/dist/*.woff2 docs/font-files/ + misc/versionize-css.py @echo "——————————————————————————————————————————————————————————————————" @echo "" @echo "Next step:" diff --git a/docs/interface.css b/docs/interface.css index 1b80000e8..753608313 100644 --- a/docs/interface.css +++ b/docs/interface.css @@ -2,43 +2,43 @@ font-family: 'Interface'; font-style: normal; font-weight: 400; - src: url("https://rsms.me/interface/font-files/Interface-Regular.woff2") format("woff2"), - url("https://rsms.me/interface/font-files/Interface-Regular.woff") format("woff"); + src: url("https://rsms.me/interface/font-files/Interface-Regular.woff2?v=1.1") format("woff2"), + url("https://rsms.me/interface/font-files/Interface-Regular.woff?v=1.1") format("woff"); } @font-face { font-family: 'Interface'; font-style: italic; font-weight: 400; - src: url("https://rsms.me/interface/font-files/Interface-RegularItalic.woff2") format("woff2"), - url("https://rsms.me/interface/font-files/Interface-RegularItalic.woff") format("woff"); + src: url("https://rsms.me/interface/font-files/Interface-RegularItalic.woff2?v=1.1") format("woff2"), + url("https://rsms.me/interface/font-files/Interface-RegularItalic.woff?v=1.1") format("woff"); } @font-face { font-family: 'Interface'; font-style: normal; font-weight: 500; - src: url("https://rsms.me/interface/font-files/Interface-Medium.woff2") format("woff2"), - url("https://rsms.me/interface/font-files/Interface-Medium.woff") format("woff"); + src: url("https://rsms.me/interface/font-files/Interface-Medium.woff2?v=1.1") format("woff2"), + url("https://rsms.me/interface/font-files/Interface-Medium.woff?v=1.1") format("woff"); } @font-face { font-family: 'Interface'; font-style: italic; font-weight: 500; - src: url("https://rsms.me/interface/font-files/Interface-MediumItalic.woff2") format("woff2"), - url("https://rsms.me/interface/font-files/Interface-MediumItalic.woff") format("woff"); + src: url("https://rsms.me/interface/font-files/Interface-MediumItalic.woff2?v=1.1") format("woff2"), + url("https://rsms.me/interface/font-files/Interface-MediumItalic.woff?v=1.1") format("woff"); } @font-face { font-family: 'Interface'; font-style: normal; font-weight: 700; - src: url("https://rsms.me/interface/font-files/Interface-Bold.woff2") format("woff2"), - url("https://rsms.me/interface/font-files/Interface-Bold.woff") format("woff"); + src: url("https://rsms.me/interface/font-files/Interface-Bold.woff2?v=1.1") format("woff2"), + url("https://rsms.me/interface/font-files/Interface-Bold.woff?v=1.1") format("woff"); } @font-face { font-family: 'Interface'; font-style: italic; font-weight: 700; - src: url("https://rsms.me/interface/font-files/Interface-BoldItalic.woff2") format("woff2"), - url("https://rsms.me/interface/font-files/Interface-BoldItalic.woff") format("woff"); + src: url("https://rsms.me/interface/font-files/Interface-BoldItalic.woff2?v=1.1") format("woff2"), + url("https://rsms.me/interface/font-files/Interface-BoldItalic.woff?v=1.1") format("woff"); } diff --git a/misc/versionize-css.py b/misc/versionize-css.py new file mode 100755 index 000000000..0033bdb43 --- /dev/null +++ b/misc/versionize-css.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python +# encoding: utf8 +# +# Updates the "?v=x" in docs/interface.css +# +from __future__ import print_function +import os, sys, re +from collections import OrderedDict +from ConfigParser import RawConfigParser + + +def main(): + rootDir = os.path.dirname(os.path.dirname(__file__)) + + config = RawConfigParser(dict_type=OrderedDict) + config.read(os.path.join(rootDir, 'src', 'fontbuild.cfg')) + version = config.get('main', 'version') + + regex = re.compile(r'(url\("[^"]+?v=)([^"]+)("\))') + + cssFileName = os.path.join(rootDir, 'docs', 'interface.css') + + s = '' + with open(cssFileName, 'r') as f: + s = f.read() + + s = regex.sub( + lambda m: '%s%s%s' % (m.group(1), version, m.group(3)), + s + ) + + with open(cssFileName, 'w') as f: + f.write(s) + +if __name__ == '__main__': + main() |