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

app

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); })(); John Amos Comenius: A Visionary Reformer of Schools - News & Stories | app

app

Skip to main content

Publications

John Amos Comenius: A Visionary Reformer of Schools

Fri, Sep 01, 2017
David Smith

To this day he remains one of the most influential and fascinating thinkers in the history of education. In this concise introduction to the work of Comenius, Dr. David Smith sketches some of Comenius’s central ideas, pointing to several important themes that summarize Comenius’s tireless work for educational reform. Readers will discover that amongst the literally hundreds of works Comenius wrote in Czech and Latin, many of which are lost to us today, he created one of the world’s most successful children’s picture books; suggested that learning should resemble gardening; and proposed that joy, piety, and harmony are central to the education of children. In this book, Smith also touches on the key questions with which Comenius wrestled—questions that remain pertinent today. Readers will learn that Comenius is at once a forerunner of much of what we find and affirm today in education while also an advocate of some ideas that we would pass over. Smith suggests that we should let Comenius “be himself, rather than a forerunner of ourselves,” if we wish to be challenged by him afresh. This volume is an important study for any educator wishing to understand the history of education with an eye to recovering perennial educational ideas and practices that will inspire both the present and the future.