{"id":16338941,"url":"https://github.com/int-index/slay","last_synced_at":"2025-03-22T23:32:52.332Z","repository":{"id":54152468,"uuid":"98520932","full_name":"int-index/slay","owner":"int-index","description":"Source Layouting Engine","archived":false,"fork":false,"pushed_at":"2021-03-07T11:28:37.000Z","size":119,"stargazers_count":11,"open_issues_count":5,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-11T23:53:05.993Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/int-index.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-27T09:54:38.000Z","updated_at":"2021-03-26T09:58:23.000Z","dependencies_parsed_at":"2022-08-13T07:40:55.250Z","dependency_job_id":null,"html_url":"https://github.com/int-index/slay","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/int-index%2Fslay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/int-index%2Fslay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/int-index%2Fslay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/int-index%2Fslay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/int-index","download_url":"https://codeload.github.com/int-index/slay/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221840922,"owners_count":16889896,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T23:53:07.830Z","updated_at":"2024-10-28T14:34:02.505Z","avatar_url":"https://github.com/int-index.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slay: a layouting engine\n\n[![Build Status](https://img.shields.io/travis/int-index/slay.svg)](https://travis-ci.org/int-index/slay)\n\n## Building instructions\n\n```\n./nix-cabal v2-build all\n```\n\nTo achieve reproducible builds the versions of Haskell dependencies are\npinned in the `cabal.project.freeze` file.\n\nSpecify additional build options in `cabal.project.local`:\n\n```\nprofiling: True\ndocumentation: True\n```\n\n## Project structure\n\nThe main package is `slay-core`, it contains the layouting engine.\nThe only job of the layouting engine is to position primitives on a\n2-dimensional plane. It doesn't matter whether the primitives are for a\npixel-based canvas or for a character-based terminal. Therefore, there are many\npossible backends:\n\n* `slay-cairo` implements a few primitives on top of the `cairo` drawing engine\n* `slay-vty` implements a thin layer over `vty` for terminal pseudographics\n* `slay-web` (not implemented yet) will support browsers\n\nThe `slay-combinators` package defines common positioning strategies, such as\nhorizontal and vertical juxtaposition, and various helper functions for\npositioning. For now it's quite simplistic, but sophisticated positioning\nalgorithms can be added there in the future.\n\nThere are also packages that serve as a testing ground for development and provide\nexamples of using the library. For now there's only one such package, `slay-gtk`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fint-index%2Fslay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fint-index%2Fslay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fint-index%2Fslay/lists"}