diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 68fc33770..7035bdd57 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,7 +2,7 @@ name: Zola on: push: - branches: source + branches: main pull_request: jobs: @@ -15,9 +15,30 @@ jobs: # https://github.com/crazy-max/ghaction-github-pages/issues/1#issuecomment-623202206 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: + - uses: actions/checkout@v4 + - name: Lint + uses: avto-dev/markdown-lint@v1 + with: + args: '.' + config: '.markdownlint.json' + - name: Install Zola + run: | + curl -L ${BASE_URL}/${VERS}/zola-${VERS}-${ARCH}.tar.gz | tar -xz + echo "Zola version: $(./zola --version)" + - name: Zola build + run: ./zola build + - name: Upload GitHub Pages artifact + uses: actions/upload-pages-artifact@v3 + with: + path: public + + links: + name: Check for Broken Links + runs-on: ubuntu-latest + steps: - uses: actions/checkout@v4 with: - fetch-depth: ${{ github.event_name == 'pull_request' && 2 || 0 }} + fetch-depth: ${{ github.event_name == 'pull_request' && 2 || 0 }} - name: Get changed files id: changed-files # source: https://stackoverflow.com/a/74268200, added filtering for markdown files @@ -29,11 +50,6 @@ jobs: fi echo "changed_files: $changed_files" echo "changed_files=$changed_files" >> $GITHUB_OUTPUT - - name: Lint - uses: avto-dev/markdown-lint@v1 - with: - args: '.' - config: '.markdownlint.json' - name: Check links uses: lycheeverse/lychee-action@v1.9.0 if: ${{ steps.changed-files.outputs.changed_files != '' }} @@ -50,15 +66,18 @@ jobs: --exclude 'dev.epicgames.com' --exclude-path 'assets/logo/readme.md' ${{ steps.changed-files.outputs.changed_files }} - - name: Install Zola - run: | - curl -L ${BASE_URL}/${VERS}/zola-${VERS}-${ARCH}.tar.gz | tar -xz - echo "Zola version: $(./zola --version)" - - name: Zola build - run: ./zola build - - name: Deploy - if: github.ref == 'refs/heads/source' - uses: crazy-max/ghaction-github-pages@v1 - with: - build_dir: public - target_branch: master + + pages: + needs: zola + permissions: + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + if: format('refs/heads/{0}', github.event.repository.default_branch) == github.ref + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/create-newsletter.yaml b/.github/workflows/create-newsletter.yaml index 33efc8130..888db62aa 100644 --- a/.github/workflows/create-newsletter.yaml +++ b/.github/workflows/create-newsletter.yaml @@ -15,7 +15,7 @@ jobs: steps: - uses: actions/checkout@v3 with: - ref: source + ref: main - name: Set environment variables run: | echo "NEWSLETTER_MONTH=$(date +'%B')" >> $GITHUB_ENV diff --git a/content/news/053/dos-tilers.jpg b/content/news/053/dos-tilers.jpg new file mode 100644 index 000000000..e7f42ab84 Binary files /dev/null and b/content/news/053/dos-tilers.jpg differ diff --git a/content/news/053/godot_rapier.mp4 b/content/news/053/godot_rapier.mp4 new file mode 100644 index 000000000..12dd90036 Binary files /dev/null and b/content/news/053/godot_rapier.mp4 differ diff --git a/content/news/053/index.md b/content/news/053/index.md index c077ac177..1789dcfe6 100644 --- a/content/news/053/index.md +++ b/content/news/053/index.md @@ -79,6 +79,32 @@ If needed, a section can be split into subsections with a "------" delimiter. ## Game Updates +### [Tilers (DOS game)][dos-tilers] + +{{ image_figure( + alt="Screenshot from Tilers", + src="https://github.com/dos-tilers.jpg", + caption="Shuffled tiles of a photograph in Tilers. One of the tiles is being moved horizontally.") }} + +Tilers ([GitHub][dos-tilers-gh]) by [@E_net4] +is an open source tile permutation puzzle game, +based on the classic [15 puzzle][wiki15]. +It was developed specifically for MS-DOS machines, +by combining a nightly Rust compiler with +the [DJGPP toolchain][djgpp] and the custom object converter [elf2djgpp]. + +A playable version on the browser (using an emulator) +is available on GitHub and [itch.io][dos-tilers]. +The game was also submitted to the [DOS Games July 2024 Jam][dosjam]. + +[dos-tilers-gh]: https://github.com/Enet4/dos-tilers +[@E_net4]: https://hachyderm.io/@E_net4 +[wiki15]: https://en.wikipedia.org/wiki/15_puzzle +[djgpp]: https://www.delorie.com/djgpp/ +[dos-tilers]: https://e-net4.itch.io/dos-tilers +[elf2djgpp]: https://github.com/cknave/elf2djgpp +[dosjam]: https://itch.io/jam/dos-games-july-2024-jam + ## Engine Updates ### [Chuá»™t][chuot-website] @@ -121,6 +147,34 @@ _Check out the [web examples][chuot-examples]!_ ## Library Updates +### Godot Rapier: Rewrite it in Rust + +{{ video_figure( + type="video/mp4", + alt="Godot + Rapier logo make up the 'Godot Rapier' logo ; a few balls fall on it, showing off soft physics.", + src="https://github.com/godot_rapier.mp4", + caption="Godot Rapier showcase") }} + +[Godot Rapier][godot_rapier_github] written by [@Ughuuu](https://github.com/Ughuuu) +is a physics plugin for [Godot][godot] that uses [Rapier][rapier], a popular +physics engine written in Rust. + +Godot Rapier was originally written in C++, +and is now in the final stage of being completely rewritten in Rust. + +Its author wrote [an article on Reddit][godot_rapier_reddit] +about their experience with the rewrite. +Note that in the meantime the web exports have been fixed. + +Godot Rapier's website was adopted as a Rapier subdomain at +[https://godot.rapier.rs/](https://godot.rapier.rs/). +There you can also find a [progress overview](https://godot.rapier.rs/docs/progress). + +[rapier]: https://rapier.rs/ +[godot_rapier_github]: https://github.com/appsinacup/godot-rapier-physics +[godot_rapier_reddit]: https://www.reddit.com/r/godot/comments/1dtoufn/rewriting_godots_physics_server_in_rust/ +[godot]: https://godotengine.org/ + ## Popular Workgroup Issues in GitHub diff --git a/static/.well-known/atproto-did b/static/.well-known/atproto-did new file mode 100644 index 000000000..8049e9f03 --- /dev/null +++ b/static/.well-known/atproto-did @@ -0,0 +1 @@ +did:plc:kih2m3ettp3ybik33kypdwl4