diff --git a/build/2.0/404.html b/build/2.0/404.html index 82c52b6b..f7c298ae 100644 --- a/build/2.0/404.html +++ b/build/2.0/404.html @@ -1187,6 +1187,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/advanced/modules/index.html b/build/2.0/advanced/modules/index.html index a2e781f1..06f98db6 100644 --- a/build/2.0/advanced/modules/index.html +++ b/build/2.0/advanced/modules/index.html @@ -1193,6 +1193,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/auth/getting-started/index.html b/build/2.0/auth/getting-started/index.html index a2f5dbb7..ae926ce7 100644 --- a/build/2.0/auth/getting-started/index.html +++ b/build/2.0/auth/getting-started/index.html @@ -1338,6 +1338,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/auth/helper/index.html b/build/2.0/auth/helper/index.html index b0099cc2..fd0e7a30 100644 --- a/build/2.0/auth/helper/index.html +++ b/build/2.0/auth/helper/index.html @@ -1276,6 +1276,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/auth/package/index.html b/build/2.0/auth/package/index.html index 7236e7a3..cac26846 100644 --- a/build/2.0/auth/package/index.html +++ b/build/2.0/auth/package/index.html @@ -1236,6 +1236,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/auth/password/index.html b/build/2.0/auth/password/index.html index ccc9ed50..c638e76a 100644 --- a/build/2.0/auth/password/index.html +++ b/build/2.0/auth/password/index.html @@ -1256,6 +1256,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/auth/persist/index.html b/build/2.0/auth/persist/index.html index 355b7e9a..6fa1d054 100644 --- a/build/2.0/auth/persist/index.html +++ b/build/2.0/auth/persist/index.html @@ -1297,6 +1297,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/auth/provider/index.html b/build/2.0/auth/provider/index.html index aa675715..4bb8b2cb 100644 --- a/build/2.0/auth/provider/index.html +++ b/build/2.0/auth/provider/index.html @@ -1236,6 +1236,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/bits/overview/index.html b/build/2.0/bits/overview/index.html index 3647383f..298bc8e7 100644 --- a/build/2.0/bits/overview/index.html +++ b/build/2.0/bits/overview/index.html @@ -1193,6 +1193,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/bits/package/index.html b/build/2.0/bits/package/index.html index 0c6ce641..6289d63a 100644 --- a/build/2.0/bits/package/index.html +++ b/build/2.0/bits/package/index.html @@ -1193,6 +1193,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/cache/overview/index.html b/build/2.0/cache/overview/index.html index 95c402a8..8765a414 100644 --- a/build/2.0/cache/overview/index.html +++ b/build/2.0/cache/overview/index.html @@ -1276,6 +1276,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/cache/package/index.html b/build/2.0/cache/package/index.html index ef42e610..7a4f20a2 100644 --- a/build/2.0/cache/package/index.html +++ b/build/2.0/cache/package/index.html @@ -1204,6 +1204,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/core/overview/index.html b/build/2.0/core/overview/index.html index a19413c1..63227c64 100644 --- a/build/2.0/core/overview/index.html +++ b/build/2.0/core/overview/index.html @@ -1193,6 +1193,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/core/package/index.html b/build/2.0/core/package/index.html index 089af2e6..e37979e5 100644 --- a/build/2.0/core/package/index.html +++ b/build/2.0/core/package/index.html @@ -1193,6 +1193,18 @@ + + + + + +
  • + + Getting Started + +
  • + + @@ -1566,7 +1578,7 @@ diff --git a/build/2.0/debugging/overview/index.html b/build/2.0/debugging/overview/index.html index 648c58f8..d528ac5d 100644 --- a/build/2.0/debugging/overview/index.html +++ b/build/2.0/debugging/overview/index.html @@ -1193,6 +1193,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/debugging/package/index.html b/build/2.0/debugging/package/index.html index 07dc9b5a..4a400236 100644 --- a/build/2.0/debugging/package/index.html +++ b/build/2.0/debugging/package/index.html @@ -1193,6 +1193,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/fluent/database/index.html b/build/2.0/fluent/database/index.html index e3975f3b..7d5fd336 100644 --- a/build/2.0/fluent/database/index.html +++ b/build/2.0/fluent/database/index.html @@ -1325,6 +1325,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/fluent/getting-started/index.html b/build/2.0/fluent/getting-started/index.html index dbe147e7..542c5864 100644 --- a/build/2.0/fluent/getting-started/index.html +++ b/build/2.0/fluent/getting-started/index.html @@ -1337,6 +1337,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/fluent/model/index.html b/build/2.0/fluent/model/index.html index c250d51a..f8df6549 100644 --- a/build/2.0/fluent/model/index.html +++ b/build/2.0/fluent/model/index.html @@ -1420,6 +1420,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/fluent/package/index.html b/build/2.0/fluent/package/index.html index c3fa7b26..3068bb5f 100644 --- a/build/2.0/fluent/package/index.html +++ b/build/2.0/fluent/package/index.html @@ -1243,6 +1243,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/fluent/query/index.html b/build/2.0/fluent/query/index.html index 489ce493..3696d2fd 100644 --- a/build/2.0/fluent/query/index.html +++ b/build/2.0/fluent/query/index.html @@ -1345,6 +1345,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/fluent/relations/index.html b/build/2.0/fluent/relations/index.html index 19e3f35f..a432143f 100644 --- a/build/2.0/fluent/relations/index.html +++ b/build/2.0/fluent/relations/index.html @@ -1330,6 +1330,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/getting-started/hello-world/index.html b/build/2.0/getting-started/hello-world/index.html index 87e89af7..3c087635 100644 --- a/build/2.0/getting-started/hello-world/index.html +++ b/build/2.0/getting-started/hello-world/index.html @@ -1316,6 +1316,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/getting-started/install-on-macos/index.html b/build/2.0/getting-started/install-on-macos/index.html index 016a6e52..ae71e387 100644 --- a/build/2.0/getting-started/install-on-macos/index.html +++ b/build/2.0/getting-started/install-on-macos/index.html @@ -1297,6 +1297,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/getting-started/install-on-ubuntu/index.html b/build/2.0/getting-started/install-on-ubuntu/index.html index d24cbad6..3eef2928 100644 --- a/build/2.0/getting-started/install-on-ubuntu/index.html +++ b/build/2.0/getting-started/install-on-ubuntu/index.html @@ -1277,6 +1277,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/getting-started/manual/index.html b/build/2.0/getting-started/manual/index.html index 169746db..9b524102 100644 --- a/build/2.0/getting-started/manual/index.html +++ b/build/2.0/getting-started/manual/index.html @@ -1283,6 +1283,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/getting-started/toolbox/index.html b/build/2.0/getting-started/toolbox/index.html index 69b8cac5..e0f1d5d5 100644 --- a/build/2.0/getting-started/toolbox/index.html +++ b/build/2.0/getting-started/toolbox/index.html @@ -1276,6 +1276,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/getting-started/xcode/index.html b/build/2.0/getting-started/xcode/index.html index b1e4b5a5..d2129072 100644 --- a/build/2.0/getting-started/xcode/index.html +++ b/build/2.0/getting-started/xcode/index.html @@ -1249,6 +1249,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/http/body/index.html b/build/2.0/http/body/index.html index 5287240d..f5ed2cb5 100644 --- a/build/2.0/http/body/index.html +++ b/build/2.0/http/body/index.html @@ -1276,6 +1276,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/http/client/index.html b/build/2.0/http/client/index.html index 9f2792b5..9d1ba599 100644 --- a/build/2.0/http/client/index.html +++ b/build/2.0/http/client/index.html @@ -1325,6 +1325,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/http/cors/index.html b/build/2.0/http/cors/index.html index ad0c8af0..f57a1c55 100644 --- a/build/2.0/http/cors/index.html +++ b/build/2.0/http/cors/index.html @@ -1256,6 +1256,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/http/middleware/index.html b/build/2.0/http/middleware/index.html index c525db77..6a28b1b5 100644 --- a/build/2.0/http/middleware/index.html +++ b/build/2.0/http/middleware/index.html @@ -1324,6 +1324,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/http/request/index.html b/build/2.0/http/request/index.html index 968aa7e2..39ab2e3c 100644 --- a/build/2.0/http/request/index.html +++ b/build/2.0/http/request/index.html @@ -1339,6 +1339,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/http/responder/index.html b/build/2.0/http/responder/index.html index 561cd356..681c070a 100644 --- a/build/2.0/http/responder/index.html +++ b/build/2.0/http/responder/index.html @@ -1250,6 +1250,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/http/response-representable/index.html b/build/2.0/http/response-representable/index.html index 1913cded..c8f997bf 100644 --- a/build/2.0/http/response-representable/index.html +++ b/build/2.0/http/response-representable/index.html @@ -1250,6 +1250,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/http/response/index.html b/build/2.0/http/response/index.html index f13c27df..8a830bd8 100644 --- a/build/2.0/http/response/index.html +++ b/build/2.0/http/response/index.html @@ -1304,6 +1304,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/http/server/index.html b/build/2.0/http/server/index.html index 3673049f..feb24e85 100644 --- a/build/2.0/http/server/index.html +++ b/build/2.0/http/server/index.html @@ -1378,6 +1378,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/index.html b/build/2.0/index.html index 37e5c90d..378fb769 100644 --- a/build/2.0/index.html +++ b/build/2.0/index.html @@ -211,18 +211,12 @@ Getting Started - + +
  • + + Like Vapor? +
  • @@ -1351,6 +1345,18 @@ + + + + + +
  • + + Getting Started + +
  • + + @@ -1621,18 +1627,12 @@ Getting Started - + +
  • + + Like Vapor? +
  • @@ -1771,8 +1771,14 @@

    Vapor is the most used web framework for Swift. It provides a beautifully expressive and easy to use foundation for your next website or API.

    Getting Started

    If this is your first time using Vapor, head to the Getting Started section to install Swift and create your first app.

    -

    Viewing Mediums

    -

    You can read this guide by clicking through the folders and markdown files on GitHub or through the rendered website.

    +

    Like Vapor?

    +

    Our small team works hard to make Vapor awesome (and free). Support the framework by starring Vapor on GitHub or donating $1 monthly--it helps us a lot. Thanks!

    +

    + + + + +

    Other Sources

    Here are some other great places to find information about Vapor.

    API

    @@ -1867,10 +1873,9 @@
  • PostgreSQL Provider: PostgreSQL provider for Vapor.
  • -
  • MongoKitten*: Native MongoDB driver for Swift, written in Swift
  • diff --git a/build/2.0/json/package/index.html b/build/2.0/json/package/index.html index deeb0907..d5dc0868 100644 --- a/build/2.0/json/package/index.html +++ b/build/2.0/json/package/index.html @@ -1204,6 +1204,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/leaf/leaf/index.html b/build/2.0/leaf/leaf/index.html index a6fe9b28..10fb0dd7 100644 --- a/build/2.0/leaf/leaf/index.html +++ b/build/2.0/leaf/leaf/index.html @@ -1401,6 +1401,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/leaf/package/index.html b/build/2.0/leaf/package/index.html index 80ed9649..343cd09a 100644 --- a/build/2.0/leaf/package/index.html +++ b/build/2.0/leaf/package/index.html @@ -1236,6 +1236,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/leaf/provider/index.html b/build/2.0/leaf/provider/index.html index 6c7d55d3..1917869b 100644 --- a/build/2.0/leaf/provider/index.html +++ b/build/2.0/leaf/provider/index.html @@ -1250,6 +1250,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/mkdocs/search_index.json b/build/2.0/mkdocs/search_index.json index 8f2164f2..3e2aa19f 100644 --- a/build/2.0/mkdocs/search_index.json +++ b/build/2.0/mkdocs/search_index.json @@ -2,7 +2,7 @@ "docs": [ { "location": "/", - "text": "Vapor Documentation\n\n\nThis is the documentation for Vapor, a Web Framework for Swift that works on iOS, macOS, and Ubuntu; and all of the packages that Vapor offers.\n\n\nVapor is the most used web framework for Swift. It provides a beautifully expressive and easy to use foundation for your next website or API.\n\n\nGetting Started\n\n\nIf this is your first time using Vapor, head to the \nGetting Started\n section to install Swift and create your first app.\n\n\nViewing Mediums\n\n\nYou can read this guide by clicking through the folders and markdown files on \nGitHub\n or through the rendered \nwebsite\n.\n\n\nOther Sources\n\n\nHere are some other great places to find information about Vapor.\n\n\nAPI\n\n\nAuto-generated API documentation is located at \napi.vapor.codes\n.\n\n\nStack Overflow\n\n\nView or ask questions related to Vapor on Stack Overflow using the \nvapor\n tag.\n\n\nGitHub\n\n\nSource Code\n\n\nTo view the framework's source code and code documentation, visit \nVapor's GitHub\n.\n\n\nIssues\n\n\nTo view open bug reports and feature requests, or to create one, visit the \nissues\n tab on \nVapor's GitHub\n.\n\n\nPackages\n\n\nVapor is a modular framework built for a modular language. Code is split up into modules which are grouped to form packages. Packages can be added to your project by adding the package's Git url to your \nPackage.swift\n file. Once a package is included, all of its modules will be available to \nimport\n. You can read more about packages and modules in the Swift Package Manager \nconceptual overview\n. \n\n\nBelow is a list of packages and modules that come with or can be used by Vapor projects. Packages will have a link to their respective GitHub page.\n\n\nCore\n\n\nCore packages are maintained by the Vapor team. \n\n\nIncluded\n\n\nThe following packages are included with Vapor by default.\n\n\n\n\nTip\n\n\nThese packages can also be used individually\n\n\n\n\n\n\nVapor\n: Swift's most used web framework.\n\n\nAuth: User authentication and persistance.\n\n\nSessions: Secure, ephemeral cookie based data storage.\n\n\nCookies: HTTP cookies.\n\n\nRouting: Advanced router with type-safe parameterization.\n\n\n\n\n\n\nEngine\n: Core transport layers.\n\n\nHTTP: HTTP client and server.\n\n\nURI: URI parsing and serializing.\n\n\nWebSockets: Full-duplex communication channels over a single TCP connection.\n\n\nSMTP: Send email using Sendgrid and Gmail.\n\n\n\n\n\n\nMultipart\n: Fast, streaming, non-blocking multipart parser and serializer.\n\n\nMultipart: Parses and serializes \nmultipart/mixed\n.\n\n\nFormData: Parses and serializes \nmultipart/form-data\n.\n\n\n\n\n\n\nJSON\n: Conveniences for working with JSON in Swift.\n\n\nConsole\n: Swift wrapper for console IO and commands.\n\n\nTLS\n: Swift wrapper for CLibreSSL's new TLS.\n\n\nCrypto\n: Cryptography from LibreSSL and Swift.\n\n\nDigests: Hashing with and without authentication.\n\n\nCiphers: Encryption and decryption\n\n\nRandom: Pseudo and cryptographically secure randomness.\n\n\nBCrypt: Pure Swift implementation.\n\n\n\n\n\n\nNode\n: Data structure for easy type conversions.\n\n\nPolymorphic\n: Syntax for easily accessing values from common types like JSON.\n\n\nPath Indexable\n: A protocol for powerful subscript access of common types like JSON.\n\n\n\n\n\n\nCore\n: Core extensions, type-aliases, and functions that facilitate common tasks.\n\n\nSocks\n: Swift C Socket API wrapper.\n\n\nBits\n: Low level byte manipulation helpers\n\n\n\n\nProviders\n\n\nThese are officially supported packages for Vapor that are not included by default.\n\n\n\n\nFluent\n: Models, relationships, and querying for NoSQL and SQL databases.\n\n\nFluent Provider\n: Fluent provider for Vapor.\n\n\n\n\n\n\nMySQL\n: Robust MySQL interface for Swift.\n\n\nMySQL Driver\n: MySQL driver for Fluent.\n\n\nMySQL Provider\n: MySQL provider for Vapor.\n\n\n\n\n\n\nLeaf\n: An extensible templating language.\n\n\nLeaf Provider\n: Leaf provider for Vapor.\n\n\n\n\n\n\nRedbird\n: Pure-Swift Redis client implemented from the original protocol spec..\n\n\nRedis Provider\n: Redis cache provider for Vapor.\n\n\n\n\n\n\nJWT\n: JSON Web Tokens in Swift.\n\n\nJWT Provider\n: JWT conveniences for Vapor.\n\n\n\n\n\n\n\n\nCommunity\n\n\nThese are packages maintained by community members that work great with Vapor.\n\n\n\n\nPostgreSQL\n: Robust PostgreSQL interface for Swift.\n\n\nPostgreSQL Driver\n: PostgreSQL driver for Fluent.\n\n\nPostgreSQL Provider\n: PostgreSQL provider for Vapor.\n\n\n\n\n\n\nMongoKitten*\n: Native MongoDB driver for Swift, written in Swift\n\n\nMongo Driver\n: MongoKitten driver for Fluent.\n\n\nMongo Provider\n: MongoKitten provider for Vapor.\n\n\nMainecoonVapor\n: MongoKitten ORM for Vapor.\n\n\n\n\n\n\nKitura Provider\n: Use IBM's Kitura HTTP server in Vapor.\n\n\nSwiftyBeaver\n: Adds the powerful logging of SwiftyBeaver to Vapor.\n\n\nAPNS\n: Simple APNS Library for Vapor (Swift).\n\n\nVaporFCM\n: Simple FCM (iOS + Android Push Notifications) library built for Vapor in Swift.\n\n\nVaporS3Signer\n: Generate V4 Auth Header/Pre-Signed URL for AWS S3 REST API\n\n\nFlock\n: Automated deployment of Swift projects to servers\n\n\nVaporFlock\n: Use Flock to deploy Vapor applications\n\n\n\n\n\n\nVaporForms\n: Brings simple, dynamic and re-usable web form handling to Vapor.\n\n\nJobs\n: A minimalistic job/background-task system for Swift.\n\n\nHeimdall\n: An easy to use HTTP request logger.\n\n\n\n\nProviders\n\n\nVapor providers are a convenient way to add functionality to your Vapor projects. For a full list of providers, check out the \nvapor-provider\n tag on GitHub.\n\n\nAuthors\n\n\nTanner Nelson\n, \nLogan Wright\n, and the hundreds of members of Vapor.", + "text": "Vapor Documentation\n\n\nThis is the documentation for Vapor, a Web Framework for Swift that works on iOS, macOS, and Ubuntu; and all of the packages that Vapor offers.\n\n\nVapor is the most used web framework for Swift. It provides a beautifully expressive and easy to use foundation for your next website or API.\n\n\nGetting Started\n\n\nIf this is your first time using Vapor, head to the \nGetting Started\n section to install Swift and create your first app.\n\n\nLike Vapor?\n\n\nOur small team works hard to make Vapor awesome (and free). Support the framework by starring Vapor on GitHub or donating $1 monthly--it helps us a lot. Thanks!\n\n\n\n \n\n\n\n\n\n \n\n\n\n\nOther Sources\n\n\nHere are some other great places to find information about Vapor.\n\n\nAPI\n\n\nAuto-generated API documentation is located at \napi.vapor.codes\n.\n\n\nStack Overflow\n\n\nView or ask questions related to Vapor on Stack Overflow using the \nvapor\n tag.\n\n\nGitHub\n\n\nSource Code\n\n\nTo view the framework's source code and code documentation, visit \nVapor's GitHub\n.\n\n\nIssues\n\n\nTo view open bug reports and feature requests, or to create one, visit the \nissues\n tab on \nVapor's GitHub\n.\n\n\nPackages\n\n\nVapor is a modular framework built for a modular language. Code is split up into modules which are grouped to form packages. Packages can be added to your project by adding the package's Git url to your \nPackage.swift\n file. Once a package is included, all of its modules will be available to \nimport\n. You can read more about packages and modules in the Swift Package Manager \nconceptual overview\n. \n\n\nBelow is a list of packages and modules that come with or can be used by Vapor projects. Packages will have a link to their respective GitHub page.\n\n\nCore\n\n\nCore packages are maintained by the Vapor team. \n\n\nIncluded\n\n\nThe following packages are included with Vapor by default.\n\n\n\n\nTip\n\n\nThese packages can also be used individually\n\n\n\n\n\n\nVapor\n: Swift's most used web framework.\n\n\nAuth: User authentication and persistance.\n\n\nSessions: Secure, ephemeral cookie based data storage.\n\n\nCookies: HTTP cookies.\n\n\nRouting: Advanced router with type-safe parameterization.\n\n\n\n\n\n\nEngine\n: Core transport layers.\n\n\nHTTP: HTTP client and server.\n\n\nURI: URI parsing and serializing.\n\n\nWebSockets: Full-duplex communication channels over a single TCP connection.\n\n\nSMTP: Send email using Sendgrid and Gmail.\n\n\n\n\n\n\nMultipart\n: Fast, streaming, non-blocking multipart parser and serializer.\n\n\nMultipart: Parses and serializes \nmultipart/mixed\n.\n\n\nFormData: Parses and serializes \nmultipart/form-data\n.\n\n\n\n\n\n\nJSON\n: Conveniences for working with JSON in Swift.\n\n\nConsole\n: Swift wrapper for console IO and commands.\n\n\nTLS\n: Swift wrapper for CLibreSSL's new TLS.\n\n\nCrypto\n: Cryptography from LibreSSL and Swift.\n\n\nDigests: Hashing with and without authentication.\n\n\nCiphers: Encryption and decryption\n\n\nRandom: Pseudo and cryptographically secure randomness.\n\n\nBCrypt: Pure Swift implementation.\n\n\n\n\n\n\nNode\n: Data structure for easy type conversions.\n\n\nPolymorphic\n: Syntax for easily accessing values from common types like JSON.\n\n\nPath Indexable\n: A protocol for powerful subscript access of common types like JSON.\n\n\n\n\n\n\nCore\n: Core extensions, type-aliases, and functions that facilitate common tasks.\n\n\nSocks\n: Swift C Socket API wrapper.\n\n\nBits\n: Low level byte manipulation helpers\n\n\n\n\nProviders\n\n\nThese are officially supported packages for Vapor that are not included by default.\n\n\n\n\nFluent\n: Models, relationships, and querying for NoSQL and SQL databases.\n\n\nFluent Provider\n: Fluent provider for Vapor.\n\n\n\n\n\n\nMySQL\n: Robust MySQL interface for Swift.\n\n\nMySQL Driver\n: MySQL driver for Fluent.\n\n\nMySQL Provider\n: MySQL provider for Vapor.\n\n\n\n\n\n\nLeaf\n: An extensible templating language.\n\n\nLeaf Provider\n: Leaf provider for Vapor.\n\n\n\n\n\n\nRedbird\n: Pure-Swift Redis client implemented from the original protocol spec..\n\n\nRedis Provider\n: Redis cache provider for Vapor.\n\n\n\n\n\n\nJWT\n: JSON Web Tokens in Swift.\n\n\nJWT Provider\n: JWT conveniences for Vapor.\n\n\n\n\n\n\n\n\nCommunity\n\n\nThese are packages maintained by community members that work great with Vapor.\n\n\n\n\nPostgreSQL\n: Robust PostgreSQL interface for Swift.\n\n\nPostgreSQL Driver\n: PostgreSQL driver for Fluent.\n\n\nPostgreSQL Provider\n: PostgreSQL provider for Vapor.\n\n\n\n\n\n\nMongoKitten\n: Native MongoDB driver for Swift, written in Swift\n\n\nMongo Driver\n: MongoKitten driver for Fluent.\n\n\nMongo Provider\n: MongoKitten provider for Vapor.\n\n\n\n\n\n\nKitura Provider\n: Use IBM's Kitura HTTP server in Vapor.\n\n\nSwiftyBeaver\n: Adds the powerful logging of SwiftyBeaver to Vapor.\n\n\nAPNS\n: Simple APNS Library for Vapor (Swift).\n\n\nVaporFCM\n: Simple FCM (iOS + Android Push Notifications) library built for Vapor in Swift.\n\n\nVaporS3Signer\n: Generate V4 Auth Header/Pre-Signed URL for AWS S3 REST API\n\n\nFlock\n: Automated deployment of Swift projects to servers\n\n\nVaporFlock\n: Use Flock to deploy Vapor applications\n\n\n\n\n\n\nVaporForms\n: Brings simple, dynamic and re-usable web form handling to Vapor.\n\n\nJobs\n: A minimalistic job/background-task system for Swift.\n\n\nHeimdall\n: An easy to use HTTP request logger.\n\n\n\n\nProviders\n\n\nVapor providers are a convenient way to add functionality to your Vapor projects. For a full list of providers, check out the \nvapor-provider\n tag on GitHub.\n\n\nAuthors\n\n\nTanner Nelson\n, \nLogan Wright\n, and the hundreds of members of Vapor.", "title": "Overview" }, { @@ -16,9 +16,9 @@ "title": "Getting Started" }, { - "location": "/#viewing-mediums", - "text": "You can read this guide by clicking through the folders and markdown files on GitHub or through the rendered website .", - "title": "Viewing Mediums" + "location": "/#like-vapor", + "text": "Our small team works hard to make Vapor awesome (and free). Support the framework by starring Vapor on GitHub or donating $1 monthly--it helps us a lot. Thanks!", + "title": "Like Vapor?" }, { "location": "/#other-sources", @@ -72,7 +72,7 @@ }, { "location": "/#community", - "text": "These are packages maintained by community members that work great with Vapor. PostgreSQL : Robust PostgreSQL interface for Swift. PostgreSQL Driver : PostgreSQL driver for Fluent. PostgreSQL Provider : PostgreSQL provider for Vapor. MongoKitten* : Native MongoDB driver for Swift, written in Swift Mongo Driver : MongoKitten driver for Fluent. Mongo Provider : MongoKitten provider for Vapor. MainecoonVapor : MongoKitten ORM for Vapor. Kitura Provider : Use IBM's Kitura HTTP server in Vapor. SwiftyBeaver : Adds the powerful logging of SwiftyBeaver to Vapor. APNS : Simple APNS Library for Vapor (Swift). VaporFCM : Simple FCM (iOS + Android Push Notifications) library built for Vapor in Swift. VaporS3Signer : Generate V4 Auth Header/Pre-Signed URL for AWS S3 REST API Flock : Automated deployment of Swift projects to servers VaporFlock : Use Flock to deploy Vapor applications VaporForms : Brings simple, dynamic and re-usable web form handling to Vapor. Jobs : A minimalistic job/background-task system for Swift. Heimdall : An easy to use HTTP request logger.", + "text": "These are packages maintained by community members that work great with Vapor. PostgreSQL : Robust PostgreSQL interface for Swift. PostgreSQL Driver : PostgreSQL driver for Fluent. PostgreSQL Provider : PostgreSQL provider for Vapor. MongoKitten : Native MongoDB driver for Swift, written in Swift Mongo Driver : MongoKitten driver for Fluent. Mongo Provider : MongoKitten provider for Vapor. Kitura Provider : Use IBM's Kitura HTTP server in Vapor. SwiftyBeaver : Adds the powerful logging of SwiftyBeaver to Vapor. APNS : Simple APNS Library for Vapor (Swift). VaporFCM : Simple FCM (iOS + Android Push Notifications) library built for Vapor in Swift. VaporS3Signer : Generate V4 Auth Header/Pre-Signed URL for AWS S3 REST API Flock : Automated deployment of Swift projects to servers VaporFlock : Use Flock to deploy Vapor applications VaporForms : Brings simple, dynamic and re-usable web form handling to Vapor. Jobs : A minimalistic job/background-task system for Swift. Heimdall : An easy to use HTTP request logger.", "title": "Community" }, { @@ -2650,6 +2650,51 @@ "text": "Node provides a lot of conveniences for any server-side, or client side Swift project. To include it in your package, add the following to your Package.swift file. import PackageDescription let package = Package ( \n name : Project , \n dependencies : [ \n ... \n . Package ( url : https://github.com/vapor/node.git , majorVersion : 2 ) \n ], \n exclude : [ ... ] ) Use import Node to access Node's APIs", "title": "Without Vapor" }, + { + "location": "/node/getting-started/", + "text": "Getting Started\n\n\nWhy do we have Node?\n\n\nThe web is very stringy, Swift is very type-safe, this is a major problem when doing web development in Swift. Node is our attempt at providing a solution to this problem.\n\n\nWhat is Node?\n\n\nNode is a data abstraction with an emphasis on being an intermediary between distinct types. For example, json from a client might use node to convert between the JSON and itself.\n\n\nHow do I use it?\n\n\nNode can be a little different to work with at first if you're familiar with less type-safe languages, let's look at a couple of examples and how we might start using Node in our projects. Most often, we'll be working with Node conversions.\n\n\nNodeInitializable\n\n\nNodeInitializable can be read and understood as \nAn object that can be initialized with a Node\n. Let's look at a simple implementation.\n\n\nstruct\n \nPerson\n:\n \nNodeInitializable\n \n{\n\n \nlet\n \nname\n:\n \nString\n\n \nlet\n \nage\n:\n \nInt\n\n\n \ninit\n(\nnode\n:\n \nNode\n)\n \nthrows\n \n{\n\n \nname\n \n=\n \ntry\n \nnode\n.\nget\n(\nname\n)\n\n \nage\n \n=\n \ntry\n \nnode\n.\nget\n(\nage\n)\n\n \n}\n\n\n}\n\n\n\n\n\n\nNow that we have this, we can easily convert abstract data to a Person. Here's how that might look:\n\n\nlet\n \nperson\n \n=\n \ntry\n \nPerson\n(\nnode\n:\n \njson\n)\n\n\n\n\n\n\n\n\nNote: There are some more advanced functionality options for JSON and database Row types in particular, we'll cover that later.\n\n\n\n\nBy conforming our \nPerson\n object to \nNodeInitializable\n, we can also use more advanced cases such as arrays:\n\n\nlet people = try [Person](node: jsonArray)\n\n\n\n\n\nNodeRepresentable\n\n\nNodeRepresentable can be read and understood as \nAn object that can be represented as a Node\n. Let's take a look at a simple implementation. We'll stick with the \nPerson\n example above\n\n\nextension\n \nPerson\n:\n \nNodeRepresentable\n \n{\n\n \nfunc\n \nmakeNode\n(\nin\n \ncontext\n:\n \nContext\n)\n \nthrows\n \n-\n \nNode\n \n{\n\n \nvar\n \nnode\n \n=\n \nNode\n(\ncontext\n)\n\n \ntry\n \nnode\n.\nset\n(\nname\n,\n \nname\n)\n\n \ntry\n \nnode\n.\nset\n(\nage\n,\n \nage\n)\n\n \nreturn\n \nnode\n\n \n}\n\n\n}\n\n\n\n\n\n\nNow that we've done this, we can easily convert our \nperson\n or a collection of \nPerson\n objects into a \nNode\n.\n\n\nlet\n \nnode\n \n=\n \ntry\n \nperson\n.\nmakeNode\n(\nin\n:\n \nnil\n)\n\n\n\n\n\n\nAnd also for collections, like arrays\n\n\nlet\n \nnode\n \n=\n \ntry\n \n[\nkim\n,\n \njoe\n,\n \njan\n].\nmakeNode\n(\nin\n:\n \nnil\n)\n\n\n\n\n\n\nContext\n\n\nUp to this point, we've seen \nContext\n a lot, but what's it for. When we're serializing or mapping an object, we might have a lot of different situations we're mapping differently for. Maybe one is for the database, one is for the view, one is for JSON, etc.\n\n\nIf you're using Vapor, we provide a lot of contexts and more native integration options, but here's how one might define their own.\n\n\nimport\n \nNode\n\n\n\nfinal\n \nclass\n \nMyContext\n:\n \nContext\n \n{\n\n\n}\n\n\n\nlet\n \nmyContext\n \n=\n \nMyContext\n()\n\n\n\nextension\n \nContext\n \n{\n\n \nvar\n \nisMyContext\n:\n \nBool\n \n{\n\n \nreturn\n \nself\n \nis\n \nMyContext\n\n \n}\n\n\n}\n\n\n\n\n\n\nNow inside our object, we could add special behavior.\n\n\nextension\n \nPerson\n:\n \nNodeRepresentable\n \n{\n\n \nfunc\n \nmakeNode\n(\nin\n \ncontext\n:\n \nContext\n)\n \nthrows\n \n-\n \nNode\n \n{\n\n \nvar\n \nnode\n \n=\n \nNode\n(\ncontext\n)\n\n \ntry\n \nnode\n.\nset\n(\nname\n,\n \nname\n)\n\n \ntry\n \nnode\n.\nset\n(\nage\n,\n \nage\n)\n\n \nif\n \ncontext\n.\nisMyContext\n \n{\n\n \ntry\n \nnode\n.\nset\n(\nspecial-attribute\n,\n \nspecial\n)\n\n \n}\n\n \nreturn\n \nnode\n\n \n}\n\n\n}\n\n\n\n\n\n\nWe might call it like this:\n\n\nlet\n \nspecialNode\n \n=\n \nperson\n.\nmakeNode\n(\nin\n:\n \nmyContext\n)\n\n\n\n\n\n\nThis is a common usage, but can be adapted for any scenario where we require special metadata to help us properly serialize or map our object.\n\n\nNodeConvertible\n\n\nNodeConvertible is simply the combination of Representable and Initializable. These objects can be converted easily to and from node. Taking our Person object from earlier, we should be able to do this:\n\n\n// ..\n\n\nlet\n \nnode\n \n=\n \nperson\n.\nmakeNode\n(\nin\n:\n \nmyContext\n)\n\n\nlet\n \nback\n \n=\n \ntry\n \nPerson\n(\nnode\n:\n \nnode\n)\n\n\nprint\n(\n\\(\nperson\n)\n went to node and back to \n\\(\nback\n)\n)", + "title": "Getting Started" + }, + { + "location": "/node/getting-started/#getting-started", + "text": "", + "title": "Getting Started" + }, + { + "location": "/node/getting-started/#why-do-we-have-node", + "text": "The web is very stringy, Swift is very type-safe, this is a major problem when doing web development in Swift. Node is our attempt at providing a solution to this problem.", + "title": "Why do we have Node?" + }, + { + "location": "/node/getting-started/#what-is-node", + "text": "Node is a data abstraction with an emphasis on being an intermediary between distinct types. For example, json from a client might use node to convert between the JSON and itself.", + "title": "What is Node?" + }, + { + "location": "/node/getting-started/#how-do-i-use-it", + "text": "Node can be a little different to work with at first if you're familiar with less type-safe languages, let's look at a couple of examples and how we might start using Node in our projects. Most often, we'll be working with Node conversions.", + "title": "How do I use it?" + }, + { + "location": "/node/getting-started/#nodeinitializable", + "text": "NodeInitializable can be read and understood as An object that can be initialized with a Node . Let's look at a simple implementation. struct Person : NodeInitializable { \n let name : String \n let age : Int \n\n init ( node : Node ) throws { \n name = try node . get ( name ) \n age = try node . get ( age ) \n } } Now that we have this, we can easily convert abstract data to a Person. Here's how that might look: let person = try Person ( node : json ) Note: There are some more advanced functionality options for JSON and database Row types in particular, we'll cover that later. By conforming our Person object to NodeInitializable , we can also use more advanced cases such as arrays: let people = try [Person](node: jsonArray)", + "title": "NodeInitializable" + }, + { + "location": "/node/getting-started/#noderepresentable", + "text": "NodeRepresentable can be read and understood as An object that can be represented as a Node . Let's take a look at a simple implementation. We'll stick with the Person example above extension Person : NodeRepresentable { \n func makeNode ( in context : Context ) throws - Node { \n var node = Node ( context ) \n try node . set ( name , name ) \n try node . set ( age , age ) \n return node \n } } Now that we've done this, we can easily convert our person or a collection of Person objects into a Node . let node = try person . makeNode ( in : nil ) And also for collections, like arrays let node = try [ kim , joe , jan ]. makeNode ( in : nil )", + "title": "NodeRepresentable" + }, + { + "location": "/node/getting-started/#context", + "text": "Up to this point, we've seen Context a lot, but what's it for. When we're serializing or mapping an object, we might have a lot of different situations we're mapping differently for. Maybe one is for the database, one is for the view, one is for JSON, etc. If you're using Vapor, we provide a lot of contexts and more native integration options, but here's how one might define their own. import Node final class MyContext : Context { } let myContext = MyContext () extension Context { \n var isMyContext : Bool { \n return self is MyContext \n } } Now inside our object, we could add special behavior. extension Person : NodeRepresentable { \n func makeNode ( in context : Context ) throws - Node { \n var node = Node ( context ) \n try node . set ( name , name ) \n try node . set ( age , age ) \n if context . isMyContext { \n try node . set ( special-attribute , special ) \n } \n return node \n } } We might call it like this: let specialNode = person . makeNode ( in : myContext ) This is a common usage, but can be adapted for any scenario where we require special metadata to help us properly serialize or map our object.", + "title": "Context" + }, + { + "location": "/node/getting-started/#nodeconvertible", + "text": "NodeConvertible is simply the combination of Representable and Initializable. These objects can be converted easily to and from node. Taking our Person object from earlier, we should be able to do this: // .. let node = person . makeNode ( in : myContext ) let back = try Person ( node : node ) print ( \\( person ) went to node and back to \\( back ) )", + "title": "NodeConvertible" + }, { "location": "/core/package/", "text": "Using Core\n\n\nWith Vapor\n\n\nThis package is included with Vapor by default, just add:\n\n\nimport\n \nCore\n\n\n\n\n\n\nWithout Vapor\n\n\nCore provides a lot of conveniences for any server-side Swift project. To include it in your package, add the following to your \nPackage.swift\n file.\n\n\nimport\n \nPackageDescription\n\n\n\nlet\n \npackage\n \n=\n \nPackage\n(\n\n \nname\n:\n \nProject\n,\n\n \ndependencies\n:\n \n[\n\n \n...\n\n \n.\nPackage\n(\nurl\n:\n \nhttps://github.com/vapor/core.git\n,\n \nmajorVersion\n:\n \n2\n)\n\n \n],\n\n \nexclude\n:\n \n[\n \n...\n \n]\n\n\n)\n\n\n\n\n\n\nUse \nimport Core\n to access Core's APIs.", diff --git a/build/2.0/mysql/driver/index.html b/build/2.0/mysql/driver/index.html index 213259dd..57ce48d4 100644 --- a/build/2.0/mysql/driver/index.html +++ b/build/2.0/mysql/driver/index.html @@ -1243,6 +1243,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/mysql/package/index.html b/build/2.0/mysql/package/index.html index b546ee34..01bc337a 100644 --- a/build/2.0/mysql/package/index.html +++ b/build/2.0/mysql/package/index.html @@ -1243,6 +1243,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/mysql/provider/index.html b/build/2.0/mysql/provider/index.html index ffcf354d..0f35d030 100644 --- a/build/2.0/mysql/provider/index.html +++ b/build/2.0/mysql/provider/index.html @@ -1291,6 +1291,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/node/getting-started/index.html b/build/2.0/node/getting-started/index.html new file mode 100644 index 00000000..fc28c5b2 --- /dev/null +++ b/build/2.0/node/getting-started/index.html @@ -0,0 +1,1806 @@ + + + + + + + + + + + + + + + + + + Getting Started - Vapor Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + +
    +
    + + +
    +
    +
    + +
    +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + + edit + + + +

    Getting Started

    +

    Why do we have Node?

    +

    The web is very stringy, Swift is very type-safe, this is a major problem when doing web development in Swift. Node is our attempt at providing a solution to this problem.

    +

    What is Node?

    +

    Node is a data abstraction with an emphasis on being an intermediary between distinct types. For example, json from a client might use node to convert between the JSON and itself.

    +

    How do I use it?

    +

    Node can be a little different to work with at first if you're familiar with less type-safe languages, let's look at a couple of examples and how we might start using Node in our projects. Most often, we'll be working with Node conversions.

    +

    NodeInitializable

    +

    NodeInitializable can be read and understood as An object that can be initialized with a Node. Let's look at a simple implementation.

    +
    struct Person: NodeInitializable {
    +    let name: String
    +    let age: Int
    +
    +    init(node: Node) throws {
    +        name = try node.get("name")
    +        age = try node.get("age")
    +    }
    +}
    +
    + + +

    Now that we have this, we can easily convert abstract data to a Person. Here's how that might look:

    +
    let person = try Person(node: json)
    +
    + + +
    +

    Note: There are some more advanced functionality options for JSON and database Row types in particular, we'll cover that later.

    +
    +

    By conforming our Person object to NodeInitializable, we can also use more advanced cases such as arrays:

    +
    let people = try [Person](node: jsonArray)
    +
    + + +

    NodeRepresentable

    +

    NodeRepresentable can be read and understood as An object that can be represented as a Node. Let's take a look at a simple implementation. We'll stick with the Person example above

    +
    extension Person: NodeRepresentable {
    +    func makeNode(in context: Context) throws -> Node {
    +        var node = Node(context)
    +        try node.set("name", name)
    +        try node.set("age", age)
    +        return node
    +    }
    +}
    +
    + + +

    Now that we've done this, we can easily convert our person or a collection of Person objects into a Node.

    +
    let node = try person.makeNode(in: nil)
    +
    + + +

    And also for collections, like arrays

    +
    let node = try [kim, joe, jan].makeNode(in: nil)
    +
    + + +

    Context

    +

    Up to this point, we've seen Context a lot, but what's it for. When we're serializing or mapping an object, we might have a lot of different situations we're mapping differently for. Maybe one is for the database, one is for the view, one is for JSON, etc.

    +

    If you're using Vapor, we provide a lot of contexts and more native integration options, but here's how one might define their own.

    +
    import Node
    +
    +final class MyContext: Context {
    +}
    +
    +let myContext = MyContext()
    +
    +extension Context {
    +    var isMyContext: Bool {
    +        return self is MyContext
    +    }
    +}
    +
    + + +

    Now inside our object, we could add special behavior.

    +
    extension Person: NodeRepresentable {
    +    func makeNode(in context: Context) throws -> Node {
    +        var node = Node(context)
    +        try node.set("name", name)
    +        try node.set("age", age)
    +        if context.isMyContext {
    +            try node.set("special-attribute", special)
    +        }
    +        return node
    +    }
    +}
    +
    + + +

    We might call it like this:

    +
    let specialNode = person.makeNode(in: myContext)
    +
    + + +

    This is a common usage, but can be adapted for any scenario where we require special metadata to help us properly serialize or map our object.

    +

    NodeConvertible

    +

    NodeConvertible is simply the combination of Representable and Initializable. These objects can be converted easily to and from node. Taking our Person object from earlier, we should be able to do this:

    +
    // ..
    +let node = person.makeNode(in: myContext)
    +let back = try Person(node: node)
    +print("\(person) went to node and back to \(back)")
    +
    + + +
    +
    +
    +
    + + + + +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/build/2.0/node/package/index.html b/build/2.0/node/package/index.html index 479bb89d..3b25a271 100644 --- a/build/2.0/node/package/index.html +++ b/build/2.0/node/package/index.html @@ -1236,6 +1236,18 @@ + + + + + +
  • + + Getting Started + +
  • + + @@ -1581,13 +1593,13 @@ -
  • + Getting Started + +
  • + + diff --git a/build/2.0/redis/provider/index.html b/build/2.0/redis/provider/index.html index 0c0bb919..602e5c3c 100644 --- a/build/2.0/redis/provider/index.html +++ b/build/2.0/redis/provider/index.html @@ -1270,6 +1270,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/routing/collection/index.html b/build/2.0/routing/collection/index.html index 1a983820..045e8600 100644 --- a/build/2.0/routing/collection/index.html +++ b/build/2.0/routing/collection/index.html @@ -1236,6 +1236,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/routing/group/index.html b/build/2.0/routing/group/index.html index 51d5f481..9c2d509d 100644 --- a/build/2.0/routing/group/index.html +++ b/build/2.0/routing/group/index.html @@ -1257,6 +1257,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/routing/overview/index.html b/build/2.0/routing/overview/index.html index 2b732484..4ee312a0 100644 --- a/build/2.0/routing/overview/index.html +++ b/build/2.0/routing/overview/index.html @@ -1291,6 +1291,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/routing/package/index.html b/build/2.0/routing/package/index.html index e7e5d6bc..a754ad92 100644 --- a/build/2.0/routing/package/index.html +++ b/build/2.0/routing/package/index.html @@ -1202,6 +1202,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/routing/parameters/index.html b/build/2.0/routing/parameters/index.html index 9ca8b1a8..0751b856 100644 --- a/build/2.0/routing/parameters/index.html +++ b/build/2.0/routing/parameters/index.html @@ -1256,6 +1256,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/sessions/sessions/index.html b/build/2.0/sessions/sessions/index.html index bc9dc834..1ecb7ba9 100644 --- a/build/2.0/sessions/sessions/index.html +++ b/build/2.0/sessions/sessions/index.html @@ -1270,6 +1270,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/settings/config/index.html b/build/2.0/settings/config/index.html index 00b2ea5e..daa59a6a 100644 --- a/build/2.0/settings/config/index.html +++ b/build/2.0/settings/config/index.html @@ -1323,6 +1323,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/sitemap.xml b/build/2.0/sitemap.xml index ce633641..7f567686 100644 --- a/build/2.0/sitemap.xml +++ b/build/2.0/sitemap.xml @@ -4,7 +4,7 @@ / - 2017-05-18 + 2017-05-19 daily @@ -13,37 +13,37 @@ /getting-started/install-on-macos/ - 2017-05-18 + 2017-05-19 daily /getting-started/install-on-ubuntu/ - 2017-05-18 + 2017-05-19 daily /getting-started/toolbox/ - 2017-05-18 + 2017-05-19 daily /getting-started/hello-world/ - 2017-05-18 + 2017-05-19 daily /getting-started/manual/ - 2017-05-18 + 2017-05-19 daily /getting-started/xcode/ - 2017-05-18 + 2017-05-19 daily @@ -53,49 +53,49 @@ /vapor/folder-structure/ - 2017-05-18 + 2017-05-19 daily /vapor/droplet/ - 2017-05-18 + 2017-05-19 daily /vapor/views/ - 2017-05-18 + 2017-05-19 daily /vapor/controllers/ - 2017-05-18 + 2017-05-19 daily /vapor/provider/ - 2017-05-18 + 2017-05-19 daily /vapor/hash/ - 2017-05-18 + 2017-05-19 daily /vapor/log/ - 2017-05-18 + 2017-05-19 daily /vapor/commands/ - 2017-05-18 + 2017-05-19 daily @@ -105,7 +105,7 @@ /settings/config/ - 2017-05-18 + 2017-05-19 daily @@ -115,13 +115,13 @@ /json/package/ - 2017-05-18 + 2017-05-19 daily /json/overview/ - 2017-05-18 + 2017-05-19 daily @@ -131,31 +131,31 @@ /routing/package/ - 2017-05-18 + 2017-05-19 daily /routing/overview/ - 2017-05-18 + 2017-05-19 daily /routing/parameters/ - 2017-05-18 + 2017-05-19 daily /routing/group/ - 2017-05-18 + 2017-05-19 daily /routing/collection/ - 2017-05-18 + 2017-05-19 daily @@ -165,37 +165,37 @@ /fluent/package/ - 2017-05-18 + 2017-05-19 daily /fluent/getting-started/ - 2017-05-18 + 2017-05-19 daily /fluent/model/ - 2017-05-18 + 2017-05-19 daily /fluent/database/ - 2017-05-18 + 2017-05-19 daily /fluent/query/ - 2017-05-18 + 2017-05-19 daily /fluent/relations/ - 2017-05-18 + 2017-05-19 daily @@ -205,13 +205,13 @@ /cache/package/ - 2017-05-18 + 2017-05-19 daily /cache/overview/ - 2017-05-18 + 2017-05-19 daily @@ -221,19 +221,19 @@ /mysql/package/ - 2017-05-18 + 2017-05-19 daily /mysql/provider/ - 2017-05-18 + 2017-05-19 daily /mysql/driver/ - 2017-05-18 + 2017-05-19 daily @@ -243,13 +243,13 @@ /redis/package/ - 2017-05-18 + 2017-05-19 daily /redis/provider/ - 2017-05-18 + 2017-05-19 daily @@ -259,37 +259,37 @@ /auth/package/ - 2017-05-18 + 2017-05-19 daily /auth/provider/ - 2017-05-18 + 2017-05-19 daily /auth/getting-started/ - 2017-05-18 + 2017-05-19 daily /auth/helper/ - 2017-05-18 + 2017-05-19 daily /auth/password/ - 2017-05-18 + 2017-05-19 daily /auth/persist/ - 2017-05-18 + 2017-05-19 daily @@ -299,7 +299,7 @@ /sessions/sessions/ - 2017-05-18 + 2017-05-19 daily @@ -309,55 +309,55 @@ /http/request/ - 2017-05-18 + 2017-05-19 daily /http/response/ - 2017-05-18 + 2017-05-19 daily /http/middleware/ - 2017-05-18 + 2017-05-19 daily /http/body/ - 2017-05-18 + 2017-05-19 daily /http/response-representable/ - 2017-05-18 + 2017-05-19 daily /http/responder/ - 2017-05-18 + 2017-05-19 daily /http/client/ - 2017-05-18 + 2017-05-19 daily /http/server/ - 2017-05-18 + 2017-05-19 daily /http/cors/ - 2017-05-18 + 2017-05-19 daily @@ -367,19 +367,19 @@ /leaf/package/ - 2017-05-18 + 2017-05-19 daily /leaf/provider/ - 2017-05-18 + 2017-05-19 daily /leaf/leaf/ - 2017-05-18 + 2017-05-19 daily @@ -388,7 +388,7 @@ /validation/overview/ - 2017-05-18 + 2017-05-19 daily @@ -397,7 +397,13 @@ /node/package/ - 2017-05-18 + 2017-05-19 + daily + + + + /node/getting-started/ + 2017-05-19 daily @@ -407,13 +413,13 @@ /core/package/ - 2017-05-18 + 2017-05-19 daily /core/overview/ - 2017-05-18 + 2017-05-19 daily @@ -423,13 +429,13 @@ /bits/package/ - 2017-05-18 + 2017-05-19 daily /bits/overview/ - 2017-05-18 + 2017-05-19 daily @@ -439,13 +445,13 @@ /debugging/package/ - 2017-05-18 + 2017-05-19 daily /debugging/overview/ - 2017-05-18 + 2017-05-19 daily @@ -455,7 +461,7 @@ /advanced/modules/ - 2017-05-18 + 2017-05-19 daily @@ -465,19 +471,19 @@ /version/1_5/ - 2017-05-18 + 2017-05-19 daily /version/2_0/ - 2017-05-18 + 2017-05-19 daily /version/support/ - 2017-05-18 + 2017-05-19 daily diff --git a/build/2.0/validation/overview/index.html b/build/2.0/validation/overview/index.html index b798183b..1c348436 100644 --- a/build/2.0/validation/overview/index.html +++ b/build/2.0/validation/overview/index.html @@ -1258,6 +1258,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/vapor/commands/index.html b/build/2.0/vapor/commands/index.html index 316058e8..0c04ae76 100644 --- a/build/2.0/vapor/commands/index.html +++ b/build/2.0/vapor/commands/index.html @@ -1229,6 +1229,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/vapor/controllers/index.html b/build/2.0/vapor/controllers/index.html index 5cda7243..924691ed 100644 --- a/build/2.0/vapor/controllers/index.html +++ b/build/2.0/vapor/controllers/index.html @@ -1263,6 +1263,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/vapor/droplet/index.html b/build/2.0/vapor/droplet/index.html index 633b22f9..9fe48bfe 100644 --- a/build/2.0/vapor/droplet/index.html +++ b/build/2.0/vapor/droplet/index.html @@ -1297,6 +1297,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/vapor/folder-structure/index.html b/build/2.0/vapor/folder-structure/index.html index 70917ec0..36f2f506 100644 --- a/build/2.0/vapor/folder-structure/index.html +++ b/build/2.0/vapor/folder-structure/index.html @@ -1257,6 +1257,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/vapor/hash/index.html b/build/2.0/vapor/hash/index.html index c47d7518..2a6549c8 100644 --- a/build/2.0/vapor/hash/index.html +++ b/build/2.0/vapor/hash/index.html @@ -1363,6 +1363,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/vapor/log/index.html b/build/2.0/vapor/log/index.html index 07947b7e..ccf6b0a7 100644 --- a/build/2.0/vapor/log/index.html +++ b/build/2.0/vapor/log/index.html @@ -1202,6 +1202,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/vapor/provider/index.html b/build/2.0/vapor/provider/index.html index 2108d404..c41d72bd 100644 --- a/build/2.0/vapor/provider/index.html +++ b/build/2.0/vapor/provider/index.html @@ -1290,6 +1290,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/vapor/views/index.html b/build/2.0/vapor/views/index.html index 02d7601d..26e25c8c 100644 --- a/build/2.0/vapor/views/index.html +++ b/build/2.0/vapor/views/index.html @@ -1264,6 +1264,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/version/1_5/index.html b/build/2.0/version/1_5/index.html index 6f306c2d..4b829b32 100644 --- a/build/2.0/version/1_5/index.html +++ b/build/2.0/version/1_5/index.html @@ -1193,6 +1193,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/version/2_0/index.html b/build/2.0/version/2_0/index.html index 0f0d1a33..5078ed07 100644 --- a/build/2.0/version/2_0/index.html +++ b/build/2.0/version/2_0/index.html @@ -1193,6 +1193,18 @@ + + + + + +
  • + + Getting Started + +
  • + + diff --git a/build/2.0/version/support/index.html b/build/2.0/version/support/index.html index badf952d..92a3d8eb 100644 --- a/build/2.0/version/support/index.html +++ b/build/2.0/version/support/index.html @@ -1193,6 +1193,18 @@ + + + + + +
  • + + Getting Started + +
  • + +