{"id":15788216,"url":"https://github.com/mevdschee/spelwijze-generator","last_synced_at":"2025-08-21T01:14:47.485Z","repository":{"id":256495778,"uuid":"854847558","full_name":"mevdschee/spelwijze-generator","owner":"mevdschee","description":"Generator for the spelling game that is published on Dutch newspaper websites","archived":false,"fork":false,"pushed_at":"2024-10-16T01:12:16.000Z","size":4742,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-26T15:02:39.826Z","etag":null,"topics":["command-line-tool","game-generator","spelling","spelling-game","word-game"],"latest_commit_sha":null,"homepage":"","language":"Go","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/mevdschee.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-09-09T21:54:36.000Z","updated_at":"2024-10-17T08:53:41.000Z","dependencies_parsed_at":"2024-09-11T04:46:06.160Z","dependency_job_id":"3eb50dd6-3714-4e1a-b107-f1f1578a1b5d","html_url":"https://github.com/mevdschee/spelwijze-generator","commit_stats":null,"previous_names":["mevdschee/spelwijze-genie"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mevdschee/spelwijze-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mevdschee%2Fspelwijze-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mevdschee%2Fspelwijze-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mevdschee%2Fspelwijze-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mevdschee%2Fspelwijze-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mevdschee","download_url":"https://codeload.github.com/mevdschee/spelwijze-generator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mevdschee%2Fspelwijze-generator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271411708,"owners_count":24754997,"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","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"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":["command-line-tool","game-generator","spelling","spelling-game","word-game"],"created_at":"2024-10-04T21:41:24.831Z","updated_at":"2025-08-21T01:14:47.442Z","avatar_url":"https://github.com/mevdschee.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spelwijze generator\n\n\"Spelwijze\" is spelling game that is published on Dutch newspaper websites. You get 1 mandatory letter and 6 optional letters. The goal is to make as many 4 or more letter words with these 7 letters containing at least the mandatory letter once. This repository contains a tool to generate these puzzles.\n\n### Sources\n\nDownload Dutch words from:\n\nhttps://www.opentaal.org/bestanden/file/2-woordenlijst-v-2-10g-bronbestanden\n\nTo filter out non-letter characters (go from 164313 to 156280 words) execute:\n\n    cat 'OpenTaal-210G-basis-gekeurd.txt' | grep -vP '[^a-z]' | sort | uniq | gzip \u003e words.txt.gz\n\nDownload Dutch word freqencies from:\n\nhttps://wortschatz.uni-leipzig.de/en/download/Dutch\n\nTo filter the word frequency list (go from 1000000 to 515630 words) execute:\n\n    cat 'nld_mixed_2012_1M-words.txt' | cut -f 2,3 | tr A-Z a-z | grep -P '^[a-z]+\\t' | gzip \u003e wordfreq.txt.gz\n\nThe text files are gzipped to reduce space.\n\nOptional: Download another great list from:\n\nhttps://kaikki.org/dictionary/Dutch/words/index.html\n\nTo filter the verbs:\n\n    cat kaikki.org-dictionary-Dutch.jsonl | grep '\"pos\": \"verb\"' | grep -o '\"head_templates\": \\[{\"name\": \"nl-verb\", \"args\": {}, \"expansion\": \"[a-z]\\{4,\\}\"' | sort | uniq | cut -d\\\" -f 12 | gzip \u003e verbs.txt.gz\n\nTo filter the nouns:\n\n    cat kaikki.org-dictionary-Dutch.jsonl | grep '\"pos\": \"noun\"' | grep -v '\"plural\"' | grep -o '\"word\": \"[a-z]\\+\"' | cut -d: -f2 | cut -d\\\" -f 2 | sort | uniq | gzip \u003e nouns.txt.gz\n\nTo add and combine these:\n\n    mv words.txt.gz words1.txt.gz\n    zcat words1.txt.gz verbs.txt.gz nouns.txt.gz | sort | uniq | gzip \u003e words.txt.gz\n    rm words1.txt.gz verbs.txt.gz nouns.txt.gz\n\nNow the extra words are added.\n\n### Running\n\nNow run pick a length for your seeding word (a word with 7 different letters):\n\n    go run . 16\n\nShowing all 16 letter words consisting of exactly 7 different letters:\n\n    begijnenbeweging\n    binnenduingebied\n    bloembollenteelt\n    concernonderdeel\n    engineeringgroep\n    espressoapparaat\n    exercitieterrein\n    geestesgestoorde\n    herinterpreteren\n    intentionaliteit\n    ...(23 more)...\n\nNow pick a seeding word and run:\n\n    go run . bloembollenteelt\n\nResulting in 7 different 7 letter combinations (points based on word frequency):\n\n    tbelmno: 728\n    eblmnot: 725\n    nbelmot: 711\n    obelmnt: 534\n    belmnot: 194\n    mbelnot: 164\n    lbemnot: 119\n\nNow if we chose \"mbelnot\" (where \"m\" is the mandatory letter) we can run:\n\n    go run . mbelnot\n\nTo find all 110 words with minimum length 4 that contain the letter \"m\" and one or more of the other 6 letters:\n\n    beetnemen\n    bemeten\n    benemen\n    benoemen\n    betomen\n    betonelement\n    betonmolen\n    bloem\n    bloembol\n    bloembollenteelt\n    ...(100 more)...\n\nEnjoy!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmevdschee%2Fspelwijze-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmevdschee%2Fspelwijze-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmevdschee%2Fspelwijze-generator/lists"}