diff --git a/Index.md b/Index.md deleted file mode 100644 index b8c990b9..00000000 --- a/Index.md +++ /dev/null @@ -1,3 +0,0 @@ -# Documentation - -[Click Here](README.md) \ No newline at end of file diff --git a/README.md b/README.md index 5792429f..b26f2d67 100644 --- a/README.md +++ b/README.md @@ -26,18 +26,15 @@ Frapid was built from the ground up for the cloud. Not only frapid supports web frapid can also host several (hundred) website and application instances running as a single IIS Website. -**See Also** +**Documentation** -* [Database Naming Convention](docs/concepts/database-naming-convention.md) -* [Installation Guide](docs/installation/README.md) * [Developer Documentation](docs/developer/README.md) +* [Installation Guide](docs/installation/README.md) +* [Database Naming Convention](docs/concepts/database-naming-convention.md) +* [Credits](docs/credits/README.md) # Who Is Using Frapid? * [Our Own Site (CMS)](http://docs.frapid.com) * [MixERP (Backend Apps)](https://github.com/mixerp/mixerp/) * [Salesific CRM (CMS & Backend Apps)](https://github.com/binodnp/salesific-crm) - -# Read Further - -* [Credits](docs/credits/README.md) \ No newline at end of file diff --git a/docs/assets/script.js b/docs/assets/script.js index c53a5261..8f56f1d3 100644 --- a/docs/assets/script.js +++ b/docs/assets/script.js @@ -30684,6 +30684,5 @@ function processSocialSharing() { $(document).ready(function () { - $("img:not(.logo)").addClass("ui bordered centered rounded image"); processSocialSharing(); }); \ No newline at end of file diff --git a/docs/assets/scripts/mixdoc.js b/docs/assets/scripts/mixdoc.js index ae2a67f0..e5c02ba5 100644 --- a/docs/assets/scripts/mixdoc.js +++ b/docs/assets/scripts/mixdoc.js @@ -20,8 +20,7 @@ function processImages(html) { images.each(function () { var el = $(this); var src = path + el.attr("src"); - $(this).attr("src", src); - $(this).addClass("ui bordered rounded image"); + $(this).attr("src", src); }); @@ -114,7 +113,7 @@ function loadDocument() var url = window.location.hash.replace("#", ""); if(!url) { - url = "index.md"; + url = "README.md"; window.location.hash = url; } processDocument(url); @@ -173,7 +172,7 @@ function processDocument(url) processAnchors(); processSocialSharing(); processVideos(); - $("table").addClass("ui celled striped table"); + $("table").addClass("ui celled small compact striped collapsing table"); }; xhr.send(); }; \ No newline at end of file diff --git a/docs/assets/styles/mixdoc.css b/docs/assets/styles/mixdoc.css index 3ef4d6dd..a5f0bc2f 100644 --- a/docs/assets/styles/mixdoc.css +++ b/docs/assets/styles/mixdoc.css @@ -1,20 +1,16 @@ html, body, h1, h2, h3, h4, h5, div, p, li, code { - font-family : "Segoe UI", Arial; -} - -p, li, td, a, pre, code -{ - font-weight:300; + font-family: "Helvetica Neue",Helvetica,"Segoe UI",Arial,freesans,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; + color:#333333; } html, body{ - font-size:16px; + font-size:12px; line-height:24px; } h1, h2, h3, h4, h5, strong, b, th { - font-weight:500!important; + color:#333333; } #story @@ -46,7 +42,7 @@ footer, footer a, footer a:hover, footer li pre { - background-color: #EFEFEF; + background-color: rgba(0, 0, 0, 0.04); padding:16px; margin:8px 0; border:1px solid #DDD; @@ -54,11 +50,15 @@ pre pre { - font-family: Consolas, monospace; + font-family: Consolas,"Liberation Mono",Menlo,Courier,monospace; } code { - background-color: #EFEFEF; + padding: 0.2em 0px; + margin:0px; + background-color: rgba(0, 0, 0, 0.04); + border-radius:3px; + word-wrap:break-word; } .sticky.contain-to-grid @@ -81,12 +81,13 @@ aside a, aside a:hover a { - color:blue; + color:#5D78C0; } -a:hover +a:not(.header):hover { - color:red; + text-decoration:underline; + color:#073D8A; } diff --git a/docs/credits/README.md b/docs/credits/README.md deleted file mode 100644 index 13451883..00000000 --- a/docs/credits/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Credits - -We use the following notable projects, libraries, plugins, and/or frameworks. - -* [PostgreSQL Server](http://postgresql.org/) -* [ASP.net](http://asp.net) -* [Angular.js](https://angularjs.org/) -* [Npgsql](http://www.npgsql.org/) -* [schotime/NPoco](https://github.com/schotime/NPoco) -* [jQuery](http://jquery.com/) -* [Semantic UI](http://semantic-ui.com/) -* [Ace Editor](https://ace.c9.io/) -* [dvsekhvalnov/jose-jwt](https://github.com/dvsekhvalnov/jose-jwt) - -*To be completed* - -[Return Back](../../README.md) diff --git a/docs/developer/db.md b/docs/developer/db.md index c40561c6..af2af7a0 100644 --- a/docs/developer/db.md +++ b/docs/developer/db.md @@ -22,17 +22,17 @@ Meta database contains global objects which are common to all instances. The met ## Sql Bundler -It is advised to use [MixERP Sql Bundler Utility](mixerp-sql-bunlder.md). +It is advised to use [MixERP Sql Bundler Utility](http://github.com/mixerp/sqlbundler). **Conventions** * do not create a single SQL script and keep everything on it. It is difficult to manage that way. -* create your own directory structure [similar to frapid](#) and store individual sql files there. +* create your own directory structure [similar to frapid](https://github.com/frapid/frapid/tree/master/src/Frapid.Web/db/meta/1.x/1.0/src) and store individual sql files there. * use SqlBundler.exe to bundle everything together to generate a single SQL file which contains. **How Sql Bundler Works?** -Create a `.sqlbundle` file (`yaml` format) on your [db directory](). +Create a `.sqlbundle` file (`yaml` format) on your [db directory](https://github.com/frapid/frapid/tree/master/src/Frapid.Web/db/meta/1.x/1.0). ```yaml - script-directory : db/1.x/1.0/src @@ -52,3 +52,5 @@ path-to\SqlBundler.exe root-path sqlbundle-directory include_sample **Example** [https://github.com/frapid/frapid/blob/master/src/Frapid.Web/db/meta/1.x/1.0/rebundle.bat](https://github.com/frapid/frapid/blob/master/src/Frapid.Web/db/meta/1.x/1.0/rebundle.bat) + +[Back to Developer Documentation](README.md) diff --git a/docs/developer/overrides.md b/docs/developer/overrides.md index 3aeb011a..5b20e779 100644 --- a/docs/developer/overrides.md +++ b/docs/developer/overrides.md @@ -1,4 +1,4 @@ -### Overrides +# Overrides Frapid searches for overridden views on the instance directory and loads them if found. @@ -14,4 +14,6 @@ for foo.com and `~/Catalogs/bar_com/Areas/Frapid.Account/Views/SignUp/Index.cshtml` -for bar.com. \ No newline at end of file +for bar.com. + +[Back to Developer Documentation](README.md) diff --git a/docs/developer/website-builder/images/theming/basic-layout.png b/docs/developer/website-builder/images/theming/basic-layout.png new file mode 100644 index 00000000..5b84a37d Binary files /dev/null and b/docs/developer/website-builder/images/theming/basic-layout.png differ diff --git a/docs/developer/website-builder/layout-sections.md b/docs/developer/website-builder/layout-sections.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/developer/website-builder/menus.md b/docs/developer/website-builder/menus.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/developer/website-builder/multiple-layouts.md b/docs/developer/website-builder/multiple-layouts.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/developer/website-builder/theme.md b/docs/developer/website-builder/theme.md index e69de29b..fbccaf38 100644 --- a/docs/developer/website-builder/theme.md +++ b/docs/developer/website-builder/theme.md @@ -0,0 +1,126 @@ +# Creating a Website Theme + +Frapid supports multiple themes per tenant. For foo.com domain, the themes directory is: + +`~/Catalogs/foo_com/Areas/Frapid.WebsiteBuilder/Themes/` + +Once a theme is uploaded to the themes directory, frapid will automatically discover it. + +## Theme Components: + +| Component | File | Description | +| --- | --- | --- | +| Theme Configuration File | Theme.config | Contains theme information and configuration. | +| Homepage Layout File | Layout-Home.cshtml | Homepage layout file. | +| Default Layout File | Layout.cshtml | Layout for site pages. | +| Theme Header | Header.cshtml | Site header | +| Theme Footer | Footer.cshtml | Site footer | +| 404 Document | 404.cshtml | 404 document | +| Theme Preview Image | Preview.png | Screenshot of the theme. | + +These file names are mandatory: + +* Theme.config +* Preview.png +* 404.cshtml + +## Theme.config Example + +```xml + + + + + + + + + + + + + + + + + +``` + +## Quickstart Guide + +Let's build a very basic theme using [Semantic UI](http://semantic-ui.com/). + +### Basic Layout + +* Create a directory named `example` on `~/Catalogs//Areas/Frapid.WebsiteBuilder/Themes`. +* Create an empty file called "Layout.cshtml" and Theme.config. +* Paste the following contents. + +**Layout.cshtml contents** +```html + + + + + + + Basic Frapid Theme + + + + +
+ @RenderBody() +
+ + @Html.AntiForgeryToken() + + + + +``` + +**Theme.config contents** + +```xml + + + + + + + + + + + + + + + + + +``` +### Edit Configuration File + +Edit the configuration file `~/Catalogs//Areas/Frapid.WebsiteBuilder/WebsiteBuilder.config` +and set `DefaultTheme` to `example`. + +### Preview the site + +![Basic Layout](images/theming/basic-layout.png) + +Congratulations, you have successfully built a theme for frapid. + +### Advanced Tutorials +* [Multiple Layouts](multiple-layouts.md) +* [Layout Sections](layout-sections.md) +* [Displaying Menus from Database](menus.md) diff --git a/docs/installation/README.md b/docs/installation/README.md deleted file mode 100644 index 1f5b8493..00000000 --- a/docs/installation/README.md +++ /dev/null @@ -1,110 +0,0 @@ -# Installing Frapid - -Before you begin reading this document, throw your pillows off and get these tools installed on your PC first: - -* [Visual Studio 2015 Community](http://visualstudio.com) -* [PostgreSQL Server 9.3 or above](http://postgresql.org) -* [Git for Windows](http://git-scm.com) -* [TortoiseGit (if you want a nice Git GUI)](https://tortoisegit.org/download/) - -Once you have all of the above, you're good to go. - -## Learn to Use Git - -**Please do not download github repository as a ZIP file**. -Use git to clone frapid. - -**Using Git (Optional)** - -Run Git Bash console application. - -```git -mkdir frapid -cd frapid -git clone https://github.com/frapid/frapid - -``` - -**OR** - -**Tortoise Git (Optional)** - -* Using Windows Explorer, navigate to the directory where you want to keep frapid source codes on. -* Right mouse click and then click **Git Clone**. -* On the URL field, type `https://github.com/frapid/frapid`. -* Click OK. - -![TortoiseGit](images/tortoisegit.png) - -Once you finish this step, you have a local frapid git repository on your hard drive. - - -## Convention and Configuration over Convention or Configuration - -Configuration enables you to customize application behaviors whereas convention -forces you to follow and keep track of things. Frapid uses best of both worlds. - -### Master Configuration - -The root directory of frapid web application is: - -`~/src/Frapid.Web` - -The master configuration files are available on the `~/Resources/Configs` directory. - -|File Name | Description | -|-----------------------------------------|--------------------------| -| [DbServer.config](../configs/DbServer.config.md) | Contains configuration realted your PostgreSQL server. | -| [DomainsApproved.json](../configs/DomainsApproved.json.md) | Contains list of approved DNS domain names which will be served by Frapid. | -| [DomainsInstalled.json](../configs/DomainsInstalled.json.md) | Contains list of installed DNS domain names. This file should not be edited manually. | -| [JwtConfig.json](../configs/JwtConfig.json.md) | Contains configuration related to Json Web Tokens. | -| [Parameters.config](../configs/Parameters.config.md) | Contains standard application configuration data.| - - -**You must be fairly familiar with the master configuration files before you proceed to the next steps.** - - -### Instance Configuration (Convention) - -Configuration in frapid is instance-aware. It is, therefore, safe to assume that configuration of **foo.com** -does not affect **bar.com**. - -[By convention](../concepts/database-naming-convention.md), the configuration files for **foo.com** would be located on: - -`~/Catalogs/foo_com/Configs` - -#### Instance Directories - -|File Name | Description | -|-----------------------------------------|--------------------------| -| Areas | Contains module specific configuration and [overrides](../developer/overrides.md) for `foo_com` instance. | -| Attachments | Attachments (uploads) of `foo_com` instance. | -| Backups | Backups of `foo_com` instance | -| Configs | Configuration files related to `foo_com` instance. More on this topic is discussed below. | -| Documents | Documents related to `foo_com` instance. | - -### Instance-Specific Application Configuration Files - -|File Name | Description | -|-----------------------------------------|--------------------------| -| [Applications.config](../configs/Applications.config.md) | Contains configuration of frapid applications related to `foo_com` instance. | -| [SMTP\SendGrid.json](../configs/SendGrid.json.md) | Contains configuration of [SendGrid Transactional Email Service](http://sendgrid.com) related to `foo_com` instance. -| [SMTP\Mailgun.json](../configs/Mailgun.json.md) | Contains configuration of [Mailgun Transactional Email Service](http://mailgun.com) related to `foo_com` instance. - - -### Website Themes - -By convention, website themes would be found on: - -`~/Catalogs/foo_com/Areas/Frapid.WebsiteBuilder/Themes/` - -Read more on the chapter [Creating Website Themes](../developer/website-builder/theme.md). - -## Create IIS Application - -Now that you have gone through this document completely, -you now have a proper understanding of what's going under the hoods. - -Please follow the [IIS Installation Guide](iis.md) to install frapid on your development machine. - -[Return Back](../../README.md) diff --git a/documentation.html b/documentation.html index e563b477..dffc8ded 100644 --- a/documentation.html +++ b/documentation.html @@ -12,13 +12,15 @@ -
-
- Frapid Docs +
+
-
+