From dd2b1d579f9c1e7a3082c2bed55ecd1e3d9f0fc8 Mon Sep 17 00:00:00 2001 From: malteneuss Date: Sun, 8 Sep 2024 11:49:10 +0200 Subject: [PATCH 1/5] Add quickstart section to Readme --- README.md | 42 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 07c9748..b8a296d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,40 @@ -## file-embed +# file-embed ![Hackage](https://img.shields.io/hackage/v/file-embed.svg) ![Hackage-Deps](https://img.shields.io/hackage-deps/v/file-embed.svg) ![Tests](https://github.com/snoyberg/file-embed/workflows/Tests/badge.svg) -![Tests](https://github.com/snoyberg/file-embed/workflows/Tests/badge.svg) +Embedd arbitrary files like JSON or plain text into your Haskell code as if they were written inside Haskell. -Use Template Haskell to read a file or all the files in a directory, and turn -them into (path, bytestring) pairs embedded in your haskell code. +Note: This library uses Template Haskell for the embeddig. + +# Quickstart + +Add [the latest version](https://hackage.haskell.org/package/file-embed) of `file-embed` to your +package description `.cabal` or Stack `package.yaml` file. + +Given the folder structure + +```shell +$ tree +. +└── myapp +│ ├── app +│ │ └── Main.hs +│ ├── embedded.json +│ └── myapp.cabal +└── cabal.project +``` + +you can embedd a file as follows: + +```haskell +-- file: Main.hs +{-# LANGUAGE TemplateHaskell #-} + +import qualified Data.ByteString as BS +import Data.FileEmbed (embedFileRelative) + +myFile :: BS.ByteString +myFile = $(embedFileRelative "embedded.json") +``` + +The path to `embedFileRelative` is relative to the package root; the folder where the `.cabal` file is. +Take a look at the [Hackage documentation](https://hackage.haskell.org/package/file-embed/docs/Data-FileEmbed.html) +for more examples and variations. From 72eb8de9edf187e3063d073bc508ad2338324ef1 Mon Sep 17 00:00:00 2001 From: malteneuss Date: Sun, 8 Sep 2024 14:21:10 +0200 Subject: [PATCH 2/5] Update README.md Co-authored-by: Michael Snoyman --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b8a296d..e621dce 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # file-embed ![Hackage](https://img.shields.io/hackage/v/file-embed.svg) ![Hackage-Deps](https://img.shields.io/hackage-deps/v/file-embed.svg) ![Tests](https://github.com/snoyberg/file-embed/workflows/Tests/badge.svg) -Embedd arbitrary files like JSON or plain text into your Haskell code as if they were written inside Haskell. +Embed arbitrary files like JSON or plain text into your Haskell code as if they were written inside Haskell. Note: This library uses Template Haskell for the embeddig. From 763dc6003b72dd228517c096481316991a45d5e7 Mon Sep 17 00:00:00 2001 From: malteneuss Date: Sun, 8 Sep 2024 14:21:15 +0200 Subject: [PATCH 3/5] Update README.md Co-authored-by: Michael Snoyman --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e621dce..95c4535 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Embed arbitrary files like JSON or plain text into your Haskell code as if they Note: This library uses Template Haskell for the embeddig. -# Quickstart +## Quickstart Add [the latest version](https://hackage.haskell.org/package/file-embed) of `file-embed` to your package description `.cabal` or Stack `package.yaml` file. From 1873c93b4a4744a27881dd26e70a73d8bacd9a57 Mon Sep 17 00:00:00 2001 From: malteneuss Date: Sun, 8 Sep 2024 14:21:20 +0200 Subject: [PATCH 4/5] Update README.md Co-authored-by: Michael Snoyman --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 95c4535..ec036c1 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ $ tree └── cabal.project ``` -you can embedd a file as follows: +you can embed a file as follows: ```haskell -- file: Main.hs From 2f1e81ac59e1b251b81e8a886b80d885f6ecf88a Mon Sep 17 00:00:00 2001 From: malteneuss Date: Sun, 8 Sep 2024 14:21:26 +0200 Subject: [PATCH 5/5] Update README.md Co-authored-by: Michael Snoyman --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ec036c1..25b61da 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Embed arbitrary files like JSON or plain text into your Haskell code as if they were written inside Haskell. -Note: This library uses Template Haskell for the embeddig. +Note: This library uses Template Haskell for the embedding. ## Quickstart