, 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); })(); Donald Hettinga | 麻豆区

麻豆区

Skip to main content

Dr. Donald Hettinga

Professor Emeritus

Biography

Favorite Books

  • Where the Wild Things Are by Maurice Sendak
  •  Redbird by Mary Oliver
  • The Branch Will Not Break by James Wright

Hobbies

  • Photography
  • In-line skating
  • Trap shooting

Additional Information

, in Minds in the Making

, in Minds in the Making, originally in The Grand Rapids Press

, in Minds in the Making, originally in The Grand Rapids Press

Recent Activities

Professor Hettinga is the advisor for the at Calvin. He also sits on the steering committee for both the and the . At the 2008 Festival of Faith and Writing, Professor Hettinga conducted an interview with author . Having written extensively about the Brothers Grimm in the past, Professor Hettinga is publishing a chapter, "The Brothers Grimm," in Lives of the Classic Storytellers (Ed. Sophie Raynard-Leroy), forthcoming from SUNY Press. He is also working on a project of historical fiction. Professor Hettinga regularly publishes reviews of books in the Grand Rapids Press.

Education

Professor Hettinga graduated from Calvin College with a bachelor of arts in English in 1976. He then attended the University of Chicago, receving a master of arts in English in 1977 and a PhD in English with a speciality in American literature of the Early Republic in 1983. He wrote his dissertation on the figure of the simple farmer in late 18th- and early 19th-century American literature. His journalistic experience comes from extracurricular work and freelancing for the Chicago Reader and the Grand Rapids Press.

Academic Interests

  • Madeleine L'Engle
  • Journalism
  • Children's and young adult literature
  • Eighteenth-century American life and letters
  • Folktales and twentieth-century book illustration and design