Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/falkz/hypst


https://github.com/falkz/hypst

Last synced: 4 days ago
JSON representation

Awesome Lists containing this project

README

        

# Hypst

> EDSL to create html documents in Haskell with a Markdown / Typst inspired syntax

## Example
This project allows the following haskell code:
```haskell
module Main where

import Hypst
import Prelude hiding ((+), (-), (>))
import Styles (styles)

main :: IO ()
main = do
document "build/index.html"

# "Inspiration"

`img` "./typst.webp"

- "Alternative zu Latex"
- "Erinnert an Markdown"
- "Erlaubt Scripting:"

`img` "./scripting.png"

> "Typst ist eine DSL"

# "Idee: Hypst"
> "Haskell basierte EDSL die das Verhalten von Typst imitiert"

## "Aufbau 2"

- "Infix Notation auf 'Dokument'"
- "Deep Embedding"
- "Pattern Matching für HTML Rendering"

`input` styles

|> end_document
```

To be compiled into:

```html

Inspiration



  • Alternative zu Latex

  • Erinnert an Markdown

  • Erlaubt Scripting:


  • Typst ist eine DSL

    Idee: Hypst


    Haskell basierte EDSL die das Verhalten von Typst imitiert

    Aufbau 2


  • Infix Notation auf 'Dokument'

  • Deep Embedding

  • Pattern Matching für HTML Rendering

  • li { font-size: 1rem; padding: 0.25em 0; } p, blockquote { font-size: 1rem } blockquote { border-left: 2px solid #ccd; background: #ccccdd22; margin: 0; padding: 1em; } img { margin: 1em 0; }
    ```

    Full example: [app/Main.hs](./app/Main.hs)