|
| 1 | +_model: project-idea |
| 2 | +--- |
| 3 | +_hidden: yes |
| 4 | +--- |
| 5 | +title: Vocabulary - Remove dependency on Bulma |
| 6 | +--- |
| 7 | +problem: |
| 8 | +[Vocabulary][vocabulary] is currently written on top of an existing CSS |
| 9 | +library, [Bulma][bulma]. There are a few problems with Bulma: naming |
| 10 | +inconsistencies that confuse developers; difficulty in overriding its existing |
| 11 | +classes; the large file size, and the more general maintenance burden of |
| 12 | +relying on a third party library as the base for our design system. |
| 13 | + |
| 14 | +[vocabulary]: https://github.com/creativecommons/vocabulary/ |
| 15 | +[bulma]: https://bulma.io/ |
| 16 | +--- |
| 17 | +expected_outcome: |
| 18 | +This work would have benefits to performance, and would need to be coordinated |
| 19 | +with the performance improvements project, but would also benefit the developer |
| 20 | +experience and ease of use for Vocabulary. Users will no longer need to jump |
| 21 | +between Bulma’s documentation and Vocabulary’s, and the entire codebase will be |
| 22 | +colocated and easier to navigate. |
| 23 | +--- |
| 24 | +internship_tasks: |
| 25 | +The intern will need to assess existing web properties and figma designs to |
| 26 | +determine which CSS classes from Bulma need to be replicated and integrated |
| 27 | +into Vocabulary. This also means keeping track of what Bulma features can be |
| 28 | +ignored. Initially, any Bulma features we’re not using should be kept; they can |
| 29 | +either be re-implemented manually or their code can be copied directly into |
| 30 | +vocabulary. Later, once our vocabulary sites have migrated to the new version |
| 31 | +of Vocabulary without Bulma, we can look at deprecating and removing some of |
| 32 | +these features. |
| 33 | + |
| 34 | +This intern will need to follow consistent naming conventions and CSS |
| 35 | +architectural style ([Block Element Modifier {BEM}][bem], utility classes, |
| 36 | +etc.) to ease the burden of this change for users. |
| 37 | + |
| 38 | +Finally, the intern will need to document how to migrate to the version of |
| 39 | +Vocabulary that makes these changes live, with clear explanations of what code |
| 40 | +is deprecated, new, or modified. |
| 41 | + |
| 42 | +[bem]: http://getbem.com/introduction/ |
| 43 | +--- |
| 44 | +application_tips: |
| 45 | +The intern should outline a plan to audit and access existing Vocabulary |
| 46 | +implementations and develop a plan to migrate away from Bulma. |
| 47 | +--- |
| 48 | +resources: |
| 49 | +- **[Applicant Guide][appguide]** |
| 50 | +- [creativecommons/vocabulary][vocabulary]: A cohesive design system & Vue |
| 51 | + component library to unify the web-facing Creative Commons |
| 52 | +- [Vocabulary Storybook][storybook] |
| 53 | +- [Bulma][bulma]: Free, open source, and modern CSS framework based on Flexbox |
| 54 | +- [CSS Code Coverage Tool - Chrome DevTools - Dev Tips][csscoverage] |
| 55 | + |
| 56 | +[appguide]: /internships/applicant-guide/ |
| 57 | +[vocabulary]: https://github.com/creativecommons/vocabulary/ |
| 58 | +[storybook]: https://cc-vocabulary.netlify.app/ |
| 59 | +[bulma]: https://bulma.io/ |
| 60 | +[csscoverage]: https://umaar.com/dev-tips/121-css-coverage/ |
| 61 | +--- |
| 62 | +skills_recommended: |
| 63 | +- CSS/Sass |
| 64 | +- JavaScript |
| 65 | +- NPM |
| 66 | +--- |
| 67 | +mentors: |
| 68 | +- Abhishek Naidu |
| 69 | +- Nimish Bongale |
| 70 | +- Zack Krida |
| 71 | +--- |
| 72 | +difficulty: High |
| 73 | +--- |
| 74 | +filter_value: difficulty-high skill-css skill-javascript |
0 commit comments