{"id":17696688,"url":"https://github.com/andrewmaksimchuk/learn_words","last_synced_at":"2026-05-07T05:37:29.929Z","repository":{"id":166054246,"uuid":"581086300","full_name":"AndrewMaksimchuk/learn_words","owner":"AndrewMaksimchuk","description":"Learn words of some language. Show notifications with translated words on GNOME JavaScript (GJS)","archived":false,"fork":false,"pushed_at":"2025-06-21T15:12:12.000Z","size":778,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-11T23:28:30.380Z","etag":null,"topics":["gjs","gnome","javascript","linux","makefile","shell","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AndrewMaksimchuk.png","metadata":{"files":{"readme":"README.md","changelog":"history/.gitkeep","contributing":null,"funding":null,"license":null,"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}},"created_at":"2022-12-22T08:34:22.000Z","updated_at":"2025-06-21T15:12:15.000Z","dependencies_parsed_at":"2025-06-21T15:25:54.382Z","dependency_job_id":"3e4ec72c-23d4-4116-b46c-eeffe6315973","html_url":"https://github.com/AndrewMaksimchuk/learn_words","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AndrewMaksimchuk/learn_words","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewMaksimchuk%2Flearn_words","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewMaksimchuk%2Flearn_words/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewMaksimchuk%2Flearn_words/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewMaksimchuk%2Flearn_words/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndrewMaksimchuk","download_url":"https://codeload.github.com/AndrewMaksimchuk/learn_words/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewMaksimchuk%2Flearn_words/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32724973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["gjs","gnome","javascript","linux","makefile","shell","ubuntu"],"created_at":"2024-10-24T14:45:00.432Z","updated_at":"2026-05-07T05:37:29.913Z","avatar_url":"https://github.com/AndrewMaksimchuk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Show notification on Gnome shell\n\n### Usage\n\nFor first time run in this directory in terminal  \n`sudo ./install.bash` for add path to this  \napplication in global scope, add desktop entry  \nand add shell complition to.  \n\nAfter that you can run \"learnwords\" in terminal.  \nOr run from desktop menu.\n\n### dictionary.json\n```json\n[\n    {\n        \"summary\": \"thing\",\n        \"body\": \"річ\"\n    },\n    {\n        \"summary\": \"entirely\",\n        \"body\": \"повністю\"\n    },\n    {\n        \"summary\": \"afterwards\",\n        \"body\": \"згодом\"\n    }\n]\n```\n\n### words - csv format  \n\nColumn name: \"summary body\"\n\n#### Example\n\n```\nthing річ\nentirely повністю\nafterwards згодом\nhomogeneous [ˌhōməˈjēnēəs] однорідний\n```\n\n|summary   |body    |\n|----------|--------|\n|thing     |річ     |\n|entirely  |повністю|\n|afterwards|згодом  |\n\n### Commands  \n\n`run` - run application in background.    \n`update` - get \"words\" file content and add to  \n\"dictionary.json\" file with transformation that  \nneeded.  \n`open` - run gui  \n`build` - build gui application\n`add` - open `words` file in `vi` editor for manual write words\n`check` - check if word exist in dictionary  \n\n`./learn_words.bash \u0026` - run application in  \nbackground process. Application repeat each 5  \nminutes.  \n`kill %1` - terminate background process, when  \nnumber 1 is a process number that return in  \nterminal after running previus command.  \n\nFor write \"words\" file, is made possible use  \ngui application.  \nRun `./gui/gui.js`.  \n![gui application](gui.png)  \n\nFor update one word from terminal use:  \n`./updateWord.js enveriable \"навколишнє середовище\"`  \n\nIf you have \n[Simple Message](https://github.com/freddez/gnome-shell-simple-message) \nextension this application push to him text to show.  \nDetails in `extensionChangeText` function.  \n\n### GUI\n\nBase on GTK3, GJS and typesctipt  \nFor build local gui app, run command `npm run tsc`  \n\n#### Require\n\n- GJS\n- Node.js\n- typescript(tsc)\n- jq\n\n#### GUI Resources\n\n- [Examples](https://github.com/cinatic/gjs-examples/blob/master/README.md)\n- [GJS examples](https://gitlab.gnome.org/GNOME/gjs/tree/HEAD/examples)\n- [gjs.guide/guides](https://gjs.guide/guides/)\n- [gjs-docs.gnome.org/gtk30~3.0](https://gjs-docs.gnome.org/gtk30~3.0/)\n- [gjs-docs.gnome.org/gio20~2.0/gio.file](https://gjs-docs.gnome.org/gio20~2.0/gio.file)\n- [gtk4-gjs-book](https://rmnvgr.gitlab.io/gtk4-gjs-book/application/)\n- [gi-typescript-definitions](https://gitlab.gnome.org/BrainBlasted/gi-typescript-definitions/-/tree/eb2a87a25c5e2fb580b605fbec0bd312fe34c492)\n- [Typescript application](https://gitlab.gnome.org/World/vocalis)\n- [gui/gtk2/gtkevents](https://zetcode.com/gui/gtk2/gtkevents/)\n- [gdk/gdkkeysyms.h](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gdk/gdkkeysyms.h?ref_type=heads)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewmaksimchuk%2Flearn_words","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewmaksimchuk%2Flearn_words","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewmaksimchuk%2Flearn_words/lists"}