From 44b90e14dd2ba39ed1d9c7b48cedceadd1f6addd Mon Sep 17 00:00:00 2001 From: binodnp Date: Wed, 30 Dec 2015 22:14:37 +0545 Subject: [PATCH] Added website theming documentation. --- Index.md | 3 - README.md | 11 +- docs/assets/script.js | 1 - docs/assets/scripts/mixdoc.js | 7 +- docs/assets/styles/mixdoc.css | 29 ++-- docs/credits/README.md | 17 --- docs/developer/db.md | 8 +- docs/developer/overrides.md | 6 +- .../images/theming/basic-layout.png | Bin 0 -> 69000 bytes .../website-builder/layout-sections.md | 0 docs/developer/website-builder/menus.md | 0 .../website-builder/multiple-layouts.md | 0 docs/developer/website-builder/theme.md | 126 ++++++++++++++++++ docs/installation/README.md | 110 --------------- documentation.html | 10 +- 15 files changed, 163 insertions(+), 165 deletions(-) delete mode 100644 Index.md delete mode 100644 docs/credits/README.md create mode 100644 docs/developer/website-builder/images/theming/basic-layout.png create mode 100644 docs/developer/website-builder/layout-sections.md create mode 100644 docs/developer/website-builder/menus.md create mode 100644 docs/developer/website-builder/multiple-layouts.md delete mode 100644 docs/installation/README.md 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 0000000000000000000000000000000000000000..5b84a37d289764a0c01b66fed1a36c99d6e6758f GIT binary patch literal 69000 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�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 LXc zlIquwQ>5CYf&p!oVm4{yWrW5T)z%TP=gNec5^F4yPteXY9`O%@iH{hS*FuFk=@WD0 zJ#rHsCvh5g)6iewq-xHYo87;Rq$w6Z)Hn^g^{SeSeEA zU~Cq5)^-RHEb-GKdFg3sO$UBslf}%e;t6Y;6()%vx9;Dtw1)!B$W*$&yg9yMfsQ1e zucS)Cw!qVPsTR-7Z%em~Emm5C{>u;Y-u`va7K8GTE$NB8)WqR zU&C;_1_U(xzh<(ZgU$Q0U%zbyl4%1_&UxA^q1iO)t1!%%Pmv)MIr~VYgWZy8Gz*8; z3sj4MAbDF(n|6<%b>{%!4h^MyUK^nuf>SV6(`0%fei@AGwgV8AAg3fl(drqf-)H;G zs{U<#K|^xlzdwMeTpZg~aq!Po)3QCvCJSMep{mK$KEB$;Y4`3)YQm8mpQ3->12vdL zn@j~xhxGLQne2`;Jo&Gdzq*t!-z}Alyy5T@h*a+#_f>wimGS@I8+cuxST%GnGY=;X z{_YLLEFgai;Ia0;6>zJiXBwqr4{(nbkj*LklLaTPKl~r2VB$ak literal 0 HcmV?d00001 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 +
+
-
+