Repository files navigation

MinIO Documentation

Build Instructions

MinIO uses Sphinx to generate static HTML pages using ReSTructured Text (rST).

Prerequisites

  • Any GNU/Linux Operating System, or macOS 12.3 or later.
  • python 3.10.x and python-pip
  • python3.10-venv
  • sphinx 6.2.1
  • nodejs 14.5.0 or later
  • npm 16.19.1 or later
  • git or a git-compatible client

Build

NOTE: following instructions do work on macOS for testing purposes, however for production builds GNU/Linux is recommended.

  1. Clone docs repository locally.
git clone https://github.com/minio/docs && cd docs/
  1. Create a new Python virtual environment.
python3 -m venv venv && source venv/bin/activate
  1. Install all the python and nodejs dependencies
pip install -r requirements.txt && npm install && npm run build
  1. Build
make mindocs
  1. View the generated documentation at http://localhost:8000.
python -m http.server --directory build/YOUR_BRANCH/<PLATFORM>/html

Syncing Operator CRD Docs

For importing the Operator CRD Docs specifically, you must have:

  • pandoc (latest stable)
  • asciidoc (latest stable)

In addition to all other prerequisites.

Run

make sync-operator-crd

This script does three things:

  • Downloads and converts the tenant-crd.adoc from the MinIO Operator Github repository
  • Downloads the Operator Helm values.yaml from the Operator Github repository
  • Downloads the Tenant Helm values.yaml from the Operator Github repository

For the the tenant-crd.adoc , it converts the asciidoc to XML, then to markdown. Finally, it does some sed find/replace to tidy up the file for Sphinx ingest.

You can run this when we have a new Operator release being documented, assuming there are changes to the CRD as part of that release. It should make it somewhat easier to periodically sync these docs instead of pulling them down every single build, when we do not expect or need to doc changes in latest stable.

License

This project is licensed under a Creative Commons Attribution 4.0 International License. See CONTRIBUTING.md guide for more information on contributing to the MinIO Documentation project.

NOTE: This work was previously licensed under AGPL3.0. You can find all AGPL3.0 licensed code at commit:73772c7f8485809446cc890188a89ece1afb93f6

About

MinIO Object Storage Documentation

Resources

Contributing

Stars

1 star

Watchers

0 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

Repository files navigation

MinIO Documentation

Build Instructions

MinIO uses Sphinx to generate static HTML pages using ReSTructured Text (rST).

Prerequisites

  • Any GNU/Linux Operating System, or macOS 12.3 or later.
  • python 3.10.x and python-pip
  • python3.10-venv
  • sphinx 6.2.1
  • nodejs 14.5.0 or later
  • npm 16.19.1 or later
  • git or a git-compatible client

Build

NOTE: following instructions do work on macOS for testing purposes, however for production builds GNU/Linux is recommended.

  1. Clone docs repository locally.
git clone https://github.com/minio/docs && cd docs/
  1. Create a new Python virtual environment.
python3 -m venv venv && source venv/bin/activate
  1. Install all the python and nodejs dependencies
pip install -r requirements.txt && npm install && npm run build
  1. Build
make mindocs
  1. View the generated documentation at http://localhost:8000.
python -m http.server --directory build/YOUR_BRANCH/<PLATFORM>/html

Syncing Operator CRD Docs

For importing the Operator CRD Docs specifically, you must have:

  • pandoc (latest stable)
  • asciidoc (latest stable)

In addition to all other prerequisites.

Run

make sync-operator-crd

This script does three things:

  • Downloads and converts the tenant-crd.adoc from the MinIO Operator Github repository
  • Downloads the Operator Helm values.yaml from the Operator Github repository
  • Downloads the Tenant Helm values.yaml from the Operator Github repository

For the the tenant-crd.adoc , it converts the asciidoc to XML, then to markdown. Finally, it does some sed find/replace to tidy up the file for Sphinx ingest.

You can run this when we have a new Operator release being documented, assuming there are changes to the CRD as part of that release. It should make it somewhat easier to periodically sync these docs instead of pulling them down every single build, when we do not expect or need to doc changes in latest stable.

License

This project is licensed under a Creative Commons Attribution 4.0 International License. See CONTRIBUTING.md guide for more information on contributing to the MinIO Documentation project.

NOTE: This work was previously licensed under AGPL3.0. You can find all AGPL3.0 licensed code at commit:73772c7f8485809446cc890188a89ece1afb93f6

About

MinIO Object Storage Documentation

Resources

Contributing

Stars

1 star

Watchers

0 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

Repository files navigation

MinIO Documentation

Build Instructions

MinIO uses Sphinx to generate static HTML pages using ReSTructured Text (rST).

Prerequisites

  • Any GNU/Linux Operating System, or macOS 12.3 or later.
  • python 3.10.x and python-pip
  • python3.10-venv
  • sphinx 6.2.1
  • nodejs 14.5.0 or later
  • npm 16.19.1 or later
  • git or a git-compatible client

Build

NOTE: following instructions do work on macOS for testing purposes, however for production builds GNU/Linux is recommended.

  1. Clone docs repository locally.
git clone https://github.com/minio/docs && cd docs/
  1. Create a new Python virtual environment.
python3 -m venv venv && source venv/bin/activate
  1. Install all the python and nodejs dependencies
pip install -r requirements.txt && npm install && npm run build
  1. Build
make mindocs
  1. View the generated documentation at http://localhost:8000.
python -m http.server --directory build/YOUR_BRANCH/<PLATFORM>/html

Syncing Operator CRD Docs

For importing the Operator CRD Docs specifically, you must have:

  • pandoc (latest stable)
  • asciidoc (latest stable)

In addition to all other prerequisites.

Run

make sync-operator-crd

This script does three things:

  • Downloads and converts the tenant-crd.adoc from the MinIO Operator Github repository
  • Downloads the Operator Helm values.yaml from the Operator Github repository
  • Downloads the Tenant Helm values.yaml from the Operator Github repository

For the the tenant-crd.adoc , it converts the asciidoc to XML, then to markdown. Finally, it does some sed find/replace to tidy up the file for Sphinx ingest.

You can run this when we have a new Operator release being documented, assuming there are changes to the CRD as part of that release. It should make it somewhat easier to periodically sync these docs instead of pulling them down every single build, when we do not expect or need to doc changes in latest stable.

License

This project is licensed under a Creative Commons Attribution 4.0 International License. See CONTRIBUTING.md guide for more information on contributing to the MinIO Documentation project.

NOTE: This work was previously licensed under AGPL3.0. You can find all AGPL3.0 licensed code at commit:73772c7f8485809446cc890188a89ece1afb93f6

About

MinIO Object Storage Documentation

Resources

Contributing

Stars

1 star

Watchers

0 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

Repository files navigation

MinIO Documentation

Build Instructions

MinIO uses Sphinx to generate static HTML pages using ReSTructured Text (rST).

Prerequisites

  • Any GNU/Linux Operating System, or macOS 12.3 or later.
  • python 3.10.x and python-pip
  • python3.10-venv
  • sphinx 6.2.1
  • nodejs 14.5.0 or later
  • npm 16.19.1 or later
  • git or a git-compatible client

Build

NOTE: following instructions do work on macOS for testing purposes, however for production builds GNU/Linux is recommended.

  1. Clone docs repository locally.
git clone https://github.com/minio/docs && cd docs/
  1. Create a new Python virtual environment.
python3 -m venv venv && source venv/bin/activate
  1. Install all the python and nodejs dependencies
pip install -r requirements.txt && npm install && npm run build
  1. Build
make mindocs
  1. View the generated documentation at http://localhost:8000.
python -m http.server --directory build/YOUR_BRANCH/<PLATFORM>/html

Syncing Operator CRD Docs

For importing the Operator CRD Docs specifically, you must have:

  • pandoc (latest stable)
  • asciidoc (latest stable)

In addition to all other prerequisites.

Run

make sync-operator-crd

This script does three things:

  • Downloads and converts the tenant-crd.adoc from the MinIO Operator Github repository
  • Downloads the Operator Helm values.yaml from the Operator Github repository
  • Downloads the Tenant Helm values.yaml from the Operator Github repository

For the the tenant-crd.adoc , it converts the asciidoc to XML, then to markdown. Finally, it does some sed find/replace to tidy up the file for Sphinx ingest.

You can run this when we have a new Operator release being documented, assuming there are changes to the CRD as part of that release. It should make it somewhat easier to periodically sync these docs instead of pulling them down every single build, when we do not expect or need to doc changes in latest stable.

License

This project is licensed under a Creative Commons Attribution 4.0 International License. See CONTRIBUTING.md guide for more information on contributing to the MinIO Documentation project.

NOTE: This work was previously licensed under AGPL3.0. You can find all AGPL3.0 licensed code at commit:73772c7f8485809446cc890188a89ece1afb93f6

About

MinIO Object Storage Documentation

Resources

Contributing

Stars

1 star

Watchers

0 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

Repository files navigation

MinIO Documentation

Build Instructions

MinIO uses Sphinx to generate static HTML pages using ReSTructured Text (rST).

Prerequisites

  • Any GNU/Linux Operating System, or macOS 12.3 or later.
  • python 3.10.x and python-pip
  • python3.10-venv
  • sphinx 6.2.1
  • nodejs 14.5.0 or later
  • npm 16.19.1 or later
  • git or a git-compatible client

Build

NOTE: following instructions do work on macOS for testing purposes, however for production builds GNU/Linux is recommended.

  1. Clone docs repository locally.
git clone https://github.com/minio/docs && cd docs/
  1. Create a new Python virtual environment.
python3 -m venv venv && source venv/bin/activate
  1. Install all the python and nodejs dependencies
pip install -r requirements.txt && npm install && npm run build
  1. Build
make mindocs
  1. View the generated documentation at http://localhost:8000.
python -m http.server --directory build/YOUR_BRANCH/<PLATFORM>/html

Syncing Operator CRD Docs

For importing the Operator CRD Docs specifically, you must have:

  • pandoc (latest stable)
  • asciidoc (latest stable)

In addition to all other prerequisites.

Run

make sync-operator-crd

This script does three things:

  • Downloads and converts the tenant-crd.adoc from the MinIO Operator Github repository
  • Downloads the Operator Helm values.yaml from the Operator Github repository
  • Downloads the Tenant Helm values.yaml from the Operator Github repository

For the the tenant-crd.adoc , it converts the asciidoc to XML, then to markdown. Finally, it does some sed find/replace to tidy up the file for Sphinx ingest.

You can run this when we have a new Operator release being documented, assuming there are changes to the CRD as part of that release. It should make it somewhat easier to periodically sync these docs instead of pulling them down every single build, when we do not expect or need to doc changes in latest stable.

License

This project is licensed under a Creative Commons Attribution 4.0 International License. See CONTRIBUTING.md guide for more information on contributing to the MinIO Documentation project.

NOTE: This work was previously licensed under AGPL3.0. You can find all AGPL3.0 licensed code at commit:73772c7f8485809446cc890188a89ece1afb93f6

About

MinIO Object Storage Documentation

Resources

Contributing

Stars

1 star

Watchers

0 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

Repository files navigation

MinIO Documentation

Build Instructions

MinIO uses Sphinx to generate static HTML pages using ReSTructured Text (rST).

Prerequisites

  • Any GNU/Linux Operating System, or macOS 12.3 or later.
  • python 3.10.x and python-pip
  • python3.10-venv
  • sphinx 6.2.1
  • nodejs 14.5.0 or later
  • npm 16.19.1 or later
  • git or a git-compatible client

Build

NOTE: following instructions do work on macOS for testing purposes, however for production builds GNU/Linux is recommended.

  1. Clone docs repository locally.
git clone https://github.com/minio/docs && cd docs/
  1. Create a new Python virtual environment.
python3 -m venv venv && source venv/bin/activate
  1. Install all the python and nodejs dependencies
pip install -r requirements.txt && npm install && npm run build
  1. Build
make mindocs
  1. View the generated documentation at http://localhost:8000.
python -m http.server --directory build/YOUR_BRANCH/<PLATFORM>/html

Syncing Operator CRD Docs

For importing the Operator CRD Docs specifically, you must have:

  • pandoc (latest stable)
  • asciidoc (latest stable)

In addition to all other prerequisites.

Run

make sync-operator-crd

This script does three things:

  • Downloads and converts the tenant-crd.adoc from the MinIO Operator Github repository
  • Downloads the Operator Helm values.yaml from the Operator Github repository
  • Downloads the Tenant Helm values.yaml from the Operator Github repository

For the the tenant-crd.adoc , it converts the asciidoc to XML, then to markdown. Finally, it does some sed find/replace to tidy up the file for Sphinx ingest.

You can run this when we have a new Operator release being documented, assuming there are changes to the CRD as part of that release. It should make it somewhat easier to periodically sync these docs instead of pulling them down every single build, when we do not expect or need to doc changes in latest stable.

License

This project is licensed under a Creative Commons Attribution 4.0 International License. See CONTRIBUTING.md guide for more information on contributing to the MinIO Documentation project.

NOTE: This work was previously licensed under AGPL3.0. You can find all AGPL3.0 licensed code at commit:73772c7f8485809446cc890188a89ece1afb93f6

About

MinIO Object Storage Documentation

Resources

Contributing

Stars

1 star

Watchers

0 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

Repository files navigation

MinIO Documentation

Build Instructions

MinIO uses Sphinx to generate static HTML pages using ReSTructured Text (rST).

Prerequisites

  • Any GNU/Linux Operating System, or macOS 12.3 or later.
  • python 3.10.x and python-pip
  • python3.10-venv
  • sphinx 6.2.1
  • nodejs 14.5.0 or later
  • npm 16.19.1 or later
  • git or a git-compatible client

Build

NOTE: following instructions do work on macOS for testing purposes, however for production builds GNU/Linux is recommended.

  1. Clone docs repository locally.
git clone https://github.com/minio/docs && cd docs/
  1. Create a new Python virtual environment.
python3 -m venv venv && source venv/bin/activate
  1. Install all the python and nodejs dependencies
pip install -r requirements.txt && npm install && npm run build
  1. Build
make mindocs
  1. View the generated documentation at http://localhost:8000.
python -m http.server --directory build/YOUR_BRANCH/<PLATFORM>/html

Syncing Operator CRD Docs

For importing the Operator CRD Docs specifically, you must have:

  • pandoc (latest stable)
  • asciidoc (latest stable)

In addition to all other prerequisites.

Run

make sync-operator-crd

This script does three things:

  • Downloads and converts the tenant-crd.adoc from the MinIO Operator Github repository
  • Downloads the Operator Helm values.yaml from the Operator Github repository
  • Downloads the Tenant Helm values.yaml from the Operator Github repository

For the the tenant-crd.adoc , it converts the asciidoc to XML, then to markdown. Finally, it does some sed find/replace to tidy up the file for Sphinx ingest.

You can run this when we have a new Operator release being documented, assuming there are changes to the CRD as part of that release. It should make it somewhat easier to periodically sync these docs instead of pulling them down every single build, when we do not expect or need to doc changes in latest stable.

License

This project is licensed under a Creative Commons Attribution 4.0 International License. See CONTRIBUTING.md guide for more information on contributing to the MinIO Documentation project.

NOTE: This work was previously licensed under AGPL3.0. You can find all AGPL3.0 licensed code at commit:73772c7f8485809446cc890188a89ece1afb93f6

About

MinIO Object Storage Documentation

Resources

Contributing

Stars

1 star

Watchers

0 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

Repository files navigation

MinIO Documentation

Build Instructions

MinIO uses Sphinx to generate static HTML pages using ReSTructured Text (rST).

Prerequisites

  • Any GNU/Linux Operating System, or macOS 12.3 or later.
  • python 3.10.x and python-pip
  • python3.10-venv
  • sphinx 6.2.1
  • nodejs 14.5.0 or later
  • npm 16.19.1 or later
  • git or a git-compatible client

Build

NOTE: following instructions do work on macOS for testing purposes, however for production builds GNU/Linux is recommended.

  1. Clone docs repository locally.
git clone https://github.com/minio/docs && cd docs/
  1. Create a new Python virtual environment.
python3 -m venv venv && source venv/bin/activate
  1. Install all the python and nodejs dependencies
pip install -r requirements.txt && npm install && npm run build
  1. Build
make mindocs
  1. View the generated documentation at http://localhost:8000.
python -m http.server --directory build/YOUR_BRANCH/<PLATFORM>/html

Syncing Operator CRD Docs

For importing the Operator CRD Docs specifically, you must have:

  • pandoc (latest stable)
  • asciidoc (latest stable)

In addition to all other prerequisites.

Run

make sync-operator-crd

This script does three things:

  • Downloads and converts the tenant-crd.adoc from the MinIO Operator Github repository
  • Downloads the Operator Helm values.yaml from the Operator Github repository
  • Downloads the Tenant Helm values.yaml from the Operator Github repository

For the the tenant-crd.adoc , it converts the asciidoc to XML, then to markdown. Finally, it does some sed find/replace to tidy up the file for Sphinx ingest.

You can run this when we have a new Operator release being documented, assuming there are changes to the CRD as part of that release. It should make it somewhat easier to periodically sync these docs instead of pulling them down every single build, when we do not expect or need to doc changes in latest stable.

License

This project is licensed under a Creative Commons Attribution 4.0 International License. See CONTRIBUTING.md guide for more information on contributing to the MinIO Documentation project.

NOTE: This work was previously licensed under AGPL3.0. You can find all AGPL3.0 licensed code at commit:73772c7f8485809446cc890188a89ece1afb93f6

About

MinIO Object Storage Documentation

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages