{"id":23733728,"url":"https://github.com/geeksforsocialchange/the-trans-dimension","last_synced_at":"2026-01-18T09:08:54.607Z","repository":{"id":39876505,"uuid":"433099141","full_name":"geeksforsocialchange/the-trans-dimension","owner":"geeksforsocialchange","description":"The Trans Dimension is an online community hub connecting trans communities in the UK.","archived":false,"fork":false,"pushed_at":"2025-10-05T07:38:14.000Z","size":6899,"stargazers_count":6,"open_issues_count":56,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-05T09:14:38.801Z","etag":null,"topics":["elm","elm-pages","graphql","graphql-client","nonbinary","nonprofit","nonprofit-organizations","placecal","static-site","transgender"],"latest_commit_sha":null,"homepage":"http://transdimension.uk","language":"Elm","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geeksforsocialchange.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":"gfscstudio","open_collective":"gfscstudio","ko_fi":"gfscstudio","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2021-11-29T15:36:57.000Z","updated_at":"2025-05-26T18:22:09.000Z","dependencies_parsed_at":"2024-01-15T14:43:16.554Z","dependency_job_id":"792c6a9f-f10d-42f7-997a-3689642745fe","html_url":"https://github.com/geeksforsocialchange/the-trans-dimension","commit_stats":null,"previous_names":["geeksforsocialchange/the-trans-dimension"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/geeksforsocialchange/the-trans-dimension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geeksforsocialchange%2Fthe-trans-dimension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geeksforsocialchange%2Fthe-trans-dimension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geeksforsocialchange%2Fthe-trans-dimension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geeksforsocialchange%2Fthe-trans-dimension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geeksforsocialchange","download_url":"https://codeload.github.com/geeksforsocialchange/the-trans-dimension/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geeksforsocialchange%2Fthe-trans-dimension/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28534154,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["elm","elm-pages","graphql","graphql-client","nonbinary","nonprofit","nonprofit-organizations","placecal","static-site","transgender"],"created_at":"2024-12-31T05:02:01.908Z","updated_at":"2026-01-18T09:08:54.573Z","avatar_url":"https://github.com/geeksforsocialchange.png","language":"Elm","funding_links":["https://patreon.com/gfscstudio","https://opencollective.com/gfscstudio","https://ko-fi.com/gfscstudio","https://ko-fi.com/M4M43THUM"],"categories":["Elm"],"sub_categories":[],"readme":"# The Trans Dimension\n\n## A [PlaceCal](https://placecal.org/) community site\n\nFront-end for [The Trans Dimension](http://transdimension.uk/), an online community hub which will connect trans communities across the UK by collating news, events and services by and for trans people in one easy-to-reach place. A collaboration between [Gendered Intelligence](https://genderedintelligence.co.uk/) and [Geeks for Social Change](https://gfsc.studio/).\n\nFunded by the [Comic Relief Tech for Good “Build” fund](https://techforgoodhub.co.uk/build-fund-2021). Read more about the project [here](https://gfsc.studio/2021/12/14/enter-trans-dimension.html).\n\n-  Staging url: https://transdimension.pages.dev\n-  Production URL: http://transdimension.uk/\n\n# Development\n\n## Prerequisites\n\n- [node](https://nodejs.org/)\n- [nvm for macOS \u0026 Linux](https://github.com/nvm-sh/nvm) or [nvm for Windows](https://github.com/coreybutler/nvm-windows)\n\n## Setup \u0026 install instructions\n\n- make sure you are using the correct node version with `nvm use`\n- install with `npm install`\n\nCopy `.env.example` over into `.env` and edit as appropriate! This must be done before any of the following will work as it generates `src/Constants.elm` which is used in a number of places in the code.\n\n## Build\n\n- `npm start` to start a dev server on http://localhost:3030\n- `npm run build` generate a production build in `dist/`\n\n## Formatting\n\n- There is a pre-commit hook that runs `elm-format --yes`. This will format your files when you commit. This might interfere with the state of files in your IDE. So, we recommend integrating `elm-format@0.8.3` on save into your code editor.\n- You can also manually run `npm run format` to format `.elm` files in `src`.\n\n## Testing\n\nWe're using [elm-test-rs](https://github.com/mpizenberg/elm-test-rs) to run [elm tests](https://package.elm-lang.org/packages/elm-explorations/test/latest/). It is required to run either `npm start` (quickest) or `npm build` at least once in the project before tests will work.\n\n- run tests with `npm test`\n\n## Code \u0026 configs\n\n### This site is built with `elm-pages`\n\n- [Documentation site](https://elm-pages.com)\n- [Elm Package docs](https://package.elm-lang.org/packages/dillonkearns/elm-pages/latest/)\n- [`elm-pages` blog](https://elm-pages.com/blog)\n\n### What it's for\n\n- `elm.json` for elm packages used for site\n- `elm-tooling.json` for elm packages used for code\n- `.env` is used to generate `src/Constants.elm` for elm-pages\n- `script/*` contains CLI code generation scripts to generate boilerplate for new `elm-pages` routes\n- `.nvmrc` contains project node version\n- `package.json` for node scripts and packages\n- `package-lock.json` for current versions of node packages\n- `public/*` contains static files to be copied direct to build\n- `app/*` contains core files required by `elm-pages`. These are boilerplate altered for this project.\n- `src/*` contains custom files. These are authoured from scratch for this project.\n  - `src/Data/PlaceCal` contains code for fetching, caching and decoding data from PlaceCal\n  - `src/Helpers/` contains utility code (e.g. for handling dates)\n  - `src/Theme/` contains view code like templates and shared styling\n- `tests/*` contains test files\n\n### Content \u0026 Pages\n\n- Routes in `app/Route/` automatically generate route based on file name\n- New routes can be generated via CLI\n  - e.g. create a new stateless route by running `npx elm-pages run AddStaticStatelessRoute MyRouteName`\n- Page templates are in `src/Theme/Page/`\n- About and Privacy pages are generated from markdown in `content/`\n- Copy is not from a datasource (e.g. UI or SEO text) is in `src/Copy/Text.elm`\n\n### Styling \u0026 layouts\n\n- We are using [elm-css](https://package.elm-lang.org/packages/rtfeldman/elm-css/latest/Css) for styling\n\n## Deployment\n\nDeploys to Cloudflare Pages\n\n-  code is tested and linted automatically before deploy\n-  when a pull request is created, a preview site is deployed\n-  when a pull request is merged into `main`, the production site is deployed\n\n## Development workflow\n\n### Adding issues\n\n-  add effort \u0026 value labels (if you know enough about it)\n-  put the issue in a milestone (if it is part of a current epic)\n\n### Working on issue\n\n-  assign it to yourself before starting work\n-  make a branch that includes the issue type (fix/feat/chore etc \u0026 number)\n-  make sure you understand the acceptance criteria\n-  don't forget to include tests if it's a new feature\n-  ask questions \u0026 make plan\n\n### Code review \u0026 merge\n\n-  check the acceptance criteria have been met (with tests if appropriate)\n-  add comments \u0026 questions\n-  once approved, leave for the author to merge\n\n## License\n\nSource code is released under the [Hippocratic License](https://firstdonoharm.dev/version/3/0/license/).\n\nGraphic design by [Studio Squid](https://studiosquid.co.uk/) and © Gendered Intelligence 2022.\n\nIllustrations © [Harry Woodgate](https://www.harrywoodgate.com/) 2022.\n\n## Contributing\n\nWe welcome new contributors but strongly recommend you have a chat with us in [Geeks for Social Change's Discord server](http://discord.gfsc.studio) and say hi before you do. We will be happy to onboard you properly before you get stuck in.\n\n## Donations\n\nIf you'd like to support development, please consider sending us a one-off or regular donation on Ko-fi.\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/M4M43THUM)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeeksforsocialchange%2Fthe-trans-dimension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeeksforsocialchange%2Fthe-trans-dimension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeeksforsocialchange%2Fthe-trans-dimension/lists"}