cheatset 1.4.1 → 1.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +13 -3
- data/bin/cheatset +6 -0
- data/lib/cheatset/creator.rb +5 -5
- data/lib/cheatset/dsl/entry.rb +1 -1
- data/lib/cheatset/templates/style.css +7 -0
- data/lib/cheatset/templates/style.scss +10 -2
- data/lib/cheatset/templates/template.haml +2 -1
- data/lib/cheatset/version.rb +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a7cff5cf1487c0fef78f6013283e7b167cc1a64ec9938defbc317a21adf059f
|
4
|
+
data.tar.gz: 0bb0916201eb1d27677fb9cb8f5146a1887a54cebd9e9d88b70a8faf69e1bbb5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 26a07fdcd1ba96f17d9c25e46208321ef5239bb709d5c54ecbe271634e14113e40f84f8e3f47c354c8c9469f94bf2fba1bc9f2fd888d0b9c9e142e6932c14259
|
7
|
+
data.tar.gz: 24a70af2864c96f6bf7c02cfc6af0eac0681425c921cd7898077e145df376a28ec65365e959f12ab52f1e2366a625bed59f8c6dc3e5be0a073e21490301fb600
|
data/README.md
CHANGED
@@ -13,7 +13,7 @@ language (Ruby DSL).
|
|
13
13
|
Note: this requires the Xcode Command Line Tools to be installed. Install them using this:
|
14
14
|
|
15
15
|
$ xcode-select --install
|
16
|
-
|
16
|
+
|
17
17
|
## Contributions
|
18
18
|
|
19
19
|
If you make a useful cheat sheet, please [contribute it](https://github.com/Kapeli/cheatsheets#readme) to Dash.
|
@@ -28,7 +28,7 @@ cheatsheet do
|
|
28
28
|
docset_file_name 'Sample' # Used for the filename of the docset
|
29
29
|
keyword 'sample' # Used as the initial search keyword (listed in Preferences > Docsets)
|
30
30
|
# resources 'resources_dir' # An optional resources folder which can contain images or anything else
|
31
|
-
|
31
|
+
|
32
32
|
introduction 'My *awesome* cheat sheet' # Optional, can contain Markdown or HTML
|
33
33
|
|
34
34
|
# A cheat sheet must consist of categories
|
@@ -78,6 +78,15 @@ Syntax highlighting is supported (see Ruby code in the sample). For a list of su
|
|
78
78
|
For more complete examples look at some of
|
79
79
|
[the actual cheat sheets](https://github.com/Kapeli/cheatsheets/tree/master/cheatsheets).
|
80
80
|
|
81
|
+
If you do not use Ruby or lack a working Ruby toolchain and still want to generate cheatsheets.
|
82
|
+
|
83
|
+
You can use the `cheatset` Docker image.
|
84
|
+
|
85
|
+
$ docker pull jonasbn/cheatset:lastest
|
86
|
+
$ docker run --rm -it --volume $PWD:/tmp --name cheatset jonasbn/cheatset:latest generate samble.rb
|
87
|
+
|
88
|
+
For more details on the Docker image please visit the repositories on [DockerHub](https://hub.docker.com/repository/docker/jonasbn/cheatset) or [GitHub](https://github.com/jonasbn/docker-cheatset)
|
89
|
+
|
81
90
|
## Advanced Usage
|
82
91
|
|
83
92
|
Apart from the attributes listed in the sample cheat sheet above, you can also use these:
|
@@ -85,7 +94,8 @@ Apart from the attributes listed in the sample cheat sheet above, you can also u
|
|
85
94
|
* `style` (under `cheatsheet`) - define any CSS style you want. See example [here](https://github.com/Kapeli/cheatsheets/blob/f9e40e30b6fde9063b7a0fb5de8fb203851b17df/cheatsheets/CSS_Named_Colors.rb#L7-L12)
|
86
95
|
* `html_class` (under `category`) - define a HTML class to be added to a category. This can be used to define custom styling for each category
|
87
96
|
* `td_command` (under `entry`) - just like `command`, but multiple ones are added in a separate column (as opposed to a separate row)
|
88
|
-
* `td_notes` (under `entry`) - just like `notes
|
97
|
+
* `td_notes` (under `entry`) - just like `notes` but can be repeated multiple times, each becoming a separate column
|
98
|
+
* `html_notes` (under `entry`) - just like `notes`, but doesn't support Markdown
|
89
99
|
* `index_name` (under `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 `name` is used.
|
90
100
|
|
91
101
|
## Thanks
|
data/bin/cheatset
ADDED
data/lib/cheatset/creator.rb
CHANGED
@@ -3,7 +3,7 @@ require 'sqlite3'
|
|
3
3
|
require 'fileutils'
|
4
4
|
require 'haml'
|
5
5
|
require 'ostruct'
|
6
|
-
require '
|
6
|
+
require 'cgi'
|
7
7
|
require 'pathname'
|
8
8
|
|
9
9
|
class Cheatset::Creator
|
@@ -84,9 +84,9 @@ class Cheatset::Creator
|
|
84
84
|
sql = 'INSERT INTO searchIndex(name, type, path) VALUES (?, ?, ?)'
|
85
85
|
db.execute(sql, @cheatsheet.title, 'Category',
|
86
86
|
"index.html")
|
87
|
-
|
87
|
+
|
88
88
|
@cheatsheet.categories.each do |category|
|
89
|
-
category_strip =
|
89
|
+
category_strip = CGI.escape(category.id.strip).gsub(/\//, '%252F');
|
90
90
|
if @cheatsheet.title != category.id
|
91
91
|
db.execute(sql, category.id, 'Category',
|
92
92
|
"index.html\#//dash_ref/Category/#{category_strip}/1")
|
@@ -96,7 +96,7 @@ class Cheatset::Creator
|
|
96
96
|
if entry.command && entry.command.length > 0
|
97
97
|
first_command = entry.command.first
|
98
98
|
end
|
99
|
-
href = (entry.name || entry.index_name) ? "index.html\#//dash_ref_#{category_strip}/Entry/#{
|
99
|
+
href = (entry.name || entry.index_name) ? "index.html\#//dash_ref_#{category_strip}/Entry/#{CGI.escape((entry.index_name) ? entry.index_name.strip : entry.tags_stripped_name.strip).gsub(/\//, '%252F')}/0" : (first_command) ? "index.html\#//dash_ref_#{category_strip}/Command/#{URI.escape(first_command).gsub(/\//, '%252F')}/0" : ""
|
100
100
|
if entry.command
|
101
101
|
entry.command.each do |command|
|
102
102
|
if(!command.strip.empty? && !entry.not_in_main_index)
|
@@ -124,4 +124,4 @@ class Cheatset::Creator
|
|
124
124
|
end
|
125
125
|
end
|
126
126
|
end
|
127
|
-
end
|
127
|
+
end
|
data/lib/cheatset/dsl/entry.rb
CHANGED
@@ -2,7 +2,7 @@ module Cheatset
|
|
2
2
|
module DSL
|
3
3
|
class Entry < Base
|
4
4
|
define_list_attrs :command, :td_command, :extra_index_name
|
5
|
-
define_attrs :index_name, :not_in_main_index
|
5
|
+
define_attrs :index_name, :not_in_main_index, :html_notes
|
6
6
|
define_markdown_attrs :name, :notes
|
7
7
|
define_markdown_list_attrs :td_notes
|
8
8
|
end
|
@@ -69,7 +69,7 @@ code, pre {
|
|
69
69
|
font-size:13px;
|
70
70
|
}
|
71
71
|
|
72
|
-
code {
|
72
|
+
code {
|
73
73
|
margin:0;
|
74
74
|
border:1px solid #ddd;
|
75
75
|
background-color:#f8f8f8;
|
@@ -119,6 +119,14 @@ section.notes {
|
|
119
119
|
article {
|
120
120
|
margin: 2em 1em;
|
121
121
|
}
|
122
|
+
|
123
|
+
@media print {
|
124
|
+
section.category {
|
125
|
+
page-break-inside: avoid;
|
126
|
+
break-inside: avoid;
|
127
|
+
}
|
128
|
+
}
|
129
|
+
|
122
130
|
section.category {
|
123
131
|
border: 2px solid $dark_gray;
|
124
132
|
border-radius: 6px 6px;
|
@@ -145,7 +153,7 @@ td {
|
|
145
153
|
}
|
146
154
|
th {
|
147
155
|
border-left:1px solid $lighter_gray;
|
148
|
-
}
|
156
|
+
}
|
149
157
|
tr {
|
150
158
|
border-bottom:1px dotted $lighter_gray;
|
151
159
|
}
|
@@ -53,10 +53,11 @@
|
|
53
53
|
%td.td_command
|
54
54
|
- if !command.empty?
|
55
55
|
%code= CGI.escapeHTML(command)
|
56
|
-
- if entry.name || entry.notes
|
56
|
+
- if entry.name || entry.notes || entry.html_notes
|
57
57
|
%td.description{:colspan => ("2" unless entry.command || entry.td_command || entry.td_notes)}
|
58
58
|
.name~ entry.name
|
59
59
|
.notes~ entry.notes
|
60
|
+
.notes~ entry.html_notes
|
60
61
|
- if entry.td_notes
|
61
62
|
- entry.td_notes.each do |notes|
|
62
63
|
%td.td_notes
|
data/lib/cheatset/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cheatset
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bogdan Popescu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -152,7 +152,8 @@ dependencies:
|
|
152
152
|
version: '0'
|
153
153
|
description: Generate cheat sheets for Dash
|
154
154
|
email:
|
155
|
-
executables:
|
155
|
+
executables:
|
156
|
+
- cheatset
|
156
157
|
extensions: []
|
157
158
|
extra_rdoc_files: []
|
158
159
|
files:
|
@@ -161,6 +162,7 @@ files:
|
|
161
162
|
- LICENSE.txt
|
162
163
|
- README.md
|
163
164
|
- Rakefile
|
165
|
+
- bin/cheatset
|
164
166
|
- cheatset.gemspec
|
165
167
|
- lib/cheatset.rb
|
166
168
|
- lib/cheatset/cli.rb
|
@@ -202,7 +204,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
202
204
|
- !ruby/object:Gem::Version
|
203
205
|
version: '0'
|
204
206
|
requirements: []
|
205
|
-
rubygems_version: 3.0.1
|
207
|
+
rubygems_version: 3.0.3.1
|
206
208
|
signing_key:
|
207
209
|
specification_version: 4
|
208
210
|
summary: Generate cheat sheets for Dash
|