{"id":13589004,"url":"https://github.com/sinedied/backslide","last_synced_at":"2025-05-16T06:06:08.962Z","repository":{"id":41902222,"uuid":"87734183","full_name":"sinedied/backslide","owner":"sinedied","description":":sweat_drops: CLI tool for making HTML presentations with Remark.js using Markdown","archived":false,"fork":false,"pushed_at":"2022-03-15T13:34:26.000Z","size":2159,"stargazers_count":773,"open_issues_count":15,"forks_count":50,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-05-12T13:09:05.348Z","etag":null,"topics":["cli","hacktoberfest","html","markdown","nodejs","pdf","presentation","remarkjs","sass","server","slides","slideshow","utility"],"latest_commit_sha":null,"homepage":"https://sinedied.github.io/backslide","language":"JavaScript","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/sinedied.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}},"created_at":"2017-04-09T19:38:19.000Z","updated_at":"2025-05-11T11:08:12.000Z","dependencies_parsed_at":"2022-08-29T22:22:11.320Z","dependency_job_id":null,"html_url":"https://github.com/sinedied/backslide","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinedied%2Fbackslide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinedied%2Fbackslide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinedied%2Fbackslide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinedied%2Fbackslide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinedied","download_url":"https://codeload.github.com/sinedied/backslide/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253747255,"owners_count":21957727,"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":["cli","hacktoberfest","html","markdown","nodejs","pdf","presentation","remarkjs","sass","server","slides","slideshow","utility"],"created_at":"2024-08-01T16:00:19.813Z","updated_at":"2025-05-16T06:06:03.952Z","avatar_url":"https://github.com/sinedied.png","language":"JavaScript","readme":"# :sweat_drops: backslide\n\n[![NPM version](https://img.shields.io/npm/v/backslide.svg)](https://www.npmjs.com/package/backslide)\n![Node version](https://img.shields.io/node/v/backslide.svg)\n[![Build Status](https://github.com/sinedied/backslide/workflows/build/badge.svg)](https://github.com/sinedied/backslide/actions)\n[![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n\u003e CLI tool for making HTML presentations with [Remark.js](https://github.com/gnab/remark) using [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)\n\n![screenshot](https://cloud.githubusercontent.com/assets/593151/24945508/df6e3b50-1f5f-11e7-895c-89e89d89fa5a.jpg)\n\nSee an example presentation [here](https://sinedied.github.io/backslide)\n\n## Features\n\n- Template generator with [Sass](http://sass-lang.com) styling\n- Live preview server\n- Self-contained HTML export\n- Automated PDF conversion\n- Multiple presentations support\n\n## Installation\n\n### NPM/Yarn\n\n```sh\nnpm install -g backslide\n# or\nyarn global add backslide\n```\n\n### Docker\n\nBackslide can be executed within a Docker container from the command-line using the `registry.gitlab.com/mpolitze/backslide-docker:latest` Docker image available on [GitLab Container Registry](https://gitlab.com/mpolitze/backslide-docker):\n\n```sh\ndocker run --rm registry.gitlab.com/mpolitze/backslide-docker:latest\n```\n\nSee the [How-to-use-this-image](https://gitlab.com/mpolitze/backslide-docker#how-to-use-this-image) for more examples.\n\n## Usage\n\n```\nUsage: bs [init|serve|export|pdf] [options]\n\nCommands:\n  i, init                 Init new presentation in current directory\n    -t, --template \u003cdir\u003e  Use custom template directory\n    --force               Overwrite existing files                 \n  e, export [files]       Export markdown files to html slides [default: *.md]\n    -o, --output          Output directory                     [default: dist]\n    -r, --strip-notes     Strip presenter notes                     \n    -h, --handouts        Strip slide fragments for handouts\n    -l, --no-inline       Do not inline external resources\n    -b, --web             Export as website, copying assets\n  s, serve [dir]          Start dev server for specified dir.  [default: .]\n    -p, --port            Port number to listen on             [default: 4100]\n    -s, --skip-open       Do not open browser on start              \n  p, pdf [files]          Export markdown files to pdf         [default: *.md]\n    -h, --handouts        Strip slide fragments for handouts\n    -o, --output          Output directory                     [default: pdf]\n    -w, --wait            Wait time between slides in ms       [default: 1000]\n    --verbose             Show Decktape console output\n    -- [Decktape opts]    Pass any Decktape options directly\n```\n\n### Creating a new presentation\n\nUse `bs init` to create a new presentation along with a `template` directory in the current directory. The `template` directory is needed for `backslide` to transform your Markdown files into HTML presentations.\n\nThen edit the file `presentation.md` to get started.\n\nYou can create as many markdown presentations as you want in the directory, they will all be based on the same template.\n\nIf you want to start a new presentation using your own custom template, you can use `bs init --template \u003cyour_template_dir\u003e`.\nYou can also set the environment variable `BACKSLIDE_TEMPLATE_DIR` to change the default template used by `bs init`.\n\n### Making your slides\n\nUse `bs serve` to start a development server with live reload.\nA page will automatically open in your web browser showing all your presentations.\n\nSelect one to see the preview, you can then edit your `.md` file and see the changes immediately as you save the file. Any style change will also be applied live.\n\nSlides are written in [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet), along with some useful **Remark.js** specific additions.\nSee the [Remark.js wiki](https://github.com/gnab/remark/wiki) for the specific syntax and helpers.\n\n#### Customize style\n\nJust edit the `template/style.scss` file and make changes according to your needs.\nThe base theme already provides some helpful additions.\n\nThe stylesheet is written in [Sass](http://sass-lang.com), but you can use plain CSS instead if you feel like it, as long as you don't change the file extension.\n\n### Exporting your slides\n\n#### As self-contained HTML\n\nUse `bs export` to export all your `.md` files as HTML presentations.\n\nEverything will be inlined in the HTML document (scripts, css, etc) so you don't need a network to show your presentation.\nIf you have images, it's best to include them as [data-uri](https://css-tricks.com/data-uris/) in your markdown, but local images links are inlined too during export.\n\nIf you have set a `title` variable in your document (like this `title: My Awesome Presentation`), it will be used as the HTML document title, otherwise the file name will be used.\n\n\u003e Note: you can strip presenter notes from the exported HTML using the `--strip-notes` option, and remove slide fragments with the `--handouts` option.\n\n#### As a website\n\nUse `bs export --web \u003cfile\u003e.md` to export a presentation into a static HTML website.\n\nFiles within the `template` folder and from the `assets`, `images` and `img` folders will be copied to the destination folder.\n\n### Converting your slides to PDF\n\nUse `bs pdf` to export your all `.md` files as PDF presentations.\n\n\u003e Note: you can remove slide fragements with the `--handouts` option.\n\nThis feature is based on [Decktape](https://github.com/astefanutti/decktape/).\n\nFor this feature to work, you need to install [Decktape](https://github.com/astefanutti/decktape/):\n\n```sh\nnpm install -g decktape\n```\n","funding_links":[],"categories":["JAVASCRIPT","Developer \u0026 Markdown-Based","Tools"],"sub_categories":["Converters"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinedied%2Fbackslide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsinedied%2Fbackslide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinedied%2Fbackslide/lists"}