GithubHelp home page GithubHelp logo

discipletoolsbot / disciple-tools-web-components Goto Github PK

View Code? Open in Web Editor NEW

This project forked from discipletools/disciple-tools-web-components

0.0 0.0 0.0 2.22 MB

License: GNU General Public License v2.0

JavaScript 99.20% CSS 0.66% HTML 0.13%

disciple-tools-web-components's Introduction

Disciple Tools Web Component Library

These web components mostly follow the open-wc recommendations.

Installation

Clone the Repo then run

npm install

Usage

Samples

Build for use in HTML

To build/transpile the components for use in basic HTML as a script include, run the following:

npm run build

This will create a dist directory with all of the final javascript files that can be included in any HTML page like so:

<script type="module" src="/dist/form/index.js"></script>

You can then use any of the new elements in your HTML and they will be used from this library.

Demoing with Storybook

See the current Storybook here.

To run a local instance of Storybook for your component, run

npm run storybook

To build a production version of Storybook, run

npm run storybook:build

Linting and formatting

To scan the project for linting and formatting errors, run

npm run lint

To automatically fix linting and formatting errors, run

npm run format

Testing with Web Test Runner

Test Status

To execute a single test run:

npm run test

To run the tests in interactive watch mode run:

npm run test:watch

Resources for writing tests

Local Demo with web-dev-server

npm start

To run a local development server that serves the basic demo located in demo/index.html

Localization

Localization happens in 3 steps:

  1. Use localized strings in code
  2. Extract all of the strings used in the code to XLIFF file
  3. Build localized templates for use in code

Using localized strings

See Lit Localize docs for full documentation.

When outputing text within a component that is not coming from the user (and would thus be translated by the user), use the msg function:

import {msg} from '@lit/localize';

class MyComp extends LitElement {
  render() {
    return msg(html`Hello <b>${this.who}</b>`);
  }
}
customElements.define('my-comp', MyComp);

The locale can either be passed into the component via attribute/property, or else it will attempt to read the direction and language from the nearest parent elements with dir and/or lang attributes.

Extract Messages

See Lit Localize docs for full documentation.

Run lit-localize extract in the console to generate XLIFF files into the /xliff/ directory. These should be able to be imported into translation software for translators to set the values.

The XLIFF files should be updated by translators and saved back into the space directory with correct translations.

Build localized templates

See Lit Localize docs for full documentation.

Run lit-localize build to process XLIFF files into javascript files that are saved into /i18n/generated/{locale}.js. These files are used by the msg function to use the correct localized string based on the selected locale.

disciple-tools-web-components's People

Contributors

cairocoder01 avatar corsacca avatar incraigulous avatar micahmills avatar x3blondie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.