bcat 0.5.1 → 0.5.2
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.
- data/bcat.gemspec +4 -3
- data/bin/bcat +1 -1
- data/contrib/bman +26 -0
- data/lib/bcat.rb +6 -3
- data/lib/bcat/ansi.rb +2 -2
- data/lib/bcat/browser.rb +1 -1
- data/lib/bcat/html.rb +5 -5
- data/man/bcat.1.ronn +3 -0
- data/man/btee.1.ronn +3 -0
- metadata +7 -4
data/bcat.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'bcat'
|
3
|
-
s.version = '0.5.
|
4
|
-
s.date = '2010-
|
3
|
+
s.version = '0.5.2'
|
4
|
+
s.date = '2010-08-23'
|
5
5
|
|
6
6
|
s.description = "pipe to browser utility"
|
7
7
|
s.summary =
|
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
bin/a2h
|
23
23
|
bin/bcat
|
24
24
|
bin/btee
|
25
|
+
contrib/bman
|
25
26
|
lib/bcat.rb
|
26
27
|
lib/bcat/ansi.rb
|
27
28
|
lib/bcat/browser.rb
|
@@ -44,7 +45,7 @@ Gem::Specification.new do |s|
|
|
44
45
|
# = MANIFEST =
|
45
46
|
|
46
47
|
s.default_executable = 'bcat'
|
47
|
-
s.executables = ['bcat']
|
48
|
+
s.executables = ['a2h', 'bcat', 'btee']
|
48
49
|
|
49
50
|
s.test_files = s.files.select {|path| path =~ /^test\/.*_test.rb/}
|
50
51
|
s.add_dependency 'rack', '< 1.2'
|
data/bin/bcat
CHANGED
data/contrib/bman
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
# Usage: bman <man-args>
|
3
|
+
# Open manual page in browser with bcat.
|
4
|
+
#
|
5
|
+
# Original zsh version by Nick Stenning <http://github.com/nickstenning>
|
6
|
+
# http://github.com/rtomayko/bcat/issues#issue/8
|
7
|
+
#
|
8
|
+
# Ported to POSIX shell by Ryan Tomayko <http://github.com/rtomayko>
|
9
|
+
set -e
|
10
|
+
|
11
|
+
# we use normal bold and underline
|
12
|
+
BOLD="\033[1m"
|
13
|
+
EM="\033[3m"
|
14
|
+
RESET="\033[0m"
|
15
|
+
|
16
|
+
# pass argv directly over to man
|
17
|
+
man "$@" |
|
18
|
+
|
19
|
+
# replace ^H based bold and underline with ansi equivelants
|
20
|
+
sed "
|
21
|
+
s/_\(.\)/"$(echo "$EM")"\1"$(echo "$RESET")"/g
|
22
|
+
s/\(.\)\1/"$(echo "$BOLD")"\1"$(echo "$RESET")"/g
|
23
|
+
" |
|
24
|
+
|
25
|
+
# pipe it into bcat
|
26
|
+
bcat
|
data/lib/bcat.rb
CHANGED
@@ -6,7 +6,7 @@ require 'bcat/server'
|
|
6
6
|
require 'bcat/browser'
|
7
7
|
|
8
8
|
class Bcat
|
9
|
-
VERSION = '0.5.
|
9
|
+
VERSION = '0.5.2'
|
10
10
|
include Rack::Utils
|
11
11
|
|
12
12
|
attr_reader :format
|
@@ -57,6 +57,7 @@ class Bcat
|
|
57
57
|
yield buf
|
58
58
|
elsif head_parser.feed(buf)
|
59
59
|
yield content_for_head(inject=head_parser.head)
|
60
|
+
yield "\n"
|
60
61
|
yield head_parser.body
|
61
62
|
head_parser = nil
|
62
63
|
end
|
@@ -64,6 +65,7 @@ class Bcat
|
|
64
65
|
|
65
66
|
if head_parser
|
66
67
|
yield content_for_head(inject=head_parser.head) +
|
68
|
+
"\n" +
|
67
69
|
head_parser.body
|
68
70
|
end
|
69
71
|
|
@@ -83,14 +85,15 @@ class Bcat
|
|
83
85
|
"<html>",
|
84
86
|
"<head>",
|
85
87
|
"<!-- bcat was here -->",
|
86
|
-
"<title>#{self[:title] || 'bcat'}</title>",
|
87
88
|
inject.to_s,
|
89
|
+
"<link href=\"data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABmJLR0T///////8JWPfcAAAACXBIWXMAAABIAAAASABGyWs+AAAAF0lEQVRIx2NgGAWjYBSMglEwCkbBSAcACBAAAeaR9cIAAAAASUVORK5CYII=\" rel=\"icon\" type=\"image/x-icon\" />",
|
90
|
+
"<title>#{self[:title] || 'bcat'}</title>",
|
88
91
|
"</head>"
|
89
92
|
].join("\n")
|
90
93
|
end
|
91
94
|
|
92
95
|
def foot
|
93
|
-
"</body
|
96
|
+
"</body>\n</html>\n"
|
94
97
|
end
|
95
98
|
|
96
99
|
def escape_js(string)
|
data/lib/bcat/ansi.rb
CHANGED
@@ -102,8 +102,8 @@ class Bcat
|
|
102
102
|
when 0 ; yield reset_styles if @stack.any?
|
103
103
|
when 1 ; yield push_tag("b") # bright
|
104
104
|
when 2 ; #dim
|
105
|
-
when 3
|
106
|
-
when 5
|
105
|
+
when 3, 4 ; yield push_tag("u")
|
106
|
+
when 5, 6 ; yield push_tag("blink")
|
107
107
|
when 7 ; #reverse
|
108
108
|
when 8 ; yield push_style("display:none")
|
109
109
|
when 9 ; yield push_tag("strike")
|
data/lib/bcat/browser.rb
CHANGED
data/lib/bcat/html.rb
CHANGED
@@ -28,7 +28,7 @@ class Bcat
|
|
28
28
|
!@body.nil?
|
29
29
|
end
|
30
30
|
|
31
|
-
# Determine if the input is HTML. This nil before the first non-whitespace
|
31
|
+
# Determine if the input is HTML. This is nil before the first non-whitespace
|
32
32
|
# character is received, true if the first non-whitespace character is a
|
33
33
|
# '<', and false if the first non-whitespace character is something other
|
34
34
|
# than '<'.
|
@@ -37,7 +37,7 @@ class Bcat
|
|
37
37
|
end
|
38
38
|
|
39
39
|
# The head contents without any DOCTYPE, <html>, or <head> tags. This should
|
40
|
-
# consist of only <style>, <script>, <link>, <meta>, and <title> tags.
|
40
|
+
# consist of only <style>, <script>, <link>, <meta>, <base>, and <title> tags.
|
41
41
|
def head
|
42
42
|
@head.join.gsub(/<\/?(?:html|head|!DOCTYPE).*?>/mi, '')
|
43
43
|
end
|
@@ -59,14 +59,14 @@ class Bcat
|
|
59
59
|
/\A(<title.*?>.*?<\/title>)/mi,
|
60
60
|
/\A(<script.*?>.*?<\/script>)/mi,
|
61
61
|
/\A(<style.*?>.*?<\/style>)/mi,
|
62
|
-
/\A(<(?:html|head|meta|link).*?>)/mi,
|
63
|
-
/\A(<\/(?:html|head|meta|link|script|style|title)>)/mi,
|
62
|
+
/\A(<(?:html|head|meta|link|base).*?>)/mi,
|
63
|
+
/\A(<\/(?:html|head|meta|link|base|script|style|title)>)/mi,
|
64
64
|
/\A(<!--(.*?)-->)/m
|
65
65
|
]
|
66
66
|
|
67
67
|
BODY_TOKS = [
|
68
68
|
/\A[^<]/,
|
69
|
-
/\A<(?!html|head|meta|link|script|style|title).*?>/
|
69
|
+
/\A<(?!html|head|meta|link|base|script|style|title).*?>/
|
70
70
|
]
|
71
71
|
|
72
72
|
# Parses buf into head and body parts. Basic approach is to eat anything
|
data/man/bcat.1.ronn
CHANGED
@@ -136,6 +136,9 @@ Use with `makeprg`:
|
|
136
136
|
set makeprg=markdown\ %\ \\\|bcat
|
137
137
|
set makeprg=testrb\ %\ \\\|bcat
|
138
138
|
|
139
|
+
(Note that you may need to escape the `%` character with quotes if there's
|
140
|
+
spaces in the pathname. For example: `!markdown '%' |bcat`.)
|
141
|
+
|
139
142
|
## SEE ALSO
|
140
143
|
|
141
144
|
cat(1), tee(1), open(1)
|
data/man/btee.1.ronn
CHANGED
@@ -136,6 +136,9 @@ Use with `makeprg`:
|
|
136
136
|
set makeprg=markdown\ %\ \\\|bcat
|
137
137
|
set makeprg=testrb\ %\ \\\|bcat
|
138
138
|
|
139
|
+
(Note that you may need to escape the `%` character with quotes if there's
|
140
|
+
spaces in the pathname. For example: `!markdown '%' |bcat`.)
|
141
|
+
|
139
142
|
## SEE ALSO
|
140
143
|
|
141
144
|
cat(1), tee(1), open(1)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bcat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 0.5.
|
9
|
+
- 2
|
10
|
+
version: 0.5.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ryan Tomayko
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-08-23 00:00:00 -07:00
|
19
19
|
default_executable: bcat
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -36,7 +36,9 @@ dependencies:
|
|
36
36
|
description: pipe to browser utility
|
37
37
|
email: rtomayko@gmail.com
|
38
38
|
executables:
|
39
|
+
- a2h
|
39
40
|
- bcat
|
41
|
+
- btee
|
40
42
|
extensions: []
|
41
43
|
|
42
44
|
extra_rdoc_files:
|
@@ -51,6 +53,7 @@ files:
|
|
51
53
|
- bin/a2h
|
52
54
|
- bin/bcat
|
53
55
|
- bin/btee
|
56
|
+
- contrib/bman
|
54
57
|
- lib/bcat.rb
|
55
58
|
- lib/bcat/ansi.rb
|
56
59
|
- lib/bcat/browser.rb
|