-
Notifications
You must be signed in to change notification settings - Fork 9
Description
Introduction
This proposal outlines the benefits and steps involved in migrating the New Theatre website from Jekyll to Nuxt. Nuxt offers a more robust and scalable solution for building modern web applications, and this migration will enhance the website's performance, user experience, and maintainability.
Benefits
- An enhanced user experience by bringing the website in line with WCAG.
- Better maintainability by using a component-based architecture. Leveraging MDC can allow for more accessible maintenance for non-programmers.
- A more modern workflow as Nuxt leverages Vue.js, instead of relying on Ruby-based Jekyll, which has not been improved since late 2022.
- Replacing forestry.io as it's no longer maintained!
Migration Process
- Content Migration:
- Existing content from Jekyll/Forestry will be migrated to Nuxt Content, a git-based content management system specifically built for Nuxt.js.
- Front-end Re-Build:
- The website's front-end will be rebuilt using Nuxt.js components and templates. This allows for a more modular and reusable structure.
- This would also give us an opportunity to give the website a more ‘modern’ look/feel while still staying true to the purple and orange branding
- Data Integration:
- Existing APIs (including external content sources) such as google calendar integration can be rebuilt.
- Testing & Deployment:
- The website will be tested on a variety of browsers (incl. mobile etc,.)
- Once testing is complete the website can be deployed using the existing github pages setup
Timeline
I can’t provide an estimate for how long this will take at this stage - but it will depend on how soon we get started, and how many people are interested in being involved. Hopefully once started this would not take more than a few months.
Next Steps
The committee should discuss this. (Yeah I sort of gave up with writing at this point)
Additional Considerations
Possibly use Nuxt Studio, or another compatible CMS dashboard to make content easier to update and manage who is responsible for keeping each area of the site up-to-date.