in packages/Chatdown/lib/index.js [406:455]
function addCard(contentType, currentActivity, rest) {
let card = { buttons: [] };
let lines = rest.split('\n');
for (let line of lines) {
let start = line.indexOf('=');
let property = line.substr(0, start).trim().toLowerCase();
let value = line.substr(start + 1).trim();
switch (property) {
case 'title':
case 'subtitle':
case 'text':
case 'aspect':
case 'value':
case 'connectioname':
card[property] = value;
break;
case 'image':
card.image = { url: value };
break;
case 'images':
if (!card.images) {
card.images = [];
}
card.images.push({ url: value });
break;
case 'media':
if (!card.media)
card.media = [];
card.media.push({ url: value });
break;
case 'buttons':
for (let button of value.split('|')) {
card.buttons.push({ title: button.trim(), type: "imBack", value: button.trim() });
}
break;
case 'autostart':
case 'sharable':
case 'autoloop':
card[property] = value.toLowerCase() == 'true';
break;
case '':
break;
default:
console.warn(chalk.red.bold(`Skipping unknown card property ${property}\n${line}`));
break;
}
}
let attachment = { contentType: contentType, content: card };
(currentActivity.attachments || (currentActivity.attachments = [])).push(attachment);
}