{"id":17645189,"url":"https://github.com/dechristopher/octadground","last_synced_at":"2025-04-15T11:51:13.142Z","repository":{"id":57313337,"uuid":"342851077","full_name":"dechristopher/octadground","owner":"dechristopher","description":"Mobile / Web octad UI for lioctad.org","archived":false,"fork":false,"pushed_at":"2025-03-13T07:50:25.000Z","size":10950,"stargazers_count":3,"open_issues_count":11,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T19:44:55.392Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dechristopher.png","metadata":{"files":{"readme":"README.md","changelog":null,"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-02-27T12:26:04.000Z","updated_at":"2022-08-13T23:49:12.000Z","dependencies_parsed_at":"2025-03-04T04:35:56.963Z","dependency_job_id":null,"html_url":"https://github.com/dechristopher/octadground","commit_stats":{"total_commits":1443,"total_committers":30,"mean_commits":48.1,"dds":0.2723492723492723,"last_synced_commit":"375ea624a4b3abd5a781e078c9da70c6fef32f59"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dechristopher%2Foctadground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dechristopher%2Foctadground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dechristopher%2Foctadground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dechristopher%2Foctadground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dechristopher","download_url":"https://codeload.github.com/dechristopher/octadground/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249067173,"owners_count":21207392,"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-23T10:53:33.415Z","updated_at":"2025-04-15T11:51:13.123Z","avatar_url":"https://github.com/dechristopher.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Octadground\n\n_Octadground_ is a free/libre open source octad UI developed for\n[lioctad.org](https://lioctad.org).\nIt targets modern browsers and is based off of the open source [Chessground](https://github.com/ornicar/chessground)\nlibrary.\n\n![Octadground board](/screenshots/board.png)\n\n## License\n\nOctadground is distributed under the **GPL-3.0 license** (or any later version,\nat your option).\nWhen you use Octadground for your website, your combined work may be\ndistributed only under the GPL. **You must release your source code** to the\nusers of your website.\n\nPlease read more about GPL for JavaScript on [greendrake.info/#nfy0](http://greendrake.info/#nfy0).\n\n## Features\n\nOctadground is designed to fulfill all lioctad.org web and mobile apps needs, so it is pretty featureful.\n\n- Well typed with TypeScript\n- Fast. Uses a custom DOM diff algorithm to reduce DOM writes to the absolute minimum.\n- Small footprint: 10K gzipped (31K unzipped). No dependencies.\n- SVG drawing of circles, arrows, and custom user shapes on the board\n- Arrows snap to valid moves. Freehand arrows can be drawn by dragging the mouse off the board and back while drawing an arrow.\n- Entirely configurable and reconfigurable at any time\n- Styling with CSS only: board and pieces can be changed by simply switching a class\n- Fluid layout: board can be resized at any time\n- Support for 3D pieces and boards\n- Full mobile support (touchstart, touchmove, touchend)\n- Move pieces by click\n- Move pieces by drag \u0026 drop\n  - Minimum distance before drag\n  - Centralisation of the piece under the cursor\n  - Piece ghost element\n  - Drop off revert or trash\n- Premove by click or drag\n- Animation of pieces: moving and fading away\n- Display last move, check, move destinations, and premove destinations (hover effects possible)\n- Import and export positions in OFEN notation\n- User callbacks\n\n## Installation\n\n```sh\nnpm install --save octadground\n```\n\n### Usage\n\n```js\nconst Octadground = require('octadground').Octadground;\n\nconst config = {};\nconst ground = Octadground(document.body, config);\n```\n\n## Documentation\n\n- [Config types](https://github.com/dechristopher/octadground/tree/master/src/config.ts)\n- [Default config values](https://github.com/dechristopher/octadground/tree/master/src/state.ts)\n- [API type signatures](https://github.com/dechristopher/octadground/tree/master/src/api.ts)\n\n## Development\n\nInstall build dependencies:\n\n```sh\nyarn install\n```\n\nTo build the node module:\n\n```sh\nyarn run compile -- --watch\n```\n\nTo build the standalone:\n\n```sh\nyarn run dist -- --watch\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdechristopher%2Foctadground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdechristopher%2Foctadground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdechristopher%2Foctadground/lists"}