, 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); })(); Bikes for the whole community - News & Stories | 鶹

Skip to main content

Calvin News

Bikes for the whole community

Thu, Nov 11, 2010
Myrna Anderson

The yellow bike leaning against a tree near the Noordeweier-Vander Werp residence hall is not abandoned; it is awaiting its next rider.

"They’re bright yellow, so they’re not exactly the prettiest thing in the world, and they stick out,” said sophomore Jacklyn Sikkema about the bikes. Sikkema, the vice president of campus relations for the Calvin student senate, is one of the organizers of the community bike project—an effort that has created a pool of bicycles on campus for students, faculty and staff to use for free.

"It’s just to be able to get places easier: classes, the dining hall, places like that,” said Sikkema. “We wanted it to be a thing where you would see a bike … use it and put it back in the rack.” Students can leave the yellow cycles anywhere on campus, she said. “We have tags on the bikes that say, ‘Don’t take the bikes off the campus.’”

Student senate gathered some of the bikes from various donors. Others were abandoned by students. The senators worked on getting the bikes painted throughout the 2009–2010 academic year. Incoming students gave the cycles a second coat of yellow as a special Streetfest project.

"“We’re hoping to accumulate more bikes every year and add on to the program,” said Aletheia Shin, the former vice president of the student senate and the founder of the community bike project.

After a practice run with four yellow bikes this summer, student senate launched the community bike program this fall. “People have been using them. I’ve seen them around campus—the bikes,” said Sikkema. “I’ve ridden them too, from the office. If I’m on campus, I’ll take one around. It saves a lot of time.”