bkmrq 0.0.2 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/bkmrq +1 -1
- data/lib/bkmrq/app.rb +6 -5
- data/lib/bkmrq/browser_config.rb +3 -2
- data/lib/bkmrq/cli.rb +17 -2
- data/lib/bkmrq/manual.rb +4 -3
- data/lib/bkmrq.rb +9 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7604f5591402564df015fe49292a7f0a796449d06da7e0629fafdbd8eba00917
|
4
|
+
data.tar.gz: 91969416823b5f17a9b776a41f4e9441960a6d7b748ec9d0e2b9cd6f130e2060
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f08759adf91f263b6671581bd431d985396b596a79ca1e2f1f93b1fcadda4b36e20f25740c8d9854ef6a1100e3592adb6a0f12de5ed072e9c84dbfa8832baa68
|
7
|
+
data.tar.gz: d2208c4a470c2a8e093100c3542ad0ea9b26191760d9059c30fda5fab30d14bb9c49c45d2ea31b232c766564b7758d07435f8c7e5df0d51944cce88bb5c247a8
|
data/bin/bkmrq
CHANGED
data/lib/bkmrq/app.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'json'
|
4
|
+
require 'fileutils'
|
4
5
|
require 'bkmrq/docs_template'
|
5
6
|
require 'bkmrq/browser_config'
|
6
7
|
|
@@ -9,8 +10,9 @@ module Bkmrq
|
|
9
10
|
class App
|
10
11
|
BLOCKLIST = ENV.fetch('BKMRQ_BLOCKLIST', '(pdf|google|file:)').split(',').map(&:strip)
|
11
12
|
|
12
|
-
def initialize(browser: :
|
13
|
-
@bookmarks_input =
|
13
|
+
def initialize(browser: nil, input_file: nil, output_path: nil, edit: false)
|
14
|
+
@bookmarks_input = input_file || Bkmrq::BROWSER_CONFIG.dig(browser, :bookmark_file_path)
|
15
|
+
@output_path = output_path || FileUtils.pwd
|
14
16
|
end
|
15
17
|
|
16
18
|
def export!
|
@@ -25,7 +27,7 @@ module Bkmrq
|
|
25
27
|
|
26
28
|
def output_file
|
27
29
|
@output_file ||= ::File.open(
|
28
|
-
"bkmrq_export_#{String(Integer(Time.now))[0..-2]}.md",
|
30
|
+
File.join(@output_path, "bkmrq_export_#{String(Integer(Time.now))[0..-2]}.md"),
|
29
31
|
'w+'
|
30
32
|
)
|
31
33
|
end
|
@@ -66,7 +68,6 @@ module Bkmrq
|
|
66
68
|
|
67
69
|
def generate_bookmark_title(bookmark, level)
|
68
70
|
[
|
69
|
-
' ' * level,
|
70
71
|
'#' * level,
|
71
72
|
"#{bookmark['name']}\n"
|
72
73
|
].join(' ')
|
@@ -74,7 +75,7 @@ module Bkmrq
|
|
74
75
|
|
75
76
|
def generate_bookmark_link(bookmark, level)
|
76
77
|
[
|
77
|
-
' ' * level,
|
78
|
+
' ' * (level % 2),
|
78
79
|
"[#{bookmark['name']}](#{bookmark['url']}) \n"
|
79
80
|
].join(' ')
|
80
81
|
end
|
data/lib/bkmrq/browser_config.rb
CHANGED
data/lib/bkmrq/cli.rb
CHANGED
@@ -11,17 +11,24 @@ module Bkmrq
|
|
11
11
|
class Cli
|
12
12
|
def initialize(args)
|
13
13
|
@opts = {}
|
14
|
-
option_parser.parse!(sanitize_args(args), into: @opts)
|
14
|
+
option_parser.parse!(default_args(sanitize_args(args)), into: @opts)
|
15
|
+
init_app if opts_valid?
|
15
16
|
end
|
16
17
|
|
17
18
|
private
|
18
19
|
|
20
|
+
def init_app
|
21
|
+
Bkmrq::App.new(
|
22
|
+
**@opts.slice(*Bkmrq::Manual.options_specs.map(&:last))
|
23
|
+
).export!
|
24
|
+
end
|
25
|
+
|
19
26
|
def option_parser
|
20
27
|
@option_parser ||= OptionParser.new do |args|
|
21
28
|
# Option Parsing
|
22
29
|
Bkmrq::Manual.options_specs.map do |option_spec|
|
23
30
|
option_key = option_spec.pop
|
24
|
-
args.on(*option_spec) { |input| @opts
|
31
|
+
args.on(*option_spec) { |input| @opts[option_key] = input }
|
25
32
|
end
|
26
33
|
|
27
34
|
# Manual Printing
|
@@ -33,5 +40,13 @@ module Bkmrq
|
|
33
40
|
def sanitize_args(args)
|
34
41
|
args.reject(&:empty?).map(&:scrub).map(&:split).flatten
|
35
42
|
end
|
43
|
+
|
44
|
+
def default_args(args)
|
45
|
+
args.empty? ? ['-H'] : args
|
46
|
+
end
|
47
|
+
|
48
|
+
def opts_valid?
|
49
|
+
!@opts.key?(:help)
|
50
|
+
end
|
36
51
|
end
|
37
52
|
end
|
data/lib/bkmrq/manual.rb
CHANGED
@@ -26,7 +26,8 @@ module Bkmrq
|
|
26
26
|
'-B BROWSER',
|
27
27
|
'--browser BROWSER',
|
28
28
|
String,
|
29
|
-
'Browser (Loads Default Configs)',
|
29
|
+
'Browser (Loads Default Configs)',
|
30
|
+
:browser
|
30
31
|
]
|
31
32
|
end
|
32
33
|
|
@@ -36,7 +37,7 @@ module Bkmrq
|
|
36
37
|
'--input-file FILE',
|
37
38
|
String,
|
38
39
|
'Bookmarks file generated by your browser. (JSON FORMAT ONLY)',
|
39
|
-
:
|
40
|
+
:input_file
|
40
41
|
]
|
41
42
|
end
|
42
43
|
|
@@ -46,7 +47,7 @@ module Bkmrq
|
|
46
47
|
'--output-file FILE',
|
47
48
|
String,
|
48
49
|
'Filepath for markdown generated by Bkmrq',
|
49
|
-
:
|
50
|
+
:output_path
|
50
51
|
]
|
51
52
|
end
|
52
53
|
|
data/lib/bkmrq.rb
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bkmrq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sreedev Kodichath
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-11-
|
11
|
+
date: 2021-11-05 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Bkmrq Converts Bookmarks stored by your browser in JSON format to a readable
|
14
14
|
markdown format
|
@@ -19,6 +19,7 @@ extensions: []
|
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
21
|
- bin/bkmrq
|
22
|
+
- lib/bkmrq.rb
|
22
23
|
- lib/bkmrq/app.rb
|
23
24
|
- lib/bkmrq/browser_config.rb
|
24
25
|
- lib/bkmrq/cli.rb
|