Get Open Graph and other metadata from a webpage!
To install the package:
npm install --save node-meta-parser
Returns the <meta> tags from an HTML page in the following object format
{
"propertyName": "contentValue"
}parseMetadata(rawHtml: string, properties: string[])
- rawHtml: is the string representing the HTML for the requested webpage.
- properties: is an array of strings that are the property (or name) of a
<meta>tag
<!-- propertyName: "og:title" contentValue: "Open Graph protocol" --> <meta property="og:title" content="Open Graph protocol"> <!-- propertyName: "description" contentValue: "The Open Graph protocol enables any web page to become a rich object in a social graph." --> <meta name="description" content="The Open Graph protocol enables any web page to become a rich object in a social graph.">
Returns the URL of the favicon
getFavicon(rawHtml: string)
- rawHtml: is the string representing the HTML for the requested webpage.
To get the <meta> tags values from a website you need to get a webpage's raw HTML first, you can use an HTTP client of your liking, the example uses axios.
import axios from "axios" import nmp from "node-meta-parser" void(async(): Promise<void> => { const { data: rawHtml } = await axios.get("https://ogp.me/") const metadata = nmp.parseMetadata(rawHtml, ["og:title", "og:type", "og:url", "og:image", "og:description"]) console.log(metadata) })()
in this case metadata is like this:
{
"og:title": "Open Graph protocol",
"og:type": "website",
"og:url": "https://ogp.me/",
"og:image": "https://ogp.me/logo.png",
"og:description": "The Open Graph protocol enables any web page to become a rich object in a social graph."
}- node-html-parser - Fast HTML Parser.
To add the package to the dependencies:
{
"dependencies": {
"node-meta-parser": "github:andreazllin/node-meta-parser#build"
}
}Give execute permission to update.sh script:
cd scripts
sudo chmod +x update.shExecute the script, it will transpile the branch main and push the folder /dist/ to the build branch:
npm run update
To upload a new version of the package:
- Change version in
package.json. npm run installto updatepackage-lock.jsonversion.- Commit and push changes to
mainbranch. - Checkout to
buildbranch. npm run updateto build and push latest version to GitHub.npm publishto publish a new version to NPM