From 8ffebe954303f1e5d6c2154f7524fb743e466118 Mon Sep 17 00:00:00 2001 From: Miguel Date: Fri, 27 Sep 2024 14:55:47 -0400 Subject: [PATCH] updating service worker and things --- .htaccess | 31 ++-- img/nostr-icon-purple-128x128.png | Bin 0 -> 2316 bytes img/nostr-icon-white-512x512.png | Bin 0 -> 9868 bytes img/nostr_192x192.png | Bin 0 -> 5840 bytes index.html | 88 ++++++---- js/nostr.js | 53 ++++++ manifest.json | 21 +++ scripts.js | 4 + service-worker.js | 268 ++++++++++++++++++++++++++++++ write-policy.py | 107 ++++++++++++ 10 files changed, 525 insertions(+), 47 deletions(-) create mode 100644 img/nostr-icon-purple-128x128.png create mode 100644 img/nostr-icon-white-512x512.png create mode 100644 img/nostr_192x192.png create mode 100644 js/nostr.js create mode 100644 manifest.json create mode 100644 scripts.js create mode 100644 service-worker.js create mode 100644 write-policy.py diff --git a/.htaccess b/.htaccess index b5d9d29..8a7bcb5 100644 --- a/.htaccess +++ b/.htaccess @@ -1,19 +1,22 @@ -AddDefaultCharset UTF-8 - + RewriteEngine On + RewriteBase / -# Enable rewrite rules -RewriteEngine on + # Ensure that static files like .js, .css, and service worker are not affected by rewrite rules + RewriteCond %{REQUEST_FILENAME} -f + RewriteRule \.(js|css|png|jpg|jpeg|gif|svg|ico|json|map)$ - [L] -# Base directory -RewriteBase /Bludit/ - -# Deny direct access to the next directories -RewriteRule ^bl-content/(databases|workspaces|pages|tmp)/.*$ - [R=404,L] - -# All URL process by index.php -RewriteCond %{REQUEST_FILENAME} !-f -RewriteCond %{REQUEST_FILENAME} !-d -RewriteRule ^(.*) index.php [PT,L] + # Ensure service worker is served from the /dist/ folder + RewriteRule ^dist/sw\.js$ - [L] + # For Single Page Application (SPA) routing + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule . /index.html [L] + + +# Add the correct MIME type for .js and .json files + + AddType application/javascript .js + AddType application/manifest+json .json diff --git a/img/nostr-icon-purple-128x128.png b/img/nostr-icon-purple-128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..5dce735315b510deab6c00d4eb7a3dd5f95c997b GIT binary patch literal 2316 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 literal 0 HcmV?d00001 diff --git a/img/nostr_192x192.png b/img/nostr_192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..fe3b75742ba1df435295e88f237c2e7bdb9352ea GIT binary patch literal 5840 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 + + + + + - + + @@ -53,12 +59,12 @@
  • Home
  • Interests
  • +
  • Social
  • About
  • +
  • Contact
  • - - +
@@ -211,6 +217,46 @@ + +
  • + +
  • + + +
  • @@ -257,7 +303,7 @@
  • - +
  • @@ -267,7 +313,7 @@
    - +
    @@ -532,13 +578,14 @@
  • Home
  • Interests
  • +
  • Social
  • About
  • Contact
  • - + @@ -588,6 +635,7 @@ form.addEventListener('submit', function(e) { }); }); +