diff --git a/src/layouts/base.astro b/src/layouts/base.astro
index 61f019e..6d6c281 100644
--- a/src/layouts/base.astro
+++ b/src/layouts/base.astro
@@ -22,8 +22,8 @@ const seoParams = {
title: seo?.title,
description: seo?.text ?? channel?.description,
canonical,
- noindex: getEnv(import.meta.env, Astro, 'NOINDEX'),
- nofollow: getEnv(import.meta.env, Astro, 'NOFOLLOW'),
+ noindex: seo?.noindex ?? getEnv(import.meta.env, Astro, 'NOINDEX'),
+ nofollow: seo?.nofollow ?? getEnv(import.meta.env, Astro, 'NOFOLLOW'),
openGraph: {
basic: {
type: 'website',
@@ -33,7 +33,7 @@ const seoParams = {
},
optional: {
description: seo?.text ?? channel?.description,
- locale: getEnv(import.meta.env, Astro, 'LOCALE'),
+ locale,
},
},
extend: {
diff --git a/src/lib/telegram/index.js b/src/lib/telegram/index.js
index 100ec69..10b07a3 100644
--- a/src/lib/telegram/index.js
+++ b/src/lib/telegram/index.js
@@ -131,7 +131,7 @@ function getPost($, item, { channel, staticProxy, index = 0 }) {
const content = $(item).find('.js-message_reply_text')?.length > 0
? modifyHTMLContent($, $(item).find('.tgme_widget_message_text.js-message_text'), { index })
: modifyHTMLContent($, $(item).find('.tgme_widget_message_text'), { index })
- const title = content?.text()?.match(/^.*?(?=[。::]|http\S)/g)?.[0] ?? content?.text() ?? ''
+ const title = content?.text()?.match(/^.*?(?=[。\n]|http\S)/g)?.[0] ?? content?.text() ?? ''
const id = $(item).attr('data-post')?.replace(new RegExp(`${channel}/`, 'i'), '')
const tags = $(content).find('a[href^="?q="]')?.each((_index, a) => {
diff --git a/src/pages/after/[cursor].astro b/src/pages/after/[cursor].astro
index 5315bdc..d8e7705 100644
--- a/src/pages/after/[cursor].astro
+++ b/src/pages/after/[cursor].astro
@@ -5,6 +5,10 @@ import { getChannelInfo } from '../../lib/telegram'
const channel = await getChannelInfo(Astro, {
after: Astro.params.cursor,
})
+
+channel.seo = {
+ noindex: true,
+}
---
diff --git a/src/pages/before/[cursor].astro b/src/pages/before/[cursor].astro
index 242b401..abdaa70 100644
--- a/src/pages/before/[cursor].astro
+++ b/src/pages/before/[cursor].astro
@@ -5,6 +5,10 @@ import { getChannelInfo } from '../../lib/telegram'
const channel = await getChannelInfo(Astro, {
before: Astro.params.cursor,
})
+
+channel.seo = {
+ noindex: true,
+}
---
diff --git a/src/pages/links.astro b/src/pages/links.astro
index 29b0fa8..c24c4bb 100644
--- a/src/pages/links.astro
+++ b/src/pages/links.astro
@@ -6,6 +6,10 @@ import { getEnv } from '../lib/env'
const channel = await getChannelInfo(Astro)
+channel.seo = {
+ title: 'Links',
+}
+
const links = (getEnv(import.meta.env, Astro, 'LINKS') || '')
.split(';')
.filter(Boolean)
diff --git a/src/pages/search/[q].astro b/src/pages/search/[q].astro
index a356d94..866d670 100644
--- a/src/pages/search/[q].astro
+++ b/src/pages/search/[q].astro
@@ -2,9 +2,14 @@
import List from '../../components/list.astro'
import { getChannelInfo } from '../../lib/telegram'
+const q = Astro.url.searchParams.get('q') || Astro.params.q
const channel = await getChannelInfo(Astro, {
- q: Astro.url.searchParams.get('q') || Astro.params.q,
+ q,
})
+
+channel.seo = {
+ title: `${q}`,
+}
---
diff --git a/src/pages/tags.astro b/src/pages/tags.astro
index bc08ae4..651f1d0 100644
--- a/src/pages/tags.astro
+++ b/src/pages/tags.astro
@@ -6,6 +6,10 @@ import { getEnv } from '../lib/env'
const channel = await getChannelInfo(Astro)
+channel.seo = {
+ title: 'Tags',
+}
+
const tags = (getEnv(import.meta.env, Astro, 'TAGS') || '').split(',')
---