hemanth 2015-08-14 05:53:34 +00:00
commit 722a8e47b3
67 changed files with 1853 additions and 567 deletions

View File

@ -5,6 +5,8 @@ use JSON::XS;
use DDG::Goodie;
use DDP;
no warnings 'uninitialized';
zci answer_type => 'cheat_sheet';
zci is_cached => 1;
@ -21,11 +23,39 @@ triggers startend => (
'key bindings', 'keys', 'default keys'
);
sub getAliases {
my @files = File::Find::Rule->file()
->name("*.json")
->in(share());
my %results;
foreach my $file (@files) {
open my $fh, $file or warn "Error opening file: $file\n" and next;
my $json = do { local $/; <$fh> };
my $data = decode_json($json);
my $defaultName = File::Basename::fileparse($file);
$defaultName =~ s/-/ /g;
$defaultName =~ s/.json//;
$results{$defaultName} = $file;
if ($data->{'aliases'}) {
foreach my $alias (@{$data->{'aliases'}}) {
$results{$alias} = $file;
}
}
}
return \%results;
}
my $aliases = getAliases();
handle remainder => sub {
# If needed we could jump through a few more hoops to check
# terms against file names.
my $json_path = share(join('-', split /\s+/o, lc($_) . '.json'));
open my $fh, $json_path or return;
open my $fh, $aliases->{join(' ', split /\s+/o, lc($_))} or return;
my $json = do { local $/; <$fh> };
my $data = decode_json($json);
@ -38,7 +68,7 @@ handle remainder => sub {
group => 'base',
item => 0,
options => {
content => 'DDH.cheat_sheets.detail',
content => "DDH.cheat_sheets.detail",
moreAt => 0
}
}

66
lib/DDG/Goodie/Week.pm Normal file → Executable file
View File

@ -2,6 +2,7 @@ package DDG::Goodie::Week;
# ABSTRACT: Find the current week number or when a week began
use DDG::Goodie;
with 'DDG::GoodieRole::Dates';
# My imports
use strict;
@ -42,44 +43,61 @@ my @months = qw/
December
/;
handle query_raw => sub {
handle query_lc => sub {
return unless /^\s*
what(?:'?s|\sis|\swas)?\s+
(?:the\s+)?
(?:(current|(\d{1,2})(?:nd|th|rd|st)?)\s+)?
(?:(?:what|when)(?:'?s|\sis|\swas)?\s)?
(?:the\s)?
(?:(current|(?<week>\d{1,2})(?:nd|th|rd|st)?)\s)?
week
(
\s+of\s+
(?:(?:the|this)\s+)?
(year|\d{4})
\sof\s
(?:(?:the(?:\scurrent)?|this)\s)?
(?<year>year|\d{4})
|
\s+is\s+this
\sis\sthis
)?\??
\s*$/x;
my $week = $1;
my $year = defined $4 ? ($4 eq 'year' ? 'current' : $4) : 'current';
my $week = $+{week};
my $year = $+{year} || 'current';
$year = 'current' if $year eq 'year';
($week, $year) = qw/current current/ if (not defined $week);
return if $week =~ s/(nd|th|rd|st)$// and $week > 52;
# ensure week number is legitimate
return unless $week eq 'current' or ($week > 0 && $week <=52);
my $dt = DateTime->now(time_zone => $loc->time_zone);
my $dt = DateTime->now(time_zone => $loc->time_zone)
if ($week eq 'current' or $year eq 'current');
my $response;
# Asking about current week of the current year
if ($week eq 'current' and $year eq 'current') {
return "We are in currently in the " . ordinate($dt->week_number) .
' week of ' . $dt->year . '.',
html => 'We are in currently in the ' . $dt->week_number
. '<sup>' . ordsuf($dt->week_number) . '</sup>'
. ' week of ' . $dt->year . '.';
} elsif ($year eq 'current') {
my ($dt_week_num, $dt_year) = (ordinate($dt->week_number), $dt->year);
$response = "We are currently in the $dt_week_num week of $dt_year.";
}
# Asking about nth week of the current year
elsif ($year eq 'current') {
$year = $dt->year();
}
my (undef, $month, $day) = Monday_of_Week($week, $year);
return "The " . ordinate($week) . " week of $year began on " .
"$months[--$month] " . ordinate($day) . '.',
html =>"The $week<sup>" . ordsuf($week) . "</sup> week of $year began on " .
"$months[$month] $day<sup>" . ordsuf($day) . '</sup>.';
return unless $year eq 'current' || is_valid_year($year);
# Asking about nth week of some year
unless ($response){
my (undef, $month, $day) = Monday_of_Week($week, $year);
my ($week_num, $day_num, $out_month, $start_term) = (ordinate($week), ordinate($day), $months[--$month], 'begins');
$start_term = "began" if ($year < $dt->year || $year == $dt->year && ($week< $dt->week && $day < $dt->day));
$response = "The $week_num week of $year $start_term on $out_month $day_num.";
}
return $response,
structured_answer => {
input => [],
operation => "Assuming the week starts on Monday",
result => $response
};
};
1;

View File

@ -41,6 +41,7 @@ my $month_regex = qr#$full_month|$short_month#;
my $time_24h = qr#(?:(?:[0-1][0-9])|(?:2[0-3]))[:]?[0-5][0-9][:]?[0-5][0-9]#i;
my $time_12h = qr#(?:(?:0[1-9])|(?:1[012])):[0-5][0-9]:[0-5][0-9]\s?(?:am|pm)#i;
my $date_number = qr#[0-3]?[0-9]#;
my $full_year = qr#[0-9]{4}#;
my $relative_dates = qr#
now | today | tomorrow | yesterday |
(?:(?:current|previous|next)\sday) |
@ -53,8 +54,8 @@ my $relative_dates = qr#
# DMY: 27/11/2014 with a variety of delimiters
# MDY: 11/27/2014 -- fundamentally non-sensical date format, for americans
my $date_delim = qr#[\.\\/\,_-]#;
my $ambiguous_dates = qr#(?:$date_number)$date_delim(?:$date_number)$date_delim(?:[0-9]{4})#i;
my $ambiguous_dates_matches = qr#^(?<m>$date_number)$date_delim(?<d>$date_number)$date_delim(?<y>[0-9]{4})$#i;
my $ambiguous_dates = qr#(?:$date_number)$date_delim(?:$date_number)$date_delim(?:$full_year)#i;
my $ambiguous_dates_matches = qr#^(?<m>$date_number)$date_delim(?<d>$date_number)$date_delim(?<y>$full_year)$#i;
# like: 1st 2nd 3rd 4-20,24-30th 21st 22nd 23rd 31st
my $number_suffixes = qr#(?:st|nd|rd|th)#i;
@ -243,14 +244,14 @@ my %tz_offsets = (
my $tz_strings = join('|', keys %tz_offsets);
my $tz_suffixes = qr#(?:[+-][0-9]{4})|$tz_strings#i;
my $date_standard = qr#$short_day_of_week $short_month\s{1,2}$date_number $time_24h $tz_suffixes [0-9]{4}#i;
my $date_standard_matches = qr#$short_day_of_week (?<m>$short_month)\s{1,2}(?<d>$date_number) (?<t>$time_24h) (?<tz>$tz_suffixes) (?<y>[0-9]{4})#i;
my $date_standard = qr#$short_day_of_week $short_month\s{1,2}$date_number $time_24h $tz_suffixes $full_year#i;
my $date_standard_matches = qr#$short_day_of_week (?<m>$short_month)\s{1,2}(?<d>$date_number) (?<t>$time_24h) (?<tz>$tz_suffixes) (?<y>$full_year)#i;
# formats parsed by vague datestring, without colouring
# the context of the code using it
my $descriptive_datestring = qr{
(?:(?:next|last)\s(?:$month_regex)) | # next June, last jan
(?:(?:$month_regex)\s(?:[0-9]{4})) | # Jan 2014, August 2000
(?:(?:$month_regex)\s(?:$full_year)) | # Jan 2014, August 2000
(?:(?:$date_number)\s?$number_suffixes?\s(?:$month_regex)) | # 18th Jan, 01 October
(?:(?:$month_regex)\s(?:$date_number)\s?$number_suffixes?) | # Dec 25, July 4th
(?:$month_regex) | # February, Aug
@ -260,7 +261,7 @@ my $descriptive_datestring = qr{
# Used for parse_descriptive_datestring_to_date
my $descriptive_datestring_matches = qr#
(?:(?<q>next|last)\s(?<m>$month_regex)) |
(?:(?<m>$month_regex)\s(?<y>[0-9]{4})) |
(?:(?<m>$month_regex)\s(?<y>$full_year)) |
(?:(?<d>$date_number)\s?$number_suffixes?\s(?<m>$month_regex)) |
(?:(?<m>$month_regex)\s(?<d>$date_number)\s?$number_suffixes?) |
(?<m>$month_regex) |
@ -270,6 +271,9 @@ my $descriptive_datestring_matches = qr#
my $formatted_datestring = build_datestring_regex();
# Accessors for useful regexes
sub full_year_regex {
return $full_year;
}
sub full_month_regex {
return $full_month;
}
@ -304,35 +308,42 @@ sub formatted_datestring_regex {
return $formatted_datestring;
}
sub is_valid_year {
my ($year) = @_;
return ($year =~ /^[0-9]{1,4}$/)
&& (1*$year > 0)
&& (1*$year < 10000);
}
# Called once to build $formatted_datestring
sub build_datestring_regex {
my @regexes = ();
## unambigous and awesome date formats:
# ISO8601: 2014-11-27 (with a concession to single-digit month and day numbers)
push @regexes, qr#[0-9]{4}-?[0-1]?[0-9]-?$date_number(?:[ T]$time_24h)?(?: ?$tz_suffixes)?#i;
push @regexes, qr#$full_year-?[0-1]?[0-9]-?$date_number(?:[ T]$time_24h)?(?: ?$tz_suffixes)?#i;
# HTTP: Sat, 09 Aug 2014 18:20:00
push @regexes, qr#$short_day_of_week, [0-9]{2} $short_month [0-9]{4} $time_24h?#i;
push @regexes, qr#$short_day_of_week, [0-9]{2} $short_month $full_year $time_24h?#i;
# RFC850 08-Feb-94 14:15:29 GMT
push @regexes, qr#[0-9]{2}-$short_month-(?:[0-9]{2}|[0-9]{4}) $time_24h?(?: ?$tz_suffixes)#i;
push @regexes, qr#[0-9]{2}-$short_month-(?:[0-9]{2}|$full_year) $time_24h?(?: ?$tz_suffixes)#i;
# RFC2822 Sat, 13 Mar 2010 11:29:05 -0800
push @regexes, qr#$short_day_of_week, $date_number $short_month [0-9]{4} $time_24h $tz_suffixes#i;
push @regexes, qr#$short_day_of_week, $date_number $short_month $full_year $time_24h $tz_suffixes#i;
# date(1) default format Sun Sep 7 15:57:56 EDT 2014
push @regexes, $date_standard;
# month-first date formats
push @regexes, qr#$date_number$date_delim$short_month$date_delim[0-9]{4}#i;
push @regexes, qr#$date_number$date_delim$full_month$date_delim[0-9]{4}#i;
push @regexes, qr#(?:$short_month|$full_month) $date_number(?: ?$number_suffixes)?[,]? [0-9]{4}#i;
push @regexes, qr#$date_number$date_delim$short_month$date_delim$full_year#i;
push @regexes, qr#$date_number$date_delim$full_month$date_delim$full_year#i;
push @regexes, qr#(?:$short_month|$full_month) $date_number(?: ?$number_suffixes)?[,]? $full_year#i;
# day-first date formats
push @regexes, qr#$short_month$date_delim$date_number$date_delim[0-9]{4}#i;
push @regexes, qr#$full_month$date_delim$date_number$date_delim[0-9]{4}#i;
push @regexes, qr#$date_number[,]?(?: ?$number_suffixes)? (?:$short_month|$full_month)[,]? [0-9]{4}#i;
push @regexes, qr#$short_month$date_delim$date_number$date_delim$full_year#i;
push @regexes, qr#$full_month$date_delim$date_number$date_delim$full_year#i;
push @regexes, qr#$date_number[,]?(?: ?$number_suffixes)? (?:$short_month|$full_month)[,]? $full_year#i;
## Ambiguous, but potentially valid date formats
push @regexes, $ambiguous_dates;

View File

@ -1 +0,0 @@
german.json

View File

@ -1 +0,0 @@
german.json

View File

@ -3,7 +3,7 @@
}
.zci--cheat_sheets .cheatsheet__title {
padding-bottom: 1em;
padding: 16px 0 12px;
font-size: 1em;
font-weight: bold;
}
@ -15,39 +15,91 @@
.zci--cheat_sheets .cheatsheet__container .cheatsheet__section {
width: 295px;
float: left;
margin-bottom: 30px;
}
.zci--cheat_sheets td {
vertical-align: top;
padding-bottom: 10px;
padding-bottom: 8px;
}
/* style defaults */
.zci--cheat_sheets code {
display: inline-block;
border: 1px solid #e0e0e0;
padding: 2px 5px 0px;
padding: 3px 4px 1px;
border-radius: 2px;
font-size: 0.833em;
color: #333;
background-color: #fff;
white-space: normal;
word-break: normal;
margin-bottom: 0.2em;
line-height: 1.4;
line-height: 1.17;
}
.zci--cheat_sheets td.cheatsheet__key {
min-width: 80px;
line-height: 1.7;
vertical-align: top;
line-height: 1.7;
}
.zci--cheat_sheets td.cheatsheet__value {
padding-top: 3px;
padding-left: 14px;
line-height: 1.4;
padding-top: 3px;
padding-left: 18px;
vertical-align: top;
line-height: 1.18;
}
/* terminal-snippets.handlebars */
.zci--cheat_sheets .terminal td {
padding-bottom: 12px;
}
.zci--cheat_sheets .terminal code {
width: 100%;
}
.zci--cheat_sheets .terminal td.cheatsheet__key {
display: block;
min-width: 100%;
padding-bottom: 1px;
}
.zci--cheat_sheets .terminal td.cheatsheet__value {
display: block;
min-width: 100%;
padding-top: 0px;
padding-left: 7px;
margin-top: 1px;
}
/* reference-sheet.handlebars */
.zci--cheat_sheets .reference ul {
padding: 0;
margin-left: 13px;
}
.zci--cheat_sheets .reference li {
position: relative;
padding-bottom: 12px;
padding-left: 7px;
line-height: 17px;
}
.zci--cheat_sheets .reference li::before {
position: absolute;
left: -12px;
content: '●';
color: inherit;
font-size: 7px;
}
.zci--cheat_sheets .reference li .cheatsheet__key {
display: block;
font-weight: bold;
}
/**/
.zci--cheat_sheets .cheatsheet__footer {
padding-top: 10px;
clear: both;

View File

@ -2,8 +2,13 @@ DDH.cheat_sheets = DDH.cheat_sheets || {};
DDH.cheat_sheets.build = function(ops) {
Spice.registerHelper('cheatsheets_ordered', function(sections, section_order, options) {
Spice.registerHelper('cheatsheets_ordered', function(sections, section_order, template_type, options) {
var result = "";
var template = {
type: template_type,
path: template_type ? 'DDH.cheat_sheets.' + template_type : 'DDH.cheat_sheets.keyboard'
};
$.each(section_order, function(i, section) {
if (sections[section]){
@ -15,7 +20,7 @@ DDH.cheat_sheets.build = function(ops) {
showhide = false;
}
result += options.fn({ name: section, items: sections[section], showhide: showhide });
result += options.fn({ name: section, items: sections[section], template: template, showhide: showhide });
}
});
return result;
@ -25,10 +30,11 @@ DDH.cheat_sheets.build = function(ops) {
re_whitespace = /\s+/, // search for spaces
re_codeblock = /<code>(.+?)<\/code>/g; // search for <code></code>
Spice.registerHelper('cheatsheets_codeblock', function(string, options) {
Spice.registerHelper('cheatsheets_codeblock', function(string, className, options) {
var out;
var codeClass = typeof className === "string" ? className : "bg-clr--white";
// replace escaped slashes and brackets
string = string.replace(/\\\\/, "<bks>")
.replace(/\\\[/g, "<lbr>")
@ -42,7 +48,7 @@ DDH.cheat_sheets.build = function(ops) {
// e.g "?()", ":sp filename"
// --> wrap whole sting in <code></code>
if ( !re_whitespace.test(string) || !re_brackets.test(string) ){
out = "<code>" + string + "</code>";
out = "<code class='"+codeClass+"'>" + string + "</code>";
// spaces
// AND
@ -53,7 +59,7 @@ DDH.cheat_sheets.build = function(ops) {
// replace unescaped brackets
out = string
.replace(/\[|\{/g, "<code>")
.replace(/\[|\{/g, "<code class='"+codeClass+"'>")
.replace(/\]|\}/g, "</code>");
}
@ -66,52 +72,79 @@ DDH.cheat_sheets.build = function(ops) {
.replace(/<rbr>/g, "]")
.replace(/<rcbr>/g, "}");
out = out.replace(re_codeblock, function esc_codeblock (match, p1, offset, string){
out = out.replace(re_codeblock, function esc_codeblock (match, p1, offset, string, codeClass){
var escaped = Handlebars.Utils.escapeExpression(p1);
return "<code>" + escaped + "</code>";
return "<code class='"+codeClass+">" + escaped + "</code>";
});
return new Handlebars.SafeString(out);
});
var wasShown = false; // keep track whether onShow was run yet
return {
onShow: function() {
// make sure this function is only run once, the first time
// the IA is shown otherwise things will get initialized more than once
if (wasShown) { return; }
// set the flag to true so it doesn't get run again:
wasShown = true;
var $dom = $("#zci-cheat_sheets"),
$container = $dom.find(".cheatsheet__container"),
$detail = $dom.find(".zci__main--detail"),
$section = $dom.find(".cheatsheet__section"),
$hideRow = $section.find("tbody tr:nth-child(n+4)"),
$hideRow = $section.find("tbody tr:nth-child(n+4), ul li:nth-child(n+4)"),
$showhide = $container.find(".cheatsheet__section.showhide"),
$more_btn = $dom.find(".chomp--link");
// Removes all tr's after the 3rd before masonry fires
if ($container.hasClass("compressed")) {
$hideRow.toggleClass("is-hidden");
}
DDG.require('masonry.js', function(){
$container.masonry({
$more_btn = $dom.find(".chomp--link"),
isExpanded = false,
loadedMasonry = false,
masonryOps = {
itemSelector: '.cheatsheet__section',
columnWidth: 295,
gutter: 30,
isFitWidth: true
});
},
showMoreLess = function() {
// keep track of whether it's expanded or not:
isExpanded = !isExpanded;
// update the querystring param so the state
// persists across page refreshes or if the link
// is shared to someone else:
if (isExpanded) {
DDG.history.set({ iax: 1 });
} else {
DDG.history.clear('iax');
}
$more_btn.click(function() {
$dom.toggleClass("has-chomp-expanded");
$detail.toggleClass("c-base");
$container.toggleClass("compressed");
$showhide.toggleClass("is-hidden");
$hideRow.toggleClass("is-hidden");
$container.masonry({
itemSelector: '.cheatsheet__section',
columnWidth: 295,
gutter: 30,
isFitWidth: true
});
});
});
if (window.Masonry) {
$container.masonry(masonryOps);
}
};
// Removes all tr's after the 3rd before masonry fires
if ($container.hasClass("compressed")) {
$hideRow.toggleClass("is-hidden");
}
// if iax=1 is in the querystring, expand
// the cheatsheet automatically when the IA is shown:
if (DDG.history.get('iax')) {
showMoreLess();
}
DDG.require('masonry.js', function(){
$container.masonry(masonryOps);
$more_btn.click(showMoreLess);
});
}
};
};

View File

@ -0,0 +1,14 @@
<table>
<tbody>
{{#each items}}
<tr>
<td class="cheatsheet__key">
{{cheatsheets_codeblock key 'bg-clr--platinum'}}
</td>
<td class="cheatsheet__value tx-clr--slate-light">
{{val}}
</td>
</tr>
{{/each}}
</tbody>
</table>

View File

@ -1 +0,0 @@
coffeescript.json

View File

@ -2,26 +2,11 @@
<h4 class="c-base__sub">{{description}}</h4>
<div class="cheatsheet__container compressed" >
{{#cheatsheets_ordered sections section_order}}
<div class="cheatsheet__section {{#if showhide}} showhide is-hidden {{/if}}">
<span>
<h6 class="cheatsheet__title tx-clr--slate">{{name}}</h6>
</span>
<table>
<tbody>
{{#each items}}
<tr>
<td class="cheatsheet__key">
{{cheatsheets_codeblock key}}
</td>
<td class="cheatsheet__value">
{{val}}
</td>
</tr>
{{/each}}
</tbody>
</table>
</div>
{{#cheatsheets_ordered sections section_order template_type}}
<div class="cheatsheet__section {{template.type}}{{#if showhide}} showhide is-hidden {{/if}}">
<h6 class="cheatsheet__title tx-clr--slate">{{name}}</h6>
{{{include template.path}}}
</div>
{{/cheatsheets_ordered}}
</div>

View File

@ -1 +0,0 @@
german.json

View File

@ -1 +0,0 @@
awesome-bar.json

View File

@ -1,162 +0,0 @@
{
"id": "firefox_cheat_sheet",
"name": "Mozilla Firefox",
"metadata": {
"sourceName": "Firefox Help",
"sourceUrl": "https://support.mozilla.org/en-US/kb/keyboard-shortcuts-perform-firefox-tasks-quickly"
},
"section_order": ["Navigation", "Current Page", "Editing","Search","Windows & Tabs","History","Bookmarks"],
"sections": {
"Navigation": [{
"val": "Back",
"key": "[Alt] [ ←]"
}, {
"val": "Home ",
"key": "[Alt] [Home] "
}, {
"val": "Open File ",
"key": "[Ctrl] [O] "
}, {
"val": "Reload ",
"key": "F5"
}, {
"val": "Stop",
"key": "Esc"
}],
"Current Page": [{
"val": "Go Down a Screen ",
"key": "Page Down"
}, {
"val": "Go Up a Screen ",
"key": "Page Up"
}, {
"val": "Go to Bottom of Page ",
"key": "End"
}, {
"val": "Go to Top of Page ",
"key": "Home"
}, {
"val": "Move to Next Frame ",
"key": "F6"
}],
"Editing": [{
"val": "copy ",
"key": "[Ctrl] [C]"
}, {
"val": "Cut",
"key": "[Ctrl] [X]"
}, {
"val": "Delete ",
"key": "Del"
}, {
"val": "Paste",
"key": "[Ctrl] [V] "
}, {
"val": "Paste as plain txt",
"key": "[Ctrl] [Shift] [V] "
}, {
"val": "Redo",
"key": "[Ctrl] [Shift] [Z] "
}, {
"val": "Undo",
"key": "[Ctrl] [Z] "
}],
"Search": [{
"val": "Find ",
"key": "[Ctrl] [F]"
}, {
"val": "Find again",
"key": "[Ctrl] [G]"
}, {
"val": "Find Previous ",
"key": "[Shift] [F3]"
}, {
"val": "Quick Find within link-text only ",
"key": "' "
}, {
"val": "Quick Find ",
"key": "/ "
}, {
"val": "Close the Find or Quick Find bar ",
"key": "Esc "
}, {
"val": "Focus Search bar",
"key": "[Ctrl] [K] "
}, {
"val": "Focus Search bar(alternative)",
"key": "[Ctrl] [J]"
}],
"Windows & Tabs": [{
"val": "CLose Tab ",
"key": "[Ctrl] [W]"
},{
"val": "CLose Tab(alternative) ",
"key": "[Ctrl] [F4]"
}, {
"val": "Close Window ",
"key": "[Ctrl] [Shift] [W]"
}, {
"val": "Close Window(alternative) ",
"key": "[Alt] [F4]"
}, {
"val": "Move Tab in focus Left ",
"key": "[Ctrl] [Shift] [Page Up]"
}, {
"val": "Move Tab in focus Right ",
"key": "[Ctrl] [Shift] [Page Down] "
}, {
"val": "Move Tab in focus to start ",
"key": "[Ctrl] [Home]"
}, {
"val": "Move Tab in focus to end ",
"key": "[Ctrl] [End] "
}, {
"val": "New Tab ",
"key": "[Ctrl] [T] "
}, {
"val": "New Window ",
"key": "[Ctrl] [W] "
}, {
"val": "New Private Window ",
"key": "[Ctrl] [Shift] [P] "
}, {
"val": "Next Tab ",
"key": "[Ctrl] [Tab] "
}, {
"val": "Next Tab(alternative) ",
"key": "[Ctrl] [Page Down] "
}, {
"val": "Open Address in New Tab ",
"key": "[Alt] [Enter] "
}, {
"val": "Undo Close Tab ",
"key": "[Ctrl] [Shift] [T]"
}, {
"val": "Select Tab 1 to 8 ",
"key": "[Alt] [1..8] "
}, {
"val": "Select Last Tab ",
"key": "[Alt] [9] "
}],
"History": [{
"val": "History sidebar ",
"key": "[Ctrl] [H] "
}, {
"val": "Library window (History) ",
"key": " [Ctrl] [Shift] [H] "
}, {
"val": "Clear Recent History ",
"key": " [Ctrl] [Shift] [Del] "
}],
"Bookmarks": [{
"val": "Bookmark This Page ",
"key": "[Ctrl] [D] "
}, {
"val": "Bookmarks sidebar ",
"key": " [Ctrl] [B] "
}, {
"val": "Library window (Bookmarks) ",
"key": " [Ctrl] [Shift] [O] "
}]
}
}

View File

@ -1 +0,0 @@
german.json

View File

@ -5,6 +5,9 @@
"sourceName": "Mozilla Support",
"sourceUrl": "https://support.mozilla.org/kb/awesome-bar-keyboard-shortcuts"
},
"aliases": [
"firefox awesome bar"
],
"section_order": ["Power-ups"],
"sections": {
"Power-ups": [{

View File

@ -37,7 +37,7 @@
"key": "Mouse wheel"
}, {
"val": "Add object",
"key": "[Shift] + [a]"
"key": "[Shift] [a]"
}, {
"val": "Delete",
"key": "x"
@ -52,13 +52,13 @@
"key": "n"
}, {
"val": "Save file",
"key": "[Ctrl] + [s]"
"key": "[Ctrl] [s]"
}, {
"val": "Render image",
"key": "F12"
}, {
"val": "Render animation",
"key": "[Ctrl] + [F12]"
"key": "[Ctrl] [F12]"
}, {
"val": "Stop render",
"key": "Esc"
@ -70,50 +70,50 @@
"key": "F11"
}, {
"val": "Undo",
"key": "[Ctrl] + [z]"
"key": "[Ctrl] [z]"
}, {
"val": "Redo",
"key": "[Ctrl] + [Shift] + [z]"
"key": "[Ctrl] [Shift] [z]"
}],
"General": [{
"val": "Duplicate",
"key": "[Shift] + [d]"
"key": "[Shift] [d]"
}, {
"val": "Move to layer",
"key": "m"
}, {
"val": "Mirror",
"key": "[Ctrl] + [m]"
"key": "[Ctrl] [m]"
}, {
"val": "Hide",
"key": "h"
}, {
"val": "Unhide",
"key": "[Alt] + [h]"
"key": "[Alt] [h]"
}, {
"val": "Move origin point",
"key": "[Ctrl] + [Shift] + [Alt] + [c]"
"key": "[Ctrl] [Shift] [Alt] [c]"
}, {
"val": "Parent to",
"key": "[Ctrl] + [p]"
"key": "[Ctrl] [p]"
}, {
"val": "Clear parent",
"key": "[Alt] + [p]"
"key": "[Alt] [p]"
}, {
"val": "Track to",
"key": "[Ctrl] + [t]"
"key": "[Ctrl] [t]"
}, {
"val": "Clear track",
"key": "[Alt] + [t]"
"key": "[Alt] [t]"
}, {
"val": "Reset 3D cursor",
"key": "[Shift] + [c]"
"key": "[Shift] [c]"
}, {
"val": "Turn widget on/off",
"key": "[Ctrl] + [Spacebar]"
"key": "[Ctrl] [Spacebar]"
}, {
"val": "Add to group",
"key": "[Ctrl] + [g]"
"key": "[Ctrl] [g]"
}],
"Movements": [{
"val": "Move",
@ -132,7 +132,7 @@
"key": "[\\{hold\\} Ctrl]"
}, {
"val": "Lock to axis",
"key": "[Middle click] or [x] / [y] / [z]"
"key": "[Middle click] / [x] / [y] / [z]"
}],
"Navigation": [{
"val": "Top view",
@ -151,26 +151,26 @@
"key": "Numpad ."
}, {
"val": "Fly mode",
"key": "[Shift] + [f]"
"key": "[Shift] [f]"
}],
"Selection": [{
"val": "Select oblect",
"key": "Right click"
}, {
"val": "Select multiple",
"key": "[Shift] + [Right click]"
"key": "[Shift] [Right click]"
}, {
"val": "(De-)Select all",
"key": "a"
}, {
"val": "Select object behind",
"key": "[Alt] + [Right click]"
"key": "[Alt] [Right click]"
}, {
"val": "Select linked",
"key": "l"
}, {
"val": "Select all linked",
"key": "[Ctrl] + [l]"
"key": "[Ctrl] [l]"
}, {
"val": "Box select",
"key": "b"
@ -179,14 +179,14 @@
"key": "c"
}, {
"val": "Lasso tool",
"key": "[Ctrl] + [Click]"
"key": "[Ctrl] [Click]"
}, {
"val": "Inverse selection",
"key": "[Ctrl] + [i]"
"key": "[Ctrl] [i]"
}],
"Fly mode": [{
"val": "Start fly mode",
"key": "[Shift] + [f]"
"key": "[Shift] [f]"
}, {
"val": "Accelerate",
"key": "[Mouse wheel \\{up\\}]"
@ -223,56 +223,56 @@
"key": "v"
}, {
"val": "Weight paint mode",
"key": "[Ctrl] + [Tab]"
"key": "[Ctrl] [Tab]"
}, {
"val": "Switching workspace",
"key": "[Ctrl] + [Left arrow] or [Ctrl] + [Right arrow]"
"key": "[Ctrl] ([←]/[→])"
}, {
"val": "Logic editor",
"key": "[Shift] + [F2]"
"key": "[Shift] [F2]"
}, {
"val": "Node editor",
"key": "[Shift] + [F3]"
"key": "[Shift] [F3]"
}, {
"val": "Console",
"key": "[Shift] + [F4]"
"key": "[Shift] [F4]"
}, {
"val": "3D viewport",
"key": "[Shift] + [F5]"
"key": "[Shift] [F5]"
}, {
"val": "F-curve editor",
"key": "[Shift] + [F6]"
"key": "[Shift] [F6]"
}, {
"val": "Properties",
"key": "[Shift] + [F7]"
"key": "[Shift] [F7]"
}, {
"val": "Video sequence editor",
"key": "[Shift] + [F8]"
"key": "[Shift] [F8]"
}, {
"val": "Outliner",
"key": "[Shift] + [F9]"
"key": "[Shift] [F9]"
}, {
"val": "UV/Image editor",
"key": "[Shift] + [F10]"
"key": "[Shift] [F10]"
}, {
"val": "Text editor",
"key": "[Shift] + [F11]"
"key": "[Shift] [F11]"
}],
"Editing curves": [{
"val": "Close path",
"key": "[Alt] + [c]"
"key": "[Alt] [c]"
}, {
"val": "Add handle",
"key": "[Ctrl] + [Click]"
"key": "[Ctrl] [Click]"
}, {
"val": "Subdivide",
"key": "w"
}, {
"val": "Tilt",
"key": "[Ctrl] + [t]"
"key": "[Ctrl] [t]"
}, {
"val": "Clear tilt",
"key": "[Alt] + [t]"
"key": "[Alt] [t]"
}, {
"val": "Change handle to bezier",
"key": "h"
@ -281,7 +281,7 @@
"key": "v"
}, {
"val": "Reset to default handle",
"key": "[Shift] + [h]"
"key": "[Shift] [h]"
}],
"Modeling": [{
"val": "Make face",
@ -300,183 +300,183 @@
"key": "v"
}, {
"val": "Create loop cut",
"key": "[Ctrl] + [r]"
"key": "[Ctrl] [r]"
}, {
"val": "Propostional editing",
"key": "o"
}, {
"val": "Select edge loop",
"key": "[Alt] + [Right click]"
"key": "[Alt] [Right click]"
}, {
"val": "Make seam/sharp",
"key": "[Ctrl] + [e]"
"key": "[Ctrl] [e]"
}, {
"val": "Merge vertices",
"key": "[Alt] + [m]"
"key": "[Alt] [m]"
}, {
"val": "Mirror",
"key": "[Ctrl] + [m]"
"key": "[Ctrl] [m]"
}, {
"val": "Shrink/Flatten",
"key": "[Alt] + [s]"
"key": "[Alt] [s]"
}, {
"val": "Knife",
"key": "[k] then [Click]"
}, {
"val": "Fill",
"key": "[Alt] + [f]"
"key": "[Alt] [f]"
}, {
"val": "Beauty fill",
"key": "[Shift] + [Alt] + [f]"
"key": "[Shift] [Alt] [f]"
}, {
"val": "Add subdivision level",
"key": "[Ctrl] + [1] / [2] / [3] / [4]"
"key": "[Ctrl] ([1]/[2]/[3]/[4])"
}],
"Sculpting": [{
"val": "Change brush size",
"key": "f"
}, {
"val": "Change brush strength",
"key": "[Shift] + [f]"
"key": "[Shift] [f]"
}, {
"val": "Rotate brush texture",
"key": "[Ctrl] + [f]"
"key": "[Ctrl] [f]"
}],
"Animation": [{
"val": "Play/Stop animation",
"key": "[Alt] + [a]"
"key": "[Alt] [a]"
}, {
"val": "Play animation in reverse",
"key": "[Alt] + [Shift] + [a]"
"key": "[Alt] [Shift] [a]"
}, {
"val": "Next frame",
"key": "Right arrow"
"key": ""
}, {
"val": "Previous frame",
"key": "Left arrow"
"key": ""
}, {
"val": "Forward 10 frames",
"key": "Up arrow"
"key": ""
}, {
"val": "Back 10 frames",
"key": "Down arrow"
"key": ""
}, {
"val": "Jump to start point",
"key": "[Shift] + [Left arrow]"
"key": "[Shift] [←]"
}, {
"val": "Jump to end point",
"key": "[Shift] + [Right arrow]"
"key": "[Shift] [→]"
}, {
"val": "Scroll through frames",
"key": "[Alt] + [Mouse wheel]"
"key": "[Alt] [Mouse wheel]"
}, {
"val": "Insert keyframe",
"key": "i"
}, {
"val": "Remove keyframe",
"key": "[Alt] + [i]"
"key": "[Alt] [i]"
}, {
"val": "Jump to next keyframe",
"key": "[Ctrl] + [Page up]"
"key": "[Ctrl] [Page up]"
}, {
"val": "Jump to previous keyframe",
"key": "[Ctrl] + [Page down]"
"key": "[Ctrl] [Page down]"
}],
"Node editor": [{
"val": "Add node",
"key": "[Shift] + [a]"
"key": "[Shift] [a]"
}, {
"val": "Cut links",
"key": "[Ctrl] + [Left mouse]"
"key": "[Ctrl] [Left mouse]"
}, {
"val": "(Un-)Hide node",
"key": "h"
}, {
"val": "Make group",
"key": "[Ctrl] + [g]"
"key": "[Ctrl] [g]"
}, {
"val": "Ungroup",
"key": "[Alt] + [g]"
"key": "[Alt] [g]"
}, {
"val": "Edit group",
"key": "Tab"
}, {
"val": "Move background",
"key": "[Alt] + [Middle mouse]"
"key": "[Alt] [Middle mouse]"
}, {
"val": "Zoom in background",
"key": "v"
}, {
"val": "Zoom out background",
"key": "[Alt] + [v]"
"key": "[Alt] [v]"
}, {
"val": "Properties",
"key": "n"
}],
"Armatures": [{
"val": "Add bone",
"key": "[e] or [Ctrl] + [Click]"
"key": "[e] or [Ctrl] [Click]"
}, {
"val": "Rotate",
"key": "[Ctrl] + [r]"
"key": "[Ctrl] [r]"
}, {
"val": "Recalculate roll",
"key": "[Ctrl] + [n]"
"key": "[Ctrl] [n]"
}, {
"val": "Align bones",
"key": "[Ctrl] + [Alt] + [a]"
"key": "[Ctrl] [Alt] [a]"
}, {
"val": "Move to bone layers",
"key": "m"
}, {
"val": "View bone layers",
"key": "[Shift] + [m]"
"key": "[Shift] [m]"
}, {
"val": "Set bone flag",
"key": "[Shift] + [w]"
"key": "[Shift] [w]"
}, {
"val": "Switch bone direction",
"key": "[Alt] + [f]"
"key": "[Alt] [f]"
}, {
"val": "Scroll hierachy",
"key": "{\\]} / {\\[}"
}, {
"val": "Select hierarchy",
"key": "[Shift] + {\\]} / {\\[}"
"key": "[Shift] ({\\]} / {\\[})"
}, {
"val": "Select connected",
"key": "l"
}],
"Pose mode": [{
"val": "Apply pose",
"key": "[Ctrl] + [a]"
"key": "[Ctrl] [a]"
}, {
"val": "Clear pose rotation",
"key": "[Alt] + [r]"
"key": "[Alt] [r]"
}, {
"val": "Clear pose location",
"key": "[Alt] + [l]"
"key": "[Alt] [l]"
}, {
"val": "Clear pose scale",
"key": "[Alt] + [s]"
"key": "[Alt] [s]"
}, {
"val": "Copy pose",
"key": "[Ctrl] + [c]"
"key": "[Ctrl] [c]"
}, {
"val": "Paste pose",
"key": "[Ctrl] + [v]"
"key": "[Ctrl] [v]"
}, {
"val": "Add IK",
"key": "[Shift] + [i]"
"key": "[Shift] [i]"
}, {
"val": "Remove IK",
"key": "[Ctrl] + [Alt] + [i]"
"key": "[Ctrl] [Alt] [i]"
}, {
"val": "Add to bone group",
"key": "[Ctrl] + [g]"
"key": "[Ctrl] [g]"
}, {
"val": "Relax pose",
"key": "[Alt] + [e]"
"key": "[Alt] [e]"
}],
"Timeline": [{
"val": "Set start frame",
@ -495,7 +495,7 @@
"key": "[Right click \\{drag\\}]"
}, {
"val": "Toggle frames/seconds",
"key": "[Ctrl] + [t]"
"key": "[Ctrl] [t]"
}],
"Video Sequence Editor": [{
"val": "Next strip",
@ -508,35 +508,35 @@
"key": "k"
}, {
"val": "Lock strip",
"key": "[Shift] + [l]"
"key": "[Shift] [l]"
}, {
"val": "Unlock strip",
"key": "[Shift] + [Alt] + [l]"
"key": "[Shift] [Alt] [l]"
}, {
"val": "Coyp strip",
"key": "[Ctrl] + [c]"
"key": "[Ctrl] [c]"
}, {
"val": "Paste strip",
"key": "[Ctrl] + [v]"
"key": "[Ctrl] [v]"
}, {
"val": "Seperate images",
"key": "y"
}, {
"val": "Snap strip to scrubber",
"key": "[Shift] + [s]"
"key": "[Shift] [s]"
}],
"Advanced": [{
"val": "Append file",
"key": "[Shift] + [F1]"
"key": "[Shift] [F1]"
}, {
"val": "Fullscreen mode",
"key": "[Alt] + [F11]"
"key": "[Alt] [F11]"
}, {
"val": "Maximize subwindow",
"key": "[Ctrl] + [Up arrow]"
"key": "[Ctrl] [↑]"
}, {
"val": "Change active camera",
"key": "[Ctrl] + [o]"
"key": "[Ctrl] [o]"
}, {
"val": "Use render buffer",
"key": "j"
@ -545,13 +545,13 @@
"key": "w"
}, {
"val": "Only render portion",
"key": "[Shift] + [b]"
"key": "[Shift] [b]"
}, {
"val": "Save over default scene",
"key": "[Ctrl] + [u]"
"key": "[Ctrl] [u]"
}, {
"val": "Make screen cast",
"key": "[Ctrl] + [F4]"
"key": "[Ctrl] [F4]"
}]
}
}
}

View File

@ -0,0 +1,135 @@
{
"id": "chrome_cheat_sheet",
"name": "Chrome",
"description": "Web Browser by Google",
"metadata": {
"sourceName": "Chrome Help",
"sourceUrl": "https://support.google.com/chrome/answer/157179?hl=en"
},
"section_order": [
"Tab and Window",
"Chrome Features",
"Webpage",
"Text"
],
"sections": {
"Tab and Window": [
{
"key": "[Ctrl] [N]",
"val": "Open new window"
},
{
"key": "[Ctrl] [Shift] [N]",
"val": "Open new Incognito window"
},
{
"key": "[Ctrl] [T]",
"val": "Open new tab"
},
{
"key": "[Ctrl] [W]",
"val": "Close current tab"
},
{
"key": "[Ctrl] [Shift] [T]",
"val": "Re-open recently closed tab"
},
{
"key": "[Ctrl] [Tab]",
"val": "Navigate between tabs"
}
],
"Chrome Features": [
{
"key": "[Alt] [F]",
"val": "Open Chrome menu"
},
{
"key": "[Ctrl] [Shift] [B]",
"val": "Toggle the bookmarks bar"
},
{
"key": "[Ctrl] [H]",
"val": "Open history page"
},
{
"key": "[Ctrl] [J]",
"val": "Open downloads page"
},
{
"key": "[Ctrl] [Shift] [M]",
"val": "Switch between users"
},
{
"key": "[Ctrl] [Shift] [J]",
"val": "Open developer Tools"
},
{
"key": "[Shift] [Esc]",
"val": "Open Chrome task manager"
}
],
"Webpage": [
{
"key": "[Ctrl] [P]",
"val": "Print current page"
},
{
"key": "[Ctrl] [F]",
"val": "Search current page"
},
{
"key": "[Ctrl] [D]",
"val": "Bookmark current page"
},
{
"key": "[Ctrl] [R]",
"val": "Reload current page"
},
{
"key": "[Ctrl] [F5]",
"val": "Ignore cache, reload current page"
},
{
"key": "Esc",
"val": "Stop loading current page"
},
{
"key": "[Ctrl] [U]",
"val": "View source of current page"
}
,
{
"key": "F11",
"val": "Toggle full screen mode"
}
],
"Text": [
{
"key": "[Ctrl] [C]",
"val": "Copy highlighted content"
},
{
"key": "[Ctrl] [V]",
"val": "Paste copied content"
},
{
"key": "[Ctrl] [Shift] [V]",
"val": "Paste without formatting"
},
{
"key": "[Ctrl] [X]",
"val": "Copy highlighted content and delete from current place"
},
{
"key": "[Shift] [Delete]",
"val": "Delete auto-complete entry from Chrome's history"
}
]
}
}

View File

@ -6,6 +6,9 @@
"sourceName": "CoffeeScript",
"sourceUrl": "http://coffeescript.org"
},
"aliases": [
"coffee script"
],
"section_order": [
"Usage",
"Variables",

View File

@ -12,7 +12,7 @@
"val": "Go to the highlighted result, or use it right away to go to the first result"
},
{
"key": "[Ctrl]/[⌘] + [↵]",
"key": "([Ctrl]/[⌘]) [↵]",
"val": "Open a result in the background"
},
{
@ -55,4 +55,4 @@
}
]
}
}
}

View File

@ -0,0 +1,489 @@
{
"id":"firefox_cheat_sheet",
"name":"Mozilla Firefox",
"metadata":{
"sourceName":"Mozilla Firefox",
"sourceUrl":"https://support.mozilla.org/en-US/kb/keyboard-shortcuts-perform-firefox-tasks-quickly"
},
"section_order":[
"Navigation",
"Current Page",
"Editing",
"Search",
"Windows & Tabs",
"History",
"Bookmarks",
"Tools",
"PDF Viewer",
"Miscellaneous",
"Audio & Video Media"
],
"sections":{
"Navigation":[
{
"val":"Back",
"key":"[Alt] [←]"
},
{
"val":"Forward",
"key":"[Alt] [→]"
},
{
"val":"Home",
"key":"[Alt] [Home]"
},
{
"val":"Open File",
"key":"[Ctrl] [O]"
},
{
"val":"Reload",
"key":"F5"
},
{
"val":"Reload (override cache)",
"key":"[Ctrl] [F5]"
},
{
"val":"Stop",
"key":"Esc"
}
],
"Current Page":[
{
"val":"Go Down a Screen",
"key":"[Page Down]"
},
{
"val":"Go Up a Screen",
"key":"[Page Up]"
},
{
"val":"Go to Bottom of Page",
"key":"End"
},
{
"val":"Go to Top of Page",
"key":"Home"
},
{
"val":"Move to Next Frame",
"key":"F6"
},
{
"val":"Move to Previous Frame",
"key":"[Shift] [F6]"
},
{
"val":"Print",
"key":"[Ctrl] [P]"
},
{
"val":"Save Page As",
"key":"[Ctrl] [S]"
},
{
"val":"Zoom In",
"key":"[Ctrl] [+]"
},
{
"val":"Zoom Out",
"key":"[Ctrl] [-]"
},
{
"val":"Zoom Reset",
"key":"[Ctrl] [0]"
}
],
"Editing":[
{
"val":"Copy",
"key":"[Ctrl] [C]"
},
{
"val":"Cut",
"key":"[Ctrl] [X]"
},
{
"val":"Delete",
"key":"Del"
},
{
"val":"Paste",
"key":"[Ctrl] [V]"
},
{
"val":"Paste (as plain text)",
"key":"[Ctrl] [Shift] [V]"
},
{
"val":"Redo",
"key":"[Ctrl] [Shift] [Z]"
},
{
"val":"Select All",
"key":"[Ctrl] [A]"
},
{
"val":"Undo",
"key":"[Ctrl] [Z]"
}
],
"Search":[
{
"val":"Find",
"key":"[Ctrl] [F]"
},
{
"val":"Find Again",
"key":"[Ctrl] [G]"
},
{
"val":"Find Previous",
"key":"[Shift] [F3]"
},
{
"val":"Quick Find within link-text only",
"key":"'"
},
{
"val":"Quick Find",
"key":"/"
},
{
"val":"Close the Find or Quick Find bar (When Focused)",
"key":"Esc"
},
{
"val":"Focus Search bar",
"key":"[Ctrl] [K]"
},
{
"val":"Focus Search bar (Alternative)",
"key":"[Ctrl] [J]"
},
{
"val":"Quickly switch between search engines (When Search Bar is focused)",
"key":"[Ctrl] ([↑]/[↓])"
},
{
"val":"View menu to switch, add or manage search engines (When Search Bar Focused)",
"key":"[Alt] ([↑]/[↓])"
}
],
"Windows & Tabs":[
{
"val":"Close Tab",
"key":"[Ctrl] [W]"
},
{
"val":"Close Tab",
"key":"[Ctrl] [F4]"
},
{
"val":"Close Window",
"key":"[Ctrl] [Shift] [W]"
},
{
"val":"Move Tab in focus Left",
"key":"[Ctrl] [Shift] [Page Up]"
},
{
"val":"Move Tab in focus Right",
"key":"[Ctrl] [Shift] [Page Down]"
},
{
"val":"Move Tab in focus to start",
"key":"[Ctrl] [Home]"
},
{
"val":"Move Tab in focus to end",
"key":"[Ctrl] [End]"
},
{
"val":"New Tab",
"key":"[Ctrl] [T]"
},
{
"val":"New Window",
"key":"[Ctrl] [N]"
},
{
"val":"New Private Window",
"key":"[Ctrl] [Shift] [P]"
},
{
"val":"Next Tab",
"key":"[Ctrl] [Tab]"
},
{
"val":"Open Address in New Tab",
"key":"[Alt] [Enter]"
},
{
"val":"Previous Tab",
"key":"[Ctrl] [Shift] [Tab]"
},
{
"val":"Undo Close Tab",
"key":"[Ctrl] [Shift] [T]"
},
{
"val":"Undo Close Window",
"key":"[Ctrl] [Shift] [N]"
},
{
"val":"Select Tab 1 to 8",
"key":"[Ctrl] [1 to 8]"
},
{
"val":"Select Last Tab",
"key":"[Alt] [9]"
},
{
"val":"Tab Groups View",
"key":"[Ctrl] [Shift] [E]"
},
{
"val":"Close Tab Groups View",
"key":"Esc"
},
{
"val":"Next Tab Group (only for some keyboard layouts )",
"key":"[Ctrl] [`]"
},
{
"val":"Previous Tab Group (only for some keyboard layouts )",
"key":"[Ctrl] [Shift] [`]"
}
],
"History":[
{
"val":"History sidebar",
"key":"[Ctrl] [H]"
},
{
"val":"Library window (History)",
"key":"[Ctrl] [Shift] [H]"
},
{
"val":"Clear Recent History",
"key":"[Ctrl] [Shift] [Del]"
}
],
"Bookmarks":[
{
"val":"Bookmark All Tabs",
"key":"[Ctrl] [Shift] [D]"
},
{
"val":"Bookmark This Page",
"key":"[Ctrl] [D]"
},
{
"val":"Bookmarks sidebar",
"key":"[Ctrl] [B]"
},
{
"val":"Library window (Bookmarks)",
"key":"[Ctrl] [Shift] [O]"
}
],
"Tools":[
{
"val":"Downloads",
"key":"[Ctrl] [Shift] [Y]"
},
{
"val":"Add-ons",
"key":"[Ctrl] [Shift] [A]"
},
{
"val":"Toggle Developer Tools",
"key":"[Ctrl] [Shift] [I]"
},
{
"val":"Toggle Developer Tools (Alternative)",
"key":"F12"
},
{
"val":"Web Console",
"key":"[Ctrl] [Shift] [K]"
},
{
"val":"Inspector",
"key":"[Ctrl] [Shift] [C]"
},
{
"val":"Debugger",
"key":"[Ctrl] [Shift] [S]"
},
{
"val":"Style Editor",
"key":"[Shift] [F7]"
},
{
"val":"Profiler",
"key":"[Shift] [F5]"
},
{
"val":"Network",
"key":"[Ctrl] [Shift] [Q]"
},
{
"val":"Developer Toolbar",
"key":"[Shift] [F2]"
},
{
"val":"Responsive Design View",
"key":"[Ctrl] [Shift] [M]"
},
{
"val":"Scratchpad",
"key":"[Shift] [F4]"
},
{
"val":"Page Source",
"key":"[Ctrl] [U]"
},
{
"val":"Browser Console",
"key":"[Ctrl] [Shift] [J]"
},
{
"val":"Page Info",
"key":"[Ctrl] [I]"
}
],
"PDF Viewer":[
{
"val":"Next page",
"key":"→"
},
{
"val":"Previous page",
"key":"←"
},
{
"val":"Zoom in",
"key":"[Ctrl] [+]"
},
{
"val":"Zoom out",
"key":"[Ctrl] [-]"
},
{
"val":"Automatic Zoom",
"key":"[Ctrl] [0]"
},
{
"val":"Rotate the document clockwise",
"key":"R"
},
{
"val":"Rotate counterclockwise",
"key":"[Shift] [R]"
},
{
"val":"Switch to Presentation Mode",
"key":"[Ctrl] [Alt] [P]"
},
{
"val":"Toggle Hand Tool",
"key":"H"
},
{
"val":"Focus the Page Number input box",
"key":"[Ctrl] [Alt] [G]"
}
],
"Miscellaneous":[
{
"val":"Complete .com Address",
"key":"[Ctrl] [Enter]"
},
{
"val":"Complete .net Address",
"key":"[Shift] [Enter]"
},
{
"val":"Complete .org Address",
"key":"[Ctrl] [Shift] [Enter]"
},
{
"val":"Delete Selected Autocomplete Entry",
"key":"Del"
},
{
"val":"Toggle Full Screen",
"key":"F11"
},
{
"val":"Toggle Menu Bar activation (KDE) (showing it temporarily when hidden)",
"key":"Alt"
},
{
"val":"Toggle Menu Bar activation (GNOME) (showing it temporarily when hidden)",
"key":"F10"
},
{
"val":"Show/Hide Add-on Bar",
"key":"[Ctrl] [/]"
},
{
"val":"Caret Browsing",
"key":"F7"
},
{
"val":"Select Location Bar",
"key":"F6"
}
],
"Audio & Video Media":[
{
"val":"Toggle Play / Pause",
"key":"Space bar"
},
{
"val":"Decrease volume",
"key":"↓"
},
{
"val":"Increase volume",
"key":"↑"
},
{
"val":"Mute audio",
"key":"[Ctrl] [↓]"
},
{
"val":"Unmute audio",
"key":"[Ctrl] [↑]"
},
{
"val":"Seek back 15 seconds",
"key":"←"
},
{
"val":"Seek back 10 %",
"key":"[Ctrl] [←]"
},
{
"val":"Seek forward 15 seconds",
"key":"→"
},
{
"val":"Seek forward 10 %",
"key":"[Ctrl] [→]"
},
{
"val":"Seek to the beginning",
"key":"Home"
},
{
"val":"Seek to the end",
"key":"End"
}
]
}
}

View File

@ -5,6 +5,9 @@
"sourceName" : "Linguanaut",
"sourceUrl" : "http://www.linguanaut.com/english_german.htm"
},
"aliases": [
"german phrases", "english to german", "basic german phrases", "basic german"
],
"section_order" : [
"Basics",
"Getting Help",

View File

@ -24,7 +24,7 @@
"val": "Help"
},
{
"key": "[Shift] + [F1]",
"key": "[Shift] [F1]",
"val": "Context Help"
}
],
@ -34,7 +34,7 @@
"val": "Zoom in"
},
{
"key": "[Ctrl] + [click]",
"key": "[Ctrl] [click]",
"val": "Zoom out"
},
{
@ -44,47 +44,47 @@
],
"Filters": [
{
"key": "[Ctrl] + [click]",
"key": "[Ctrl] [click]",
"val": "Repeat last filter"
},
{
"key": "[Shift] + [Ctrl] + [F]",
"key": "[Shift] [Ctrl] [F]",
"val": "Reshow last filter"
}
],
"Selections": [
{
"key": "[Ctrl] + [T]",
"key": "[Ctrl] [T]",
"val": "Toggle selections"
},
{
"key": "[Ctrl] + [A]",
"key": "[Ctrl] [A]",
"val": "Select all"
},
{
"key": "[Shift] + [Ctrl] + [A]",
"key": "[Shift] [Ctrl] [A]",
"val": "Select none"
},
{
"key": "[Ctrl] + [I]",
"key": "[Ctrl] [I]",
"val": "Invert selection"
},
{
"key": "[Shift] + [Ctrl] + [L]",
"key": "[Shift] [Ctrl] [L]",
"val": "Float selection"
},
{
"key": "[Shift] + [V]",
"key": "[Shift] [V]",
"val": "Path to selection"
}
],
"Layers": [
{
"key": "[PgUp] or [Ctrl] + [Tab]",
"key": "[PgUp] or [Ctrl] [Tab]",
"val": "Select the layer above"
},
{
"key": "[PgDn] or [Shift] + [Ctrl] + [Tab]",
"key": "[PgDn] or [Shift] [Ctrl] [Tab]",
"val": "Select the layer below"
},
{
@ -96,33 +96,33 @@
"val": "Select the last layer"
},
{
"key": "[Ctrl] + [M]",
"key": "[Ctrl] [M]",
"val": "Merge visible layers"
},
{
"key": "[Ctrl] + [H]",
"key": "[Ctrl] [H]",
"val": "Anchor layer"
}
],
"Edit": [
{
"key": "[Ctrl] + [Z]",
"key": "[Ctrl] [Z]",
"val": "Undo"
},
{
"key": "[Ctrl] + [Y]",
"key": "[Ctrl] [Y]",
"val": "Redo"
},
{
"key": "[Ctrl] + [C]",
"key": "[Ctrl] [C]",
"val": "Copy selection"
},
{
"key": "[Ctrl] + [X]",
"key": "[Ctrl] [X]",
"val": "Cut selection"
},
{
"key": "[Ctrl] + [V]",
"key": "[Ctrl] [V]",
"val": "Paste clipboard"
},
{
@ -130,27 +130,27 @@
"val": "Erase selection"
},
{
"key": "[Shift] + [Ctrl] + [C]",
"key": "[Shift] [Ctrl] [C]",
"val": "Named copy selection"
},
{
"key": "[Shift] + [Ctrl] + [X]",
"key": "[Shift] [Ctrl] [X]",
"val": "Named cut selection"
},
{
"key": "[Shift] + [Ctrl] + [V]",
"key": "[Shift] [Ctrl] [V]",
"val": "Named paste clipboard"
},
{
"key": "[Ctrl] + [,]",
"key": "[Ctrl] [,]",
"val": "Fill with FG color"
},
{
"key": "[Ctrl] + [.]",
"key": "[Ctrl] [.]",
"val": "Fill with BG color"
},
{
"key": "[Ctrl] + [;]",
"key": "[Ctrl] [;]",
"val": "Fill with Pattern"
}
],
@ -172,7 +172,7 @@
"val": "Fuzzy Select"
},
{
"key": "[Shift] + [O]",
"key": "[Shift] [O]",
"val": "Select by Color"
},
{
@ -192,27 +192,27 @@
"val": "Move"
},
{
"key": "[Shift] + [C]",
"key": "[Shift] [C]",
"val": "Crop and Resize"
},
{
"key": "[Shift] + [R]",
"key": "[Shift] [R]",
"val": "Rotate"
},
{
"key": "[Shift] + [T]",
"key": "[Shift] [T]",
"val": "Scale"
},
{
"key": "[Shift] + [S]",
"key": "[Shift] [S]",
"val": "Shear"
},
{
"key": "[Shift] + [P]",
"key": "[Shift] [P]",
"val": "Perspective"
},
{
"key": "[Shift] + [F]",
"key": "[Shift] [F]",
"val": "Flip"
},
{
@ -220,7 +220,7 @@
"val": "Text"
},
{
"key": "[Shift] + [B]",
"key": "[Shift] [B]",
"val": "Bucket Fill"
},
{
@ -236,7 +236,7 @@
"val": "Paintbrush"
},
{
"key": "[Shift] + [E]",
"key": "[Shift] [E]",
"val": "Eraser"
},
{
@ -252,7 +252,7 @@
"val": "Clone"
},
{
"key": "[Shift] + [U]",
"key": "[Shift] [U]",
"val": "Blur / Sharpen"
},
{
@ -260,7 +260,7 @@
"val": "Smudge"
},
{
"key": "[Shift] + [D]",
"key": "[Shift] [D]",
"val": "Dodge / Burn"
},
{
@ -274,93 +274,93 @@
],
"File": [
{
"key": "[Ctrl] + [N]",
"key": "[Ctrl] [N]",
"val": "New image"
},
{
"key": "[Ctrl] + [O]",
"key": "[Ctrl] [O]",
"val": "Open image"
},
{
"key": "[Ctrl] + [Alt] + [O]",
"key": "[Ctrl] [Alt] [O]",
"val": "Open image as new layer"
},
{
"key": "[Ctrl] + [D]",
"key": "[Ctrl] [D]",
"val": "Duplicate"
},
{
"key": "[Ctrl] + [1]",
"key": "[Ctrl] [1]",
"val": "Open recent image #1"
},
{
"key": "[Ctrl] + [2]",
"key": "[Ctrl] [2]",
"val": "Open recent image #2"
},
{
"key": "[Ctrl] + [3]",
"key": "[Ctrl] [3]",
"val": "Open recent image #3"
},
{
"key": "[Ctrl] + [4]",
"key": "[Ctrl] [4]",
"val": "Open recent image #4"
},
{
"key": "[Ctrl] + [5]",
"key": "[Ctrl] [5]",
"val": "Open recent image #5"
},
{
"key": "[Ctrl] + [6]",
"key": "[Ctrl] [6]",
"val": "Open recent image #6"
},
{
"key": "[Ctrl] + [7]",
"key": "[Ctrl] [7]",
"val": "Open recent image #7"
},
{
"key": "[Ctrl] + [8]",
"key": "[Ctrl] [8]",
"val": "Open recent image #8"
},
{
"key": "[Ctrl] + [9]",
"key": "[Ctrl] [9]",
"val": "Open recent image #9"
},
{
"key": "[Ctrl] + [10]",
"key": "[Ctrl] [10]",
"val": "Open recent image #10"
},
{
"key": "[Ctrl] + [S]",
"key": "[Ctrl] [S]",
"val": "Save image"
},
{
"key": "[Shift] + [Ctrl] + [S]",
"key": "[Shift] [Ctrl] [S]",
"val": "Save under a new name"
},
{
"key": "[Ctrl] + [Q]",
"key": "[Ctrl] [Q]",
"val": "Quit"
}
],
"Dialogs": [
{
"key": "[Ctrl] + [L]",
"key": "[Ctrl] [L]",
"val": "Layers"
},
{
"key": "[Shift] + [Ctrl] + [B]",
"key": "[Shift] [Ctrl] [B]",
"val": "Brushes"
},
{
"key": "[Shift] + [Ctrl] + [P]",
"key": "[Shift] [Ctrl] [P]",
"val": "Patterns"
},
{
"key": "[Ctrl] + [G]",
"key": "[Ctrl] [G]",
"val": "Gradients"
},
{
"key": "[Alt] + [F4] or [Ctrl] + [W]",
"key": "[Alt] [F4] or [Ctrl] [W]",
"val": "Close the window"
},
{
@ -368,7 +368,7 @@
"val": "Jump to next widget"
},
{
"key": "[Shift] + [Tab]",
"key": "[Shift] [Tab]",
"val": "Jump to previous widget"
},
{
@ -380,23 +380,23 @@
"val": "Activate current button or list"
},
{
"key": "[Ctrl] + [Alt] + [PgUp] / [PgDn]",
"key": "[Ctrl] [Alt] [PgUp] / [PgDn]",
"val": "Switch tabs (multi-tab dialog)"
},
{
"key": "[Shift] + [L]",
"key": "[Shift] [L]",
"val": "Open Location"
},
{
"key": "[Alt] + [Up]",
"key": "[Alt] [Up]",
"val": "Up-Folder"
},
{
"key": "[Alt] + [Down]",
"key": "[Alt] [Down]",
"val": "Down-Folder"
},
{
"key": "[Alt] + [Home]",
"key": "[Alt] [Home]",
"val": "Home-Folder"
},
{
@ -410,7 +410,7 @@
"val": "Main Menu"
},
{
"key": "[Shift] + [F10] or [right click]",
"key": "[Shift] [F10] or [right click]",
"val": "Drop-down Menu"
},
{
@ -418,11 +418,11 @@
"val": "Toggle fullscreen"
},
{
"key": "[Shift] + [Q]",
"key": "[Shift] [Q]",
"val": "Toggle quickmask"
},
{
"key": "[Ctrl] + [W]",
"key": "[Ctrl] [W]",
"val": "Close document window"
},
{
@ -438,7 +438,7 @@
"val": "Zoom 1:1"
},
{
"key": "[Ctrl] + [E]",
"key": "[Ctrl] [E]",
"val": "Shrink wrap"
},
{
@ -446,15 +446,15 @@
"val": "Drag off a ruler to create guide"
},
{
"key": "[Ctrl] + [mouse drag]",
"key": "[Ctrl] [mouse drag]",
"val": "Drag a sample point out of the rulers"
},
{
"key": "[Shift] + [Ctrl] + [R]",
"key": "[Shift] [Ctrl] [R]",
"val": "Toggle rulers"
},
{
"key": "[Shift] + [Ctrl] + [T]",
"key": "[Shift] [Ctrl] [T]",
"val": "Toggle guides"
}
]

View File

@ -6,6 +6,7 @@
"sourceName": "GitHub",
"sourceUrl": "https://training.github.com/kit/downloads/github-git-cheat-sheet"
},
"template_type" : "terminal",
"section_order": [
"Configure Tooling",
"Create Repositories",
@ -124,7 +125,7 @@
"Synchronize Changes": [{
"val": "Downloads all history from the repository bookmark",
"key": "$ git fetch \\[bookmark\\]"
}, {
"val": "Combines bookmark's branch into current local branches",
"key": "$ git merge \\[bookmark\\]/\\[branch\\]"
@ -137,4 +138,3 @@
}]
}
}

View File

@ -10,66 +10,69 @@
"sections": {
"Desktop Shortcuts": [{
"val": "Switch between the Activities overview and desktop",
"key": "[Alt] + [F1] or [Super]"
"key": "[Alt] [F1]"
},{
"val": "Switch between the Activities overview and desktop (alternative)",
"key": "Super"
}, {
"val": "Pop up command window",
"key": "[Alt] + [F2] "
"key": "[Alt] [F2] "
}, {
"val": "Quickly switch between windows",
"key": "[Super] + [Tab] "
"key": "[Super] [Tab] "
}, {
"val": "Switch between windows from the same application",
"key": "[Super] + [`] "
"key": "[Super] [`] "
}, {
"val": "Give keyboard focus to the top bar",
"key": "[Ctrl] + [Alt] + [Tab] "
"key": "[Ctrl] [Alt] [Tab] "
}, {
"val": "Show the list of applications",
"key": "[Super] + [A] "
"key": "[Super] [A] "
}, {
"val": "Switch between workspaces",
"key": "[Super] + [Page Up] \/ [Page Down]"
"key": "[Super] ([Page Up]/[Page Down])"
}, {
"val": "Move the current window to a different workspace",
"key": "[Super] + [Shift]+[Page Up] \/ [Page Down]"
"key": "[Super] [Shift] ([Page Up]/[Page Down])"
}, {
"val": "Power Off",
"key": "[Ctrl] + [Alt] + [Delete] "
"key": "[Ctrl] [Alt] [Delete] "
}, {
"val": "Lock the screen",
"key": "[Super] + [L] "
"key": "[Super] [L] "
}, {
"val": "Open the message tray",
"key": "[Super] + [M] "
"key": "[Super] [M] "
}],
"Common Editing": [{
"val": "Select all text or items in a list",
"key": "[Ctrl] + [A] "
"key": "[Ctrl] [A] "
}, {
"val": "Cut selected text or items and place it on the clipboard",
"key": "[Ctrl] + [X] "
"key": "[Ctrl] [X] "
}, {
"val": "Copy selected text or items to the clipboard",
"key": "[Ctrl] + [C] "
"key": "[Ctrl] [C] "
}, {
"val": "Paste the contents of the clipboard",
"key": "[Ctrl] + [V] "
"key": "[Ctrl] [V] "
}, {
"val": "Undo the last action",
"key": "[Ctrl] + [Z] "
"key": "[Ctrl] [Z] "
}],
"Screen Capturing": [{
"val": "Take a screenshot",
"key": "[Prnt Scrn]"
}, {
"val": "Take a screenshot of a window",
"key": "[Alt] + [Prnt Scrn]"
"key": "[Alt] [Prnt Scrn]"
}, {
"val": "Take a screenshot of an area of the screen",
"key": "[Shift] + [Prnt Scrn]"
"key": "[Shift] [Prnt Scrn]"
}, {
"val": "Start and end screencast recording",
"key": "[Ctrl] + [Alt] + [Shift] + [R] "
"key": "[Ctrl] [Alt] [Shift] [R] "
}]
}
}
}

View File

@ -0,0 +1,138 @@
{
"id": "google_inbox_cheat_sheet",
"name": "Google Inbox",
"description": "Google email client",
"metadata": {
"sourceName": "Inbox Help",
"sourceUrl": "https://support.google.com/inbox/answer/6080523"
},
"section_order": [
"Everywhere",
"List navigation",
"Chat and Compose",
"Focused item"
],
"sections": {
"Everywhere": [{
"key":"c",
"val":"Compose"
}, {
"key":"/",
"val":"Search"
}, {
"key":"i",
"val":"Go to inbox"
}, {
"key":"q",
"val":"Toggle chat roster"
}, {
"key":"t",
"val":"Create reminder"
}, {
"key":"[Shift] [x]",
"val":"Focus on notification"
}, {
"key":"z",
"val":"Undo last action"
}],
"List navigation": [{
"key":"[Enter] or [o]",
"val":"Open"
}, {
"key":"[Esc] or [u]",
"val":"Close"
}, {
"key":"[j] or [→]",
"val":"Next item"
}, {
"key":"[k] or [←]",
"val":"Previous item"
}, {
"key":"n",
"val":"Next message"
}, {
"key":"p",
"val":"Previous message"
}],
"Chat and Compose": [{
"key":"[Shift] [Esc]",
"val":"Focus latest chat or compose"
}, {
"key":"[Shift] [Esc]",
"val":"Focus main window (while in chat or compose)"
}, {
"key":"[Ctrl] [.]",
"val":"Advance to next chat or compose"
}, {
"key":"[Ctrl] [,]",
"val":"Advance to previous chat or compose"
}, {
"key":"[Ctrl] [b]",
"val":"Bold"
}, {
"key":"[Ctrl] [i]",
"val":"Italics"
}, {
"key":"[Ctrl] [u]",
"val":"Underline"
}, {
"key":"[Ctrl] [k]",
"val":"Insert link"
}, {
"key":"[Ctrl] [Shift] [7]",
"val":"Numbered list"
}, {
"key":"[Ctrl] [Shift] [8]",
"val":"Bulleted list"
}, {
"key":"[Ctrl] [Space]",
"val":"Remove formatting"
}, {
"key":"[Ctrl] [Enter]",
"val":"Send"
}, {
"key":"Esc",
"val":"Closes compose and deletes empty drafts"
}],
"Focused item": [{
"key":"[e] or [y]",
"val":"Mark done"
}, {
"key":"[\\]] or [\\[]",
"val":"Mark done and advance"
}, {
"key":"[Shift] [p]",
"val":"Pin"
}, {
"key":"a",
"val":"Reply all"
}, {
"key":"[Shift] [a]",
"val":"Reply all in a new window"
}, {
"key":"r",
"val":"Reply"
}, {
"key":"[Shift] [r]",
"val":"Reply in a new window"
}, {
"key":"f",
"val":"Forward"
}, {
"key":"#",
"val":"Trash"
}, {
"key":"!",
"val":"Report as spam"
}, {
"key":"m",
"val":"Mute"
}, {
"key":".",
"val":"Toggle move-to menu"
}, {
"key":"x",
"val":"Select"
}]
}
}

View File

@ -5,7 +5,7 @@
"metadata": {
"sourceName": "Harrypotterspells",
"sourceUrl": "http://harrypotterspells.net/"
},
},
"section_order" : ["A","B","C","D","E","F","G","H","I","L","M","N","O","P","Q","R","S","T","W"],
"sections":{
"A": [{

View File

@ -9,148 +9,148 @@
"section_order" : ["General", "Finder", "Text Editing", "Web Browsing (Works on most modern browsers)", "Spotlight", "Screenshots (Hold Ctrl with any of these to copy screenshot to clipboard)"],
"sections":{
"Finder": [{
"key" : "[Cmd] + [C]",
"key" : "[Cmd] [C]",
"val" : "Copy selected files"
}, {
"key" : "[Cmd] + [V]",
"key" : "[Cmd] [V]",
"val" : "Paste files"
}, {
"key" : "[Cmd] + [Opt] + [V]",
"key" : "[Cmd] [Opt] [V]",
"val" : "Move the copied files to current directory"
}, {
"key" : "[Cmd] + [Del]",
"key" : "[Cmd] [Del]",
"val" : "Delete selected folder or file"
}, {
"key" : "Return/Enter",
"val" : "Rename the selected file/folder"
}, {
"key" : "[Cmd] + [1~4]",
"key" : "[Cmd] [1~4]",
"val" : "Switch Finder views (Icon, List, Column, Cover Flow)"
}, {
"key" : "[Cmd] + [↓]",
"key" : "[Cmd] [↓]",
"val" : "Go into selected folder or open the selected file"
}, {
"key" : "[Cmd] + [↑]",
"key" : "[Cmd] [↑]",
"val" : "Go to parent folder"
}, {
"key" : "[Cmd] + [T]",
"key" : "[Cmd] [T]",
"val" : "Open new Finder tab"
}, {
"key" : "[Cmd] + [W]",
"key" : "[Cmd] [W]",
"val" : "Close current tab"
}, {
"key" : "[Cmd] + [Shift] + [W]",
"key" : "[Cmd] [Shift] [W]",
"val" : "Close current window"
}, {
"key" : "[Cmd] + [N]",
"key" : "[Cmd] [N]",
"val" : "Open new Finder window"
}, {
"key" : "[Ctrl] + [Tab]",
"key" : "[Ctrl] [Tab]",
"val" : "Cycle through tabs"
}, {
"key" : "Spacebar",
"val" : "Preview selected item using Quick Look"
}], "Spotlight": [{
"key" : "[Cmd] + [Space]",
"key" : "[Cmd] [Space]",
"val" : "Open Spotlight"
}, {
"key" : "Enter",
"val" : "Open selected item"
}, {
"key" : "[Cmd] + [Enter]",
"key" : "[Cmd] [Enter]",
"val" : "Open selected item in Finder"
}, {
"key" : "[Cmd] + [↑/↓]",
"key" : "[Cmd] [↑/↓]",
"val" : "Skip to next/previous result category"
}], "Text Editing" :[{
"key" : "[Cmd] + [A]",
"key" : "[Cmd] [A]",
"val" : "Select all"
}, {
"key" : "[Cmd] + [X]",
"key" : "[Cmd] [X]",
"val" : "Cut"
}, {
"key" : "[Cmd] + [C]",
"key" : "[Cmd] [C]",
"val" : "Copy"
}, {
"key" : "[Cmd] + [V]",
"key" : "[Cmd] [V]",
"val" : "Paste"
}, {
"key" : "[Cmd] + [Z]",
"key" : "[Cmd] [Z]",
"val" : "Undo"
}, {
"key" : "[Cmd] + [Shift] + [Z]",
"key" : "[Cmd] [Shift] [Z]",
"val" : "Redo"
}, {
"key" : "[Cmd] + [←/→]",
"key" : "[Cmd] [←/→]",
"val" : "Go to beginning/end of line"
}, {
"key" : "[Cmd] + [↑]",
"key" : "[Cmd] [↑]",
"val" : "Go to beginning of document"
}, {
"key" : "[Cmd] + [↓]",
"key" : "[Cmd] [↓]",
"val" : "Go to end of document"
}, {
"key" : "[Opt] + [←]",
"key" : "[Opt] [←]",
"val" : "Go to beginning of previous word"
}, {
"key" : "[Opt] + [→]",
"key" : "[Opt] [→]",
"val" : "Go to end of next word"
}], "General" : [{
"key" : "[Cmd] + [Tab]",
"key" : "[Cmd] [Tab]",
"val" : "Switch between apps. Holding Shift reverses."
}, {
"key" : "[Cmd] + [~]",
"key" : "[Cmd] [~]",
"val" : "Switch to next window of current app. Holding Shift reverses."
}, {
"key" : "[Cmd] + [Q]",
"key" : "[Cmd] [Q]",
"val" : "Quit app"
}, {
"key" : "[Cmd] + [H]",
"key" : "[Cmd] [H]",
"val" : "Hide windows of current app"
}, {
"key" : "[Cmd] + [M]",
"key" : "[Cmd] [M]",
"val" : "Minimize windows of current app"
}, {
"key" : "[Cmd] + [,]",
"key" : "[Cmd] [,]",
"val" : "Open Preferences (if available)"
}, {
"key" : "[Ctrl] + [←/→]",
"key" : "[Ctrl] [←/→]",
"val" : "Move one desktop left or right"
}, {
"key" : "[Cmd] + [Opt] + [Esc]",
"key" : "[Cmd] [Opt] [Esc]",
"val" : "Open force quit dialog"
}], "Screenshots (Hold Ctrl with any of these to copy screenshot to clipboard)" : [{
"key" : "[Cmd] + [Shift] + [3]",
"key" : "[Cmd] [Shift] [3]",
"val" : "Take picture of the entire screen"
}, {
"key" : "[Cmd] + [Shift] + [4]",
"key" : "[Cmd] [Shift] [4]",
"val" : "Take picture of a selected area"
}, {
"key" : "[Cmd] + [Shift] + [4], [Spacebar]",
"key" : "[Cmd] [Shift] [4], [Spacebar]",
"val" : "Take picture of a specific window/object"
}], "Web Browsing (Works on most modern browsers)" : [{
"key" : "[Cmd] + [T]",
"key" : "[Cmd] [T]",
"val" : "Open a new tab"
}, {
"key" : "[Cmd] + [W]",
"key" : "[Cmd] [W]",
"val" : "Close current tab"
}, {
"key" : "[Cmd] + [L]",
"key" : "[Cmd] [L]",
"val" : "Focus on browser's location bar"
}, {
"key" : "[Cmd] + [R]",
"key" : "[Cmd] [R]",
"val" : "Refresh"
}, {
"key" : "[Cmd] + [←]",
"key" : "[Cmd] [←]",
"val" : "Go back a page"
}, {
"key" : "[Cmd] + [→]",
"key" : "[Cmd] [→]",
"val" : "Go forward a page"
}, {
"key" : "[Ctrl] + [Tab]",
"key" : "[Ctrl] [Tab]",
"val" : "Cycle through tabs. Holding Shift reverses."
}, {
"key" : "[Cmd] + [F]",
"key" : "[Cmd] [F]",
"val" : "Find"
}]
}

View File

@ -6,6 +6,17 @@
"sourceName": "Wikipedia",
"sourceUrl": "https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts"
},
"aliases": [
"windows",
"windows xp",
"windows vista",
"windows 7",
"windows 8",
"microsoft windows xp",
"microsoft windows vista",
"microsoft windows 7",
"microsoft windows 8"
],
"section_order": [
"General shortcuts",
"Navigation",

View File

@ -9,7 +9,10 @@
"sourceName": "Wikipedia",
"sourceUrl": "https://en.wikipedia.org/wiki/NATO_phonetic_alphabet"
},
"aliases": [
"nato phonetic alphabet"
],
"section_order": [
"Letters",

View File

@ -0,0 +1,115 @@
{
"id": "open_shot_cheat_sheet",
"name": "OpenShot",
"description": "Video Editor",
"metadata": {
"sourceName": "OpenShot Users Website",
"sourceUrl": "http://www.openshotusers.com/help/1.4/en/ar01s05.html"
},
"section_order": [
"General",
"Playback",
"Editing"
],
"sections": {
"General": [{
"key": "[Ctrl] [N]",
"val": "Create a new project"
}, {
"key": "[Ctrl] [O]",
"val": "Open an existing project"
}, {
"key": "[Ctrl] [S]",
"val": "Save the current project"
}, {
"key": "[Shift] [Ctrl] [S]",
"val": "Save the current project as..."
}, {
"key": "[Ctrl] [X]",
"val": "Export project as MLT XML"
}, {
"key": "[Ctrl] [E]",
"val": "Export the current project as a video file"
}, {
"key": "[Ctrl] [U]",
"val": "Upload current project as a video file to YouTube or Vimeo"
}, {
"key": "[Ctrl] [Z]",
"val": "Undo the last action"
}, {
"key": "[Ctrl] [Y]",
"val": "Redo the previous action"
}, {
"key": "F11",
"val": "Toggle full-screen mode"
}, {
"key": "F1",
"val": "Launch the help file (if installed)"
}, {
"key": "[Ctrl] [P]",
"val": "Edit the preferences"
}, {
"key": "[Ctrl] [Q]",
"val": "Quit the program"
}],
"Playback": [{
"key": "J",
"val": "Rewind the video playback"
}, {
"key": "K",
"val": "Pause / Play"
}, {
"key": "L",
"val": "Fast-forward the video playback"
}, {
"key": "[Space bar]",
"val": "Pause / Play"
}, {
"key": "Up",
"val": "Seek to previous maker (if any)"
}, {
"key": "Down",
"val": "Seek to next marker (if any)"
}, {
"key": "Left",
"val": "Step backwards one frame (frame stepping)"
}, {
"key": "Right",
"val": "Step forwards one frame (frame stepping)"
}],
"Editing": [{
"key": "Tab",
"val": "Switch between Resize and Select mode"
}, {
"key": "[Ctrl] [Scroll]",
"val": "Zoom in & out of the timeline"
}, {
"key": "[Ctrl] [Home]",
"val": "Seek to the beginning of the timeline"
}, {
"key": "[Ctrl] [End]",
"val": "Seek to the end of the timeline"
}, {
"key": "C",
"val": "Slice all clips at the play-head position"
}, {
"key": "[Ctrl] [F]",
"val": "Import a file (audio, video, or image)"
}, {
"key": "[Ctrl] [I]",
"val": "Import an image sequence"
}, {
"key": "[Ctrl] [W]",
"val": "Import new transition"
}, {
"key": "[Ctrl] [T]",
"val": "Create a new title"
}, {
"key": "[Ctrl] [B]",
"val": "Create a new animated title"
}, {
"key": "[Ctrl] [D]",
"val": "Capture and save the current frame of any non-audio clips that are overlapping the play-head, and add them to the project files."
}]
}
}

View File

@ -0,0 +1,76 @@
{
"id": "perldoc_cheat_sheet",
"name": "perldoc",
"description": "Perl Documentation",
"metadata": {
"sourceName": "perldoc Manual",
"sourceUrl": "http://perldoc.perl.org/perldoc.html"
},
"section_order": ["Usage", "Module Options", "Search Options", "Common Options"],
"sections": {
"Usage": [
{
"key": "[perldoc <option>]",
"val": "start perldoc"
},
{
"key": "[perldoc perldoc]",
"val": "perldoc help"
}
],
"Module Options": [
{
"key": "Module::Name",
"val": "Show module documentation"
},
{
"key": "[-l Module::Name]",
"val": "Module filepath"
},
{
"key": "[-m Module::Name]",
"val": "Module source code"
},
{
"key": "[-lm Module::Name]",
"val": "Module filepath (alt.)"
}
],
"Search Options": [
{
"key": "[-f <function>]",
"val": "Lookup built-in function definition"
},
{
"key": "[-v <variable>]",
"val": "Lookup variable definition"
},
{
"key": "[-q <key-word>]",
"val": "Search the Perl FAQ"
}
],
"Common Options": [
{
"key": "perl",
"val": "Language overview"
},
{
"key": "perlvar",
"val": "Pre-defined variables"
},
{
"key": "perlfunc",
"val": "Built-in functions"
},
{
"key": "perlref",
"val": "References guide"
},
{
"key": "perlre",
"val": "Regex guide"
}
]
}
}

View File

@ -0,0 +1,56 @@
{
"id": "poker_hands_cheat_sheet",
"name": "Poker",
"description": "Gambling Card Game",
"metadata": {
"sourceName": "Wikipedia",
"sourceUrl" : "https://en.wikipedia.org/wiki/List_of_poker_hands"
},
"section_order": [
"Poker Hands in order of rank"
],
"sections": {
"Poker Hands in order of rank": [
{
"key": "Royal flush",
"val": "An ace-high straight flush"
},
{
"key": "Straight flush",
"val": "Five cards in sequence, all of the same suit"
},
{
"key": "Four of a kind",
"val": "Four cards of one rank and any other card"
},
{
"key": "Full house",
"val": "Three matching cards of one rank and two matching cards of another rank"
},
{
"key": "Flush",
"val": "All five cards of the same suit, but not in sequence"
},
{
"key": "Straight",
"val": "Five cards of sequential rank in at least two different suits"
},
{
"key": "Three of a kind",
"val": "Three cards of the same rank, plus two cards of another rank"
},
{
"key": "Two pair",
"val": "Two cards of the same rank, plus two cards of another rank that match each other but not the first pair, plus any card not of either rank"
},
{
"key": "One pair",
"val": "Two cards of one rank, plus three cards which are not of this rank nor the same as each other"
},
{
"key": "High card",
"val": "No hand is made, and the only thing of any potential meaning in the hand is the highest card"
}
]
}
}

View File

@ -6,6 +6,10 @@
"sourceName": "Cheatography",
"sourceUrl": "http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/"
},
"aliases": [
"regexp", "regular expression", "regular expressions"
],
"template_type": "code",
"section_order": ["Anchors", "Character Classes", "POSIX Classes", "Pattern Modifiers", "Escape Sequences", "Quantifiers", "Groups and Ranges", "Assertions", "Special Characters", "String Replacement"],
"sections": {
"Assertions": [{

View File

@ -6,6 +6,11 @@
"sourceName": "The Witcher",
"sourceUrl": "http://www.thewitcher.com/"
},
"aliases": [
"witcher 3",
"witcher wild hunt",
"wild hunt"
],
"section_order": ["Movement", "Combat", "Quick Access", "Menus/Panels", "Interaction/Signs", "Horse", "Swimming", "Misc/Unbound"],
"sections": {
"Movement": [

View File

@ -0,0 +1,161 @@
{
"id": "ubuntu_cheat_sheet",
"name": "Ubuntu Unity",
"description": "Linux Ubuntu Unity default keyboard shortcuts.",
"section_order": [
"Launcher",
"HUD",
"Switching",
"Windows",
"System",
"Screenshots"
],
"sections": {
"Dash": [
{
"key": "[Super]",
"val": "Opens Dash"
},
{
"key": "[Super] [A]",
"val": "Opens Dash App Lens"
},
{
"key": "[Super] [F]",
"val": "Opens Dash File Lens"
},
{
"key": "[Super] [M]",
"val": "Opens Dash Music Lens"
},
{
"key": "[Super] [C]",
"val": "Opens Dash Photo Lens"
},
{
"key": "[Super] [V]",
"val": "Opens Dash Video Lens"
},
{
"key": "[Ctrl] [Tab]",
"val": "Switch between Dash Lenses"
}
],
"Launcher": [
{
"key": "[Super] (Hold)",
"val": "Display shortcuts list"
},
{
"key": "[Alt] [F1]",
"val": "Navigate Launcher with Keys"
},
{
"key": "[Super] [Tab]",
"val": "Switches applications via launcher."
},
{
"key": "[Super] [1 to 9]",
"val": "Open application from launcher icon."
},
{
"key": "[Super] [Shift] [1 to 9]",
"val": "Open new window in application."
}
],
"HUD": [
{
"key": "Alt",
"val": "Open HUD"
},
{
"key": "[Alt] [F10]",
"val": "Opens Indicator Menu (move between indicators with arrow keys)"
}
],
"Switching": [
{
"key": "[Alt] [Tab]",
"val": "Switch between open applications. (Tap Tab or ←/→ to move)"
},
{
"key": "[Alt] [`]",
"val": "Switch between windows in applciation. (Tap ` or ←/→ to move)"
}
],
"Windows": [
{
"key": "[Super] [W]",
"val": "Spread all windows."
},
{
"key": "[Ctrl] [Super] [D]",
"val": "Go to Desktop (minimize all windows)."
},
{
"key": "[Ctrl] [Super] ([←]/[→])",
"val": "Dock Window to left or right side of screen."
},
{
"key": "[Alt] [F4]",
"val": "Closes current window."
},
{
"key": "[Alt] [Space]",
"val": "Opens the window accessability menu."
},
{
"key": "[Ctrl] [Alt] [Num (numpad)]",
"val": "Places the window in the corresponding position."
},
{
"key": "[Alt] [Left Mouse Drag]",
"val": "Moves the window."
},
{
"key": "[Alt] [Middle Mouse Drag]",
"val": "Resizes the window."
}
],
"System": [
{
"key": "[Ctrl] [Alt] [T]",
"val": "Show Terminal."
},
{
"key": "[Ctrl] [Alt] [Delete]",
"val": "Logout"
},
{
"key": "[Ctrl] [Alt] [L]",
"val": "Lock Screen"
}
],
"Screenshots": [
{
"key": "Print",
"val": "Take a screenshot."
},
{
"key": "[Alt] [Print]",
"val": "Take a screenshot of a window."
},
{
"key": "[Shift] [Print]",
"val": "Take a screenshot of an area."
},
{
"key": "[Ctrl] [Print]",
"val": "Copy screenshot to clipboard."
},
{
"key": "[Ctrl] [Alt] [Print]",
"val": "Copy screenshot of a window to clipboard."
},
{
"key": "[Ctrl] [Shift] [Print]",
"val": "Copy screenshot of an area to clipboard."
}
]
}
}

View File

@ -6,6 +6,7 @@
"sourceName": "VimCheatSheet",
"sourceUrl": "http://vim.rtorr.com"
},
"template_type": "keyboard",
"section_order": [
"Cursor movement",
"Insert mode - inserting/appending text",
@ -25,7 +26,7 @@
"key": "#gt"
}, {
"val": "move the current split window into its own tab",
"key": "[Ctrl] + [wt]"
"key": "[Ctrl] [wt]"
}, {
"val": "move current tab to the #th position (indexed from 0)",
"key": ":tabmove #"
@ -74,7 +75,7 @@
"key": "u"
}, {
"val": "redo",
"key": "[Ctrl] + [r]"
"key": "[Ctrl] [r]"
}, {
"val": "repeat last command",
"key": "."
@ -168,7 +169,7 @@
"key": "o"
}, {
"val": "start visual block mode",
"key": "[Ctrl] + [v]"
"key": "[Ctrl] [v]"
}, {
"val": "move to other corner of block",
"key": "O"
@ -211,22 +212,22 @@
"key": ":vsp filename"
}, {
"val": "split window",
"key": "[Ctrl] + [ws]"
"key": "[Ctrl] [ws]"
}, {
"val": "switch windows",
"key": "[Ctrl] + [ww]"
"key": "[Ctrl] [ww]"
}, {
"val": "quit a window",
"key": "[Ctrl] + [wq]"
"key": "[Ctrl] [wq]"
}, {
"val": "split window vertically",
"key": "[Ctrl] + [wv]"
"key": "[Ctrl] [wv]"
}, {
"val": "move cursor to next buffer (right)",
"key": "[Ctrl] + [wh]"
"key": "[Ctrl] [wh]"
}, {
"val": "move cursor to previous buffer (left)",
"key": "[Ctrl] + [wl]"
"key": "[Ctrl] [wl]"
}],
"Cursor movement": [{
"val": "move cursor left",

View File

@ -6,6 +6,8 @@
"sourceName": "Wikipedia",
"sourceUrl": "https://en.wikipedia.org/wiki/Wu-Tang_Clan#Members"
},
"aliases":["wu-tang"],
"template_type": "reference",
"section_order": ["Members"],
"sections": {
"Members": [{
@ -42,4 +44,3 @@
}
}

View File

@ -0,0 +1,14 @@
<table>
<tbody>
{{#each items}}
<tr>
<td class="cheatsheet__key">
{{cheatsheets_codeblock key}}
</td>
<td class="cheatsheet__value tx-clr--slate-light">
{{val}}
</td>
</tr>
{{/each}}
</tbody>
</table>

View File

@ -1 +0,0 @@
nato-alphabet.json

View File

@ -0,0 +1,8 @@
<ul>
{{#each items}}
<li class="text--primary">
<span class="cheatsheet__key">{{key}}</span>
<span class="cheatsheet__value text--secondary">{{val}}</span>
</li>
{{/each}}
</ul>

View File

@ -1 +0,0 @@
regex.json

View File

@ -1 +0,0 @@
regex.json

View File

@ -1 +0,0 @@
regex.json

View File

@ -0,0 +1,14 @@
<table>
<tbody>
{{#each items}}
<tr>
<td class="cheatsheet__key">
{{cheatsheets_codeblock key 'bg-clr--platinum'}}
</td>
<td class="cheatsheet__value tx-clr--slate-light">
{{val}}
</td>
</tr>
{{/each}}
</tbody>
</table>

View File

@ -1 +0,0 @@
the-witcher-3.json

View File

@ -1 +0,0 @@
the-witcher-3.json

View File

@ -1 +0,0 @@
the-witcher-3.json

View File

@ -432,7 +432,27 @@ subtest 'Dates' => sub {
restore_time();
};
subtest 'Valid Years' => sub {
#my @valids = ('1', '0001', '9999', 2015, 1997);
my @valids = ('1');
my @invalids = (-1, 0, 10000);
foreach my $case (@valids) {
my $result;
lives_ok {
$result = DatesRoleTester::is_valid_year($case)
};
is($result, "1", "$case is a valid year");
}
foreach my $case (@invalids) {
my $result;
lives_ok {
$result = DatesRoleTester::is_valid_year($case)
};
is($result, '', "$case is an invalid year");
}
}
};
subtest 'ImageLoader' => sub {

121
t/Week.t Normal file → Executable file
View File

@ -4,52 +4,107 @@ use strict;
use warnings;
use Test::More;
use DDG::Test::Goodie;
use Test::MockTime qw( :all );
zci answer_type => "week";
zci is_cached => 1;
# Output verified with UNIX cal program
my @current_week = (
qr/We are currently in the \d{1,2}\w{2} week of \d{4}./,
structured_answer => {
input => [],
operation => 'Assuming the week starts on Monday',
result => qr/We are currently in the \d{1,2}\w{2} week of \d{4}./,
});
ddg_goodie_test(
[qw(
DDG::Goodie::Week
)],
['DDG::Goodie::Week'],
"what week is this?" => test_zci(
qr/We are in currently in the \d+\w+ week of \d+\./,
html => qr:We are in currently in the \d+<sup>\w+</sup> week of \d+\.:),
# Current Week Queries
'what is the current week of the year?' => test_zci(@current_week),
"what week is this?" => test_zci(@current_week),
"what is the current week" => test_zci(@current_week),
"what's the current week? " => test_zci(@current_week),
"whats the current week of the year" => test_zci(@current_week),
"what is the current week" => test_zci(
qr/We are in currently in the \d+\w+ week of \d+\./,
html => qr:We are in currently in the \d+<sup>\w+</sup> week of \d+\.:),
"what's the current week? " => test_zci(
qr/We are in currently in the \d+\w+ week of \d+\./,
html => qr:We are in currently in the \d+<sup>\w+</sup> week of \d+\.:),
# Nth Week Queries
"what was the 5th week of this year" => test_zci(
qr/The \d{1,2}\w{2} week of \d{4} (begins|began) on January \d{1,2}\w{2}\./,
structured_answer => {
input => [],
operation => "Assuming the week starts on Monday",
result => qr/The \d{1,2}\w{2} week of \d{4} (begins|began) on January \d{1,2}\w{2}\./,
}
),
"whats the current week of the year" => test_zci(
qr/We are in currently in the \d+\w+ week of \d+\./,
html => qr:We are in currently in the \d+<sup>\w+</sup> week of \d+\.:),
"what was the 43rd week of 1984" => test_zci(
"The 43rd week of 1984 began on October 22nd.",
structured_answer => {
input => [],
operation => 'Assuming the week starts on Monday',
result => "The 43rd week of 1984 began on October 22nd.",
}
),
"what was the 5th week of this year" => test_zci(
qr/The \d+\w+ week of \d+ began on January \d+\w+\./,
html => qr:The \d+<sup>\w+</sup> week of \d+ began on January \d+<sup>\w+</sup>\.:),
"what was the 8th week of 1956" => test_zci(
"The 8th week of 1956 began on February 20th.",
structured_answer => {
input => [],
operation => 'Assuming the week starts on Monday',
result => "The 8th week of 1956 began on February 20th.",
}
),
"what was the 43rd week of 1984" => test_zci(
"The 43rd week of 1984 began on October 22nd.",
html => "The 43<sup>rd</sup> week of 1984 began on October 22<sup>nd</sup>."),
"what was the 21st week of 1987" => test_zci(
"The 21st week of 1987 began on May 18th.",
structured_answer => {
input => [],
operation => 'Assuming the week starts on Monday',
result => "The 21st week of 1987 began on May 18th.",
}
),
"what was the 8th week of 1956" => test_zci(
"The 8th week of 1956 began on February 20th.",
html => "The 8<sup>th</sup> week of 1956 began on February 20<sup>th</sup>."),
"what was the 21st week of 1987" => test_zci(
"The 21st week of 1987 began on May 18th.",
html => "The 21<sup>st</sup> week of 1987 began on May 18<sup>th</sup>."),
'what was the 5th week of 1944' => test_zci(
'The 5th week of 1944 began on January 31st.',
html => 'The 5<sup>th</sup> week of 1944 began on January 31<sup>st</sup>.'
),
'what was the 5th week of 1944' => test_zci(
"The 5th week of 1944 began on January 31st.",
structured_answer => {
input => [],
operation => 'Assuming the week starts on Monday',
result => "The 5th week of 1944 began on January 31st.",
}
),
'what was the 5th week of 0000' => undef,
"what was the 0 week of 2011" => undef,
"what was the 99th week of 2011" => undef,
);
set_fixed_time('2014-01-01T00:00:00');
ddg_goodie_test(
['DDG::Goodie::Week'],
'when is the 8th week of 2015' => test_zci(
"The 8th week of 2015 begins on February 16th.",
structured_answer => {
input => [],
operation => 'Assuming the week starts on Monday',
result => "The 8th week of 2015 begins on February 16th.",
}
)
);
restore_time();
set_fixed_time('2015-07-31T00:00:00');
ddg_goodie_test(
['DDG::Goodie::Week'],
'when is the 8th week of 2015' => test_zci(
"The 8th week of 2015 began on February 16th.",
structured_answer => {
input => [],
operation => 'Assuming the week starts on Monday',
result => "The 8th week of 2015 began on February 16th.",
}
)
);
restore_time();
done_testing;