Added gitignore file.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Added resources and dependencies submodules.

By splitting the resources and the vendor directory into their
own seperate repos, we can manage the inevitable bloat of each
repository by isolating the bloat by type.

This has tradeoffs, but the point is to be able to download source code
quickly without the need of pulling in dependencies or resources.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Added common project files.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Added standard Xcode project files.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Added source files.

The source files contain almost the entirety of the Creepypasta Files app.
There are a few things that would need to be implemented (or
alternatively, removed) for a clean build. So as of this commit,
the application isn't automatically buildable when the repository is
cloned. This will need to be addressed.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Added support files.

Support files sometimes help during compilation or at runtime. For
example, the strings file generalizes applications strings for potential
multi-language support.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Added the database schema file.

To create the actual database, run the following command:

sqlite3 creepypasta_files.db < creepypasta-files.sql

This will provide the necessary schema for creepypasta files. To add
stories, simply use standard insert commands. To reference images, add
the image to the Raw folder and use a standard HTML tag. For example:

<img src='hello.png' />

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Updated common project files and added url to licenses.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Updated submodule commit references.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Added build.sh to facilitate compiling the application on fresh clones.

build.sh is intended to be used right after a fresh repository clone. It
customizes the project and builds any necessary components.
Customization may include things like developer-specific public keys, or
generating databases from ddl files.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Updated project files so they no longer reference Raw resources.

In addition, updated build.sh script to work with Ad compoenents.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Updated various file for release v1.0.

Master repository README updated along with submodule v1.0 README
updates.

Build scripts updated as well.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Updated the application so that it can generate database and all updates

The application will now generate the database on first launch as
opposed to being pregenerated. This will allow for easy updates in the
future via change scripts. Precautions have been taken for all users who
have previously installed the application with the pre-generated
database.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Updated the nil check for the get Preference function.

The original check always returned a 0 and never a nil value. The
consequence was that the returned default value would translate to
"Extra Small" sized text when it should have translated to the supplied
default value (aka NOT the 0 value).

This update fixes that issue.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Updated colors for NodeViewController text.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Fixed bug that crashes app when a valid response is not received.

The response callback function sometimes does not have valid product
data. In these cases, the application would attempt to use the info from
the invalid array and this would cause crashes. Now, if the array
contains invalid data, the data is not used at all.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Added video-embedding support.

Some content may be based on video or may be entirely composed of video.
Thus, video embeds allow for this.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Created a DBUpgradeTask which creates a worker thread for DDL execution.

Since all database setup and upgrades occur via DDL statements stored in
local files, complex setups may take a little bit longer. This will
create a worker thread for these setup and upgrades ops. The user will
see a notification on the screen stating that an upgrade is in progress
and an indeterminate progress indicator is displayed.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Updated the NodeViewController and added video support and css styles.

NodeViewController now has some flexible features. PinchZoom is now
available to users. Images have been centered and video support is now
enabled. Videos will launch the native youtube application. JavaScript
is used for updating the WebView on orientation changes, font size
changes, etc.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>
Made physical device ID optional in build script.

Previously the build script did not allow you to continue without the
device ID being set. Since this is not needed to successfully build the
application, it has been made optional.

Signed-off-by: Byron Sanchez <bfs5030@gmail.com>