oxidized-web 0.17.1 → 0.18.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1aff1246feb59461d9b7e559bdf8e9d3dbca3b850c0349e8dee7aed6f059aed4
4
- data.tar.gz: b6653474dba5edcd452a4d146fe08c36abef240ac6a584668ca670d8e94eec43
3
+ metadata.gz: 65d2167a7730774cc00bd44654db8a47406c705d792e2f4de65a29139e472a2e
4
+ data.tar.gz: 54ad4889bfad1df807091fe256ccb05f01adad35c3a3570bd0b11a7376cb4028
5
5
  SHA512:
6
- metadata.gz: b53b5b69e72018995f7d03d58f3f1fbba72b49a48e4aa12d2690000ee646a59ca2e97526d9d7d717a6433d1a3989c9f8eb615f8bfdd6e9c78365bfb7e487f03a
7
- data.tar.gz: e1c2ecd5a22e7822e4202ad1bdd3e5c1e6a077bf5f8be6adb5e858bce111da89882df3834dce5fb1c12ba3afd3040037662fa0b7a303c8ab863f8dc7e831a7a2
6
+ metadata.gz: a69af301e9965a59c8dbae6ba4c935b4c7e77f645fb0f040d208f922deb65d18218bb4773a9a13b28d9c521eaa34ff53666064196f34a3edc810b32581405e79
7
+ data.tar.gz: f08cc40327630149b8c08b7a9a32a6b13b166e35fa5c55b7d4c7ef3c765dd1d805b7f98eb1503fe4ce6f57d0509b493748f8827dd26a47d1b00644c17d8a0830
@@ -40,11 +40,11 @@ jobs:
40
40
 
41
41
  steps:
42
42
  - name: Checkout repository
43
- uses: actions/checkout@v4
43
+ uses: actions/checkout@v6
44
44
 
45
45
  # Initializes the CodeQL tools for scanning.
46
46
  - name: Initialize CodeQL
47
- uses: github/codeql-action/init@v3
47
+ uses: github/codeql-action/init@v4
48
48
  with:
49
49
  languages: ${{ matrix.language }}
50
50
  # If you wish to specify custom queries, you can do so here or in a config file.
@@ -58,7 +58,7 @@ jobs:
58
58
  # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
59
59
  # If this step fails, then you should remove it and run the build manually (see below)
60
60
  - name: Autobuild
61
- uses: github/codeql-action/autobuild@v3
61
+ uses: github/codeql-action/autobuild@v4
62
62
 
63
63
  # ℹ️ Command-line programs to run using the OS shell.
64
64
  # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -71,6 +71,6 @@ jobs:
71
71
  # ./location_of_script_within_repo/buildscript.sh
72
72
 
73
73
  - name: Perform CodeQL Analysis
74
- uses: github/codeql-action/analyze@v3
74
+ uses: github/codeql-action/analyze@v4
75
75
  with:
76
76
  category: "/language:${{matrix.language}}"
@@ -23,7 +23,7 @@ jobs:
23
23
  continue-on-error: ${{ matrix.ruby-version == 'ruby-head' }}
24
24
 
25
25
  steps:
26
- - uses: actions/checkout@v4
26
+ - uses: actions/checkout@v6
27
27
  - name: Set up Ruby
28
28
  # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
29
29
  # change this to (see https://github.com/ruby/setup-ruby#versioning):
@@ -11,7 +11,7 @@ jobs:
11
11
  stale:
12
12
  runs-on: ubuntu-latest
13
13
  steps:
14
- - uses: actions/stale@v9
14
+ - uses: actions/stale@v10
15
15
  with:
16
16
  stale-issue-message: 'This issue is stale because it has been open 90 days with no activity.'
17
17
  stale-pr-message: 'This PR is stale because it has been open 90 days with no activity.'
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
+ ## [0.18.0 – 2025-12-03]
7
+ It's finally here - dark mode. Enjoy!
8
+
9
+ ### Added
10
+ - Support for dark mode (@robertcheramy)
11
+
12
+ ### Changed
13
+ - Dependency on Oxidized => 0.34.1 to support future Oxidized releases (@robertcheramy)
14
+ - Update web libraries to the latest versions (@robertcheramy)
15
+ - Allow latest gems versions (@robertcheramy)
16
+ - Limit Haml gem to < 7.0.0, as it doesn't support Ruby 3.1 (@robertcheramy)
17
+ - Allow enumeration of nodes contained in the `default` group (@oogali)
18
+
19
+ ### Fixed
20
+ - Remove redundant dependency on bundler producing a CI failure on ruby-head (@robertcheramy)
21
+
22
+
6
23
  ## [0.17.1 – 2025-08-01]
7
24
  ### Changed
8
25
  - Dependency on Oxidized 0.34.1 (@robertcheramy)
data/docs/development.md CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  # How to run / develop oxidized-web from git
7
7
  ## Using the latest oxidized package
8
- When you develop oxidized-web, it is quite simple to run it from git. As it depends on oxidized,
8
+ When you develop oxidized-web, it is simple to run it from git. As it depends on oxidized,
9
9
  oxidized will be included in `bundle install`, and you just have to run `bundle exec oxidized`.
10
10
  You need bundler, if not installed yet. On debian-based systems, you can run `sudo apt install ruby-bundler` to install it.
11
11
 
@@ -60,12 +60,12 @@ bundle exec oxidized
60
60
  ```
61
61
 
62
62
 
63
- # Update the weblibs
64
- The weblibs are beeing downloaded and maintained by `npm`.
63
+ # Update the Web Libraries
64
+ The web libraries are downloaded and managed with `npm`.
65
65
 
66
- Run `npm install` to download the weblibs. They will be stored under
67
- `node_modules`.
68
- The file `package-lock.json` (wich is tracked in git) ensures that every
66
+ Run `npm install` to download the web libraries. They will be stored under
67
+ `/node_modules`.
68
+ The file `package-lock.json` (which is tracked in git) ensures that every
69
69
  developer gets the same versions.
70
70
 
71
71
  Run `npm outdated` to get a list of new releases:
@@ -76,11 +76,11 @@ Package Current Wanted Latest Location De
76
76
  datatables.net-bs5 2.0.7 2.0.8 2.0.8 node_modules/datatables.net-bs5 oxidized-web
77
77
  ```
78
78
 
79
- Run `npm update` to get the latest releases. They still are not used
79
+ Run `npm update` to get the latest releases. They still are not used by
80
80
  oxidzed-web. Run `rake weblibs` to sync `node_modules` with
81
81
  `lib/oxidized/web/public/weblibs`.
82
82
 
83
- Test, and commit the changes to the weblibs **and** package-lock.json. Don't
83
+ Test, and commit the changes to the web libraries **and** package-lock.json. Don't
84
84
  forget to document your changes in CHANGELOG.md.
85
85
 
86
86
  # How to release a new version of Oxidized-web?
@@ -111,7 +111,7 @@ bundle outaded
111
111
 
112
112
  Test again after updating!
113
113
 
114
- ## Update the weblibs to the latest versions
114
+ ## Update the web libraries to the latest versions
115
115
  ```
116
116
  npm outdated
117
117
  ```
@@ -125,15 +125,17 @@ Run `bundle exec rake chmod`
125
125
  Run `bundle exec rake` on the git repository to check the code against rubocop
126
126
  and run the defined tests in `/spec`.
127
127
 
128
- Run Oxidized-web from git against the latest Oxidized version `bundle exec oxdized`
128
+ Run Oxidized-web from git against the latest Oxidized version `bundle exec oxidized`
129
129
 
130
130
  When testing the web application, open the javascript console in the browser to
131
131
  see any errors.
132
132
 
133
133
  ## Bump the version
134
134
  Update CHANGELOG.md:
135
- - review it
136
- - add release notes
135
+ - review it.
136
+ - add release notes.
137
+ - look into the next Milestone and inform about important issues planned for
138
+ next release.
137
139
  - set the new version (replace `[Unreleased]` with `[0.xx.yy – 202Y-MM-DD]`)
138
140
 
139
141
  Change the version in `lib/oxidized/web/version.rb`
@@ -9,31 +9,41 @@
9
9
  border-radius: 2px; }
10
10
 
11
11
  .success {
12
- background-color: #64FE2E; }
12
+ background-color: var(--bs-success);
13
+ }
13
14
 
14
15
  .no_connection {
15
- background-color: #FF0000; }
16
+ background-color: var(--bs-danger);
17
+ }
16
18
 
17
19
  .never {
18
- background-color: #58ACFA; }
20
+ background-color: var(--bs-info);
21
+ }
19
22
 
20
23
  /* node/version/diffs */
21
24
  .added {
22
- background-color: #DBFFDB; }
25
+ background-color: var(--bs-success-bg-subtle);
26
+ color: var(--bs-success-text-emphasis);
27
+ }
23
28
 
24
29
  .deleted {
25
- background-color: #FFDDDD; }
26
-
30
+ background-color: var(--bs-danger-bg-subtle);
31
+ color: var(--bs-danger-text-emphasis);
32
+ }
27
33
 
28
34
  .diff-index {
29
- background-color: #FFFF99; }
35
+ background-color: var(--bs-warning-bg-subtle);
36
+ color: var(--bs-warning-text-emphasis);
37
+ }
30
38
 
31
39
  .diff-empty {
32
- background-color: #F0F0F0; }
40
+ background-color: var(--bs-secondary-bg);
41
+ color: var(--bs-secondary-color);
42
+ }
33
43
 
34
44
  .diffs, .diffs_old, .diffs_new {
35
- background-color: #FAFAFA;
36
- border: 2px solid #ccc;
45
+ background-color: var(--bs-body-bg);
46
+ border: 2px solid var(--bs-border-color);
37
47
  border-radius: 5px;
38
48
  padding: 3px;
39
49
  font-family: Consolas, "Lucida Console", monospace;
@@ -56,4 +66,5 @@
56
66
 
57
67
  .new_version_title {
58
68
  margin-left: 51%;
59
- font-weight: bold; }
69
+ font-weight: bold;
70
+ }
@@ -0,0 +1,55 @@
1
+ // Theme Toggle Functionality
2
+ (function() {
3
+ 'use strict';
4
+
5
+ /**
6
+ * Initialize theme on page load
7
+ * Retrieves saved theme from localStorage or defaults to 'light'
8
+ */
9
+ function initTheme() {
10
+ const savedTheme = localStorage.getItem('theme') || 'light';
11
+ document.documentElement.setAttribute('data-bs-theme', savedTheme);
12
+ updateToggleButton(savedTheme);
13
+ }
14
+
15
+ /**
16
+ * Toggle between light and dark theme
17
+ * Saves the new theme preference to localStorage
18
+ */
19
+ function toggleTheme() {
20
+ const html = document.documentElement;
21
+ const currentTheme = html.getAttribute('data-bs-theme') || 'light';
22
+ const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
23
+
24
+ html.setAttribute('data-bs-theme', newTheme);
25
+ localStorage.setItem('theme', newTheme);
26
+ updateToggleButton(newTheme);
27
+ }
28
+
29
+ /**
30
+ * Update the toggle button icon based on current theme
31
+ * @param {string} theme - Current theme ('light' or 'dark')
32
+ */
33
+ function updateToggleButton(theme) {
34
+ const button = document.getElementById('theme-toggle');
35
+ if (button) {
36
+ const icon = button.querySelector('i');
37
+ if (icon) {
38
+ icon.className = theme === 'dark' ? 'bi bi-sun-fill' : 'bi bi-moon-fill';
39
+ }
40
+ }
41
+ }
42
+
43
+ /**
44
+ * Add event listener when DOM is fully loaded
45
+ */
46
+ document.addEventListener('DOMContentLoaded', function() {
47
+ const toggleButton = document.getElementById('theme-toggle');
48
+ if (toggleButton) {
49
+ toggleButton.addEventListener('click', toggleTheme);
50
+ }
51
+ });
52
+
53
+ // Initialize theme immediately to prevent flash of wrong theme
54
+ initTheme();
55
+ })();
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap v5.3.7 (https://getbootstrap.com/)
2
+ * Bootstrap v5.3.8 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
5
  */
@@ -647,7 +647,7 @@
647
647
  * Constants
648
648
  */
649
649
 
650
- const VERSION = '5.3.7';
650
+ const VERSION = '5.3.8';
651
651
 
652
652
  /**
653
653
  * Class definition
@@ -3690,9 +3690,6 @@
3690
3690
  this._element.setAttribute('aria-expanded', 'false');
3691
3691
  Manipulator.removeDataAttribute(this._menu, 'popper');
3692
3692
  EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);
3693
-
3694
- // Explicitly return focus to the trigger element
3695
- this._element.focus();
3696
3693
  }
3697
3694
  _getConfig(config) {
3698
3695
  config = super._getConfig(config);