From cc24155859b65653495747bd0b38be9bcef33298 Mon Sep 17 00:00:00 2001 From: FChannel <> Date: Thu, 17 Jun 2021 00:21:07 -0700 Subject: added html meta data as well as basic hover effect on links --- client.go | 13 +++++++++++-- static/index.html | 15 +++++++++++++++ static/js/posts.js | 39 +++++++++++++++++++++++++++++++++++++-- static/main.html | 7 +++++-- static/ncatalog.html | 12 ++++++++++++ static/npost.html | 17 +++++++++++++++++ static/nposts.html | 11 +++++++++++ static/posts.html | 11 +++++++---- static/sensative.png | Bin 0 -> 3737 bytes 9 files changed, 115 insertions(+), 10 deletions(-) create mode 100644 static/sensative.png diff --git a/client.go b/client.go index e9ecd80..1c3ae93 100644 --- a/client.go +++ b/client.go @@ -47,6 +47,8 @@ type PageData struct { Boards []Board Posts []ObjectBase Key string + PostId string + Instance Actor } type AdminPage struct { @@ -158,8 +160,10 @@ func CatalogGet(w http.ResponseWriter, r *http.Request, db *sql.DB, collection C returnData.Board.Restricted = actor.Restricted returnData.Key = *Key - returnData.Board.Post.Actor = actor + returnData.Board.Post.Actor = actor + returnData.Instance = GetActorFromDB(db, Domain) + returnData.Board.Captcha = Domain + "/" + GetRandomCaptcha(db) returnData.Board.CaptchaCode = GetCaptchaCode(returnData.Board.Captcha) @@ -196,6 +200,8 @@ func PostGet(w http.ResponseWriter, r *http.Request, db *sql.DB){ returnData.Board.Captcha = Domain + "/" + GetRandomCaptcha(db) returnData.Board.CaptchaCode = GetCaptchaCode(returnData.Board.Captcha) + returnData.Instance = GetActorFromDB(db, Domain) + returnData.Title = "/" + returnData.Board.Name + "/ - " + returnData.Board.PrefName returnData.Key = *Key @@ -212,7 +218,6 @@ func PostGet(w http.ResponseWriter, r *http.Request, db *sql.DB){ if len(followCollection.OrderedItems) > 0 { returnData.Board.InReplyTo = followCollection.OrderedItems[0].Id returnData.Posts = append(returnData.Posts, followCollection.OrderedItems[0]) - var actor Actor actor = FingerActor(returnData.Board.InReplyTo) returnData.Board.Post.Actor = &actor @@ -228,6 +233,10 @@ func PostGet(w http.ResponseWriter, r *http.Request, db *sql.DB){ } } + if len(returnData.Posts) > 0 { + returnData.PostId = shortURL(returnData.Board.To, returnData.Posts[0].Id) + } + t.ExecuteTemplate(w, "layout", returnData) } diff --git a/static/index.html b/static/index.html index 2840a83..1cd206b 100644 --- a/static/index.html +++ b/static/index.html @@ -1,4 +1,19 @@ {{ define "header" }} +{{ .Title }} + + + + + + + + + + + + + + {{ end }} {{ define "top" }}{{ end }} diff --git a/static/js/posts.js b/static/js/posts.js index 077b654..5be272a 100644 --- a/static/js/posts.js +++ b/static/js/posts.js @@ -124,8 +124,14 @@ function convertContent(actorName, content, opid) { isOP = " (OP)"; } - - newContent = newContent.replace(quote, '>>' + shortURL(actorName, link) + isOP + ''); + + var q = link + + if(document.getElementById(link + "-content") != null) { + q = document.getElementById(link + "-content").innerText; + } + + newContent = newContent.replace(quote, '>>' + shortURL(actorName, link) + isOP + ''); }) } @@ -143,6 +149,35 @@ function convertContent(actorName, content, opid) return newContent } +function convertContentNoLink(actorName, content, opid) +{ + var re = /(>>)(https?:\/\/)?(www\.)?.+\/\w+/gm; + var match = content.match(re); + var newContent = content; + if(match) + { + match.forEach(function(quote, i){ + var link = quote.replace('>>', '') + var isOP = "" + if(link == opid) + { + isOP = " (OP)"; + } + + var q = link + + if(document.getElementById(link + "-content") != null) { + q = document.getElementById(link + "-content").innerText; + } + + newContent = newContent.replace(quote, '>>>' + shortURL(actorName, link) + isOP); + + }) + } + + return newContent +} + function closeReply() { document.getElementById("reply-box").style.display = "none"; diff --git a/static/main.html b/static/main.html index 1cd2aff..172f90b 100644 --- a/static/main.html +++ b/static/main.html @@ -1,10 +1,13 @@ {{ define "layout" }} - + + + + + - {{ .Title }}