Revert global status to basicFormatting and replaceURLsWithTags

This commit is contained in:
Daniele Tonon
2023-06-01 10:11:18 +02:00
parent 1404eb5d1e
commit 415fc088ba
7 changed files with 52 additions and 52 deletions

View File

@@ -242,8 +242,8 @@ func render(w http.ResponseWriter, r *http.Request) {
}
funcMap := template.FuncMap{
"BasicFormatting": BasicFormatting,
"SanitizeString": html.EscapeString,
"basicFormatting": basicFormatting,
"sanitizeString": html.EscapeString,
}
tmpl := template.Must(

View File

@@ -1,16 +1,16 @@
<div class="field {{if not (eq .type "other")}}advanced{{end}}">
<div class="label">Published at</div>
{{.createdAt | SanitizeString}}
{{.createdAt | sanitizeString}}
</div>
<div class="field {{if not (eq .type "other")}}advanced{{end}}">
<div class="label">Kind type</div>
{{.kindID}} - <a href="https://github.com/nostr-protocol/nips/blob/master/{{.kindNIP | SanitizeString}}.md">{{.kindDescription | SanitizeString}}</a>
{{.kindID}} - <a href="https://github.com/nostr-protocol/nips/blob/master/{{.kindNIP | sanitizeString}}.md">{{.kindDescription | sanitizeString}}</a>
</div>
<div class="field {{if not (eq .type "other")}}advanced{{end}}">
<div class="label">Nevent</div>
<div>{{.nevent | SanitizeString}}</div>
<div>{{.nevent | sanitizeString}}</div>
</div>
<div class="field {{if not (eq .type "other")}}advanced{{end}} boxed">

View File

@@ -1,19 +1,19 @@
<head>
{{if eq .type "profile"}}
<title>Nostr Public Key {{.npub}}</title>
<meta property="og:site_name" content="{{.npub | SanitizeString}}" />
<meta property="og:title" content="{{.title | SanitizeString}}" />
<link rel="canonical" href="/{{.npub | SanitizeString }}" />
<meta property="og:site_name" content="{{.npub | sanitizeString}}" />
<meta property="og:title" content="{{.title | sanitizeString}}" />
<link rel="canonical" href="/{{.npub | sanitizeString }}" />
{{ if .metadata.Picture }}
<meta property="og:image" content="{{.metadata.Picture | SanitizeString}}" />
<meta property="og:image" content="{{.metadata.Picture | sanitizeString}}" />
<meta
property="twitter:image"
content="{{.proxy}}{{.metadata.Picture | SanitizeString}}"
content="{{.proxy}}{{.metadata.Picture | sanitizeString}}"
/>
{{end}} {{ if .metadata.About }}
<meta
property="og:description"
content="{{.metadata.About | SanitizeString}}"
content="{{.metadata.About | sanitizeString}}"
/>
{{end}}
<meta property="twitter:card" content="summary" />
@@ -21,45 +21,45 @@
<!----------->
{{ if eq .type "note" }}
<title>Nostr Event {{.nevent}}</title>
<meta property="og:site_name" content="{{.authorLong | SanitizeString}}" />
<meta property="og:title" content="{{.title | SanitizeString}}" />
<meta name="twitter:title" content="{{.twitterTitle | SanitizeString}}" />
<link rel="canonical" href="/{{.note | SanitizeString }}" />
<meta property="og:site_name" content="{{.authorLong | sanitizeString}}" />
<meta property="og:title" content="{{.title | sanitizeString}}" />
<meta name="twitter:title" content="{{.twitterTitle | sanitizeString}}" />
<link rel="canonical" href="/{{.note | sanitizeString }}" />
<!---->
{{ if .textImageURL }}
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@nostrprotocol" />
<meta property="og:image" content="{{.textImageURL | SanitizeString}}" />
<meta name="twitter:image" content="{{.textImageURL | SanitizeString}}" />
<meta property="og:image" content="{{.textImageURL | sanitizeString}}" />
<meta name="twitter:image" content="{{.textImageURL | sanitizeString}}" />
{{ else }}
<!---->
<meta property="twitter:card" content="summary" />
{{ if .image }}
<meta property="og:image" content="{{.image | SanitizeString}}" />
<meta name="twitter:image" content="{{.proxy}}{{.image | SanitizeString}}" />
<meta property="og:image" content="{{.image | sanitizeString}}" />
<meta name="twitter:image" content="{{.proxy}}{{.image | sanitizeString}}" />
{{end}} {{ if .video }}
<meta property="og:video" content="{{.video | SanitizeString}}" />
<meta property="og:video:secure_url" content="{{.video | SanitizeString}}" />
<meta property="og:video" content="{{.video | sanitizeString}}" />
<meta property="og:video:secure_url" content="{{.video | sanitizeString}}" />
<meta
property="og:video:type"
content="video/{{.videoType | SanitizeString}}"
content="video/{{.videoType | sanitizeString}}"
/>
{{end}}
<!---->
{{end}}
<meta property="og:description" content="{{.description | SanitizeString}}" />
<meta property="og:description" content="{{.description | sanitizeString}}" />
<meta
name="twitter:description"
content="{{.description | SanitizeString}}"
content="{{.description | sanitizeString}}"
/>
{{end}}
<!----------->
{{ if eq .type "address" }}
<title>Nostr Address {{.naddr | SanitizeString }}</title>
<title>Nostr Address {{.naddr | sanitizeString }}</title>
{{end}}
<!----------->
{{ if eq .type "other" }}
<title>Nostr Event {{.kindID }} - {{.kindDescription | SanitizeString }}</title>
<title>Nostr Event {{.kindID }} - {{.kindDescription | sanitizeString }}</title>
{{end}}
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

View File

@@ -10,34 +10,34 @@
<div class="container">
<div class="column column_content">
<div class="profile_intro">
<a href="/{{.npub | SanitizeString}}">
<a href="/{{.npub | sanitizeString}}">
<div class="pic-wrapper">
<img class="pic" src="{{.metadata.Picture | SanitizeString}}" />
<img class="pic" src="{{.metadata.Picture | sanitizeString}}" />
</div>
<div class="info-wrapper">
<div class="name">
{{.metadata.Name | SanitizeString}}
{{.metadata.Name | sanitizeString}}
<span class="display"
>{{.metadata.DisplayName | SanitizeString}}</span
>{{.metadata.DisplayName | sanitizeString}}</span
>
</div>
<div class="npub">{{.npubShort | SanitizeString}}</div>
<div class="npub">{{.npubShort | sanitizeString}}</div>
</div>
<div class="published_at">{{.createdAt | SanitizeString}}</div>
<div class="published_at">{{.createdAt | sanitizeString}}</div>
</a>
</div>
<div class="field separator"></div>
<div class="field content">
{{.content | SanitizeString | BasicFormatting }}
{{.content | sanitizeString | basicFormatting }}
</div>
<div class="field separator"></div>
<div class="field">
<div class="label">Author Public key</div>
{{.npub | SanitizeString}}
{{.npub | sanitizeString}}
</div>
<div class="field advanced-switch-wrapper">

View File

@@ -12,7 +12,7 @@
<div class="profile_intro">
<div class="info-wrapper">
<div class="kind_desc">
{{.kindDescription | SanitizeString}}
{{.kindDescription | sanitizeString}}
</div>
</div>
</div>
@@ -21,7 +21,7 @@
<div class="field">
<div class="label">Author Public key</div>
<a href="/{{.npub | SanitizeString}}">{{.npub | SanitizeString}}</a>
<a href="/{{.npub | sanitizeString}}">{{.npub | sanitizeString}}</a>
</div>
{{template "details.html" .}}

View File

@@ -10,53 +10,53 @@
<div class="container">
<div class="column columnA">
<div class="info-wrapper">
{{.metadata.Name | SanitizeString}}
{{.metadata.Name | sanitizeString}}
<span class="display"
>{{.metadata.DisplayName | SanitizeString}}</span
>{{.metadata.DisplayName | sanitizeString}}</span
>
</div>
<div class="pic-wrapper">
<img class="pic" src="{{.metadata.Picture | SanitizeString}}" />
<img class="pic" src="{{.metadata.Picture | sanitizeString}}" />
</div>
<div class="last_update">
Last update:<br />
{{.createdAt | SanitizeString}}
{{.createdAt | sanitizeString}}
</div>
</div>
<div class="column column_content">
<div class="field info-wrapper">
<div class="name">
{{.metadata.Name | SanitizeString}}
{{.metadata.Name | sanitizeString}}
<span class="display"
>{{.metadata.DisplayName | SanitizeString}}</span
>{{.metadata.DisplayName | sanitizeString}}</span
>
</div>
</div>
<div class="field separator long"></div>
<div class="field">
<a href="{{.metadata.Website | SanitizeString}}"
>{{.metadata.Website | SanitizeString}}</a
<a href="{{.metadata.Website | sanitizeString}}"
>{{.metadata.Website | sanitizeString}}</a
>
</div>
<div class="field about">{{.metadata.About | SanitizeString | BasicFormatting}}</div>
<div class="field about">{{.metadata.About | sanitizeString | basicFormatting}}</div>
<div class="field separator"></div>
<div class="field">
<div class="label">Public key</div>
{{.npub | SanitizeString}}
{{.npub | sanitizeString}}
</div>
<div class="field">
<div class="label">NIP-05</div>
{{.metadata.NIP05 | SanitizeString}}
{{.metadata.NIP05 | sanitizeString}}
</div>
<div class="field">
<div class="label">LN Address</div>
{{.metadata.LUD16 | SanitizeString}}
{{.metadata.LUD16 | sanitizeString}}
</div>
<div class="field last_update">
Last update:<br />
{{.createdAt | SanitizeString}}
{{.createdAt | sanitizeString}}
</div>
<div class="field separator"></div>

View File

@@ -166,19 +166,19 @@ func getPreviewStyle(r *http.Request) string {
}
}
func BasicFormatting(input string) string {
func basicFormatting(input string) string {
lines := strings.Split(input, "\n")
var processedLines []string
for _, line := range lines {
processedLine := ReplaceURLsWithTags(line)
processedLine := replaceURLsWithTags(line)
processedLines = append(processedLines, processedLine)
}
return strings.Join(processedLines, "<br/>")
}
func ReplaceURLsWithTags(line string) string {
func replaceURLsWithTags(line string) string {
// Match and replace image URLs with <img> tags
imageExtensions := []string{".jpg", ".jpeg", ".png", ".webp", ".gif"}