, but this code // executes before the first paint, when

黄大仙高手论坛

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Karen E. Saupe | 黄大仙高手论坛

黄大仙高手论坛

Skip to main content

Dr. Karen E. Saupe

Professor Emerita

Biography

Recent Activity:

Professor Saupe directed the college鈥檚 Rhetoric Center and regularly conducted research on writing in collaboration with the student staff. Their most recent presentation, 鈥淐ultivating Passion for Writing,鈥 appears in East Central Writing Centers Association Conference Proceedings, Spring 2009.  She serves on the editorial board of , the Consortium for the Teaching of the Middle Ages. Saupe also hosts Inner Compass, an interview program produced at Calvin and aired on several public television stations across the country. Saupe currently instructs the January Series honors colloquium. 

Favorite Books/Interesting Recent Reads

  • Out of Africa by Isaak Dinesen
  • I Want to Buy a Vowel by John Welter
  • 颁丑补耻肠别谤鈥檚 Canterbury Tales

Hobbies

  • Music (especially stringed instruments of all kinds)
  • Outdoor activities

Additional Information

  • Watch some of Professor Saupe鈥檚 interviews
  • Professor Saupe regularly helps lead Taiz茅 worship at Calvin's chapel services.

Education

Professor Saupe earned a B.A. in English from Wittenberg University in 1981. She earned an M.A. in English from Wright State University while teaching high school English in Springfield, Ohio. She returned to school full-time to earn an Ph.D. in medieval English literature from the University of Rochester. She joined the Calvin College faculty in 1994.

Academic Interests

  • old and middle English literature and language
  • Chaucer (taught every other year in English 337)
  • Langland
  • Christianity in medieval England
  • Renaissance literature
  • Shakespeare
  • lyric poetry
  • writing pedagogy