mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
add methid to parse content metadata
This commit is contained in:
parent
c2e08d0e8f
commit
05373ba3c7
2 changed files with 17 additions and 8 deletions
|
|
@ -2,7 +2,7 @@ import { PubsubClient } from '../datalayer/pubsub'
|
|||
import { DataModels } from '../resolvers/types'
|
||||
import { generateSlug, stringToHash, validatedDate } from '../utils/helpers'
|
||||
import {
|
||||
parseMetadata,
|
||||
parseUrlMetadata,
|
||||
parseOriginalContent,
|
||||
parsePreparedContent,
|
||||
} from '../utils/parser'
|
||||
|
|
@ -44,7 +44,7 @@ export const saveEmail = async (
|
|||
const slug = generateSlug(title)
|
||||
|
||||
const pageType = parseOriginalContent(url, input.originalContent)
|
||||
const metadata = await parseMetadata(url)
|
||||
const metadata = await parseUrlMetadata(url)
|
||||
|
||||
const articleToSave = {
|
||||
originalHtml: input.originalContent,
|
||||
|
|
|
|||
|
|
@ -352,12 +352,9 @@ type Metadata = {
|
|||
previewImage: string
|
||||
}
|
||||
|
||||
export const parseMetadata = async (
|
||||
url: string
|
||||
): Promise<Metadata | undefined> => {
|
||||
export const parsePageMetadata = async (html: string): Promise<Metadata | undefined> => {
|
||||
try {
|
||||
const res = await axios.get(url)
|
||||
const window = new JSDOM(res.data).window
|
||||
const window = new JSDOM(html).window
|
||||
|
||||
// get open graph metadata
|
||||
const description =
|
||||
|
|
@ -385,7 +382,19 @@ export const parseMetadata = async (
|
|||
|
||||
return { title, author, description, previewImage }
|
||||
} catch (e) {
|
||||
console.log('failed to got:', url, e)
|
||||
console.log('failed to parse page:', html, e)
|
||||
return undefined
|
||||
}
|
||||
}
|
||||
|
||||
export const parseUrlMetadata = async (
|
||||
url: string
|
||||
): Promise<Metadata | undefined> => {
|
||||
try {
|
||||
const res = await axios.get(url)
|
||||
return parsePageMetadata(res.data)
|
||||
} catch (e) {
|
||||
console.log('failed to get:', url, e)
|
||||
return undefined
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue