| CARVIEW |
Select Language
HTTP/1.1 200 OK
Connection: keep-alive
Server: nginx/1.24.0 (Ubuntu)
Content-Type: text/html; charset=utf-8
Cache-Control: public, max-age=300
Content-Encoding: gzip
Via: 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Age: 0
Date: Sat, 17 Jan 2026 04:59:15 GMT
X-Served-By: cache-dfw-kdfw8210113-DFW, cache-bom-vanm7210071-BOM
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1768625955.319491,VS0,VE293
Vary: Accept, Accept-Encoding
transfer-encoding: chunked
indieweb-algorithms: A collection of implementations of IndieWeb algorithms.
indieweb-algorithms
indieweb-algorithms: A collection of implementations of IndieWeb algorithms.
Modules
- Data
- IndieWeb
- Data.IndieWeb.Authorship
- Data.IndieWeb.Endpoints
- Data.IndieWeb.MicroformatsToAtom
- Data.IndieWeb.MicroformatsUtil
- Data.IndieWeb.SiloToMicroformats
- IndieWeb
Downloads
- indieweb-algorithms-0.1.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1.0, 0.1.1 |
|---|---|
| Dependencies | aeson, base (>=4.0.0.0 && <5), bytestring, containers, data-default, either, errors, http-link-header (>=1.2.0), lens, lens-aeson, microformats2-parser, network-uri, safe, text, time, transformers, unordered-containers, vector, xml-conduit, xml-conduit-writer, xml-lens (>=0.2) [details] |
| Tested with | ghc ==9.0.2 |
| License | LicenseRef-PublicDomain |
| Copyright | 2015-2017 Val Packett <val@packett.cool> |
| Author | Val Packett |
| Maintainer | val@packett.cool |
| Uploaded | by valpackett at 2022-10-18T20:00:27Z |
| Category | Web |
| Home page | https://codeberg.org/valpackett/indieweb-algorithms |
| Bug tracker | https://codeberg.org/valpackett/indieweb-algorithms/issues |
| Source repo | head: git clone https://codeberg.org/valpackett/indieweb-algorithms.git |
| Distributions | |
| Reverse Dependencies | 1 direct, 0 indirect [details] |
| Downloads | 963 total (10 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs not available [build log] All reported builds failed as of 2022-10-18 [all 2 reports] |
Readme for indieweb-algorithms-0.1.1
[back to package description]indieweb-algorithms

A collection of implementations of IndieWeb- and Microformats 2-related algorithms (based on microformats2-parser and http-link-header):
- finding all microformats of a given type (while retaining the path to them), ie. flattening the tree
- discovering authorship of an
h-entry- discovering the representative h-card
- discovering Webmention/Micropub/IndieAuth/etc. endpoints (HTTP
Linkheader,aandlinktags with therelattribute) - parsing tweets on Twitter.com into microformats (like php-mf2-shim)
- detecting post types
- converting microformats to Atom feeds
Usage
Endpoints
{-# LANGUAGE OverloadedStrings #-}
import Network.HTTP.Link
import Data.Default
import Data.Maybe
import Data.Microformats2.Parser
import Data.IndieWeb.Endpoints
discoverEndpoints [ "micropub" ] (parseMf2 def $ documentRoot $ parseLBS "<link rel=micropub href='https://example.com/micropub2'>...") (fromMaybe [] $ parseLinkHeader "<https://example.com/micropub>; rel=\"micropub\"")
Development
Use stack to build.
Use ghci to run tests quickly with :test (see the .ghci file).
$ stack build
$ stack test
$ stack ghci
License
This is free and unencumbered software released into the public domain.
For more information, please refer to the UNLICENSE file or unlicense.org.