Generate your own cheat sheets as docsets for Dash! Use this simple command line tool and write your cheat sheets in an easy language (Ruby DSL).
$ sudo gem install cheatset
Note: this requires the Xcode Command Line Tools to be installed. Install them using this:
$ xcode-select --install
If you make a useful cheat sheet, please contribute it to Dash.
Write a file (here
sample.rb) containing your cheat sheet data, e.g.:
cheatsheet do title 'Sample' # Will be displayed by Dash in the docset list docset_file_name 'Sample' # Used for the filename of the docset keyword 'sample' # Used as the initial search keyword (listed in Preferences > Docsets) # resources 'resources_dir' # An optional resources folder which can contain images or anything else introduction 'My *awesome* cheat sheet' # Optional, can contain Markdown or HTML # A cheat sheet must consist of categories category do id 'Windows' # Must be unique and is used as title of the category entry do command 'CMD+N' # Optional command 'CMD+SHIFT+N' # Multiple commands are supported name 'Create window' # A short name, can contain Markdown or HTML notes 'Some notes' # Optional longer explanation, can contain Markdown or HTML end entry do command 'CMD+W' name 'Close window' end end category do id 'Code' entry do name 'Code sample' notes <<-'END' ```ruby sample = "You can include code snippets as well" ``` Or anything else **Markdown** or HTML. END end end notes 'Some notes at the end of the cheat sheet' end
To convert this file to a docset, call
$ cheatset generate sample.rb
The following values may contain Markdown or HTML:
notesof the cheat sheet
notesof the entries
For more complete examples look at some of the actual cheat sheets.
If you do not use Ruby or lack a working Ruby toolchain and still want to generate cheatsheets.
You can use the
cheatset Docker image.
$ docker pull jonasbn/cheatset:lastest $ docker run --rm -it --volume $PWD:/tmp --name cheatset jonasbn/cheatset:latest generate samble.rb
Apart from the attributes listed in the sample cheat sheet above, you can also use these:
cheatsheet) - define any CSS style you want. See example here
category) - define a HTML class to be added to a category. This can be used to define custom styling for each category
entry) - just like
command, but multiple ones are added in a separate column (as opposed to a separate row)
entry) - just like
notes, but multiple ones are added in a separate column (as opposed to a separate row)
entry) - this is not displayed in the cheat sheet at all. You can use it to define a separate index name (i.e what gets added to Dash's search index and is searchable in Dash). In other words, if this entry is not present, the value in
Nix-wie-weg for the initial code.