<commit_before>Onboard
==================

Onboard provides developers with a quick and easy means to create a beautiful, engaging, and useful onboarding experience with only a few lines of code.


![demo](Screenshots/city.gif)
![demo](Screenshots/solar.gif)
![demo](Screenshots/waves.gif)
![demo](Screenshots/gemr.gif)
![demo](Screenshots/tripnary.gif)



Apps Using Onboard
=============

If your app is currently using onboard, let me know and I would love to feature it here!

[Gemr](http://www.gemr.com/ "Gemr")
===


![demo](Screenshots/gemr1.PNG)
![demo](Screenshots/gemr2.PNG)
![demo](Screenshots/gemr3.PNG)

[Tripnary](http://tripnary.com/ "Tripnary")
===

Thanks to [goelv](https://github.com/goelv) for this! You did a superb job!

![demo](Screenshots/tripnary1.PNG)
![demo](Screenshots/tripnary2.PNG)
![demo](Screenshots/tripnary3.PNG)
![demo](Screenshots/tripnary4.PNG)
![demo](Screenshots/tripnary5.PNG)

More Samples
=============

![demo](Screenshots/city1.png)
![demo](Screenshots/city2.png)
![demo](Screenshots/city3.png)

![demo](Screenshots/solar1.png)
![demo](Screenshots/solar2.png)
![demo](Screenshots/solar3.png)

![demo](Screenshots/space1.png)
![demo](Screenshots/space2.png)
![demo](Screenshots/space3.png)
![demo](Screenshots/space4.png)

![demo](Screenshots/purple1.png)
![demo](Screenshots/purple2.png)
![demo](Screenshots/purple3.png)
![demo](Screenshots/purple4.png)

Compatibility
====

I currently have implementations written in both Objective-C and Swift, although currently due to time constraints the Swift implementation does not have all of the customization features available in the Objective-C version, namely the skipping feature, customizing different fonts for different components on the same page, etc. I will do my best to get the Swift version to match the Objective-C version as soon as possible, and any pull requests are welcomed in the meantime!


Usage
=====

Cocoapods
--------
I'm still new to implementing my own pods, so bear with me! Adding the following to your podfile and running `pod install` should do the trick:

`pod 'Onboard', :git => 'https://github.com/mamaral/Onboard.git'`

Manual
------
Drop the OnboardingViewController and OnboardingContentViewController header and implementation files into your project, import them into your AppDelegate, and you're ready to create an awesome onboarding experience for your users!

Create individual pages by creating an OnboardingContentViewController, providing it a title, body, image, text for an action button, and within the action block handle whatever you want to do when the users press the button. If you don't want a button, you can leave both the button text and action handler nil.

Objective-C
-------

```objective-c
OnboardingContentViewController *firstPage = [OnboardingContentViewController contentWithTitle:@"Page Title" body:@"Page body goes here." image:[UIImage imageNamed:@"icon"] buttonText:@"Text For Button" action:^{
    // do something here when users press the button, like ask for location services permissions, register for push notifications, connect to social media, or finish the onboarding process<commit_msg>Fix typo and add syntax highlighing for README<commit_after>Onboard
==================

Onboard provides developers with a quick and easy means to create a beautiful, engaging, and useful onboarding experience with only a few lines of code.


![demo](Screenshots/city.gif)
![demo](Screenshots/solar.gif)
![demo](Screenshots/waves.gif)
![demo](Screenshots/gemr.gif)
![demo](Screenshots/tripnary.gif)



Apps Using Onboard
=============

If your app is currently using onboard, let me know and I would love to feature it here!

[Gemr](http://www.gemr.com/ "Gemr")
===


![demo](Screenshots/gemr1.PNG)
![demo](Screenshots/gemr2.PNG)
![demo](Screenshots/gemr3.PNG)

[Tripnary](http://tripnary.com/ "Tripnary")
===

Thanks to [goelv](https://github.com/goelv) for this! You did a superb job!

![demo](Screenshots/tripnary1.PNG)
![demo](Screenshots/tripnary2.PNG)
![demo](Screenshots/tripnary3.PNG)
![demo](Screenshots/tripnary4.PNG)
![demo](Screenshots/tripnary5.PNG)

More Samples
=============

![demo](Screenshots/city1.png)
![demo](Screenshots/city2.png)
![demo](Screenshots/city3.png)

![demo](Screenshots/solar1.png)
![demo](Screenshots/solar2.png)
![demo](Screenshots/solar3.png)

![demo](Screenshots/space1.png)
![demo](Screenshots/space2.png)
![demo](Screenshots/space3.png)
![demo](Screenshots/space4.png)

![demo](Screenshots/purple1.png)
![demo](Screenshots/purple2.png)
![demo](Screenshots/purple3.png)
![demo](Screenshots/purple4.png)

Compatibility
====

I currently have implementations written in both Objective-C and Swift, although currently due to time constraints the Swift implementation does not have all of the customization features available in the Objective-C version, namely the skipping feature, customizing different fonts for different components on the same page, etc. I will do my best to get the Swift version to match the Objective-C version as soon as possible, and any pull requests are welcomed in the meantime!


Usage
=====

CocoaPods
--------
I'm still new to implementing my own pods, so bear with me! Adding the following to your `Podfile` and running `pod install` should do the trick:

```ruby
pod 'Onboard', :git => 'https://github.com/mamaral/Onboard.git'
```

Manual
------
Drop the OnboardingViewController and OnboardingContentViewController header and implementation files into your project, import them into your AppDelegate, and you're ready to create an awesome onboarding experience for your users!

Create individual pages by creating an OnboardingContentViewController, providing it a title, body, image, text for an action button, and within the action block handle whatever you want to do when the users press the button. If you don't want a button, you can leave both the button text and action handler nil.

Objective-C
-------

```objective-c
OnboardingContentViewController *firstPage = [OnboardingContentViewController contentWithTitle:@"Page Title" body:@"Page body goes here." image:[UIImage imageNamed:@"icon"] buttonText:@"Text For Button" action:^{
    // do something here when users press the button, like ask for location services permissions, register for push notifications, connect to social media, or finish the onboarding process
{'fraction_non_alphanumeric': 0.12490168318389178, 'fraction_numerical': 0.006921503854019191, 'mean_word_length': 5.6367432150313155, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 4, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5225452', 'n_tokens_mistral': 2095, 'n_tokens_neox': 1866, 'n_words': 655}