|
1 | 1 | # Triangle BitDevs |
2 | 2 |
|
3 | | -Simple Jekyll site for hosting all of the links from meetups past and future. |
| 3 | +Static site for Triangle BitDevs meetups, built with [Zola](https://www.getzola.org/). |
4 | 4 |
|
5 | | -## Development |
| 5 | +## Prerequisites |
6 | 6 |
|
7 | | -You'll need [Ruby & Jekyll](https://jekyllrb.com/docs/installation/) to run the |
8 | | -site locally. For newer macs [these instructions](https://livid.v2ex.com/guides/2023/01/03/jekyll-macos-ventura.html) work better. Once they're setup: |
| 7 | +- [Rust + Cargo](https://www.rust-lang.org/tools/install) |
| 8 | +- [`just`](https://github.com/casey/just) task runner |
9 | 9 |
|
10 | | -* Clone the repository and go into the directory |
11 | | -* Run `bundle install` |
12 | | -* Run `jekyll serve` |
13 | | -* Go to http://localhost:4000 |
| 10 | +Install `just` with Cargo if needed: |
14 | 11 |
|
15 | | -## Making a Post |
| 12 | +```bash |
| 13 | +cargo install just |
| 14 | +``` |
| 15 | + |
| 16 | +## Local development |
| 17 | + |
| 18 | +From the repo root: |
| 19 | + |
| 20 | +```bash |
| 21 | +just install |
| 22 | +just serve |
| 23 | +``` |
| 24 | + |
| 25 | +- `just install` installs Zola from source: |
| 26 | + `cargo install --locked --git https://github.com/getzola/zola --tag v$(cat .zola-version)` |
| 27 | +- `just serve` runs `zola serve --open --drafts` |
| 28 | + |
| 29 | +The dev server runs at `http://localhost:1111`. |
| 30 | + |
| 31 | +## Build |
| 32 | + |
| 33 | +```bash |
| 34 | +just build |
| 35 | +``` |
| 36 | + |
| 37 | +This runs `zola build`. |
| 38 | + |
| 39 | +## Content workflow |
| 40 | + |
| 41 | +Event/content pages live in `content/*.md` and use TOML front matter (`+++`). |
| 42 | + |
| 43 | +Example front matter: |
| 44 | + |
| 45 | +```toml |
| 46 | ++++ |
| 47 | +title = "Socratic Seminar 50" |
| 48 | +date = 2026-03-11 |
| 49 | +template = "page.html" |
| 50 | + |
| 51 | +[extra] |
| 52 | +event_type = "socratic" |
| 53 | +add_to_calendar = true |
| 54 | +start = "2026-03-11T22:00:00Z" |
| 55 | +end = "2026-03-12T00:00:00Z" |
| 56 | +location = "APEX 1, Fidelity Investments, 100 New Millennium Way, Durham, NC 27709" |
| 57 | ++++ |
| 58 | +``` |
| 59 | + |
| 60 | +Notes: |
| 61 | +- `start`/`end` are stored in UTC (`Z`) in content. |
| 62 | +- Event display and ICS output are rendered in `America/New_York` (EST/EDT as appropriate). |
| 63 | + |
| 64 | +## Calendar helper tool |
16 | 65 |
|
17 | | -To make a new post, make a new file in `_posts/` with a title of |
18 | | -`YYYY-MM-DD-title-goes-here`. At the top of the file you'll want to provide the |
19 | | -following information: |
| 66 | +There is a small helper binary for generating event front matter: |
20 | 67 |
|
21 | | -```md |
22 | | ---- |
23 | | -layout: post # Always post |
24 | | -type: socratic # or whitepaper for a whitepaper series |
25 | | -title: "Name of the Post" |
26 | | -meetup: https://www.meetup.com/BitDevsNYC/events/[event id here]/ |
27 | | ---- |
| 68 | +```bash |
| 69 | +just build-calendar-gen |
| 70 | +just new-event |
28 | 71 | ``` |
29 | 72 |
|
30 | | -After that, it's just simple markdown. The site will auto-generate the rest. |
| 73 | +## Other useful commands |
31 | 74 |
|
32 | | -## Changing Site Data |
| 75 | +- `just check-links` checks legacy Jekyll URL aliases. |
| 76 | +- `just edit` opens the most recent event file. |
| 77 | +- `just update-feed-template` refreshes `templates/feed.xml` from Zola builtins. |
33 | 78 |
|
34 | | -All site configurations are either contained in `_config.yml` or |
35 | | -`_data/settings.yml`. Some data is duplicated between the two due to the way |
36 | | -Jekyll injects variables, so be sure to update both. |
| 79 | +## Zola version pinning |
37 | 80 |
|
38 | | -## Attributions |
| 81 | +The Zola version is pinned in `.zola-version`. |
| 82 | +- Local install (`just install`) uses this pinned version. |
| 83 | +- GitHub Actions deploy uses the same pinned version. |
39 | 84 |
|
40 | | -Thanks to [LeNPaul](https://github.com/LeNPaul/jekyll-starter-kit) for the |
41 | | -Jekyll starter kit this was forked from. |
| 85 | +To upgrade Zola: |
| 86 | +1. Update `.zola-version`. |
| 87 | +2. Run `just install`. |
| 88 | +3. Run `just build` and verify output. |
0 commit comments