{"id":20600330,"url":"https://github.com/defeo/deektay","last_synced_at":"2026-05-28T18:31:25.556Z","repository":{"id":67789754,"uuid":"252309326","full_name":"defeo/deektay","owner":"defeo","description":"A single page static dictation web app","archived":false,"fork":false,"pushed_at":"2020-04-26T15:04:27.000Z","size":355,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-06T15:51:40.913Z","etag":null,"topics":["e-learning"],"latest_commit_sha":null,"homepage":"https://defeo.lu/deektay","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/defeo.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":"2020-04-01T23:29:33.000Z","updated_at":"2024-07-24T15:19:11.000Z","dependencies_parsed_at":"2023-02-21T04:31:22.074Z","dependency_job_id":null,"html_url":"https://github.com/defeo/deektay","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/defeo/deektay","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defeo%2Fdeektay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defeo%2Fdeektay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defeo%2Fdeektay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defeo%2Fdeektay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/defeo","download_url":"https://codeload.github.com/defeo/deektay/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defeo%2Fdeektay/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33622067,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"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":["e-learning"],"created_at":"2024-11-16T08:38:00.509Z","updated_at":"2026-05-28T18:31:25.509Z","avatar_url":"https://github.com/defeo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deektay\n\nA dictation app.\n\n## Dictation\n\nDictation is a popular exercise in primary and middle schools in many\ncountries, especially as France.\n\nDeektay is a single-page static web app for self-assessed dictation\nexercices.  Just drop a bunch of audio files in a folder, a `.txt`\nfile, and an `index.html`, and Deektay generates the user interface.\n\nSee \u003chttps://defeo.lu/deektay\u003e for a demo.\n\n## Who needs Deektay?\n\nDeektay is primarily meant for teachers.  However, using it requires\nsome advanced skills such as:\n\n- Recording and converting audio files,\n- Editing a plain text file,\n- Hosting static web pages.\n\nIt will thus only be useful to a rare breed of teachers:\n\n```\n┌────────────────────┐\n│     Language       │\n│     Teachers       │\n│        ┌───────────┤─────┐\n│        │  Deektay  │     │\n└────────┼───────────┘     │\n\t │      Computer   │\n\t │       Geeks     │\n         └─────────────────┘\n```\n\n\n## Usage\n\n1. Chose a text for dictation.\n\n2. Record it, one sentence per file. We recommend using\n   [Audacity](https://www.audacityteam.org/), but you may also find\n   [Castaphone](https://defeo.lu/castaphone) useful.\n   \n3. Optionally convert the files to several audio formats (see\n   [compatibility](#Compatibility) below).\n   \n4. Put all audio files in a folder, together with a `data.txt` file \n   formatted like:\n   \n   ```\n   file1.ogg,file1.mp3,file1.aac: The sky above the port was the color of television,\n                                : The sky above the port was the colour of television,\n   file2.ogg,file2.mp3,file2.aac: tuned to a dead channel.\n   ```\n   \n   Each line being of the form\n   \n   ```\n   [list of files]: \u003csentence\u003e\n   ```\n   \n   where `[list of files]` is an optional, comma separated, list of\n   audio files, all meant to be an audio recording of the same\n   sentence; and `\u003csentence\u003e` is the corresponding text. If the list\n   of files is missing, `\u003csentence\u003e` is understood as an alternate\n   spelling for the sentence on the previous line.\n   \n   See also [docs/data.txt](docs/data.txt).\n   \n5. Also put an `index.html` file in the same folder. See\n   [docs/index.html](docs/index.html) for an example.\n   \n6. Upload the folder to a web server.\n\n7. Send the link to your students.\n\n\n## Compatibility\n \nDeektay was developed with high compatibility in mind. As far as we\nknow, it is compatible with desktop and mobile browsers released as\nfar back as 2013, such as Internet Explorer 10, Firefox 20, etc.\n\nHowever, while Deektay itself is compatible with most browsers, the\naudio files themselves may have troubles loading. At the time of\nwriting, the most widely supported audio format is `.aac` (or `.mp4`,\nit's the same), followed closely by `.mp3` and `.ogg`.  We recommend\nconverting your audio files to each of these formats, and using the\ncomma separated syntax shown above to provide alternative recordings\nfor the same sentence.\n\nHere's a quick table of format support:\n\n| | Chrome | Firefox | IE | Edge | Safari|\n|-|--------|---------|----|------|-------|\n| aac | Yes | (Yes) | Yes | Yes | Yes|\n| wav | Yes | Yes | No  | Yes | Yes|\n| mp3 | Yes | ≥71 | Yes | Yes | Yes|\n| ogg | Yes | Yes | No  | (No)| No|\n\nFor more information, see [this Wikipedia\npage](https://en.wikipedia.org/wiki/HTML5_audio#Supported_audio_coding_formats).\n\n\n## Configuring, language\n\nThe standard way to load Deektay is:\n\n```js\nvar deektay = new Deektay('data.txt', { \n    lang: 'fr',\n    element: '#deektay',\n    type: 'guess',\n\tcheck_caps: false,\n});\ndeektay.start()\n```\n\nSee for example, [docs/index.html](docs/index.html).\n\nA few options can be configured:\n\n- The data file can be named aything you want. Just change\n  `'data.txt'` to the correct file name.\n\n- `lang` indicates the language of the user interface. Current choices\n  are `'en'`, `'fr'`, and `'it'`. Default is `fr`.\n  \n  If you would like to see another language supported, please open an\n  issue.\n  \n- `element` indicates the tag where Deektay should insert\n  itself. Default is `'#deektay'`.\n\n- `type` is the type of `data.txt`. Choices are: `text` for text file,\n  `json` for Json files, and `guess` (default) which guesses based on\n  the file extension.\n  \n  The text format is documented above. The json format is\n  \n  ```js\n  [\n    {\n      media: ['file1.ogg', 'file1.mp3', 'file1.aac'],\n      sentence: [\n        'The sky above the port was the color of television',\n        'The sky above the port was the colour of television',\n      ],\n    },\n  ]\n  ```\n  \n  If you don't understand what this means, you probably want to use\n  the text format.\n\n- `check_case` indicates whether Deektay matching should be\n  case-sensitive or not. Default is not.\n\n\n## Developers\n\nTo generate the polyfilled minified file, first install Babel with\n\n```\nnpm install\n```\n\nThen\n\n```\nnpm run minify\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdefeo%2Fdeektay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdefeo%2Fdeektay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdefeo%2Fdeektay/lists"}