, 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); })(); Metagenre in Paradise Lost and Paradise Regained: - News & Stories | 鶹

Skip to main content

Publications

Metagenre in Paradise Lost and Paradise Regained:

Fri, Nov 18, 2022
David V. Urban

Abstract

The concept of metagenre in literature has become an increasingly helpful interpretive tool by which to analyze and understand various pieces of literature in relationship to their particular genres. A metageneric examination of Milton’s Paradise LostԻParadise Regained, both in relation to the Homeric epics and in relation to each other, allows readers to understand that Milton’s celebration of “Patience and Heroic Martyrdom” (Paradise Lost 9:31) is best exemplified in each of Milton’s epics by Milton’s Son. The Son, both in his self-sacrificial decision to leave Heaven’s glory, become incarnate, and die for the sake of sinful humanity; and in his resistance to Satan’s temptations, transcends the classical heroism both of Homer’s Achilles and Milton’s Satan in order to effect salvation for humanity. A metageneric recognition that Paradise Regained is a continuation of Paradise Lost aids greatly our understanding of the Son’s heroism.


Authors: