';
- if(tags.length > 0) {
- tags = [...new Set(tags)];
- html += 'Tags: '
- html += tags.map(tag => `${tag}`).join(', ')
- html += '
'
- }
-
- html += 'Senses
';
-
- html += '';
- entry.senses.forEach(sense => {
- html += '- '
-
- if('form_of' in sense) {
- let word = sense.form_of[0].word;
- html += sense.glosses[0].replace(new RegExp(`of ${word}$`), '');
- html += ` of ${word}`;
- } else {
- html += sense.glosses[0];
- }
-
- html += '
';
- })
- html += '
';
- }
-
- if('forms' in entry) {
- if(entry.pos === 'verb') {
- let conjugation = entry.forms.filter(form =>
- 'source' in form && form.source === 'Conjugation');
-
- if(conjugation.length > 0) {
- html += 'Conjugation
';
-
- html += generateTable(polishSchemas, entry.pos, conjugation);
- }
+ schema.rows.forEach(row => {
+ html += '';
+ row.forEach(cell => {
+ if('display' in cell) {
+ html += `${cell.display} | `;
} else {
- let declension = entry.forms.filter(form =>
- 'source' in form && form.source === 'Declension');
-
- if(declension.length > 0) {
- html += 'Declension
';
-
- html += generateTable(polishSchemas, entry.pos, declension);
- }
+ let cells = getCells(forms, cell.tags);
+ let content = cells ? cells.map(cell => cell.form).join(',
') : '-';
+ html += `${content} | `;
}
- }
+ });
+ html += '
';
});
+
+ html += '