phrase_browser 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +1 -0
- data/lib/phrase_browser.rb +76 -0
- metadata +70 -0
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 9d0edcd2d312500aec57e837321e7f0465aa7074c2f82e0b13d7f01dd71b4708
|
4
|
+
data.tar.gz: 578ef052cbebd0228a3eb3ec10afd08749e6310b5cc34748a5b4603b518b2be4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f371019bc9ad688eaf87cab8c17951961193bd100c059691d87ed1b4c7138c838891b97fc7a5629f535221cbfa5d9e112817c63ba14075f61458f24a233a351a
|
7
|
+
data.tar.gz: 119fe114509b6ba390e90e3945a2621a3e8dc48f8364697ee408a9863711370eec6b4a9b883e78eff2f35906d476dd60b05c2a4bb0c191d82117011971c1cc04
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data.tar.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
����Ҧ�Q��m�=�M4�����>3\K���2��P3�>N�2=' 1��a���}��ג���Gk�|��C�x�_+/ ��S��qϞӊ����ӏ:[��`����K��1��6�Һ$��G�,I��&K�����s)�s��
|
@@ -0,0 +1,76 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# file: phrase_browser.rb
|
4
|
+
|
5
|
+
# description: Experimental gem to look up a phrase from a list of words
|
6
|
+
# layed out in an HTML accordion style menu.
|
7
|
+
|
8
|
+
require 'htmlcom'
|
9
|
+
require 'kramdown'
|
10
|
+
|
11
|
+
|
12
|
+
class PhraseBrowser
|
13
|
+
using ColouredText
|
14
|
+
|
15
|
+
|
16
|
+
def initialize(s, target_url: '', debug: false)
|
17
|
+
|
18
|
+
@target_url, @debug = target_url, debug
|
19
|
+
|
20
|
+
ignorewords = ["the", "of", "and", "to", "in", "a", "is", "that", "for",
|
21
|
+
"it", "as", "was", "with", "be", "by", "on", "not", "he",
|
22
|
+
"i", "this", "are", "or","his", "from", "at", "which",
|
23
|
+
"but", "have", "an", "had", "they", "you", "were",
|
24
|
+
"their", "one", "all", "we", "can", "her", "has", "there",
|
25
|
+
"been", "if", "more", "when", "will", "would", "who",
|
26
|
+
"so", "no"]
|
27
|
+
|
28
|
+
h = {}
|
29
|
+
a = s.strip.lines.each do |rawx|
|
30
|
+
|
31
|
+
x = rawx.chomp
|
32
|
+
|
33
|
+
x.downcase.split(/ +/).each do |raw_word|
|
34
|
+
|
35
|
+
word = raw_word[/\w+/]
|
36
|
+
next if ignorewords.include? word
|
37
|
+
h[word.to_sym] ||= []
|
38
|
+
h[word.to_sym] << x
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
@a = h.to_a.sort!
|
45
|
+
end
|
46
|
+
|
47
|
+
def to_html()
|
48
|
+
|
49
|
+
doc = Rexle.new('<accordion/>')
|
50
|
+
|
51
|
+
@a.each do |word, raw_phrases|
|
52
|
+
|
53
|
+
phrases = raw_phrases.map do |x|
|
54
|
+
|
55
|
+
if block_given? then
|
56
|
+
yield(x)
|
57
|
+
else
|
58
|
+
phrase = x[/[^#]+/]
|
59
|
+
"* [%s](%s=%s)" % [phrase, @target_url, URI.encode(phrase)]
|
60
|
+
end
|
61
|
+
|
62
|
+
end.join("\n")
|
63
|
+
|
64
|
+
e = Rexle::Element.new('panel')
|
65
|
+
e.attributes[:title] = word.to_s
|
66
|
+
e.add Rexle.new(Kramdown::Document.new(phrases).to_html).root
|
67
|
+
doc.root.add e
|
68
|
+
|
69
|
+
end
|
70
|
+
|
71
|
+
puts doc.root.xml.debug if @debug
|
72
|
+
HtmlCom::Accordion.new(doc.root.xml).to_html
|
73
|
+
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
metadata
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: phrase_browser
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- James Robertson
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
|
14
|
+
YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTkxMjE4MjIwMTMzWhcN
|
15
|
+
MjAxMjE3MjIwMTMzWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
|
16
|
+
cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCnlfnJ
|
17
|
+
MYfU8LDTpFb69Ty4DJLfYA4MueFdc5MKGUEhzAyC/raE3wScDmiOP0yPfb+fUIiI
|
18
|
+
WR2Ehjk4sfQ6kqqBwBECcXIiS72pfKiFVHZ4X0srFYL97f4LVubRdtUqQwj8uVqu
|
19
|
+
ORVyVSOiM/PPXdXPqHLl80uMfCPqRCNdAZKLhECcUZLpAMhuywmhyTmihnaDm2wZ
|
20
|
+
J9PBvyZmKLLwtXcWuRjEze+xIUexfyh79plAskvU+ew2fyfsVPNBLtvwT4R0Iwo5
|
21
|
+
MlwzO8gSdj6uroWhM8snR1brDcXsgaHN+JdN2pq+4BixfQynu7+ZWOvPw6XZ4f28
|
22
|
+
L0iaYGdaodf8G7in4el2JVN/jUQvQEAQ4x6Gu/zrc2BBAEjWTrNiXKukl+rdaWHf
|
23
|
+
osv/ehLfevrmAELqM5lSh+esoL+ZXUn059OecLHg6a7BtRvD7uquuSMxwxFJOMjq
|
24
|
+
+fqfHax/rbnVH25m6CGWIBA96CaigHtDns8NLJp6ttg/Weu5dfGOjFJerAcCAwEA
|
25
|
+
AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUMgvOJ6Ey
|
26
|
+
X7EQrfXVDIG4aUrTVqwwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
|
27
|
+
c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
|
28
|
+
BgkqhkiG9w0BAQsFAAOCAYEAoSpTqA6jA7pUH75oXh4Ms9v1C1kE8nu3BrA33vMf
|
29
|
+
Au56YE1oIaWGydY6Clh+AdicoJBOFtwc/BZFPfVZLe6+T5kwgDHg0/7gZGl379aa
|
30
|
+
Mlvy0eNeZ5yAk7lVSoc45ePGKoXrqL5LA4l4wmIz2W0KscOfQsl9AGDa+g2daLID
|
31
|
+
zEWZC+z9u/sBzbiXltThbTWZzqyr3wwVlb11Zi/1s+MSBnDo05wpUl5f9pvDyu/u
|
32
|
+
6p7b73QqEQKTt+cCSzLsZzJwEU4XYqxSXSF6eTsjwpUPPNEmWB1lKJwFNxgKly5o
|
33
|
+
kfNeA2+NvznQz5/tnROiAlaak/jipEHd5+2rvtq9GpGxp0VoU7ACQZymARjxU8Go
|
34
|
+
jQtPRNO6cmUrHaIwQ/Oqk08OA0kmobakmXVjTXoXYpGBRxFjOyjzjMZFEoVarBr1
|
35
|
+
d/LgGxKFEyi3xKzrGvvtG0hROh5EU7qEpE1Nw4gePi+X6+KwdZOkNRczQLk6valg
|
36
|
+
1btYwB1GMozwTbXpS7qZL3HB
|
37
|
+
-----END CERTIFICATE-----
|
38
|
+
date: 2019-12-18 00:00:00.000000000 Z
|
39
|
+
dependencies: []
|
40
|
+
description:
|
41
|
+
email: james@jamesrobertson.eu
|
42
|
+
executables: []
|
43
|
+
extensions: []
|
44
|
+
extra_rdoc_files: []
|
45
|
+
files:
|
46
|
+
- lib/phrase_browser.rb
|
47
|
+
homepage: https://github.com/jrobertson/phrase_browser
|
48
|
+
licenses:
|
49
|
+
- MIT
|
50
|
+
metadata: {}
|
51
|
+
post_install_message:
|
52
|
+
rdoc_options: []
|
53
|
+
require_paths:
|
54
|
+
- lib
|
55
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0'
|
60
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '0'
|
65
|
+
requirements: []
|
66
|
+
rubygems_version: 3.0.3
|
67
|
+
signing_key:
|
68
|
+
specification_version: 4
|
69
|
+
summary: phrase_browser
|
70
|
+
test_files: []
|
metadata.gz.sig
ADDED
Binary file
|