diff --git a/.github/workflows/build-gh-pages.yml b/.github/workflows/build-gh-pages.yml index 3935504ce..fbebbe15a 100644 --- a/.github/workflows/build-gh-pages.yml +++ b/.github/workflows/build-gh-pages.yml @@ -1,5 +1,6 @@ name: deploy-book +# Run when pushing to main or translation branches on: push: branches: @@ -12,6 +13,7 @@ concurrency: cancel-in-progress: true jobs: + # Get language and version info get-info: runs-on: ubuntu-latest outputs: @@ -21,12 +23,14 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 + # Read languages from JSON file - name: Get languages directly with jq id: get-languages run: | languages=$(jq -c '[.[] | .code]' DISCOVER/_static/languages.json) echo "languages=${languages}" >> "$GITHUB_OUTPUT" + # Determine version based on ref type and name - name: Determine version from GitHub context id: version-info env: @@ -40,12 +44,13 @@ jobs: version="${REF_NAME%-translations}" fi echo "version=$version" >> "$GITHUB_OUTPUT" - + + # Build docs for each language deploy-book: needs: get-info runs-on: ubuntu-latest strategy: - max-parallel: 1 + max-parallel: 1 # Build one at a time matrix: language: ${{ fromJSON(needs.get-info.outputs.languages) }} steps: @@ -59,6 +64,7 @@ jobs: with: python-version: '3.13' + # Build the documentation - name: Build documentation with script env: VERSION: ${{ needs.get-info.outputs.version }} @@ -66,6 +72,7 @@ jobs: run: | bash ci/build_website.sh + # Deploy the built documentation - name: Deploy language to GitHub Pages uses: peaceiris/actions-gh-pages@v4 with: @@ -74,6 +81,7 @@ jobs: destination_dir: ${{ needs.get-info.outputs.version }}/${{ matrix.language }} keep_files: true + # Create redirect for version create-redirect: needs: [get-info, deploy-book] runs-on: ubuntu-latest @@ -105,6 +113,7 @@ jobs: destination_dir: ${{ needs.get-info.outputs.version }} keep_files: true + # Deploy files to root (main branch only) deploy-root-files: needs: [create-redirect] runs-on: ubuntu-latest @@ -113,12 +122,13 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 + # Copy important files to root - name: Create root files directory run: | mkdir -p root_files - cp DISCOVER/404.html root_files/ - cp index.html root_files/ - cp DISCOVER/_static/versions.json root_files/ + cp DISCOVER/404.html root_files/ # Error page + cp index.html root_files/ # Landing page + cp DISCOVER/_static/versions.json root_files/ # Versions list - name: Deploy root files to GitHub Pages uses: peaceiris/actions-gh-pages@v4 diff --git a/DISCOVER/_static/css/Switchers.css b/DISCOVER/_static/css/Switchers.css new file mode 100644 index 000000000..0256490f3 --- /dev/null +++ b/DISCOVER/_static/css/Switchers.css @@ -0,0 +1,131 @@ +/* Version switcher and language switcher */ +.version-switcher__button, +#language-switcher-button { + font-size: 1rem !important; + color: #495057 !important; + border: 1px solid #dee2e6 !important; +} + +.version-switcher__button:hover, +#language-switcher-button:hover, +.version-switcher__button:focus, +#language-switcher-button:focus { + background-color: #f8f9fa !important; + border-color: transparent !important; + box-shadow: 0 0 0 0.1875rem #e89217 !important; +} + +.version-switcher__button:hover, +#language-switcher-button:hover { + color: #222832 !important; +} + +.version-switcher__button:focus, +#language-switcher-button:focus { + outline: none !important; +} + +.version-switcher__button::after, +#language-switcher-button::after { + content: "" !important; + display: inline-block !important; + margin-left: 0.5rem !important; + vertical-align: 0.125em !important; + border: 0.3em solid transparent !important; + border-top-color: #495057 !important; + border-bottom-width: 0 !important; +} + +.version-switcher__button:hover::after, +#language-switcher-button:hover::after { + border-top-color: #222832 !important; +} + +.version-switcher__button .caret, +.version-switcher__button::before { + display: none !important; +} + +.version-switcher__menu .list-group-item:hover, +.dropdown-item:hover { + background-color: #f8f9fa !important; + color: #e89217 !important; + text-decoration: underline !important; + text-decoration-thickness: 0.15rem !important; +} + +.dropdown-item.active { + color: #528fe4 !important; + background-color: #ffffff !important; + box-shadow: inset 3px 0 0 #528fe4 !important; +} + +.dropdown-menu > li:not(:last-child) { + border-bottom: 1px solid #dee2e6 !important; +} + +.dropdown-item.active:hover { + background-color: #f8f9fa !important; + color: #e89217 !important; +} + + +html[data-theme=dark] .version-switcher__button, +html[data-theme=dark] #language-switcher-button { + color: #9ca4af !important; + background-color: #121212 !important; + border-color: #48566b !important; +} + +html[data-theme=dark] .version-switcher__button:hover, +html[data-theme=dark] #language-switcher-button:hover, +html[data-theme=dark] .version-switcher__button:focus, +html[data-theme=dark] #language-switcher-button:focus{ + color: #ced6dd !important; + border-color: transparent !important; +} + +html[data-theme=dark] .version-switcher__button:focus, +html[data-theme=dark] #language-switcher-button:focus{ + outline: none !important; +} + +html[data-theme=dark] .version-switcher__button::after, +html[data-theme=dark] #language-switcher-button::after { + border-top-color: #9ca4af !important; +} + +html[data-theme=dark] .version-switcher__button:hover::after, +html[data-theme=dark] #language-switcher-button:hover::after { + border-top-color: #ced6dd !important; +} + +html[data-theme=dark] .version-switcher__menu, +html[data-theme=dark] .version-switcher__menu .list-group-item { + background-color: #121212 !important; +} + +html[data-theme=dark] .version-switcher__menu .list-group-item:hover, +html[data-theme=dark] .dropdown-item:hover { + background-color: #0D0D0D !important; + color: #e89217 !important; + text-decoration: underline !important; + text-decoration-thickness: 0.15rem !important; +} + +html[data-theme=dark] .dropdown-item.active { + background-color: #121212 !important; +} + +html[data-theme=dark] .dropdown-item.active:hover { + background-color: #0D0D0D !important; +} + +.bd-header-article .version-switcher__button, +.bd-header-article #language-switcher-button { + margin: 0 !important; +} + +html[data-theme=dark] .dropdown-menu > li:not(:last-child) { + border-bottom: 1px solid #48566b !important; +} diff --git a/DISCOVER/_static/css/mainLogo.css b/DISCOVER/_static/css/mainLogo.css index 0a47a755e..abd09480a 100644 --- a/DISCOVER/_static/css/mainLogo.css +++ b/DISCOVER/_static/css/mainLogo.css @@ -119,110 +119,3 @@ html[data-theme=dark] .social-links a:hover { margin: 1rem 0 0 0; } } - -/* Version switcher and language switcher */ -.version-switcher__button, -#language-switcher-button { - font-size: 1rem !important; - color: #495057 !important; - border: 1px solid #dee2e6 !important; -} - -.version-switcher__button:hover, -#language-switcher-button:hover, -.version-switcher__button:focus, -#language-switcher-button:focus { - background-color: #f8f9fa !important; - border-color: transparent !important; - box-shadow: 0 0 0 0.1875rem #e89217 !important; -} - -.version-switcher__button:hover, -#language-switcher-button:hover { - color: #222832 !important; -} - -.version-switcher__button:focus, -#language-switcher-button:focus { - outline: none !important; -} - -.version-switcher__button::after, -#language-switcher-button::after { - content: "" !important; - display: inline-block !important; - margin-left: 0.5rem !important; - vertical-align: 0.125em !important; - border: 0.3em solid transparent !important; - border-top-color: #495057 !important; - border-bottom-width: 0 !important; -} - -.version-switcher__button:hover::after, -#language-switcher-button:hover::after { - border-top-color: #222832 !important; -} - -.version-switcher__button .caret, -.version-switcher__button::before { - display: none !important; -} - -.version-switcher__menu .list-group-item:hover, -.dropdown-item:hover { - background-color: #f8f9fa !important; -} - -.dropdown-item.active { - color: #528fe4 !important; - background-color: #ffffff !important; - box-shadow: inset 3px 0 0 #528fe4 !important; - border-bottom: 1px solid #dee2e6 !important; -} - -html[data-theme=dark] .version-switcher__button, -html[data-theme=dark] #language-switcher-button { - color: #9ca4af !important; - background-color: #121212 !important; - border-color: #48566b !important; -} - -html[data-theme=dark] .version-switcher__button:hover, -html[data-theme=dark] #language-switcher-button:hover { - color: #ced6dd !important; -} - -html[data-theme=dark] .version-switcher__button::after, -html[data-theme=dark] #language-switcher-button::after { - border-top-color: #9ca4af !important; -} - -html[data-theme=dark] .version-switcher__button:hover::after, -html[data-theme=dark] #language-switcher-button:hover::after { - border-top-color: #ced6dd !important; -} - -html[data-theme=dark] .version-switcher__menu, -html[data-theme=dark] .version-switcher__menu .list-group-item { - background-color: #121212 !important; -} - -html[data-theme=dark] .version-switcher__menu .list-group-item:hover, -html[data-theme=dark] .dropdown-item:hover { - background-color: #000000 !important; -} - -html[data-theme=dark] .dropdown-item.active { - background-color: #121212 !important; - border-bottom-color: #48566b !important; -} - -html[data-theme=dark] .dropdown-item.active:hover { - color: #ced6dd !important; - background-color: #121212 !important; -} - -.bd-header-article .version-switcher__button, -.bd-header-article #language-switcher-button { - margin: 0 !important; -} diff --git a/DISCOVER/_templates/language-switcher.html b/DISCOVER/_templates/language-switcher.html index 44b5726fb..c0b5fa98e 100644 --- a/DISCOVER/_templates/language-switcher.html +++ b/DISCOVER/_templates/language-switcher.html @@ -6,7 +6,7 @@