, 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); })(); The Evangelical Movement in Ethiopia Resistance and Resilience | ϲʿ¼

ϲʿ¼

Skip to main content

Publications

The Evangelical Movement in Ethiopia Resistance and Resilience

Wed, Apr 15, 2009
Tibebe Eshete

Synthesizing existing scholarship with original interviews and archival research, he demonstrates that the vernacular nature of the Ethiopian church played a critical role in the development of a state church. He also traces the effects of the political on the religious: the growth of other “counter-cultural” movements in 1960s Ethiopia, such as renewal movements, youth discontentment, and the Marxist regime (under which the church still flourished). This strikingly authentic work refutes the thesis that evangelicalism was imported. Instead, Eshete shows, it was a genuine indigenous response to cultural pressures.

Tibebe Eshete is Assistant Professor of History and Religious Studies at Michigan State University He is the author of Jijiga: The History of a Strategic Town in the Horn of Africa and My Journey: The Deranged Life and Divine Grace.