, 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); })(); Community bicycle project takes off - News & Stories | 鶹

Skip to main content

Spark

Community bicycle project takes off

Wed, Dec 01, 2010

The yellow bike leaning against a tree near the Noordewier-VanderWerp residence hall is not abandoned; it awaits 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 nearly 20 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 bikes from various donors, and some were those 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 community service 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.”