{"id":13571711,"url":"https://github.com/ollej/rusty-slider","last_synced_at":"2026-01-14T19:24:21.918Z","repository":{"id":41340943,"uuid":"355309775","full_name":"ollej/rusty-slider","owner":"ollej","description":"A small tool to display markdown files as a slideshow written in Rust.","archived":false,"fork":false,"pushed_at":"2025-02-20T19:05:20.000Z","size":128939,"stargazers_count":64,"open_issues_count":2,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T08:42:11.215Z","etag":null,"topics":["macroquad","markdown","presentation","rust","slideshow"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/ollej.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":"2021-04-06T19:39:35.000Z","updated_at":"2025-03-24T11:06:47.000Z","dependencies_parsed_at":"2024-09-10T21:48:29.105Z","dependency_job_id":"30e14458-0625-4189-b5ed-a9ee86279c4f","html_url":"https://github.com/ollej/rusty-slider","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/ollej/rusty-slider","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ollej%2Frusty-slider","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ollej%2Frusty-slider/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ollej%2Frusty-slider/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ollej%2Frusty-slider/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ollej","download_url":"https://codeload.github.com/ollej/rusty-slider/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ollej%2Frusty-slider/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28432588,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T18:57:19.464Z","status":"ssl_error","status_checked_at":"2026-01-14T18:52:48.501Z","response_time":107,"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":["macroquad","markdown","presentation","rust","slideshow"],"created_at":"2024-08-01T14:01:05.212Z","updated_at":"2026-01-14T19:24:21.894Z","avatar_url":"https://github.com/ollej.png","language":"Rust","funding_links":[],"categories":["Rust","Apps or visualizations"],"sub_categories":["Apps or visualizations: On top of macroquad"],"readme":"# Rusty Slider\n[![Cross-compile](https://github.com/ollej/rusty-slider/actions/workflows/rust.yml/badge.svg?branch=main)](https://github.com/ollej/rusty-slider/actions/workflows/rust.yml)\n\nA small tool to display markdown files as a slideshow.\n\n![Screenshot](https://ollej.github.io/rusty-slider/assets/screenshot.png)\n\n## Demo\n\nTry out Rusty Slider online:\n\n* [Example slideshows](https://ollej.github.io/rusty-slider/demo/example-slideshows.html).\n\n## Download\n\nRusty Slider is available for multiple platforms, such as Windows, \nLinux, MacOS, and the web. Download the latest binary build from github:\n\n[https://github.com/ollej/rusty-slider/releases/](https://github.com/ollej/rusty-slider/releases/)\n\n## Usage\n\nThe file `assets/rusty-slider.md` will be read and split into slides on\nhorizontal lines: `---`\n\nAt the moment, the markdown supported is headers, paragraphs, code blocks,\nblockquotes, simple lists and images. Emphasis and strong are supported if the\ntheme has italic and bold fonts.\n\nHeading level 1 can be used as title page, as it will render in the\nmiddle of the slide and can have a larger font size set by the theme\noption `font_size_header_title`.\n\nYou may use html comments (`\u003c!-- ... --\u003e`) in the markdown for anything you\ndon't want to be shown.\n\n### Images\n\nImages can be added to the slideshow by using the image markdown It needs to\nbe placed on its own at the start of a line, anything else in the same\nparagraph will be ignored.\n\n```\n![ignored](assets/image.png)\n```\n\n### Background image\n\nA default background image can be set in the theme file. In addition to this,\nit is possible to override this and set a background image per slide. This is\ndone by adding an image markdown tag with `background` as the title text.\n\n```\n![background](assets/new-background-image.png)\n```\n\n### Shortcuts\n\nUse `Left`/`H` and `Right`/`L` keys or left and right mouse button to move\nback and forth between slides. `Up`/`K`/`Home` keys jump to first slide,\nand `Down`/`J`/`End` keys jump to last slide.\n\nThe `S` key saves the current slide as a PNG on disk.\n\nOn supported platforms `C` copies the first codeblock to the clipboard.\n\nUse the key `Q` or `Escape` to exit the slideshow.\n\nPress `?` to show a help screen.\n\n### Command line options\n\nUse flag `--automatic N` when starting the application to automatically switch\nslide every N seconds.\n\nThe flag `--number N` can be used to start the slideshow at that slide.\n\n### Run code blocks\n\nWhen the command line flag `--enable-code-execution` is used, it is possible\nto run code in code blocks and show the result.\n\nWhen a code block with a recognized language is showing on a slide, it can be\nexecuted by pressing the `enter` key. The output will be added in a new code\nblock at the bottom of the slide.\n\nThis feature only works when running locally on a machine that has the\ninterpretator for each language installed. Be careful when using this as\nthere is no checks done on the shell script.\n\nOnly the first code block on a slide can be executed.\n\n#### Supported languages\n\n* Bash\n* Python\n* Perl\n* Ruby\n* Rust\n\n## Theme\n\nCreate a file called `assets/default-theme.json` to modify default display values.\n\nIf you make your own theme file, and want to share it, I'd be happy to add it\nto the release.\n\n### Transitions\n\nThese are all the available transitions that can be used in the option\n`transition`.\n\n* bignoise\n* blobs\n* checkerboard\n* circleswipe\n* cubicnoise\n* curtainsclose\n* curtainsopen\n* diagonalleft\n* diagonalright\n* fan\n* halftone\n* implode\n* lines\n* maze\n* mosaic\n* noise\n* plasma\n* radialin\n* radialout\n* smoke\n* split\n* starburst\n* stripes\n* swipedown\n* swipeleft\n* swiperight\n* swipeup\n* swirl\n* triangles\n* vortex\n* waves\n* zebra\n\n### Available code themes\n\nThe following code themes can be set in the config option `code_theme`:\n\n* base16-ocean.dark\n* base16-eighties.dark\n* base16-mocha.dark\n* base16-ocean.light\n* InspiredGitHub\n* Solarized (dark)\n* Solarized (light)\n\n### Example theme.json\n\n```json\n{\n    \"background_image\": \"assets/background.png\",\n    \"background_color\": \"#753204\",\n    \"heading_color\": \"#8f4d22\",\n    \"text_color\": \"#cccccc\",\n    \"align\": \"right\",\n    \"font\": \"assets/Amble-Regular.ttf\",\n    \"font_bold\": \"assets/Amble-Bold.ttf\",\n    \"font_italic\": \"assets/Amble-Italic.ttf\",\n    \"font_size_header_title\": 100,\n    \"font_size_header_slides\": 80,\n    \"font_size_text\": 40,\n    \"vertical_offset\": 20.0,\n    \"horizontal_offset\": 100.0,\n    \"line_height\": 2.0,\n    \"blockquote_background_color\": \"#333333\",\n    \"blockquote_padding\": 20.0,\n    \"blockquote_left_quote\": \"“\",\n    \"blockquote_right_quote\": \"„\",\n    \"font_code\": \"assets/Hack-Regular.ttf\",\n    \"font_code_size\": 20,\n    \"code_line_height\": 1.2,\n    \"code_background_color\": \"#002b36\",\n    \"code_theme\": \"Solarized (dark)\",\n    \"code_tab_width\": 2,\n    \"bullet\": \"• \",\n    \"shader\": true,\n    \"transition\": \"swirl\"\n}\n```\n\n## Command line options\n\nThe command line options can also be used as URL arguments to the\nweb demo.\n\n```\nA small tool to display markdown files as a slideshow.\n\nUsage: rusty_slider [OPTIONS]\n\nOptions:\n  -d, --directory \u003cDIRECTORY\u003e    Path to directory to load slideshow files from [default: assets]\n  -s, --slides \u003cSLIDES\u003e          Markdown files with slides text [default: rusty-slider.md]\n  -t, --theme \u003cTHEME\u003e            File with theme options [default: default-theme.json]\n  -a, --automatic \u003cAUTOMATIC\u003e    Automatically switch slides every N seconds [default: 0]\n      --demo-transitions         Switch transitions for every slide\n  -S, --screenshot \u003cSCREENSHOT\u003e  When taking screenshot, store PNG at this path [default: screenshot.png]\n      --enable-code-execution    Enable executing code in code blocks\n  -A, --assets \u003cASSETS\u003e          Path to directory where application files are loaded from [default: assets]\n  -n, --number \u003cNUMBER\u003e          Slide number to start at [default: 0]\n  -h, --help                     Print help information\n```\n\n## Licenses\n\n### Rusty Slider\n\nCopyright 2022 Olle Wreede, released under the MIT License.\n\n### Amble font\n\nBy Punchcut\nApache License\nVersion 2.0, January 2004\nhttp://www.apache.org/licenses/\n\n### Hack font\n\nCopyright Chris Simpkins\nSIL OFL 1.1 and Bitstream Vera v0.00\nhttps://www.fontsquirrel.com/license/hack\n\n### Transition\n\nCopyright (c) 2021 TanTanDev\nMIT License\n\n# Related links\n\n * \u003ca rel=\"me\" href=\"https://hachyderm.io/@ollej\"\u003eollej @ mastodon\u003c/a\u003e\n * [Rusty Aquarium](https://ollej.github.io/rusty-aquarium/)\n * [Olle's portfolio](https://olle.wreede.se/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Follej%2Frusty-slider","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Follej%2Frusty-slider","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Follej%2Frusty-slider/lists"}