Awesome
remarker v1.15.0
Remark cli
remark is a simple, in-browser, markdown-driven slideshow tool.
remarker
is a command line tool for building a remark-based slideshow page
very easily.
Usage
Install via npm:
$ npm install --save remarker
Write your slide in markdown:
# My Slide
---
# My Slide 2
???
Presenter notes here
---
save the above as slides.md
Invoke remarker
command.
$ ./node_modules/.bin/remarker
Or if you have npx
command, then hit:
$ npx remarker
This starts a local server at port 6275 (this is configurable) and you can see your slides at http://localhost:6275/.
See remark's slide and documentation for more details about its syntax, features etc.
Build slides
You can build your slides as static page as remarker build
command.
$ ./node_modules/.bin/remarker build
This builds your slides as html page under build/
directory. The output
directory is configurable. See the below for details.
Installing globally
You can instead install it globally, in one of these two ways:
sudo npm i -g remarker # from the npm repository
sudo npm i -g . # if there's a clone in the current directory
After that, you should be able to invoke it this way from any directory in your system:
remarker [build]
Configuration
You can configure remarker with the configuration file remarker.yml
:
(Note: remarker.yml should be put in the current directory.)
Default settings are as follows:
port: 6275
dest: build
out: index.html
source: slides.md
title: ''
assets: ['assets']
css: ''
cssFiles: []
script: ''
scriptFiles: []
remarkConfig: {}
remarkPath: moduleDir + '/vendor/remark.js'
scriptFilesAfterCreate: []
livereload: true
livereloadPort: 35729
Basic options
port
is the port number of remarker server. Default is6275
.dest
is the destination ofremarker build
command. Default isbuild
out
is the filename of the result html page. Default isindex.html
source
is the source markdown filename. Default isslides.md
.title
is the page title of the slides. Default is an empty string.css
is css text you want to add to slides' html page.cssFiles
is the list of additional stylesheet files (URL or the file path relative to your current working director) you want to add to slides' html page. If you provide file paths, these files are copied/served statically. Default is an empty array.
Advanced options
assets
is the list of assets directory. These directories are copied/served statically.scriptFiles
is the list of additional JavaScript files (URL or the file path relative to your current working director) appended after the remark.js. If you provide file paths, these files are copied/served statically. Default is an empty array.script
is additional JavaScript code appended after the remark.js andscriptFiles
. Default is an empty string.remarkConfig
is the config object which is passed to remark.create(options). Default is an empty object.- See the remark source code for what option is available.
remarkPath
is the path to remark.js. This replaces the original remark.js with specified one.scriptFilesAfterCreate
is the list of additional JavaScript files (URL or the file path relative to your current working director) appended after theremark.create()
. If you provide file paths, these files are copied/served statically. Default is an empty array.livereload
is the flag to toggle livereloading feature. Default is true.livereloadPort
is the port number for livereloading websocket connection. Default is 35729.
CLI Usage
<!-- Notes: This help message is stored in //assets/help-message.txt Please try keep these in sync. -->Usage:
remarker [options] serve Serves all the assets at localhost
remarker [options] build Builds all the assets to the dest
Options:
-h, --help Shows the help message and exits
-v, --version Shows the version number and exits
-s, --source <path> Specifies the slide's markdown file.
This overrides 'source' property of the config file.
-o, --out <filename> The output filename of the slides. Default is index.html.
-d, --dest <path> The destination directory for built slides.
-p, --port <number> The port number for dev server.
-b, --open-browser Open the browser to the page when server starts. Default is false.
Examples
- simple example
- remark slides
- The original
remark
slides inremarker
configuration.
- The original
- LaTeX and Mathjax
- Usage of LaTeX and Mathjax in remarker. Contributed by @michaelliebling.
Motivation of remarker
remark
is a great presentation tool and you can write your slide's contents in
markdown. The problem is when you simply use remark, you need to maintain the
html, css and scripts as well as markdown. If you care the details of design and
style of the slides, that's fine. However if you don't care the design of the
slides that much and want to focus only on the contents, then the settings of
css, html, scripts seem quite messy. remarker
solves this problem. remarker
separates the contents (= markdown) from the settings (css, html, scripts). So
you can only focus on and keep maintaining the contents of the slides and let
remarker
do the rest of the work. This is easier than using remark
directly.
How-tos
How to use images in slides
Put the images under ./assets
directory and they are automatically
served/copied and you can reference it like
<img src="assets/my-diagram.png" width="600" />
in your slides.
The directory name of assets
can be configured in remarker.yml
. See the
configuration section for details.
Who uses this tool?
See this search.
History
- 2022-11-24 v1.15.0 Added loading indicator.
- 2022-02-13 v1.14.0 Fixed error while changing slides.md
- 2020-05-11 v1.12.0 Added scriptFilesAfterCreate option.
- 2019-10-18 v1.11.1 Fix dependency.
- 2019-10-18 v1.11.0 Added
-b, --open-browser
option. - 2019-05-14 v1.10.0 Added
--dest
,--out
, and--port
CLI options. - 2018-08-06 v1.9.0 Added :emoji: transformation. Modify
cssFiles
option handling (#11). - 2018-06-10 v1.8.1 Fixed help and version options.
- 2018-06-10 v1.8.0 Added livereloading feature.
- 2018-01-29 v1.7.0 Enabled file asset (#8).
- 2018-01-13 v1.6.1 Fixed -s option.
- 2018-01-12 v1.6.0 Added --source cli option.
- 2017-08-05 v1.3.0 Added remarkConfig prop.
License
MIT