Aéroports du Mali, Cape Meares, Oregon & Calathea utilis

This commit is contained in:
nik gaffney 2020-10-20 11:59:13 +02:00
parent d2f85732c5
commit a99ccc59ec
16 changed files with 630 additions and 1 deletions

View file

@ -11,5 +11,11 @@ A proposition, for Whitehead, is neither true nor false in itself. It is a lure
can be found in the ~notes/~ folder can be found in the ~notes/~ folder
* propositions (cards) * propositions (cards)
can be found in the ~cards/~ folder
card design can be found in the ~cards/~ folder and rendered cards can be found in the ~cards/_ouput~ folder
- testing deck creating using [[https://github.com/andymeneely/squib][squib]]
- edit card descriptions in the ~cards.txt~ files
- change layout in the ~layout.yml~ file(s)
- change design logic in the ~deck.rb~ file

3
cards/Gemfile Normal file
View file

@ -0,0 +1,3 @@
source 'https://rubygems.org'
gem 'squib'

20
cards/README.org Normal file
View file

@ -0,0 +1,20 @@
# -*- mode: org; coding: utf-8; -*-
* a proposition
* structure
- ~deck.rb~ - design logic
- ~cards.csv~ - list of cards and their properties
- ~layout-space-*.yml~ - layout description
- ~cards-verbs.txt~ - text for verb cards
- ~cards-occasions.txt~ - text for O cards
- ~cards-qualifiers.txt~ - text for Q cards
- ~img/~ - folder for images (etc)
* build
- in this directory
- edit ~deck.rb~ (if needed)
- run ~rake~
- the cards should be in the ~_output~ directory

8
cards/Rakefile Normal file
View file

@ -0,0 +1,8 @@
require 'squib'
task default: [:deck]
task :deck do
load 'preprocess.rb'
load 'deck.rb'
end

31
cards/cards-occasions.txt Normal file
View file

@ -0,0 +1,31 @@
Livingroom
Computer
Facebook
Urban
Empty City
Depleted Resources
Supplies
Mask
Hospital
ICU
Bed
Sanitizer
Patio
Produce
Meat
Canned Goods
Debate
Fight
Resistance
Fake
True
Vaccine
Hoax
Internet
Connection
Disconnection
Conspiracy
Cult
Meme
Space race
Idiocracy

52
cards/cards-old.csv Normal file
View file

@ -0,0 +1,52 @@
name,type,text,illustration
Livingroom,O,...,o_card.svg
Computer,O,...,o_card.svg
Facebook,O,...,o_card.svg
Urban ,O,...,o_card.svg
Empty City,O,...,o_card.svg
Depleted Resources,O,...,o_card.svg
Supplies,O,...,o_card.svg
Mask,O,...,o_card.svg
Hospital,O,...,o_card.svg
ICU,O,...,o_card.svg
Bed,O,...,o_card.svg
Sanitizer,O,...,o_card.svg
Patio,O,...,o_card.svg
Produce,O,...,o_card.svg
Meat,O,...,o_card.svg
Canned Goods,O,...,o_card.svg
Debate,O,...,o_card.svg
Fight,O,...,o_card.svg
Resistance,O,...,o_card.svg
Fake,O,...,o_card.svg
True,O,...,o_card.svg
Vaccine,O,...,o_card.svg
Hoax,O,...,o_card.svg
Internet,O,...,o_card.svg
Connection,O,...,o_card.svg
Disconnection,O,...,o_card.svg
Conspiracy,O,...,o_card.svg
Cult,O,...,o_card.svg
Meme,O,...,o_card.svg
Space race,O,...,o_card.svg
Idiocracy,O,...,o_card.svg
Hostility,Z,...,q_card.svg
Malaise,Z,...,q_card.svg
Anxiety,Z,...,q_card.svg
Boredom,Z,...,q_card.svg
Frenzy,Z,...,q_card.svg
Suffocation,Z,...,q_card.svg
Paralyzed,Z,...,q_card.svg
Desperation,Z,...,q_card.svg
Hospitably,Z,...,q_card.svg
Erratic,Z,...,q_card.svg
Tedium,Z,...,q_card.svg
Wastefully,Z,...,q_card.svg
Conservatively,Z,...,q_card.svg
Solidarity,Z,...,q_card.svg
Racist,Z,...,q_card.svg
Inequality,Z,...,q_card.svg
Acedia,Z,...,q_card.svg
Cook,V,...,v_card.svg
Walk,V,...,v_card.svg
Isolate,V,...,v_card.svg
1 name type text illustration
2 Livingroom O ... o_card.svg
3 Computer O ... o_card.svg
4 Facebook O ... o_card.svg
5 Urban O ... o_card.svg
6 Empty City O ... o_card.svg
7 Depleted Resources O ... o_card.svg
8 Supplies O ... o_card.svg
9 Mask O ... o_card.svg
10 Hospital O ... o_card.svg
11 ICU O ... o_card.svg
12 Bed O ... o_card.svg
13 Sanitizer O ... o_card.svg
14 Patio O ... o_card.svg
15 Produce O ... o_card.svg
16 Meat O ... o_card.svg
17 Canned Goods O ... o_card.svg
18 Debate O ... o_card.svg
19 Fight O ... o_card.svg
20 Resistance O ... o_card.svg
21 Fake O ... o_card.svg
22 True O ... o_card.svg
23 Vaccine O ... o_card.svg
24 Hoax O ... o_card.svg
25 Internet O ... o_card.svg
26 Connection O ... o_card.svg
27 Disconnection O ... o_card.svg
28 Conspiracy O ... o_card.svg
29 Cult O ... o_card.svg
30 Meme O ... o_card.svg
31 Space race O ... o_card.svg
32 Idiocracy O ... o_card.svg
33 Hostility Z ... q_card.svg
34 Malaise Z ... q_card.svg
35 Anxiety Z ... q_card.svg
36 Boredom Z ... q_card.svg
37 Frenzy Z ... q_card.svg
38 Suffocation Z ... q_card.svg
39 Paralyzed Z ... q_card.svg
40 Desperation Z ... q_card.svg
41 Hospitably Z ... q_card.svg
42 Erratic Z ... q_card.svg
43 Tedium Z ... q_card.svg
44 Wastefully Z ... q_card.svg
45 Conservatively Z ... q_card.svg
46 Solidarity Z ... q_card.svg
47 Racist Z ... q_card.svg
48 Inequality Z ... q_card.svg
49 Acedia Z ... q_card.svg
50 Cook V ... v_card.svg
51 Walk V ... v_card.svg
52 Isolate V ... v_card.svg

View file

@ -0,0 +1,17 @@
Hostility
Malaise
Anxiety
Boredom
Frenzy
Suffocation
Paralyzed
Desperation
Hospitably
Erratic
Tedium
Wastefully
Conservatively
Solidarity
Racist
Inequality
Acedia

6
cards/cards-verbs.txt Normal file
View file

@ -0,0 +1,6 @@
Cook
Walk
Isolate
Test
Avoid
Plan

55
cards/cards.csv Normal file
View file

@ -0,0 +1,55 @@
name,type,text,illustration
Livingroom,O,...,o_card.svg
Computer,O,...,o_card.svg
Facebook,O,...,o_card.svg
Urban ,O,...,o_card.svg
Empty City,O,...,o_card.svg
Depleted Resources,O,...,o_card.svg
Supplies,O,...,o_card.svg
Mask,O,...,o_card.svg
Hospital,O,...,o_card.svg
ICU,O,...,o_card.svg
Bed,O,...,o_card.svg
Sanitizer,O,...,o_card.svg
Patio,O,...,o_card.svg
Produce,O,...,o_card.svg
Meat,O,...,o_card.svg
Canned Goods,O,...,o_card.svg
Debate,O,...,o_card.svg
Fight,O,...,o_card.svg
Resistance,O,...,o_card.svg
Fake,O,...,o_card.svg
True,O,...,o_card.svg
Vaccine,O,...,o_card.svg
Hoax,O,...,o_card.svg
Internet,O,...,o_card.svg
Connection,O,...,o_card.svg
Disconnection,O,...,o_card.svg
Conspiracy,O,...,o_card.svg
Cult,O,...,o_card.svg
Meme,O,...,o_card.svg
Space race,O,...,o_card.svg
Idiocracy,O,...,o_card.svg
Hostility,Q,...,q_card.svg
Malaise,Q,...,q_card.svg
Anxiety,Q,...,q_card.svg
Boredom,Q,...,q_card.svg
Frenzy,Q,...,q_card.svg
Suffocation,Q,...,q_card.svg
Paralyzed,Q,...,q_card.svg
Desperation,Q,...,q_card.svg
Hospitably,Q,...,q_card.svg
Erratic,Q,...,q_card.svg
Tedium,Q,...,q_card.svg
Wastefully,Q,...,q_card.svg
Conservatively,Q,...,q_card.svg
Solidarity,Q,...,q_card.svg
Racist,Q,...,q_card.svg
Inequality,Q,...,q_card.svg
Acedia,Q,...,q_card.svg
Cook,V,...,v_card.svg
Walk,V,...,v_card.svg
Isolate,V,...,v_card.svg
Test,V,...,v_card.svg
Avoid,V,...,v_card.svg
Plan,V,...,v_card.svg
1 name type text illustration
2 Livingroom O ... o_card.svg
3 Computer O ... o_card.svg
4 Facebook O ... o_card.svg
5 Urban O ... o_card.svg
6 Empty City O ... o_card.svg
7 Depleted Resources O ... o_card.svg
8 Supplies O ... o_card.svg
9 Mask O ... o_card.svg
10 Hospital O ... o_card.svg
11 ICU O ... o_card.svg
12 Bed O ... o_card.svg
13 Sanitizer O ... o_card.svg
14 Patio O ... o_card.svg
15 Produce O ... o_card.svg
16 Meat O ... o_card.svg
17 Canned Goods O ... o_card.svg
18 Debate O ... o_card.svg
19 Fight O ... o_card.svg
20 Resistance O ... o_card.svg
21 Fake O ... o_card.svg
22 True O ... o_card.svg
23 Vaccine O ... o_card.svg
24 Hoax O ... o_card.svg
25 Internet O ... o_card.svg
26 Connection O ... o_card.svg
27 Disconnection O ... o_card.svg
28 Conspiracy O ... o_card.svg
29 Cult O ... o_card.svg
30 Meme O ... o_card.svg
31 Space race O ... o_card.svg
32 Idiocracy O ... o_card.svg
33 Hostility Q ... q_card.svg
34 Malaise Q ... q_card.svg
35 Anxiety Q ... q_card.svg
36 Boredom Q ... q_card.svg
37 Frenzy Q ... q_card.svg
38 Suffocation Q ... q_card.svg
39 Paralyzed Q ... q_card.svg
40 Desperation Q ... q_card.svg
41 Hospitably Q ... q_card.svg
42 Erratic Q ... q_card.svg
43 Tedium Q ... q_card.svg
44 Wastefully Q ... q_card.svg
45 Conservatively Q ... q_card.svg
46 Solidarity Q ... q_card.svg
47 Racist Q ... q_card.svg
48 Inequality Q ... q_card.svg
49 Acedia Q ... q_card.svg
50 Cook V ... v_card.svg
51 Walk V ... v_card.svg
52 Isolate V ... v_card.svg
53 Test V ... v_card.svg
54 Avoid V ... v_card.svg
55 Plan V ... v_card.svg

49
cards/config.yml Normal file
View file

@ -0,0 +1,49 @@
# Settings in the config.yml are overriding Squib's defaults. Anything in the main script will override this.
# DPI is used in making PDFs and in unit conversions
# Default: 300
#dpi: 72
#antialias: best #recommended. Only about 10% slower than fast
#antialias: default # set the anti-aliasing algorithm. default defers to the underlying graphics device. See http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-antialias-t
# Text hints are used to show the boundaries of text boxes.
# Can be enabled/disabled at the command-level, or set globally with `set`
#text_hint: '#F00'
# Show progress bars on the command line for potentially long-running operations
#progress_bars: true
#Enable some custom colors that can be used in any color
#custom_colors:
# foo: '#abc'
#For reading image file command (e.g. png and svg), read from this directory instead
#img_dir: img-color
#img_dir: img-bw
# Use a SVG cairo back end, instead of an in-memory buffer
# backend: :memory # default
# backend: :svg # can create scalable pdfs, but rendering done at the printer level is not as good as Cairo.
# Configure what text markup uses replace characters
# Below are the defaults
# lsquote: "\u2018" #note that Yaml wants double quotes here to use escape chars
# rsquote: "\u2019"
# ldquote: "\u201C"
# rdquote: "\u201D"
# em_dash: "\u2014"
# en_dash: "\u2013"
# ellipsis: "\u2026"
# We can also disallow smart quotes and only allow explicit replacements with ``LaTeX-style'' quotes.
# smart_quotes: false
# By default, Squib warns when a text box is ellipsized. This can get verbose
# and can be turned off here
# warn_ellipsize: true # default
# warn_ellipsize: false # turn off entirely
# By default, Squib will warn if a PNG is being up-scaled.
# warn_png_scale: true # default
# warn_png_scale: false # turn off entirely

62
cards/deck.rb Normal file
View file

@ -0,0 +1,62 @@
require 'squib'
# Squib::Deck.new cards: 3, layout: 'economy.yml' do
# background color: 'white'
# rect layout: 'cut' # cut line as defined by TheGameCrafter
# rect layout: 'safe' # safe zone as defined by TheGameCrafter
# text str: ['Occasion','Qualifier','Virus','Reflection'] , layout: 'title'
# text str: 'S.P.A.C.E.', layout: 'description'
# save format: :png
# end
data = Squib.csv file: 'cards.csv'
layouts = ['economy.yml', 'space-layout-1.yml']
c1 = '#9f68ed'
c2 = '#ed9f68'
c3 = '#b5ed68'
# conditional coloring
# https://squib.readthedocs.io/en/v0.15.0/colors.html?highlight=color#samples
bg = c1
fg = c2
Squib::Deck.new cards: data['name'].size, layout: layouts do
# background_color = cards['type'].map do |t|
# if color == 'bg' && t == 'O' then
# 'bg'
# else
# 'fg'
# end
# end
#background color: background_color
background color: bg #background color: '#9f68ed'
rect fill_color: fg , x: 78, y: 78, width: '2.25in', height: '3.25in', radius: 32
rect layout: 'cut' # cut line as defined by TheGameCrafter
rect layout: 'safe' # safe zone as defined by TheGameCrafter
text str: data['name'], layout: 'title'
text str: data['type'], layout: 'type'
text str: data['text'], layout: 'description'
svg file: data['illustration'], layout: 'illustration'
save_png
save_pdf
# Defaults are pretty sensible.
showcase file: 'showcase.png'
# Here's a more complete example.
# Tons of ways to tweak it if you like - check the docs.
showcase trim: 32, trim_radius: 32, margin: 100, face: :right,
scale: 0.85, offset: 0.95, fill_color: :black,
reflect_offset: 25, reflect_strength: 0.1, reflect_percent: 0.4,
file: 'showcase2.png'
save_png prefix: 'showcase_individual_' # to show that they're not trimmed
end

71
cards/img/o_card.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 396 KiB

73
cards/img/q_card.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 266 KiB

112
cards/img/v_card.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 269 KiB

32
cards/preprocess.rb Normal file
View file

@ -0,0 +1,32 @@
# convert text files into .csv for deck.rb mogrification
$cards_csv = "cards.csv"
$cards_o = "cards-occasions.txt"
$cards_q = "cards-qualifiers.txt"
$cards_v = "cards-verbs.txt"
# preamble...
File.open($cards_csv, "w")
File.write($cards_csv, "name,type,text,illustration\n", mode: "w")
# Occasions
def write_occasion(line)
File.write($cards_csv, "#{line},O,...,o_card.svg\n", mode: "a")
end
# Qualifiers
def write_qualifier(line)
File.write($cards_csv, "#{line},Q,...,q_card.svg\n", mode: "a")
end
# Verbs
def write_verb(line)
File.write($cards_csv, "#{line},V,...,v_card.svg\n", mode: "a")
end
# write to file...
File.foreach($cards_o) { |line| write_occasion line.chomp }
File.foreach($cards_q) { |line| write_qualifier line.chomp }
File.foreach($cards_v) { |line| write_verb line.chomp }

32
cards/space-layout-1.yml Normal file
View file

@ -0,0 +1,32 @@
# _prop1.yml
corner:
x: 0
y: 0
type:
x: 120
y: 120
width: 600
#fill_color: '#DED4B9'
#fill_color: '#CE534D'
font: 'Montchauve, Bold 190'
color: '#b5ed68'
align: :center
description:
x: 250
y: 120
font: 'Solide Mirage, 12'
color: "#333"
illustration:
x: 137
y: 257
width: 550
height: 550
title:
extends: illustration
font: 'Noto Serif, 9'
y: += 600
align: :center
# 9f68ed
# ed9f68
# b5ed68