oxidized-web 0.16.0 → 0.17.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.
Potentially problematic release.
This version of oxidized-web might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.gitignore +4 -1
- data/.rubocop.yml +22 -2
- data/CHANGELOG.md +18 -1
- data/README.md +13 -3
- data/Rakefile +9 -4
- data/docs/configuration.md +90 -0
- data/docs/development.md +42 -40
- data/lib/oxidized/web/public/scripts/oxidized.js +13 -13
- data/lib/oxidized/web/public/weblibs/bootstrap-icons.css +31 -3
- data/lib/oxidized/web/public/weblibs/bootstrap.bundle.js +20 -19
- data/lib/oxidized/web/public/weblibs/bootstrap.bundle.js.map +1 -1
- data/lib/oxidized/web/public/weblibs/bootstrap.css +110 -124
- data/lib/oxidized/web/public/weblibs/bootstrap.css.map +1 -1
- data/lib/oxidized/web/public/weblibs/bootstrap.js +20 -17
- data/lib/oxidized/web/public/weblibs/bootstrap.js.map +1 -1
- data/lib/oxidized/web/public/weblibs/buttons.bootstrap5.css +3 -3
- data/lib/oxidized/web/public/weblibs/buttons.colVis.js +14 -5
- data/lib/oxidized/web/public/weblibs/dataTables.bootstrap5.css +111 -17
- data/lib/oxidized/web/public/weblibs/dataTables.buttons.js +25 -7
- data/lib/oxidized/web/public/weblibs/dataTables.js +337 -107
- data/lib/oxidized/web/public/weblibs/dayjs-plugin-utc.min.js +1 -0
- data/lib/oxidized/web/public/weblibs/dayjs.min.js +1 -0
- data/lib/oxidized/web/public/weblibs/fonts/bootstrap-icons.woff +0 -0
- data/lib/oxidized/web/public/weblibs/fonts/bootstrap-icons.woff2 +0 -0
- data/lib/oxidized/web/version.rb +1 -1
- data/lib/oxidized/web/views/diffs.haml +6 -7
- data/lib/oxidized/web/views/head.haml +4 -0
- data/lib/oxidized/web/views/node.haml +3 -2
- data/lib/oxidized/web/views/nodes.haml +2 -2
- data/lib/oxidized/web/views/stats.haml +2 -2
- data/lib/oxidized/web/views/version.haml +1 -2
- data/lib/oxidized/web/views/versions.haml +6 -5
- data/lib/oxidized/web/webapp.rb +40 -25
- data/lib/oxidized/web.rb +71 -26
- data/oxidized-web.gemspec +22 -13
- data/package-lock.json +37 -25
- data/package.json +7 -5
- data/spec/spec_helper.rb +1 -0
- data/spec/web/node/show_spec.rb +100 -0
- data/spec/web/node/version_spec.rb +161 -0
- data/spec/{node_spec.rb → web/node_spec.rb} +1 -1
- data/spec/{nodes_spec.rb → web/nodes_spec.rb} +1 -1
- data/spec/{root_spec.rb → web/root_spec.rb} +1 -1
- data/spec/{webapp_spec.rb → web/webapp_spec.rb} +1 -1
- data/spec/web_spec.rb +98 -0
- metadata +69 -69
- data/.rubocop_todo.yml +0 -64
- data/spec/node_version_spec.rb +0 -102
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a14e46c410d51b9da6a86d6d67fc35bdaed177adfbb006b1e2df4ec12c958bc
|
4
|
+
data.tar.gz: 7dc9144e706052817ca761a4e80151d40ee73fd7467c31894d2d5fa21c4767b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5b12efffe62f84156e27d30405a2934a9340373bd4b6b5ad9e3df41d65258bc9ab65221c5f153b813b41b17835a673b576c746da3f497332a870aaadec3a26e
|
7
|
+
data.tar.gz: 8fb63afdf4b7dc9dbca3e052b75efc2377506171764456353e1478be36ac82629be3f87445918a2471f13f143280b5cd021d8fa34b6ea834deccd74b95b891b5
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
inherit_from: .rubocop_todo.yml
|
2
1
|
plugins:
|
3
2
|
- rubocop-rails
|
4
3
|
- rubocop-rake
|
@@ -14,12 +13,31 @@ AllCops:
|
|
14
13
|
Gemspec/DevelopmentDependencies:
|
15
14
|
EnforcedStyle: gemspec
|
16
15
|
|
16
|
+
Metrics/AbcSize:
|
17
|
+
Enabled: false
|
18
|
+
|
17
19
|
Metrics/ClassLength:
|
18
|
-
|
20
|
+
Enabled: false
|
21
|
+
|
22
|
+
Metrics/PerceivedComplexity:
|
23
|
+
Enabled: false
|
24
|
+
|
25
|
+
Metrics/CyclomaticComplexity:
|
26
|
+
Enabled: false
|
27
|
+
|
28
|
+
Metrics/MethodLength:
|
29
|
+
Enabled: false
|
19
30
|
|
20
31
|
Metrics/BlockLength:
|
21
32
|
Max: 150
|
22
33
|
|
34
|
+
# Not using Rails, so no timezones
|
35
|
+
Rails/TimeZone:
|
36
|
+
Enabled: false
|
37
|
+
|
38
|
+
Rails/RakeEnvironment:
|
39
|
+
Enabled: false
|
40
|
+
|
23
41
|
Style/Documentation:
|
24
42
|
Enabled: false
|
25
43
|
|
@@ -70,3 +88,5 @@ Style/HashSyntax:
|
|
70
88
|
Style/RescueModifier:
|
71
89
|
Enabled: false
|
72
90
|
|
91
|
+
Style/NumericLiterals:
|
92
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,23 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
6
|
+
|
7
|
+
## [0.17.0 – 2025-07-18]
|
8
|
+
|
9
|
+
### Added
|
10
|
+
- Documentation of the configuration (@robertcheramy)
|
11
|
+
|
12
|
+
### Changed
|
13
|
+
- Update weblibs to the latest versions (@robertcheramy)
|
14
|
+
- Depend on oxidized 0.34.0 (configuration of oxidized web as an extension) (@robertcheramy)
|
15
|
+
- Use JSON to format the node metadata in /node/show (@robertcheramy)
|
16
|
+
|
17
|
+
### Fixed
|
18
|
+
- Run puma directly, so that it does not rename the oxidized process. Fixes: 349 (@robertcheramy)
|
19
|
+
- Display local time correctly and use epoch as timestamps in the URLs. Fixes: #258 and #356 (@robertcheramy)
|
20
|
+
- Hide node vars when listed in the configuration entry hide_node_vars. Fixes: #344 (@robertcheramy)
|
21
|
+
- /node/next/: Prefer JSON.parse over JSON.load (@robertcheramy)
|
22
|
+
|
6
23
|
## [0.16.0 - 2025-03-25]
|
7
24
|
This release introduces the possibility for an extended configuration of
|
8
25
|
oxidized-web in the oxidized configuration file. Oxidized versions after 0.32.2
|
@@ -13,7 +30,7 @@ will only work with oxidized-web version 0.16.0 or later.
|
|
13
30
|
|
14
31
|
### Fixed
|
15
32
|
- the table preferences (pagelength, column visibility, search) are stored in the local browser cache. Fixes #315 #314 #265 #211 (@robertcheramy)
|
16
|
-
- Update "refresh" and "
|
33
|
+
- Update "refresh" and "Update node list" to more meaningful texts (@robertcheramy)
|
17
34
|
|
18
35
|
## [0.15.1 – 2025-02-20]
|
19
36
|
This patch release fixes javascript errors.
|
data/README.md
CHANGED
@@ -3,15 +3,25 @@
|
|
3
3
|
[](https://github.com/ytti/oxidized-web/actions/workflows/ruby.yml)
|
4
4
|
[](http://badge.fury.io/rb/oxidized-web)
|
5
5
|
|
6
|
-
Web
|
6
|
+
Web user interface and RESTful API for Oxidized.
|
7
7
|
|
8
|
-
|
8
|
+
## Installation
|
9
|
+
This is not useful independently, see https://github.com/ytti/oxidized for
|
10
|
+
install instructions.
|
9
11
|
|
12
|
+
Note: because of its dependencies, installing the `oxidized-web` gem will
|
13
|
+
install `oxidized` automatically.
|
14
|
+
|
15
|
+
## Configuration
|
16
|
+
`oxidized-web` is configured through the configuration of `oxidized`,
|
17
|
+
in the `extension` section. For details, see
|
18
|
+
[docs/configuration.md](docs/configuration.md).
|
19
|
+
|
20
|
+
## Development
|
10
21
|
If you wonder how to run oxidized-web from git for development, have a look at
|
11
22
|
[docs/development.md](docs/development.md).
|
12
23
|
|
13
24
|
## License and Copyright
|
14
|
-
|
15
25
|
Copyright 2013-2015 Saku Ytti <saku@ytti.fi>
|
16
26
|
2013-2015 Samer Abdel-Hafez <sam@arahant.net>
|
17
27
|
|
data/Rakefile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
2
|
require 'rake/testtask'
|
3
3
|
|
4
|
-
gemspec =
|
4
|
+
gemspec = Gem::Specification.load(Dir['*.gemspec'].first)
|
5
5
|
gemfile = "#{[gemspec.name, gemspec.version].join('-')}.gem"
|
6
6
|
|
7
7
|
# Integrate Rubocop if available
|
@@ -9,7 +9,6 @@ begin
|
|
9
9
|
require 'rubocop/rake_task'
|
10
10
|
|
11
11
|
RuboCop::RakeTask.new
|
12
|
-
task(:default).prerequisites << task(:rubocop)
|
13
12
|
rescue LoadError
|
14
13
|
task :rubocop do
|
15
14
|
puts 'Install rubocop to run its rake tasks'
|
@@ -32,7 +31,9 @@ task :test do
|
|
32
31
|
end
|
33
32
|
end
|
34
33
|
|
34
|
+
desc 'build the gem'
|
35
35
|
task build: :chmod
|
36
|
+
|
36
37
|
## desc 'Install gem'
|
37
38
|
## task :install => :build do
|
38
39
|
## system "sudo -Es sh -c \'umask 022; gem install gems/#{file}\'"
|
@@ -53,7 +54,7 @@ task push: :tag do
|
|
53
54
|
system "gem push pkg/#{gemfile}"
|
54
55
|
end
|
55
56
|
|
56
|
-
desc '
|
57
|
+
desc 'Normalize file permissions'
|
57
58
|
task :chmod do
|
58
59
|
xbit = %w[]
|
59
60
|
dirs = []
|
@@ -99,6 +100,10 @@ task :weblibs do
|
|
99
100
|
weblibs << 'node_modules/datatables.net-buttons/js/dataTables.buttons.js'
|
100
101
|
weblibs << 'node_modules/datatables.net-buttons/js/buttons.colVis.js'
|
101
102
|
|
103
|
+
# dayjs
|
104
|
+
weblibs << 'node_modules/dayjs/dayjs.min.js'
|
105
|
+
weblibs << 'node_modules/dayjs-plugin-utc/dist/dayjs-plugin-utc.min.js'
|
106
|
+
|
102
107
|
weblibs.each do |w|
|
103
108
|
cp(w, 'lib/oxidized/web/public/weblibs')
|
104
109
|
end
|
@@ -108,4 +113,4 @@ task :weblibs do
|
|
108
113
|
end
|
109
114
|
end
|
110
115
|
|
111
|
-
task default:
|
116
|
+
task default: %i[rubocop test]
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# Basic configuration
|
2
|
+
The RESTful API and web interface are enabled by installing the `oxidized-web`
|
3
|
+
gem and configuring the `extensions.oxidized-web:` section in the configuration
|
4
|
+
file:
|
5
|
+
```yaml
|
6
|
+
extensions:
|
7
|
+
oxidized-web:
|
8
|
+
load: true
|
9
|
+
# enter your configuration here
|
10
|
+
```
|
11
|
+
|
12
|
+
You can set the following parameter:
|
13
|
+
- `load`: `true`/`false`: Enables or disables the `oxidized-web` extension
|
14
|
+
(default: `false`)
|
15
|
+
- `listen`: Specifies the interface to bind to (default: `127.0.0.1`). Valid
|
16
|
+
options:
|
17
|
+
- `127.0.0.1`: Allows IPv4 connections from localhost only
|
18
|
+
- `'[::1]'`: Allows IPv6 connections from localhost only
|
19
|
+
- `<IPv4-Address>` or `'[<IPv6-Address>]'`: Binds to a specific interface
|
20
|
+
- `0.0.0.0`: Binds to any IPv4 interface
|
21
|
+
- `'[::]'`: Binds to any IPv4 and IPv6 interface
|
22
|
+
- `port`: Specifies the TCP port to listen to (default: `8888`)
|
23
|
+
- `url_prefix`: Defines a URL prefix (default: no prefix)
|
24
|
+
- `vhosts`: A list of virtual hosts to listen to. If not specified, it will
|
25
|
+
respond to any virtual host.
|
26
|
+
|
27
|
+
## Examples
|
28
|
+
|
29
|
+
```yaml
|
30
|
+
# Listen on http://[::1]:8888/
|
31
|
+
extensions:
|
32
|
+
oxidized-web:
|
33
|
+
load: true
|
34
|
+
listen: '[::1]'
|
35
|
+
port: 8888
|
36
|
+
```
|
37
|
+
|
38
|
+
```yaml
|
39
|
+
# Listen on http://127.0.0.1:8888/
|
40
|
+
extensions:
|
41
|
+
oxidized-web:
|
42
|
+
load: true
|
43
|
+
listen: 127.0.0.1
|
44
|
+
port: 8888
|
45
|
+
```
|
46
|
+
|
47
|
+
```yaml
|
48
|
+
# Listen on http://[2001:db8:0:face:b001:0:dead:beaf]:8888/oxidized/
|
49
|
+
extensions:
|
50
|
+
oxidized-web:
|
51
|
+
load: true
|
52
|
+
listen: '[2001:db8:0:face:b001:0:dead:beaf]'
|
53
|
+
port: 8888
|
54
|
+
url_prefix: oxidized
|
55
|
+
```
|
56
|
+
|
57
|
+
```yaml
|
58
|
+
# Listen on http://10.0.0.1:8000/oxidized/
|
59
|
+
extensions:
|
60
|
+
oxidized-web:
|
61
|
+
load: true
|
62
|
+
listen: 10.0.0.1
|
63
|
+
port: 8000
|
64
|
+
url_prefix: oxidized
|
65
|
+
```
|
66
|
+
|
67
|
+
```yaml
|
68
|
+
# Listen on any interface to http://oxidized.rocks:8888 and
|
69
|
+
# http://oxidized:8888
|
70
|
+
extensions:
|
71
|
+
oxidized-web:
|
72
|
+
load: true
|
73
|
+
listen: '[::]'
|
74
|
+
url_prefix: oxidized
|
75
|
+
vhosts:
|
76
|
+
- oxidized.rocks
|
77
|
+
- oxidized
|
78
|
+
```
|
79
|
+
|
80
|
+
# Hide node vars
|
81
|
+
Some node vars (enable, password) can contain sensible data. You can list the
|
82
|
+
vars to be hidden under `hide_node_vars`:
|
83
|
+
```yaml
|
84
|
+
extensions:
|
85
|
+
oxidized-web:
|
86
|
+
load: true
|
87
|
+
hide_node_vars:
|
88
|
+
- enable
|
89
|
+
- password
|
90
|
+
```
|
data/docs/development.md
CHANGED
@@ -21,7 +21,7 @@ bundle exec oxidized
|
|
21
21
|
Changes to haml templates are reloaded on the fly. For changes to the ruby
|
22
22
|
scripts, you have to stop an restart `bundle exec oxidized`.
|
23
23
|
|
24
|
-
##
|
24
|
+
## Parallel development between oxidized and oxidized-web
|
25
25
|
You may need to make some changes in oxidized **and** oxidized-web. For this,
|
26
26
|
git clone oxidized and oxidized-web in a common root directory.
|
27
27
|
|
@@ -39,12 +39,12 @@ bundle install
|
|
39
39
|
bundle exec bin/oxidized
|
40
40
|
```
|
41
41
|
|
42
|
-
Be careful when
|
42
|
+
Be careful when committing your work in oxidized *NOT* to include the changes to
|
43
43
|
Gemfile, as this is a local change for development. I (@robertcheramy) didn't
|
44
44
|
find a better way to do this, better ideas are welcome :-)
|
45
45
|
|
46
46
|
If your changes to oxidized **AND** oxidzed-web are dependent from another, make
|
47
|
-
sure you document this in the
|
47
|
+
sure you document this in the respective CHANGELOG.md, so that everyone is
|
48
48
|
informed at the next release.
|
49
49
|
|
50
50
|
Note: you can also add the dependency to oxidized in oxidized-web, in the same
|
@@ -85,6 +85,12 @@ forget to document your changes in CHANGELOG.md.
|
|
85
85
|
|
86
86
|
# How to release a new version of Oxidized-web?
|
87
87
|
|
88
|
+
## Version numbering
|
89
|
+
Oxidized-web versions are numbered like major.minor.patch
|
90
|
+
- currently, the major version is 0.
|
91
|
+
- minor is incremented when releasing new features.
|
92
|
+
- patch is incremented when releasing fixes only.
|
93
|
+
|
88
94
|
## Review changes
|
89
95
|
Run `git diff 0.xx.yy..master` (where `0.xx.yy` is to be changed to the last
|
90
96
|
release) and review all the changes that have been done. Have a specific look
|
@@ -100,73 +106,72 @@ bundle update
|
|
100
106
|
bundle outaded
|
101
107
|
```
|
102
108
|
|
103
|
-
|
109
|
+
Test again after updating!
|
104
110
|
|
105
111
|
## Update the weblibs to the latest versions
|
106
112
|
```
|
107
113
|
npm outdated
|
108
114
|
```
|
109
115
|
|
110
|
-
|
111
|
-
|
112
|
-
## Update rubocup .rubocop_todo.yml
|
113
|
-
Run `bundle exec rubocop --auto-gen-config`,
|
114
|
-
and make sure `bundle exec rake` passes after it.
|
115
|
-
|
116
|
-
If you change some code => Restart the release process at the beginning ;-)
|
116
|
+
Test again after updating!
|
117
117
|
|
118
118
|
## Make sure the file permissions are correct
|
119
119
|
Run `bundle exec rake chmod`
|
120
120
|
|
121
|
-
##
|
122
|
-
|
123
|
-
defined tests in `/spec`.
|
121
|
+
## Create a release branch
|
122
|
+
Name the release branch `release/0.xx.yy`
|
124
123
|
|
125
|
-
|
124
|
+
Update CHANGELOG.md:
|
125
|
+
- review it
|
126
|
+
- add release notes
|
127
|
+
- set the new version (replace `[Unreleased]` with `[0.xx.yy – 202Y-MM-DD]`)
|
128
|
+
|
129
|
+
Change the version in `lib/oxidized/web/version.rb`
|
126
130
|
|
127
|
-
|
131
|
+
Upload the branch to github, make a Pull Request for it.
|
128
132
|
|
129
|
-
|
133
|
+
## Test!
|
134
|
+
Run `bundle exec rake` on the git repository to check the code against rubocop
|
135
|
+
and run the defined tests in `/spec`.
|
136
|
+
|
137
|
+
Run Oxidized-web from git against the latest Oxidized version `bundle exec oxdized`
|
130
138
|
|
131
139
|
When testing the web application, open the javascript console in the browser to
|
132
140
|
see any errors.
|
133
141
|
|
134
|
-
## Version numbering
|
135
|
-
Oxidized-web versions are nummered like major.minor.patch
|
136
|
-
- currently, the major version is 0.
|
137
|
-
- minor is incremented when releasing new features.
|
138
|
-
- patch is incremented when releasing fixes only.
|
139
|
-
|
140
142
|
## Release
|
141
|
-
1.
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
```
|
143
|
+
1. Merge the Pull Request into master with the commit message
|
144
|
+
`chore(release): release version 0.3x.y`
|
145
|
+
2. `git pull` master
|
146
|
+
3. Tag the commit with `git tag -a 0.xx.yy -m "Release 0.xx.yy"`
|
147
|
+
4. Build the gem with ‘rake build’
|
148
|
+
5. Run `git diff` to check if there have been more changes (there shouldn't)
|
149
|
+
6. Install an test the gem locally
|
150
|
+
```shell
|
150
151
|
gem install --user-install pkg/oxidized-web-0.xx.yy.gem
|
151
152
|
~/.local/share/gem/ruby/3.1.0/bin/oxidized
|
152
153
|
```
|
154
|
+
|
153
155
|
## Release in github
|
154
|
-
|
156
|
+
Push the tag to github:
|
155
157
|
```
|
156
|
-
git push
|
157
158
|
git push origin 0.xx.yy
|
158
159
|
```
|
159
160
|
|
160
|
-
|
161
|
-
-
|
162
|
-
- Only describe major changes, and refer to CHANGELOG.md
|
161
|
+
Make a release from the tag in github.
|
162
|
+
- Take the release notes frm CHANGELOG.md
|
163
163
|
- List new contributors (generated automatically)
|
164
|
+
- Keep the Full Changelog (generated automatically)
|
164
165
|
|
165
166
|
## Release in rubygems
|
166
167
|
Push the gem with ‘rake push’
|
167
168
|
|
168
169
|
You need an account at rubygems which is allowed to push oxidized
|
169
170
|
|
171
|
+
## Release in docker.io
|
172
|
+
In order to release in docker.io, oxidized be released to a new version,
|
173
|
+
as the container is build there.
|
174
|
+
|
170
175
|
## Update CHANGELOG.md for next release
|
171
176
|
Add
|
172
177
|
```
|
@@ -181,6 +186,3 @@ Add
|
|
181
186
|
```
|
182
187
|
And push to github
|
183
188
|
|
184
|
-
## Congratulate yourself
|
185
|
-
Great job! Treat yourself to your favorite drink, you deserve it!
|
186
|
-
|
@@ -2,22 +2,22 @@ var convertTime = function() {
|
|
2
2
|
/* Convert UTC times to local browser times
|
3
3
|
* Requires that the times on the server are UTC
|
4
4
|
* Requires a class name of `time` to be set on element desired to be changed
|
5
|
-
* Requires that element
|
6
|
-
*
|
5
|
+
* Requires that element has an attribute `epoch` containing the seconds since
|
6
|
+
* 1.1.1970 UTC.
|
7
7
|
*/
|
8
8
|
$('.time').each(function() {
|
9
9
|
var content = $(this).text();
|
10
|
-
if(content === 'never' || content === 'unknown' || content === '') {
|
11
|
-
|
12
|
-
|
13
|
-
var
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
var
|
18
|
-
var
|
19
|
-
|
20
|
-
$(this).text(
|
10
|
+
if(content === 'never' || content === 'unknown' || content === '') {
|
11
|
+
return;
|
12
|
+
}
|
13
|
+
var epoch = $(this).attr('epoch');
|
14
|
+
if(epoch === undefined) {
|
15
|
+
return;
|
16
|
+
}
|
17
|
+
var utcTime = Number(epoch);
|
18
|
+
var dj = dayjs.unix(utcTime).local();
|
19
|
+
|
20
|
+
$(this).text(dj.format('YYYY-MM-DD HH:mm:ss [(UTC]Z[)]'));
|
21
21
|
});
|
22
22
|
};
|
23
23
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap Icons v1.
|
2
|
+
* Bootstrap Icons v1.13.1 (https://icons.getbootstrap.com/)
|
3
3
|
* Copyright 2019-2024 The Bootstrap Authors
|
4
4
|
* Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)
|
5
5
|
*/
|
@@ -7,8 +7,8 @@
|
|
7
7
|
@font-face {
|
8
8
|
font-display: block;
|
9
9
|
font-family: "bootstrap-icons";
|
10
|
-
src: url("./fonts/bootstrap-icons.woff2?
|
11
|
-
url("./fonts/bootstrap-icons.woff?
|
10
|
+
src: url("./fonts/bootstrap-icons.woff2?e34853135f9e39acf64315236852cd5a") format("woff2"),
|
11
|
+
url("./fonts/bootstrap-icons.woff?e34853135f9e39acf64315236852cd5a") format("woff");
|
12
12
|
}
|
13
13
|
|
14
14
|
.bi::before,
|
@@ -2076,3 +2076,31 @@ url("./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6") format("wof
|
|
2076
2076
|
.bi-suitcase2-fill::before { content: "\f901"; }
|
2077
2077
|
.bi-suitcase2::before { content: "\f902"; }
|
2078
2078
|
.bi-vignette::before { content: "\f903"; }
|
2079
|
+
.bi-bluesky::before { content: "\f7f9"; }
|
2080
|
+
.bi-tux::before { content: "\f904"; }
|
2081
|
+
.bi-beaker-fill::before { content: "\f905"; }
|
2082
|
+
.bi-beaker::before { content: "\f906"; }
|
2083
|
+
.bi-flask-fill::before { content: "\f907"; }
|
2084
|
+
.bi-flask-florence-fill::before { content: "\f908"; }
|
2085
|
+
.bi-flask-florence::before { content: "\f909"; }
|
2086
|
+
.bi-flask::before { content: "\f90a"; }
|
2087
|
+
.bi-leaf-fill::before { content: "\f90b"; }
|
2088
|
+
.bi-leaf::before { content: "\f90c"; }
|
2089
|
+
.bi-measuring-cup-fill::before { content: "\f90d"; }
|
2090
|
+
.bi-measuring-cup::before { content: "\f90e"; }
|
2091
|
+
.bi-unlock2-fill::before { content: "\f90f"; }
|
2092
|
+
.bi-unlock2::before { content: "\f910"; }
|
2093
|
+
.bi-battery-low::before { content: "\f911"; }
|
2094
|
+
.bi-anthropic::before { content: "\f912"; }
|
2095
|
+
.bi-apple-music::before { content: "\f913"; }
|
2096
|
+
.bi-claude::before { content: "\f914"; }
|
2097
|
+
.bi-openai::before { content: "\f915"; }
|
2098
|
+
.bi-perplexity::before { content: "\f916"; }
|
2099
|
+
.bi-css::before { content: "\f917"; }
|
2100
|
+
.bi-javascript::before { content: "\f918"; }
|
2101
|
+
.bi-typescript::before { content: "\f919"; }
|
2102
|
+
.bi-fork-knife::before { content: "\f91a"; }
|
2103
|
+
.bi-globe-americas-fill::before { content: "\f91b"; }
|
2104
|
+
.bi-globe-asia-australia-fill::before { content: "\f91c"; }
|
2105
|
+
.bi-globe-central-south-asia-fill::before { content: "\f91d"; }
|
2106
|
+
.bi-globe-europe-africa-fill::before { content: "\f91e"; }
|