{"id":24383628,"url":"https://github.com/minidomo/kattistablegenerator","last_synced_at":"2025-08-03T22:39:12.498Z","repository":{"id":56551896,"uuid":"192831234","full_name":"minidomo/KattisTableGenerator","owner":"minidomo","description":"Generate a table in Markdown with all your solutions to problems on https://open.kattis.com/.","archived":false,"fork":false,"pushed_at":"2024-07-09T21:18:11.000Z","size":42,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-12T17:24:06.412Z","etag":null,"topics":["kattis"],"latest_commit_sha":null,"homepage":"","language":"C#","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/minidomo.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}},"created_at":"2019-06-20T02:01:04.000Z","updated_at":"2020-06-17T02:28:07.000Z","dependencies_parsed_at":"2022-08-15T20:50:19.015Z","dependency_job_id":null,"html_url":"https://github.com/minidomo/KattisTableGenerator","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/minidomo/KattisTableGenerator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minidomo%2FKattisTableGenerator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minidomo%2FKattisTableGenerator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minidomo%2FKattisTableGenerator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minidomo%2FKattisTableGenerator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/minidomo","download_url":"https://codeload.github.com/minidomo/KattisTableGenerator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minidomo%2FKattisTableGenerator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268624130,"owners_count":24280148,"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-03T02:00:12.545Z","response_time":2577,"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":["kattis"],"created_at":"2025-01-19T10:15:14.009Z","updated_at":"2025-08-03T22:39:12.445Z","avatar_url":"https://github.com/minidomo.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kattis Table Generator\nEasily generate a table in markdown showcasing your solutions to problems on [Kattis](https://open.kattis.com/)!  \n[Download v3.0.3](https://github.com/minidomo/KattisTableGenerator/releases/tag/v3.0.3)  \nPrevious versions that were not in this repository\n- [1.0.0](https://github.com/MiniDomo/Kattis/tree/v1.0.0/KattisTableGenerator)\n- [2.0.0](https://github.com/MiniDomo/Kattis/tree/v2.0.0/KattisTableGenerator)\n\n## Prerequisites\n- [.NET Core 3.1](https://dotnet.microsoft.com/download) (or compatible) installed\n\n## Setting Up `config.json`\nBefore running the program, `config.json` must be configured.  \nInitially the `config.json` should look like this:\n```json\n{\n    \"Ignore\": [],\n    \"Url\": [],\n    \"Folders\": []\n}\n```\nThe `Ignore` property is a String array that can be filled with the names of files, directories, or extensions that are to be ignored during the process. By default, the program ignores extensions not found in `extensions.json`, which can be modified by the user.\n\nThe `Url` property is a String array that can be filled with the GitHub urls of where your solutions are located. Urls that are not from github are ignored.  \n\nThe `Folders` property is an Object array where each object should have the properties `BaseUrl` (String) and `Paths` (String array). This causes the program to search a given local directory on the user's computer and finds Kattis solutions to hyperlink it to a given GitHub url of where their solutions are uploaded. This gives better performance than the `Url` property as it does not require any online requests. Some important details are that `BaseUrl` must be a GitHub url of where your solutions are located online and `Paths` consists of existing directories on your local computer.\n\n## Other Information/Limitations\n- The generated table will be in a file called `README.md`.\n- The program will process items in `Folders` first and then `Url` regardless of position in `config.json`.\n- Files must be named as the Kattis problem ID, such as `hello.java` for [Hello World!](https://open.kattis.com/problems/hello). However, if a sub-directory has the name as the Kattis problem ID, then the main file, the one to be hyperlinked, can be called either the same Kattis problem ID or `main`; otherwise it will not be considered in the table.\n- If the program encounters a problem that has been already solved in the same programming language and was added to the table, it will not re-add or create a duplicate in the table.\n- When checking a directory, the program will also check sub-directories (if not ignored in `config.json`) but only of the given directory; it will not check directories within sub-directories. This applies for both uses of `Url` and `Folders`.  \n\n## `config.json` Example\nIn the example below, all files and directories that are named `hello` will be ignored. In addition, `abc.java` and files ending with `.cs` will be ignored. To view an example of a table generated via this program, [check here](https://github.com/minidomo/Kattis).\n```json\n{\n    \"Ignore\": [\n        \"hello\",\n        \"abc.java\",\n        \".cs\"\n    ],\n    \"Url\": [\n        \"https://github.com/MiniDomo/Kattis/tree/master/Java\"\n    ],\n    \"Folders\": [\n        {\n            \"BaseUrl\": \"https://github.com/minidomo/Kattis/tree/master/C%2B%2B\",\n            \"Paths\": [\n                \"C:\\\\Kattis\\\\C++\"\n            ]\n        },\n        {\n            \"BaseUrl\": \"https://github.com/minidomo/Kattis/tree/master/C%23\",\n            \"Paths\": [\n                \"C:\\\\Kattis\\\\C#\"\n            ]\n        }\n    ]\n}\n```\n\n## Running\nTo obtain faster runtimes when generating the table, generate all current Kattis problem IDs and Names. You only need to do this once unless new problems are added to Kattis. It is not recommended to manually edit `KattisMapping.txt`. To generate the problem IDs and Names in `KattisMapping.txt`, use the `--map` flag:\n```shell\nKattisTableGenerator --map\n```\nTo generate the table, type the following in command prompt:\n```shell\nKattisTableGenerator\n```\n\n## Building\nTo build the code, type the following in command prompt:\n```shell\ngit clone https://github.com/MiniDomo/KattisTableGenerator.git\ncd KattisTableGenerator\ndotnet restore\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminidomo%2Fkattistablegenerator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fminidomo%2Fkattistablegenerator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminidomo%2Fkattistablegenerator/lists"}