{"id":16358076,"url":"https://github.com/yukiisbored/jago","last_synced_at":"2025-12-16T16:30:14.944Z","repository":{"id":132645787,"uuid":"331759755","full_name":"yukiisbored/jago","owner":"yukiisbored","description":"🐔 Simplified markup language to author HTML pages.","archived":false,"fork":false,"pushed_at":"2021-07-23T12:47:09.000Z","size":63,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"trunk","last_synced_at":"2024-12-29T09:43:20.847Z","etag":null,"topics":["haskell","html","markup-language","parsec"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yukiisbored.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-21T21:28:52.000Z","updated_at":"2021-07-23T12:47:12.000Z","dependencies_parsed_at":"2023-07-26T04:50:26.244Z","dependency_job_id":null,"html_url":"https://github.com/yukiisbored/jago","commit_stats":{"total_commits":57,"total_committers":1,"mean_commits":57.0,"dds":0.0,"last_synced_commit":"33866ca97ffd10eaa11c7008c7fef97e3adbf6a5"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukiisbored%2Fjago","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukiisbored%2Fjago/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukiisbored%2Fjago/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukiisbored%2Fjago/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yukiisbored","download_url":"https://codeload.github.com/yukiisbored/jago/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239687041,"owners_count":19680645,"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":["haskell","html","markup-language","parsec"],"created_at":"2024-10-11T02:04:46.733Z","updated_at":"2025-12-16T16:30:14.885Z","avatar_url":"https://github.com/yukiisbored.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐔 jago\n\njago is a simplified markup language to author HTML pages.\n\n## Taste of jago\n\nConfused? Here's an annotated version of this example: [`sample.jago`](./sample.jago)\n\n```jago\n\"\u003c!DOCTYPE html\u003e\"\nhtml [lang=\"en\"]\n  head\n    title \"Haruhi suzumiya's personal website\"\n\n    meta [charset=\"utf-8\"]\n    meta [name=\"viewport\"\n          content=\"width=device-width, initial-scale=1\"]\n    meta [name=\"description\"\n          content=\"Haruhi's personal space on the wild wild web\"]\n\n  body\n    header\n      img [src=\"//upload.wikimedia.org/wikipedia/en/4/48/Suzumiya_Haruhi.jpg\"\n           alt=\"Picture of myself\"]\n      h1 \"Haruhi Suzumiya\"\n      h2 i \"President of the SOS Brigade club\"\n\n    div [class=\"border\"]\n      h3 \"Biography\"\n      p \"Hello, world! Welcome to my small space on the corner of the web. \"\n        \"I'm a high school student from Nishinomiya, Japan and interested in \"\n        `\"supernatural phenomena\" and \"figures\", such as `\n        a [href=\"//en.wikipedia.org/wiki/Extraterrestrial_life\"] \"aliens\"\n        \", \"\n        a [href=\"//en.wikipedia.org/wiki/Time_travel\"] \"time travelers\"\n        \", and \"\n        a [href=\"//en.wikipedia.org/wiki/Esper\"] \"espers\"\n        \". If you know any, please let me know by shooting me an email at \"\n        a [href=\"mailto:haruhi.suzumiya@example.jp\"] \"haruhi.suzumiya@example.jp\"\n        \".\"\n\n    div [class=\"border\"]\n      h3 \"Members\"\n      ul li \"Haruhi Suzumiya\"\n         li \"Mikuru Asahina\"\n         li \"Yuki Nagato\"\n         li \"Itsuki Koizumi\"\n         li \"Kyon\"\n\n    footer\n      p \"This webpage is authored using the \"\n        a [href=\"https://git.sr.ht/~yuki_is_bored/jago\"] \"jago\"\n        \" markup language.\"\n```\n\n## Use\n\n```console\n$ jago --input sample.jago --output sample.html\n$ cat sample.html\n\u003c!DOCTYPE html\u003e\u003chtml lang=\"en\"\u003e\u003chead\u003e\u003ctitle\u003eHaruhi suzumiya's personal website\u003c/title\u003e\u003cmeta charset=\"\n...\n```\n\n## Build\n\n### With [Stack]\n\nYou can easily build this project using [Stack] with `stack build`.\n\n```console\n$ stack build\njago-0.1.0.0: unregistering (local file changes: CHANGELOG.md Exec/Main.hs Lib/Jago/Html.hs Lib/Jago/Parser.hs jago.cabal)\nBuilding all executables for `jago' once. After a successful build of all of them, only specified executables will be rebuilt.\njago\u003e configure (lib + exe)\n...\n```\n\nIf you want to run jago, you can use `stack run`.\n\n```console\n$ stack run -- jago --help\njago - simplified markup language to author HTML pages\n\nUsage: jago [-i|--input INPUT] [-o|--output OUTPUT]\n  Compile jago to html\n\nAvailable options:\n  -i,--input INPUT         Jago file acting as input\n  -o,--output OUTPUT       Output html file\n  -h,--help                Show this help text\n\nhttps://git.sr.ht/~yuki_is_bored/jago\n```\n\n### With [Nix Flake]\n\nYou can easily build this project using [Nix Flake] with `nix build`.\n\n```console\n$ nix build\n```\n\nIf you want to run jago, you can use `nix run`.\n\n```console\n$ nix run . -- --help\njago - simplified markup language to author HTML pages\n\nUsage: jago [-i|--input INPUT] [-o|--output OUTPUT]\n  Compile jago to html\n\nAvailable options:\n  -i,--input INPUT         Jago file acting as input\n  -o,--output OUTPUT       Output html file\n  -h,--help                Show this help text\n\nhttps://git.sr.ht/~yuki_is_bored/jago\n```\n\n### With [Nix]\n\nYou can easily build this project using [Nix] with `nix-build`.\n\n```console\n$ nix-build\nbuilding '/nix/store/cjf2i0m8fah0qpgnww82gxkjfajgwgmx-cabal2nix-jago.drv'...\ninstalling\nthis derivation will be built:\n```\n\nIf you want to run jago, execute the resulting binaries inside the `result` symlink.\n\n```console\n$ ./result/bin/jago --help\njago - simplified markup language to author HTML pages\n\nUsage: jago [-i|--input INPUT] [-o|--output OUTPUT]\n  Compile jago to html\n\nAvailable options:\n  -i,--input INPUT         Jago file acting as input\n  -o,--output OUTPUT       Output html file\n  -h,--help                Show this help text\n\nhttps://git.sr.ht/~yuki_is_bored/jago\n```\n\n[Stack]: https://haskellstack.org/\n[Nix Flake]: https://www.tweag.io/blog/2020-05-25-flakes/\n[Nix]: https://nixos.org/nix\n\n## Contents\n\nThis repository contains the [Compiler] for Jago which utilizes the\nfollowing components:\n\n- [Parser] which takes a Jago document turn it into an [AST]\n  representation of an HTML document.\n- [Render] which takes an [AST] representation and renders it out to\n  an HTML document readable by web browsers.\n\nThe structure of the project allows for the use of multiple renderers,\nlike a code formatter, a minified render, etc.\n\nCurrently, only a HTML render is available. The output of it can be\nfurther minified by more mature minifiers such as [html-minifier].\n\n[Compiler]: ./Lib/Jago/Compiler.hs\n[Parser]: ./Lib/Jago/Parser.hs\n[AST]: ./Lib/Jago/AST.hs\n[Render]: ./Lib/Jago/Render/Html.hs\n[html-minifier]: https://github.com/kangax/html-minifier\n\n## License\n\njago is free and open-source software licensed under the ISC license.\n\n## See also\n\n* [pug] (Javascript): Simplified markup language used for HTML\n  templating which inspires jago.\n\n[pug]: https://pugjs.org/api/getting-started.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukiisbored%2Fjago","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyukiisbored%2Fjago","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukiisbored%2Fjago/lists"}