~alcinnz/hurl

249cbd39c97a468e4940f219fa826ba5c0590ce3 — Adrian Cochrane 4 years ago 214ebf8
Update homepage & add README.
2 files changed, 43 insertions(+), 2 deletions(-)

A README.md
M hurl.cabal
A README.md => README.md +41 -0
@@ 0,0 1,41 @@
# Haskell URL
HURL resolves URLs to the `Text` or `ByteString` data they reference, alongside
it's MIMEtype. It is capable of resolving data to the charset specified by the
MIMEtype, and will convert any errors to response data.

It's main function is `Data.Network.Fetch.fetchURL`, which takes a "Session"
initialized by `Data.Network.Fetch.newSession`.

## Supported URI schemes
HURL can resolve the following URL schemes:
* `http(s):` - via [http-client](https://hackage.haskell.org/package/http-client)
* `file:`
* `data:` - via [bytestring-base64](https://hackage.haskell.org/package/bytestring-base64)
* Native apps on [FreeDesktop.Org](https://www.freedesktop.org/wiki/Specifications/)-compliant systems (including basically any non-Android Linux system)
* Recommends apps to install on systems which provide a [AppStream Database](https://www.freedesktop.org/wiki/Distributions/AppStream/).

Each of these protocols can individually be turned on or off at compiletime.

## Desired URI schemes
Integration of the following URL schemes would be appreciated:

* `ftp(s):` - via [ftp-conduit](https://hackage.haskell.org/package/ftp-conduit) or [others](https://hackage.haskell.org/packages/search?terms=ftp)
* `magnet:` - via [bittorrent](https://hackage.haskell.org/package/bittorrent)
* `gopher:` - Would want to pair with a [Markdown-to-HTML](https://hackage.haskell.org/package/pandoc) parser to restore semantics lost in Rhapsode's conversion to audio.
* `xdg-icon:` - Custom, looks up images according to [icon-theme-spec](https://www.freedesktop.org/wiki/Specifications/icon-theme-spec/)
* [`gemini:`](https://gopher.tildeverse.org/zaibatsu.circumlunar.space/1/~solderpunk/gemini) - being developed by [@solderpunk@tilde.zone](https://tilde.zone/@solderpunk).
* [`idsc:`/`mdsc:`](https://datashards.net/) - being developed by [@cwebber@octodon.social](https://octodon.social/@cwebber).
* Dispatch to apps on Mac OS X, Windows, Android, and/or iOS.

Feel free to suggest more, point me towards the function(s) to call, or write the
patch yourself! Please email these to `opensource@openwork.nz`.

## Contributing
Known issues to be tackled (outside of the protocol list above) are described in
markdown files under the ISSUES folder. Feel free to [email me](mailto:opensource@openwork.nz)
additional problems and feature requests.

To contribute code you can either email me:

* A link to the online git repository you want me to `git pull` from
* Or a git patch file as documented at https://git-send-mail.io/

M hurl.cabal => hurl.cabal +2 -2
@@ 19,7 19,7 @@ synopsis:            Haskell URL resolver
description:         Retrieves resources for a URI, whether they be HTTP(S), file:, or data:.

-- URL for the project homepage or repository.
homepage:            https://git.nzoss.org.nz/alcinnz/hurl
homepage:            https://git.adrian.geek.nz/hurl.git/

-- The license under which the package is released.
license:             GPL-3


@@ 75,7 75,7 @@ Flag appstream

source-repository head
    type: git
    location: https://git.nzoss.org.nz/alcinnz/hurl.git
    location: https://git.adrian.geek.nz/hurl.git

library
  -- Modules exported by the library.