nibula 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/nginx.conf +32 -13
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,22 @@ All notable changes to Nibula are documented here.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.4.1] - 2026-08-03
9
+
10
+ ### Added
11
+ - `nginx.conf` header now documents the full setup: package install,
12
+ certificate issuance with `certbot --cert-name`, auto-renew, and the
13
+ `sites-available` → `sites-enabled` steps.
14
+ - Troubleshooting table covering the errors whose message points elsewhere
15
+ than the actual cause: `nginx -t` without sudo, wrong certificate name,
16
+ certificate not covering the domain, nginx < 1.25, missing `404.html`,
17
+ DNS not pointing to the server.
18
+
19
+ ### Changed
20
+ - Certificates are now issued with `--cert-name SITE_NAME`, so the directory
21
+ under `/etc/letsencrypt/live/` matches the site name and `YOUR_CERTIFICATE`
22
+ is easier to fill in.
23
+
8
24
  ## [1.4.0] - 2026-08-03
9
25
 
10
26
  ### Changed
package/nginx.conf CHANGED
@@ -3,31 +3,49 @@
3
3
  # Static site + optional HTTP backend on 127.0.0.1:3000. PHP not handled.
4
4
  # -----------------------------------------------------------------------------
5
5
  # REPLACE
6
+ #
6
7
  # YOUR_DOMAIN server_name, twice (port 80 and 443)
7
8
  # SITE_FOLDER document root under /var/www/
8
- # YOUR_CERTIFICATE dir under /etc/letsencrypt/live/ — not always the same
9
+ #
10
+ # YOUR_CERTIFICATE dir under /etc/letsencrypt/live/ — not always the sam
9
11
  # as YOUR_DOMAIN. Check: sudo certbot certificates
10
12
  #
11
- # REQUIRES
12
- # valid certificate covering YOUR_DOMAIN
13
- # /var/www/SITE_FOLDER/404.html readable by nginx
14
- # nginx >= 1.25 for the http2 directive
13
+ # SITE_NAME (commands below) name of this file and of the
14
+ # certificate; any short name, never appears in URLs
15
+ #
16
+ #
17
+ # 1. INSTALL (skip if already present)
18
+ # sudo apt update
19
+ # sudo apt install -y nginx certbot python3-certbot-nginx
20
+ # nginx -v # >= 1.25 for the http2 directive
21
+ #
22
+ # 2. CERTIFICATE (before enabling the site — nginx won't start without it)
23
+ # dig +short YOUR_DOMAIN A # must return this server's public IP
24
+ # sudo certbot certonly --nginx --cert-name SITE_NAME -d YOUR_DOMAIN
25
+ # sudo systemctl enable --now certbot.timer # auto-renew every 90 days
15
26
  #
16
- # ENABLE
17
- # sudo ln -s /etc/nginx/sites-available/FILE /etc/nginx/sites-enabled/
18
- # sudo nginx -t && sudo systemctl reload nginx
19
- # curl -I https://YOUR_DOMAIN/nonexistent # expect 404
27
+ # 3. INSTALL THE SITE
28
+ # sudo cp nginx.conf /etc/nginx/sites-available/SITE_NAME
29
+ # sudo nano /etc/nginx/sites-available/SITE_NAME
30
+ # sudo ln -s /etc/nginx/sites-available/SITE_NAME /etc/nginx/sites-enabled/
31
+ # sudo nginx -t && sudo systemctl reload nginx
20
32
  #
21
33
  # IF IT FAILS
22
- # "cannot load certificate ... Permission denied" → run nginx -t with sudo
23
- # 500 instead of 404 → 404.html missing
34
+ # cannot load certificate ... Permission denied → nginx -t needs sudo
35
+ # cannot load certificate ... No such file → wrong certificate name
36
+ # no alternative certificate subject name → cert doesn't cover domain
37
+ # unknown directive "http2" → nginx < 1.25
38
+ # 500 instead of the 404 page → 404.html missing
39
+ # NXDOMAIN / timeout during certbot → DNS not pointing here
24
40
  # =============================================================================
25
41
 
26
- ### HTTP -> HTTPS redirect
42
+ # HTTP (80) configuration
27
43
  server {
44
+
45
+ server_name YOUR_DOMAIN;
46
+
28
47
  listen 80;
29
48
  listen [::]:80;
30
- server_name YOUR_DOMAIN;
31
49
 
32
50
  # Webroot ACME renewal; drop if using the nginx authenticator.
33
51
  location ^~ /.well-known/acme-challenge/ {
@@ -39,6 +57,7 @@ server {
39
57
  }
40
58
  }
41
59
 
60
+ # HTTPS (443) configuration
42
61
  server {
43
62
  ### Essentials
44
63
  listen 443 ssl;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nibula",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "A beginner-friendly static site generator built on Eleventy that stays close to vanilla HTML, CSS and JS — with a page-management CLI, an optional PHP backend, and SEO files generated for you.",
5
5
  "keywords": [
6
6
  "static-site-generator",