mdv 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Changelog.md +5 -0
- data/Gemfile +1 -1
- data/README.md +10 -2
- data/Rakefile +9 -9
- data/bin/mdv +3 -3
- data/lib/mdv.rb +1 -1
- data/lib/mdv/document.rb +1 -1
- data/lib/mdv/markdown_viewer.rb +15 -13
- data/test/end_to_end/basic_run_test.rb +8 -8
- data/test/mdv/document_test.rb +7 -7
- data/test/test_helper.rb +1 -1
- metadata +20 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bec671164b80fa13809af1842d4ea302a388e81a3b51b899e5bd8b34bdd924aa
|
4
|
+
data.tar.gz: c7db8b4304851526efd75310c4a3e4b8c5753da4c6a424569a06a48f424dc3a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a119b041b46a789e42402aa6025e77516adfca358c21225b95b1ff6364fd0a212fcddb07387439f4ffd03e2a6c046f3a6e3e76a3cae9ae08c59711273aeb541
|
7
|
+
data.tar.gz: b0852942ed1e080b07742cfe4dc76cc8e5fc49357aac5a17804e02e3debaf113583e3c6d7bef25620a84d042192ec9058f5ad9415f01a3150f72599393ca37c6
|
data/Changelog.md
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -15,7 +15,15 @@ links open in default browser.
|
|
15
15
|
|
16
16
|
## Dependencies
|
17
17
|
|
18
|
-
MDV depends on the
|
18
|
+
MDV depends on the `gir_ffi-gtk` gem. Additionally, you need to install the
|
19
|
+
Webkit2Gtk library and its gobject-introspection information. On Debian and
|
20
|
+
Ubuntu, the following should work:
|
21
|
+
|
22
|
+
sudo apt-get install gir1.2-webkit2-4.0
|
23
|
+
|
24
|
+
On Ubuntu, you may also have to install two additional packages:
|
25
|
+
|
26
|
+
sudo apt-get install libwebkit2gtk-4.0-dev libjavascriptcoregtk-4.0-dev
|
19
27
|
|
20
28
|
## Contributing
|
21
29
|
|
@@ -24,5 +32,5 @@ on GitHub.
|
|
24
32
|
|
25
33
|
## License
|
26
34
|
|
27
|
-
Copyright © 2012–
|
35
|
+
Copyright © 2012–2019 [Matijs van Zuijlen](http://www.matijs.net).
|
28
36
|
See LICENSE for details.
|
data/Rakefile
CHANGED
@@ -1,25 +1,25 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
3
|
+
require "rake/clean"
|
4
|
+
require "bundler/gem_tasks"
|
5
|
+
require "rake/testtask"
|
6
6
|
|
7
7
|
namespace :test do
|
8
8
|
Rake::TestTask.new(:unit) do |t|
|
9
|
-
t.libs = [
|
10
|
-
t.test_files = FileList[
|
9
|
+
t.libs = ["lib"]
|
10
|
+
t.test_files = FileList["test/mdv/*_test.rb"]
|
11
11
|
t.warning = true
|
12
12
|
end
|
13
13
|
|
14
14
|
Rake::TestTask.new(:end_to_end) do |t|
|
15
|
-
t.libs = [
|
16
|
-
t.test_files = FileList[
|
15
|
+
t.libs = ["lib"]
|
16
|
+
t.test_files = FileList["test/end_to_end/*_test.rb"]
|
17
17
|
t.warning = true
|
18
18
|
end
|
19
19
|
|
20
20
|
task all: [:unit, :end_to_end]
|
21
21
|
end
|
22
22
|
|
23
|
-
task test:
|
23
|
+
task test: "test:all"
|
24
24
|
|
25
|
-
task default:
|
25
|
+
task default: "test"
|
data/bin/mdv
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
require
|
4
|
+
require "mdv"
|
5
5
|
|
6
6
|
Gtk.init
|
7
7
|
|
8
|
-
|
8
|
+
WebKit2::WebContext.get_default.set_cache_model :document_viewer
|
9
9
|
|
10
10
|
file = ARGV[0]
|
11
|
-
raise
|
11
|
+
raise "Need file" unless file
|
12
12
|
|
13
13
|
MDV::MarkdownViewer.new file
|
14
14
|
|
data/lib/mdv.rb
CHANGED
data/lib/mdv/document.rb
CHANGED
data/lib/mdv/markdown_viewer.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require "gir_ffi-gtk3"
|
4
|
+
require "mdv/document"
|
5
|
+
|
6
|
+
GirFFI.setup :WebKit2, "4.0"
|
5
7
|
|
6
8
|
module MDV
|
7
9
|
# Markdown viewer window class
|
@@ -23,41 +25,41 @@ module MDV
|
|
23
25
|
end
|
24
26
|
|
25
27
|
def connect_destroy_signal
|
26
|
-
@win.signal_connect(
|
28
|
+
@win.signal_connect("destroy") { Gtk.main_quit }
|
27
29
|
end
|
28
30
|
|
29
31
|
def connect_key_press_event_signal
|
30
|
-
@win.signal_connect
|
31
|
-
handle_key(evt) if evt.state
|
32
|
+
@win.signal_connect "key-press-event" do |_wdg, evt, _ud|
|
33
|
+
handle_key(evt) if evt.state[:control_mask]
|
32
34
|
false
|
33
35
|
end
|
34
36
|
end
|
35
37
|
|
36
38
|
def connect_web_view_signals
|
37
|
-
web_view.signal_connect(
|
38
|
-
web_view.signal_connect(
|
39
|
+
web_view.signal_connect("context-menu") { true }
|
40
|
+
web_view.signal_connect("decide-policy") do |_wv, decision, decision_type|
|
39
41
|
handle_decide_policy(decision, decision_type)
|
40
42
|
end
|
41
43
|
end
|
42
44
|
|
43
45
|
def handle_key(evt)
|
44
46
|
case evt.keyval
|
45
|
-
when
|
47
|
+
when "q".ord
|
46
48
|
@win.destroy
|
47
|
-
when
|
49
|
+
when "r".ord
|
48
50
|
reload
|
49
51
|
end
|
50
52
|
end
|
51
53
|
|
52
54
|
def handle_decide_policy(decision, decision_type)
|
53
|
-
case decision_type
|
54
|
-
when
|
55
|
+
case decision_type
|
56
|
+
when :navigation_action
|
55
57
|
action = decision.navigation_action
|
56
58
|
if action.user_gesture?
|
57
59
|
Gtk.show_uri_on_window(@win, action.request.uri, 0)
|
58
60
|
true
|
59
61
|
end
|
60
|
-
when
|
62
|
+
when :new_window_action
|
61
63
|
true
|
62
64
|
end
|
63
65
|
end
|
@@ -76,7 +78,7 @@ module MDV
|
|
76
78
|
end
|
77
79
|
|
78
80
|
def web_view
|
79
|
-
@web_view ||=
|
81
|
+
@web_view ||= WebKit2::WebView.new
|
80
82
|
end
|
81
83
|
|
82
84
|
def reload
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
4
|
-
require
|
3
|
+
require_relative "../test_helper"
|
4
|
+
require "atspi_app_driver"
|
5
5
|
|
6
6
|
# Test driver for the MDV application.
|
7
|
-
class MDVDriver <
|
7
|
+
class MDVDriver < AtspiAppDriver
|
8
8
|
def initialize
|
9
|
-
super
|
9
|
+
super "mdv"
|
10
10
|
end
|
11
11
|
|
12
12
|
def boot(filename)
|
@@ -14,17 +14,17 @@ class MDVDriver < GnomeAppDriver
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
-
describe
|
17
|
+
describe "The MDV application" do
|
18
18
|
before do
|
19
19
|
@driver = MDVDriver.new
|
20
|
-
@driver.boot(
|
20
|
+
@driver.boot("README.md")
|
21
21
|
end
|
22
22
|
|
23
|
-
it
|
23
|
+
it "starts and can be quit with Ctrl-q" do
|
24
24
|
@driver.press_ctrl_q
|
25
25
|
|
26
26
|
status = @driver.cleanup
|
27
|
-
status.exitstatus.must_equal 0
|
27
|
+
_(status.exitstatus).must_equal 0
|
28
28
|
end
|
29
29
|
|
30
30
|
after do
|
data/test/mdv/document_test.rb
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
3
|
+
require_relative "../test_helper"
|
4
4
|
|
5
|
-
require
|
5
|
+
require "mdv/document"
|
6
6
|
|
7
7
|
describe MDV::Document do
|
8
|
-
let(:document) { MDV::Document.new(
|
8
|
+
let(:document) { MDV::Document.new("test/fixtures/test.md") }
|
9
9
|
|
10
|
-
describe
|
11
|
-
it
|
12
|
-
document.html
|
13
|
-
must_equal "<h1>Test</h1>\n\n<p>This is a test document.</p>\n"
|
10
|
+
describe "#html" do
|
11
|
+
it "renders the correct html" do
|
12
|
+
_(document.html)
|
13
|
+
.must_equal "<h1>Test</h1>\n\n<p>This is a test document.</p>\n"
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,99 +1,99 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mdv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
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:
|
11
|
+
date: 2019-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: gir_ffi-gtk
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.15.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.15.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: github-
|
28
|
+
name: github-markdown
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.6.5
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 0.6.5
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: github-markup
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 3.
|
47
|
+
version: '3.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 3.
|
54
|
+
version: '3.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: atspi_app_driver
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.6.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.6.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: minitest
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '5.
|
75
|
+
version: '5.12'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '5.
|
82
|
+
version: '5.12'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '13.0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '13.0'
|
97
97
|
description: Quickly view markdown files on GNOME
|
98
98
|
email:
|
99
99
|
- matijs@matijs.net
|
@@ -126,15 +126,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
126
126
|
requirements:
|
127
127
|
- - ">="
|
128
128
|
- !ruby/object:Gem::Version
|
129
|
-
version: 2.
|
129
|
+
version: 2.4.0
|
130
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
131
|
requirements:
|
132
132
|
- - ">="
|
133
133
|
- !ruby/object:Gem::Version
|
134
134
|
version: '0'
|
135
135
|
requirements: []
|
136
|
-
|
137
|
-
rubygems_version: 2.7.6
|
136
|
+
rubygems_version: 3.0.6
|
138
137
|
signing_key:
|
139
138
|
specification_version: 4
|
140
139
|
summary: Simple Markdown Viewer
|