Merge branch 'master' of github.com:sapegin/dotfiles
Conflicts: sublime/User/Package Control.sublime-settings sublime/User/Preferences.sublime-settings
This commit is contained in:
commit
c271a8f99b
128
bin/httpcompression
Executable file
128
bin/httpcompression
Executable file
@ -0,0 +1,128 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Test if HTTP compression (RFC 2616 + SDCH) is enabled for a given URL
|
||||||
|
# https://github.com/mathiasbynens/dotfiles/blob/master/bin/httpcompression
|
||||||
|
|
||||||
|
declare -r hUA="Mozilla/5.0 Gecko"
|
||||||
|
declare -r hAE="Accept-Encoding: gzip, deflate, sdch"
|
||||||
|
declare -r maxConTime=15
|
||||||
|
declare -r maxTime=30
|
||||||
|
|
||||||
|
declare availDicts="" dict="" dictClientID="" dicts="" headers="" i="" \
|
||||||
|
indent="" url="" encoding="" urlHeaders=""
|
||||||
|
|
||||||
|
headers="$( curl --connect-timeout $maxConTime \
|
||||||
|
-A "$hUA" `# Send a fake UA string for sites
|
||||||
|
# that sniff it instead of using
|
||||||
|
# the Accept-Encoding header` \
|
||||||
|
-D - `# Get response headers` \
|
||||||
|
-H "$hAE" \
|
||||||
|
-L `# If the page was moved to a different
|
||||||
|
# location, redo the request` \
|
||||||
|
-m $maxTime \
|
||||||
|
-s `# Don\'t show the progress meter` \
|
||||||
|
-S `# Show error messages` \
|
||||||
|
-o /dev/null `# Ignore content` \
|
||||||
|
"$1" )" \
|
||||||
|
&& ( \
|
||||||
|
|
||||||
|
url="$1"
|
||||||
|
|
||||||
|
# Iterate over the headers of all redirects
|
||||||
|
while [ -n "$headers" ]; do
|
||||||
|
|
||||||
|
# Get headers for the "current" URL
|
||||||
|
urlHeaders="$( printf "%s" "$headers" |
|
||||||
|
sed -n '1,/^HTTP/p' )"
|
||||||
|
|
||||||
|
# Remove the headers for the "current" URL
|
||||||
|
headers="${headers/"$urlHeaders"/}"
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------------
|
||||||
|
# | SDCH |
|
||||||
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
# SDCH Specification:
|
||||||
|
# - www.blogs.zeenor.com/wp-content/uploads/2011/01/Shared_Dictionary_Compression_over_HTTP.pdf
|
||||||
|
|
||||||
|
# Check if the server advertised any dictionaries
|
||||||
|
dicts="$( printf "%s" "$urlHeaders" |
|
||||||
|
grep -i 'Get-Dictionary:' |
|
||||||
|
cut -d':' -f2 |
|
||||||
|
sed s/,/\ /g )"
|
||||||
|
|
||||||
|
if [ -n "$dicts" ]; then
|
||||||
|
|
||||||
|
availDicts=""
|
||||||
|
dict=""
|
||||||
|
|
||||||
|
for i in $dicts; do
|
||||||
|
|
||||||
|
# Check If the dictionary location is specified as a path,
|
||||||
|
# and if so, construct it's URL from the host name of the
|
||||||
|
# referrer URL
|
||||||
|
[[ "$i" != http* ]] \
|
||||||
|
&& dict="$(printf "$url" |
|
||||||
|
sed -En 's/([^/]*\/\/)?([^/]*)\/?.*/\1\2/p')"
|
||||||
|
|
||||||
|
dict="$dict$i"
|
||||||
|
|
||||||
|
# Request the dictionaries from the server and
|
||||||
|
# construct the `Avail-Dictionary` header value
|
||||||
|
#
|
||||||
|
# [ The user agent identifier for a dictionary is defined
|
||||||
|
# as the URL-safe base64 encoding (as described in RFC
|
||||||
|
# 3548, section 4 [RFC3548]) of the first 48 bits (bits
|
||||||
|
# 0..47) of the dictionary's SHA-256 digest ]
|
||||||
|
#
|
||||||
|
dictClientID="$( curl --connect-timeout $maxConTime \
|
||||||
|
-A "$hUA" -LsS -m $maxTime "$dict" |
|
||||||
|
openssl dgst -sha256 -binary |
|
||||||
|
openssl base64 |
|
||||||
|
cut -c 1-8 |
|
||||||
|
sed -e 's/\+/-/' -e 's/\//_/' )"
|
||||||
|
|
||||||
|
[ -n $availDicts ] && availDicts="$adics,$dictClientID" \
|
||||||
|
|| availDicts="$dictClientID"
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
# Redo the request (advertising the available dictionaries)
|
||||||
|
# and replace the old resulted headers with the new ones
|
||||||
|
urlHeaders="$( curl --connect-timeout $maxConTime \
|
||||||
|
-A "$hUA" -D - -H "$hAE" \
|
||||||
|
-H "Avail-Dictionary: $availDicts" \
|
||||||
|
-m $maxTime -o /dev/null -sS "$1" )"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Get the content encoding header values
|
||||||
|
encoding="$( printf "%s" "$urlHeaders" |
|
||||||
|
grep -i 'Content-Encoding:' |
|
||||||
|
cut -d' ' -f2 |
|
||||||
|
tr "\r" "," |
|
||||||
|
tr -d "\n" |
|
||||||
|
sed 's/,$//' )"
|
||||||
|
|
||||||
|
[ -n "$encoding" ] && encoding="[$encoding]"
|
||||||
|
|
||||||
|
# Print the output for the "current" URL
|
||||||
|
if [ "$url" != "$1" ]; then
|
||||||
|
printf "%s\n" "$indent$url $encoding"
|
||||||
|
indent=" "$indent
|
||||||
|
else
|
||||||
|
printf "\n%s\n" " $1 $encoding"
|
||||||
|
indent=" ↳"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get the next URL value
|
||||||
|
url="$( printf "%s" "$urlHeaders" |
|
||||||
|
grep -i 'Location' |
|
||||||
|
sed -e 's/Location://' |
|
||||||
|
tr -d '\r' )"
|
||||||
|
|
||||||
|
done
|
||||||
|
printf "\n"
|
||||||
|
|
||||||
|
) || printf ""
|
@ -95,7 +95,7 @@ if [ -n "$jq_ver" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Build files
|
# Build files
|
||||||
[ -f Gruntfile.js ] && grunt build
|
[ -f Gruntfile.js ] || [ -f Gruntfile.coffee ] && grunt build
|
||||||
if [ -f src/Gruntfile.js ]; then
|
if [ -f src/Gruntfile.js ]; then
|
||||||
pushd src
|
pushd src
|
||||||
grunt build
|
grunt build
|
||||||
|
@ -3,3 +3,22 @@
|
|||||||
![Terminal.app](https://raw.github.com/sapegin/dotfiles/master/color/squirrelsong_terminal.png)
|
![Terminal.app](https://raw.github.com/sapegin/dotfiles/master/color/squirrelsong_terminal.png)
|
||||||
|
|
||||||
Inspired by [Earthsong](https://github.com/daylerees/colour-schemes/blob/master/README.md#earthsong) Sublime Text scheme by [Dayle Rees](https://github.com/daylerees).
|
Inspired by [Earthsong](https://github.com/daylerees/colour-schemes/blob/master/README.md#earthsong) Sublime Text scheme by [Dayle Rees](https://github.com/daylerees).
|
||||||
|
|
||||||
|
## Colors
|
||||||
|
|
||||||
|
### iTerm
|
||||||
|
|
||||||
|
* Black: 98/65/28
|
||||||
|
* Red: 191/60/36
|
||||||
|
* Green: 53/161/41
|
||||||
|
* Yellow: 164/111/0
|
||||||
|
* Blue: 61/103/201
|
||||||
|
* Magenta: 198/58/167
|
||||||
|
* Cyan: 41/132/138
|
||||||
|
* White: 183/147/119
|
||||||
|
* Foreground: 132/113/92
|
||||||
|
* Background: 35/28/22
|
||||||
|
* Bold: 255/255/255
|
||||||
|
* Selection: 16/13/8
|
||||||
|
* Selected Text: 191/175/147
|
||||||
|
*
|
@ -5,32 +5,5 @@
|
|||||||
{ "keys": ["super+shift+v"], "command": "paste" },
|
{ "keys": ["super+shift+v"], "command": "paste" },
|
||||||
{ "keys": ["f3"], "command": "find_next" },
|
{ "keys": ["f3"], "command": "find_next" },
|
||||||
{ "keys": ["super+r"], "command": "show_panel", "args": {"panel": "replace"} },
|
{ "keys": ["super+r"], "command": "show_panel", "args": {"panel": "replace"} },
|
||||||
{ "keys": ["super+g"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} },
|
{ "keys": ["super+g"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} }
|
||||||
|
|
||||||
// Wrap with quotes and brackets without autopairing (auto_match_enabled=false)
|
|
||||||
{ "keys": ["\""], "command": "insert_snippet", "args": {"contents": "\"${0:$SELECTION}\""}, "context":
|
|
||||||
[
|
|
||||||
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{ "keys": ["'"], "command": "insert_snippet", "args": {"contents": "'${0:$SELECTION}'"}, "context":
|
|
||||||
[
|
|
||||||
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{ "keys": ["("], "command": "insert_snippet", "args": {"contents": "(${0:$SELECTION})"}, "context":
|
|
||||||
[
|
|
||||||
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{ "keys": ["["], "command": "insert_snippet", "args": {"contents": "[${0:$SELECTION}]"}, "context":
|
|
||||||
[
|
|
||||||
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{ "keys": ["{"], "command": "insert_snippet", "args": {"contents": "{${0:$SELECTION}}"}, "context":
|
|
||||||
[
|
|
||||||
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
]
|
@ -12,6 +12,7 @@
|
|||||||
"Handlebars",
|
"Handlebars",
|
||||||
"Hayaku - tools for writing CSS faster",
|
"Hayaku - tools for writing CSS faster",
|
||||||
"Inc-Dec-Value",
|
"Inc-Dec-Value",
|
||||||
|
"JavaScript Refactor",
|
||||||
"Koken",
|
"Koken",
|
||||||
"MarkdownEditing",
|
"MarkdownEditing",
|
||||||
"Package Control",
|
"Package Control",
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"auto_complete_delay": 1000,
|
"auto_complete_delay": 1000,
|
||||||
"auto_match_enabled": false,
|
"auto_match_enabled": false,
|
||||||
|
"caret_style": "phase",
|
||||||
"color_scheme": "Packages/User/Tomorrow.tmTheme",
|
"color_scheme": "Packages/User/Tomorrow.tmTheme",
|
||||||
"create_window_at_startup": false,
|
"create_window_at_startup": false,
|
||||||
"default_line_ending": "unix",
|
"default_line_ending": "unix",
|
||||||
|
Loading…
Reference in New Issue
Block a user