, 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); })(); The Biblical Psalms in Christian Worship - News & Stories | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Publications

The Biblical Psalms in Christian Worship

Mon, Jan 22, 2007
John D. Witvliet

In this concise yet comprehensive guide to using and praying the psalms in worship services, John Witvliet first offers summary of key biblical-theological themes related to the practice of worship, and he continues with reflections on every step in the process of preparing to use the psalms in worship, drawing on insights from writings in the history, theology, and pastoral practice of worship, liturgy, and preaching. Including patristic testimonies as "prelude" and both Reformation-era and modern testimonies as two "interludes," the volume also offers a comprehensive list of currently available liturgical and musical resources.

Witvliet offers a first—a book designed to speak at once to both "traditional " and "contemporary " worship practices.ÌýThe Biblical Psalms in Christian WorshipÌýwill appeal to a wide range of readers, including college and seminary students, scholars and teachers, church educators, worship leaders, musicians, and librarians.


Authors: