bytesized.tv-monorepo

ByteSized.TV Monorepository: One repository to rule them all!

Usage no npm install needed!

<script type="module">
  import bytesizedTvMonorepo from 'https://cdn.skypack.dev/bytesized.tv-monorepo';
</script>

README

     .--.
   _(    `.       .
  (        )       \  /
 ( `  .  )  ) .-----\/-----.
  `--(___.-'  |bytesized.tv|
              '-----__-----'
                  __||__

tests buddy pipeline npm license deploy

bytesized.tv-monorepo is the monorepository that contains all the sub-projects that help create and maintain the public website of Byte-Sized JavaScript Screencasts.

Important Files and Folders

  • ./packages/: This folder contains all sub-repositories (or packages, as the name implies).
    • ./packages/byte-sized-tv-application/: This package is used to fetch metadata of the episode from YouTube.
    • ./packages/byte-sized-tv-web/: This is the main website.
    • ./packages/byte-sized-tv-web-app/: This is the web app that byte-sized-tv-web package consumes.
    • ./packages/byte-sized-tv-web-body/: The body of the web application.
    • ./packages/byte-sized-tv-web-card/: Individual card components that you see on the home page.
    • ./packages/byte-sized-tv-web-constants/: Commonly-shared constants.
    • ./packages/byte-sized-tv-web-episode/: The component that displays the “episode details” and “episode transcript”.
    • ./packages/byte-sized-tv-web-footer/: The footer of the web application.
    • ./packages/byte-sized-tv-web-header/: The header of the web application.
    • ./packages/byte-sized-tv-web-home/: The home page that you see when you go to website root.
    • ./packages/byte-sized-tv-web-labels/: The labels that you see on the top of cards.
    • ./packages/byte-sized-tv-web-lib: Common library functions.
    • ./packages/byte-sized-tv-web-posts/: This package contains the markdown files that contain the transcripts of individual episodes.
    • ./packages/byte-sized-tv-web-styles/: Stylesheets that are used within the web application.

Installation

Note that you can view the website online at https:///bytesized.tv; and you don’t need to install anything for that obviously :).

This “Installation” section is specifically targeted for development use only — That is to say, this section is intended for those who want to clone this repository and play with it on their local development environment.

Make sure you have Node.js, and yarn installed on your system. Then install the dependencies as follows:

yarn bootstrap

After that running the following command will start the server in “development mode”.

yarn start

Package Scripts

Here are some of the common package scripts.

  • yarn bootstrap: Cleans the repository, installs the dependencies, and yarn links the local packages for ease of development.
  • yarn build: Creates a production build of the web application. After the build is done, the end result is put to ./packages/byte-sized-tv-web/public/.
  • yarn start: Starts the webpack server for ./packages/bytesized-tv-web in development mode.
  • yarn serve: Launches a basic http-server rooted at ./packages/byte-sized-tv-web/public/.
  • yarn test: Runs tests across all the packages.
  • yarn publish:packages: Publishes all of the changed packages under ./packagesto npm, and also updates package versions.
  • yarn generate:transcripts: Generates transcript html files by parsing the markdown files that live under ./packages/byte-sized-tv-web-posts/.

Other Important Files

Deployment Instructions

This section is intended for those who have authorization to deploy bytesized.tv to production.

For deployment follow this quick and dirty guide

Wanna Help?

Any help is more than appreciated.

If you want to contribute to the source code, fork this repository and create a pull request.

In lieu of a formal style guide, take care to maintain the existing coding style.

Also, don’t forget to add unit tests for any new or changed functionality.

If you want to report a bug; or share a comment or suggestion, file an issue.

I’ve Found a Bug; I Have an Idea

For bug reports and suggestions, please file an issue.

Contact Information

License

MIT-licensed. — See the license file for details.

Code of Conduct

We are committed to making participation in this project a harassment-free experience for everyone, regardless of the level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.

See the code of conduct for details.

A ByteSized.TV Project

This repository is a part of the Byte-Sized JavaScript VideoCasts.

It is a compilation of short (around ten minutes) screencasts about JavaScript and related technologies.

Learn, explore, and have fun!