This repository was archived by the owner on Nov 9, 2019. It is now read-only.

Repository files navigation

Joomla! Menu Wrench

Pick and choose any menu item, from any Joomla menu, at any level, and render all of them, and optionally their children, as one menu on the front-end.

Turns this:

Items from three seperate memus

Into this:

Rendered as one menu

Turns This:

Multiple levels of the same menu

Into this:

Multiple levels of the same menu

By selecting to render parent and child menu items, but not chldren of the parents selected.

Features

  • Supports view access parameter (ACL)
  • Supports menu item manager ordering

Performance

Performance and memory consumption may vary by implementation.

In a test using Joomla 2.5 sample data, rendering all levels of:

Both the Main and About Joomla menus

Menu Wrench

  • Application 0.116 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.148 seconds (+0.033); 14.37 MB (+0.407) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.45 MB (15,148,576 Bytes)

Core Menu Module

  • Application 0.117 seconds (+0.004); 13.97 MB (+0.302) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.014); 14.34 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.000); 14.32 MB (-0.011) - beforeRenderModule mod_menu (About Joomla)
  • Application 0.193 seconds (+0.061); 14.67 MB (+0.341) - afterRenderModule mod_menu (About Joomla)
  • Memory Usage: 14.71 MB (15,427,464 Bytes)

Only the Main menu

Menu Wrench

  • Application 0.109 seconds (+0.004); 13.96 MB (+0.298) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.121 seconds (+0.012); 14.27 MB (+0.305) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.31 MB (15,002,584 Bytes)

Core Menu Module

  • Application 0.121 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.135 seconds (+0.015); 14.33 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Memory Usage: 14.36 MB (15,056,744 Bytes)

Known Issues

  • Link Type Options (Joomla 2.5): Not supported.

Status

While Menu Wrench is being used in production, on a limited basis, it's status is still considered beta as backwards incompatible changes may take place.

Stable Master Branch Policy

The master branch will, at all times, remain stable. Development for new features will occur in branches, and when ready, will be merged into the master branch.

In the event features have already been merged for the next release series, and an issue arises that warrants a fix on the current release series, the developer will create a branch based off the tag created from the previous release, make the necessary changes, package a new release, and tag the new release. If necessary, the commits made in the temporary branch will be merged into master.

Branch Schema

Shocking as it may seem, my goal is to also support Joomla 1.5. Therefore, the following branch schema will be followed:

  • master: stable at all times, containing the latest tagged release for Joomla 2.5+.
  • develop: the latest version in development for Joomla 2.5+. This is the branch to base all pull requests for Joomla 2.5+ on.
  • 1.5-master: stable at all times, containing the latest tagged release for Joomla 1.5.
  • 1.5-develop: the latest version in development for Joomla 1.5. This is the branch to base all pull requests for Joomla 1.5 on.

Contributing

Your contributions are more than welcome! Please make all pull requests against the appropriate develop branch for Joomla version 2.5+ and 1.5-develop for Joomla version 1.5.

About

Throw a wrench at your Joomla menus!

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Nov 9, 2019. It is now read-only.

Repository files navigation

Joomla! Menu Wrench

Pick and choose any menu item, from any Joomla menu, at any level, and render all of them, and optionally their children, as one menu on the front-end.

Turns this:

Items from three seperate memus

Into this:

Rendered as one menu

Turns This:

Multiple levels of the same menu

Into this:

Multiple levels of the same menu

By selecting to render parent and child menu items, but not chldren of the parents selected.

Features

  • Supports view access parameter (ACL)
  • Supports menu item manager ordering

Performance

Performance and memory consumption may vary by implementation.

In a test using Joomla 2.5 sample data, rendering all levels of:

Both the Main and About Joomla menus

Menu Wrench

  • Application 0.116 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.148 seconds (+0.033); 14.37 MB (+0.407) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.45 MB (15,148,576 Bytes)

Core Menu Module

  • Application 0.117 seconds (+0.004); 13.97 MB (+0.302) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.014); 14.34 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.000); 14.32 MB (-0.011) - beforeRenderModule mod_menu (About Joomla)
  • Application 0.193 seconds (+0.061); 14.67 MB (+0.341) - afterRenderModule mod_menu (About Joomla)
  • Memory Usage: 14.71 MB (15,427,464 Bytes)

Only the Main menu

Menu Wrench

  • Application 0.109 seconds (+0.004); 13.96 MB (+0.298) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.121 seconds (+0.012); 14.27 MB (+0.305) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.31 MB (15,002,584 Bytes)

Core Menu Module

  • Application 0.121 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.135 seconds (+0.015); 14.33 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Memory Usage: 14.36 MB (15,056,744 Bytes)

Known Issues

  • Link Type Options (Joomla 2.5): Not supported.

Status

While Menu Wrench is being used in production, on a limited basis, it's status is still considered beta as backwards incompatible changes may take place.

Stable Master Branch Policy

The master branch will, at all times, remain stable. Development for new features will occur in branches, and when ready, will be merged into the master branch.

In the event features have already been merged for the next release series, and an issue arises that warrants a fix on the current release series, the developer will create a branch based off the tag created from the previous release, make the necessary changes, package a new release, and tag the new release. If necessary, the commits made in the temporary branch will be merged into master.

Branch Schema

Shocking as it may seem, my goal is to also support Joomla 1.5. Therefore, the following branch schema will be followed:

  • master: stable at all times, containing the latest tagged release for Joomla 2.5+.
  • develop: the latest version in development for Joomla 2.5+. This is the branch to base all pull requests for Joomla 2.5+ on.
  • 1.5-master: stable at all times, containing the latest tagged release for Joomla 1.5.
  • 1.5-develop: the latest version in development for Joomla 1.5. This is the branch to base all pull requests for Joomla 1.5 on.

Contributing

Your contributions are more than welcome! Please make all pull requests against the appropriate develop branch for Joomla version 2.5+ and 1.5-develop for Joomla version 1.5.

About

Throw a wrench at your Joomla menus!

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Nov 9, 2019. It is now read-only.

Repository files navigation

Joomla! Menu Wrench

Pick and choose any menu item, from any Joomla menu, at any level, and render all of them, and optionally their children, as one menu on the front-end.

Turns this:

Items from three seperate memus

Into this:

Rendered as one menu

Turns This:

Multiple levels of the same menu

Into this:

Multiple levels of the same menu

By selecting to render parent and child menu items, but not chldren of the parents selected.

Features

  • Supports view access parameter (ACL)
  • Supports menu item manager ordering

Performance

Performance and memory consumption may vary by implementation.

In a test using Joomla 2.5 sample data, rendering all levels of:

Both the Main and About Joomla menus

Menu Wrench

  • Application 0.116 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.148 seconds (+0.033); 14.37 MB (+0.407) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.45 MB (15,148,576 Bytes)

Core Menu Module

  • Application 0.117 seconds (+0.004); 13.97 MB (+0.302) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.014); 14.34 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.000); 14.32 MB (-0.011) - beforeRenderModule mod_menu (About Joomla)
  • Application 0.193 seconds (+0.061); 14.67 MB (+0.341) - afterRenderModule mod_menu (About Joomla)
  • Memory Usage: 14.71 MB (15,427,464 Bytes)

Only the Main menu

Menu Wrench

  • Application 0.109 seconds (+0.004); 13.96 MB (+0.298) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.121 seconds (+0.012); 14.27 MB (+0.305) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.31 MB (15,002,584 Bytes)

Core Menu Module

  • Application 0.121 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.135 seconds (+0.015); 14.33 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Memory Usage: 14.36 MB (15,056,744 Bytes)

Known Issues

  • Link Type Options (Joomla 2.5): Not supported.

Status

While Menu Wrench is being used in production, on a limited basis, it's status is still considered beta as backwards incompatible changes may take place.

Stable Master Branch Policy

The master branch will, at all times, remain stable. Development for new features will occur in branches, and when ready, will be merged into the master branch.

In the event features have already been merged for the next release series, and an issue arises that warrants a fix on the current release series, the developer will create a branch based off the tag created from the previous release, make the necessary changes, package a new release, and tag the new release. If necessary, the commits made in the temporary branch will be merged into master.

Branch Schema

Shocking as it may seem, my goal is to also support Joomla 1.5. Therefore, the following branch schema will be followed:

  • master: stable at all times, containing the latest tagged release for Joomla 2.5+.
  • develop: the latest version in development for Joomla 2.5+. This is the branch to base all pull requests for Joomla 2.5+ on.
  • 1.5-master: stable at all times, containing the latest tagged release for Joomla 1.5.
  • 1.5-develop: the latest version in development for Joomla 1.5. This is the branch to base all pull requests for Joomla 1.5 on.

Contributing

Your contributions are more than welcome! Please make all pull requests against the appropriate develop branch for Joomla version 2.5+ and 1.5-develop for Joomla version 1.5.

About

Throw a wrench at your Joomla menus!

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Nov 9, 2019. It is now read-only.

Repository files navigation

Joomla! Menu Wrench

Pick and choose any menu item, from any Joomla menu, at any level, and render all of them, and optionally their children, as one menu on the front-end.

Turns this:

Items from three seperate memus

Into this:

Rendered as one menu

Turns This:

Multiple levels of the same menu

Into this:

Multiple levels of the same menu

By selecting to render parent and child menu items, but not chldren of the parents selected.

Features

  • Supports view access parameter (ACL)
  • Supports menu item manager ordering

Performance

Performance and memory consumption may vary by implementation.

In a test using Joomla 2.5 sample data, rendering all levels of:

Both the Main and About Joomla menus

Menu Wrench

  • Application 0.116 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.148 seconds (+0.033); 14.37 MB (+0.407) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.45 MB (15,148,576 Bytes)

Core Menu Module

  • Application 0.117 seconds (+0.004); 13.97 MB (+0.302) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.014); 14.34 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.000); 14.32 MB (-0.011) - beforeRenderModule mod_menu (About Joomla)
  • Application 0.193 seconds (+0.061); 14.67 MB (+0.341) - afterRenderModule mod_menu (About Joomla)
  • Memory Usage: 14.71 MB (15,427,464 Bytes)

Only the Main menu

Menu Wrench

  • Application 0.109 seconds (+0.004); 13.96 MB (+0.298) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.121 seconds (+0.012); 14.27 MB (+0.305) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.31 MB (15,002,584 Bytes)

Core Menu Module

  • Application 0.121 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.135 seconds (+0.015); 14.33 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Memory Usage: 14.36 MB (15,056,744 Bytes)

Known Issues

  • Link Type Options (Joomla 2.5): Not supported.

Status

While Menu Wrench is being used in production, on a limited basis, it's status is still considered beta as backwards incompatible changes may take place.

Stable Master Branch Policy

The master branch will, at all times, remain stable. Development for new features will occur in branches, and when ready, will be merged into the master branch.

In the event features have already been merged for the next release series, and an issue arises that warrants a fix on the current release series, the developer will create a branch based off the tag created from the previous release, make the necessary changes, package a new release, and tag the new release. If necessary, the commits made in the temporary branch will be merged into master.

Branch Schema

Shocking as it may seem, my goal is to also support Joomla 1.5. Therefore, the following branch schema will be followed:

  • master: stable at all times, containing the latest tagged release for Joomla 2.5+.
  • develop: the latest version in development for Joomla 2.5+. This is the branch to base all pull requests for Joomla 2.5+ on.
  • 1.5-master: stable at all times, containing the latest tagged release for Joomla 1.5.
  • 1.5-develop: the latest version in development for Joomla 1.5. This is the branch to base all pull requests for Joomla 1.5 on.

Contributing

Your contributions are more than welcome! Please make all pull requests against the appropriate develop branch for Joomla version 2.5+ and 1.5-develop for Joomla version 1.5.

About

Throw a wrench at your Joomla menus!

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Nov 9, 2019. It is now read-only.

Repository files navigation

Joomla! Menu Wrench

Pick and choose any menu item, from any Joomla menu, at any level, and render all of them, and optionally their children, as one menu on the front-end.

Turns this:

Items from three seperate memus

Into this:

Rendered as one menu

Turns This:

Multiple levels of the same menu

Into this:

Multiple levels of the same menu

By selecting to render parent and child menu items, but not chldren of the parents selected.

Features

  • Supports view access parameter (ACL)
  • Supports menu item manager ordering

Performance

Performance and memory consumption may vary by implementation.

In a test using Joomla 2.5 sample data, rendering all levels of:

Both the Main and About Joomla menus

Menu Wrench

  • Application 0.116 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.148 seconds (+0.033); 14.37 MB (+0.407) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.45 MB (15,148,576 Bytes)

Core Menu Module

  • Application 0.117 seconds (+0.004); 13.97 MB (+0.302) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.014); 14.34 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.000); 14.32 MB (-0.011) - beforeRenderModule mod_menu (About Joomla)
  • Application 0.193 seconds (+0.061); 14.67 MB (+0.341) - afterRenderModule mod_menu (About Joomla)
  • Memory Usage: 14.71 MB (15,427,464 Bytes)

Only the Main menu

Menu Wrench

  • Application 0.109 seconds (+0.004); 13.96 MB (+0.298) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.121 seconds (+0.012); 14.27 MB (+0.305) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.31 MB (15,002,584 Bytes)

Core Menu Module

  • Application 0.121 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.135 seconds (+0.015); 14.33 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Memory Usage: 14.36 MB (15,056,744 Bytes)

Known Issues

  • Link Type Options (Joomla 2.5): Not supported.

Status

While Menu Wrench is being used in production, on a limited basis, it's status is still considered beta as backwards incompatible changes may take place.

Stable Master Branch Policy

The master branch will, at all times, remain stable. Development for new features will occur in branches, and when ready, will be merged into the master branch.

In the event features have already been merged for the next release series, and an issue arises that warrants a fix on the current release series, the developer will create a branch based off the tag created from the previous release, make the necessary changes, package a new release, and tag the new release. If necessary, the commits made in the temporary branch will be merged into master.

Branch Schema

Shocking as it may seem, my goal is to also support Joomla 1.5. Therefore, the following branch schema will be followed:

  • master: stable at all times, containing the latest tagged release for Joomla 2.5+.
  • develop: the latest version in development for Joomla 2.5+. This is the branch to base all pull requests for Joomla 2.5+ on.
  • 1.5-master: stable at all times, containing the latest tagged release for Joomla 1.5.
  • 1.5-develop: the latest version in development for Joomla 1.5. This is the branch to base all pull requests for Joomla 1.5 on.

Contributing

Your contributions are more than welcome! Please make all pull requests against the appropriate develop branch for Joomla version 2.5+ and 1.5-develop for Joomla version 1.5.

About

Throw a wrench at your Joomla menus!

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Nov 9, 2019. It is now read-only.

Repository files navigation

Joomla! Menu Wrench

Pick and choose any menu item, from any Joomla menu, at any level, and render all of them, and optionally their children, as one menu on the front-end.

Turns this:

Items from three seperate memus

Into this:

Rendered as one menu

Turns This:

Multiple levels of the same menu

Into this:

Multiple levels of the same menu

By selecting to render parent and child menu items, but not chldren of the parents selected.

Features

  • Supports view access parameter (ACL)
  • Supports menu item manager ordering

Performance

Performance and memory consumption may vary by implementation.

In a test using Joomla 2.5 sample data, rendering all levels of:

Both the Main and About Joomla menus

Menu Wrench

  • Application 0.116 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.148 seconds (+0.033); 14.37 MB (+0.407) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.45 MB (15,148,576 Bytes)

Core Menu Module

  • Application 0.117 seconds (+0.004); 13.97 MB (+0.302) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.014); 14.34 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.000); 14.32 MB (-0.011) - beforeRenderModule mod_menu (About Joomla)
  • Application 0.193 seconds (+0.061); 14.67 MB (+0.341) - afterRenderModule mod_menu (About Joomla)
  • Memory Usage: 14.71 MB (15,427,464 Bytes)

Only the Main menu

Menu Wrench

  • Application 0.109 seconds (+0.004); 13.96 MB (+0.298) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.121 seconds (+0.012); 14.27 MB (+0.305) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.31 MB (15,002,584 Bytes)

Core Menu Module

  • Application 0.121 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.135 seconds (+0.015); 14.33 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Memory Usage: 14.36 MB (15,056,744 Bytes)

Known Issues

  • Link Type Options (Joomla 2.5): Not supported.

Status

While Menu Wrench is being used in production, on a limited basis, it's status is still considered beta as backwards incompatible changes may take place.

Stable Master Branch Policy

The master branch will, at all times, remain stable. Development for new features will occur in branches, and when ready, will be merged into the master branch.

In the event features have already been merged for the next release series, and an issue arises that warrants a fix on the current release series, the developer will create a branch based off the tag created from the previous release, make the necessary changes, package a new release, and tag the new release. If necessary, the commits made in the temporary branch will be merged into master.

Branch Schema

Shocking as it may seem, my goal is to also support Joomla 1.5. Therefore, the following branch schema will be followed:

  • master: stable at all times, containing the latest tagged release for Joomla 2.5+.
  • develop: the latest version in development for Joomla 2.5+. This is the branch to base all pull requests for Joomla 2.5+ on.
  • 1.5-master: stable at all times, containing the latest tagged release for Joomla 1.5.
  • 1.5-develop: the latest version in development for Joomla 1.5. This is the branch to base all pull requests for Joomla 1.5 on.

Contributing

Your contributions are more than welcome! Please make all pull requests against the appropriate develop branch for Joomla version 2.5+ and 1.5-develop for Joomla version 1.5.

About

Throw a wrench at your Joomla menus!

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Nov 9, 2019. It is now read-only.

Repository files navigation

Joomla! Menu Wrench

Pick and choose any menu item, from any Joomla menu, at any level, and render all of them, and optionally their children, as one menu on the front-end.

Turns this:

Items from three seperate memus

Into this:

Rendered as one menu

Turns This:

Multiple levels of the same menu

Into this:

Multiple levels of the same menu

By selecting to render parent and child menu items, but not chldren of the parents selected.

Features

  • Supports view access parameter (ACL)
  • Supports menu item manager ordering

Performance

Performance and memory consumption may vary by implementation.

In a test using Joomla 2.5 sample data, rendering all levels of:

Both the Main and About Joomla menus

Menu Wrench

  • Application 0.116 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.148 seconds (+0.033); 14.37 MB (+0.407) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.45 MB (15,148,576 Bytes)

Core Menu Module

  • Application 0.117 seconds (+0.004); 13.97 MB (+0.302) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.014); 14.34 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.000); 14.32 MB (-0.011) - beforeRenderModule mod_menu (About Joomla)
  • Application 0.193 seconds (+0.061); 14.67 MB (+0.341) - afterRenderModule mod_menu (About Joomla)
  • Memory Usage: 14.71 MB (15,427,464 Bytes)

Only the Main menu

Menu Wrench

  • Application 0.109 seconds (+0.004); 13.96 MB (+0.298) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.121 seconds (+0.012); 14.27 MB (+0.305) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.31 MB (15,002,584 Bytes)

Core Menu Module

  • Application 0.121 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.135 seconds (+0.015); 14.33 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Memory Usage: 14.36 MB (15,056,744 Bytes)

Known Issues

  • Link Type Options (Joomla 2.5): Not supported.

Status

While Menu Wrench is being used in production, on a limited basis, it's status is still considered beta as backwards incompatible changes may take place.

Stable Master Branch Policy

The master branch will, at all times, remain stable. Development for new features will occur in branches, and when ready, will be merged into the master branch.

In the event features have already been merged for the next release series, and an issue arises that warrants a fix on the current release series, the developer will create a branch based off the tag created from the previous release, make the necessary changes, package a new release, and tag the new release. If necessary, the commits made in the temporary branch will be merged into master.

Branch Schema

Shocking as it may seem, my goal is to also support Joomla 1.5. Therefore, the following branch schema will be followed:

  • master: stable at all times, containing the latest tagged release for Joomla 2.5+.
  • develop: the latest version in development for Joomla 2.5+. This is the branch to base all pull requests for Joomla 2.5+ on.
  • 1.5-master: stable at all times, containing the latest tagged release for Joomla 1.5.
  • 1.5-develop: the latest version in development for Joomla 1.5. This is the branch to base all pull requests for Joomla 1.5 on.

Contributing

Your contributions are more than welcome! Please make all pull requests against the appropriate develop branch for Joomla version 2.5+ and 1.5-develop for Joomla version 1.5.

About

Throw a wrench at your Joomla menus!

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Nov 9, 2019. It is now read-only.

Repository files navigation

Joomla! Menu Wrench

Pick and choose any menu item, from any Joomla menu, at any level, and render all of them, and optionally their children, as one menu on the front-end.

Turns this:

Items from three seperate memus

Into this:

Rendered as one menu

Turns This:

Multiple levels of the same menu

Into this:

Multiple levels of the same menu

By selecting to render parent and child menu items, but not chldren of the parents selected.

Features

  • Supports view access parameter (ACL)
  • Supports menu item manager ordering

Performance

Performance and memory consumption may vary by implementation.

In a test using Joomla 2.5 sample data, rendering all levels of:

Both the Main and About Joomla menus

Menu Wrench

  • Application 0.116 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.148 seconds (+0.033); 14.37 MB (+0.407) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.45 MB (15,148,576 Bytes)

Core Menu Module

  • Application 0.117 seconds (+0.004); 13.97 MB (+0.302) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.014); 14.34 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Application 0.132 seconds (+0.000); 14.32 MB (-0.011) - beforeRenderModule mod_menu (About Joomla)
  • Application 0.193 seconds (+0.061); 14.67 MB (+0.341) - afterRenderModule mod_menu (About Joomla)
  • Memory Usage: 14.71 MB (15,427,464 Bytes)

Only the Main menu

Menu Wrench

  • Application 0.109 seconds (+0.004); 13.96 MB (+0.298) - beforeRenderModule mod_menuwrench (Menu Wrench)
  • Application 0.121 seconds (+0.012); 14.27 MB (+0.305) - afterRenderModule mod_menuwrench (Menu Wrench)
  • Memory Usage: 14.31 MB (15,002,584 Bytes)

Core Menu Module

  • Application 0.121 seconds (+0.004); 13.96 MB (+0.299) - beforeRenderModule mod_menu (Main Menu)
  • Application 0.135 seconds (+0.015); 14.33 MB (+0.368) - afterRenderModule mod_menu (Main Menu)
  • Memory Usage: 14.36 MB (15,056,744 Bytes)

Known Issues

  • Link Type Options (Joomla 2.5): Not supported.

Status

While Menu Wrench is being used in production, on a limited basis, it's status is still considered beta as backwards incompatible changes may take place.

Stable Master Branch Policy

The master branch will, at all times, remain stable. Development for new features will occur in branches, and when ready, will be merged into the master branch.

In the event features have already been merged for the next release series, and an issue arises that warrants a fix on the current release series, the developer will create a branch based off the tag created from the previous release, make the necessary changes, package a new release, and tag the new release. If necessary, the commits made in the temporary branch will be merged into master.

Branch Schema

Shocking as it may seem, my goal is to also support Joomla 1.5. Therefore, the following branch schema will be followed:

  • master: stable at all times, containing the latest tagged release for Joomla 2.5+.
  • develop: the latest version in development for Joomla 2.5+. This is the branch to base all pull requests for Joomla 2.5+ on.
  • 1.5-master: stable at all times, containing the latest tagged release for Joomla 1.5.
  • 1.5-develop: the latest version in development for Joomla 1.5. This is the branch to base all pull requests for Joomla 1.5 on.

Contributing

Your contributions are more than welcome! Please make all pull requests against the appropriate develop branch for Joomla version 2.5+ and 1.5-develop for Joomla version 1.5.

About

Throw a wrench at your Joomla menus!

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages