From 7d90a73b111fea9a5aac867181675c46d3dfb3d1 Mon Sep 17 00:00:00 2001 From: Ben Klein Date: Sat, 10 Jul 2021 01:46:18 -0400 Subject: [PATCH] client: initial og:title and og:image for posts --- client/metatags.lua | 8 +++++++- client/nginx.conf.docker | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/client/metatags.lua b/client/metatags.lua index f14aa14a..510dbd16 100644 --- a/client/metatags.lua +++ b/client/metatags.lua @@ -22,7 +22,13 @@ end -- Add the site name tag add_meta_tag("og:site_name", server_info.config.name) -add_meta_tag("og:url", ngx.var.scheme .. "://" .. ngx.var.http_host .. ngx.var.request_uri) +add_meta_tag("og:url", ngx.var.external_host_url .. ngx.var.request_uri) + +if ngx.var.request_uri_path:match('^/post') then + local post_info = cjson.decode((ngx.location.capture("/_internal_api"..ngx.var.request_uri_path)).body) + add_meta_tag("og:image", ngx.var.external_host_url .. '/' .. post_info.contentUrl) + add_meta_tag("og:title", server_info.config.name .. " - Post " .. post_info.id) +end local final_response = page_html.body:gsub("{{ generated_head_tags }}", additional_tags) diff --git a/client/nginx.conf.docker b/client/nginx.conf.docker index e4983100..c5b2ada4 100644 --- a/client/nginx.conf.docker +++ b/client/nginx.conf.docker @@ -25,9 +25,12 @@ http { server __BACKEND__:6666; } + map $request_uri $request_uri_path { + "~^(?P[^?]*)(\?.*)?$" $path; + } + init_by_lua_block { cjson = require("cjson") - -- gumbo = require("gumbo") } server { @@ -107,6 +110,7 @@ http { location /_meta_tags_html { internal; root /var/www; + set $external_host_url "${scheme}://${http_host}"; content_by_lua_file /etc/nginx/metatags.lua; }