allow tagging outside of content
This commit is contained in:
parent
d3bf2b7bc8
commit
c57a52a90c
|
@ -1242,6 +1242,7 @@ func jonkjonk(user *WhatAbout, h *Honk) (junk.Junk, junk.Junk) {
|
||||||
if !h.Public {
|
if !h.Public {
|
||||||
jo["directMessage"] = true
|
jo["directMessage"] = true
|
||||||
}
|
}
|
||||||
|
h.Noise = re_retag.ReplaceAllString(h.Noise, "")
|
||||||
translate(h)
|
translate(h)
|
||||||
redoimages(h)
|
redoimages(h)
|
||||||
if h.Precis != "" {
|
if h.Precis != "" {
|
||||||
|
|
40
fun.go
40
fun.go
|
@ -82,6 +82,7 @@ func reverbolate(userid int64, honks []*Honk) {
|
||||||
local = true
|
local = true
|
||||||
}
|
}
|
||||||
if local && h.What != "bonked" {
|
if local && h.What != "bonked" {
|
||||||
|
h.Noise = re_retag.ReplaceAllString(h.Noise, "")
|
||||||
h.Noise = re_memes.ReplaceAllString(h.Noise, "")
|
h.Noise = re_memes.ReplaceAllString(h.Noise, "")
|
||||||
}
|
}
|
||||||
h.Username, h.Handle = handles(h.Honker)
|
h.Username, h.Handle = handles(h.Honker)
|
||||||
|
@ -124,11 +125,27 @@ func reverbolate(userid int64, honks []*Honk) {
|
||||||
h.Precis = demoji(h.Precis)
|
h.Precis = demoji(h.Precis)
|
||||||
h.Noise = demoji(h.Noise)
|
h.Noise = demoji(h.Noise)
|
||||||
h.Open = "open"
|
h.Open = "open"
|
||||||
|
var misto string
|
||||||
for _, m := range h.Mentions {
|
for _, m := range h.Mentions {
|
||||||
if m.Where != h.Honker && !m.IsPresent(h.Noise) {
|
if m.Where != h.Honker && !m.IsPresent(h.Noise) {
|
||||||
h.Noise = "(" + m.Who + ")" + h.Noise
|
misto += "(" + m.Who + ")"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
var mistag string
|
||||||
|
for _, o := range h.Onts {
|
||||||
|
if !OntIsPresent(o, h.Noise) {
|
||||||
|
mistag += "(" + o + ")"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(misto) > 0 || len(mistag) > 0 {
|
||||||
|
if len(misto) > 0 {
|
||||||
|
misto = misto + "<p>"
|
||||||
|
}
|
||||||
|
if len(mistag) > 0 {
|
||||||
|
mistag = "<p>" + mistag
|
||||||
|
}
|
||||||
|
h.Noise = misto + h.Noise + mistag
|
||||||
|
}
|
||||||
|
|
||||||
zap := make(map[string]bool)
|
zap := make(map[string]bool)
|
||||||
{
|
{
|
||||||
|
@ -329,7 +346,7 @@ func translate(honk *Honk) {
|
||||||
noise = strings.TrimSpace(noise)
|
noise = strings.TrimSpace(noise)
|
||||||
noise = marker.Mark(noise)
|
noise = marker.Mark(noise)
|
||||||
honk.Noise = noise
|
honk.Noise = noise
|
||||||
honk.Onts = oneofakind(marker.HashTags)
|
honk.Onts = oneofakind(append(honk.Onts, marker.HashTags...))
|
||||||
honk.Mentions = bunchofgrapes(marker.Mentions)
|
honk.Mentions = bunchofgrapes(marker.Mentions)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -438,6 +455,7 @@ var re_memes = regexp.MustCompile("meme: ?([^\n]+)")
|
||||||
var re_avatar = regexp.MustCompile("avatar: ?([^\n]+)")
|
var re_avatar = regexp.MustCompile("avatar: ?([^\n]+)")
|
||||||
var re_banner = regexp.MustCompile("banner: ?([^\n]+)")
|
var re_banner = regexp.MustCompile("banner: ?([^\n]+)")
|
||||||
var re_convoy = regexp.MustCompile("convoy: ?([^\n]+)")
|
var re_convoy = regexp.MustCompile("convoy: ?([^\n]+)")
|
||||||
|
var re_retag = regexp.MustCompile("tags: ?([^\n]+)")
|
||||||
var re_convalidate = regexp.MustCompile("^(https?|tag|data):")
|
var re_convalidate = regexp.MustCompile("^(https?|tag|data):")
|
||||||
|
|
||||||
func memetize(honk *Honk) {
|
func memetize(honk *Honk) {
|
||||||
|
@ -475,6 +493,24 @@ func memetize(honk *Honk) {
|
||||||
honk.Noise = re_memes.ReplaceAllStringFunc(honk.Noise, repl)
|
honk.Noise = re_memes.ReplaceAllStringFunc(honk.Noise, repl)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func recategorize(honk *Honk) {
|
||||||
|
repl := func(x string) string {
|
||||||
|
x = x[5:]
|
||||||
|
for _, t := range strings.Split(x, " ") {
|
||||||
|
if t == "" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if t[0] != '#' {
|
||||||
|
t = "#" + t
|
||||||
|
}
|
||||||
|
dlog.Printf("hashtag: %s", t)
|
||||||
|
honk.Onts = append(honk.Onts, t)
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
honk.Noise = re_retag.ReplaceAllStringFunc(honk.Noise, repl)
|
||||||
|
}
|
||||||
|
|
||||||
var re_quickmention = regexp.MustCompile("(^|[ \n])@[[:alnum:]_]+([ \n:;.,']|$)")
|
var re_quickmention = regexp.MustCompile("(^|[ \n])@[[:alnum:]_]+([ \n:;.,']|$)")
|
||||||
|
|
||||||
func quickrename(s string, userid int64) string {
|
func quickrename(s string, userid int64) string {
|
||||||
|
|
5
honk.go
5
honk.go
|
@ -144,6 +144,11 @@ func (mention *Mention) IsPresent(noise string) bool {
|
||||||
return strings.Contains(noise, ">@"+nick) || strings.Contains(noise, "@<span>"+nick)
|
return strings.Contains(noise, ">@"+nick) || strings.Contains(noise, "@<span>"+nick)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func OntIsPresent(ont, noise string) bool {
|
||||||
|
ont = ont[1:]
|
||||||
|
return strings.Contains(noise, ">#"+ont) || strings.Contains(noise, "#<span>"+ont)
|
||||||
|
}
|
||||||
|
|
||||||
type OldRevision struct {
|
type OldRevision struct {
|
||||||
Precis string
|
Precis string
|
||||||
Noise string
|
Noise string
|
||||||
|
|
Loading…
Reference in New Issue