Socket
Socket
Sign inDemoInstall

willnorris.com/go/microformats

Package Overview
Dependencies
5
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    willnorris.com/go/microformats

Package microformats provides a microformats parser, supporting both v1 and v2 syntax. Usage: Retrieve the HTML contents of a page, and call Parse or ParseNode, depending on what input you have (an io.Reader or an html.Node). To parse only a section of an HTML document, use a package like goquery to select the root node to parse from. For example, see cmd/gomf/main.go. See also: http://microformats.org/wiki/microformats2


Version published

Readme

Source

microformats

GoDoc Test Status Test Coverage

microformats is a go library and tool for parsing microformats, supporting both classic v1 and v2 syntax. It is based on Andy Leap's original library.

Usage

To see this package in action, the simplest way is to install the command line app and use it to fetch and parse a webpage with microformats on it:

% go install willnorris.com/go/microformats/cmd/gomf@latest
% gomf https://indieweb.org

To use it in your own code, import the package:

import "willnorris.com/go/microformats"

If you have the HTML contents of a page in an io.Reader, call Parse like in this example:

content := `<article class="h-entry"><h1 class="p-name">Hello</h1></article>`
r := strings.NewReader(content)

data := microformats.Parse(r, nil)

// do something with data, or just print it out as JSON:
enc := json.NewEncoder(os.Stdout)
enc.SetIndent("", "  ")
enc.Encode(data)

Alternately, if you have already parsed the page and have an html.Node, then call ParseNode. For example, you might want to select a subset of the DOM, and parse only that for microformats. An example of doing this with the goquery package can be seen in cmd/gomf/main.go.

To see that in action using the gomf app installed above, you can parse the microformats from indieweb.org that appear within the #content element:

% gomf https://indieweb.org "#content"

{
  "items": [
    {
      "id": "content",
      "type": [
        "h-entry"
      ],
      "properties": ...
      "children": ...
    }
  ],
  "rels": {},
  "rel-urls": {}
}

FAQs

Last updated on 31 Jan 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc