An open API service indexing awesome lists of open source software.

https://github.com/jacobwhall/racket-mf2

A microformats2 parser for Racket
https://github.com/jacobwhall/racket-mf2

indieweb microformats racket

Last synced: 24 days ago
JSON representation

A microformats2 parser for Racket

Awesome Lists containing this project

README

        

# racket-mf2
[![tests](https://github.com/jacobwhall/racket-mf2/actions/workflows/tests.yml/badge.svg)](https://github.com/jacobwhall/racket-mf2/actions/workflows/tests.yml)
[![Racket 8.5 badge](https://img.shields.io/badge/Racket-8.5-3e5ba9.svg?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBB%0D%0AZG9iZSBJbGx1c3RyYXRvciAxNS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9u%0D%0AOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBT%0D%0AVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzEx%0D%0ALmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9ImNpcmNsZV9waWVjZXMiIHhtbG5zPSJodHRw%0D%0AOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5%0D%0AOTkveGxpbmsiIHg9IjBweCINCgkgeT0iMHB4IiB3aWR0aD0iNTExLjg3NXB4IiBoZWlnaHQ9IjUx%0D%0AMS44MjRweCIgdmlld0JveD0iMCAwIDUxMS44NzUgNTExLjgyNCIgZW5hYmxlLWJhY2tncm91bmQ9%0D%0AIm5ldyAwIDAgNTExLjg3NSA1MTEuODI0Ig0KCSB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxjaXJj%0D%0AbGUgaWQ9ImNpcmNsZSIgZmlsbD0iI0ZGRkZGRiIgY3g9IjI1Ni4yNTIiIGN5PSIyNTUuOTg2IiBy%0D%0APSIyNTMuMDkzIi8+DQo8cGF0aCBpZD0iYmx1ZS1waWVjZSIgZmlsbD0iIzNFNUJBOSIgZD0iTTQ1%0D%0ANS4zOTgsNDEyLjE5N2MzMy43OTItNDMuMDIxLDUzLjk0Ni05Ny4yNjIsNTMuOTQ2LTE1Ni4yMTEN%0D%0ACgljMC0xMzkuNzc5LTExMy4zMTMtMjUzLjA5My0yNTMuMDkzLTI1My4wOTNjLTMwLjQwNiwwLTU5%0D%0ALjU1OCw1LjM2Ny04Ni41NjYsMTUuMTk3QzI3Mi40MzUsNzEuOTg5LDQwOC4zNDksMjQ3LjgzOSw0%0D%0ANTUuMzk4LDQxMi4xOTd6DQoJIi8+DQo8cGF0aCBpZD0ibGVmdC1yZWQtcGllY2UiIGZpbGw9IiM5%0D%0ARjFEMjAiIGQ9Ik0yMjAuMDAzLDE2NC4zMzdjLTM5LjQ4MS00Mi41MzMtODMuNjk1LTc2LjMxMi0x%0D%0AMzAuNTIzLTk4LjcxNQ0KCUMzNi41NzMsMTEyLjAxMSwzLjE1OSwxODAuMDkyLDMuMTU5LDI1NS45%0D%0AODZjMCw2My44MTQsMjMuNjI2LDEyMi4xMDQsNjIuNTk3LDE2Ni42MjMNCglDMTAwLjExMSwzMTku%0D%0AMzkyLDE2NC42OTcsMjE5LjkwNywyMjAuMDAzLDE2NC4zMzd6Ii8+DQo8cGF0aCBpZD0iYm90dG9t%0D%0ALXJlZC1waWVjZSIgZmlsbD0iIzlGMUQyMCIgZD0iTTI2Ni42MzgsMjIxLjcyN2MtNTQuNzkyLDU5%0D%0ALjA1MS0xMDkuMzkyLDE2Mi40MjItMTI5LjE1MiwyNTcuNzk0DQoJYzM1LjQxOSwxOC44NTcsNzUu%0D%0AODQsMjkuNTU5LDExOC43NjYsMjkuNTU5YzQ0LjEzMiwwLDg1LjYxOC0xMS4zMDYsMTIxLjc0LTMx%0D%0ALjE2M0MzNTcuMTcxLDM4MS43MTIsMzE3Ljg2OCwyOTMuNjA0LDI2Ni42MzgsMjIxLjcyNw0KCXoi%0D%0ALz4NCjwvc3ZnPg0K)](https://racket-lang.org)
[![CC0-1.0 license badge](https://img.shields.io/badge/License-CC0_1.0-428F7E.svg)](http://creativecommons.org/publicdomain/zero/1.0/)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-428F7E.svg)](CODE_OF_CONDUCT.md)

A [microformats2](https://microformats.org/wiki/microformats2/) parser written in [Racket](https://racket-lang.org/). For more information about microformats, see [this website](https://microformats.io/).

This package does not offer backwards compatibility with the first version of microformats.
You are welcome to open an issue if you'd like to see support added.

## Installing

racket-mf2 is available [on the Racket Package Index](https://pkgs.racket-lang.org/package/microformats) under the name `microformats`:
```
raco pkg install microformats
```

## Getting started

I promise to fully document this package once it's ready to share.
Until then, see the example in the [official documentation](https://docs.racket-lang.org/microformats/index.html).

## Contributing

You are welcome to [open an issue](https://github.com/jacobwhall/racket-microformats/issues), [submit a pull request](https://github.com/jacobwhall/racket-microformats/pulls), or [get in touch with me](mailto:[email protected]).

### Running tests

To run the [microformats test suite](https://github.com/microformats/tests), first clone this repository with the `tests/` submodule:
```
git clone --recurse-submodules [email protected]:jacobwhall/racket-mf2.git
```
…and run the tests using `raco test`.
```
raco test tests.rkt
```

## Acknowledgements

Shoutout to [Tantek Çelik](https://tantek.com/), [Ben Ward](https://benward.uk/), and the other editors of the microformats specification

Thank you everyone who helps build and maintain Racket, in particular:
- [Oleg Kiselyov](https://okmij.org/ftp/) and the other authors of [SXML](https://okmij.org/ftp/Scheme/xml.html#SXML-spec)
- [John Clements](https://www.brinckerhoff.org/) and others who [packaged SXML for Racket](https://github.com/jbclements/sxml/)
- [Neil Van Dyke](https://www.neilvandyke.org/), who wrote [html-parsing](https://docs.racket-lang.org/html-parsing/index.html)
- [Eli Barzilay](https://www.barzilay.org/) and [Dave Herman](http://calculist.org/), who wrote [the JSON package for Racket](https://docs.racket-lang.org/json/index.html)
- Jon Zeppieri, who wrote [gregor](https://docs.racket-lang.org/gregor/index.html)

## License

racket-mf2 uses the [CC0 license](http://creativecommons.org/publicdomain/zero/1.0/), as does [php-mf2](https://github.com/microformats/php-mf2) and [microformats-ruby](https://github.com/microformats/microformats-ruby/).
For more information, see [LICENSE.md](LICENSE.md).