diff options
| -rw-r--r-- | README.md | 36 | ||||
| -rw-r--r-- | netlify.toml | 3 | ||||
| -rw-r--r-- | static/_headers | 68 | ||||
| -rw-r--r-- | theme.toml | 2 |
4 files changed, 90 insertions, 19 deletions
@@ -3,7 +3,7 @@ # Abridge Zola Theme -A fast, lightweight, and modern [Zola](https://getzola.org) theme utilizing [abridge.css](https://github.com/Jieiku/abridge.css) (a class-light semantic HTML CSS Framework). Perfect [Lighthouse](https://pagespeed.web.dev/report?url=abridge.netlify.app), [YellowLabTools](https://yellowlab.tools/), and [Observatory](https://observatory.mozilla.org/analyze/abridge.netlify.app) scores. Here is a [Zola Themes Benchmarks](https://github.com/Jieiku/zola-themes-benchmarks/blob/main/README.md) Page. +A fast, lightweight, and modern [Zola](https://getzola.org) theme utilizing [abridge.css](https://github.com/Jieiku/abridge.css) (a class-light semantic HTML CSS Framework). Perfect [Lighthouse](https://pagespeed.web.dev/report?url=abridge.pages.dev), [YellowLabTools](https://yellowlab.tools/), and [Observatory](https://observatory.mozilla.org/analyze/abridge.pages.dev) scores. Here is a [Zola Themes Benchmarks](https://github.com/Jieiku/zola-themes-benchmarks/blob/main/README.md) Page.  @@ -13,28 +13,28 @@ Maintenance of this project is made possible by all the <a href="https://github. --- -**[View Abridge demo](https://abridge.netlify.app/overview-abridge/)** +**[View Abridge demo](https://abridge.pages.dev/overview-abridge/)** -**[View Abridge.css demo](https://abridgecss.netlify.app/overview-abridge/)** [[abridge.css framework](https://github.com/Jieiku/abridge.css/tree/master/dist)] +**[View Abridge.css demo](https://abridge-css.pages.dev/overview-abridge/)** [[abridge.css framework](https://github.com/Jieiku/abridge.css/tree/master/dist)] The Abridge.css demo is simply using Abridge theme as a submodule: [config.toml](https://github.com/Jieiku/abridge.css/blob/master/config.toml), [sass/abridge.scss](https://github.com/Jieiku/abridge.css/blob/master/sass/abridge.scss) </div> ## Features -- [X] Perfect [Lighthouse](https://pagespeed.web.dev/report?url=abridge.netlify.app), [YellowLabTools](https://yellowlab.tools/), and [Observatory](https://observatory.mozilla.org/analyze/abridge.netlify.app) scores. -- [X] [PWA support](https://abridge.netlify.app/overview-abridge/#pwa-progressive-web-app) (Progressive Web Application). -- [X] All JavaScript can be [fully disabled](https://abridge.netlify.app/overview-abridge/#javascript-files). +- [X] Perfect [Lighthouse](https://pagespeed.web.dev/report?url=abridge.pages.dev), [YellowLabTools](https://yellowlab.tools/), and [Observatory](https://observatory.mozilla.org/analyze/abridge.pages.dev) scores. +- [X] [PWA support](https://abridge.pages.dev/overview-abridge/#pwa-progressive-web-app) (Progressive Web Application). +- [X] All JavaScript can be [fully disabled](https://abridge.pages.dev/overview-abridge/#javascript-files). - [X] Dark, Light, Auto, and Switcher themes. (colors can be customized, css variables) -- [X] Code [syntax highlighting](https://abridge.netlify.app/overview-code-blocks/). (colors can be customized, css variables) -- [X] Numbered code blocks with [line highlighting](https://abridge.netlify.app/overview-code-blocks/#toml). +- [X] Code [syntax highlighting](https://abridge.pages.dev/overview-code-blocks/). (colors can be customized, css variables) +- [X] Numbered code blocks with [line highlighting](https://abridge.pages.dev/overview-code-blocks/#toml). - [X] Entirely Offline Site by using the PWA **or** by setting `offline = true` in `config.toml` (full search support). - [X] Multi-language support. - [X] Search support. (elasticlunr, tinysearch, stork) - [X] Search Suggestions navigation keys, `/` focus, `arrow` move, `enter` select, `escape` close. - [X] Search Results Page, type search query then hit `Enter Key` or `click` the search button icon. -- [X] [SEO](https://abridge.netlify.app/overview-abridge/#seo-and-header-tags) support. (Search Engine Optimization) -- [X] [Pagination](https://abridge.netlify.app/overview-abridge/#pagination) with numbered paginator on index. +- [X] [SEO](https://abridge.pages.dev/overview-abridge/#seo-and-header-tags) support. (Search Engine Optimization) +- [X] [Pagination](https://abridge.pages.dev/overview-abridge/#pagination) with numbered paginator on index. - [X] Title Based Previous and Next Article links at bottom of Article. - [X] Table of Contents in page Index (Optional, clickable links) - [X] Recent Posts Block. (Optional) @@ -42,16 +42,16 @@ The Abridge.css demo is simply using Abridge theme as a submodule: [config.toml] - [X] Code Blocks copy button. - [X] Email link in footer obfuscation. (anti-spam) - [X] [KaTeX](https://katex.org/) support. -- [X] [Archive page](https://abridge.netlify.app/archive/). -- [x] [Tags](https://abridge.netlify.app/tags/). +- [X] [Archive page](https://abridge.pages.dev/archive/). +- [x] [Tags](https://abridge.pages.dev/tags/). - [x] Categories. (similar to Tags, disabled/commented out by default) - [x] Social icon links in footer. - [X] Responsive design. (mobile first) -- [X] Video Shortcodes: [Youtube](https://abridge.netlify.app/video-streaming-sites/overview-embed-youtube/), [Vimeo](https://abridge.netlify.app/video-streaming-sites/overview-embed-vimeo/), [Streamable](https://abridge.netlify.app/video-streaming-sites/overview-embed-streamable/). -- [X] Media Shortcodes: [video](https://abridge.netlify.app/overview-rich-content/#video), [img](https://abridge.netlify.app/overview-images/#img-shortcode), [imgswap](https://abridge.netlify.app/overview-images/#imgswap-shortcode), [image](https://abridge.netlify.app/overview-rich-content/#image), [gif](https://abridge.netlify.app/overview-rich-content/#gif), [audio](https://abridge.netlify.app/overview-rich-content/#audio). -- [X] Other Shortcodes: [showdata](https://abridge.netlify.app/overview-showdata/), [katex](https://abridge.netlify.app/overview-math/#usage-1). +- [X] Video Shortcodes: [Youtube](https://abridge.pages.dev/video-streaming-sites/overview-embed-youtube/), [Vimeo](https://abridge.pages.dev/video-streaming-sites/overview-embed-vimeo/), [Streamable](https://abridge.pages.dev/video-streaming-sites/overview-embed-streamable/). +- [X] Media Shortcodes: [video](https://abridge.pages.dev/overview-rich-content/#video), [img](https://abridge.pages.dev/overview-images/#img-shortcode), [imgswap](https://abridge.pages.dev/overview-images/#imgswap-shortcode), [image](https://abridge.pages.dev/overview-rich-content/#image), [gif](https://abridge.pages.dev/overview-rich-content/#gif), [audio](https://abridge.pages.dev/overview-rich-content/#audio). +- [X] Other Shortcodes: [showdata](https://abridge.pages.dev/overview-showdata/), [katex](https://abridge.pages.dev/overview-math/#usage-1). -**[Complete Documentation is available here](https://abridge.netlify.app/overview-abridge/)** +**[Complete Documentation is available here](https://abridge.pages.dev/overview-abridge/)** ## Quick Start @@ -111,7 +111,7 @@ rsync themes/abridge/package.json package.json - `COPY-TO-ROOT-SASS/abridge.scss` overrides to customize Abridge variables. - `netlify.toml` settings to deploy your repo with netlfiy. - `package_abridge.js` node script to: update cache files list in PWA, minify js, bundle js -- `package.json` to switch between nosearch, elasticlunr, tinysearch, stork. +- `package.json` to facilitate use of package_abridge.js Uncomment the theme line in your project's root config.toml: @@ -141,7 +141,7 @@ Saved changes will live reload in the browser. (press `ctrl+f5`, or while develo ## Customization -For further customization be sure to [check the docs](https://abridge.netlify.app/overview-abridge/). +For further customization be sure to [check the docs](https://abridge.pages.dev/overview-abridge/). ## Sponsor diff --git a/netlify.toml b/netlify.toml index 294b2e1..6f854a3 100644 --- a/netlify.toml +++ b/netlify.toml @@ -16,6 +16,9 @@ command = "zola build --base-url $DEPLOY_PRIME_URL && npm run abridge && zola bu X-XSS-Protection = "1; mode=block" Referrer-Policy = "strict-origin-when-cross-origin" Strict-Transport-Security = "max-age=63072000; includeSubdomains" + # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy (disabled everything except autoplay, local-fonts, screen-wake-lock, speaker-selection) + # opt out of Federated Learning of Cohorts (aka "FLoC") - https://amifloced.org/ + Permissions-Policy = "interest-cohort=(), accelerometer=(), ambient-light-sensor=(), battery=(), bluetooth=(), browsing-topics=(), camera=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), gamepad=(), geolocation=(), gyroscope=(), hid=(), identity-credentials-get=(), idle-detection=(), magnetometer=(), microphone=(), midi=(), otp-credentials=(), payment=(), picture-in-picture=(), publickey-credentials-create=(), publickey-credentials-get=(), serial=(), storage-access=(), sync-xhr=(), usb=(), web-share=(), window-management=(), xr-spatial-tracking=()" Content-Security-Policy = "default-src 'none'; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; manifest-src 'self'; worker-src 'self'; form-action 'self'; connect-src 'self' *.hyvor.com ws://*.hyvor.com; script-src 'self' talk.hyvor.com; img-src 'self' data: talk.hyvor.com cdn.cloudflare.com; frame-src 'self' www.youtube-nocookie.com player.vimeo.com streamable.com www.streamable.com; media-src 'self' data: cdn.cloudflare.com www.youtube-nocookie.com player.vimeo.com; font-src 'self' cdn.cloudflare.com cdn.jsdelivr.net fonts.gstatic.com; style-src 'self' talk.hyvor.com cdn.cloudflare.com cdn.jsdelivr.net fonts.googleapis.com;" [[headers]] for = "*.js"#javascript diff --git a/static/_headers b/static/_headers new file mode 100644 index 0000000..ccca3e1 --- /dev/null +++ b/static/_headers @@ -0,0 +1,68 @@ +# This _headers file is used to set headers on cloudflare pages: https://developers.cloudflare.com/pages/configuration/headers/ +# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy (disabled everything except autoplay, local-fonts, screen-wake-lock, speaker-selection) +# opt out of Federated Learning of Cohorts (aka "FLoC") - https://amifloced.org/ +/* + X-Frame-Options: DENY + X-Content-Type-Options: nosniff + X-XSS-Protection: 1; mode=block + Referrer-Policy: strict-origin-when-cross-origin + Strict-Transport-Security: max-age=63072000; includeSubdomains + Permissions-Policy: interest-cohort=(), accelerometer=(), ambient-light-sensor=(), battery=(), bluetooth=(), browsing-topics=(), camera=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), gamepad=(), geolocation=(), gyroscope=(), hid=(), identity-credentials-get=(), idle-detection=(), magnetometer=(), microphone=(), midi=(), otp-credentials=(), payment=(), picture-in-picture=(), publickey-credentials-create=(), publickey-credentials-get=(), serial=(), storage-access=(), sync-xhr=(), usb=(), web-share=(), window-management=(), xr-spatial-tracking=() + Content-Security-Policy: default-src 'none'; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; manifest-src 'self'; worker-src 'self'; form-action 'self'; connect-src 'self' *.hyvor.com ws://*.hyvor.com; script-src 'self' talk.hyvor.com; img-src 'self' data: talk.hyvor.com cdn.cloudflare.com; frame-src 'self' www.youtube-nocookie.com player.vimeo.com streamable.com www.streamable.com; media-src 'self' data: cdn.cloudflare.com www.youtube-nocookie.com player.vimeo.com; font-src 'self' cdn.cloudflare.com cdn.jsdelivr.net fonts.gstatic.com; style-src 'self' talk.hyvor.com cdn.cloudflare.com cdn.jsdelivr.net fonts.googleapis.com; + +/*.js + Cache-Control: public, max-age=604800, must-revalidate + +/*.css + Cache-Control: public, max-age=604800, must-revalidate + +/*.svg + Cache-Control: public, max-age=604800 + +/*.png + Cache-Control: public, max-age=604800 + +/*.ico + Cache-Control: public, max-age=604800 + +/*.jpg + Cache-Control: public, max-age=604800 + +/*.jpeg + Cache-Control: public, max-age=604800 + +/*.gif + Cache-Control: public, max-age=604800 + +/*.webp + Cache-Control: public, max-age=604800 + +/*.avif + Cache-Control: public, max-age=604800 + +/*.mp4 + Cache-Control: public, max-age=604800 + +/*.webm + Cache-Control: public, max-age=604800 + +/*.mp3 + Cache-Control: public, max-age=604800 + +/*.ogg + Cache-Control: public, max-age=604800 + +/*.otf + Cache-Control: public, max-age=604800 + +/*.eot + Cache-Control: public, max-age=604800 + +/*.ttf + Cache-Control: public, max-age=604800 + +/*.woff + Cache-Control: public, max-age=604800 + +/*.woff2 + Cache-Control: public, max-age=604800 @@ -3,7 +3,7 @@ description = "A fast and lightweight Zola theme using semantic html, a class-li license = "MIT" homepage = "https://github.com/jieiku/abridge" min_version = "0.18.0" -demo = "https://abridge.netlify.app/" +demo = "https://abridge.pages.dev/" # Abridge theme author info [author] |
