diff --git a/owug.py b/owug.py index f4bcdf1..ab5b627 100644 --- a/owug.py +++ b/owug.py @@ -76,6 +76,18 @@ for item in head: soup.head.append(new_tag) item.decompose() +# hardcode javascript +# doing it this way rather than like the css because where in the page it is matters +js = soup.find_all('script') +for item in js: + if 'src' in item.attrs: + url = absolute_url(item.attrs['src'], domain_thing) + mime_type = requests.head(url).headers['Content-Type'] + as_base64 = b64encode_as_string(requests.get(url).content) + new_url = f'data:{mime_type};base64,{as_base64}' + + item.attrs['src'] = new_url + # change relative links to absolute links = soup.find_all('link') for item in links: diff --git a/secret-js.patch b/secret-js.patch index d4a08c2..e69de29 100644 --- a/secret-js.patch +++ b/secret-js.patch @@ -1,48 +0,0 @@ -diff --git a/owug.py b/owug.py -index f4bcdf1..df34af9 100644 ---- a/owug.py -+++ b/owug.py -@@ -76,6 +76,16 @@ for item in head: - soup.head.append(new_tag) - item.decompose() - -+js = soup.find_all('script') -+for item in js: -+ if 'src' in item.attrs: -+ url = absolute_url(item.attrs['src'], domain_thing) -+ mime_type = requests.head(url).headers['Content-Type'] -+ as_base64 = b64encode_as_string(requests.get(url).content) -+ new_url = f'data:{mime_type};base64,{as_base64}' -+ -+ item.attrs['src'] = new_url -+ - # change relative links to absolute - links = soup.find_all('link') - for item in links: -diff --git a/secret-js.patch b/secret-js.patch -index b812b3a..e69de29 100644 ---- a/secret-js.patch -+++ b/secret-js.patch -@@ -1,22 +0,0 @@ --diff --git a/.gitignore b/.gitignore --index fb9df04..4329ec8 100644 ----- a/.gitignore --+++ b/.gitignore --@@ -1 +1,2 @@ ---/.venv --\ No newline at end of file --+/.venv --+/.vscode --\ No newline at end of file --diff --git a/README.md b/README.md --index 603ae5e..5920263 100644 ----- a/README.md --+++ b/README.md --@@ -35,3 +35,7 @@ OWUG is licensed under `GPL-3.0-only`. -- ## TODO -- -- - Add font support --+ --+--- --+ --+There's definitely not a secret patch to add JS support [here](/secret-js-patch.patch).