qutebrowser_url_mark 0.1.1 → 0.2.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/exe/qutebrowser-url-mark +2 -0
- data/lib/qutebrowser_url_mark/version.rb +1 -1
- data/lib/qutebrowser_url_mark/xbel_dumper.rb +14 -0
- data/lib/qutebrowser_url_mark.rb +9 -8
- data/manifest.scm +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e2722362d734db376956caf9cae4fe8b7851297f6597e781d5c9b9c1adae7b3
|
4
|
+
data.tar.gz: 1e024d0ee12032532a43445f04c998c139b3a81c3831b73e1a3de696f91d2d27
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 28d94822e9c59a2eb02cd509a7e6ae547dd83e92ee0f9da86692024a7febcd78edd49919dd587c2c95a70c8075b5e55c5172a8d8aa227adee1c0e0767542ea34
|
7
|
+
data.tar.gz: dda51fac0d6c2a880da159b900fc5d26256789b13b5a0fa4f263e35260d34470733d8a8c0818a2cfee17e9cb8888bdf14bd933609ec66fabe7c8f8b62a2d925f
|
data/CHANGELOG.md
CHANGED
data/exe/qutebrowser-url-mark
CHANGED
@@ -21,6 +21,7 @@ require 'logger'
|
|
21
21
|
require 'json'
|
22
22
|
require 'pp'
|
23
23
|
require_relative '../lib/qutebrowser_url_mark'
|
24
|
+
require_relative '../lib/qutebrowser_url_mark/xbel_dumper'
|
24
25
|
|
25
26
|
# proc which takes store and output
|
26
27
|
dump = PP.method(:pp)
|
@@ -40,6 +41,7 @@ logger.level = :warn
|
|
40
41
|
OptionParser.new do |parser|
|
41
42
|
parser.on('--yaml', 'dump parsed store as YAML') { dump = YAML.method(:dump) }
|
42
43
|
parser.on('--json', 'dump parsed store as JSON') { dump = JSON.method(:dump) }
|
44
|
+
parser.on("--xbel", "dump parsed store as XBEL") { dump = QutebrowserURLMark::XBELDumper }
|
43
45
|
parser.on('--input=PATH', 'input path for URI marks') do |path|
|
44
46
|
no_input_stream or logger.warn('input path') { 'ignoring stdin' }
|
45
47
|
input = path
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require "rexml"
|
2
|
+
|
3
|
+
class QutebrowserURLMark::XBELDumper
|
4
|
+
def self.[](store, output)
|
5
|
+
document = REXML::Document.new
|
6
|
+
xbel = document.add_element("xbel", "version" => "1.0")
|
7
|
+
store.each do |name, link|
|
8
|
+
bookmark = xbel.add_element("bookmark", "href" => link)
|
9
|
+
title = bookmark.add_element("title")
|
10
|
+
title.text = name
|
11
|
+
end
|
12
|
+
document.write(output, _indent = 2)
|
13
|
+
end
|
14
|
+
end
|
data/lib/qutebrowser_url_mark.rb
CHANGED
@@ -17,26 +17,27 @@ require 'uri'
|
|
17
17
|
require 'stringio'
|
18
18
|
require_relative 'qutebrowser_url_mark/version'
|
19
19
|
|
20
|
-
# Parsing methods have an argument +store
|
21
|
-
# The instance object of the class must have +new+ and +[]=+ method.
|
20
|
+
# Parsing methods have an argument +store+ with +[]=+ method.
|
22
21
|
module QutebrowserURLMark
|
23
|
-
|
22
|
+
Error = Class.new(StandardError)
|
24
23
|
|
25
|
-
def self.parse_quickmarks(source, store: Hash, parse_uri: true)
|
26
|
-
source.each_line
|
24
|
+
def self.parse_quickmarks(source, store: Hash.new, parse_uri: true)
|
25
|
+
source.each_line do |line|
|
27
26
|
line.strip!
|
28
27
|
key, _, url = line.rpartition(/\s+/)
|
29
|
-
|
28
|
+
key.empty? and raise Error, "invalid quickmark: #{line.inspect}"
|
30
29
|
store[key] = parse_uri ? URI(url) : url
|
31
30
|
end
|
31
|
+
store
|
32
32
|
end
|
33
33
|
|
34
|
-
def self.parse_bookmarks(source, store: Hash, parse_uri: true)
|
35
|
-
source.each_line
|
34
|
+
def self.parse_bookmarks(source, store: Hash.new, parse_uri: true)
|
35
|
+
source.each_line do |line|
|
36
36
|
line.strip!
|
37
37
|
url, _, key = line.partition(/\s+/)
|
38
38
|
store[parse_uri ? URI(url) : url] = key
|
39
39
|
end
|
40
|
+
store
|
40
41
|
end
|
41
42
|
|
42
43
|
class << self
|
data/manifest.scm
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
(specifications->manifest (list "ruby@3.1" "ruby-rubocop" "ruby-rubocop-rake"
|
2
|
-
"ruby-simplecov"))
|
2
|
+
"ruby-simplecov" "ruby-rexml"))
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qutebrowser_url_mark
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- gemmaro
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: qutebrowser_url_mark is a library for parsing and serializing qutebrowser's
|
14
14
|
URL marks (quickmarks or bookmarks).
|
@@ -27,6 +27,7 @@ files:
|
|
27
27
|
- exe/qutebrowser-url-mark
|
28
28
|
- lib/qutebrowser_url_mark.rb
|
29
29
|
- lib/qutebrowser_url_mark/version.rb
|
30
|
+
- lib/qutebrowser_url_mark/xbel_dumper.rb
|
30
31
|
- manifest.scm
|
31
32
|
- sig/qutebrowser_url_mark.gen.rbs
|
32
33
|
- sig/qutebrowser_url_mark.rbs
|
@@ -37,7 +38,7 @@ metadata:
|
|
37
38
|
homepage_uri: https://codeberg.org/gemmaro/qutebrowser-url-mark
|
38
39
|
source_code_uri: https://codeberg.org/gemmaro/qutebrowser-url-mark.git
|
39
40
|
changelog_uri: https://codeberg.org/gemmaro/qutebrowser-url-mark/src/branch/main/CHANGELOG.md
|
40
|
-
|
41
|
+
documetation_uri: https://rubydoc.info/gems/qutebrowser_url_mark
|
41
42
|
post_install_message:
|
42
43
|
rdoc_options: []
|
43
44
|
require_paths:
|
@@ -53,7 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
53
54
|
- !ruby/object:Gem::Version
|
54
55
|
version: '0'
|
55
56
|
requirements: []
|
56
|
-
rubygems_version: 3.
|
57
|
+
rubygems_version: 3.3.26
|
57
58
|
signing_key:
|
58
59
|
specification_version: 4
|
59
60
|
summary: qutebrowser's URL mark parser and serializer
|