63 lines
1.9 KiB
Ruby
63 lines
1.9 KiB
Ruby
|
|
||
|
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
|