diff options
-rw-r--r-- | README.md | 21 | ||||
-rw-r--r-- | config.toml | 5 | ||||
-rw-r--r-- | netlify.toml | 25 | ||||
-rw-r--r-- | screenshot-dark.png | bin | 319272 -> 0 bytes | |||
-rw-r--r-- | screenshot.png | bin | 317002 -> 262700 bytes | |||
-rw-r--r-- | templates/base.html | 7 | ||||
-rw-r--r-- | templates/security_tags.html | 2 | ||||
-rw-r--r-- | templates/seo_tags.html | 1 | ||||
-rw-r--r-- | templates/style.css.html (renamed from templates/style.html) | 3 | ||||
-rw-r--r-- | theme.toml | 5 |
10 files changed, 52 insertions, 17 deletions
diff --git a/README.md b/README.md index 5396a5b..db77233 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,18 @@ # Zola ʕ•ᴥ•ʔ Bear Blog +[![Netlify Status](https://api.netlify.com/api/v1/badges/121b53ce-c913-4604-9179-eb3cca31cd2c/deploy-status)](https://app.netlify.com/sites/zola-bearblog/deploys) + 🧸 A [Zola](https://www.getzola.org/)-theme based on [Bear Blog](https://bearblog.dev). > Free, no-nonsense, super-fast blogging. ## Demo -For a current & working demo of this theme, please check out https://alanpearce.codeberg.page/zola-bearblog/ 🎯. - -## Screenshots +For a current & working demo of this theme, please check out <https://zola-bearblog.netlify.app/> 🎯. -⬜️ [Light][light-screenshot] -![light mode screenshot][light-screenshot] +## Screenshot -⬛️ [Dark][dark-screenshot] -![dark mode screenshot][dark-screenshot] +![Screenshot][screenshot] When the user's browser is running »dark mode«, the dark color scheme will be used automatically. The default is the light/white color scheme. Check out the [`style.html`](https://codeberg.org/alanpearce/zola-bearblog/src/branch/main/templates/style.html)-file for the implementation. @@ -30,6 +28,12 @@ Then, adjust the `config.toml` as detailed below. For more information, read the official [setup guide][zola-setup-guide] of Zola. +Alternatively, you can quickly deploy a copy of the theme site to Netlify using this button: + +[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://gitlab.com/alanpearce/zola-bearblog) + +(Note that this method makes it harder to keep up-to-date with theme updates, which might be necessary for newer versions of Zola.) + ## Adjust configuration / config.toml Please check out the included [config.toml](https://codeberg.org/alanpearce/zola-bearblog/src/branch/main/config.toml) @@ -76,5 +80,4 @@ A special thank you goes out to [Herman](https://herman.bearblog.dev), for creat [MIT License](http://en.wikipedia.org/wiki/MIT_License) © [Alan Pearce](https://www.alanpearce.eu/) [zola-setup-guide]: https://www.getzola.org/documentation/getting-started/installation/ -[light-screenshot]: https://codeberg.org/alanpearce/zola-bearblog/raw/branch/main/screenshot.png -[dark-screenshot]: https://codeberg.org/alanpearce/zola-bearblog/raw/branch/main/screenshot-dark.png +[screenshot]: https://codeberg.org/alanpearce/zola-bearblog/raw/branch/main/screenshot.png diff --git a/config.toml b/config.toml index ca8d27a..78e9f9a 100644 --- a/config.toml +++ b/config.toml @@ -1,6 +1,6 @@ title = "Zola ʕ•ᴥ•ʔ Bear Blog" -base_url = "https://alanpearce.codeberg.page/zola-bearblog" -description = "" +base_url = "https://zola-bearblog.netlify.app/" +description = "A Zola-theme based on Bear Blog." # Whether to automatically compile all Sass files in the sass directory compile_sass = false @@ -20,6 +20,7 @@ highlight_code = true [extra] date_format="%d %b, %Y" +webserver_sends_csp_headers=true [[extra.main_menu]] name = "Bear" diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000..6be8468 --- /dev/null +++ b/netlify.toml @@ -0,0 +1,25 @@ +[build] +publish = "public" +command = "zola build" + +[build.environment] +# Set the version name that you want to use and Netlify will automatically use it. +ZOLA_VERSION = "0.17.2" + +# The magic for deploying previews of branches. +# We need to override the base url with whatever url Netlify assigns to our +# preview site. We do this using the Netlify environment variable +# `$DEPLOY_PRIME_URL`. + +[context.deploy-preview] +command = "zola build --base-url $DEPLOY_PRIME_URL" + +[[headers]] + for = "/*" + [headers.values] + 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" + Content-Security-Policy = "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-2Sbht7dvdhJX00j84akXy9AejYUf6sOM3OpwMxNiDXQ='; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" diff --git a/screenshot-dark.png b/screenshot-dark.png deleted file mode 100644 index 266f883..0000000 --- a/screenshot-dark.png +++ /dev/null Binary files differdiff --git a/screenshot.png b/screenshot.png index 4013a5c..273266a 100644 --- a/screenshot.png +++ b/screenshot.png Binary files differdiff --git a/templates/base.html b/templates/base.html index 4ba8442..ee206b3 100644 --- a/templates/base.html +++ b/templates/base.html @@ -1,6 +1,9 @@ <!DOCTYPE html> <html lang="{{ lang | default(value="en-US" ) }}"> <head> + {%- if config.webserver_sends_csp_headers %} + {%- include "security_tags.html" ignore missing %} + {%- endif %} <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> {% include "favicon.html" ignore missing -%} @@ -12,7 +15,9 @@ <link rel="alternate" type={% if config.feed_filename == "atom.xml" %}"application/atom+xml"{% else %}"application/rss+xml"{% endif %} title="{{ config.title }}" href="{{ get_url(path=config.feed_filename) | safe }}"> {%- endblock -%} {%- endif %} - {% include "style.html" ignore missing -%} + <style> + {%- include "style.css.html" ignore missing -%} + </style> {% include "custom_head.html" ignore missing -%} </head> <body> diff --git a/templates/security_tags.html b/templates/security_tags.html new file mode 100644 index 0000000..0f922ea --- /dev/null +++ b/templates/security_tags.html @@ -0,0 +1,2 @@ +<!-- These tags are here for demostration. It's recommended to send them via HTTP headers instead. --> +<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'unsafe-inline'"> diff --git a/templates/seo_tags.html b/templates/seo_tags.html index 797569a..4eb2bc8 100644 --- a/templates/seo_tags.html +++ b/templates/seo_tags.html @@ -1 +1,2 @@ <meta name="title" content="{% if page.title %}{{ page.title }}{% else %}{{ config.title }}{% endif %}"> +<meta name="description" content="{{ config.description }}" /> diff --git a/templates/style.html b/templates/style.css.html index 4744695..00b4131 100644 --- a/templates/style.html +++ b/templates/style.css.html @@ -1,4 +1,3 @@ -<style> body { font-family: Verdana, sans-serif; margin: auto; @@ -168,5 +167,3 @@ color: #aaa; } } - -</style> diff --git a/theme.toml b/theme.toml index ed137c8..902c8ec 100644 --- a/theme.toml +++ b/theme.toml @@ -1,11 +1,11 @@ name = "Bear" description = "Bear blog theme" license = "MIT" -homepage = "https://codeberg.org/alanpearce/zola/bearblog" +homepage = "https://codeberg.org/alanpearce/zola-bearblog" # The minimum version of Zola required min_version = "0.4.0" # An optional live demo URL -demo = "https://alanpearce.codeberg.page/zola-bearblog" +demo = "https://zola-bearblog.netlify.app/" # Any variable there can be overridden in the end user `config.toml` # You don't need to prefix variables by the theme name but as this will @@ -13,6 +13,7 @@ demo = "https://alanpearce.codeberg.page/zola-bearblog" # Use snake_casing to be consistent with the rest of Zola [extra] date_format="%d %b, %Y" +webserver_sends_csp_headers=false [author] name = "Alan Pearce" |