Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
93 lines (62 sloc) 3.9 KB

Contributing

Thank you for contributing to the Lotus app!

Be sure to read the General Contributing Guidelines for DLx projects.

Consider opening an issue for any of the following:

  • questions
  • bugs or problems
  • feature requests
  • requests for new tools / modules

Use this checklist when preparing a pull request.

View the developer documentation here.

Principles

This project is driven by the needs of documentary and descriptive linguists, and so its development should be sensitive to the following principles:

  • accessibility (e.g. keyboard entry and manipulation)
  • broadly applicable (e.g. only features many linguists are expected to use; no project-specific features)
  • community-oriented (e.g. accessible to community members, access controlled by community members)
  • data freedom (e.g. import/export in various formats)
  • ethics and data privacy (e.g. autonyms, choice of where data are stored)
  • fieldwork-oriented (e.g. works offline, launches quickly)
  • linguistically diverse (e.g. support RTL and LTR writing systems, choice of font, choice of lexical category)
  • open source (e.g. free, easy to contribute, rely only on well-supported tools/libraries, well-documented)

Versioning

This project uses semantic versioning (guide) to track changes:

  • major: when modules / tools are added, removed, rewritten, or undergo drastic changes
  • minor: when features are added or removed from individual tools
  • patch: when fixes are made or the documentation is changed

Releases

GitHub releases are used to publish releases. Only major and minor releases are published. Periodically, the master branch is tagged for a release, and any user-facing changes made since the last release are summarized.

Branching & Deployment

This project uses a simple branching structure. For each issue, an issue branch is made off of the master branch, and then merged back into the master branch when the changes are complete and the code reviewed.

When the code is ready to be deployed, the dist script builds the project to the /dist folder, and then pushes the contents of that folder to the dist branch. The dist branch then deploys to the staging server for testing. The dist folder is not committed to the master branch.

Styling

This project uses LESS for writing CSS styles, and Semantic UI for styling components. In particular, it uses the semantic-ui-less distribution in order to keep stylesheets lightweight.

If the Semantic UI LESS package is updated, you will need to make the following changes in the node_modules/semantic-ui-less folder.

  • Rename theme.config.example > theme.config

  • Make the following changes to semantic-ui-less/themes/default/globals/site.variables:

@fontName          : var(--font);
@fontSmoothing     : antialiased;

@headerFont        : var(--font);
@pageFont          : var(--font);

Supported Browsers

The app should be tested in the most recent two versions of all of the following browsers, on desktop and mobile:

  • Chrome
  • Edge
  • Firefox
  • Safari

Project Structure

  • /.github - GitHub documentation (for developers and contributors)
  • index.html - The app shell (minimal HTML skeleton for rendering views into)
You can’t perform that action at this time.