From 249cbd39c97a468e4940f219fa826ba5c0590ce3 Mon Sep 17 00:00:00 2001 From: Adrian Cochrane Date: Fri, 10 Apr 2020 12:13:53 +1200 Subject: [PATCH] Update homepage & add README. --- README.md | 41 +++++++++++++++++++++++++++++++++++++++++ hurl.cabal | 4 ++-- 2 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..b97a50f --- /dev/null +++ b/README.md @@ -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/ diff --git a/hurl.cabal b/hurl.cabal index 80a3cf9..eb4e420 100644 --- a/hurl.cabal +++ b/hurl.cabal @@ -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. -- 2.30.2