Skip to content

crhallberg/json-against-humanity

latest
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

JSON Against Humanity

Finally, Cards Against Humanity as plain text and JSON.

CONTRIBUTING

File formats

cah-all-compact.json

{
  "white": [
    "Answer cards in plain text, formatted with **Markdown**",
    "Vin Diesel"
  ],
  "black": [
    { "text": "_Prompt_ cards\nformatted with _.", "pick": 1 },
    { "text": "I want a _ **and** _ sandwich! No corners!", "pick": 2 }
  ],
  "packs": {
    "${abbr/key}": {
      "name": "The Base Set",
      "description": "Sweet dirty vanilla",
      "official": true,
      "white": [0, 1, 2, "indexes for every white card in this pack"],
      "black": [0, 1, 2, "indexes for every black card in this pack"]
    },
    "${abbr/key}": {},
    "${abbr/key}": {}
  }
}

Rehydrated with CAHDeck.js

{
  "${abbr/key}": {
    "name": "The Base Set",
    "description": "Sweet dirty vanilla",
    "official": true,
    "white": [
      {
        "text": "Answer cards in plain text, formatted with **Markdown**",
        "pack": "base"
      }
    ],
    "black": [
      {
        "text": "_Prompt_ cards\nformatted with _.",
        "pick": 1,
        "pack": "base"
      }
    ]
  },
  "${abbr/key}": {},
  "${abbr/key}": {}
}

FAQ

How many cards are there? Check the website.

What font is CAH? Cards Against Humanity cards are in Helvetica® Neue. It's not free. I use Inter Medium.

Are you associated with __? No. Only in my dreams.

I'm just getting started and I have a lot of questions You can reach me on Twitter as @crhallberg. I'd love to hear from you! My DMs are open if privacy is a concern.

Is this legal? Yes. Cards Against Humanity is distributed under a Creative Commons BY-NC-SA 4.0 license. I think their website puts it best:

We give you permission to use the Cards Against Humanity writing under a limited Creative Commons BY-NC-SA 4.0 license. That means you can use our writing if (and only if) you do all of these things:

  1. Make your work available totally for free.
  2. Share your work with others under the same Creative Commons license that we use.
  3. Give us credit in your project.

If you have questions or paperwork that says otherwise, contact me, we can work this out.

Fine Print

The primary source is this Google Sheet I found through Board Game Geek. Previous sources included Hangouts Against Humanity, Pretend You're Xyzzy, and contributions from viewers like you.

Tools

This project includes a script that automatically updates the compact JSON file from the source Google Sheet. In order to run tools/update-from-sheets.mjs, you need to put a credentials JSON file in the tools/ folder. You can get a credentials file by following the Google Sheets API Quickstart guide. After that, you can use npm run update-cards.