shift-org / shift-org/shift-docs

Organize front-end calendar client as a self-contained library

Open
#584 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement frontend
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.