Skip to content

Commit

Permalink
Updating md files
Browse files Browse the repository at this point in the history
  • Loading branch information
fskreuz committed Feb 20, 2017
1 parent f88163f commit 2375beb
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 181 deletions.
74 changes: 0 additions & 74 deletions .github/CONTRIBUTING.md

This file was deleted.

76 changes: 76 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Contributing

Many thanks for using Ractive and contributing to its development. The following is a quick set of guidelines designed to maximise your contribution's effectiveness.

## Reporting security vulnerabilities

If you think you've found a security vulnerability, please email [ractive-js-security@googlegroups.com](mailto:ractive-js-security@googlegroups.com) with details regarding the issue. Someone from the team will respond to assist you.

## Raising issues

Issues can be anything. It can be questions, feature requests, enhancements, optimizations and more. To expedite the process, please follow the issue template provided, providing everything asked for to the best of your knowledge.

For bug-related issues, please make sure you are using the [latest stable build](https://unpkg.com/ractive). The latest stable build can be found at [https://unpkg.com/ractive](https://unpkg.com/ractive). If the bug persist, it may have been fixed in the [latest "edge" build](https://unpkg.com/ractive@edge). Edge builds can be found at [https://unpkg.com/ractive@edge](https://unpkg.com/ractive@edge) and are updated on every change to the `dev` branch.

The best issues contain a reproducible demonstration of the bug in the form of a JSFiddle or similar. [This fiddle](https://jsfiddle.net/evschris/wxc00vup/) has a basic setup to get started with. Even better, you could create a failing test case using [this fiddle](http://jsfiddle.net/rich_harris/UG7Eq/) as a base.

## Development

You will need the following software:

- Git
- Ubuntu: `sudo apt-get install -y git`
- macOS (via [Homebrew](https://brew.sh/)): `brew install git`
- Windows: [Git for Windows](https://git-scm.com/download/win)
- An editor with the following integrations:
- [ESLint](http://eslint.org/)
- [EditorConfig](http://editorconfig.org/)
- A "real" shell
- Ubuntu: Use the built-in terminal.
- macOS: Use the built-in terminal.
- Windows: The shell that comes with Git for Windows.

Dependencies might require the following additional software to build native add-ons.

- [Python 2.7](https://www.python.org/download/releases/2.7/)
- Native Build Tools:
- Ubuntu: `sudo apt-get install -y build-essential`
- macOS: `xcode-select --install`
- Windows: [Visual C++ Build Tools](http://landinghub.visualstudio.com/visual-cpp-build-tools)

You must first fork the repository to your Github account. Click the "Fork" button on the [Ractive.js repository page](https://github.com/ractivejs/ractive). At the time of writing, it can be found on the top right of the page. Select the account to fork to if prompted. Then do the following:

```bash
# Clone your fork of the repo
git clone https://github.com/YOUR_USERNAME/ractive

# Move into the repo directory
cd ractive

# Install the dependencies
npm install

# Run a server for development
npm run dev:browser

# Run a build locally (linting, bundling, testing)
npm run build:local
```

[http://localhost:4567](http://localhost:4567) will serve the sandbox page which can be found in `sandbox`. Use this page to hack Ractive. Modifications to `src` will automatically rebuild Ractive which is provided relative to this page.

[http://localhost:4567/tests](http://localhost:4567/tests) will serve the unit tests which can be found in `tests/browser`. Modifications to `tests/browser` will automatically rebuild the tests. Unit tests for both browser and Node.js use [QUnit](https://qunitjs.com/) as the test framework. Read [their API documentation](https://api.qunitjs.com/) to learn more on how to write QUnit tests.

## Style Guide

Most of the coding standards are handled by ESLint and EditorConfig configurations. If using an editor with the proper integrations, the editor will guide you. In addition, builds will fail if the coding standards are not adhered. Above all, code should be clean and readable, and commented where necessary.

## Pull requests

All pull requests are welcome. To create a pull request, simply build your code on a branch using Ractive's [`dev` branch](https://github.com/ractivejs/ractive/tree/dev) as base. Then push that branch to your Github repo and submit a PR of that branch against Ractive's `dev` branch. To expedite the process, please follow the pull request template provided, providing everything asked for to the best of your knowledge.

If in doubt, *submit the PR*. A PR that needs tweaking is infinitely more valuable than a request that wasn't made. Other Ractive developers will help you refine your pull request.

## Contributor License Agreement

There's no contributor license agreement. Contributions are made on a common sense basis. Ractive is distributed under the [MIT license](../LICENSE.md), which means your contributions will be too.
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2012-16 Rich Harris and contributors
Copyright (c) 2012-17 Rich Harris and contributors

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
Expand Down
111 changes: 5 additions & 106 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Ractive.js - Next-generation DOM manipulation
[![npm version](https://img.shields.io/npm/v/ractive.svg?style=flat-square)](https://www.npmjs.com/package/ractive) [![devDependency Status](https://img.shields.io/david/dev/ractivejs/ractive.svg?style=flat-square)](https://david-dm.org/RactiveJS/Ractive#info=devDependencies) [![Build Status](https://img.shields.io/travis/ractivejs/ractive/dev.svg?style=flat-square)](https://travis-ci.org/ractivejs/ractive) [![Coverage Status](https://img.shields.io/coveralls/ractivejs/ractive/dev.svg?style=flat-square)](https://coveralls.io/github/ractivejs/ractive?branch=dev) [![npm downloads](https://img.shields.io/npm/dm/ractive.svg?style=flat-square)](https://www.npmjs.com/package/ractive) [![Twitter Follow](https://img.shields.io/twitter/follow/ractivejs.svg?style=flat-square)](https://twitter.com/ractivejs)


## What is Ractive.js?

Expand All @@ -15,116 +15,15 @@ Features include...
- Flexible and performant animations and transitions.
- And much more!

To get a feel for how it will make your life as a web developer easier, visit [ractivejs.org](http://ractivejs.org), follow the [interactive tutorials](http://learn.ractivejs.org), or try the [60 second setup](http://ractivejs.org/60-second-setup).


## Documentation and Help

If you don't find what you're looking for in the [docs](http://docs.ractivejs.org), here are other channels you can ask:

- [Create a new issue](https://github.com/ractivejs/ractive/issues/new) on Github.
- Ask a question on [Google Groups](https://groups.google.com/forum/#!forum/ractive-js).
- Ask a question on [Stack Overflow](https://stackoverflow.com/questions/ask) with the [`ractivejs`](http://stackoverflow.com/questions/tagged/ractivejs) tag.
- Send us a tweet via [@RactiveJS](http://twitter.com/RactiveJS).

If you'd like to include an example in your issue, [this fiddle](https://jsfiddle.net/evschris/swkz9n7n/) has a convenient minimal setup that has easily switchable Ractive versions.
## Getting started

To get a feel for how it will make your life as a web developer easier, head over to the documentation at [ractive.js.org](https://ractive.js.org/) or get a quick hands-on with [interactive tutorials](http://learn.ractivejs.org).

## Contributing

Pull requests and issues are always welcome! Please read [CONTRIBUTING.md](.github/CONTRIBUTING.md) to learn how to contribute.


## Development

If you want to hack on Ractive, the first step is to fork the repo. Then do the following commands.

```bash
# Clone your fork of the repo
git clone https://github.com/YOUR_USERNAME/ractive

# Move into the repo directory
cd ractive

# Install the dependencies
npm install

# Run a server for development
npm start
```

Navigate to [localhost:4567](http://localhost:4567). You'll see:

- `ractive.js` - A build of Ractive.

- `sandbox` - Contains some template files to help with debugging.

- `test` - The test suite.

To start development, copy the `sandbox/sample`, following the instructions therein. After the initial build, any subsequent changes will result in fast incremental rebuilds. If you're using Chrome, you can use the [LiveReload](https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei) plugin.

*The development server is served by [gobble](https://github.com/gobblejs/gobble) and is still in development. Please report any Gobble-related bugs to [Gobble's issue tracker](https://github.com/gobblejs/gobble/issues). Thanks!*


## Build

To build, the following must be met:

- A *real* shell. Linux and OS X should be good. Windows needs [MSYS](http://www.mingw.org/wiki/msys) or something similar at least on the path.

- On Windows, if you get an `EINVAL` when running the tests, you may need to update the `phantomjs` script in the `node_modules/.bin` to use `{ stdio: 'inherit' }` when spawning the child process instead of manually piping afterwards.

To run a complete build including linting, testing and minification:

```bash
npm run build
```


## Browser support

Tested successfully in all modern browsers. If your experience differs [please let us know](https://github.com/ractivejs/ractive/issues/new)!

Ractive will require the following APIs:

- `Array.isArray`
- `Array.prototype.every`
- `Array.prototype.filter`
- `Array.prototype.find`
- `Array.prototype.forEach`
- `Array.prototype.indexOf`
- `Array.prototype.map`
- `Array.prototype.reduce`
- `Function.prototype.bind`
- `Node.prototype.contains` (only used in testing)
- `Object.assign`
- `Object.create`
- `Object.defineProperty`
- `Object.defineProperties`
- `Object.freeze`
- `Object.keys`
- `performance.now`
- `Promise`
- `requestAnimationFrame`
- `String.prototype.trim`
- `window.addEventListener`
- `window.getComputedStyle`

Should your target environment lack the mentioned APIs, please shim/polyfill accordingly. Ractive ships with a separate, minimal polyfill file containing only the above APIs for older browsers. Simply load it before Ractive.

## Published versions

All builds are published to the default npm registry and can thus be accessed from the lovely unpkg CDN:

- https://unpkg.com/ractive is the latest stable unminified version of Ractive.
- https://unpkg.com/ractive/ractive.min.js is the latest stable minified version of Ractive.
- The rest of the builds play out as you would expect too: ractive.runtime.js, ractive.runtime.min.js
- https://unpkg.com/ractive@0.7.3 is the unminified build of Ractive v0.7.3
- You can also pull specific builds for specific versions e.g. https://unpkg.com/ractive@0.7.3/ractive.min.js
- The latest pre-release build in a series is tagged e.g. `v0.8-dev` or `v0.9-dev`, starting with `v0.8`. This dev tag will point to the latest released version in a series if there is no dev build e.g. immediately after a release.
- `dev` builds are periodically published to npm with a pre-release version like `0.8.1-build-1`, and the latest dev build is tagged `edge`.
All forms of help are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) to learn how to contribute.

## License

Copyright (c) 2012-16 Rich Harris and contributors. Released under an [MIT license](LICENSE.md).
Copyright (c) 2012-17 Rich Harris and contributors. Released under an [MIT license](LICENSE.md).

0 comments on commit 2375beb

Please sign in to comment.