{"id":27197579,"url":"https://github.com/jamesatjaminit/classcharts-to-classtimetable","last_synced_at":"2025-04-09T20:29:05.777Z","repository":{"id":196367210,"uuid":"695921389","full_name":"jamesatjaminit/classcharts-to-classtimetable","owner":"jamesatjaminit","description":"A Deno library to convert your ClassCharts timetable to a classtimetable.app timetable export.","archived":false,"fork":false,"pushed_at":"2023-11-08T23:05:46.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-11-10T10:52:33.222Z","etag":null,"topics":["classcharts","classtimetable","deno"],"latest_commit_sha":null,"homepage":"https://deno.land/x/classcharts_to_classtimetable/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jamesatjaminit.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}},"created_at":"2023-09-24T16:20:24.000Z","updated_at":"2023-11-10T10:52:33.223Z","dependencies_parsed_at":"2023-09-29T18:26:26.309Z","dependency_job_id":"908d35e4-48ed-4ccd-b2ad-0e086ff9d21d","html_url":"https://github.com/jamesatjaminit/classcharts-to-classtimetable","commit_stats":null,"previous_names":["jamesatjaminit/classcharts-to-classtimetable"],"tags_count":15,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesatjaminit%2Fclasscharts-to-classtimetable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesatjaminit%2Fclasscharts-to-classtimetable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesatjaminit%2Fclasscharts-to-classtimetable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesatjaminit%2Fclasscharts-to-classtimetable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamesatjaminit","download_url":"https://codeload.github.com/jamesatjaminit/classcharts-to-classtimetable/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248106750,"owners_count":21048791,"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","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":["classcharts","classtimetable","deno"],"created_at":"2025-04-09T20:29:05.246Z","updated_at":"2025-04-09T20:29:05.758Z","avatar_url":"https://github.com/jamesatjaminit.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ClassCharts To ClassTimetable\n\nA small Deno library to convert a ClassCharts timetable to a\n[ClassTimetable](https://classtimetable.app/) export.\n\n## CLI Usage\n\n```bash\ndeno run --allow-net --allow-write https://deno.land/x/classcharts_to_classtimetable/cli.ts \\\n  --code \"StudentCodeHere\" \\\n  --dob \"DD/MM/YYYY\" \\\n  --number-of-weeks 2 \\\n  --out Timetable.timetable\n```\n\nFor a list of all options use:\n\n```bash\ndeno run https://deno.land/x/classcharts_to_classtimetable/cli.ts --help\n```\n\n## Library Usage\n\n```typescript\nimport { ClassChartsToClassTimetable } from \"https://deno.land/x/classcharts_to_classtimetable/mod.ts\";\n\nconst client = new ClassChartsToClassTimetable({\n  code: \"StudentCodeHere\",\n  dateOfBirth: \"DD/MM/YYYY\",\n});\n\nconst xml = await client.generateTimetable({\n  numberOfWeeks: 2,\n  numberOfDaysInWeek: 5,\n  templates: {\n    title: \"\",\n    info: \"\",\n  }, // Optional templates, see below\n});\n\nconst encoder = new TextEncoder();\nDeno.writeFile(`Timetable.timetable`, encoder.encode(xml));\n```\n\n## Templates\n\nTemplates can be used to customise the output of each lesson. The defaults are:\n\n- Title: \"%s - %r\"\n  - E.g. \"Computer Science - 1.1\"\n- Info: \"%t\\n%pn\"\n  - E.g. \"Mr. Smith\\nPeriod 1\"\n\n### Available Variables\n\n| Variable | Description           |\n| -------- | --------------------- |\n| %t       | Teacher name          |\n| %n       | Lesson name           |\n| %s       | Subject name          |\n| %a       | Is alternative lesson |\n| %pn      | Period name           |\n| %pnum    | Period number         |\n| %r       | Room name             |\n| %d       | Lesson date           |\n| %st      | Lesson start time     |\n| %et      | Lesson end time       |\n| %k       | Lesson key            |\n| %na      | Lesson note abstract  |\n| %no      | Lesson note           |\n| %pna     | Pupil note abstract   |\n| %pnote   | Pupil note            |\n| %pnr     | Pupil note raw        |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesatjaminit%2Fclasscharts-to-classtimetable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamesatjaminit%2Fclasscharts-to-classtimetable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesatjaminit%2Fclasscharts-to-classtimetable/lists"}