diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..87bc104 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +app-main/node_modules +app-main/bower_components diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..a3ae226 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,415 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1485073359718 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No facets are configured + + + + + + + + + + + + + + + 1.8 + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..8c7e5b9 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +### To start the app +go to https://nodejs.org/en/blog/release/v0.8.23/ to download it +```bash +# To run the app +cd crumbs/app-main +sudo npm install -g bower +npm install +# Wait for a while to install +npm start +``` +### Folders to look for implementation of features to be used +>app-main/scripts +> +>app-main/views diff --git a/app-main/.buildignore b/app-main/.buildignore new file mode 100644 index 0000000..fc98b8e --- /dev/null +++ b/app-main/.buildignore @@ -0,0 +1 @@ +*.coffee \ No newline at end of file diff --git a/app-main/.htaccess b/app-main/.htaccess new file mode 100644 index 0000000..cb84cb9 --- /dev/null +++ b/app-main/.htaccess @@ -0,0 +1,543 @@ +# Apache Configuration File + +# (!) Using `.htaccess` files slows down Apache, therefore, if you have access +# to the main server config file (usually called `httpd.conf`), you should add +# this logic there: http://httpd.apache.org/docs/current/howto/htaccess.html. + +# ############################################################################## +# # CROSS-ORIGIN RESOURCE SHARING (CORS) # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Cross-domain AJAX requests | +# ------------------------------------------------------------------------------ + +# Enable cross-origin AJAX requests. +# http://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity +# http://enable-cors.org/ + +# +# Header set Access-Control-Allow-Origin "*" +# + +# ------------------------------------------------------------------------------ +# | CORS-enabled images | +# ------------------------------------------------------------------------------ + +# Send the CORS header for images when browsers request it. +# https://developer.mozilla.org/en/CORS_Enabled_Image +# http://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html +# http://hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/ + + + + + SetEnvIf Origin ":" IS_CORS + Header set Access-Control-Allow-Origin "*" env=IS_CORS + + + + +# ------------------------------------------------------------------------------ +# | Web fonts access | +# ------------------------------------------------------------------------------ + +# Allow access from all domains for web fonts + + + + Header set Access-Control-Allow-Origin "*" + + + + +# ############################################################################## +# # ERRORS # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | 404 error prevention for non-existing redirected folders | +# ------------------------------------------------------------------------------ + +# Prevent Apache from returning a 404 error for a rewrite if a directory +# with the same name does not exist. +# http://httpd.apache.org/docs/current/content-negotiation.html#multiviews +# http://www.webmasterworld.com/apache/3808792.htm + +Options -MultiViews + +# ------------------------------------------------------------------------------ +# | Custom error messages / pages | +# ------------------------------------------------------------------------------ + +# You can customize what Apache returns to the client in case of an error (see +# http://httpd.apache.org/docs/current/mod/core.html#errordocument), e.g.: + +ErrorDocument 404 /404.html + + +# ############################################################################## +# # INTERNET EXPLORER # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Better website experience | +# ------------------------------------------------------------------------------ + +# Force IE to render pages in the highest available mode in the various +# cases when it may not: http://hsivonen.iki.fi/doctype/ie-mode.pdf. + + + Header set X-UA-Compatible "IE=edge" + # `mod_headers` can't match based on the content-type, however, we only + # want to send this header for HTML pages and not for the other resources + + Header unset X-UA-Compatible + + + +# ------------------------------------------------------------------------------ +# | Cookie setting from iframes | +# ------------------------------------------------------------------------------ + +# Allow cookies to be set from iframes in IE. + +# +# Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"" +# + +# ------------------------------------------------------------------------------ +# | Screen flicker | +# ------------------------------------------------------------------------------ + +# Stop screen flicker in IE on CSS rollovers (this only works in +# combination with the `ExpiresByType` directives for images from below). + +# BrowserMatch "MSIE" brokenvary=1 +# BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1 +# BrowserMatch "Opera" !brokenvary +# SetEnvIf brokenvary 1 force-no-vary + + +# ############################################################################## +# # MIME TYPES AND ENCODING # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Proper MIME types for all files | +# ------------------------------------------------------------------------------ + + + + # Audio + AddType audio/mp4 m4a f4a f4b + AddType audio/ogg oga ogg + + # JavaScript + # Normalize to standard type (it's sniffed in IE anyways): + # http://tools.ietf.org/html/rfc4329#section-7.2 + AddType application/javascript js jsonp + AddType application/json json + + # Video + AddType video/mp4 mp4 m4v f4v f4p + AddType video/ogg ogv + AddType video/webm webm + AddType video/x-flv flv + + # Web fonts + AddType application/font-woff woff + AddType application/vnd.ms-fontobject eot + + # Browsers usually ignore the font MIME types and sniff the content, + # however, Chrome shows a warning if other MIME types are used for the + # following fonts. + AddType application/x-font-ttf ttc ttf + AddType font/opentype otf + + # Make SVGZ fonts work on iPad: + # https://twitter.com/FontSquirrel/status/14855840545 + AddType image/svg+xml svg svgz + AddEncoding gzip svgz + + # Other + AddType application/octet-stream safariextz + AddType application/x-chrome-extension crx + AddType application/x-opera-extension oex + AddType application/x-shockwave-flash swf + AddType application/x-web-app-manifest+json webapp + AddType application/x-xpinstall xpi + AddType application/xml atom rdf rss xml + AddType image/webp webp + AddType image/x-icon ico + AddType text/cache-manifest appcache manifest + AddType text/vtt vtt + AddType text/x-component htc + AddType text/x-vcard vcf + + + +# ------------------------------------------------------------------------------ +# | UTF-8 encoding | +# ------------------------------------------------------------------------------ + +# Use UTF-8 encoding for anything served as `text/html` or `text/plain`. +AddDefaultCharset utf-8 + +# Force UTF-8 for certain file formats. + + AddCharset utf-8 .atom .css .js .json .rss .vtt .webapp .xml + + + +# ############################################################################## +# # URL REWRITES # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Rewrite engine | +# ------------------------------------------------------------------------------ + +# Turning on the rewrite engine and enabling the `FollowSymLinks` option is +# necessary for the following directives to work. + +# If your web host doesn't allow the `FollowSymlinks` option, you may need to +# comment it out and use `Options +SymLinksIfOwnerMatch` but, be aware of the +# performance impact: http://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks + +# Also, some cloud hosting services require `RewriteBase` to be set: +# http://www.rackspace.com/knowledge_center/frequently-asked-question/why-is-mod-rewrite-not-working-on-my-site + + + Options +FollowSymlinks + # Options +SymLinksIfOwnerMatch + RewriteEngine On + # RewriteBase / + + +# ------------------------------------------------------------------------------ +# | Suppressing / Forcing the "www." at the beginning of URLs | +# ------------------------------------------------------------------------------ + +# The same content should never be available under two different URLs especially +# not with and without "www." at the beginning. This can cause SEO problems +# (duplicate content), therefore, you should choose one of the alternatives and +# redirect the other one. + +# By default option 1 (no "www.") is activated: +# http://no-www.org/faq.php?q=class_b + +# If you'd prefer to use option 2, just comment out all the lines from option 1 +# and uncomment the ones from option 2. + +# IMPORTANT: NEVER USE BOTH RULES AT THE SAME TIME! + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Option 1: rewrite www.example.com → example.com + + + RewriteCond %{HTTPS} !=on + RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] + RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L] + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Option 2: rewrite example.com → www.example.com + +# Be aware that the following might not be a good idea if you use "real" +# subdomains for certain parts of your website. + +# +# RewriteCond %{HTTPS} !=on +# RewriteCond %{HTTP_HOST} !^www\..+$ [NC] +# RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] +# + + +# ############################################################################## +# # SECURITY # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Content Security Policy (CSP) | +# ------------------------------------------------------------------------------ + +# You can mitigate the risk of cross-site scripting and other content-injection +# attacks by setting a Content Security Policy which whitelists trusted sources +# of content for your site. + +# The example header below allows ONLY scripts that are loaded from the current +# site's origin (no inline scripts, no CDN, etc). This almost certainly won't +# work as-is for your site! + +# To get all the details you'll need to craft a reasonable policy for your site, +# read: http://html5rocks.com/en/tutorials/security/content-security-policy (or +# see the specification: http://w3.org/TR/CSP). + +# +# Header set Content-Security-Policy "script-src 'self'; object-src 'self'" +# +# Header unset Content-Security-Policy +# +# + +# ------------------------------------------------------------------------------ +# | File access | +# ------------------------------------------------------------------------------ + +# Block access to directories without a default document. +# Usually you should leave this uncommented because you shouldn't allow anyone +# to surf through every directory on your server (which may includes rather +# private places like the CMS's directories). + + + Options -Indexes + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Block access to hidden files and directories. +# This includes directories used by version control systems such as Git and SVN. + + + RewriteCond %{SCRIPT_FILENAME} -d [OR] + RewriteCond %{SCRIPT_FILENAME} -f + RewriteRule "(^|/)\." - [F] + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Block access to backup and source files. +# These files may be left by some text editors and can pose a great security +# danger when anyone has access to them. + + + Order allow,deny + Deny from all + Satisfy All + + +# ------------------------------------------------------------------------------ +# | Secure Sockets Layer (SSL) | +# ------------------------------------------------------------------------------ + +# Rewrite secure requests properly to prevent SSL certificate warnings, e.g.: +# prevent `https://www.example.com` when your certificate only allows +# `https://secure.example.com`. + +# +# RewriteCond %{SERVER_PORT} !^443 +# RewriteRule ^ https://example-domain-please-change-me.com%{REQUEST_URI} [R=301,L] +# + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Force client-side SSL redirection. + +# If a user types "example.com" in his browser, the above rule will redirect him +# to the secure version of the site. That still leaves a window of opportunity +# (the initial HTTP connection) for an attacker to downgrade or redirect the +# request. The following header ensures that browser will ONLY connect to your +# server via HTTPS, regardless of what the users type in the address bar. +# http://www.html5rocks.com/en/tutorials/security/transport-layer-security/ + +# +# Header set Strict-Transport-Security max-age=16070400; +# + +# ------------------------------------------------------------------------------ +# | Server software information | +# ------------------------------------------------------------------------------ + +# Avoid displaying the exact Apache version number, the description of the +# generic OS-type and the information about Apache's compiled-in modules. + +# ADD THIS DIRECTIVE IN THE `httpd.conf` AS IT WILL NOT WORK IN THE `.htaccess`! + +# ServerTokens Prod + + +# ############################################################################## +# # WEB PERFORMANCE # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Compression | +# ------------------------------------------------------------------------------ + + + + # Force compression for mangled headers. + # http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping + + + SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding + RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding + + + + # Compress all output labeled with one of the following MIME-types + # (for Apache versions below 2.3.7, you don't need to enable `mod_filter` + # and can remove the `` and `` lines + # as `AddOutputFilterByType` is still in the core directives). + + AddOutputFilterByType DEFLATE application/atom+xml \ + application/javascript \ + application/json \ + application/rss+xml \ + application/vnd.ms-fontobject \ + application/x-font-ttf \ + application/x-web-app-manifest+json \ + application/xhtml+xml \ + application/xml \ + font/opentype \ + image/svg+xml \ + image/x-icon \ + text/css \ + text/html \ + text/plain \ + text/x-component \ + text/xml + + + + +# ------------------------------------------------------------------------------ +# | Content transformations | +# ------------------------------------------------------------------------------ + +# Prevent some of the mobile network providers from modifying the content of +# your site: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.5. + +# +# Header set Cache-Control "no-transform" +# + +# ------------------------------------------------------------------------------ +# | ETag removal | +# ------------------------------------------------------------------------------ + +# Since we're sending far-future expires headers (see below), ETags can +# be removed: http://developer.yahoo.com/performance/rules.html#etags. + +# `FileETag None` is not enough for every server. + + Header unset ETag + + +FileETag None + +# ------------------------------------------------------------------------------ +# | Expires headers (for better cache control) | +# ------------------------------------------------------------------------------ + +# The following expires headers are set pretty far in the future. If you don't +# control versioning with filename-based cache busting, consider lowering the +# cache time for resources like CSS and JS to something like 1 week. + + + + ExpiresActive on + ExpiresDefault "access plus 1 month" + + # CSS + ExpiresByType text/css "access plus 1 year" + + # Data interchange + ExpiresByType application/json "access plus 0 seconds" + ExpiresByType application/xml "access plus 0 seconds" + ExpiresByType text/xml "access plus 0 seconds" + + # Favicon (cannot be renamed!) + ExpiresByType image/x-icon "access plus 1 week" + + # HTML components (HTCs) + ExpiresByType text/x-component "access plus 1 month" + + # HTML + ExpiresByType text/html "access plus 0 seconds" + + # JavaScript + ExpiresByType application/javascript "access plus 1 year" + + # Manifest files + ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" + ExpiresByType text/cache-manifest "access plus 0 seconds" + + # Media + ExpiresByType audio/ogg "access plus 1 month" + ExpiresByType image/gif "access plus 1 month" + ExpiresByType image/jpeg "access plus 1 month" + ExpiresByType image/png "access plus 1 month" + ExpiresByType video/mp4 "access plus 1 month" + ExpiresByType video/ogg "access plus 1 month" + ExpiresByType video/webm "access plus 1 month" + + # Web feeds + ExpiresByType application/atom+xml "access plus 1 hour" + ExpiresByType application/rss+xml "access plus 1 hour" + + # Web fonts + ExpiresByType application/font-woff "access plus 1 month" + ExpiresByType application/vnd.ms-fontobject "access plus 1 month" + ExpiresByType application/x-font-ttf "access plus 1 month" + ExpiresByType font/opentype "access plus 1 month" + ExpiresByType image/svg+xml "access plus 1 month" + + + +# ------------------------------------------------------------------------------ +# | Filename-based cache busting | +# ------------------------------------------------------------------------------ + +# If you're not using a build process to manage your filename version revving, +# you might want to consider enabling the following directives to route all +# requests such as `/css/style.12345.css` to `/css/style.css`. + +# To understand why this is important and a better idea than `*.css?v231`, read: +# http://stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring + +# +# RewriteCond %{REQUEST_FILENAME} !-f +# RewriteCond %{REQUEST_FILENAME} !-d +# RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L] +# + +# ------------------------------------------------------------------------------ +# | File concatenation | +# ------------------------------------------------------------------------------ + +# Allow concatenation from within specific CSS and JS files, e.g.: +# Inside of `script.combined.js` you could have +# +# +# and they would be included into this single file. + +# +# +# Options +Includes +# AddOutputFilterByType INCLUDES application/javascript application/json +# SetOutputFilter INCLUDES +# +# +# Options +Includes +# AddOutputFilterByType INCLUDES text/css +# SetOutputFilter INCLUDES +# +# + +# ------------------------------------------------------------------------------ +# | Persistent connections | +# ------------------------------------------------------------------------------ + +# Allow multiple requests to be sent over the same TCP connection: +# http://httpd.apache.org/docs/current/en/mod/core.html#keepalive. + +# Enable if you serve a lot of static content but, be aware of the +# possible disadvantages! + +# +# Header set Connection Keep-Alive +# diff --git a/app-main/404.html b/app-main/404.html new file mode 100644 index 0000000..ec98e3c --- /dev/null +++ b/app-main/404.html @@ -0,0 +1,157 @@ + + + + + Page Not Found :( + + + +
+

Not found :(

+

Sorry, but the page you were trying to view does not exist.

+

It looks like this was the result of either:

+ + + +
+ + diff --git a/app-main/LICENSE.md b/app-main/LICENSE.md new file mode 100644 index 0000000..b823bcc --- /dev/null +++ b/app-main/LICENSE.md @@ -0,0 +1,39 @@ +CC0 1.0 Universal +================== + +Statement of Purpose +--------------------- + +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. +-------------------------------- +A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: + +i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +v. rights protecting the extraction, dissemination, use and reuse of data in a Work; +vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. + +2. Waiver. +----------- +To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. +---------------------------- +Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. + +4. Limitations and Disclaimers. +-------------------------------- + +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. diff --git a/app-main/README.md b/app-main/README.md new file mode 100644 index 0000000..78a36f9 --- /dev/null +++ b/app-main/README.md @@ -0,0 +1,40 @@ +# electron-quick-start + +**Clone and run for a quick way to see Electron in action.** + +This is a minimal Electron application based on the [Quick Start Guide](http://electron.atom.io/docs/tutorial/quick-start) within the Electron documentation. + +**Use this app along with the [Electron API Demos](http://electron.atom.io/#get-started) app for API code examples to help you get started.** + +A basic Electron application needs just these files: + +- `package.json` - Points to the app's main file and lists its details and dependencies. +- `main.js` - Starts the app and creates a browser window to render HTML. This is the app's **main process**. +- `index.html` - A web page to render. This is the app's **renderer process**. + +You can learn more about each of these components within the [Quick Start Guide](http://electron.atom.io/docs/tutorial/quick-start). + +## To Use + +To clone and run this repository you'll need [Git](https://git-scm.com) and [Node.js](https://nodejs.org/en/download/) (which comes with [npm](http://npmjs.com)) installed on your computer. From your command line: + +```bash +# Clone this repository +git clone https://github.com/electron/electron-quick-start +# Go into the repository +cd electron-quick-start +# Install dependencies +npm install +# Run the app +npm start +``` + +Learn more about Electron and its API in the [documentation](http://electron.atom.io/docs/). + +## Other Example Apps + +For more example apps, see the +[list of boilerplates](http://electron.atom.io/community/#boilerplates) +created by the awesome electron community. + +#### License [CC0 1.0 (Public Domain)](LICENSE.md) diff --git a/app-main/bower.json b/app-main/bower.json new file mode 100644 index 0000000..068be50 --- /dev/null +++ b/app-main/bower.json @@ -0,0 +1,30 @@ +{ + "name": "crumbs", + "version": "0.0.0", + "dependencies": { + "angular": "1.2.16", + "json3": "~3.3.1", + "es5-shim": "~3.1.0", + "angular-resource": "1.2.16", + "angular-cookies": "1.2.16", + "angular-sanitize": "1.2.16", + "angular-animate": "1.2.16", + "angular-touch": "1.2.16", + "angular-route": "1.2.16", + "font-awesome": "4.3.0", + "angular-bootstrap": "0.12.0", + "oclazyload": "~0.5.2", + "angular-loading-bar": "~0.7.0", + "angular-ui-router": "~0.2.13", + "angular-toggle-switch": "~1.2.1", + "metisMenu": "~1.1.3", + "angular-chart.js": "~0.5.2" + }, + "devDependencies": { + "angular-mocks": "1.2.16", + "angular-scenario": "1.2.16" + }, + "resolutions":{ + "bootstrap": "~3.1.1" + } +} diff --git a/app-main/favicon.ico b/app-main/favicon.ico new file mode 100644 index 0000000..6527905 Binary files /dev/null and b/app-main/favicon.ico differ diff --git a/app-main/index.html b/app-main/index.html new file mode 100644 index 0000000..94d099f --- /dev/null +++ b/app-main/index.html @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + \ No newline at end of file diff --git a/app-main/js/sb-admin-2.js b/app-main/js/sb-admin-2.js new file mode 100644 index 0000000..5be2c88 --- /dev/null +++ b/app-main/js/sb-admin-2.js @@ -0,0 +1,36 @@ +$(function() { + + $('#side-menu').metisMenu(); + +}); + +//Loads the correct sidebar on window load, +//collapses the sidebar on window resize. +// Sets the min-height of #page-wrapper to window size +$(function() { + $(window).bind("load resize", function() { + topOffset = 50; + width = (this.window.innerWidth > 0) ? this.window.innerWidth : this.screen.width; + if (width < 768) { + $('div.navbar-collapse').addClass('collapse'); + topOffset = 100; // 2-row-menu + } else { + $('div.navbar-collapse').removeClass('collapse'); + } + + height = ((this.window.innerHeight > 0) ? this.window.innerHeight : this.screen.height) - 1; + height = height - topOffset; + if (height < 1) height = 1; + if (height > topOffset) { + $("#page-wrapper").css("min-height", (height) + "px"); + } + }); + + var url = window.location; + var element = $('ul.nav a').filter(function() { + return this.href == url || url.href.indexOf(this.href) == 0; + }).addClass('active').parent().parent().addClass('in').parent(); + if (element.is('li')) { + element.addClass('active'); + } +}); diff --git a/app-main/main.js b/app-main/main.js new file mode 100644 index 0000000..b505d27 --- /dev/null +++ b/app-main/main.js @@ -0,0 +1,60 @@ +const electron = require('electron') +// Module to control application life. +const app = electron.app +// Module to create native browser window. +const BrowserWindow = electron.BrowserWindow + +const path = require('path') +const url = require('url') + +// Keep a global reference of the window object, if you don't, the window will +// be closed automatically when the JavaScript object is garbage collected. +let mainWindow + +function createWindow () { + // Create the browser window. + mainWindow = new BrowserWindow({width: 1200, height: 800}) + mainWindow.maximize() + // and load the index.html of the app. + mainWindow.loadURL(url.format({ + pathname: path.join(__dirname, 'index.html'), + protocol: 'file:', + slashes: true + })) + + // Open the DevTools. + mainWindow.webContents.openDevTools() + + // Emitted when the window is closed. + mainWindow.on('closed', function () { + // Dereference the window object, usually you would store windows + // in an array if your app supports multi windows, this is the time + // when you should delete the corresponding element. + mainWindow = null + }) +} + +// This method will be called when Electron has finished +// initialization and is ready to create browser windows. +// Some APIs can only be used after this event occurs. +app.on('ready', createWindow) + +// Quit when all windows are closed. +app.on('window-all-closed', function () { + // On OS X it is common for applications and their menu bar + // to stay active until the user quits explicitly with Cmd + Q + if (process.platform !== 'darwin') { + app.quit() + } +}) + +app.on('activate', function () { + // On OS X it's common to re-create a window in the app when the + // dock icon is clicked and there are no other windows open. + if (mainWindow === null) { + createWindow() + } +}) + +// In this file you can include the rest of your app's specific main process +// code. You can also put them in separate files and require them here. diff --git a/app-main/package.json b/app-main/package.json new file mode 100644 index 0000000..94ef965 --- /dev/null +++ b/app-main/package.json @@ -0,0 +1,28 @@ +{ + "name": "crumbs", + "version": "0.0.0", + "description": "A minimal Electron application", + "main": "main.js", + "scripts": { + "start": "electron .", + "postinstall": "bower install" + }, + "repository": "https://github.com/electron/electron-quick-start", + "keywords": [ + "Electron", + "quick", + "start", + "tutorial", + "demo" + ], + "author": "GitHub", + "license": "CC0-1.0", + "devDependencies": { + "electron": "^1.4.1", + "jasmine-core": "^2.1.3", + "jshint-stylish": "^0.2.0", + "karma": "^0.12.31", + "karma-jasmine": "^0.3.5", + "karma-phantomjs-launcher": "^0.1.4" + } +} diff --git a/app-main/renderer.js b/app-main/renderer.js new file mode 100644 index 0000000..901d75e --- /dev/null +++ b/app-main/renderer.js @@ -0,0 +1,3 @@ +// This file is required by the index.html file and will +// be executed in the renderer process for that window. +// All of the Node.js APIs are available in this process. diff --git a/app-main/robots.txt b/app-main/robots.txt new file mode 100644 index 0000000..9417495 --- /dev/null +++ b/app-main/robots.txt @@ -0,0 +1,3 @@ +# robotstxt.org + +User-agent: * diff --git a/app-main/scripts/app.js b/app-main/scripts/app.js new file mode 100644 index 0000000..7c1b8b0 --- /dev/null +++ b/app-main/scripts/app.js @@ -0,0 +1,158 @@ +'use strict'; +/** + * @ngdoc overview + * @name sbAdminApp + * @description + * # sbAdminApp + * + * Main module of the application. + */ +angular + .module('sbAdminApp', [ + 'oc.lazyLoad', + 'ui.router', + 'ui.bootstrap', + 'angular-loading-bar', + ]) + .config(['$stateProvider','$urlRouterProvider','$ocLazyLoadProvider',function ($stateProvider,$urlRouterProvider,$ocLazyLoadProvider) { + + $ocLazyLoadProvider.config({ + debug:false, + events:true, + }); + + $urlRouterProvider.otherwise('/dashboard/home'); + + $stateProvider + .state('dashboard', { + url:'/dashboard', + templateUrl: 'views/dashboard/main.html', + resolve: { + loadMyDirectives:function($ocLazyLoad){ + return $ocLazyLoad.load( + { + name:'sbAdminApp', + files:[ + 'scripts/directives/header/header.js', + 'scripts/directives/header/header-notification/header-notification.js', + 'scripts/directives/sidebar/sidebar.js', + 'scripts/directives/sidebar/sidebar-search/sidebar-search.js' + ] + }), + $ocLazyLoad.load( + { + name:'toggle-switch', + files:["bower_components/angular-toggle-switch/angular-toggle-switch.min.js", + "bower_components/angular-toggle-switch/angular-toggle-switch.css" + ] + }), + $ocLazyLoad.load( + { + name:'ngAnimate', + files:['bower_components/angular-animate/angular-animate.js'] + }) + $ocLazyLoad.load( + { + name:'ngCookies', + files:['bower_components/angular-cookies/angular-cookies.js'] + }) + $ocLazyLoad.load( + { + name:'ngResource', + files:['bower_components/angular-resource/angular-resource.js'] + }) + $ocLazyLoad.load( + { + name:'ngSanitize', + files:['bower_components/angular-sanitize/angular-sanitize.js'] + }) + $ocLazyLoad.load( + { + name:'ngTouch', + files:['bower_components/angular-touch/angular-touch.js'] + }) + } + } + }) + .state('dashboard.home',{ + url:'/home', + controller: 'MainCtrl', + templateUrl:'views/dashboard/home.html', + resolve: { + loadMyFiles:function($ocLazyLoad) { + return $ocLazyLoad.load({ + name:'sbAdminApp', + files:[ + 'scripts/controllers/main.js', + 'scripts/directives/timeline/timeline.js', + 'scripts/directives/notifications/notifications.js', + 'scripts/directives/chat/chat.js', + 'scripts/directives/dashboard/stats/stats.js' + ] + }) + } + } + }) + .state('dashboard.form',{ + templateUrl:'views/form.html', + url:'/form' + }) + .state('dashboard.blank',{ + templateUrl:'views/pages/blank.html', + url:'/blank' + }) + .state('login',{ + templateUrl:'views/pages/login.html', + url:'/login' + }) + .state('dashboard.chart',{ + templateUrl:'views/chart.html', + url:'/chart', + controller:'ChartCtrl', + resolve: { + loadMyFile:function($ocLazyLoad) { + return $ocLazyLoad.load({ + name:'chart.js', + files:[ + 'bower_components/angular-chart.js/dist/angular-chart.min.js', + 'bower_components/angular-chart.js/dist/angular-chart.css' + ] + }), + $ocLazyLoad.load({ + name:'sbAdminApp', + files:['scripts/controllers/chartContoller.js'] + }) + } + } + }) + .state('dashboard.table',{ + templateUrl:'views/table.html', + url:'/table' + }) + .state('dashboard.panels-wells',{ + templateUrl:'views/ui-elements/panels-wells.html', + url:'/panels-wells' + }) + .state('dashboard.buttons',{ + templateUrl:'views/ui-elements/buttons.html', + url:'/buttons' + }) + .state('dashboard.notifications',{ + templateUrl:'views/ui-elements/notifications.html', + url:'/notifications' + }) + .state('dashboard.typography',{ + templateUrl:'views/ui-elements/typography.html', + url:'/typography' + }) + .state('dashboard.icons',{ + templateUrl:'views/ui-elements/icons.html', + url:'/icons' + }) + .state('dashboard.grid',{ + templateUrl:'views/ui-elements/grid.html', + url:'/grid' + }) + }]); + + diff --git a/app-main/scripts/controllers/chartContoller.js b/app-main/scripts/controllers/chartContoller.js new file mode 100644 index 0000000..556a6d6 --- /dev/null +++ b/app-main/scripts/controllers/chartContoller.js @@ -0,0 +1,69 @@ +'use strict'; +/** + * @ngdoc function + * @name sbAdminApp.controller:MainCtrl + * @description + * # MainCtrl + * Controller of the sbAdminApp + */ +angular.module('sbAdminApp') + .controller('ChartCtrl', ['$scope', '$timeout', function ($scope, $timeout) { + $scope.line = { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + series: ['Series A', 'Series B'], + data: [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ], + onClick: function (points, evt) { + console.log(points, evt); + } + }; + + $scope.bar = { + labels: ['2006', '2007', '2008', '2009', '2010', '2011', '2012'], + series: ['Series A', 'Series B'], + + data: [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ] + + }; + + $scope.donut = { + labels: ["Download Sales", "In-Store Sales", "Mail-Order Sales"], + data: [300, 500, 100] + }; + + $scope.radar = { + labels:["Eating", "Drinking", "Sleeping", "Designing", "Coding", "Cycling", "Running"], + + data:[ + [65, 59, 90, 81, 56, 55, 40], + [28, 48, 40, 19, 96, 27, 100] + ] + }; + + $scope.pie = { + labels : ["Download Sales", "In-Store Sales", "Mail-Order Sales"], + data : [300, 500, 100] + }; + + $scope.polar = { + labels : ["Download Sales", "In-Store Sales", "Mail-Order Sales", "Tele Sales", "Corporate Sales"], + data : [300, 500, 100, 40, 120] + }; + + $scope.dynamic = { + labels : ["Download Sales", "In-Store Sales", "Mail-Order Sales", "Tele Sales", "Corporate Sales"], + data : [300, 500, 100, 40, 120], + type : 'PolarArea', + + toggle : function () + { + this.type = this.type === 'PolarArea' ? + 'Pie' : 'PolarArea'; + } + }; +}]); \ No newline at end of file diff --git a/app-main/scripts/controllers/form.js b/app-main/scripts/controllers/form.js new file mode 100644 index 0000000..0ddd3eb --- /dev/null +++ b/app-main/scripts/controllers/form.js @@ -0,0 +1,12 @@ +'use strict'; +/** + * @ngdoc function + * @name sbAdminApp.controller:MainCtrl + * @description + * # MainCtrl + * Controller of the sbAdminApp + */ +angular.module('sbAdminApp') + .controller('FormCtrl', function($scope) { + +}); \ No newline at end of file diff --git a/app-main/scripts/controllers/main.js b/app-main/scripts/controllers/main.js new file mode 100644 index 0000000..472f0da --- /dev/null +++ b/app-main/scripts/controllers/main.js @@ -0,0 +1,11 @@ +'use strict'; +/** + * @ngdoc function + * @name sbAdminApp.controller:MainCtrl + * @description + * # MainCtrl + * Controller of the sbAdminApp + */ +angular.module('sbAdminApp') + .controller('MainCtrl', function($scope,$position) { + }); diff --git a/app-main/scripts/directives/chat/chat.html b/app-main/scripts/directives/chat/chat.html new file mode 100644 index 0000000..148044e --- /dev/null +++ b/app-main/scripts/directives/chat/chat.html @@ -0,0 +1,117 @@ +
+
+ + Chat + +
+ +
+ +
+ + + +
\ No newline at end of file diff --git a/app-main/scripts/directives/chat/chat.js b/app-main/scripts/directives/chat/chat.js new file mode 100644 index 0000000..5055069 --- /dev/null +++ b/app-main/scripts/directives/chat/chat.js @@ -0,0 +1,18 @@ +'use strict'; + +/** + * @ngdoc directive + * @name izzyposWebApp.directive:adminPosHeader + * @description + * # adminPosHeader + */ +angular.module('sbAdminApp') + .directive('chat',function(){ + return { + templateUrl:'scripts/directives/chat/chat.html', + restrict: 'E', + replace: true, + } + }); + + diff --git a/app-main/scripts/directives/dashboard/stats/stats.html b/app-main/scripts/directives/dashboard/stats/stats.html new file mode 100644 index 0000000..cae2e55 --- /dev/null +++ b/app-main/scripts/directives/dashboard/stats/stats.html @@ -0,0 +1,22 @@ +
+
+
+
+
+ +
+
+
{{number}}
+
{{comments}}
+
+
+
+ + + +
+
\ No newline at end of file diff --git a/app-main/scripts/directives/dashboard/stats/stats.js b/app-main/scripts/directives/dashboard/stats/stats.js new file mode 100644 index 0000000..814eb25 --- /dev/null +++ b/app-main/scripts/directives/dashboard/stats/stats.js @@ -0,0 +1,27 @@ +'use strict'; + +/** + * @ngdoc directive + * @name izzyposWebApp.directive:adminPosHeader + * @description + * # adminPosHeader + */ +angular.module('sbAdminApp') + .directive('stats',function() { + return { + templateUrl:'scripts/directives/dashboard/stats/stats.html', + restrict:'E', + replace:true, + scope: { + 'model': '=', + 'comments': '@', + 'number': '@', + 'name': '@', + 'colour': '@', + 'details':'@', + 'type':'@', + 'goto':'@' + } + + } + }); diff --git a/app-main/scripts/directives/header/header-notification/header-notification.html b/app-main/scripts/directives/header/header-notification/header-notification.html new file mode 100644 index 0000000..f73472b --- /dev/null +++ b/app-main/scripts/directives/header/header-notification/header-notification.html @@ -0,0 +1,210 @@ + + diff --git a/app-main/scripts/directives/header/header-notification/header-notification.js b/app-main/scripts/directives/header/header-notification/header-notification.js new file mode 100644 index 0000000..8cd7beb --- /dev/null +++ b/app-main/scripts/directives/header/header-notification/header-notification.js @@ -0,0 +1,18 @@ +'use strict'; + +/** + * @ngdoc directive + * @name izzyposWebApp.directive:adminPosHeader + * @description + * # adminPosHeader + */ +angular.module('sbAdminApp') + .directive('headerNotification',function(){ + return { + templateUrl:'scripts/directives/header/header-notification/header-notification.html', + restrict: 'E', + replace: true, + } + }); + + diff --git a/app-main/scripts/directives/header/header.html b/app-main/scripts/directives/header/header.html new file mode 100644 index 0000000..70bba18 --- /dev/null +++ b/app-main/scripts/directives/header/header.html @@ -0,0 +1,16 @@ + diff --git a/app-main/scripts/directives/header/header.js b/app-main/scripts/directives/header/header.js new file mode 100644 index 0000000..86ecc22 --- /dev/null +++ b/app-main/scripts/directives/header/header.js @@ -0,0 +1,18 @@ +'use strict'; + +/** + * @ngdoc directive + * @name izzyposWebApp.directive:adminPosHeader + * @description + * # adminPosHeader + */ +angular.module('sbAdminApp') + .directive('header',function(){ + return { + templateUrl:'scripts/directives/header/header.html', + restrict: 'E', + replace: true, + } + }); + + diff --git a/app-main/scripts/directives/notifications/notifications.html b/app-main/scripts/directives/notifications/notifications.html new file mode 100644 index 0000000..f7ebd35 --- /dev/null +++ b/app-main/scripts/directives/notifications/notifications.html @@ -0,0 +1,51 @@ +
+
+ + New Comment + 4 minutes ago + + + + 3 New Followers + 12 minutes ago + + + + Message Sent + 27 minutes ago + + + + New Task + 43 minutes ago + + + + Server Rebooted + 11:32 AM + + + + Server Crashed! + 11:13 AM + + + + Server Not Responding + 10:57 AM + + + + New Order Placed + 9:49 AM + + + + Payment Received + Yesterday + + +
+ + View All Alerts +
\ No newline at end of file diff --git a/app-main/scripts/directives/notifications/notifications.js b/app-main/scripts/directives/notifications/notifications.js new file mode 100644 index 0000000..7ffd315 --- /dev/null +++ b/app-main/scripts/directives/notifications/notifications.js @@ -0,0 +1,18 @@ +'use strict'; + +/** + * @ngdoc directive + * @name izzyposWebApp.directive:adminPosHeader + * @description + * # adminPosHeader + */ +angular.module('sbAdminApp') + .directive('notifications',function(){ + return { + templateUrl:'scripts/directives/notifications/notifications.html', + restrict: 'E', + replace: true, + } + }); + + diff --git a/app-main/scripts/directives/sidebar/sidebar-search/sidebar-search.html b/app-main/scripts/directives/sidebar/sidebar-search/sidebar-search.html new file mode 100644 index 0000000..9b82ac0 --- /dev/null +++ b/app-main/scripts/directives/sidebar/sidebar-search/sidebar-search.html @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/app-main/scripts/directives/sidebar/sidebar-search/sidebar-search.js b/app-main/scripts/directives/sidebar/sidebar-search/sidebar-search.js new file mode 100644 index 0000000..f2697d8 --- /dev/null +++ b/app-main/scripts/directives/sidebar/sidebar-search/sidebar-search.js @@ -0,0 +1,22 @@ +'use strict'; + +/** + * @ngdoc directive + * @name izzyposWebApp.directive:adminPosHeader + * @description + * # adminPosHeader + */ + +angular.module('sbAdminApp') + .directive('sidebarSearch',function() { + return { + templateUrl:'scripts/directives/sidebar/sidebar-search/sidebar-search.html', + restrict: 'E', + replace: true, + scope: { + }, + controller:function($scope){ + $scope.selectedMenu = 'home'; + } + } + }); diff --git a/app-main/scripts/directives/sidebar/sidebar.html b/app-main/scripts/directives/sidebar/sidebar.html new file mode 100644 index 0000000..0fef6c1 --- /dev/null +++ b/app-main/scripts/directives/sidebar/sidebar.html @@ -0,0 +1,96 @@ + + + + diff --git a/app-main/scripts/directives/sidebar/sidebar.js b/app-main/scripts/directives/sidebar/sidebar.js new file mode 100644 index 0000000..d8882fd --- /dev/null +++ b/app-main/scripts/directives/sidebar/sidebar.js @@ -0,0 +1,40 @@ +'use strict'; + +/** + * @ngdoc directive + * @name izzyposWebApp.directive:adminPosHeader + * @description + * # adminPosHeader + */ + +angular.module('sbAdminApp') + .directive('sidebar',['$location',function() { + return { + templateUrl:'scripts/directives/sidebar/sidebar.html', + restrict: 'E', + replace: true, + scope: { + }, + controller:function($scope){ + $scope.selectedMenu = 'dashboard'; + $scope.collapseVar = 0; + $scope.multiCollapseVar = 0; + + $scope.check = function(x){ + + if(x==$scope.collapseVar) + $scope.collapseVar = 0; + else + $scope.collapseVar = x; + }; + + $scope.multiCheck = function(y){ + + if(y==$scope.multiCollapseVar) + $scope.multiCollapseVar = 0; + else + $scope.multiCollapseVar = y; + }; + } + } + }]); diff --git a/app-main/scripts/directives/timeline/timeline.html b/app-main/scripts/directives/timeline/timeline.html new file mode 100644 index 0000000..da12e9a --- /dev/null +++ b/app-main/scripts/directives/timeline/timeline.html @@ -0,0 +1,104 @@ +
+ +
\ No newline at end of file diff --git a/app-main/scripts/directives/timeline/timeline.js b/app-main/scripts/directives/timeline/timeline.js new file mode 100644 index 0000000..ae89fc1 --- /dev/null +++ b/app-main/scripts/directives/timeline/timeline.js @@ -0,0 +1,16 @@ +'use strict'; + +/** + * @ngdoc directive + * @name izzyposWebApp.directive:adminPosHeader + * @description + * # adminPosHeader + */ +angular.module('sbAdminApp') + .directive('timeline',function() { + return { + templateUrl:'scripts/directives/timeline/timeline.html', + restrict: 'E', + replace: true, + } + }); diff --git a/app-main/styles/main.css b/app-main/styles/main.css new file mode 100644 index 0000000..cda5c36 --- /dev/null +++ b/app-main/styles/main.css @@ -0,0 +1,83 @@ +/* Space out content a bit */ +body { + padding-bottom: 20px; +} + +/* Everything but the jumbotron gets side spacing for mobile first views */ +.header, +.marketing, +.footer { + padding-left: 15px; + padding-right: 15px; +} + +/* Custom page header */ +.header { + border-bottom: 1px solid #e5e5e5; +} +/* Make the masthead heading the same height as the navigation */ +.header h3 { + margin-top: 0; + margin-bottom: 0; + line-height: 40px; + padding-bottom: 19px; +} + +/* Custom page footer */ +.footer { + padding-top: 19px; + color: #777; + border-top: 1px solid #e5e5e5; +} + +/* Customize container */ +@media (min-width: 768px) { + .container { + max-width: 730px; + } +} +.container-narrow > hr { + margin: 30px 0; +} + +/* Main marketing message and sign up button */ +.jumbotron { + text-align: center; + border-bottom: 1px solid #e5e5e5; +} +.jumbotron .btn { + font-size: 21px; + padding: 14px 24px; +} + +/* Supporting marketing content */ +.marketing { + margin: 40px 0; +} +.marketing p + h4 { + margin-top: 28px; +} + +/* Responsive: Portrait tablets and up */ +@media screen and (min-width: 768px) { + /* Remove the padding we set earlier */ + .header, + .marketing, + .footer { + padding-left: 0; + padding-right: 0; + } + /* Space out the masthead */ + .header { + margin-bottom: 30px; + } + /* Remove the bottom border on the jumbotron for visual effect */ + .jumbotron { + border-bottom: 0; + } +} + +.nav>li.active>a { +text-decoration: none; +background-color: #eee; +} \ No newline at end of file diff --git a/app-main/styles/sb-admin-2.css b/app-main/styles/sb-admin-2.css new file mode 100644 index 0000000..e8be396 --- /dev/null +++ b/app-main/styles/sb-admin-2.css @@ -0,0 +1,354 @@ +/*! + * Start Bootstrap - SB Admin 2 Bootstrap Admin Theme (http://startbootstrap.com) + * Code licensed under the Apache License v2.0. + * For details, see http://www.apache.org/licenses/LICENSE-2.0. + */ + +body { + background-color: #f8f8f8; +} + +#wrapper { + width: 100%; +} + +#page-wrapper { + padding: 0 15px; + min-height: 568px; + background-color: #fff; +} + +@media(min-width:768px) { + #page-wrapper { + position: inherit; + margin: 0 0 0 250px; + padding: 0 30px; + border-left: 1px solid #e7e7e7; + } +} + +.navbar-top-links { + margin-right: 0; +} + +.navbar-top-links li { + display: inline-block; +} + +.navbar-top-links li:last-child { + margin-right: 15px; +} + +.navbar-top-links li a { + padding: 15px; + min-height: 50px; +} + +.navbar-top-links .dropdown-menu li { + display: block; +} + +.navbar-top-links .dropdown-menu li:last-child { + margin-right: 0; +} + +.navbar-top-links .dropdown-menu li a { + padding: 3px 20px; + min-height: 0; +} + +.navbar-top-links .dropdown-menu li a div { + white-space: normal; +} + +.navbar-top-links .dropdown-messages, +.navbar-top-links .dropdown-tasks, +.navbar-top-links .dropdown-alerts { + width: 310px; + min-width: 0; +} + +.navbar-top-links .dropdown-messages { + margin-left: 5px; +} + +.navbar-top-links .dropdown-tasks { + margin-left: -59px; +} + +.navbar-top-links .dropdown-alerts { + margin-left: -123px; +} + +.navbar-top-links .dropdown-user { + right: 0; + left: auto; +} + +.sidebar .sidebar-nav.navbar-collapse { + padding-right: 0; + padding-left: 0; +} + +.sidebar .sidebar-search { + padding: 15px; +} + +.sidebar ul li { + border-bottom: 1px solid #e7e7e7; +} + +.sidebar ul li a.active { + background-color: #eee; +} + +.sidebar .arrow { + float: right; +} + +.sidebar .fa.arrow:before { + content: "\f104"; +} + +.sidebar .active>a>.fa.arrow:before { + content: "\f107"; +} + +.sidebar .nav-second-level li, +.sidebar .nav-third-level li { + border-bottom: 0!important; +} + +.sidebar .nav-second-level li a { + padding-left: 37px; +} + +.sidebar .nav-third-level li a { + padding-left: 52px; +} + +@media(min-width:768px) { + .sidebar { + z-index: 1; + position: absolute; + width: 250px; + margin-top: 51px; + } + + .navbar-top-links .dropdown-messages, + .navbar-top-links .dropdown-tasks, + .navbar-top-links .dropdown-alerts { + margin-left: auto; + } +} + +.btn-outline { + color: inherit; + background-color: transparent; + transition: all .5s; +} + +.btn-primary.btn-outline { + color: #428bca; +} + +.btn-success.btn-outline { + color: #5cb85c; +} + +.btn-info.btn-outline { + color: #5bc0de; +} + +.btn-warning.btn-outline { + color: #f0ad4e; +} + +.btn-danger.btn-outline { + color: #d9534f; +} + +.btn-primary.btn-outline:hover, +.btn-success.btn-outline:hover, +.btn-info.btn-outline:hover, +.btn-warning.btn-outline:hover, +.btn-danger.btn-outline:hover { + color: #fff; +} + +.chat { + margin: 0; + padding: 0; + list-style: none; +} + +.chat li { + margin-bottom: 10px; + padding-bottom: 5px; + border-bottom: 1px dotted #999; +} + +.chat li.left .chat-body { + margin-left: 60px; +} + +.chat li.right .chat-body { + margin-right: 60px; +} + +.chat li .chat-body p { + margin: 0; +} + +.panel .slidedown .glyphicon, +.chat .glyphicon { + margin-right: 5px; +} + +.chat-panel .panel-body { + height: 350px; + overflow-y: scroll; +} + +.login-panel { + margin-top: 25%; +} + +.flot-chart { + display: block; + height: 400px; +} + +.flot-chart-content { + width: 100%; + height: 100%; +} + +.dataTables_wrapper { + position: relative; + clear: both; +} + +table.dataTable thead .sorting, +table.dataTable thead .sorting_asc, +table.dataTable thead .sorting_desc, +table.dataTable thead .sorting_asc_disabled, +table.dataTable thead .sorting_desc_disabled { + background: 0 0; +} + +table.dataTable thead .sorting_asc:after { + content: "\f0de"; + float: right; + font-family: fontawesome; +} + +table.dataTable thead .sorting_desc:after { + content: "\f0dd"; + float: right; + font-family: fontawesome; +} + +table.dataTable thead .sorting:after { + content: "\f0dc"; + float: right; + font-family: fontawesome; + color: rgba(50,50,50,.5); +} + +.btn-circle { + width: 30px; + height: 30px; + padding: 6px 0; + border-radius: 15px; + text-align: center; + font-size: 12px; + line-height: 1.428571429; +} + +.btn-circle.btn-lg { + width: 50px; + height: 50px; + padding: 10px 16px; + border-radius: 25px; + font-size: 18px; + line-height: 1.33; +} + +.btn-circle.btn-xl { + width: 70px; + height: 70px; + padding: 10px 16px; + border-radius: 35px; + font-size: 24px; + line-height: 1.33; +} + +.show-grid [class^=col-] { + padding-top: 10px; + padding-bottom: 10px; + border: 1px solid #ddd; + background-color: #eee!important; +} + +.show-grid { + margin: 15px 0; +} + +.huge { + font-size: 40px; +} + +.panel-green { + border-color: #5cb85c; +} + +.panel-green .panel-heading { + border-color: #5cb85c; + color: #fff; + background-color: #5cb85c; +} + +.panel-green a { + color: #5cb85c; +} + +.panel-green a:hover { + color: #3d8b3d; +} + +.panel-red { + border-color: #d9534f; +} + +.panel-red .panel-heading { + border-color: #d9534f; + color: #fff; + background-color: #d9534f; +} + +.panel-red a { + color: #d9534f; +} + +.panel-red a:hover { + color: #b52b27; +} + +.panel-yellow { + border-color: #f0ad4e; +} + +.panel-yellow .panel-heading { + border-color: #f0ad4e; + color: #fff; + background-color: #f0ad4e; +} + +.panel-yellow a { + color: #f0ad4e; +} + +.panel-yellow a:hover { + color: #df8a13; +} \ No newline at end of file diff --git a/app-main/styles/timeline.css b/app-main/styles/timeline.css new file mode 100644 index 0000000..92161eb --- /dev/null +++ b/app-main/styles/timeline.css @@ -0,0 +1,180 @@ +.timeline { + position: relative; + padding: 20px 0 20px; + list-style: none; +} + +.timeline:before { + content: " "; + position: absolute; + top: 0; + bottom: 0; + left: 50%; + width: 3px; + margin-left: -1.5px; + background-color: #eeeeee; +} + +.timeline > li { + position: relative; + margin-bottom: 20px; +} + +.timeline > li:before, +.timeline > li:after { + content: " "; + display: table; +} + +.timeline > li:after { + clear: both; +} + +.timeline > li:before, +.timeline > li:after { + content: " "; + display: table; +} + +.timeline > li:after { + clear: both; +} + +.timeline > li > .timeline-panel { + float: left; + position: relative; + width: 46%; + padding: 20px; + border: 1px solid #d4d4d4; + border-radius: 2px; + -webkit-box-shadow: 0 1px 6px rgba(0,0,0,0.175); + box-shadow: 0 1px 6px rgba(0,0,0,0.175); +} + +.timeline > li > .timeline-panel:before { + content: " "; + display: inline-block; + position: absolute; + top: 26px; + right: -15px; + border-top: 15px solid transparent; + border-right: 0 solid #ccc; + border-bottom: 15px solid transparent; + border-left: 15px solid #ccc; +} + +.timeline > li > .timeline-panel:after { + content: " "; + display: inline-block; + position: absolute; + top: 27px; + right: -14px; + border-top: 14px solid transparent; + border-right: 0 solid #fff; + border-bottom: 14px solid transparent; + border-left: 14px solid #fff; +} + +.timeline > li > .timeline-badge { + z-index: 100; + position: absolute; + top: 16px; + left: 50%; + width: 50px; + height: 50px; + margin-left: -25px; + border-radius: 50% 50% 50% 50%; + text-align: center; + font-size: 1.4em; + line-height: 50px; + color: #fff; + background-color: #999999; +} + +.timeline > li.timeline-inverted > .timeline-panel { + float: right; +} + +.timeline > li.timeline-inverted > .timeline-panel:before { + right: auto; + left: -15px; + border-right-width: 15px; + border-left-width: 0; +} + +.timeline > li.timeline-inverted > .timeline-panel:after { + right: auto; + left: -14px; + border-right-width: 14px; + border-left-width: 0; +} + +.timeline-badge.primary { + background-color: #2e6da4 !important; +} + +.timeline-badge.success { + background-color: #3f903f !important; +} + +.timeline-badge.warning { + background-color: #f0ad4e !important; +} + +.timeline-badge.danger { + background-color: #d9534f !important; +} + +.timeline-badge.info { + background-color: #5bc0de !important; +} + +.timeline-title { + margin-top: 0; + color: inherit; +} + +.timeline-body > p, +.timeline-body > ul { + margin-bottom: 0; +} + +.timeline-body > p + p { + margin-top: 5px; +} + +@media(max-width:767px) { + ul.timeline:before { + left: 40px; + } + + ul.timeline > li > .timeline-panel { + width: calc(100% - 90px); + width: -moz-calc(100% - 90px); + width: -webkit-calc(100% - 90px); + } + + ul.timeline > li > .timeline-badge { + top: 16px; + left: 15px; + margin-left: 0; + } + + ul.timeline > li > .timeline-panel { + float: right; + } + + ul.timeline > li > .timeline-panel:before { + right: auto; + left: -15px; + border-right-width: 15px; + border-left-width: 0; + } + + ul.timeline > li > .timeline-panel:after { + right: auto; + left: -14px; + border-right-width: 14px; + border-left-width: 0; + } +} \ No newline at end of file diff --git a/app-main/views/chart.html b/app-main/views/chart.html new file mode 100644 index 0000000..3beebcf --- /dev/null +++ b/app-main/views/chart.html @@ -0,0 +1,69 @@ +
+
+

Charts

+
+ +
+
+
+
+
Line Chart
+
+ +
+
+
+
+
+
Bar Chart
+
+ +
+
+
+
+
+
+
+
Doughnut Chart
+
+ +
+
+
+
+
+
Radar Chart
+
+ +
+
+
+
+
+
Pie Chart
+
+ +
+
+
+
+
+
Polar Area Chart
+
+ +
+
+
+
+
+
Dynamic Chart
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/app-main/views/dashboard/home.html b/app-main/views/dashboard/home.html new file mode 100644 index 0000000..aebd885 --- /dev/null +++ b/app-main/views/dashboard/home.html @@ -0,0 +1,49 @@ +
+
+
+

Dashboard

+
+ +
+ +
+ + + + + + +
+ + +
+
+
+
+ Responsive Timeline +
+ + + +
+ +
+ +
+
+
+ Notifications Panel +
+ + + +
+ + + + +
+ +
+ +
diff --git a/app-main/views/dashboard/main.html b/app-main/views/dashboard/main.html new file mode 100644 index 0000000..309cc48 --- /dev/null +++ b/app-main/views/dashboard/main.html @@ -0,0 +1,17 @@ +
+ + + +
+ + + + + +
+ +
+ +
+ +
diff --git a/app-main/views/form.html b/app-main/views/form.html new file mode 100644 index 0000000..c697722 --- /dev/null +++ b/app-main/views/form.html @@ -0,0 +1,199 @@ +
+
+

Forms

+
+ +
+ +
+
+
+
+ Basic Form Elements +
+
+
+
+
+
+ + +

Example block-level help text here.

+
+
+ + +
+
+ +

email@example.com

+
+
+ + +
+
+ + +
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + +
+
+ +
+ +
+
+ +
+
+ +
+
+
+ + + + +
+
+ + +
+
+ + +
+ + +
+
+ +
+

Disabled Form States

+
+
+
+ + +
+
+ + +
+
+ +
+ +
+
+

Form Validation States

+
+
+ + +
+
+ + +
+
+ + +
+
+

Input Groups

+
+
+ @ + +
+
+ + .00 +
+
+ + + +
+
+ $ + + .00 +
+
+ + + + +
+
+
+ +
+ +
+ +
+ +
+ +
\ No newline at end of file diff --git a/app-main/views/pages/blank.html b/app-main/views/pages/blank.html new file mode 100644 index 0000000..b024395 --- /dev/null +++ b/app-main/views/pages/blank.html @@ -0,0 +1,9 @@ +
+
+
+

Blank

+
+ +
+ +
\ No newline at end of file diff --git a/app-main/views/pages/login.html b/app-main/views/pages/login.html new file mode 100644 index 0000000..ebe5784 --- /dev/null +++ b/app-main/views/pages/login.html @@ -0,0 +1,30 @@ +
+
+
+ +
+
+
\ No newline at end of file diff --git a/app-main/views/table.html b/app-main/views/table.html new file mode 100644 index 0000000..6a2bfd9 --- /dev/null +++ b/app-main/views/table.html @@ -0,0 +1,734 @@ +
+
+

Tables

+
+ +
+ +
+
+
+
+ DataTables Advanced Tables +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet Explorer 4.0Win 95+4X
TridentInternet Explorer 5.0Win 95+5C
TridentInternet Explorer 5.5Win 95+5.5A
TridentInternet Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1 +
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
+
+ +
+

DataTables Usage Information

+

DataTables is a very flexible, advanced tables plugin for jQuery. In SB Admin, we are using a specialized version of DataTables built for Bootstrap 3. We have also customized the table headings to use Font Awesome icons in place of images. For complete documentation on DataTables, visit their website at https://datatables.net/.

+ View DataTables Documentation +
+
+ +
+ +
+ +
+ +
+
+
+
+ Kitchen Sink +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
+
+ +
+ +
+ +
+ +
+
+
+ Basic Table +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
+
+ +
+ +
+ +
+ +
+ +
+
+
+
+ Striped Rows +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
+
+ +
+ +
+ +
+ +
+
+
+ Bordered Table +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
+
+ +
+ +
+ +
+ +
+ +
+
+
+
+ Hover Rows +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
+
+ +
+ +
+ +
+ +
+
+
+ Context Classes +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
4JohnSmith@jsmith
+
+ +
+ +
+ +
+ +
\ No newline at end of file diff --git a/app-main/views/ui-elements/buttons.html b/app-main/views/ui-elements/buttons.html new file mode 100644 index 0000000..4f7ccc7 --- /dev/null +++ b/app-main/views/ui-elements/buttons.html @@ -0,0 +1,205 @@ +
+
+

Buttons

+
+ +
+ +
+
+
+
+ Default Buttons +
+ +
+

Normal Buttons

+

+ + + + + + + +

+
+

Disabled Buttons

+

+ + + + + + + +

+
+

Button Sizes

+

+ + + + +
+
+ +

+
+ +
+ +
+
+ Circle Icon Buttons with Font Awesome Icons +
+ +
+

Normal Circle Buttons

+ + + + + + +
+
+

Large Circle Buttons

+ + + + + + +
+
+

Extra Large Circle Buttons

+ + + + + + +
+ +
+ +
+ +
+
+
+ Outline Buttons with Smooth Transition +
+ +
+

Outline Buttons

+

+ + + + + + + +

+
+

Outline Button Sizes

+

+ + + + +
+
+ +

+
+ +
+ + + +
+ +
diff --git a/app-main/views/ui-elements/grid.html b/app-main/views/ui-elements/grid.html new file mode 100644 index 0000000..6f1f47e --- /dev/null +++ b/app-main/views/ui-elements/grid.html @@ -0,0 +1,300 @@ +
+
+

Grid

+
+ +
+ +
+
+
+
+

Grid options

+

See how aspects of the Bootstrap grid system work across multiple devices with a handy table.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Extra small devices + Phones (<768px) + + Small devices + Tablets (≥768px) + + Medium devices + Desktops (≥992px) + + Large devices + Desktops (≥1200px) +
Grid behaviorHorizontal at all timesCollapsed to start, horizontal above breakpoints
Max container widthNone (auto)750px970px1170px
Class prefix + .col-xs- + + .col-sm- + + .col-md- + + .col-lg- +
# of columns12
Max column widthAuto60px78px95px
Gutter width30px (15px on each side of a column)
NestableYes
OffsetsYes
Column orderingYes
+
+

Grid classes apply to devices with screen widths greater than or equal to the breakpoint sizes, and override grid classes targeted at smaller devices. Therefore, applying any + .col-md- class to an element will not only affect its styling on medium devices but also on large devices if a + .col-lg- class is not present.

+
+
+
+ +
+ + +
+
+
+
+

Example: Stacked-to-horizontal

+

Using a single set of + .col-md-* grid classes, you can create a default grid system that starts out stacked on mobile devices and tablet devices (the extra small to small range) before becoming horizontal on desktop (medium) devices. Place grid columns in any + .row.

+
+
.col-md-1
+
.col-md-1
+
.col-md-1
+
.col-md-1
+
.col-md-1
+
.col-md-1
+
.col-md-1
+
.col-md-1
+
.col-md-1
+
.col-md-1
+
.col-md-1
+
.col-md-1
+
+
+
.col-md-8
+
.col-md-4
+
+
+
.col-md-4
+
.col-md-4
+
.col-md-4
+
+
+
.col-md-6
+
.col-md-6
+
+
+
+
+ +
+ + +
+
+
+
+

Example: Mobile and desktop

+

Don't want your columns to simply stack in smaller devices? Use the extra small and medium device grid classes by adding + .col-xs-* + .col-md-* to your columns. See the example below for a better idea of how it all works.

+
+
.col-xs-12 .col-md-8
+
.col-xs-6 .col-md-4
+
+
+
.col-xs-6 .col-md-4
+
.col-xs-6 .col-md-4
+
.col-xs-6 .col-md-4
+
+
+
.col-xs-6
+
.col-xs-6
+
+
+
+
+ +
+ + +
+
+
+
+

Example: Mobile, tablet, desktops

+

Build on the previous example by creating even more dynamic and powerful layouts with tablet + .col-sm-* classes.

+
+
.col-xs-12 .col-sm-6 .col-md-8
+
.col-xs-6 .col-md-4
+
+
+
.col-xs-6 .col-sm-4
+
.col-xs-6 .col-sm-4
+ +
+
.col-xs-6 .col-sm-4
+
+
+
+
+ +
+ + +
+
+
+
+

Responsive column resets

+

With the four tiers of grids available you're bound to run into issues where, at certain breakpoints, your columns don't clear quite right as one is taller than the other. To fix that, use a combination of a + .clearfix and our responsive utility classes.

+
+
+ .col-xs-6 .col-sm-3 +
Resize your viewport or check it out on your phone for an example. +
+
.col-xs-6 .col-sm-3
+ + +
+ +
.col-xs-6 .col-sm-3
+
.col-xs-6 .col-sm-3
+
+
+
+
+ +
+ + +
+
+
+
+

Offsetting columns

+

Move columns to the right using + .col-md-offset-* classes. These classes increase the left margin of a column by + * columns. For example, + .col-md-offset-4 moves + .col-md-4 over four columns.

+
+
.col-md-4
+
.col-md-4 .col-md-offset-4
+
+
+
.col-md-3 .col-md-offset-3
+
.col-md-3 .col-md-offset-3
+
+
+
.col-md-6 .col-md-offset-3
+
+
+
+
+ +
+ + +
+
+
+
+

Nesting columns

+

To nest your content with the default grid, add a new + .row and set of + .col-md-* columns within an existing + .col-md-* column. Nested rows should include a set of columns that add up to 12.

+
+
+ Level 1: .col-md-9 +
+
+ Level 2: .col-md-6 +
+
+ Level 2: .col-md-6 +
+
+
+
+
+
+
+ +
+ + +
+
+
+
+

Column ordering

+

Easily change the order of our built-in grid columns with + .col-md-push-* and + .col-md-pull-* modifier classes.

+
+
.col-md-9 .col-md-push-3
+
.col-md-3 .col-md-pull-9
+
+
+
+
+ +
diff --git a/app-main/views/ui-elements/icons.html b/app-main/views/ui-elements/icons.html new file mode 100644 index 0000000..b0fc053 --- /dev/null +++ b/app-main/views/ui-elements/icons.html @@ -0,0 +1,537 @@ +
+
+

Icons

+
+ +
+ +
+
+
+
+ All available icons +
+
+
+
+

fa-glass


+

fa-music


+
+

fa-envelope-o


+

fa-heart


+

fa-star


+

fa-star-o


+

fa-user


+

fa-film


+

fa-th-large


+

fa-th


+

fa-th-list


+

fa-check


+

fa-times


+

fa-search-plus


+

fa-search-minus


+

fa-power-off


+

fa-signal


+

fa-gear


+

fa-cog


+

fa-trash-o


+

fa-home


+

fa-file-o


+

fa-clock-o


+

fa-road


+

fa-download


+

fa-arrow-circle-o-down


+

fa-arrow-circle-o-up


+

fa-inbox


+

fa-play-circle-o


+

fa-rotate-right


+

fa-repeat


+

fa-refresh


+

fa-list-alt


+

fa-lock


+

fa-flag


+

fa-headphones


+

fa-volume-off


+

fa-volume-down


+

fa-volume-up


+

fa-qrcode


+

fa-barcode


+

fa-tag


+

fa-tags


+

fa-book


+

fa-bookmark


+

fa-print


+

fa-camera


+

fa-font


+

fa-bold


+

fa-italic


+

fa-text-height


+

fa-text-width


+

fa-align-left


+

fa-align-center


+

fa-align-right


+

fa-align-justify


+

fa-list


+

fa-dedent


+

fa-outdent


+

fa-indent


+

fa-video-camera


+

fa-photo


+

fa-image


+

fa-picture-o


+

fa-pencil


+

fa-map-marker


+

fa-adjust


+

fa-tint


+

fa-edit


+

fa-pencil-square-o


+

fa-share-square-o


+

fa-check-square-o


+

fa-arrows


+

fa-step-backward


+

fa-fast-backward


+

fa-backward


+

fa-play


+

fa-pause


+

fa-stop


+

fa-forward


+

fa-fast-forward


+

fa-step-forward


+

fa-eject


+

fa-chevron-left


+

fa-chevron-right


+

fa-plus-circle


+

fa-minus-circle


+

fa-times-circle


+

fa-check-circle


+

fa-question-circle


+

fa-info-circle


+

fa-crosshairs


+

fa-times-circle-o


+

fa-check-circle-o


+

fa-ban


+

fa-arrow-left


+

fa-arrow-right


+

fa-arrow-up


+

fa-arrow-down


+

fa-mail-forward


+

fa-share


+

fa-expand


+

fa-compress


+

fa-plus


+

fa-minus


+

fa-asterisk


+

fa-exclamation-circle


+

fa-gift


+

fa-leaf


+

fa-fire


+

fa-eye


+

fa-eye-slash


+

fa-warning


+

fa-exclamation-triangle


+

fa-plane


+

fa-calendar


+

fa-random


+

fa-comment


+

fa-magnet


+

fa-chevron-up


+

fa-chevron-down


+

fa-retweet


+

fa-shopping-cart


+

fa-folder


+

fa-folder-open


+
+ +
+

fa-arrows-v


+

fa-arrows-h


+

fa-bar-chart-o


+

fa-twitter-square


+

fa-facebook-square


+

fa-camera-retro


+

fa-key


+

fa-gears


+

fa-cogs


+

fa-comments


+

fa-thumbs-o-up


+

fa-thumbs-o-down


+

fa-star-half


+

fa-heart-o


+

fa-sign-out


+

fa-linkedin-square


+

fa-thumb-tack


+
+
+

fa-trophy


+

fa-github-square


+

fa-upload


+

fa-lemon-o


+

fa-phone


+

fa-square-o


+

fa-bookmark-o


+

fa-phone-square


+

fa-twitter


+

fa-facebook


+

fa-github


+

fa-unlock


+

fa-credit-card


+

fa-rss


+

fa-hdd-o


+

fa-bullhorn


+

fa-bell


+

fa-certificate


+

fa-hand-o-right


+

fa-hand-o-left


+

fa-hand-o-up


+

fa-hand-o-down


+

fa-arrow-circle-left


+

fa-arrow-circle-right


+

fa-arrow-circle-up


+

fa-arrow-circle-down


+

fa-globe


+

fa-wrench


+

fa-tasks


+

fa-filter


+

fa-briefcase


+

fa-arrows-alt


+

fa-group


+

fa-users


+

fa-chain


+
+

fa-cloud


+

fa-flask


+

fa-cut


+

fa-scissors


+

fa-copy


+

fa-files-o


+

fa-paperclip


+

fa-save


+

fa-floppy-o


+

fa-square


+

fa-navicon


+

fa-reorder


+

fa-bars


+

fa-list-ul


+

fa-list-ol


+

fa-strikethrough


+

fa-underline


+

fa-table


+

fa-magic


+

fa-truck


+

fa-pinterest


+

fa-pinterest-square


+

fa-google-plus-square


+

fa-google-plus


+

fa-money


+

fa-caret-down


+

fa-caret-up


+

fa-caret-left


+

fa-caret-right


+

fa-columns


+

fa-unsorted


+

fa-sort


+

fa-sort-down


+

fa-sort-desc


+

fa-sort-up


+

fa-sort-asc


+

fa-envelope


+

fa-linkedin


+

fa-rotate-left


+

fa-undo


+
+

fa-gavel


+

fa-dashboard


+

fa-tachometer


+

fa-comment-o


+

fa-comments-o


+

fa-flash


+

fa-bolt


+

fa-sitemap


+

fa-umbrella


+

fa-paste


+

fa-clipboard


+

fa-lightbulb-o


+

fa-exchange


+

fa-cloud-download


+

fa-cloud-upload


+

fa-user-md


+

fa-stethoscope


+

fa-suitcase


+

fa-bell-o


+

fa-coffee


+

fa-cutlery


+

fa-file-text-o


+

fa-building-o


+

fa-hospital-o


+

fa-ambulance


+

fa-medkit


+

fa-fighter-jet


+

fa-beer


+

fa-h-square


+

fa-plus-square


+
+
+

fa-angle-double-left


+

fa-angle-double-right


+

fa-angle-double-up


+

fa-angle-double-down


+

fa-angle-left


+

fa-angle-right


+

fa-angle-up


+

fa-angle-down


+

fa-desktop


+

fa-laptop


+

fa-tablet


+

fa-mobile-phone


+

fa-mobile


+

fa-circle-o


+

fa-quote-left


+

fa-quote-right


+

fa-spinner


+

fa-circle


+

fa-mail-reply


+

fa-reply


+

fa-github-alt


+

fa-folder-o


+

fa-folder-open-o


+

fa-smile-o


+

fa-frown-o


+

fa-meh-o


+

fa-gamepad


+

fa-keyboard-o


+

fa-flag-o


+

fa-flag-checkered


+

fa-terminal


+

fa-code


+

fa-mail-reply-all


+

fa-reply-all


+

fa-star-half-empty


+

fa-star-half-full


+

fa-star-half-o


+

fa-location-arrow


+

fa-crop


+

fa-code-fork


+
+

fa-chain-broken


+

fa-question


+

fa-info


+

fa-exclamation


+

fa-superscript


+

fa-subscript


+

fa-eraser


+

fa-puzzle-piece


+

fa-microphone


+

fa-microphone-slash


+

fa-shield


+

fa-calendar-o


+

fa-fire-extinguisher


+

fa-rocket


+

fa-maxcdn


+

fa-chevron-circle-left


+

fa-chevron-circle-right


+

fa-chevron-circle-up


+

fa-chevron-circle-down


+

fa-html5


+

fa-css3


+

fa-anchor


+

fa-unlock-alt


+

fa-bullseye


+

fa-ellipsis-h


+

fa-ellipsis-v


+

fa-rss-square


+

fa-play-circle


+

fa-ticket


+

fa-minus-square


+

fa-minus-square-o


+

fa-level-up


+

fa-level-down


+

fa-check-square


+

fa-pencil-square


+
+

fa-share-square


+

fa-compass


+

fa-toggle-down


+

fa-caret-square-o-down


+

fa-toggle-up


+

fa-caret-square-o-up


+

fa-toggle-right


+

fa-caret-square-o-right


+

fa-euro


+

fa-eur


+

fa-gbp


+

fa-dollar


+

fa-usd


+

fa-rupee


+

fa-inr


+

fa-cny


+

fa-rmb


+

fa-yen


+

fa-jpy


+

fa-ruble


+

fa-rouble


+

fa-rub


+

fa-won


+

fa-krw


+

fa-bitcoin


+

fa-btc


+

fa-file


+

fa-file-text


+

fa-sort-alpha-asc


+

fa-sort-alpha-desc


+

fa-sort-amount-asc


+

fa-sort-amount-desc


+

fa-sort-numeric-asc


+

fa-sort-numeric-desc


+

fa-thumbs-up


+

fa-thumbs-down


+

fa-youtube-square


+

fa-youtube


+

fa-xing


+

fa-xing-square


+

fa-youtube-play


+

fa-dropbox


+

fa-stack-overflow


+

fa-instagram


+

fa-flickr


+

fa-adn


+

fa-bitbucket


+

fa-bitbucket-square


+

fa-tumblr


+
+
+

fa-tumblr-square


+

fa-long-arrow-down


+

fa-long-arrow-up


+

fa-long-arrow-left


+

fa-long-arrow-right


+

fa-apple


+

fa-windows


+

fa-android


+

fa-linux


+

fa-dribbble


+

fa-skype


+

fa-foursquare


+

fa-trello


+

fa-female


+

fa-male


+

fa-gittip


+

fa-sun-o


+

fa-moon-o


+

fa-archive


+

fa-bug


+

fa-vk


+

fa-weibo


+

fa-renren


+

fa-pagelines


+

fa-stack-exchange


+

fa-arrow-circle-o-right


+

fa-arrow-circle-o-left


+

fa-toggle-left


+

fa-caret-square-o-left


+

fa-dot-circle-o


+

fa-wheelchair


+

fa-vimeo-square


+

fa-turkish-lira


+

fa-try


+

fa-plus-square-o


+

fa-space-shuttle


+

fa-slack


+

fa-envelope-square


+

fa-wordpress


+

fa-openid


+

fa-institution


+

fa-bank


+

fa-university


+

fa-mortar-board


+

fa-graduation-cap


+

fa-yahoo


+

fa-google


+

fa-reddit


+

fa-reddit-square


+

fa-stumbleupon-circle


+

fa-stumbleupon


+

fa-delicious


+

fa-digg


+

fa-pied-piper-square


+

fa-pied-piper


+

fa-pied-piper-alt


+

fa-drupal


+

fa-joomla


+

fa-language


+

fa-fax


+

fa-building


+

fa-child


+

fa-paw


+

fa-spoon


+

fa-cube


+

fa-cubes


+

fa-behance


+

fa-behance-square


+

fa-steam


+

fa-steam-square


+

fa-recycle


+

fa-automobile


+

fa-car


+

fa-cab


+

fa-taxi


+

fa-tree


+

fa-spotify


+

fa-deviantart


+

fa-soundcloud


+

fa-database


+

fa-file-pdf-o


+

fa-file-word-o


+

fa-file-excel-o


+

fa-file-powerpoint-o


+

fa-file-photo-o


+

fa-file-picture-o


+

fa-file-image-o


+

fa-file-zip-o


+

fa-file-archive-o


+

fa-file-sound-o


+

fa-file-audio-o


+

fa-file-movie-o


+

fa-file-video-o


+

fa-file-code-o


+

fa-vine


+

fa-codepen


+

fa-jsfiddle


+

fa-life-bouy


+

fa-life-saver


+

fa-support


+

fa-life-ring


+

fa-circle-o-notch


+

fa-ra


+

fa-rebel


+

fa-ge


+

fa-empire


+

fa-git-square


+

fa-git


+

fa-hacker-news


+

fa-tencent-weibo


+

fa-qq


+

fa-wechat


+

fa-weixin


+

fa-send


+

fa-paper-plane


+

fa-send-o


+

fa-paper-plane-o


+

fa-history


+

fa-circle-thin


+

fa-header


+

fa-paragraph


+

fa-sliders


+

fa-share-alt


+

fa-share-alt-square


+

fa-bomb


+
+ +
+ +
+ +
+ +
+ +
diff --git a/app-main/views/ui-elements/notifications.html b/app-main/views/ui-elements/notifications.html new file mode 100644 index 0000000..3cdb33a --- /dev/null +++ b/app-main/views/ui-elements/notifications.html @@ -0,0 +1,142 @@ +
+
+

Notifications

+
+ +
+ +
+
+
+
+ Alert Styles +
+ +
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alert Link. +
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alert Link. +
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alert Link. +
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alert Link. +
+
+ +
+ +
+ +
+
+
+ Dismissable Alerts +
+ +
+
+ + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alert Link. +
+
+ + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alert Link. +
+
+ + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alert Link. +
+
+ + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alert Link. +
+
+ +
+ +
+ +
+ +
+
+
+
+ Modals +
+ +
+ + + + + +
+ +
+ +
+ +
+
+
+ Tooltips and Popovers +
+ +
+

Tooltip Demo

+
+ + + + + +
+
+
+

Clickable Popover Demo

+
+ + + + +
+
+ +
+ +
+ +
diff --git a/app-main/views/ui-elements/panels-wells.html b/app-main/views/ui-elements/panels-wells.html new file mode 100644 index 0000000..47b5478 --- /dev/null +++ b/app-main/views/ui-elements/panels-wells.html @@ -0,0 +1,322 @@ +
+
+

Panels and Wells

+
+ +
+ +
+
+
+
+ Default Panel +
+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue.

+
+ +
+
+ +
+
+
+ Primary Panel +
+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue.

+
+ +
+
+ +
+
+
+ Success Panel +
+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue.

+
+ +
+
+ +
+ +
+
+
+
+ Info Panel +
+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue.

+
+ +
+
+ +
+
+
+ Warning Panel +
+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue.

+
+ +
+
+ +
+
+
+ Danger Panel +
+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue.

+
+ +
+
+ +
+ +
+
+
+
+ Green Panel +
+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue.

+
+ +
+ +
+
+
+
+ Yellow Panel +
+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue.

+
+ +
+ +
+
+
+
+ Red Panel +
+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue.

+
+ +
+ +
+
+ +
+
+
+
+ Collapsible Accordion Panel Group +
+ +
+
+
+ +
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +
+
+
+
+ +
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +
+
+
+
+ +
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +
+
+
+
+
+ +
+ +
+ +
+ +
+
+
+
+ Basic Tabs +
+ +
+ + + + +
+
+

Home Tab

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+
+
+

Profile Tab

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+
+
+

Messages Tab

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+
+
+

Settings Tab

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+
+
+
+ +
+ +
+ +
+
+
+ Pill Tabs +
+ +
+ + + + +
+
+

Home Tab

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+
+
+

Profile Tab

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+
+
+

Messages Tab

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+
+
+

Settings Tab

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+
+
+
+ +
+ +
+ +
+ +
+
+
+

Normal Well

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue.

+
+
+ +
+
+

Large Well

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue.

+
+
+ +
+
+

Small Well

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue.

+
+
+ +
+ +
+
+
+

Jumbotron

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing.

+

Learn more +

+
+
+ +
\ No newline at end of file diff --git a/app-main/views/ui-elements/typography.html b/app-main/views/ui-elements/typography.html new file mode 100644 index 0000000..afbc665 --- /dev/null +++ b/app-main/views/ui-elements/typography.html @@ -0,0 +1,230 @@ +
+
+

Typography

+
+ +
+ +
+
+
+
+ Headings +
+
+

Heading 1 + Sub-heading +

+

Heading 2 + Sub-heading +

+

Heading 3 + Sub-heading +

+

Heading 4 + Sub-heading +

+
Heading 5 + Sub-heading +
+
Heading 6 + Sub-heading +
+
+ +
+ +
+ +
+
+
+ Paragraphs +
+
+

This is an example of lead body copy.

+

This is an example of standard paragraph text. This is an example of link anchor text within body copy.

+

+ This is an example of small, fine print text. +

+

+ This is an example of strong, bold text. +

+

+ This is an example of emphasized, italic text. +

+
+

Alignment Helpers

+

Left aligned text.

+

Center aligned text.

+

Right aligned text.

+
+ +
+ +
+ +
+
+
+ Emphasis Classes +
+
+

This is an example of muted text.

+

This is an example of primary text.

+

This is an example of success text.

+

This is an example of info text.

+

This is an example of warning text.

+

This is an example of danger text.

+
+ +
+ +
+ +
+ +
+
+
+
+ Abbreviations +
+
+

The abbreviation of the word attribute is + attr.

+

+ HTMLis an abbreviation for a programming language.

+
+

Addresses

+
+ Twitter, Inc. +
795 Folsom Ave, Suite 600 +
San Francisco, CA 94107 +
+ P:(123) 456-7890 +
+
+ Full Name +
+ first.last@example.com +
+
+ +
+ +
+ +
+
+
+ Blockquotes +
+
+

Default Blockquote

+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

+
+

Blockquote with Citation

+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

+ Someone famous in + Source Title + +
+

Right Aligned Blockquote

+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

+
+
+ +
+ +
+ +
+
+
+ Lists +
+
+

Unordered List

+
    +
  • List Item
  • +
  • List Item
  • +
  • +
      +
    • List Item
    • +
    • List Item
    • +
    • List Item
    • +
    +
  • +
  • List Item
  • +
+

Ordered List

+
    +
  1. List Item
  2. +
  3. List Item
  4. +
  5. List Item
  6. +
+

Unstyled List

+
    +
  • List Item
  • +
  • List Item
  • +
  • List Item
  • +
+

Inline List

+
    +
  • List Item
  • +
  • List Item
  • +
  • List Item
  • +
+
+ +
+ +
+ +
+ +
+
+
+
+ Description Lists +
+
+
+
Standard Description List
+
Description Text
+
Description List Title
+
Description List Text
+
+
+
Horizontal Description List
+
Description Text
+
Description List Title
+
Description List Text
+
+
+ +
+ +
+ +
+
+
+ Code +
+
+

This is an example of an inline code element within body copy. Wrap inline code within a + <code>...</code>tag.

+
This is an example of preformatted text.
+
+ +
+ +
+ +