|
| 1 | +from pptx.dml.color import RGBColor |
| 2 | + |
| 3 | +# Dimensions & layout |
| 4 | +SLIDE_WIDTH = 10 # inches |
| 5 | +SLIDE_HEIGHT = 5.625 # inches |
| 6 | +FOOTER_Y = 5.3 |
| 7 | +CONTENT_START_Y = 1.5 |
| 8 | +AVAILABLE_CONTENT_HEIGHT = FOOTER_Y - CONTENT_START_Y |
| 9 | +MAIN_BULLET_INDENT = 0.5 |
| 10 | +SUB_BULLET_INDENT = 1.0 |
| 11 | +SUB_SUB_BULLET_INDENT = 1.5 |
| 12 | + |
| 13 | +THEME = { |
| 14 | + "use_gradients": True, |
| 15 | + "corner_accent": True, |
| 16 | + "slide_border": False, |
| 17 | + "content_box_shadow": True, |
| 18 | + "modern_bullets": True, |
| 19 | + "footer_style": "modern", # "modern" or "classic" |
| 20 | +} |
| 21 | + |
| 22 | +COLORS = { |
| 23 | + "primary": RGBColor(37, 99, 235), |
| 24 | + "primary_light": RGBColor(96, 165, 250), |
| 25 | + "primary_dark": RGBColor(30, 64, 175), |
| 26 | + "secondary": RGBColor(79, 70, 229), |
| 27 | + "secondary_light": RGBColor(139, 92, 246), |
| 28 | + "secondary_dark": RGBColor(67, 56, 202), |
| 29 | + "accent1": RGBColor(139, 92, 246), |
| 30 | + "accent2": RGBColor(16, 185, 129), |
| 31 | + "accent3": RGBColor(245, 158, 11), |
| 32 | + "accent4": RGBColor(239, 68, 68), |
| 33 | + "light": RGBColor(243, 244, 246), |
| 34 | + "light_alt": RGBColor(249, 250, 251), |
| 35 | + "dark": RGBColor(31, 41, 55), |
| 36 | + "dark_alt": RGBColor(17, 24, 39), |
| 37 | + "text": RGBColor(17, 24, 39), |
| 38 | + "text_light": RGBColor(255, 255, 255), |
| 39 | + "text_muted": RGBColor(107, 114, 128), |
| 40 | + "success": RGBColor(16, 185, 129), |
| 41 | + "warning": RGBColor(245, 158, 11), |
| 42 | + "error": RGBColor(239, 68, 68), |
| 43 | + "info": RGBColor(59, 130, 246), |
| 44 | + "background": RGBColor(255, 255, 255), |
| 45 | + "background_alt": RGBColor(249, 250, 251), |
| 46 | + "royal_blue": RGBColor(65, 105, 225), |
| 47 | + "medium_purple": RGBColor(147, 112, 219), |
| 48 | + "dark_blue": RGBColor(26, 43, 60), |
| 49 | + "teal": RGBColor(20, 184, 166), |
| 50 | + "emerald": RGBColor(16, 185, 129), |
| 51 | + "gradient_start": RGBColor(65, 105, 225), |
| 52 | + "gradient_end": RGBColor(147, 112, 219), |
| 53 | + "activity_purple": RGBColor(139, 92, 246), |
| 54 | + "activity_blue": RGBColor(37, 99, 235), |
| 55 | + "activity_green": RGBColor(16, 185, 129), |
| 56 | + "activity_orange": RGBColor(249, 115, 22), |
| 57 | +} |
| 58 | + |
| 59 | +GLOBAL_LANG = "en" |
| 60 | + |
| 61 | +LABELS = { |
| 62 | + "en": { |
| 63 | + "learningOutcomes": "Learning Outcomes", |
| 64 | + "byTheEnd": "By the end of this {contentType}, you will be able to:", |
| 65 | + "keyTerms": "Key Terms & Concepts", |
| 66 | + "agenda": "Agenda", |
| 67 | + "continued": " (continued)", |
| 68 | + "agendaContinued": " (continued {idx}/{total})", |
| 69 | + "introduction": "Introduction", |
| 70 | + "mainContent": "Main Content", |
| 71 | + "activities": "Activities", |
| 72 | + "testYourKnowledge": "Test Your Knowledge", |
| 73 | + "quizQuestions": "Quiz Questions ({count})", |
| 74 | + "discussionQuestions": "Discussion Questions ({count})", |
| 75 | + "additionalResources": "Additional Resources", |
| 76 | + "furtherReadings": "Further Readings & Resources", |
| 77 | + "activity": "Activity {num}: {title}", |
| 78 | + "materialsSuffix": "(Materials)", |
| 79 | + "type": "Type", |
| 80 | + "duration": "Duration", |
| 81 | + "instructions": "Instructions:", |
| 82 | + "materialsNeeded": "Materials needed:", |
| 83 | + "notesAvailable": "Notes Available", |
| 84 | + "quizQuestion": "Quiz Question {num}", |
| 85 | + "quizAnswer": "Quiz Answer {num}", |
| 86 | + "question": "Question: {text}", |
| 87 | + "correctAnswer": "Correct Answer:", |
| 88 | + "explanation": "Explanation:", |
| 89 | + "groupDiscussion": "Group Discussion:", |
| 90 | + "groupInstruction": "Discuss this question with your group and prepare to share your thoughts with the class.", |
| 91 | + "facilitatorGuidance": "Facilitator Guidance: Question {num}", |
| 92 | + "author": "Author:", |
| 93 | + "term": "Term", |
| 94 | + "definition": "Definition", |
| 95 | + "discussionQuestion": "Discussion Question {num}", |
| 96 | + "thankYou": "Thank You!", |
| 97 | + "presentation": "Presentation:", |
| 98 | + "facilitationNotesSummary": "Facilitation Notes Summary", |
| 99 | + "continuedNextSlide": "Continued on next slide...", |
| 100 | + "facilitationNotesLabel": "Facilitation Notes:", |
| 101 | + "learningObjectiveLabel": "Learning Objective:", |
| 102 | + "successCriteriaLabel": "Success criteria:", |
| 103 | + "untitledPresentation": "Untitled Presentation", |
| 104 | + "untitledReading": "Untitled Reading", |
| 105 | + "untitledActivity": "Untitled Activity", |
| 106 | + "unknownAuthor": "Unknown Author", |
| 107 | + "contentTypeNames": { |
| 108 | + "lecture": "Lecture", |
| 109 | + "tutorial": "Tutorial", |
| 110 | + "workshop": "Workshop", |
| 111 | + }, |
| 112 | + "difficultyNames": { |
| 113 | + "introductory": "Introductory Level", |
| 114 | + "intermediate": "Intermediate Level", |
| 115 | + "advanced": "Advanced Level", |
| 116 | + }, |
| 117 | + }, |
| 118 | + "id": { |
| 119 | + "learningOutcomes": "Capaian Pembelajaran", |
| 120 | + "byTheEnd": "Di akhir {contentType} ini, Anda akan dapat:", |
| 121 | + "keyTerms": "Istilah Kunci & Konsep", |
| 122 | + "agenda": "Agenda", |
| 123 | + "continued": " (lanjutan)", |
| 124 | + "agendaContinued": " (lanjutan {idx}/{total})", |
| 125 | + "introduction": "Pendahuluan", |
| 126 | + "mainContent": "Konten Utama", |
| 127 | + "activities": "Aktivitas", |
| 128 | + "testYourKnowledge": "Uji Pengetahuan Anda", |
| 129 | + "quizQuestions": "Soal Kuis ({count})", |
| 130 | + "discussionQuestions": "Pertanyaan Diskusi ({count})", |
| 131 | + "additionalResources": "Sumber Tambahan", |
| 132 | + "furtherReadings": "Bacaan Lanjutan & Sumber", |
| 133 | + "activity": "Aktivitas {num}: {title}", |
| 134 | + "materialsSuffix": "(Perlengkapan)", |
| 135 | + "type": "Jenis", |
| 136 | + "duration": "Durasi", |
| 137 | + "instructions": "Instruksi:", |
| 138 | + "materialsNeeded": "Perlengkapan yang dibutuhkan:", |
| 139 | + "notesAvailable": "Catatan Tersedia", |
| 140 | + "quizQuestion": "Soal Kuis {num}", |
| 141 | + "quizAnswer": "Jawaban Kuis {num}", |
| 142 | + "question": "Pertanyaan: {text}", |
| 143 | + "correctAnswer": "Jawaban Benar:", |
| 144 | + "explanation": "Penjelasan:", |
| 145 | + "groupDiscussion": "Diskusi Kelompok:", |
| 146 | + "groupInstruction": "Diskusikan pertanyaan ini dengan kelompok Anda dan siapkan untuk berbagi pendapat dengan kelas.", |
| 147 | + "facilitatorGuidance": "Panduan Fasilitator: Pertanyaan {num}", |
| 148 | + "author": "Penulis:", |
| 149 | + "term": "Istilah", |
| 150 | + "definition": "Definisi", |
| 151 | + "discussionQuestion": "Pertanyaan Diskusi {num}", |
| 152 | + "thankYou": "Terima kasih!", |
| 153 | + "presentation": "Presentasi:", |
| 154 | + "facilitationNotesSummary": "Ringkasan Catatan Fasilitasi", |
| 155 | + "continuedNextSlide": "Bersambung di slide berikutnya...", |
| 156 | + "facilitationNotesLabel": "Catatan Fasilitasi:", |
| 157 | + "learningObjectiveLabel": "Tujuan Pembelajaran:", |
| 158 | + "successCriteriaLabel": "Kriteria keberhasilan:", |
| 159 | + "untitledPresentation": "Presentasi Tanpa Judul", |
| 160 | + "untitledReading": "Bacaan Tanpa Judul", |
| 161 | + "untitledActivity": "Aktivitas Tanpa Judul", |
| 162 | + "unknownAuthor": "Penulis Tidak Diketahui", |
| 163 | + "contentTypeNames": { |
| 164 | + "lecture": "Kuliah", |
| 165 | + "tutorial": "Tutorial", |
| 166 | + "workshop": "Lokakarya", |
| 167 | + }, |
| 168 | + "difficultyNames": { |
| 169 | + "introductory": "Tingkat Dasar", |
| 170 | + "intermediate": "Tingkat Menengah", |
| 171 | + "advanced": "Tingkat Lanjutan", |
| 172 | + }, |
| 173 | + }, |
| 174 | +} |
| 175 | + |
| 176 | +BULLET_MARKERS = ["•", "*", "-", "○", "◦", "▪", "▫", "◆", "◇", "►", "▻", "▶", "▷"] |
| 177 | +SUB_BULLET_MARKERS = ["-", "○", "◦", "▪", "▫"] |
0 commit comments