GSoC '20 Report | Sachin Chopra | Inclusive Design Institute | "Migrate FLOE & Fluid Project websites to 11ty"
Introduction
The Google summer of code program has been a great and fun learning experience to me over the past months,
during which I migrated the FLOE and Fluid Project websites to 11ty; a Javascript based modern static site generator. The FLOE Project site was using static, hand-coded HTML, while the Fluid Project site was built using DocPad. Even though hand-coded websites provide greater flexibility and customization options, it becomes tougher to update each HTML page as the site grows and changes are made. Docpad hasn’t been maintained since 2014. There are currently no active maintainers and its servers were taken down in 2018. There are plenty of bug reports due to its incompatibility with the newer version of ‘things’. Therefore we need to migrate both FLOE project and fluid project websites to a modern and well maintained Static Site Generator (as most of the content is static in nature and dynamic functionalities are not required).
What is FLOE Project and Fluid Project?
Floe aims to provide the resources needed to enable inclusive access to personally relevant, engaging learning opportunities for the full diversity of learners and content producers.Through the Open Education Resources community, FLOE will build tools that transform, augment, and personalize the learning experience.
Fluid is an open, collaborative community that
- works to improve user experiences
- designs user interfaces
- builds Web tools
- teaches inclusive design
- integrates interface components into open source applications
Project Goals
- Comparing various available SSGs and finding best suited one for the project
- Preparing a skeleton site for FLOE Project and Fluid Project using SSG
- Extracting Data from HTML files and converting them to Markdown.
- Creating templates and layouts for the migration of content from websites.
- Migrating content of News and Blog Posts to appropriate directories
- Configuring Github Actions for CI/CD for both projects.
- Prpearing workflows for build system of both projects for successful migration.
- Building a starter kit for building sites for Fluid Project using 11ty
- Moving Legacy blogs from fluid project to Fluid Wiki.
- Integrating Netlify CMS to FLOE and Fluid websites for Content Management.
- Adding extra features like Search,Comment and RSS feed to both projects.
The initial proposal had proposed addition of Netlify CMS for content addition but after due considerations and discussions, it was decided that the projects didn't require a CMS. The original proposal also proposed to use Hugo for static site generator, but we ended up using 11ty which was more flexible and gave the option of creating custom plugins when needed.
Contributions to IDI before GSoC:
-
Solved Issues: #41 (merged), #40 (merged) , #37 (merged) #36 in Fluid Project, #131 in Floe Project, #38 in CI-Service.
-
Pull Requests: #35 in Fluid Project, #141, #128, #124, #122, #120, #113, #136 (merged) in floe project, #39 (merged) in CI-service, #172 (merged) in Infusion-docs
Pull Requests merged during GSoC period along with Goals
- Migrated Floe Project to 11ty
- Migrated Fluid Project to 11ty
- Starter Kit for 11ty based fluidic sites
Contributions to Fluid wiki
- Tutorial to use Fluidic-11ty for Blog sites
- Tutorial to use Fluidic-11ty for Stand Alone Projects
- Legacy Blogs
Future Aspects
- Enabling search functionality for both projects
- Implementing commenting feature for both projects
- RSS Feed for both projects
- Content Management System for both projects
- Migrating automation server from Jenkins to Github Actions
Good bro.I hope i become that chosen one next time..@Batey96