{"id":15532854,"url":"https://github.com/tito/kary","last_synced_at":"2025-04-23T14:43:41.570Z","repository":{"id":66575298,"uuid":"2063683","full_name":"tito/kary","owner":"tito","description":"Presentation system using Kivy language","archived":false,"fork":false,"pushed_at":"2012-09-28T12:28:50.000Z","size":306,"stargazers_count":14,"open_issues_count":1,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-18T00:56:03.583Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tito.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-07-17T23:42:18.000Z","updated_at":"2019-07-25T00:31:08.000Z","dependencies_parsed_at":"2023-02-20T07:00:49.508Z","dependency_job_id":null,"html_url":"https://github.com/tito/kary","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tito%2Fkary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tito%2Fkary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tito%2Fkary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tito%2Fkary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tito","download_url":"https://codeload.github.com/tito/kary/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250456008,"owners_count":21433624,"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":[],"created_at":"2024-10-02T11:33:27.691Z","updated_at":"2025-04-23T14:43:41.553Z","avatar_url":"https://github.com/tito.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Kary - Presentation based on Kivy language\n==========================================\n\nKary is a tool to create presentation using Kivy language.\n\nInstallation\n------------\n\nYou need to have Kivy 1.0.7 minimum to make it run (http://kivy.org/)\n\n\nUsage\n-----\n\n::\n\n  kary \u003cdirectory_of_your_presentation\u003e\n\n  OR\n\n  kary \u003cfilename.kv\u003e\n\n\nHow does it work ?\n------------------\n\nKary is defining few classes needed for creating slides:\n\n- Slides: a widget that will contain a list of Slide. It must be your root\n  widget, and cannot be used inside another widgets.\n- Slide: base widget for constructing more complex Slide, like with or without\n  title, with image content, or video content etc.\n- SlidesBackground: this widget will be always created by Slides. Add a rule if\n  you want to customize the background of slides.\n- SlidesForeground: this widget will be always created by Slides. Add a rule if\n  you want to customize the foreground of slides.\n\nCreate a directory with this layout::\n\n  mypresentation/\n    presentation.kv\n    templates.kv (optional)\n    ... (put any files you want to use in the kv)\n\nIn `templates.kv`, you could define some Kivy template to be used in your `presentation.kv`::\n\n    #: kivy 1.0\n\n    # For all your slides, you want to have the same Label for representing\n    # a title, with always the same background and settings.\n    [Title@Label]:\n        text: ctx.text\n        text_size: self.width - 60, None\n        halign: 'left'\n        size_hint_y: None\n        height: 100\n        font_size: 36\n        color: labelcolor\n        canvas.before:\n            Color:\n                rgba: 0, 0, 0, .2\n            Rectangle:\n                pos: self.pos\n                size: self.size\n\n    # This is a simple slide with title on top and content on bottom.\n    [SlideContent@Slide]:\n        GridLayout:\n            pos: root.pos\n            cols: 1\n            Title:\n                text: ctx.title\n            BoxLayout:\n                padding: 50\n                Label:\n                    color: labelcolor\n                    text: ''.join(ctx.content)\n                    font_size: ctx.get('font_size', 36)\n                    text_size: self.width, None\n\nThen, in the `presentation.kv`, you can use it like that::\n\n    #!/usr/bin/env kary\n    #:kivy 1.0\n\n    Slides:\n\n        SlideContent:\n            title: 'Hello world'\n            content:\n                ('This is the first line\\n',\n                'This is the second line')\n\n        SlideContent:\n            title: 'My last slide'\n            content: ('Any questions ?, )\n\nThen, open a terminal, and type::\n\n    kary mypresentation\n\nAnd your presentation will be opened !\n\nKeyboard shortcuts\n------------------\n\n- Left: previous slide\n- Right: next slide\n- Up: next section\n- Down: previous section slide\n- Home: first slide slide\n- End: last slide\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftito%2Fkary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftito%2Fkary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftito%2Fkary/lists"}