jekyll-icon-flow 0.1.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.
Files changed (59) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +20 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +166 -0
  5. data/assets/icons/lucide/arrow-down.svg +16 -0
  6. data/assets/icons/lucide/arrow-left.svg +16 -0
  7. data/assets/icons/lucide/arrow-right.svg +16 -0
  8. data/assets/icons/lucide/arrow-up.svg +16 -0
  9. data/assets/icons/lucide/calendar.svg +18 -0
  10. data/assets/icons/lucide/check.svg +15 -0
  11. data/assets/icons/lucide/chevron-down.svg +15 -0
  12. data/assets/icons/lucide/chevron-left.svg +15 -0
  13. data/assets/icons/lucide/chevron-right.svg +15 -0
  14. data/assets/icons/lucide/chevron-up.svg +15 -0
  15. data/assets/icons/lucide/copy.svg +16 -0
  16. data/assets/icons/lucide/download.svg +17 -0
  17. data/assets/icons/lucide/external-link.svg +17 -0
  18. data/assets/icons/lucide/file-text.svg +19 -0
  19. data/assets/icons/lucide/folder.svg +15 -0
  20. data/assets/icons/lucide/home.svg +16 -0
  21. data/assets/icons/lucide/info.svg +17 -0
  22. data/assets/icons/lucide/link.svg +16 -0
  23. data/assets/icons/lucide/mail.svg +16 -0
  24. data/assets/icons/lucide/map-pin.svg +16 -0
  25. data/assets/icons/lucide/map.svg +17 -0
  26. data/assets/icons/lucide/menu.svg +17 -0
  27. data/assets/icons/lucide/moon.svg +15 -0
  28. data/assets/icons/lucide/printer.svg +17 -0
  29. data/assets/icons/lucide/rss.svg +17 -0
  30. data/assets/icons/lucide/search.svg +16 -0
  31. data/assets/icons/lucide/sun.svg +23 -0
  32. data/assets/icons/lucide/tag.svg +16 -0
  33. data/assets/icons/lucide/triangle-alert.svg +17 -0
  34. data/assets/icons/lucide/x.svg +16 -0
  35. data/assets/icons/simple/bluesky.svg +1 -0
  36. data/assets/icons/simple/discord.svg +1 -0
  37. data/assets/icons/simple/facebook.svg +1 -0
  38. data/assets/icons/simple/github.svg +1 -0
  39. data/assets/icons/simple/instagram.svg +1 -0
  40. data/assets/icons/simple/mastodon.svg +1 -0
  41. data/assets/icons/simple/medium.svg +1 -0
  42. data/assets/icons/simple/rss.svg +1 -0
  43. data/assets/icons/simple/spotify.svg +1 -0
  44. data/assets/icons/simple/telegram.svg +1 -0
  45. data/assets/icons/simple/tiktok.svg +1 -0
  46. data/assets/icons/simple/x.svg +1 -0
  47. data/assets/icons/simple/youtube.svg +1 -0
  48. data/lib/jekyll/icon_flow/adapter.rb +144 -0
  49. data/lib/jekyll/icon_flow/adapters/custom.rb +38 -0
  50. data/lib/jekyll/icon_flow/adapters/lucide.rb +28 -0
  51. data/lib/jekyll/icon_flow/adapters/simple.rb +28 -0
  52. data/lib/jekyll/icon_flow/error.rb +7 -0
  53. data/lib/jekyll/icon_flow/icon_ref_tag.rb +46 -0
  54. data/lib/jekyll/icon_flow/icon_tag.rb +156 -0
  55. data/lib/jekyll/icon_flow/svg_reader.rb +29 -0
  56. data/lib/jekyll/icon_flow/version.rb +7 -0
  57. data/lib/jekyll/icon_flow.rb +36 -0
  58. data/lib/jekyll-icon-flow.rb +3 -0
  59. metadata +124 -0
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "jekyll"
4
+ require "liquid"
5
+
6
+ require_relative "icon_flow/version"
7
+ require_relative "icon_flow/error"
8
+ require_relative "icon_flow/svg_reader"
9
+ require_relative "icon_flow/adapter"
10
+ require_relative "icon_flow/adapters/lucide"
11
+ require_relative "icon_flow/adapters/simple"
12
+ require_relative "icon_flow/adapters/custom"
13
+ require_relative "icon_flow/icon_tag"
14
+ require_relative "icon_flow/icon_ref_tag"
15
+
16
+ module Jekyll
17
+ module IconFlow
18
+ # Registry of icon pack adapters. Adding a pack means adding an
19
+ # adapter class and an entry here — its {% icon_<key> %} tag is
20
+ # registered automatically.
21
+ ADAPTERS = {
22
+ "lucide" => Adapters::Lucide,
23
+ "simple" => Adapters::Simple,
24
+ "custom" => Adapters::Custom
25
+ }.freeze
26
+ end
27
+ end
28
+
29
+ Jekyll::IconFlow::ADAPTERS.each_key do |key|
30
+ tag = Jekyll::IconFlow::IconTag.for(key)
31
+ Liquid::Template.register_tag("icon_#{key}", tag)
32
+ # Fleet-convention aliases (jekyll-lucide uses {% lucide_icon %})
33
+ Liquid::Template.register_tag("#{key}_icon", tag)
34
+ end
35
+ Liquid::Template.register_tag("icon", Jekyll::IconFlow::IconTag)
36
+ Liquid::Template.register_tag("icon_ref", Jekyll::IconFlow::IconRefTag)
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "jekyll/icon_flow"
metadata ADDED
@@ -0,0 +1,124 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jekyll-icon-flow
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Svend Gundestrup
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: jekyll
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '4.0'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '5.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '4.0'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '5.0'
32
+ description: A Jekyll plugin providing {% icon %} and per-pack {% icon_<pack> %} Liquid
33
+ tags. Each icon pack is an adapter that resolves names to SVG sources and normalizes
34
+ output — same styling contract across packs.
35
+ email:
36
+ - svend@gundestrup.dk
37
+ executables: []
38
+ extensions: []
39
+ extra_rdoc_files: []
40
+ files:
41
+ - CHANGELOG.md
42
+ - LICENSE.txt
43
+ - README.md
44
+ - assets/icons/lucide/arrow-down.svg
45
+ - assets/icons/lucide/arrow-left.svg
46
+ - assets/icons/lucide/arrow-right.svg
47
+ - assets/icons/lucide/arrow-up.svg
48
+ - assets/icons/lucide/calendar.svg
49
+ - assets/icons/lucide/check.svg
50
+ - assets/icons/lucide/chevron-down.svg
51
+ - assets/icons/lucide/chevron-left.svg
52
+ - assets/icons/lucide/chevron-right.svg
53
+ - assets/icons/lucide/chevron-up.svg
54
+ - assets/icons/lucide/copy.svg
55
+ - assets/icons/lucide/download.svg
56
+ - assets/icons/lucide/external-link.svg
57
+ - assets/icons/lucide/file-text.svg
58
+ - assets/icons/lucide/folder.svg
59
+ - assets/icons/lucide/home.svg
60
+ - assets/icons/lucide/info.svg
61
+ - assets/icons/lucide/link.svg
62
+ - assets/icons/lucide/mail.svg
63
+ - assets/icons/lucide/map-pin.svg
64
+ - assets/icons/lucide/map.svg
65
+ - assets/icons/lucide/menu.svg
66
+ - assets/icons/lucide/moon.svg
67
+ - assets/icons/lucide/printer.svg
68
+ - assets/icons/lucide/rss.svg
69
+ - assets/icons/lucide/search.svg
70
+ - assets/icons/lucide/sun.svg
71
+ - assets/icons/lucide/tag.svg
72
+ - assets/icons/lucide/triangle-alert.svg
73
+ - assets/icons/lucide/x.svg
74
+ - assets/icons/simple/bluesky.svg
75
+ - assets/icons/simple/discord.svg
76
+ - assets/icons/simple/facebook.svg
77
+ - assets/icons/simple/github.svg
78
+ - assets/icons/simple/instagram.svg
79
+ - assets/icons/simple/mastodon.svg
80
+ - assets/icons/simple/medium.svg
81
+ - assets/icons/simple/rss.svg
82
+ - assets/icons/simple/spotify.svg
83
+ - assets/icons/simple/telegram.svg
84
+ - assets/icons/simple/tiktok.svg
85
+ - assets/icons/simple/x.svg
86
+ - assets/icons/simple/youtube.svg
87
+ - lib/jekyll-icon-flow.rb
88
+ - lib/jekyll/icon_flow.rb
89
+ - lib/jekyll/icon_flow/adapter.rb
90
+ - lib/jekyll/icon_flow/adapters/custom.rb
91
+ - lib/jekyll/icon_flow/adapters/lucide.rb
92
+ - lib/jekyll/icon_flow/adapters/simple.rb
93
+ - lib/jekyll/icon_flow/error.rb
94
+ - lib/jekyll/icon_flow/icon_ref_tag.rb
95
+ - lib/jekyll/icon_flow/icon_tag.rb
96
+ - lib/jekyll/icon_flow/svg_reader.rb
97
+ - lib/jekyll/icon_flow/version.rb
98
+ homepage: https://github.com/gundestrup/jekyll-icon-flow
99
+ licenses:
100
+ - AGPL-3.0-or-later
101
+ metadata:
102
+ homepage_uri: https://github.com/gundestrup/jekyll-icon-flow
103
+ source_code_uri: https://github.com/gundestrup/jekyll-icon-flow/tree/main
104
+ changelog_uri: https://github.com/gundestrup/jekyll-icon-flow/blob/main/CHANGELOG.md
105
+ bug_tracker_uri: https://github.com/gundestrup/jekyll-icon-flow/issues
106
+ rubygems_mfa_required: 'true'
107
+ rdoc_options: []
108
+ require_paths:
109
+ - lib
110
+ required_ruby_version: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: 3.3.0
115
+ required_rubygems_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ requirements: []
121
+ rubygems_version: 3.6.9
122
+ specification_version: 4
123
+ summary: Pack-agnostic inline SVG icon tags for Jekyll
124
+ test_files: []