You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Social card preview system with OG image generation using `satori` and `@resvg/resvg-js`.
14
+
- Pre-rendered meta pages for bots (WhatsApp, LinkedIn, Twitter, Facebook, etc.) with full `og:*` and `twitter:*` tags. Note that the tags work according to bot lists and would not be readily available on an online checker. However, `curl`ing the bots with a `User-Agent` e.g. `curl -H "User-Agent: WhatsApp/2.0"...` can be a good way to test. This works across `nginx` as well as `Vercel`. Configurations for both are provided in the repository as `nginx/` and `vercel.json`.
15
+
- Content-based meta descriptions: first 160 characters extracted from markdown content with formatting stripped.
16
+
- Reader URL bot support: `/reader/:collection?piece=:slug` serves appropriate meta pages to bots. The page is selected to be the piece the reader is currently reading.
17
+
- Custom `bodyOfWork.description` field in `config.yaml` for `body-of-work` page social preview.
18
+
-`nginx` configuration templates in `nginx/` directory with setup instructions.
19
+
- OG images generated at 1200x630px with theme-specific styling.
20
+
21
+
#### 502 Error Page for `nginx` ([#19](https://github.com/DeepanshKhurana/ode/issues/19))
22
+
- Themed 502 error page generation with customizable text via `config.yaml`'s `redeployPage` section.
23
+
- The theme respects all settings e.g. `defaultMode`, `lowercase` and overrides enabled in `config.yaml`.
24
+
- 502 page served from persistent host location (survives container restarts).
25
+
- Configuration settings are available in the `nginx/` directory's base template.
If you are like me, you probably have your own server where you will need to handle SPA routing. If you are using nginx, a template is already provided.
If you are like me, you probably have your own server where you will need to handle SPA routing. If you are using nginx, configuration templates are provided in the [nginx/](https://github.com/DeepanshKhurana/ode/tree/main/nginx) directory.
Ensure the *public* key is added to `~/.ssh/authorized_keys` on your server.
211
+
> [!WARNING]
212
+
> This workflow is destructive. On every push: the server directory is deleted, fresh-cloned, and only one backup is kept. Ensure all content lives in Git.
constrefreshNotice=applyCase((redeployConfig.refreshNotice||'This page will refresh automatically in {interval} seconds.').replace('{interval}',String(refreshInterval)));
0 commit comments