mdv 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Changelog.md +7 -0
- data/lib/mdv.rb +1 -0
- data/lib/mdv/markdown_viewer.rb +77 -0
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1df332378426042684724aaa28a08c2fb3853d66
|
4
|
+
data.tar.gz: 017b11187bfae809be0674dee8ab762bedcf0be6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c48e520203c6a73f70704606f3d6cfeb5e8ca11ebd317e631174682a5f3177802d104f6e449e15d4f154f12173ef26da265355a2fdeccdecb87ceab5aded7cee
|
7
|
+
data.tar.gz: f5bd85a36c6bb40b13c827a03fa19dade9f1789fb26381f14a414d5c16e74219b1b9cbfc6e7303c234b985af3e5046fd1b6de4c4293f42ad7fa6fe45fd8688f2
|
data/Changelog.md
CHANGED
data/lib/mdv.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require_relative 'mdv/markdown_viewer'
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'gir_ffi-gtk3'
|
2
|
+
GirFFI.setup :WebKit, '3.0'
|
3
|
+
|
4
|
+
module MDV
|
5
|
+
# Markdown viewer window class
|
6
|
+
class MarkdownViewer
|
7
|
+
attr_reader :file
|
8
|
+
|
9
|
+
def initialize(file)
|
10
|
+
@file = file
|
11
|
+
setup_gui
|
12
|
+
reload
|
13
|
+
connect_signals
|
14
|
+
@win.show_all
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def connect_signals
|
20
|
+
connect_key_press_event_signal
|
21
|
+
connect_destroy_signal
|
22
|
+
end
|
23
|
+
|
24
|
+
def connect_destroy_signal
|
25
|
+
@win.signal_connect('destroy') { Gtk.main_quit }
|
26
|
+
end
|
27
|
+
|
28
|
+
def connect_key_press_event_signal
|
29
|
+
@win.signal_connect 'key-press-event' do |_wdg, evt, _ud|
|
30
|
+
handle_key(evt) if evt.state == :control_mask
|
31
|
+
false
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def handle_key(evt)
|
36
|
+
case evt.keyval
|
37
|
+
when 'q'.ord
|
38
|
+
@win.destroy
|
39
|
+
when 'r'.ord
|
40
|
+
reload
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def setup_gui
|
45
|
+
@win = Gtk::Window.new :toplevel
|
46
|
+
@win.set_default_geometry 700, 500
|
47
|
+
|
48
|
+
@win.add scrolled_window
|
49
|
+
end
|
50
|
+
|
51
|
+
def scrolled_window
|
52
|
+
@scr ||= Gtk::ScrolledWindow.new(nil, nil).tap do |it|
|
53
|
+
it.add web_view
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def web_view
|
58
|
+
@wv ||= WebKit::WebView.new
|
59
|
+
end
|
60
|
+
|
61
|
+
def fullpath
|
62
|
+
@fullpath ||= File.expand_path(file, Dir.pwd)
|
63
|
+
end
|
64
|
+
|
65
|
+
def base_uri
|
66
|
+
@base_uri ||= "file://#{fullpath}"
|
67
|
+
end
|
68
|
+
|
69
|
+
def html
|
70
|
+
GitHub::Markup.render(fullpath)
|
71
|
+
end
|
72
|
+
|
73
|
+
def reload
|
74
|
+
web_view.load_string html, nil, nil, base_uri
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mdv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matijs van Zuijlen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gir_ffi-gtk
|
@@ -108,10 +108,13 @@ files:
|
|
108
108
|
- README.md
|
109
109
|
- Rakefile
|
110
110
|
- bin/mdv
|
111
|
+
- lib/mdv.rb
|
112
|
+
- lib/mdv/markdown_viewer.rb
|
111
113
|
- test/end_to_end/basic_run_test.rb
|
112
114
|
- test/test_helper.rb
|
113
115
|
homepage: http://www.github.com/mvz/mdv
|
114
|
-
licenses:
|
116
|
+
licenses:
|
117
|
+
- MIT
|
115
118
|
metadata: {}
|
116
119
|
post_install_message:
|
117
120
|
rdoc_options: []
|
@@ -136,3 +139,4 @@ summary: Simple Markdown Viewer
|
|
136
139
|
test_files:
|
137
140
|
- test/test_helper.rb
|
138
141
|
- test/end_to_end/basic_run_test.rb
|
142
|
+
has_rdoc:
|