Skip to content

Commit e936ab6

Browse files
authored
Merge branch 'rust-gamedev:source' into source
2 parents 6c4f8b7 + d65056b commit e936ab6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+1028
-204
lines changed

.github/create_newsletter_scaffold.sh

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env bash
2+
3+
set -euo pipefail
4+
5+
if [[ -z "${NEWSLETTER_MONTH}" ]]; then
6+
echo "NEWSLETTER_MONTH is not set. Exiting..."
7+
exit 1
8+
fi
9+
10+
if [[ -z "${NEWSLETTER_YEAR}" ]]; then
11+
echo "NEWSLETTER_YEAR is not set. Exiting..."
12+
exit 1
13+
fi
14+
15+
if [[ -z "${NEWSLETTER_COUNTER}" ]]; then
16+
echo "NEWSLETTER_COUNTER is not set. Exiting..."
17+
exit 1
18+
fi
19+
20+
# NEWSLETTER_NEXT_MONTH_NUMBER
21+
if [[ -z "${NEWSLETTER_NEXT_MONTH_NUMBER}" ]]; then
22+
echo "NEWSLETTER_NEXT_MONTH_NUMBER is not set. Exiting..."
23+
exit 1
24+
fi
25+
26+
cp .github/newsletter-template.md index.md
27+
sed -i "s/{{\s*NEWSLETTER_MONTH\s*}}/${NEWSLETTER_MONTH}/g" index.md
28+
sed -i "s/{{\s*NEWSLETTER_YEAR\s*}}/${NEWSLETTER_YEAR}/g" index.md
29+
sed -i "s/{{\s*NEWSLETTER_COUNTER\s*}}/${NEWSLETTER_COUNTER}/g" index.md
30+
sed -i "s/{{\s*NEWSLETTER_NEXT_MONTH_NUMBER\s*}}/${NEWSLETTER_NEXT_MONTH_NUMBER}/g" index.md
31+
# Create a dir in content/news with the counter with 3 digits as name
32+
destination="content/news/$(printf "%03d" ${NEWSLETTER_COUNTER})"
33+
mkdir -p $destination
34+
mv index.md $destination/index.md
35+
git status

.github/newsletter-issue-template.md

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
---
2+
title: "Newsletter {{ env.NEWSLETTER_COUNTER}}: {{ env.NEWSLETTER_MONTH }} {{ env.NEWSLETTER_YEAR }}"
3+
labels: coordination, help wanted
4+
assignees: AngelOnFira, mamaicode, janhohenheim
5+
---
6+
7+
**Editors:** @janhohenheim, @AngelOnFira, @mamaicode
8+
9+
Another month has gone by, so it's time to put together the Rust Gamedev newsletter with {{ env.NEWSLETTER_MONTH }}'s news!
10+
11+
## Current Schedule
12+
13+
The deadline for all section PRs is the **28th of {{ env.NEWSLETTER_MONTH}}, {{ env.NEWSLETTER_YEAR }}**. Submissions after this date will be added to the next newsletter.
14+
Our target release date is the **3rd of {{ env.NEWSLETTER_NEXT_MONTH }}, {{ env.NEWSLETTER_YEAR }}**.
15+
16+
## Current Structure & Status
17+
18+
Below is our current planned structure for the newsletter, and the status of each PR (which we'll try to keep updated).
19+
20+
This is **not** an exhaustive list - if you have your own project that you want to write about, just make a comment on this issue and open a PR!
21+
22+
### Game Updates
23+
24+
None yet. Feel free to submit yours!
25+
26+
### Learning Material Updates
27+
28+
None yet. Feel free to submit yours!
29+
30+
### Engine Updates
31+
32+
None yet. Feel free to submit yours!
33+
34+
### Tooling Updates
35+
36+
None yet. Feel free to submit yours!
37+
38+
### Library Updates
39+
40+
None yet. Feel free to submit yours!
41+
42+
### Other News
43+
44+
None yet. Feel free to submit yours!
45+
46+
### Discussions
47+
48+
None yet. Feel free to submit yours!
49+
50+
## Calls for Submissions
51+
52+
### Social Media
53+
54+
- [ ] Reddit
55+
- [ ] Lemmy
56+
- [ ] Mastodon
57+
- [ ] Twitter/X
58+
- [ ] Hacker News
59+
60+
### Discord Servers
61+
62+
- [ ] Rust GameDev
63+
- [ ] Bevy
64+
- [ ] Blue Engine
65+
- [ ] Macroquad
66+
- [ ] Fyrox
67+
- [ ] LogLogGames (comfy engine)
68+
- [ ] Spicy Lobster
69+
- [ ] Rust Godot
70+
71+
Let us know if you also want to receive monthly reminders on your Discord server!
72+
73+
## Publishing Steps
74+
75+
- [ ] Final review - by everyone
76+
- [ ] Publish - by @janhohenheim
77+
- [ ] Post together with next calls for submissions - by @janhohenheim
78+
- [ ] Pin thread on social media - by @janhohenheim
79+
- [ ] Add comment links - by @janhohenheim
80+
81+
## How to Contribute
82+
83+
If you want to help writing the newsletter:
84+
85+
- **Read [CONTRIBUTING.md](https://github.com/rust-gamedev/rust-gamedev.github.io/blob/source/CONTRIBUTING.md?rgh-link-date=2023-09-12T16%3A17%3A34Z).**
86+
- Choose one or more of the "🆓 **free**" sections listed below, and leave a comment letting us know you want to work on them.
87+
- The links in brackets (like `[1](#), [2](#), [3](#)`) are suggestions of links to include in the section. Feel free to add more!
88+
- The username listed next to the section (like `@janhohenheim?`) is a suggestion of who may want to pick up the work (usually the project's developer, or someone who has expressed interest in the past).
89+
- You are not obligated to write a section if you're tagged or your project is listed! You're welcome to ask someone else to write the section, or to ask for your project to be excluded from this month's post.
90+
- Extra sections not listed in the plan are welcomed - just leave a comment and open a PR!
91+
- Write a short overview in the newsletter's Markdown file, making sure to follow the style guidelines (see below).
92+
- Send a PR [_to the `source` branch_](https://github.com/rust-gamedev/rust-gamedev.github.io/tree/source) (example PR: [N15: A/B Street #336](https://github.com/rust-gamedev/rust-gamedev.github.io/pull/336)).
93+
- Mention this issue in your PR's description to link it all together.
94+
95+
## Style Guidelines
96+
97+
The full style guide is in [CONTRIBUTING.md](https://github.com/rust-gamedev/rust-gamedev.github.io/blob/source/CONTRIBUTING.md?rgh-link-date=2023-09-12T16%3A17%3A34Z),
98+
but here are the most important rules:
99+
100+
- Write in third-person perspective.
101+
- Each line must be 160 characters or less, for ease of reviewing/diffing.
102+
- Only one image per section is allowed.
103+
- The maximum size is 300kb for static images and 2.5mb for GIFs.
104+
- The image should come before the text, and must have alt text for accessibility.
105+
- Prefer static images to GIFs, to keep the page load times down.
106+
- Each section should be under 1000 characters, and under 6 paragraphs.
107+
- This only applies to the rendered text, not the markup.
108+
- Keep formatting minimal - no bold/italics/etc.
109+
- Avoid long/nested bullet point lists - no changelogs!
110+
111+
Please use these templates as a starting point:
112+
113+
**Games/apps/libraries:**
114+
115+
```md
116+
### [Game name]
117+
118+
![alt text](img)
119+
_optional image label_
120+
121+
[Game name] ([GitHub], [Discord], [Twitter]) by [@nickname]
122+
is... {short project description in one sentence}.
123+
124+
{An overview of the recent updates with links to more details}.
125+
126+
_Discussions: [/r/rust_gamedev](link), [Twitter](link), [etc](link)_
127+
128+
[Game name]: http://example.com
129+
```
130+
131+
**Articles/blog posts/videos/etc:**
132+
133+
```md
134+
### [Article name]
135+
136+
![alt text](img)
137+
_optional image label_
138+
139+
[@nickname] published an [article] about...
140+
{overview what the resource is about}.
141+
142+
_Discussions: [/r/rust_gamedev](link), [Twiter](link), [etc](link)_
143+
144+
[Article name]: http://example.com
145+
```

newsletter-template.md renamed to .github/newsletter-template.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
+++
2-
title = "This Month in Rust GameDev #{TODO} - {TODO} {TODO}"
2+
title = "This Month in Rust GameDev #{{ NEWSLETTER_COUNTER }} - {{ NEWSLETTER_MONTH }} {{ NEWSLETTER_YEAR }}"
33
transparent = true
4-
date = TODO
4+
date = {{ NEWSLETTER_YEAR }}-{{ NEWSLETTER_NEXT_MONTH_NUMBER }}-03
55
draft = true
66
+++
77

88
<!-- no toc -->
99

1010
<!-- Check the post with markdownlint-->
1111

12-
Welcome to the {TODO}th issue of the Rust GameDev Workgroup's
12+
Welcome to the {{ NEWSLETTER_COUNTER }}th issue of the Rust GameDev Workgroup's
1313
monthly newsletter.
1414
[Rust] is a systems language pursuing the trifecta:
1515
safety, concurrency, and speed.
@@ -35,8 +35,8 @@ Feel free to send PRs about your own projects!
3535
- [Learning Material Updates](#learning-material-updates)
3636
- [Tooling Updates](#tooling-updates)
3737
- [Library Updates](#library-updates)
38+
- [Popular Workgroup Issues in GitHub](#popular-workgroup-issues-in-github)
3839
- [Other News](#other-news)
39-
- [Popular Workgroup Issues in Github](#popular-workgroup-issues-in-github)
4040
- [Meeting Minutes](#meeting-minutes)
4141
- [Discussions](#discussions)
4242
- [Requests for Contribution](#requests-for-contribution)
@@ -77,7 +77,7 @@ If needed, a section can be split into subsections with a "------" delimiter.
7777

7878
## Library Updates
7979

80-
## Popular Workgroup Issues in Github
80+
## Popular Workgroup Issues in GitHub
8181

8282
<!-- Up to 10 links to interesting issues -->
8383

@@ -119,8 +119,10 @@ That's all news for today, thanks for reading!
119119
Want something mentioned in the next newsletter?
120120
[Send us a pull request][pr].
121121

122-
Also, subscribe to [@rust_gamedev on Twitter][@rust_gamedev]
123-
or [/r/rust_gamedev subreddit][/r/rust_gamedev] if you want to receive fresh news!
122+
Also, subscribe to our socials if you want to receive fresh news!
123+
- X/Twitter: [@rust_gamedev][@x_rust_gamedev]
124+
- Mastodon: [@rust_gamedev][@mastodon_rust_gamedev]
125+
- Reddit: [/r/rust_gamedev][/r/rust_gamedev]
124126

125127
<!--
126128
TODO: Add real links and un-comment once this post is published
@@ -132,4 +134,5 @@ TODO: Add real links and un-comment once this post is published
132134
-->
133135

134136
[/r/rust_gamedev]: https://reddit.com/r/rust_gamedev
135-
[@rust_gamedev]: https://twitter.com/rust_gamedev
137+
[@x_rust_gamedev]: https://twitter.com/rust_gamedev
138+
[@mastodon_rust_gamedev]: https://mastodon.gamedev.place/@rust_gamedev

.github/workflows/ci.yml

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,43 @@ jobs:
1515
# https://github.com/crazy-max/ghaction-github-pages/issues/1#issuecomment-623202206
1616
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1717
steps:
18-
- uses: actions/checkout@v2
18+
- uses: actions/checkout@v4
19+
with:
20+
fetch-depth: ${{ github.event_name == 'pull_request' && 2 || 0 }}
21+
- name: Get changed files
22+
id: changed-files
23+
# source: https://stackoverflow.com/a/74268200, added filtering for markdown files
24+
run: |
25+
if ${{ github.event_name == 'pull_request' }}; then
26+
changed_files=$(git diff --name-only -r HEAD^1 HEAD -z | grep '\.md$' -zZ | xargs -0)
27+
else
28+
changed_files=$(git diff --name-only ${{ github.event.before }} ${{ github.event.after }} -z | grep '\.md$' -zZ | xargs -0)
29+
fi
30+
echo "changed_files: $changed_files"
31+
echo "changed_files=$changed_files" >> $GITHUB_OUTPUT
1932
- name: Lint
2033
uses: avto-dev/markdown-lint@v1
2134
with:
2235
args: '.'
2336
config: '.markdownlint.json'
37+
- name: Check links
38+
uses: lycheeverse/lychee-action@v1.9.0
39+
if: ${{ steps.changed-files.outputs.changed_files != '' }}
40+
with:
41+
fail: true
42+
args: >-
43+
--verbose
44+
--no-progress
45+
--accept '100..=103,200..=299,300..=399'
46+
--exclude '[^\w]todo[^\w]?'
47+
--exclude 'https://(www\.|old\.)?reddit\.com'
48+
${{ steps.changed-files.outputs.changed_files }}
2449
- name: Install Zola
25-
run: curl -L ${BASE_URL}/${VERS}/zola-${VERS}-${ARCH}.tar.gz | tar -xz
26-
- run: ./zola --version
27-
- run: ./zola build
50+
run: |
51+
curl -L ${BASE_URL}/${VERS}/zola-${VERS}-${ARCH}.tar.gz | tar -xz
52+
echo "Zola version: $(./zola --version)"
53+
- name: Zola build
54+
run: ./zola build
2855
- name: Deploy
2956
if: github.ref == 'refs/heads/source'
3057
uses: crazy-max/ghaction-github-pages@v1
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Create Newsletter
2+
on:
3+
schedule:
4+
# Run on the 3rd of every month at 9 am
5+
- cron: "0 9 3 * *"
6+
workflow_dispatch:
7+
inputs: {}
8+
permissions:
9+
contents: write
10+
issues: write
11+
pull-requests: write
12+
jobs:
13+
create-newsletter:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v3
17+
with:
18+
ref: source
19+
- name: Set environment variables
20+
run: |
21+
echo "NEWSLETTER_MONTH=$(date +'%B')" >> $GITHUB_ENV
22+
echo "NEWSLETTER_NEXT_MONTH=$(date -d' 1 month ' +'%B')" >> $GITHUB_ENV
23+
echo "NEWSLETTER_NEXT_MONTH_NUMBER=$(date -d' 1 month ' +'%m')" >> $GITHUB_ENV
24+
echo "NEWSLETTER_YEAR=$(date +'%Y')" >> $GITHUB_ENV
25+
# take the amount of months since feb 2024 and add 50
26+
echo "NEWSLETTER_COUNTER=$(( ( ( $(date +'%Y') - 2024 ) * 12 + $(date +'%m') - 4 ) + 50 ))" >> $GITHUB_ENV
27+
- name: Create newsletter scaffold
28+
run: ./.github/create_newsletter_scaffold.sh
29+
- name: Commit and create pull request
30+
uses: peter-evans/create-pull-request@v3
31+
with:
32+
commit-message: "Create newsletter N${{ env.NEWSLETTER_COUNTER }} for ${{ env.NEWSLETTER_MONTH }} ${{ env.NEWSLETTER_YEAR }}"
33+
branch: "start-newsletter-${{ env.NEWSLETTER_COUNTER }}"
34+
title: "Newsletter N${{ env.NEWSLETTER_COUNTER }} for ${{ env.NEWSLETTER_MONTH }} ${{ env.NEWSLETTER_YEAR }}"
35+
body: "This PR adds the initial newsletter source file for ${{ env.NEWSLETTER_MONTH }} ${{ env.NEWSLETTER_YEAR }}."
36+
assignees: |
37+
AngelOnFira
38+
janhohenheim
39+
mamaicode
40+
- name: Create tracking issue
41+
uses: JasonEtco/create-an-issue@v2
42+
env:
43+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44+
with:
45+
filename: .github/newsletter-issue-template.md

.markdownlint.json

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
{
22
"line-length": {
3-
"line_length": 80,
3+
"line_length": 160,
44
"code_blocks": false
55
},
6-
"ul-style": {
7-
"style": "dash"
8-
},
9-
"no-trailing-punctuation": {
10-
"punctuation": ".,;:。,;:"
11-
}
12-
}
6+
"blanks-around-lists": false,
7+
"blanks-around-headings": false,
8+
"no-multiple-blanks": false,
9+
"no-trailing-spaces": false,
10+
"no-trailing-punctuation": false,
11+
"no-hard-tabs": false,
12+
"hr-style": false,
13+
"strong-style": false,
14+
"emphasis-style": false
15+
}

config.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ feed_filename = "rss.xml"
88

99
[markdown]
1010
highlight_code = true
11+
smart_punctuation = true
1112

1213
[extra]
1314
date_format = "%F"

content/blog/2019-08-18-introducing-the-rust-game-development-working-group.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ we've already got several projects underway:
4747

4848
## How can I get involved?
4949

50-
Our main hub for co-ordination is our [Github repository](https://github.com/rust-gamedev/wg),
50+
Our main hub for co-ordination is our [GitHub repository](https://github.com/rust-gamedev/wg),
5151
where you can (and should!) raise issues calling out your ideas, proposals
5252
or problems with the Rust gamedev ecosystem.
5353
We also have a `#wg-gamedev` channel on the [official Rust Discord server](https://discord.gg/j6QJsMd),
Loading
56.7 KB
Loading

0 commit comments

Comments
 (0)