Skip to content

Commit d6c9f3b

Browse files
drmowinckelsclaude
andcommitted
Split tech section by audience: organiser tooling vs Global Team infrastructure
The /organizers/tech/ section mixed two unrelated audiences: chapter organisers needing Slack/Meetup/email setup, and Global Team members maintaining the build pipeline, PATs, deploy keys, and API credentials. Six of the ten pages were org-owner-only runbooks no organiser would ever act on. Moves six pages to a new /global-team/infrastructure/ section: build-architecture, github-pat, github-admin-token, ssh-deploy-keys, airtable (renamed to airtable-api-key to distinguish from the existing global-team/airtable/ usage guide), and meetup-api. Each moved page keeps its old /organization/tech/ alias and gains an /organizers/tech/ alias so external links still resolve. The brand/ stub (already just a 4-line redirect) is deleted; its aliases moved onto content/branding/_index.en.md and the two outbound links updated to point at /branding/ directly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent d7828c6 commit d6c9f3b

12 files changed

Lines changed: 189 additions & 187 deletions

File tree

content/branding/_index.en.md

Lines changed: 42 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ title: Branding
33
weight: 6
44
chapter: true
55
linkTitle: Branding
6+
aliases:
7+
- /organization/tech/brand/
8+
- /organizers/tech/brand/
69
---
710

8-
911
## Brand identity
1012

1113
RLadies+ launched its new visual identity in March 2026, designed in collaboration with [Science Graphic Design](https://www.sciencegraphicdesign.com/) and shaped by community feedback.
@@ -18,13 +20,13 @@ The full visual identity guide is available as [Branding-guidelines.pdf](https:/
1820

1921
### Color palette
2022

21-
| Role | Color | Hex code | Preview |
22-
|------|-------|----------|---------|
23-
| Main colour | Blue Violet | `#881ef9` | <span style="display:inline-block;width:20px;height:20px;background:#881ef9;border-radius:3px;vertical-align:middle;"></span> |
24-
| Accent | Dodger Blue | `#146af9` | <span style="display:inline-block;width:20px;height:20px;background:#146af9;border-radius:3px;vertical-align:middle;"></span> |
25-
| Accent | Brilliant Rose | `#ff5b92` | <span style="display:inline-block;width:20px;height:20px;background:#ff5b92;border-radius:3px;vertical-align:middle;"></span> |
26-
| Basic | Bastille Black | `#2f2f30` | <span style="display:inline-block;width:20px;height:20px;background:#2f2f30;border-radius:3px;vertical-align:middle;"></span> |
27-
| Basic | Lavender White | `#ededf4` | <span style="display:inline-block;width:20px;height:20px;background:#ededf4;border:1px solid #ccc;border-radius:3px;vertical-align:middle;"></span> |
23+
| Role | Color | Hex code | Preview |
24+
| ----------- | -------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
25+
| Main colour | Blue Violet | `#881ef9` | <span style="display:inline-block;width:20px;height:20px;background:#881ef9;border-radius:3px;vertical-align:middle;"></span> |
26+
| Accent | Dodger Blue | `#146af9` | <span style="display:inline-block;width:20px;height:20px;background:#146af9;border-radius:3px;vertical-align:middle;"></span> |
27+
| Accent | Brilliant Rose | `#ff5b92` | <span style="display:inline-block;width:20px;height:20px;background:#ff5b92;border-radius:3px;vertical-align:middle;"></span> |
28+
| Basic | Bastille Black | `#2f2f30` | <span style="display:inline-block;width:20px;height:20px;background:#2f2f30;border-radius:3px;vertical-align:middle;"></span> |
29+
| Basic | Lavender White | `#ededf4` | <span style="display:inline-block;width:20px;height:20px;background:#ededf4;border:1px solid #ccc;border-radius:3px;vertical-align:middle;"></span> |
2830

2931
The main colour (Blue Violet) should be used primarily, combined with the basic colours and/or accent colours.
3032
Accent colours should be used sparingly as supplements to the main colour.
@@ -43,12 +45,12 @@ Each colour also has 75%, 50%, and 25% tints for extended palette use — see th
4345

4446
The official font is **Poppins**, available via [Google Fonts](https://fonts.google.com/specimen/Poppins).
4547

46-
| Element | Weight |
47-
|---------|--------|
48-
| Main titles | Poppins Medium |
49-
| Headings | Poppins SemiBold |
50-
| Body text | Poppins Regular |
51-
| Emphasis | Poppins Bold (not italics or underline) |
48+
| Element | Weight |
49+
| ----------- | --------------------------------------- |
50+
| Main titles | Poppins Medium |
51+
| Headings | Poppins SemiBold |
52+
| Body text | Poppins Regular |
53+
| Emphasis | Poppins Bold (not italics or underline) |
5254

5355
The monospace font is **Inconsolata**.
5456

@@ -58,14 +60,14 @@ Maintain visual hierarchy: main titles should be the largest text, headings size
5860

5961
The RLadies+ logo is available in multiple variants:
6062

61-
| Variant | Use case |
62-
|---------|----------|
63-
| Vertical (stacked) | Default — use for most cases |
64-
| Horizontal | When vertical space is limited |
65-
| Full colour | Light or white backgrounds |
66-
| Bastille Black | Light backgrounds (single-colour alternative) |
67-
| Lavender White | Dark or coloured backgrounds |
68-
| Pure Black / Pure White | High-contrast contexts |
63+
| Variant | Use case |
64+
| ----------------------- | --------------------------------------------- |
65+
| Vertical (stacked) | Default — use for most cases |
66+
| Horizontal | When vertical space is limited |
67+
| Full colour | Light or white backgrounds |
68+
| Bastille Black | Light backgrounds (single-colour alternative) |
69+
| Lavender White | Dark or coloured backgrounds |
70+
| Pure Black / Pure White | High-contrast contexts |
6971

7072
{{% notice warning %}}
7173
**Do not** edit the logo shapes, move the logo icon relative to its text, recreate the logo using a different font, change the logo's proportions (rotate, skew, stretch), or position the logo on a busy or discontinuous background. Leave enough space around the logo and text.
@@ -83,29 +85,29 @@ It contains the full colour palette (including tints), typography settings, and
8385

8486
All official assets are in the [branding-materials repository](https://github.com/rladies/branding-materials):
8587

86-
| Folder | Contents |
87-
|--------|----------|
88-
| `logos/horizontal/` | Horizontal logo in 5 colour variants |
89-
| `logos/vertical/` | Vertical (stacked) logo in 5 colour variants |
90-
| `logos/favicon/` | Favicon icons |
91-
| `logos/hex/` | Hex sticker logos (4 variants) |
92-
| `logos/social-media/` | Social media profile pictures |
93-
| `logos/circular/` | Circular logos (not for social media) |
94-
| `logos/quarto/` | Clean-named SVGs for Quarto and web projects |
95-
| `templates/slidedecks/` | PowerPoint and Google Slides templates |
96-
| `templates/documents/` | Document templates (with and without letterheads) |
97-
| `templates/certificates/` | Certificate templates (DOCX and PDF) |
88+
| Folder | Contents |
89+
| ------------------------- | ------------------------------------------------- |
90+
| `logos/horizontal/` | Horizontal logo in 5 colour variants |
91+
| `logos/vertical/` | Vertical (stacked) logo in 5 colour variants |
92+
| `logos/favicon/` | Favicon icons |
93+
| `logos/hex/` | Hex sticker logos (4 variants) |
94+
| `logos/social-media/` | Social media profile pictures |
95+
| `logos/circular/` | Circular logos (not for social media) |
96+
| `logos/quarto/` | Clean-named SVGs for Quarto and web projects |
97+
| `templates/slidedecks/` | PowerPoint and Google Slides templates |
98+
| `templates/documents/` | Document templates (with and without letterheads) |
99+
| `templates/certificates/` | Certificate templates (DOCX and PDF) |
98100

99101
Additional editable templates are available on [Google Drive](https://drive.google.com/drive/folders/1UV940p-KN9FWoHt4yrZnrc2oAczGw9QB?usp=sharing) and in the [RLadies+ Canva workspace](https://www.canva.com/folder/FAHCPq0DH3w).
100102

101103
## Tools and extensions
102104

103-
| Tool | Description |
104-
|------|-------------|
105-
| [glamour](https://github.com/rladies/glamour) | Quarto extension — applies RLadies+ branding to documents and presentations |
106-
| [spellbind](https://github.com/rladies/spellbind) | R package with brand colours ([documentation](https://rladies.org/spellbind/)) |
107-
| [cloak](https://github.com/rladies/cloak) | pkgdown theme for R package websites |
108-
| [brand.yml](https://github.com/rladies/branding-materials/blob/rebrand/brand.yml) | Machine-readable brand definition for Quarto and Shiny |
105+
| Tool | Description |
106+
| --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
107+
| [glamour](https://github.com/rladies/glamour) | Quarto extension — applies RLadies+ branding to documents and presentations |
108+
| [spellbind](https://github.com/rladies/spellbind) | R package with brand colours ([documentation](https://rladies.org/spellbind/)) |
109+
| [cloak](https://github.com/rladies/cloak) | pkgdown theme for R package websites |
110+
| [brand.yml](https://github.com/rladies/branding-materials/blob/rebrand/brand.yml) | Machine-readable brand definition for Quarto and Shiny |
109111

110112
## Legacy materials
111113

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
title: "Infrastructure"
3+
linkTitle: "Infrastructure"
4+
weight: 60
5+
chapter: false
6+
---
7+
8+
Runbooks for the secrets, tokens, and deploy keys that keep the R-Ladies website, directory, and automation workflows running.
9+
These pages are for Global Team members with org-owner or repo-admin access — chapter organisers do not need to read them.
10+
11+
Start with the [Build Architecture]({{% relref "build-architecture" %}}) page for the cross-repo map showing how everything connects, then drill into individual credentials as needed.

content/organizers/tech/airtable/index.en.md renamed to content/global-team/infrastructure/airtable-api-key/index.en.md

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,28 @@
11
---
2-
title: "Airtable API Key"
3-
linkTitle: "Airtable"
4-
weight: 7
2+
title: "Airtable API Key (AIRTABLE_API_KEY)"
3+
linkTitle: "Airtable API Key"
4+
weight: 40
55
aliases:
66
- /organization/tech/airtable/
7+
- /organizers/tech/airtable/
78
---
89

910
R-Ladies uses Airtable as the backend for directory submissions and Global Team membership data.
1011
Two repos connect to Airtable through a shared API key stored as `AIRTABLE_API_KEY`.
1112

13+
{{% notice info %}}
14+
This page documents the `AIRTABLE_API_KEY` org secret used by GitHub Actions workflows.
15+
If you're looking for guidance on how Global Team members use the Airtable bases day-to-day, see the [Airtable guide]({{% relref "/global-team/airtable" %}}).
16+
{{% /notice %}}
17+
1218
## Airtable bases
1319

1420
We maintain separate Airtable bases for different purposes:
1521

16-
| Base ID | Purpose | Key tables | Used by |
17-
|---|---|---|---|
18-
| `appzYxePUruG9Nwyg` | Directory submissions | Submissions, Languages, Countries | `directory` |
19-
| `appZjaV7eM0Y9FsHZ` | Global Team | Members, Teams, Alumni | `rladies.github.io` |
22+
| Base ID | Purpose | Key tables | Used by |
23+
| ------------------- | --------------------- | --------------------------------- | ------------------- |
24+
| `appzYxePUruG9Nwyg` | Directory submissions | Submissions, Languages, Countries | `directory` |
25+
| `appZjaV7eM0Y9FsHZ` | Global Team | Members, Teams, Alumni | `rladies.github.io` |
2026

2127
The `directory` repo pulls new member submissions every Friday via `airtable-update.yml` and deletes processed records after PRs merge via `airtable-delete.yml`.
2228

@@ -31,14 +37,14 @@ Make sure the account that generates the token has at least Editor access on bot
3137

3238
## Creating a new token
3339

34-
1. Log in to [airtable.com](https://airtable.com) with the R-Ladies Airtable account
35-
2. Go to [airtable.com/create/tokens](https://airtable.com/create/tokens)
36-
3. Create a new personal access token with these scopes:
37-
- `data.records:read` — read records from tables
38-
- `data.records:write` — create and update records
39-
- `schema.bases:read` — read base schema (needed by `airtabler`)
40-
4. Under "Access", add both bases: the directory base and the Global Team base
41-
5. Copy the generated token
40+
1. Log in to [airtable.com](https://airtable.com) with the R-Ladies Airtable account
41+
2. Go to [airtable.com/create/tokens](https://airtable.com/create/tokens)
42+
3. Create a new personal access token with these scopes:
43+
- `data.records:read` — read records from tables
44+
- `data.records:write` — create and update records
45+
- `schema.bases:read` — read base schema (needed by `airtabler`)
46+
4. Under "Access", add both bases: the directory base and the Global Team base
47+
5. Copy the generated token
4248

4349
## Storing the secret
4450

content/organizers/tech/build-architecture/index.en.md renamed to content/global-team/infrastructure/build-architecture/index.en.md

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
---
22
title: "Cross-Repo Build Architecture"
33
linkTitle: "Build Architecture"
4-
weight: 10
4+
weight: 1
55
aliases:
66
- /organization/tech/build-architecture/
7+
- /organizers/tech/build-architecture/
78
---
89

910
The R-Ladies website build is the most interconnected piece of our infrastructure.
@@ -14,12 +15,12 @@ This page maps out how everything fits together.
1415

1516
When someone submits a new directory entry or blog post, the path to the live website looks like this:
1617

17-
1. **Airtable** receives a new submission (directory entry) or a contributor opens a PR (blog)
18-
2. **Source repos** (`directory` or `awesome-rladies-blogs`) process the data and create or update a PR
19-
3. The source repo **triggers a preview build** on `rladies.github.io` via `workflow_dispatch`
20-
4. **`rladies.github.io`** clones the source repos via SSH, builds the Hugo site, and deploys a preview to Netlify
21-
5. The preview build **posts a comment** back to the originating PR with the preview link
22-
6. Once the PR merges, the next **scheduled production build** (every 12 hours) picks up the changes
18+
1. **Airtable** receives a new submission (directory entry) or a contributor opens a PR (blog)
19+
2. **Source repos** (`directory` or `awesome-rladies-blogs`) process the data and create or update a PR
20+
3. The source repo **triggers a preview build** on `rladies.github.io` via `workflow_dispatch`
21+
4. **`rladies.github.io`** clones the source repos via SSH, builds the Hugo site, and deploys a preview to Netlify
22+
5. The preview build **posts a comment** back to the originating PR with the preview link
23+
6. Once the PR merges, the next **scheduled production build** (every 12 hours) picks up the changes
2324

2425
## What connects to what
2526

@@ -38,16 +39,16 @@ awesome-rladies-blogs ├── clones directory (SSH)
3839

3940
Each connection in the diagram above requires a specific secret:
4041

41-
| Connection | Secret | Stored in | Type |
42-
|---|---|---|---|
43-
| Source repo dispatches build | `GLOBAL_GHA_PAT` | Org secret | PAT |
44-
| Website clones `directory` | `ssh_directoryy_repo` | `rladies.github.io` | SSH deploy key |
45-
| Website clones `awesome-rladies-blogs` | `RLADIES_BLOGS_KEY` | `rladies.github.io` | SSH deploy key |
46-
| Website comments on source PR | `GLOBAL_GHA_PAT` | Org secret | PAT |
47-
| Website deploys preview to Netlify | `NETLIFY_AUTH_TOKEN` | `rladies.github.io` | API token |
48-
| Website identifies Netlify site | `NETLIFY_SITE_ID` | `rladies.github.io` | Site ID |
49-
| Global Team data pushed to main | `push-to-protected` | `rladies.github.io` | SSH deploy key |
50-
| Global Team data pushed to main | `ADMIN_TOKEN` | Org secret | PAT |
42+
| Connection | Secret | Stored in | Type |
43+
| -------------------------------------- | --------------------- | ------------------- | -------------- |
44+
| Source repo dispatches build | `GLOBAL_GHA_PAT` | Org secret | PAT |
45+
| Website clones `directory` | `ssh_directoryy_repo` | `rladies.github.io` | SSH deploy key |
46+
| Website clones `awesome-rladies-blogs` | `RLADIES_BLOGS_KEY` | `rladies.github.io` | SSH deploy key |
47+
| Website comments on source PR | `GLOBAL_GHA_PAT` | Org secret | PAT |
48+
| Website deploys preview to Netlify | `NETLIFY_AUTH_TOKEN` | `rladies.github.io` | API token |
49+
| Website identifies Netlify site | `NETLIFY_SITE_ID` | `rladies.github.io` | Site ID |
50+
| Global Team data pushed to main | `push-to-protected` | `rladies.github.io` | SSH deploy key |
51+
| Global Team data pushed to main | `ADMIN_TOKEN` | Org secret | PAT |
5152

5253
## Production vs. preview builds
5354

@@ -73,9 +74,9 @@ See the [GitHub PAT](../github-pat/), [Admin Token](../github-admin-token/), and
7374
We use two separate Netlify setups:
7475

7576
- **Website previews**`rladies.github.io` deploys preview builds to Netlify using `NETLIFY_AUTH_TOKEN` and `NETLIFY_SITE_ID` (stored as repo-level secrets).
76-
The preview URL is posted back to the originating PR.
77+
The preview URL is posted back to the originating PR.
7778
- **R-Ladies Guide**`rladiesguide` is hosted on Netlify at `guide.rladies.org`.
78-
The `.github` org repo has a `RLADIESGUIDE` secret containing a Netlify deploy hook URL that triggers a rebuild whenever the org-level repo is updated.
79+
The `.github` org repo has a `RLADIESGUIDE` secret containing a Netlify deploy hook URL that triggers a rebuild whenever the org-level repo is updated.
7980

8081
The Netlify account credentials and site ownership should be documented with the team.
8182
If you lose access to the Netlify account, preview deploys and the guide site will stop updating.

0 commit comments

Comments
 (0)