Components for Counting Words.

Usage no npm install needed!

<script type="module">
  import uwWordCount from 'https://cdn.skypack.dev/uw-word-count';


Custom badge

Word Count React Component Library

GH Pages: https://unfoldingword.github.io/uw-word-count/

The Stack

  • Javascript + React (functional components & hooks).
  • MaterialUI for UI/UX baseline design components.
  • Styleguidist for Playground Documentation.
  • Yarn for dependencies, publishing, and deploying.
  • Github + NPM + Github Pages for Hosting.
  • Cypress for testing

Functionality and Limitations

See component README for details.

How to install

Once you have this codebase forked and cloned to your local machine, you can start modifying the codebase. You will need to ensure node.js and yarn are already installed.

Installation and Running the Styleguide Locally

  1. Install the npm dependencies with yarn.
  2. Run the Styleguide with yarn start.
  3. Ensure that the Styleguide is running by visiting localhost:6060 on your web browser. (for Chromebooks see note below)
  4. Modify the code and documentation in your code editor and check out the Styleguide.
    • Update the styleguide.config.js to match your new component names.
  5. See debug console.log() output in browser console -- in chrome, CTRL-SHIFT-J to open.

Setting up NPM Publishing

  1. Rename your library:
    • the folder
    • repo on Github
  2. Update the package.json:
    • change the name and description of your app
    • change the URLs of your homepage and repository
  3. Create an account on npmjs.org if you don't have one already.

Publishing to NPM

The scripts in the package.json file do all of the heavy lifting.

  1. Commit and push all changes to your github repo.
  2. Run yarn publish:
    • login to NPM using your credentials if asked.
    • enter the new version number using symver.
    • wait for the code to be transpiled and published to NPM.
    • wait for the styleguide to be built and deployed to GHPages.
  3. Visit your published library on NPM.
  4. Visit your deployed Styleguide on GHPages.

Deploying Styleguide to GHPages

You can optionally deploy the styleguide to GHPages without publishing to NPM.

  1. Run yarn deploy
  2. There is a predeploy hook that builds the Styleguide.
  3. That's it!

Chromebook Linux Beta Notes

Must use hostname -I to get the host address. Neither localhost nor will work.

$ hostname -I