Create a card named __config
(two underscores) into a list named __root
(two underscores). Like this:
The __config
card is a bit sophisticated but not so complicated.
__config
will allow two things: add global properties for the whole site and set default properties to other cards.
Nothing to be scared of: whatever you put into the __config
card works like other cards, the only thing is that conceptually, the content of __config
is for the whole site and not for one specific page. That's it.
"Whaaaat ???!" you might say... Let's rephrase quickly: the __config
card will be sent to your back-end flagged as THE SPECIAL CONFIG CARD
. That being said, developers will be able to rely on it to find central/global information like logo
, menus
, social icons
and everything one doesn't want to repeat over and over again into each cards.
In addition to classic card properties, this special card can take two other properties: cards
and list
.
These properties are extremely powerful: cards
will take any classic card properties and propagate them to each cards, while list
will propagate properties to each cards in a list.
So let's take an example. If we create a __config
card in a list named __root
, with this config in the description part:
[ cards ]
type = post
+++
it means that from now on, all cards of the board will see their type
defined as post
. Even without defining it at card level. In fact, defining it within the card itself would override this default property.
This is handy if most cards should be of type = post
except one or two exceptions, and will prevent repeating the same property in each and every cards.
The list
property acts exactly the same as cards
, but targeting a specific list!
[ list.posts ]
type = post
+++
here we define that all cards in the Trello list named posts
should now take the property type
set to post
. Isn't that cool ?
Remember: the more specific you are when defining properties, the more weight it has.
So a property defined in the [cards]
section of the __config
card will be overridden if the same property is defined in the [ list.name ]
section because it is more specific. With that concept in mind, it should make sense that properties defined within the card itself are always overriding everything because there is no way to be more specific !
Let's take a simple example, with this __config
:
[ cards ]
type = page
permalink = /:list/:title
[ list.posts ]
type = post
[ list.projects ]
type = project
[ list.others ]
permalink = /:title
+++
Ok let's see what's going on here. First, [cards]
defines that all cards in the board should get a type
of page
and an URL of the form /:list/:title
(see permalink docs). Right after, [ list.name ]
defines that all cards in the lists named posts
and projects
should get types of respectively post
and project
. Finally, all cards in the list others
already have their type of page
inherited from the first [cards]
property (type = page
) but we want their URL to look like /:title
.
And here is how you get superpowers !
But more seriously, it allows to forget about some settings within a card: take time to define how you want to organize your content in the board, then define it in the __config
card. Then write with peace of mind and without polluting cards with the same type
, the same permalink
, the same template
... over and over again.
__config
ideasHere is a cool application of the whole theory above, to implement an editorial workflow of your content within Trello:
Editorial workflow
[ cards ]
type = blog
[ list.ideas ]
publish = no
[ list.reviewing ]
publish = yes
permalink = /in-review/dygsjegvkug7r6gfyi7fs8fgy/:title
[ list.published ]
publish = yes
permalink = /blog/:title
+++
In this example there would be 3 lists ideas
, reviewing
and published
, each list name being self explanatory. They all get a type = blog
. And the workflow is quite straightforward: put ideas into the list ideas
without much overthinking. Then drag it to the reviewing
list when we find the content to be ok. Each cards in the reviewing
list gets an url of the form /in-review/dygsjegvkug7r6gfyi7fs8fgy/my-post-title-here
which is handy to share a live page for external people to see without it being publicly accessible (actually it is technically public and accessible, but if changed once in a while, it is fairly hard to guess even for robots. So if you have top secret James Bond style content, this is not recommended but honestly... just change the secret part once in a while, it should be more than sufficient for 99% of humans). Once reviewing is passed, just drag the card into the published
list where it will receive a cleaner permalink along with being published
. Neat !!