lmjtfy.git / third-party / README.md
1# Chapter 15½: third-party, borrowing a Jev client
2
3Several of the owner's projects talk to Jev. Rather than each writing its own
4client, with its own idea of how to retry and how to check a response, they
5share one: **jevcrates**, a separate repository, included here as a git
6submodule. A submodule is a repository inside a repository, pinned at an
7exact commit; `git clone --recurse-submodules` fetches both.
8
9From jevcrates this site uses three crates: `jev-protocol` (the questions,
10and the exact bytes of a request), `jev-client` (the retry policy and the
11checks on a response), and `jev-worker` (the Worker's `fetch` and timers,
12plugged into the client). The eval also uses `jev-http`, the native client
13with the shared spend ledger. No second Jev client lives in this repository.
14
15> **Aside: the relative URL.** `.gitmodules` names jevcrates as
16> `../jevcrates.git`, relative to wherever lmjtfy itself came from. Clone
17> lmjtfy from this site and the submodule comes from this site too; clone it
18> from GitHub and it comes from GitHub. One line, both ways work.
19
20To use jevcrates in a project of your own, you do not need this repository:
21Cargo can fetch it from this site. Its front page,
22<https://lmjtfy.fun/jevcrates.git>, has the `Cargo.toml` lines,
23pinned to its latest commit.
24
25jevcrates has its own guide, which continues this one at Chapter 16:
26[jevcrates/](jevcrates/).
27
28One more thing is borrowed, much smaller: the pixel flags in the online
29list and the thumbs on the vote buttons, a font cut down from SerenityOS's
30emoji. Chapter 15¾, [serenity-emoji/](serenity-emoji/), is about it. And
31the explorer's icons are someone else's pixel art: chapter 15⅝,
32[jerrys-pixel-icons/](jerrys-pixel-icons/).
33
34## For the people who maintain it
35
36It is a separate Cargo workspace; the root `Cargo.toml` excludes this folder
37and depends on its crates by path. There is no README of this repository's
38inside `jevcrates/`, because it is another repository's tree: its own are
39there.
40
41| Path | What |
42| --- | --- |
43| [jerrys-pixel-icons/](jerrys-pixel-icons/) | Chapter 15⅝: the explorer's file and folder icons, pixel art by wolfsouldev. |
44| [serenity-emoji/](serenity-emoji/) | Chapter 15¾: the pixel flags of the online list and the vote thumbs, a font cut down from SerenityOS's emoji. |
45| [jevcrates/](jevcrates/) | The submodule: `deizel/jevcrates`, at the commit lmjtfy pins. |
46
47← Previous: [Chapter 15, ds-bundle/](../ds-bundle/) · Up: [lmjtfy](../) · Next: [Chapter 15⅝, jerrys-pixel-icons/](jerrys-pixel-icons/) →