Skip to content

Add internal resolution for assets in get_url function #2726

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 21 commits into
base: next
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
ce10aae
Next version
Keats Aug 15, 2024
0098119
exclude paginated pages in sitemap (#2555)
pranitbauva1997 Aug 26, 2024
481135f
feat: build relases on gh-actions & support linux arm64 (#2629)
hegerdes Sep 13, 2024
45c558d
chore: add missing symbol (#2641)
xixishidibei Sep 18, 2024
6798b6e
remove square brackets
Keats Sep 22, 2024
ead17d0
Allow treating a missing highlight language as error (#2642)
SamWilsn Sep 25, 2024
9119e9f
Move sublime into config module (#2580)
bemyak Oct 11, 2024
ad79860
Add pagination info to sections (#2653)
ZzMzaw Oct 11, 2024
2b5c3d0
Handle file events emitted by Nova on macOS (#2674)
jamiedumont Oct 18, 2024
ab0ad33
Improve accessibility by nesting bottom footnotes inside footer eleme…
Nov 6, 2024
9278bd1
Compute colocated path for sections
ZzMzaw Dec 6, 2024
8ff616d
Harmonize serialize assets for pages and sections
ZzMzaw Dec 6, 2024
faed94a
Add assets permalinks for pages and sections
ZzMzaw Dec 6, 2024
106c547
Add assets permalinks per language to site
ZzMzaw Dec 6, 2024
9620795
Add assets permalinks to `get_url`
ZzMzaw Dec 6, 2024
f74f551
Fix documentation about galery
ZzMzaw Dec 6, 2024
49f66b2
Fix hashmap init for assets permalink test
ZzMzaw Dec 19, 2024
334f687
Check page and section entire colocated path
ZzMzaw Jan 3, 2025
23051b8
Rework serialize_assets and get_assets_permalinks
ZzMzaw Jan 3, 2025
d213e39
Use iterator for get_asset_permalinks
ZzMzaw Jan 5, 2025
2f69aa5
Regroup assets serialization and permalinks calls
ZzMzaw Jan 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Build & Test

on:
push:
branches: ["*"]

env:
# Cross-compilation for aarch64 requires a different linker
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc

permissions:
contents: read

jobs:
Tests:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
target:
- x86_64-unknown-linux-gnu
- aarch64-unknown-linux-gnu
- x86_64-pc-windows-msvc
- x86_64-apple-darwin
- aarch64-apple-darwin
rustup_toolchain: [stable]
include:
- os: windows-2022
target: x86_64-pc-windows-msvc
- os: ubuntu-20.04
target: x86_64-unknown-linux-gnu
- os: ubuntu-20.04
target: aarch64-unknown-linux-gnu
- os: macos-13
target: x86_64-apple-darwin
- os: macos-14
target: aarch64-apple-darwin
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rustup_toolchain }}

- name: Install Rust crosscompile tools
if: ${{ contains(matrix.target, 'aarch64-unknown-linux-gnu') }}
run: |
sudo apt-get update -y
sudo apt-get install -y make g++ libssl-dev gcc-aarch64-linux-gnu
rustup target add aarch64-unknown-linux-gnu

- name: Cargo build (Native TLS)
run: |
cargo build --all --no-default-features --features=native-tls
cargo clean

- name: Cargo build (Rust TLS)
run: cargo build --all

- name: Cargo test
run: cargo test --all

- name: Cargo fmt
run: cargo fmt --check
50 changes: 0 additions & 50 deletions .github/workflows/cd-workflow.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
env:
BUILD_DIR: docs/
BUILD_ONLY: true

build_and_deploy:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master'
Expand Down
165 changes: 165 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
name: Release

on:
push:
tags: ["v*.*.*"]

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
# Cross-compilation for aarch64 requires a different linker
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc

permissions:
contents: read

jobs:
Release-Build:
runs-on: ${{ matrix.os }}
permissions:
contents: read
attestations: write
id-token: write
strategy:
matrix:
target:
- x86_64-unknown-linux-gnu
- aarch64-unknown-linux-gnu
- x86_64-pc-windows-msvc
- x86_64-apple-darwin
- aarch64-apple-darwin
rustup_toolchain: [stable]
include:
- os: windows-2022
target: x86_64-pc-windows-msvc
- os: ubuntu-20.04
target: x86_64-unknown-linux-gnu
- os: ubuntu-20.04
target: aarch64-unknown-linux-gnu
- os: macos-13
target: x86_64-apple-darwin
- os: macos-14
target: aarch64-apple-darwin
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rustup_toolchain }}

- name: Install Rust crosscompile tools
if: ${{ contains(matrix.target, 'aarch64-unknown-linux-gnu') }}
run: |
sudo apt-get update -y
sudo apt-get install -y make g++ libssl-dev gcc-aarch64-linux-gnu
rustup target add aarch64-unknown-linux-gnu

- name: Cargo build
run: cargo build --release --target ${{ matrix.target }}

- name: Archive (UNIX)
run: |
mkdir -p artifacts
cp -av target/${{ matrix.target }}/release/zola .
tar -czf ${{ github.event.repository.name }}-${{ github.ref_name }}-${{ matrix.target }}.tar.gz zola
if: ${{ ! startsWith(matrix.os, 'windows') }}

- name: Archive (Windows)
run: |
mkdir -p artifacts
cp target/${{ matrix.target }}/release/zola.exe .
Compress-Archive zola.exe ${{ github.event.repository.name }}-${{ github.ref_name }}-${{ matrix.target }}.zip
if: ${{ startsWith(matrix.os, 'windows') }}

- name: Attest Build Provenance
uses: actions/attest-build-provenance@v1
continue-on-error: true
with:
subject-path: ${{ github.event.repository.name }}-${{ github.ref_name }}-${{ matrix.target }}.*

- uses: actions/upload-artifact@v4
with:
name: ${{ github.event.repository.name }}-${{ github.ref_name }}-${{ matrix.target }}
path: ${{ github.event.repository.name }}-${{ github.ref_name }}-${{ matrix.target }}.*
if-no-files-found: error
retention-days: 7

Release:
needs: [Release-Build]
runs-on: ubuntu-22.04
permissions:
contents: write

steps:
- name: Ensure artifacts dir exists
run: mkdir -p artifacts

- name: Download Artifact
uses: actions/download-artifact@v4
with:
path: artifacts
merge-multiple: true

- name: Release
uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191
with:
name: ${{ github.ref_name }}
tag_name: ${{ github.ref_name }}
generate_release_notes: true
fail_on_unmatched_files: true
body: |
Welcome to this new release of Zola ${{ github.ref_name }}!

All artifacts are signed with this repos identity using Sigstore.
You can verify the signatures using the `GitHub` CLI.

```shell
gh attestation verify --owner ${{ github.repository_owner }} <my-artifact>
```
token: ${{ secrets.GITHUB_TOKEN }}
prerelease: ${{ contains(github.ref, '-pre') }}
files: artifacts/*

Release-Container-Image:
needs: [Release]
runs-on: ubuntu-22.04
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf

- name: Setup Docker buildx
uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db

- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
flavor: latest=false

- name: Build and push Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
push: true
build-args: |
USE_GH_RELEASE=true
ZOLA_RELEASE_VERSION=${{ github.ref_name }}
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
48 changes: 24 additions & 24 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,78 +1,78 @@
[submodule "sublime/syntaxes/Packages"]
path = sublime/syntaxes/Packages
path = components/config/sublime/syntaxes/Packages
url = https://github.com/sublimehq/Packages.git
[submodule "sublime/syntaxes/awk-sublime"]
path = sublime/syntaxes/extra/awk-sublime
path = components/config/sublime/syntaxes/extra/awk-sublime
url = https://github.com/JohnNilsson/awk-sublime.git
[submodule "sublime/syntaxes/AsciiDoc"]
path = sublime/syntaxes/AsciiDoc
url = https://github.com/SublimeText/AsciiDoc.git
[submodule "sublime/syntaxes/Sublime-CMakeLists"]
path = sublime/syntaxes/extra/Sublime-CMakeLists
path = components/config/sublime/syntaxes/extra/Sublime-CMakeLists
url = https://github.com/zyxar/Sublime-CMakeLists.git
[submodule "sublime/syntaxes/SublimeTextLinkerSyntax"]
path = sublime/syntaxes/extra/SublimeTextLinkerSyntax
path = components/config/sublime/syntaxes/extra/SublimeTextLinkerSyntax
url = https://github.com/jbw3/SublimeTextLinkerSyntax
[submodule "sublime/syntaxes/Docker.tmbundle"]
path = sublime/syntaxes/extra/Docker.tmbundle
path = components/config/sublime/syntaxes/extra/Docker.tmbundle
url = https://github.com/asbjornenge/Docker.tmbundle.git
[submodule "sublime/syntaxes/Sublime-VimL"]
path = sublime/syntaxes/Sublime-VimL
url = https://github.com/SalGnt/Sublime-VimL.git
[submodule "sublime/syntaxes/elixir-sublime-syntax"]
path = sublime/syntaxes/extra/elixir-sublime-syntax
path = components/config/sublime/syntaxes/extra/elixir-sublime-syntax
url = https://github.com/princemaple/elixir-sublime-syntax.git
[submodule "sublime/syntaxes/SublimeElmLanguageSupport"]
path = sublime/syntaxes/extra/SublimeElmLanguageSupport
path = components/config/sublime/syntaxes/extra/SublimeElmLanguageSupport
url = https://github.com/elm-community/SublimeElmLanguageSupport.git
[submodule "sublime/syntaxes/sublimetext-fsharp"]
path = sublime/syntaxes/extra/sublimetext-fsharp
path = components/config/sublime/syntaxes/extra/sublimetext-fsharp
url = https://github.com/hoest/sublimetext-fsharp.git
[submodule "sublime/syntaxes/sublime-fish"]
path = sublime/syntaxes/extra/sublime-fish
path = components/config/sublime/syntaxes/extra/sublime-fish
url = https://github.com/Phidica/sublime-fish.git
[submodule "sublime/syntaxes/SublimeFortran"]
path = sublime/syntaxes/extra/SublimeFortran
path = components/config/sublime/syntaxes/extra/SublimeFortran
url = https://github.com/315234/SublimeFortran.git
[submodule "sublime/syntaxes/GraphQL-SublimeText3"]
path = sublime/syntaxes/extra/GraphQL-SublimeText3
path = components/config/sublime/syntaxes/extra/GraphQL-SublimeText3
url = https://github.com/dncrews/GraphQL-SublimeText3.git
[submodule "sublime/syntaxes/Sublime-GenericConfig"]
path = sublime/syntaxes/extra/Sublime-GenericConfig
path = components/config/sublime/syntaxes/extra/Sublime-GenericConfig
url = https://github.com/skozlovf/Sublime-GenericConfig.git
[submodule "sublime/syntaxes/sublime-jinja2"]
path = sublime/syntaxes/extra/sublime-jinja2
path = components/config/sublime/syntaxes/extra/sublime-jinja2
url = https://github.com/Martin819/sublime-jinja2.git
[submodule "sublime/syntaxes/Julia-sublime"]
path = sublime/syntaxes/extra/Julia-sublime
path = components/config/sublime/syntaxes/extra/Julia-sublime
url = https://github.com/JuliaEditorSupport/Julia-sublime.git
[submodule "sublime/syntaxes/LESS-sublime"]
path = sublime/syntaxes/extra/LESS-sublime
path = components/config/sublime/syntaxes/extra/LESS-sublime
url = https://github.com/danro/LESS-sublime.git
[submodule "sublime/syntaxes/sublime-purescript-syntax"]
path = sublime/syntaxes/extra/sublime-purescript-syntax
path = components/config/sublime/syntaxes/extra/sublime-purescript-syntax
url = https://github.com/tellnobody1/sublime-purescript-syntax.git
[submodule "sublime/syntaxes/SublimeSass"]
path = sublime/syntaxes/extra/SublimeSass
path = components/config/sublime/syntaxes/extra/SublimeSass
url = https://github.com/braver/SublimeSass.git
[submodule "sublime/syntaxes/sublime_toml_highlighting"]
path = sublime/syntaxes/extra/sublime_toml_highlighting
path = components/config/sublime/syntaxes/extra/sublime_toml_highlighting
url = https://github.com/jasonwilliams/sublime_toml_highlighting.git
[submodule "sublime/syntaxes/vue-syntax-highlight"]
path = sublime/syntaxes/extra/vue-syntax-highlight
path = components/config/sublime/syntaxes/extra/vue-syntax-highlight
url = https://github.com/vuejs/vue-syntax-highlight.git
[submodule "sublime/syntaxes/sublime-glsl"]
path = sublime/syntaxes/extra/sublime-glsl
path = components/config/sublime/syntaxes/extra/sublime-glsl
url = https://github.com/euler0/sublime-glsl.git
[submodule "sublime/syntaxes/GDScript-sublime"]
path = sublime/syntaxes/extra/GDScript-sublime
path = components/config/sublime/syntaxes/extra/GDScript-sublime
url = https://github.com/beefsack/GDScript-sublime.git
[submodule "sublime/syntaxes/extra/sublime-clojure"]
path = sublime/syntaxes/extra/sublime-clojure
path = components/config/sublime/syntaxes/extra/sublime-clojure
url = https://github.com/tonsky/sublime-clojure.git
[submodule "sublime/syntaxes/extra/sublime-zig-language"]
path = sublime/syntaxes/extra/sublime-zig-language
path = components/config/sublime/syntaxes/extra/sublime-zig-language
url = https://github.com/ziglang/sublime-zig-language.git
[submodule "sublime/syntaxes/extra/protobuf-syntax-highlighting"]
path = sublime/syntaxes/extra/protobuf-syntax-highlighting
path = components/config/sublime/syntaxes/extra/protobuf-syntax-highlighting
url = https://github.com/VcamX/protobuf-syntax-highlighting.git
Loading