Skip to content

Commit

Permalink
Merge pull request #133 from nvisionative/version/2.0.0
Browse files Browse the repository at this point in the history
Version/2.0.0
  • Loading branch information
nvisionative authored Jan 7, 2019
2 parents c9d277a + 85efa3e commit ceb2073
Show file tree
Hide file tree
Showing 135 changed files with 1,343 additions and 10,530 deletions.
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
node_modules/
build/
dist/css/style.min.css
dist/css/bootstrap.min.css
dist/
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![](http://nvquicktheme.nvisionative.com/portals/0/nvQuickTheme_logo.png)](http://nvquicktheme.nvisionative.com)
[![](https://nvquicktheme.nvisionative.com/portals/0/nvQuickTheme_logo.png)](https://nvquicktheme.nvisionative.com)

[![Build status](https://nvisionative.visualstudio.com/nvQuickTheme/_apis/build/status/nvQuickTheme-Node.js%20With%20gulp-CI)](https://nvisionative.visualstudio.com/nvQuickTheme/_build/latest?definitionId=1) [![Greenkeeper badge](https://badges.greenkeeper.io/nvisionative/nvQuickTheme.svg)](https://greenkeeper.io/)
[![Build status](https://nvisionative.visualstudio.com/nvQuickTheme/_apis/build/status/nvQuickTheme-Node.js%20With%20gulp-CI)](https://nvisionative.visualstudio.com/nvQuickTheme/_build/latest?definitionId=1) [![Greenkeeper badge](https://badges.greenkeeper.io/nvisionative/nvQuickTheme.svg)](https://greenkeeper.io/) [![HitCount](http://hits.dwyl.io/nvisionative/nvQuickTheme.svg)](http://hits.dwyl.io/nvisionative/nvQuickTheme)

**nvQuickTheme** is more than just a great minimalist DNN (DotNetNuke) theme. It is a powerful theme building framework and developer workflow. This "starter solution" was made with developer efficiency and the ultimate DNN theme performance in mind. Most DNN themes in the marketplace today are loaded with bloat, which can make theming a pain, and for someone new to DNN, almost impossible. Our [documentation](https://nvisionative.github.io/nvQuickTheme/) will outline basic usage, modification, and advanced usage of this framework and developer workflow.

Expand All @@ -26,6 +26,8 @@ The [nvisionative](http://www.nvisionative.com) team has been working in the DNN
### Project Setup
[![nvQuickTheme Video Series - Project Setup](https://img.youtube.com/vi/7UhpbUaeFQc/0.jpg)](https://www.youtube.com/watch?v=7UhpbUaeFQc)

### Color Scheme
[![nvQuickTheme Video Series - Color Scheme](https://img.youtube.com/vi/o1XW3e8JKfw/0.jpg)](https://www.youtube.com/watch?v=o1XW3e8JKfw)

---
[![Brought to the DNN community by nvisionative](http://www.nvquicksite.com/Portals/0/broughtBy-nvisionative.png)](http://www.nvisionative.com)
1 change: 0 additions & 1 deletion dist/css/bootstrap.min.css.map

This file was deleted.

4 changes: 0 additions & 4 deletions dist/css/font-awesome.min.css

This file was deleted.

1 change: 0 additions & 1 deletion dist/css/style.min.css.map

This file was deleted.

Binary file removed dist/fonts/FontAwesome.otf
Binary file not shown.
Binary file removed dist/fonts/fontawesome-webfont.eot
Binary file not shown.
2,671 changes: 0 additions & 2,671 deletions dist/fonts/fontawesome-webfont.svg

This file was deleted.

Binary file removed dist/fonts/fontawesome-webfont.ttf
Binary file not shown.
Binary file removed dist/fonts/fontawesome-webfont.woff
Binary file not shown.
Binary file removed dist/fonts/fontawesome-webfont.woff2
Binary file not shown.
7 changes: 0 additions & 7 deletions dist/js/bootstrap.bundle.min.js

This file was deleted.

1 change: 0 additions & 1 deletion dist/js/custom.min.js

This file was deleted.

2 changes: 2 additions & 0 deletions docs/Add-Custom-Theme-License.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
## Add Custom Theme License
As of Version 2.0.0 of **nvQuickTheme**, a new file is located in the root (`./`) folder of the project and is named `themeLicense.txt`. You can place a license within this file and the contents will automatically be displayed during the appropriate installation step within DNN using the project's output theme package.
2 changes: 2 additions & 0 deletions docs/Add-Custom-Theme-Release-Notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
## Add Custom Theme Release Notes
As of Version 2.0.0 of **nvQuickTheme**, a new file is located in the root (`./`) folder of the project and is named `themeReleaseNotes.txt`. You can place release notes within this file and the contents will automatically be displayed during the appropriate installation step within DNN using the project's output theme package.
9 changes: 9 additions & 0 deletions docs/Change-Color-Scheme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
### Color Scheme
[![nvQuickTheme Video Series - Color Scheme](https://img.youtube.com/vi/o1XW3e8JKfw/0.jpg)](https://www.youtube.com/watch?v=o1XW3e8JKfw)

## Change Color Scheme
Most websites are going to key off the colors for the brand being represented. Following industry best practices, there are typically three colors selected for the website main colors: primary, secondary and tertiary. These are defined within the `./src/scss/variables/_colors.scss` file. Updating these SCSS variable color definitions using HEX or RGB colors will change usage of these throughout the theme.

There are also colors defined for variants of gray, normal font colors, borders and links. These are all easily modified within this one file.

Additionally, base Bootstrap classes can be used for various colors within your custom theme.
61 changes: 41 additions & 20 deletions docs/Commands.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,71 @@
Make sure you have navigated to your project root within your node command line. From this point you can use several commands. There are a few main dev commands, and then several smaller commands for more granular control.
## Main Dev Commands

### gulp manifest
You should recognize this command from setting up your project. This command will update your manifest with the information provided in `gulpfile.js`. Anytime you need to update this information, for example, when changing the version number, you will need to run this command.
### gulp init
This command initializes all third-party dependencies utilized within **nvQuickTheme**. More specifically, it executes the following SubTask Commands in series (completes each task before the next):
* **gulp fontsInit**
* **gulp faFontsInit**
* **gulp faCssInit**
* **gulp slimMenuInit**
* **gulp normalizeInit**
* **gulp bsCssInit**
* **gulp bsJsInit**

### gulp build
This command error checks, concatenates, compiles and minifies all your js and scss into the `dist/` folder, as well as copies your containers to the correct folder.
This command error checks, concatenates, compiles and minifies all your JS and SCSS into the `./dist/` folder, as well as copies your containers to the correct folder. More specifically, it executes the following commands in series (completes each task before the next):
* **gulp init**
* **gulp styles**
* **gulp scripts**
* **gulp images**
* **gulp containers**
* **gulp manifest**

### gulp watch
This sets your node instance to watch all the js and scss in the src folder for any changes, as well as your containers. Upon changes it will automatically run the build command. Note: This command will take over your node instance, you may need to start a new instance if you want to run other commands.
This sets your node instance to watch all changes of images, JS and SCSS in the `./src/` folder, as well as containers in the `./containers/` folder. Upon changes it will automatically run the **gulp build** command.

**Note:** _This command will take over your node instance (in Command Prompt, PowerShell, Git Bash, VS Code Terminal, etc.). Therefore, you may want to start a new instance if you need to run other commands at the same time._

### gulp package
A bit confusing with all the package talk earlier, but here we're not talking about dev packages anymore. This command builds and packages up what you've created into a DNN theme installation package (zip file). It will deposit the zip file under the `[root]/build/` folder using the information provided in `gulpfile.js`: `[project]_[version]_install.zip`.
This command builds and packages your custom theme into a DNN theme installation package (ZIP file). It will place the ZIP file in the `./build/` folder using the following naming convention: `[project]_[version]_install.zip`


***

## SubTask Commands
These commands are mostly used within the 3 over arching commands, but can be used individually if desired.
These commands are mostly used within the four Main Dev Commands, but can be used individually if desired.

### gulp js
Error checks, concatenates, compiles, and minifies all js in the `src/js/` folder and outputs into the `dist/js/` folder.
### gulp manifest
You should recognize this command from setting up your project. This command will update your manifest with the information provided in `project-details.json`. Anytime you need to update this information, like when changing the version number, you will need to run this command. This command is also executed as a part of the **gulp build** and **gulp package** commands.

### gulp scss
Error checks, concatenates, compiles, and minifies all scss in the `src/scss/` folder and outputs into the `dist/css/` folder.
### gulp scripts
Error checks, concatenates, compiles, and minifies all JS in the `./src/js/` folder and distributes to the `./dist/js/` folder.

### gulp styles
Error checks, concatenates, compiles, and minifies all SCSS in the `./src/scss/` folder and distributes to the `./dist/css/` folder.

### gulp images
Compresses images in the `src/images/` folder and output into the `dist/images/` folder.
Compresses images in the `./src/images/` folder and distributes to the `./dist/images/` folder.

### gulp containers
Copies the containers to the correct folder for DNN.
Copies containers to the correct folder within your DNN instance (assuming you are developing within a DNN instance). This translates to `../../Containers/[your theme project name]/`.


***

## Process Commands
These commands are used within other commands, or for special cases. We recommend use of these only for advanced users.
These commands are used within other commands and for other special situations. _We recommend use of these only for advanced users._

### gulp zipdist
ZIPs contents of `./dist/` folder. Used to prepare for theme packaging.

### gulp update
Pulls Bootstrap, Font-Awesome, and Normalize assets from the node_modules. So if you update your dependencies, you'll want to run this. Note that this will overwrite any changes you've done to the _normalize.scss file.
### gulp zipcontainers
ZIPs contents of `./containers/` folder. Used to prepare for theme packaging.

### gulp buildzips
Zips each dist folder. Used to prep theme packaging.
### gulp zipelse
ZIPs contents of `./menus/` folder, `./partials/` folder, and all ASCX, XML, HTML and HTML files withinthe root folder (`./`). Used to prepare for theme packaging.

### gulp zipfiles
Collects all the zip files and project root files needed into the main theme zip file.
### gulp zippackage
ZIPs all subset ZIP files and other pertinent project files into theme package installation file using the following naming convention: `[project]_[version]_install.zip`

### gulp cleanup
Deletes all the zip files under the project root. Used to cleanup the individual zip files created in the theme packaging task.
Deletes all temporary ZIP and project files used in package tasks.
6 changes: 3 additions & 3 deletions docs/Dependencies.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
### Bootstrap 4
By far the largest dependency, Bootstrap 4, is the framework we chose to use. We encourage anyone unfamiliar with Bootstrap 4 to bookmark and reference their extensive documentation [here](https://v4-alpha.getbootstrap.com/layout/overview/).
### Bootstrap
By far the largest dependency, Bootstrap, is the framework we chose to use. We encourage anyone unfamiliar with Bootstrap 4 to bookmark and reference their extensive documentation [here](https://getbootstrap.com/).

Our default.ascx, header and footer partials show proper use of bootstrap and its layout classes. Bootstrap 4 is robust, powerful, and has all the bells and whistles that most websites need.
Our **default.ascx**, **_header.ascx** and **_footer.ascx** partials show proper use of bootstrap and its layout classes. Bootstrap is robust, powerful, and has all the bells and whistles that most websites need.


***
Expand Down
15 changes: 6 additions & 9 deletions docs/DevDependencies.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,30 +19,27 @@ Forget about making sure you add the -webkit- prefix. This plugin automatically
### gulp-clean
Allows for easy deletion of files. We use it to get rid of temporary files created when building packages.

### gulp-clean-css
Allows for simple minification of CSS.

### gulp-imagemin
Nicely compresses images as small as possible while maintaining quality. We don't use this in our main tasks, but is still available because we believe it is a necessary tool for a lot of theme creation.

### gulp-jshint
Checks javascript for errors and lets you know what's wrong.

### gulp-replace
Replaces string values within files. Not currently used, but will possibly be used in future releases of nvQuickTheme.

### gulp-notify
Helps show messages in the node command line console.

### gulp-rename
Used to rename files.

### gulp-replace
Replaces string values within files. Not currently used, but will possibly be used in future releases of nvQuickTheme.

### gulp-sass
This powerful plugin error checks, concatenates, and minifies scss. We use it for all the things.

### gulp-sequence
Gulp does tasks asynchronously, which can cause issues when you're looking to do tasks sequentially. This plugin allows us to do just that--sequence tasks.

### gulp-sourcemaps
When scss compresses everything into css and is minified, it's almost impossible to tell exactly where the original scss was at unless you remember where you put it. Our current methodology combats most of that confusion because you know what element is being dealt with, and what file it SHOULD be in. Sourcemaps create roadmaps for scss and allows someone debugging to see exactly where the css originated. We don't currently have this implemented.

### gulp-uglify
A plugin that helps minify all the things. Since our sass plugin already does that for us, we use this to minify our javascript.

Expand Down
5 changes: 4 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,7 @@ The [nvisionative](https://www.nvisionative.com) team has been working in the DN
[![nvQuickTheme Video Series - Intro](https://img.youtube.com/vi/-w0qSTZfBUU/0.jpg)](https://www.youtube.com/watch?v=-w0qSTZfBUU)

### Project Setup
[![nvQuickTheme Video Series - Project Setup](https://img.youtube.com/vi/7UhpbUaeFQc/0.jpg)](https://www.youtube.com/watch?v=7UhpbUaeFQc)
[![nvQuickTheme Video Series - Project Setup](https://img.youtube.com/vi/7UhpbUaeFQc/0.jpg)](https://www.youtube.com/watch?v=7UhpbUaeFQc)

### Color Scheme
[![nvQuickTheme Video Series - Color Scheme](https://img.youtube.com/vi/o1XW3e8JKfw/0.jpg)](https://www.youtube.com/watch?v=o1XW3e8JKfw)
3 changes: 0 additions & 3 deletions docs/SCSS.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,6 @@ It's important to keep in mind that order matters when compiling because that's
// mixins will take variables but then needs to be before any mixin calls
@import 'mixins/mixins';

// normalize.scss is done first to establish it as the baseline but is still easily overwritten
@import 'components/normalize';

// our baseline file
@import 'base';

Expand Down
File renamed without changes.
10 changes: 8 additions & 2 deletions docs/_data/nav.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,11 @@ menu:
url: /nvQuickTheme/SCSS.html
- title: How To...
subfolderitems:
- page: Working With the Out-Of-Box Theme
url: /nvQuickTheme/Working-With-the-Out-Of-Box-Theme.html
- page: Work With Out-Of-Box Theme
url: /nvQuickTheme/Work-With-Out-Of-Box-Theme.html
- page: Change Color Scheme
url: /nvQuickTheme/Change-Color-Scheme.html
- page: Add Custom Theme Release Notes
url: /nvQuickTheme/Add-Custom-Theme-Release-Notes.html
- page: Add Custom Theme License
url: /nvQuickTheme/Add-Custom-Theme-License.html
Loading

0 comments on commit ceb2073

Please sign in to comment.