shift-org / shift-org/shift-docs
Organize front-end calendar client as a self-contained library
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 30
- Forks
- 25
- Avg merge
- 9m
- Merged PRs (30d)
- 1
Description
Right now the calendar front-end code is somewhat intermingled with theme code. The calendar is basically an SPA that runs on a few pages within a static site. It's also not very clear that the libraries in /site/themes/s2b_hugo_theme/static/js/libs are all actually calendar dependencies, and not needed for the theme as a whole. (Though note that jQuery is used by both the theme and our cal client.)
It would be clearer if the calendar code (mostly JS, but also associated CSS and images) was treated almost as if it were an external library and bundled up in one location. Perhaps one day it actually could be a self-contained library, but for now I'm fine just giving it some nice fencing.
Some small amount of images may be shared between static content and the front-end JS; TBD where those should go, or if we should dupe them for encapsulation's sake.
Note: This change would involve moving around folders, so when this is completed Hugo's public folder should be flushed to get a clean build.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by mapping the calendar JavaScript, associated CSS, and images against /site/themes/s2b_hugo_theme/static/js/libs, noting which dependencies are shared with the theme and which images are shared with static content. Review the Hugo build layout and verify the public folder is flushed and rebuilt after the folders are reorganized; done means the calendar still works on its pages and theme assets remain available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, jquery
- Domain
- frontend, web-dev
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100