{"id":26600779,"url":"https://github.com/patitotective/parabola","last_synced_at":"2025-04-09T16:23:50.291Z","repository":{"id":227500217,"uuid":"767815415","full_name":"Patitotective/parabola","owner":"Patitotective","description":"Static projectile motion simulation website in Nim","archived":false,"fork":false,"pushed_at":"2024-10-19T17:49:11.000Z","size":2412,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-23T18:47:35.866Z","etag":null,"topics":["katex","matter-js","nim","nim-lang","projectile-motion","projectile-motion-equation","projectile-motion-simulation","spectre-css"],"latest_commit_sha":null,"homepage":"https://patitotective.github.io/parabola/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Patitotective.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":"2024-03-06T00:08:57.000Z","updated_at":"2024-10-19T17:49:15.000Z","dependencies_parsed_at":"2024-03-13T17:07:31.283Z","dependency_job_id":"ec472025-2834-4952-a896-b840d5194e86","html_url":"https://github.com/Patitotective/parabola","commit_stats":null,"previous_names":["patitotective/grado"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Patitotective%2Fparabola","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Patitotective%2Fparabola/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Patitotective%2Fparabola/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Patitotective%2Fparabola/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Patitotective","download_url":"https://codeload.github.com/Patitotective/parabola/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065983,"owners_count":21042012,"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":["katex","matter-js","nim","nim-lang","projectile-motion","projectile-motion-equation","projectile-motion-simulation","spectre-css"],"created_at":"2025-03-23T18:35:08.440Z","updated_at":"2025-04-09T16:23:50.286Z","avatar_url":"https://github.com/Patitotective.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"https://github.com/user-attachments/assets/ba4375ba-1ab9-485f-8197-a80ed265387e\" alt=\"favicon\" width=\"40\"/\u003e Parabola\nA static projectile motion simulator and calculator website built with Nim.\nIt uses [matter-js](https://github.com/liabru/matter-js/) for the physics engine, [KaTex](https://github.com/KaTeX/KaTeX) to render the math equations, [Karax](https://github.com/karaxnim/karax/) as a frontend framework, [Sass](https://sass-lang.com/), [Spectre.css](https://github.com/picturepan2/spectre) as a CSS framework and [ni18n](https://github.com/heinthanth/ni18n) to manage translations (internationalization).\n\n![image](https://github.com/user-attachments/assets/ee3daed1-9c4d-47ed-964d-e970af2fb02f)\n\n## Features\n- Includes the real-time equations with the procedures for the time of flight, maximum height, maximum range, velocity components and the position and velocity of any point in the trajectory.\n- You can change the initial speed, height and angle of the canon, as well as the gravity of the simulation.\n- Includes the gravity of the solar system planets including Pluto and the moon as presets.\n- You can add up to 16 different trajectories that can have different initial speed, height, angle and gravity.\n- You can pause and restart the simulation.\n- You can drag any bullet or block in the simulation.\n- English and Spanish translations.\n- You can slow down and speed up the simulation from the settings.\n- You can limit the amount of bullets there can be in screen from the settings.\n- You can hide the equations' solutions and procedures from the settings.\n- You can lock the settings by switching to Student Mode from the settings, this is useful if you want to lend your computer to your students but hide the equations' solutions and/or procedures.\n\n![image](https://github.com/user-attachments/assets/3ba3ebac-781f-4079-9ae0-3d9afffe2054)\n\n## Building From Source\nTo build the website yourself first clone this repository:\n```sh\ngit clone https://github.com/Patitotective/parabola\ncd parabola\n```\nInstall the dependencies:\n```sh\ngit submodule update --init # Initialize submodules\nnimble install -d -y\n```\nAnd finally build the CSS and Javascript with the following command:\n```sh\nnimble htmlpage # Use rhtmlpage for a release version\n```\nYou will now have a `dist` folder containing everything necessary for this static website, meaning all the resources (including the JS libraries) are in that folder. You won't need internet connection!\n\n## Post Processing\nThese tools can be used in the final files to shrink the file size and provide backward compatibility with older Javascript:\n1. JS Minifier with [terser](https://terser.org/).\n2. HTML Minfier with https://codebeautify.org/minify-html.\n\n## About\n- GitHub: https://github.com/Patitotective/parabola.\n- Discord: https://discord.gg/U23ZQMsvwc.\n- Live Website: [https://patitotective.github.io/kdl-nim/](https://patitotective.github.io/parabola/).\n\nContact me:\n- Discord: **Patitotective#0127**.\n- Email: **cristobalriaga@gmail.com**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatitotective%2Fparabola","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatitotective%2Fparabola","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatitotective%2Fparabola/lists"}