Skip to content

Commit

Permalink
Add more docs
Browse files Browse the repository at this point in the history
  • Loading branch information
wangshengjia committed May 1, 2016
1 parent dfa8977 commit 041b1e4
Show file tree
Hide file tree
Showing 11 changed files with 143 additions and 27 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Change Log

-----

## [1.0.0 - LeeGo, let's do this !](https://github.com/wangshengjia/LeeGo/releases/tag/1.0.0) (2016-05-01)

First public release. :tada::tada:
16 changes: 14 additions & 2 deletions Demo/LeeGo.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@
358507931C622B6C006D02EF /* TheSansOsF-Plain.otf in Resources */ = {isa = PBXBuildFile; fileRef = 358507881C622B6A006D02EF /* TheSansOsF-Plain.otf */; };
358507941C622B6C006D02EF /* TheSansOsF-SemiBold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 358507891C622B6A006D02EF /* TheSansOsF-SemiBold.otf */; };
358507951C622B6C006D02EF /* TheSansOsF-SemiLight.otf in Resources */ = {isa = PBXBuildFile; fileRef = 3585078A1C622B6A006D02EF /* TheSansOsF-SemiLight.otf */; };
359374D61CD5D53A00062912 /* Cell.md in Sources */ = {isa = PBXBuildFile; fileRef = 359374D41CD5D53A00062912 /* Cell.md */; };
359374D71CD5D53A00062912 /* Layout.md in Sources */ = {isa = PBXBuildFile; fileRef = 359374D51CD5D53A00062912 /* Layout.md */; };
359374E31CD5D85C00062912 /* CHANGELOG.md in Sources */ = {isa = PBXBuildFile; fileRef = 359374E21CD5D85C00062912 /* CHANGELOG.md */; };
35B44E361C84E4E60049553F /* Tweet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35B44E351C84E4E60049553F /* Tweet.swift */; };
35BD85331CA89598005B3E53 /* component.json in Resources */ = {isa = PBXBuildFile; fileRef = 35BD85321CA89598005B3E53 /* component.json */; };
35D7F44D1CC4E5EB008D1AEB /* SamplesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35D7F44B1CC4E5EB008D1AEB /* SamplesViewController.swift */; };
Expand Down Expand Up @@ -60,7 +63,7 @@
357956CB1CCCA94A00D27777 /* DetailsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailsViewController.swift; sourceTree = "<group>"; };
357956D11CCD2D7800D27777 /* Remote.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Remote.md; sourceTree = "<group>"; };
357956D21CCD2D7800D27777 /* Design.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Design.md; sourceTree = "<group>"; };
357956D31CCD2D7800D27777 /* API_Details.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = API_Details.md; sourceTree = "<group>"; };
357956D31CCD2D7800D27777 /* Appearance.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Appearance.md; sourceTree = "<group>"; };
358507801C622B6A006D02EF /* FetteEngschrift.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = FetteEngschrift.otf; sourceTree = "<group>"; };
358507811C622B6A006D02EF /* LmfrAppIcon.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = LmfrAppIcon.ttf; sourceTree = "<group>"; };
358507821C622B6A006D02EF /* TheAntiquaB-W5Plain.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "TheAntiquaB-W5Plain.otf"; sourceTree = "<group>"; };
Expand All @@ -72,6 +75,9 @@
358507881C622B6A006D02EF /* TheSansOsF-Plain.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "TheSansOsF-Plain.otf"; sourceTree = "<group>"; };
358507891C622B6A006D02EF /* TheSansOsF-SemiBold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "TheSansOsF-SemiBold.otf"; sourceTree = "<group>"; };
3585078A1C622B6A006D02EF /* TheSansOsF-SemiLight.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "TheSansOsF-SemiLight.otf"; sourceTree = "<group>"; };
359374D41CD5D53A00062912 /* Cell.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Cell.md; sourceTree = "<group>"; };
359374D51CD5D53A00062912 /* Layout.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Layout.md; sourceTree = "<group>"; };
359374E21CD5D85C00062912 /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = CHANGELOG.md; path = ../CHANGELOG.md; sourceTree = "<group>"; };
35B44E351C84E4E60049553F /* Tweet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Tweet.swift; sourceTree = "<group>"; };
35BD85321CA89598005B3E53 /* component.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = component.json; sourceTree = "<group>"; };
35D7F44B1CC4E5EB008D1AEB /* SamplesViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SamplesViewController.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -187,8 +193,11 @@
children = (
357956D11CCD2D7800D27777 /* Remote.md */,
357956D21CCD2D7800D27777 /* Design.md */,
357956D31CCD2D7800D27777 /* API_Details.md */,
357956D31CCD2D7800D27777 /* Appearance.md */,
359374D41CD5D53A00062912 /* Cell.md */,
359374D51CD5D53A00062912 /* Layout.md */,
35F51FBA1C7C61A40089FF41 /* README.md */,
359374E21CD5D85C00062912 /* CHANGELOG.md */,
);
name = Documentation;
path = ../Docs;
Expand Down Expand Up @@ -492,12 +501,15 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
359374D71CD5D53A00062912 /* Layout.md in Sources */,
607FACD81AFB9204008FA782 /* MainViewController.swift in Sources */,
35B44E361C84E4E60049553F /* Tweet.swift in Sources */,
350637471C4C1AAC00B5E547 /* ElementViewModel.swift in Sources */,
357956CC1CCCA94A00D27777 /* DetailsViewController.swift in Sources */,
359374E31CD5D85C00062912 /* CHANGELOG.md in Sources */,
35FFB6A81C7A8C070035EC52 /* Element.swift in Sources */,
350E0DF41C84C2FF00DB78FC /* TwitterFeedViewController.swift in Sources */,
359374D61CD5D53A00062912 /* Cell.md in Sources */,
607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */,
35D7F44E1CC4E5EB008D1AEB /* SampleItem.swift in Sources */,
350E0DF01C81F16D00DB78FC /* LeMondeNewsFeedViewController.swift in Sources */,
Expand Down
16 changes: 0 additions & 16 deletions Docs/API_Details.md

This file was deleted.

88 changes: 88 additions & 0 deletions Docs/Appearance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
## Supported configurable appearances
Appearance | UIView | UIControl | UILabel | UITextView | UITextField | UIButton | UIImageView | UIScrollView
------------ | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | -------------
userInteractionEnabled | x | x | x | x | x | x | x | x
translatesAutoresizingMaskIntoConstraints | x | x | x | x | x | x | x | x
backgroundColor | x | x | x | x | x | x | x | x
tintColor | x | x | x | x | x | x | x | x
tintAdjustmentMode | x | x | x | x | x | x | x | x
cornerRadius | x | x | x | x | x | x | x | x
borderWidth | x | x | x | x | x | x | x | x
borderColor | x | x | x | x | x | x | x | x
multipleTouchEnabled | x | x | x | x | x | x | x | x
exclusiveTouch | x | x | x | x | x | x | x | x
clipsToBounds | x | x | x | x | x | x | x | x
alpha | x | x | x | x | x | x | x | x
opaque | x | x | x | x | x | x | x | x
clearsContextBeforeDrawing | x | x | x | x | x | x | x | x
hidden | x | x | x | x | x | x | x | x
contentMode | x | x | x | x | x | x | x | x
enabled | | x | x | | | | |
highlighted | | x | x | | | | |
selected | | x | | | | | |
shadowColor | | | x | | | | |
shadowOffset | | | x | | | | |
highlightedTextColor | | | x | | | | |
minimumScaleFactor | | | x | | | | |
baselineAdjustment | | | x | | | | |
adjustsFontSizeToFitWidth | | | x | | x | | |
font | | | x | x | x | | |
textColor | | | x | x | x | | |
textAlignment | | | x | x | x | | |
numberOfLines | | | x | x | | | |
text | | | x | x | x | | |
attributedText | | | x | x | x | | |
lineBreakMode | | | x | x | | | |
allowsEditingTextAttributes | | | | x | x | | |
clearsOnInsertion | | | | x | x | | |
selectedRange | | | | x | | | |
editable | | | | x | | | |
selectable | | | | x | | | |
dataDetectorTypes | | | | x | | | |
textContainerInset | | | | x | | | |
linkTextAttributes | | | | x | | | |
lineFragmentPadding | | | | x | | | |
borderStyle | | | | | x | | |
defaultTextAttributes | | | | | x | | |
placeholder | | | | | x | | |
clearsOnBeginEditing | | | | | x | | |
background | | | | | x | | |
disabledBackground | | | | | x | | |
typingAttributes | | | | | x | | |
clearButtonMode | | | | | x | | |
buttonTitle | | | | | | x | |
buttonTitleColor | | | | | | x | |
buttonTitleShadowColor | | | | | | x | |
buttonImage | | | | | | x | |
buttonBackgroundImage | | | | | | x | |
buttonAttributedTitle | | | | | | x | |
contentEdgeInsets | | | | | | x | |
titleEdgeInsets | | | | | | x | |
imageEdgeInsets | | | | | | x | |
reversesTitleShadowWhenHighlighted | | | | | | x | |
adjustsImageWhenHighlighted | | | | | | x | |
adjustsImageWhenDisabled | | | | | | x | |
showsTouchWhenHighlighted | | | | | | x | |
ratio | | | | | | | x |
scrollEnabled | | | | | | | | x
contentOffset | | | | | | | | x
contentSize | | | | | | | | x
contentInset | | | | | | | | x
directionalLockEnabled | | | | | | | | x
bounces | | | | | | | | x
alwaysBounceVertical | | | | | | | | x
alwaysBounceHorizontal | | | | | | | | x
pagingEnabled | | | | | | | | x
showsHorizontalScrollIndicator | | | | | | | | x
showsVerticalScrollIndicator | | | | | | | | x
scrollIndicatorInsets | | | | | | | | x
indicatorStyle | | | | | | | | x
decelerationRate | | | | | | | | x
delaysContentTouches | | | | | | | | x
canCancelContentTouches | | | | | | | | x
minimumZoomScale | | | | | | | | x
maximumZoomScale | | | | | | | | x
zoomScale | | | | | | | | x
bouncesZoom | | | | | | | | x
scrollsToTop | | | | | | | | x
keyboardDismissMode | | | | | | | | x
3 changes: 3 additions & 0 deletions Docs/Cell.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Cell
#### Configurable dynamic height
TODO
4 changes: 3 additions & 1 deletion Docs/Design.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@

## Design and philosophy behind
## API Design and the rational behind

TODO

Why
How
Expand Down
2 changes: 2 additions & 0 deletions Docs/Layout.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
## Layout
TODO
4 changes: 1 addition & 3 deletions Docs/Remote.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,4 @@
## JSON Decodable
## JSON Encodable

```
```
TODO
18 changes: 16 additions & 2 deletions LeeGo.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@
354A347A1C7DE9A60081FF89 /* AppearanceSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 354A34791C7DE9A60081FF89 /* AppearanceSpec.swift */; };
3560FEE11CA358F100A400C2 /* ConvertibleSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3560FEE01CA358F100A400C2 /* ConvertibleSpec.swift */; };
3568BC441CC65B920009EB6E /* Brick.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3568BC431CC65B920009EB6E /* Brick.swift */; };
359374DB1CD5D5FE00062912 /* Appearance.md in Sources */ = {isa = PBXBuildFile; fileRef = 359374D81CD5D5FE00062912 /* Appearance.md */; };
359374DC1CD5D5FE00062912 /* Cell.md in Sources */ = {isa = PBXBuildFile; fileRef = 359374D91CD5D5FE00062912 /* Cell.md */; };
359374DD1CD5D5FE00062912 /* Layout.md in Sources */ = {isa = PBXBuildFile; fileRef = 359374DA1CD5D5FE00062912 /* Layout.md */; };
359374E51CD5D86600062912 /* CHANGELOG.md in Sources */ = {isa = PBXBuildFile; fileRef = 359374E41CD5D86600062912 /* CHANGELOG.md */; };
35AFD9A31CA6F87D009BE224 /* layout.json in Resources */ = {isa = PBXBuildFile; fileRef = 35AFD9A21CA6F87D009BE224 /* layout.json */; };
35B70A8E1CA499490021A1ED /* TestMedia.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 35B70A8D1CA499490021A1ED /* TestMedia.xcassets */; };
35F4E70C1CA5809400F7BDC9 /* appearances.json in Resources */ = {isa = PBXBuildFile; fileRef = 35F4E70B1CA5809400F7BDC9 /* appearances.json */; };
Expand Down Expand Up @@ -53,14 +57,17 @@
3513F7101C95ECA0003B211F /* Layout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Layout.swift; sourceTree = "<group>"; };
3515725A1CA421E000BE68FB /* JSONConvertible.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JSONConvertible.swift; sourceTree = "<group>"; };
3515725C1CA421F000BE68FB /* Constraint.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Constraint.swift; sourceTree = "<group>"; };
3530E87C1C7CBC6300ABC8D1 /* API_Details.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = API_Details.md; sourceTree = "<group>"; };
3540C4C41C7EFC21005CA104 /* TestData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestData.swift; sourceTree = "<group>"; };
354908AE1CA72BD2005ACDA7 /* brick.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = brick.json; sourceTree = "<group>"; };
354A34791C7DE9A60081FF89 /* AppearanceSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppearanceSpec.swift; sourceTree = "<group>"; };
3560FEE01CA358F100A400C2 /* ConvertibleSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConvertibleSpec.swift; sourceTree = "<group>"; };
3568BC431CC65B920009EB6E /* Brick.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Brick.swift; sourceTree = "<group>"; };
357956CD1CCD2BE200D27777 /* Remote.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Remote.md; sourceTree = "<group>"; };
357956CF1CCD2C1900D27777 /* Design.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Design.md; sourceTree = "<group>"; };
359374D81CD5D5FE00062912 /* Appearance.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Appearance.md; sourceTree = "<group>"; };
359374D91CD5D5FE00062912 /* Cell.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Cell.md; sourceTree = "<group>"; };
359374DA1CD5D5FE00062912 /* Layout.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Layout.md; sourceTree = "<group>"; };
359374E41CD5D86600062912 /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = SOURCE_ROOT; };
35AFD9A21CA6F87D009BE224 /* layout.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = layout.json; sourceTree = "<group>"; };
35B3CC8E1CCBDABF00A2F1D8 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = SOURCE_ROOT; };
35B70A8D1CA499490021A1ED /* TestMedia.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = TestMedia.xcassets; sourceTree = "<group>"; };
Expand Down Expand Up @@ -123,9 +130,12 @@
isa = PBXGroup;
children = (
35B3CC8E1CCBDABF00A2F1D8 /* README.md */,
3530E87C1C7CBC6300ABC8D1 /* API_Details.md */,
359374D81CD5D5FE00062912 /* Appearance.md */,
359374D91CD5D5FE00062912 /* Cell.md */,
359374DA1CD5D5FE00062912 /* Layout.md */,
357956CD1CCD2BE200D27777 /* Remote.md */,
357956CF1CCD2C1900D27777 /* Design.md */,
359374E41CD5D86600062912 /* CHANGELOG.md */,
);
path = Docs;
sourceTree = SOURCE_ROOT;
Expand Down Expand Up @@ -404,16 +414,20 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
359374DB1CD5D5FE00062912 /* Appearance.md in Sources */,
35F520361C7C74510089FF41 /* Composable.swift in Sources */,
3515725D1CA421F000BE68FB /* Constraint.swift in Sources */,
35F520301C7C74510089FF41 /* AutoLayout.swift in Sources */,
3515725B1CA421E000BE68FB /* JSONConvertible.swift in Sources */,
35F520351C7C74510089FF41 /* BrickDescribable.swift in Sources */,
359374DD1CD5D5FE00062912 /* Layout.md in Sources */,
359374DC1CD5D5FE00062912 /* Cell.md in Sources */,
3513F7111C95ECA0003B211F /* Layout.swift in Sources */,
35F520391C7C74510089FF41 /* Errors.swift in Sources */,
3513F70F1C95EC96003B211F /* Appearance.swift in Sources */,
35F5203C1C7C74510089FF41 /* View.swift in Sources */,
3568BC441CC65B920009EB6E /* Brick.swift in Sources */,
359374E51CD5D86600062912 /* CHANGELOG.md in Sources */,
35F520311C7C74510089FF41 /* Cell.swift in Sources */,
35F520371C7C74510089FF41 /* Configurable.swift in Sources */,
35F520321C7C74510089FF41 /* Conveniences.swift in Sources */,
Expand Down
Binary file modified Medias/leego.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,14 @@
LeeGo is a lightweight Swift framework that helps you decouple & modularise your UI component into small pieces of LEGO style's bricks, to make UI development declarative, configurable and highly reusable.

## Rational behind
I’ve talked this once in my [blog post](https://medium.com/@victor_wang/build-your-cells-in-a-way-of-lego-fbf6a1133bb1#.ud8o1v5zl) and also on [dotSwift’s talk](http://www.thedotpost.com/2016/01/victor-wang-build-ios-ui-in-the-way-of-lego-bricks). Please checkout through for more details.
We all know that MVC pattern have some serious problems when dealing with a complex iOS project. Fortunately there are also a bunch of approaches that aim to fix the problems, most of them mainly address the `Controller` part, such as MVP, MVVM, MVSM or VIPER. But there is barely a thing which address the `View` part. Is that means we just run out of all the problems in the `View` part ? I think the answer is NO, especially when we need our app to be full responsive.

I’ve talked this once in my [blog post](https://medium.com/@victor_wang/build-your-cells-in-a-way-of-lego-fbf6a1133bb1#.ud8o1v5zl) and also on a [dotSwift’s talk](http://www.thedotpost.com/2016/01/victor-wang-build-ios-ui-in-the-way-of-lego-bricks). Please checkout through for more details.

LeeGo, replace the `View` part of MVC by `Brick`.
<p align="center">

<img src="https://raw.githubusercontent.com/wangshengjia/LeeGo/better-docs/Medias/leego.gif" alt="LeeGo" title="LeeGo" width="600"/>
<img src="https://raw.githubusercontent.com/wangshengjia/LeeGo/master/Medias/leego.gif" alt="LeeGo" title="LeeGo" width="600"/>

</p>

Expand Down Expand Up @@ -240,6 +243,9 @@ $ carthage update

At last, you need to set up your Xcode project manually to add the LeeGo framework.

## Vision & Roadmap
## Roadmap
#### Limit for the moment

#### What's the next ?

## References

0 comments on commit 041b1e4

Please sign in to comment.