{"id":18263680,"url":"https://github.com/samgozman/yoptascript","last_synced_at":"2025-05-13T23:04:05.162Z","repository":{"id":13153054,"uuid":"73737210","full_name":"samgozman/YoptaScript","owner":"samgozman","description":"Joke programming language for 'gopniks' in Russia. Back from 2016!","archived":false,"fork":false,"pushed_at":"2025-04-13T07:45:11.000Z","size":4385,"stargazers_count":2167,"open_issues_count":20,"forks_count":107,"subscribers_count":52,"default_branch":"master","last_synced_at":"2025-05-11T04:32:27.218Z","etag":null,"topics":["javascript","language","pong-yoptascript","programing-language","russian","yoptascript"],"latest_commit_sha":null,"homepage":"https://yopta.space","language":"TypeScript","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/samgozman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","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},"funding":{"github":"samgozman"}},"created_at":"2016-11-14T19:00:35.000Z","updated_at":"2025-05-10T16:03:43.000Z","dependencies_parsed_at":"2023-11-30T04:27:01.926Z","dependency_job_id":"ebabac8c-7665-4df3-ac96-d56405b0cb4b","html_url":"https://github.com/samgozman/YoptaScript","commit_stats":{"total_commits":384,"total_committers":24,"mean_commits":16.0,"dds":0.6197916666666667,"last_synced_commit":"618d40fcfb9230166027bc53ff166ecd4bba915b"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samgozman%2FYoptaScript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samgozman%2FYoptaScript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samgozman%2FYoptaScript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samgozman%2FYoptaScript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samgozman","download_url":"https://codeload.github.com/samgozman/YoptaScript/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254040437,"owners_count":22004539,"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":["javascript","language","pong-yoptascript","programing-language","russian","yoptascript"],"created_at":"2024-11-05T11:12:13.732Z","updated_at":"2025-05-13T23:04:05.116Z","avatar_url":"https://github.com/samgozman.png","language":"TypeScript","readme":"# YoptaScript\n\n[![yoptascript logo](./docs/assets/img/YoptaScript.png)](https://yopta.space/)\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/C0C1DI4VL)\n\n[![yoptascript](https://img.shields.io/badge/%D0%A1%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C-YoptaScript-green)](https://github.com/samgozman/YoptaScript/tree/master/dist/yopta.js)\n[![npm](https://img.shields.io/npm/v/yopta)](https://www.npmjs.com/package/yopta)\n[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/samgozman/YoptaScript/issues)\n[![contributions welcome](https://img.shields.io/packagist/l/doctrine/orm.svg?style=flat)](https://github.com/samgozman/YoptaScript/blob/master/LICENSE.txt)\n\n[YoptaScript](http://yopta.space/) это первый в мире скриптовый язык программирования для гопников и реальных пацанов, транслируемый в чистый JavaScript. YoptaScript позволит \"чётким пацанам\" быстро влиться в ряды программистов и процесс разработки.\n\nОчень **приветствуются** добавления новых определений в [словарь](./src/dictionary/dictionary.ts) языка, а также поиск багов и расширение функционала!\n\nСмотрите интервью о создании языка на канале Хекслет: [https://www.youtube.com/watch?v=Rk5wNGBIilM](https://www.youtube.com/watch?v=Rk5wNGBIilM)\n\n[![yoptascript logo](./docs/assets/img/Yopta2.png)](https://github.com/samgozman/YoptaScript/blob/master/CONTRIBUTE.md)\n\n## Разработка\n\nПри разработке языка использовались основные лексические и фразеологические единицы диалекта \"нормальных пацанов\" позаимствованные из следующих словарей:\n\n* [ГСР](http://lurkmore.to/ГСР)\n* [Краткий словарь блатного жаргона](https://web.archive.org/web/20190821040150/https://aferizm.ru/jargon/slovar.htm#expand)\n\nТак же были заимствованы крылатые слова и выражения в ходе наблюдения за некоторыми индивидами из представителей \"чётких пацанов\".\n\nТолчком к разработке **YoptaScript** послужили события, произошедшие в середине 2016 года, в ходе которых журналистами Piter.TV была открыта такая категория программистов как [**гопники-программисты**](http://piter.tv/event/V_Peterburge_pyatero_studentov_kolledzha_grabili_shkol_nikov/).\n\nВся разработка и поиск ошибок ведётся в ветке **develop**!\n\n## Предупреждения\n\nYoptaScript не несёт в себе цели оскорбить кого-то или унизить. YoptaScript создан для облегчения обучению программированию определённых слоёв населения.\n\nYoptaScript содержит **множество нецензурной лексики**.\n\n## Использование\n\nСкачайте [последнюю версию](https://github.com/samgozman/YoptaScript/tree/master/dist/yopta.js) языка и следуйте дальнейшим инструкциям.\n\n### Браузер\n\n1. Положите файл `yopta.js` из папки `dist` в папку c вашим проектом. Или используйте CDN\n2. Подключите файл к вашей `html` странице в самый конец перед закрытием тега `body`:\n\n```html\n\u003cbody\u003e\n    \u003cscript src=\"yopta.js\"\u003e\u003c/script\u003e\n\u003c/body\u003e\n```\n\n3. Создайте внутри `body` элемент `script` с атрибутом  `language=\"YoptaScript\"` на странице до подключения основного скрипта\n\n```html\n\u003cbody\u003e\n    ... ...\n    \u003cscript language=\"YoptaScript\"\u003e\n        //ваш йоптакод\n    \u003c/script\u003e\n    \u003c!-- Пример с CDN --\u003e\n    \u003cscript src=\"https://cdn.jsdelivr.net/gh/samgozman/YoptaScript/dist/yopta.js\"\u003e\u003c/script\u003e\n\u003c/body\u003e\n```\n\nМожно так же вынести йоптакод в отдельный файл и подключить через атрибут `src`.\n\n4. Начните писать код!\n\n```html\n\u003cscript language=\"YoptaScript\"\u003e\n    ксива.малява(\" Оно работает \") нах\n\u003c/script\u003e\n```\n\nПолный пример можно посмотреть в файле [index.html](https://github.com/samgozman/YoptaScript/blob/master/demo/page/index.html) в директории `demo/page`. Конвертером из JavaScript в YoptaScript можно воспользоваться открыв файл [index.html](https://github.com/samgozman/YoptaScript/blob/master/demo/converter/index.html) в директории `demo/converter`.\n\n### NodeJS\n\n**YoptaScript** можно так же подключить для вашего проекта с помощью пакетного менеджера **npm**.\n\n```bash\nnpm install yopta\n```\n\nили введите `npm install -g yopta` чтобы установить йопту глобально.\n\n## Проекты на YoptaScript\n\n### Игра Ping-Pong\n\nОдин из разработчиков языка YoptaScript написал игру Ping-Pong на чистом YoptaScript с использованием canvas!\n\n**[Pong-YoptaScript](https://github.com/grushan/Pong-YoptaScript) ([Demo](https://yopta-pong.herokuapp.com))**\n\n### md-prettify - расширение VS Code превращающее ваш нечеткий код в YoptaScript\n\nПросто установите расширение и в настройках VS Code поставьте\n\n```json\n\"mdPrettify.predefinedConfig\": \"typescript-to-yoptascript\" \n```\n\nИ ваш код будет превращаться в YoptaScript на лету, при этом в самом файле будет храниться оригинальный код!\n\n**Код: [DrBoria/md-prettify/blob/main/examples/typescript-to-yoptascript.json](https://github.com/DrBoria/md-prettify/blob/main/examples/typescript-to-yoptascript.json)**\n\n**Расширение: [DrBoria/md-prettify](https://marketplace.visualstudio.com/items?itemName=drboria.md-prettify)**\n\n## Примеры\n\nСм. папку examples.\n\n1. [Переменные, функции, условия](https://github.com/samgozman/YoptaScript/blob/master/examples/vars.yopta)\n2. [Циклы](https://github.com/samgozman/YoptaScript/blob/master/examples/loops.yopta)\n3. [document \u0026 window](https://github.com/samgozman/YoptaScript/blob/master/examples/document.yopta)\n4. [Math](https://github.com/samgozman/YoptaScript/blob/master/examples/math.yopta)\n5. [Логические операторы](https://github.com/samgozman/YoptaScript/blob/master/examples/logical.yopta)\n\n## Поддержка разных диалектов\n\nYoptaScript отлично работает с разными локальными диалектами!\n\nНапример:\n\n* `трулио` -\u003e `чётко` -\u003e `четко` -\u003e `чотко` -\u003e **true**\n* `нетрулио` -\u003e `пиздишь` -\u003e `нечётко` -\u003e `нечетко` -\u003e `нечотко` -\u003e **false**\n* `эквалио` -\u003e `ровно` -\u003e `однахуйня` -\u003e `типа` -\u003e **==**\n\nИ другие\n\nВсе методы и свойства, содержащие букву `ё` можно писать без `ё`, используя `е`. Если в середине слова может присутствовать буква `ё`, то можно писать вместо неё букву `о`. Yopta поймёт.\n","funding_links":["https://github.com/sponsors/samgozman","https://ko-fi.com/C0C1DI4VL"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamgozman%2Fyoptascript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamgozman%2Fyoptascript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamgozman%2Fyoptascript/lists"}