Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hadolint/language-docker
Haskell Dockerfile parser, pretty-printer and EDSL
https://github.com/hadolint/language-docker
docker docker-image haskell parser pretty-print pretty-printer templating
Last synced: 5 days ago
JSON representation
Haskell Dockerfile parser, pretty-printer and EDSL
- Host: GitHub
- URL: https://github.com/hadolint/language-docker
- Owner: hadolint
- License: other
- Created: 2017-12-12T22:19:23.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-04-24T18:29:59.000Z (7 months ago)
- Last Synced: 2024-05-23T01:06:37.877Z (6 months ago)
- Topics: docker, docker-image, haskell, parser, pretty-print, pretty-printer, templating
- Language: Haskell
- Size: 1.86 MB
- Stars: 36
- Watchers: 5
- Forks: 13
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status][travis-img]][travis]
[![Hackage][hackage-img]][hackage]
[![GPL-3 licensed][license-img]][license]# haskell-language-docker
Dockerfile parser, pretty-printer and embedded DSL
Provides de ability to parse docker files, a pretty-printer and EDSL for
writting Dockerfiles in Haskell.- [Parsing files](#parsing-files)
- [Parsing strings](#parsing-strings)
- [Pretty-printing files](#pretty-printing-files)## Parsing files
```haskell
import Language.Docker
main = do
ef <- parseFile "./Dockerfile"
print ef
```## Parsing strings
```haskell
import Language.Docker
main = do
c <- readFile "./Dockerfile"
print (parseString c)
```## Create Dockerfiles
Use the [dockerfile-creator package](https://github.com/hadolint/dockerfile-creator)
[hackage-img]: https://img.shields.io/hackage/v/language-docker.svg
[hackage]: https://hackage.haskell.org/package/language-docker
[travis-img]: https://travis-ci.org/hadolint/language-docker.svg?branch=master
[travis]: https://travis-ci.org/hadolint/language-docker
[license-img]: https://img.shields.io/badge/license-GPL--3-blue.svg
[license]: https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)