浏览代码

add back in License, Changelog, Readme

lukepighetti 5 年之前
父节点
当前提交
1f36ec88b2
共有 3 个文件被更改,包括 217 次插入13 次删除
  1. 100 2
      CHANGELOG.md
  2. 30 1
      LICENSE
  3. 87 10
      README.md

+ 100 - 2
CHANGELOG.md

@@ -1,3 +1,101 @@
-## [0.0.1] - TODO: Add release date.
+# 1.6.4
 
-* TODO: Describe initial release.
+- Rename Router to FluroRouter to avoid namespace collisions with the Router class from the new Pages / Navigator 2.0 API.
+
+# 1.6.3
+
+- Remove upper bounds on Flutter SDK checks because Flutter releases are a ridiculous mess
+
+# 1.6.2
+
+- Support for Flutter `>=1.12 <=1.17`
+
+# 1.6.1
+
+- Support for Flutter `1.12+`
+
+# 1.6.0
+
+- No changes other than fixes for non-backwards compatible Flutter changes
+- Flutter `>= 1.12.0` is required due to Flutter compatibility issues
+- Dart `>= 2.6.0` is required
+
+# 1.5.2
+
+- Remove dependency on `dart:io`
+- 1.5.x and lower now only supports Flutter versions `< 1.13.0`
+
+# 1.5.1
+
+- Add explicit material and full screen material transition types
+- Fix issue in transition logic
+- Remove redundant `new`, `const`, etc qualifiers
+- Tidy example
+- Add font license info
+
+# 1.5.0
+
+- Native transitions will now use the Cupertino page route on iOS and Material page route on android. This will enable swipe gestures on iOS.
+- Added cupertino specific transition types.
+- **You should not be using Cupertino types on non-iOS platforms. It's up to you, but it's bad design**.
+
+# 1.4.0
+
+- Added the ability to define a transition at the point of route definition. Route transitions are optional and any transition defined a "push" will override the route definition.
+
+# 1.3.7
+
+- Add `toString` for custom `RouteNotFoundException` type
+
+# 1.3.6
+
+- Small fix to error return type when no route match was made
+
+# 1.3.5
+
+- add `pop` convenience
+- add `clearStack` flag so that you can clear the history when pushing a route
+
+# 1.3.4
+
+- Change lower dart version to cater to older flutter versions
+
+# 1.3.3
+
+- Fix analyzer issues
+- Remove deprecations in example code
+- Fix pubspec analysis issue
+
+# 1.3.2
+
+- Dart 2 package (pubspec) compliance changes ONLY
+- **Note**: No functional changes
+
+# 1.3.1
+
+- Fixes an issue with the route generator (result cannot be Null)
+
+# 1.3.0
+
+- **BREAKING**: Parameters now return an array of results even if they have a single value.
+- Support for parameter arrays. e.g: `/some/route?color=red&color=green&color=blue`.
+- Results can now be passed via `Navigator.pop` via use of a `Future`.
+- A few bug fixes
+
+# 1.1.0
+
+**BREAKING**: In order to support function handlers you will need to change all of your route
+handler definitions to use the new `Handler` class. The `RouteHandler` definition has now been
+removed.
+
+Swapping out the handlers should be as simple as changing:
+
+```dart
+RouteHandler usersHandler = (Map<String, String> params) {}
+```
+
+to
+
+```dart
+var usersHandler = new Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {});
+```

+ 30 - 1
LICENSE

@@ -1 +1,30 @@
-TODO: Add your license here.
+Fluro
+
+Created by Yakka
+https://theyakka.com
+
+Copyright (c) 2019 Yakka LLC.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+ * Neither the name of the Yakka LLC, Yakka nor the names of its contributors may 
+   be used to endorse or promote products derived from this software without 
+   specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL YAKKA LLC (YAKKA) BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 87 - 10
README.md

@@ -1,14 +1,91 @@
-# fluro
+<img src="https://storage.googleapis.com/product-logos/logo_fluro.png" width="220">
+<br/><br/>
 
-A new Flutter package project.
+The brightest, hippest, coolest router for Flutter.
 
-## Getting Started
+[![Version](https://img.shields.io/badge/version-1.6.3-blue.svg)](https://pub.dartlang.org/packages/fluro)
+[![Build Status](https://travis-ci.org/theyakka/fluro.svg?branch=master)](https://travis-ci.org/theyakka/fluro)
+[![Coverage](https://codecov.io/gh/theyakka/fluro/branch/master/graph/badge.svg)](https://codecov.io/gh/theyakka/fluro)
 
-This project is a starting point for a Dart
-[package](https://flutter.dev/developing-packages/),
-a library module containing code that can be shared easily across
-multiple Flutter or Dart projects.
+Version `1.6.0` (and higher) requires Flutter `>= 1.12.0` and Dart `>= 2.6.0`. If you're running an older version of Flutter, use a version `< 1.6.0`.
 
-For help getting started with Flutter, view our 
-[online documentation](https://flutter.dev/docs), which offers tutorials, 
-samples, guidance on mobile development, and a full API reference.
+## Features
+
+- Simple route navigation
+- Function handlers (map to a function instead of a route)
+- Wildcard parameter matching
+- Querystring parameter parsing
+- Common transitions built-in
+- Simple custom transition creation
+
+## Version compatability
+
+See CHANGELOG for all breaking (and non-breaking) changes.
+
+## Getting started
+
+You should ensure that you add the router as a dependency in your flutter project.
+
+```yaml
+dependencies:
+  fluro: "^1.6.4"
+```
+
+You can also reference the git repo directly if you want:
+
+```yaml
+dependencies:
+  fluro:
+    git: git://github.com/theyakka/fluro.git
+```
+
+You should then run `flutter packages upgrade` or update your packages in IntelliJ.
+
+## Example Project
+
+There is a pretty sweet example project in the `example` folder. Check it out. Otherwise, keep reading to get up and running.
+
+## Setting up
+
+First, you should define a new `FluroRouter` object by initializing it as such:
+
+```dart
+final router = FluroRouter();
+```
+
+It may be convenient for you to store the router globally/statically so that
+you can access the router in other areas in your application.
+
+After instantiating the router, you will need to define your routes and your route handlers:
+
+```dart
+var usersHandler = Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {
+  return UsersScreen(params["id"][0]);
+});
+
+void defineRoutes(FluroRouter router) {
+  router.define("/users/:id", handler: usersHandler);
+
+  // it is also possible to define the route transition to use
+  // router.define("users/:id", handler: usersHandler, transitionType: TransitionType.inFromLeft);
+}
+```
+
+In the above example, the router will intercept a route such as
+`/users/1234` and route the application to the `UsersScreen` passing
+the value `1234` as a parameter to that screen.
+
+## Navigating
+
+You can use `FluroRouter` with the `MaterialApp.onGenerateRoute` parameter
+via `FluroRouter.generator`. To do so, pass the function reference to
+the `onGenerate` parameter like: `onGenerateRoute: router.generator`.
+
+You can then use `Navigator.push` and the flutter routing mechanism will match the routes
+for you.
+
+You can also manually push to a route yourself. To do so:
+
+```dart
+router.navigateTo(context, "/users/1234", transition: TransitionType.fadeIn);
+```