{"id":20668626,"url":"https://github.com/cloudyluna/cdda-dear-diary","last_synced_at":"2026-04-21T01:32:23.257Z","repository":{"id":281672175,"uuid":"891331317","full_name":"cloudyluna/cdda-dear-diary","owner":"cloudyluna","description":"A personal and very simple CLI tool to parse CDDA's diary format and convert to JSON","archived":false,"fork":false,"pushed_at":"2025-01-22T16:21:04.000Z","size":43,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-15T02:16:13.861Z","etag":null,"topics":["cataclysm-dda","cdda","diary","json","tool"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudyluna.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-20T06:22:46.000Z","updated_at":"2025-01-24T10:19:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"339a4f8a-cfac-4908-ac3d-8198e65304aa","html_url":"https://github.com/cloudyluna/cdda-dear-diary","commit_stats":null,"previous_names":["cloudyluna/cdda-dear-diary"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/cloudyluna/cdda-dear-diary","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudyluna%2Fcdda-dear-diary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudyluna%2Fcdda-dear-diary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudyluna%2Fcdda-dear-diary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudyluna%2Fcdda-dear-diary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudyluna","download_url":"https://codeload.github.com/cloudyluna/cdda-dear-diary/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudyluna%2Fcdda-dear-diary/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32072953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T21:26:33.338Z","status":"ssl_error","status_checked_at":"2026-04-20T21:26:22.081Z","response_time":94,"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":["cataclysm-dda","cdda","diary","json","tool"],"created_at":"2024-11-16T20:10:03.076Z","updated_at":"2026-04-21T01:32:23.249Z","avatar_url":"https://github.com/cloudyluna.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cdda-dear-diary\n\n[![BSD-3-Clause license](https://img.shields.io/badge/license-BSD--3--Clause-blue.svg)](LICENSE)\n\nCurrently broken due to the discovery of https://github.com/cloudyluna/cdda-dear-diary/issues/5.\n\nA personal and very simple CLI tool to parse CDDA's diary format and convert to JSON.\n\nNote that I'm just doing this to explore CDDA diary format (idk what's the spec, so I'm just parsing them\nby reading my own gameplay diaries. lol).\n\n## Usage\n```\nUsage: cdd-cli DIARY_FILENAME [-o|--output-file ARG] [-c|--compact] \n               [-m|--extended-new-missions ARG]\n\n  Convert CDDA's diary file to JSON format\n\nAvailable options:\n  DIARY_FILENAME           Diary file location\n  -o,--output-file ARG     JSON output file location. This will write to the\n                           output file instead of printing to STDOUT.\n  -c,--compact             Output JSON in compact format\n  -m,--extended-new-missions ARG\n                           Extra new missions to support. Example: \"Find a\n                           cat,Hug A Star,Pat the dog\"\n  -h,--help                Show this help text\n\n\n# Example\ncdd-cli \"$HOME/.config/cdda/save/WorldName/CharacterName.txt\"\n```\n\n### Examples\nSee [Diary.txt](/examples/Diary.txt) and [Diary.json](/examples/json/Diary.json)\nfor conversion example.\n\n## Caveats\nCurrently `newMissions` key depends on `allowedMissions` list within [CddaDearDiary.Internal.Parser.Body](/cdda-dear-diary/src/CddaDearDiary/Internal/Parser/Body.hs).\n\nIf your diary contains mission names that are not listed in that list, then this\nprogram will most likely ended up generating garbled data format.\n\nGood news is, while not optimal, you could extend allowed missions at runtime by passing\n`cdd-cli --extended-new-missions \"Shoot A Star,Pats A Cat\"` to add missions that\nare not listed.\n\nThis may get improved in future versions when I figure how to do this robustly\nor if when `New missions:` raw text format will have a proper *ending* indicator.\n\nHowever, for my own personal gameplay at the moment, this is more than sufficient.\n\n## Pre-built Linux executable\nSee [Releases page](https://github.com/cloudyluna/cdda-dear-diary/releases).\n\n## Requirements \u0026 building\n\n### Requirements\n- Haskell `ghc` \u003e= 9.6 (if possible, installed through `ghcup`).\n- `cabal` (if possible, installed through `ghcup`).\n- Internet connection (of course).\n\n### Building \u0026 install\n1. `git clone https://github.com/cloudyluna/cdda-dear-diary`.\n2. `cd cdda-dear-diary`.\n3. `cabal install cdda-dear-diary-cli -O2`\n4. `cdd-cli` now will be available in `PATH`. If not, see `$HOME/.local/bin/cdd-cli` if it exists.\n\nYou could also running without installing it by `cabal run cdda-dear-diary-cli -O2 -- DIARY_FILENAME`.\n\n\n### If you use Nix flakes\n\nThis project is built with `nix` and flakes. You could use `nix develop` and get all the requirements\ninstalled easily and continue on with building steps above.\n\n### License\n\nBSD-3-Clause\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudyluna%2Fcdda-dear-diary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudyluna%2Fcdda-dear-diary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudyluna%2Fcdda-dear-diary/lists"}