basicons 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 39ac9c39a87e415dbbb109b87bbd686b5a64a73a69b36af4b5e184c154fef881
4
+ data.tar.gz: e640685c2fa60975f68475aab92ac71d5462f12390384ec3ec5e88392d705378
5
+ SHA512:
6
+ metadata.gz: 63df6ac789c3b264d1ea3e03bf3950ca52c1aef1eaee5b49d51923133fc22c51614632486c1a6f7d463ab99629287f226770d8b9370fb6a8f1d96cc96cc05fb3
7
+ data.tar.gz: 15276f71908cf34d334388a708daec54988b86fda3dbb467a97c3b9d82ad97cd4753d4eac2068ecad8d63bb6a25d9a0ff9c00d62b30597e982c37ef7489da61e
@@ -0,0 +1,111 @@
1
+
2
+
3
+
4
+ # basicon
5
+ # module Octicons
6
+ # class Octicon
7
+ # DEFAULT_HEIGHT = 16
8
+
9
+ # attr_reader :path, :options, :width, :height, :symbol, :keywords
10
+
11
+ # def initialize(symbol, options = {})
12
+ # @symbol = symbol.to_s
13
+ # if octicon = get_octicon(@symbol, options)
14
+ # @path = octicon["path"]
15
+ # @width = octicon["width"]
16
+ # @height = octicon["height"]
17
+ # @keywords = octicon["keywords"]
18
+ # @options = options.dup
19
+ # @options.merge!({
20
+ # class: classes,
21
+ # viewBox: viewbox,
22
+ # version: "1.1"
23
+ # })
24
+ # @options.merge!(size)
25
+ # @options.merge!(a11y)
26
+ # else
27
+ # raise "Couldn't find octicon symbol for #{@symbol.inspect}"
28
+ # end
29
+ # end
30
+
31
+ # # Returns an string representing a <svg> tag
32
+ # def to_svg
33
+ # "<svg #{html_attributes}>#{@path}</svg>"
34
+ # end
35
+
36
+ # private
37
+
38
+ # def html_attributes
39
+ # attrs = ""
40
+ # @options.each { |attr, value| attrs += "#{attr}=\"#{value}\" " }
41
+ # attrs.strip
42
+ # end
43
+
44
+ # # add some accessibility features to svg
45
+ # def a11y
46
+ # accessible = {}
47
+
48
+ # if @options[:"aria-label"].nil? && @options["aria-label"].nil?
49
+ # accessible[:"aria-hidden"] = "true"
50
+ # else
51
+ # accessible[:role] = "img"
52
+ # end
53
+
54
+ # accessible
55
+ # end
56
+
57
+ # # prepare the octicon class
58
+ # def classes
59
+ # "octicon octicon-#{@symbol} #{@options[:class]} ".strip
60
+ # end
61
+
62
+ # def viewbox
63
+ # "0 0 #{@width} #{@height}"
64
+ # end
65
+
66
+ # # determine the height and width of the octicon based on :size option
67
+ # def size
68
+ # size = {
69
+ # width: @width,
70
+ # height: @height
71
+ # }
72
+
73
+ # # Specific size
74
+ # unless @options[:width].nil? && @options[:height].nil?
75
+ # size[:width] = @options[:width].nil? ? calculate_width(@options[:height]) : @options[:width]
76
+ # size[:height] = @options[:height].nil? ? calculate_height(@options[:width]) : @options[:height]
77
+ # end
78
+
79
+ # size
80
+ # end
81
+
82
+ # def calculate_width(height)
83
+ # (height.to_i * @width) / @height
84
+ # end
85
+
86
+ # def calculate_height(width)
87
+ # (width.to_i * @height) / @width
88
+ # end
89
+
90
+ # def get_octicon(symbol, options = {})
91
+ # if octicon = Octicons::OCTICON_SYMBOLS[symbol]
92
+ # # We're using width as an approximation for height if the height option is not passed in
93
+ # height = options[:height] || options[:width] || DEFAULT_HEIGHT
94
+ # natural_height = closest_natural_height(octicon["heights"].keys, height)
95
+ # return {
96
+ # "name" => octicon["name"],
97
+ # "keywords" => octicon["keywords"],
98
+ # "width" => octicon["heights"][natural_height.to_s]["width"].to_i,
99
+ # "height" => natural_height,
100
+ # "path" => octicon["heights"][natural_height.to_s]["path"]
101
+ # }
102
+ # end
103
+ # end
104
+
105
+ # def closest_natural_height(natural_heights, height)
106
+ # return natural_heights.reduce(natural_heights[0].to_i) do |acc, natural_height|
107
+ # natural_height.to_i <= height.to_i ? natural_height.to_i : acc
108
+ # end
109
+ # end
110
+ # end
111
+ # end
@@ -0,0 +1,3 @@
1
+ module Basicons
2
+ VERSION = '1.0.1'.freeze
3
+ end
data/lib/basicons.rb ADDED
@@ -0,0 +1,15 @@
1
+
2
+
3
+
4
+ require 'basicons/version'
5
+ require 'basicons/basicon'
6
+
7
+ module Basicons
8
+
9
+ end
10
+
11
+
12
+ # module Octicons
13
+ # file_data = File.read(File.join(File.dirname(__FILE__), "./build/data.json"))
14
+ # OCTICON_SYMBOLS = JSON.parse(file_data).freeze
15
+ # end
metadata ADDED
@@ -0,0 +1,45 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: basicons
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - basicons's authors
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-06-07 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description:
14
+ email:
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/basicons.rb
20
+ - lib/basicons/basicon.rb
21
+ - lib/basicons/version.rb
22
+ homepage: https://basicons.xyz
23
+ licenses:
24
+ - MIT
25
+ metadata: {}
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ required_rubygems_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ requirements: []
41
+ rubygems_version: 3.1.2
42
+ signing_key:
43
+ specification_version: 4
44
+ summary: A simple basicons gem
45
+ test_files: []