Repository: nifi-site Updated Branches: refs/heads/master 4f73f6a13 -> 0d26d3b2e
http://git-wip-us.apache.org/repos/asf/nifi-site/blob/0d26d3b2/src/pages/markdown/licensing-guide.md ---------------------------------------------------------------------- diff --git a/src/pages/markdown/licensing-guide.md b/src/pages/markdown/licensing-guide.md new file mode 100644 index 0000000..9c928b1 --- /dev/null +++ b/src/pages/markdown/licensing-guide.md @@ -0,0 +1,119 @@ +--- +title: Apache NiFi Licensing Guide +--- + +# Apache NiFi Release Guidelines + +This document provides guidance to contributors of Apache NiFi to help properly account for licensing, notice, and legal requirements. + +#### Disclaimer: + +This document is not written by lawyers. The guidance in this document is meant to compliment Apache Software Foundation guides and policies. If anything in this document is inconsistent with those then it is a defect in this document. + +## Background Material + +- [ASLv2](http://apache.org/licenses/LICENSE-2.0) +- [ASF License Apply](http://www.apache.org/dev/apply-license.html) +- [ASF Licensing How-To](http://www.apache.org/dev/licensing-howto.html) +- [ASF Legal Resolved](http://www.apache.org/legal/resolved.html) +- [ASF Release Policy](http://www.apache.org/dev/release.html) + +## How to consistently apply licensing/legal notice information for Apache NiFi + +### Apply the source header to each source file + +Every source file for works submitted directly to the ASF must follow: http://apache.org/legal/src-headers.html#headers + +Question: Every source file? What about test files and so on? +Answer: There are a few exceptions. Test files can be argued to have no degree of creativity. We also need our test materials at times to be exactly as they will be found in the wild. We should ensure test files have the license when possible but not to the point that it requires altering the test itself. + http://apache.org/legal/src-headers.html#faq-exceptions + +Question: Do items which are generated from source during the build process require the header? +Answer: Taken directly from http://incubator.apache.org/guides/releasemanagement.html#notes-license-headers it reads: + "Copyright may not subsist in a document which is generated by an transformation from an original. In which case, the license header may be unnecessary. License headers should always be present in the original. Where it is reasonable to do so, the templates should also add the license header to the generated documents." + +### Apply the proper NOTICE / LICENSE Information + +For every addition or removal of a 3rd party work as a dependency or as pulled into our source directly we must ensure full +accounting of the correct LICENSE and NOTICE information. + +Our source release must only account for the LICENSE/NOTICE of items that are actually in the source release itself. +Binary dependencies which are pulled in during the generation of a binary convenience package should not have their +LICENSE/NOTICE data in the source release. But, they must be accounted for in the binary package. + +The LICENSE and NOTICE files found at the root of the Apache NiFi (nifi) component is considered 'The' LICENSE/NOTICE +covering the source release of 'nifi' and all subcomponents. + +The LICENSE and NOTICE files found within the 'nifi-assembly' is considered 'The' LICENSE/NOTICE pair covering the binary +convenience package of 'nifi' (tar.gz, ZIP, etc..) + +The Release Manager (RM) of a given release is responsible for checking all subcomponents for the presence of specific +LICENSE/NOTICE to gather all source dependency clauses as needed and place them into the overall LICENSE/NOTICE for the +source release. If generating a binary convenience package the RM will gather up a listing of all binary dependencies +as called out on subcomponents (including the assembly itself), which can contain binary dependencies, and promote +their specific NOTICE/LICENSE text to the binary package LICENSE/NOTICE associated with the assembly. The binary package +LICENSE/NOTICE then should be a combination of source license data and binary license data. + +A binary artifact is any artifact which is created as the result of "compiling" or processing a source artifact. + +For every subcomponent of nifi some binary artifact is produced because we make these things available as Maven artifacts. You must consider whether that artifact stands on its own as built from source or whether that artifact is comprised of materials built from source combined with other binary artifacts pulled in as dependencies. + +In the case of subcomponents which produce binary artifacts which stand on their own (as would be typical in most Jar +files) then you must only account for any 3rd party works source dependencies. If you have any 3rd party works source +dependencies then you should create or edit the LICENSE and/or NOTICE local to that subcomponent AND modify the +NOTICE and/or LICENSE of the top level nifi source. + +In the case of subcomponents which produce binary artifacts which themselves can bunde 3rd party works (as would be +typical in a NAR, WAR, tar.gz, zip bundle) then you must ensure that the subcomponent binary artifact itself includes +a full and complete LICENSE and/or NOTICE as needed to cover those 3rd party works. For every modification to the +subcomponent LICENSE/NOTICE for a given 3rd party work the overall Apache NiFi source and binary LICENSE/NOTICE pairs +need to be updated and/or verified as well. + +To provide a subcomponent local LICENSE/NOTICE ensure there is a 'src/main/resources/META-INF/NOTICE' and +'src/main/resources/META-INF/LICENSE' as needed. During the build process Maven will place them in the customary +locations for the binary artifact. This way for every binary artifact produced from Apache NiFi there will be a +local and accurate LICENSE/NOTICE for that artifact. + +### How to go about working with the LICENSE/NOTICE modifications + +If the dependency is a source dependency (ie you copied in javascript, css, java source files from a website) then you + must ensure it is from [Category-A](http://www.apache.org/legal/resolved.html#category-a) licenses. + +If the dependency is a binary dependency (ie maven pulled in a jar file) then you must ensure it is either from +[Category-A](http://www.apache.org/legal/resolved.html#category-a) or +[Category-B](http://www.apache.org/legal/resolved.html#category-b). + +The key guides for how to apply the LICENSE/NOTICE is found in the following: + + - [Source Headers](http://apache.org/legal/src-headers.html#3party) + - [Third Party Notices](http://apache.org/legal/resolved.html#required-third-party-notices.) + - [How to modify the NOTICE](http://www.apache.org/dev/licensing-howto.html#mod-notice) + +Specific guidance for handling LICENSE/NOTICE application for typical MIT/BSD licenses is +described [here](http://www.apache.org/dev/licensing-howto.html#permissive-deps). For understanding what to put in the +LICENSE file look at the license of the 3rd party work. BSD licenses for instance have this statement "Redistributions +in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution." In the event you cannot find the actual +Copyright statement for a dependency then place a link to the license text they claim and indicate no copyright marks +found and provide a link to the project website. + +Specific guidance for handling Apache Licensed dependencies is describe [here](http://www.apache.org/dev/licensing-howto.html#alv2-dep). +"If the dependency supplies a NOTICE file, its contents must be analyzed and the relevant portions bubbled up into the top-level NOTICE file." + +Specific guidance for handling other ASF projects is found [here](http://www.apache.org/dev/licensing-howto.html#bundle-asf-product). +"It is not necessary to duplicate the line "This product includes software developed at the Apache Software +Foundation...", though the ASF copyright line and any other portions of NOTICE must be considered for propagation." + +Specific guidance for handling LICENSE/NOTICE information for category-B licensed works is [here](http://apache.org/legal/resolved.html#category-b). +Place an entry in the notice indicating the work is included in binary distribution. Provide a link to the +homepage of the work. Indicate it's license. Group like licensed items together. "By attaching a prominent label to +the distribution and requiring an explicit action by the user to get the reciprocally-licensed source, users are less +likely to be unaware of restrictions significantly different from those of the Apache License. Please include the URL +to the product's homepage in the prominent label." You should not modify the LICENSE file to include the LICENSE +information of the 3rd party work in this case. That is explained nicely in http://opensource.org/faq#copyleft as +stated "Copyleft provisions apply only to actual derivatives, that is, cases where an existing copylefted work was +modified. Merely distributing a copyleft work alongside a non-copyleft work does not cause the latter to fall under +the copyleft terms." + +Specific guidance for handling works in the public domain is [here](http://apache.org/legal/resolved.html#can-works-placed-in-the-public-domain-be-included-in-apache-products) + http://git-wip-us.apache.org/repos/asf/nifi-site/blob/0d26d3b2/src/pages/markdown/quickstart.md ---------------------------------------------------------------------- diff --git a/src/pages/markdown/quickstart.md b/src/pages/markdown/quickstart.md new file mode 100644 index 0000000..310f528 --- /dev/null +++ b/src/pages/markdown/quickstart.md @@ -0,0 +1,163 @@ +--- +title: Apache NiFi Development Quickstart +--- + +# Apache NiFi Development Quickstart + +## Source Code + +Apache NiFi source code is version controlled using [Git][git] version control ([browse][gitbrowse]|[checkout][gitrepo]). +The code is also mirrored to [Github][githubrepo] + +## Issue Tracking + +Track issues on the "NIFI" Project on the Apache Jira ([browse][jira]). + +## Building + +#### Configure your git client + +We recommend running the following git config commands in order to ensure +that git checks out the repository in a consistent manner. These changes +are particularly important if running on Windows, as the git client has +trouble with long filenames otherwise. Additionally, in Windows, the +default behavior of the git client, when installed, is to set the +`core.autocrlf` configuration option to `true`, which can cause some of +the unit tests to fail. + +``` +git config --global core.longpaths true +git config --global core.autocrlf false +``` + +#### Checking out from Git + +To check out the code: + +``` +git clone http://git-wip-us.apache.org/repos/asf/nifi.git +``` +<br/> +Then checkout the 'develop' branch + +``` +cd nifi/ +git checkout develop +``` +<br/> + +### Linux Operating System Configuration + +_NOTE_: If you are building on Linux, consider these best practices. Typical Linux defaults are not necessarily well tuned for the needs of an IO intensive application like NiFi. +For all of these areas, your distribution's requirements may vary. Use these sections as advice, but consult your distribution-specific documentation for how best to achieve these recommendations. + + +#### Maximum File Handles + +NiFi will at any one time potentially have a very large number of file handles open. Increase the limits by +editing '/etc/security/limits.conf' to add something like + + * hard nofile 50000 + * soft nofile 50000 + +#### Maximum Forked Processes + +NiFi may be configured to generate a significant number of threads. To increase the allowable number edit '/etc/security/limits.conf' + * hard nproc 10000 + * soft nproc 10000 + +And your distribution may require an edit to /etc/security/limits.d/90-nproc.conf by adding + * soft nproc 10000 + +#### Increase the number of TCP socket ports available +This is particularly important if your flow will be setting up and tearing down a large number of sockets in small period of time. + + sudo sysctl -w net.ipv4.ip_local_port_range="10000 65000" + +#### Set how long sockets stay in a TIMED_WAIT state when closed +You don't want your sockets to sit and linger too long given that you want to be able to quickly setup and teardown new sockets. It is a good idea to read more about +it but to adjust do something like + + sudo sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait="1" + + +#### Tell Linux you never want NiFi to swap +Swapping is fantastic for some applications. It isn't good for something like +NiFi that always wants to be running. To tell Linux you'd like swapping off you +can edit '/etc/sysctl.conf' to add the following line + + vm.swappiness = 0 + +#### Disable partition atime +For the partitions handling the various NiFi repos turn off things like 'atime'. +Doing so can cause a surprising bump in throughput. Edit the '/etc/fstab' file +and for the partition(s) of interest add the 'noatime' option. + +#### Additional guidance +Additional information on system administration and settings can be located in our [Administrator's Guide][adminguide]. + +### Build steps + +1. You need a recent Java 7 (or newer) JDK. +2. You need Apache [Maven 3.X][maven]. We've successfully used 3.2.3 and as far back as 3.0.5 +3. Ensure your MAVEN_OPTS provides sufficient memory. Some build steps are fairly memory intensive + - These settings have worked well `MAVEN_OPTS="-Xms1024m -Xmx3076m -XX:MaxPermSize=256m"` +4. Build the nifi parent. In the root dir of the source tree cd to `nifi-parent`. + Run `mvn clean install` +5. Build the nifi nar maven plugin. In the root dir of the source tree cd to `nifi-nar-maven-plugin`. + Run `mvn clean install` +6. Build the entire code base. In the root dir of the source tree cd to `nifi` and run `mvn -T C2.0 clean install` + You can tweak the maven build settings as you like but the previous command will execute with 2 threads per core. + +Now you should have a fully functioning build off the latest code in the develop branch. + +## Running the application + +#### ** WARNING ** + +Without any configuration, the application will run on port 8080 and does not require any credentials to modify +the flow. This means of running Apache NiFi should be used only for development/testing and in an environment where only +connections from trusted computers and users can connect to port 8080. Using iptables to allow only localhost connections +to 8080 is a good start, but on systems with multiple (potentially untrusted) users, also not a sufficient protection. + +#### Decompress and launch + +Running the above build will create a tar.gz (and zip) file in `nifi/nifi-assembly/target`. This tar.gz should +contain the full application. Decompressing the tar.gz should make a directory for you containing several other +directories. `conf` contains application configuration, `bin` contains scripts +for launching the application. On linux and OSX, NiFi can be run using `bin/nifi.sh <command>` where +`<command>` is one of: + ++ start: starts NiFi in the background ++ stop: stops NiFi that is running in the background ++ status: provides the current status of NiFi ++ run: runs NiFi in the foreground and waits to receive a Ctrl-C, which then shuts down NiFi. ++ install: (available in Linux only, not OSX): installs NiFi as a service that can then be controlled +via `service nifi start`, `service nifi stop`, `service nifi status`. + + +For Windows users, there exist several scripts in the `bin` directory that are analogous to those above: +`start-nifi.bat`, `stop-nifi.bat`, `nifi-status.bat`, and `run-nifi.bat`. + +The configuration that is to be used when launching NiFi, such as Java heap size, the user +to run as, which Java command to use, etc. are configurable via the `conf/bootstrap.conf` file. + +The entire concept of how the application will integrate to a given OS and run as an +enduring service is something we're working hard on and would appreciate ideas for. The user experience needs to +be excellent. + +With the default settings you can point a web browser at `http://localhost:8080/nifi/` + +Logging is configured by default to log to `./logs/nifi-app.log`. The following log message should indicate the web ui +is ready for use: + + 2014-12-09 00:42:03,540 INFO [main] org.apache.nifi.web.server.JettyServer NiFi has started. The UI is available at the following URLs: + +[adminguide]: https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html +[maven]: http://maven.apache.org/ +[jira]: https://issues.apache.org/jira/browse/NIFI +[git]: http://git-scm.com/ +[gitbrowse]: https://git-wip-us.apache.org/repos/asf?p=nifi.git;a=summary +[gitrepo]: http://git-wip-us.apache.org/repos/asf/nifi.git +[githubrepo]: https://github.com/apache/nifi + http://git-wip-us.apache.org/repos/asf/nifi-site/blob/0d26d3b2/src/pages/markdown/release-guide.md ---------------------------------------------------------------------- diff --git a/src/pages/markdown/release-guide.md b/src/pages/markdown/release-guide.md new file mode 100644 index 0000000..ed46c0d --- /dev/null +++ b/src/pages/markdown/release-guide.md @@ -0,0 +1,291 @@ +--- +title: Apache NiFi Release Guidelines +--- + +# Apache NiFi Release Guidelines + +The purpose of this document is to capture and describe the steps involved in producing +an official release of Apache NiFi. It is written specifically to someone acting in the +capacity of a [Release Manager][release-manager] (RM). + +## Background Material + + - These documents are necessary for all committers to be familiar with + - [Apache License V2.0][apache-license] + - [Apache Legal License/Resolved][apache-legal-resolve] + - [Apache How-to Apply License][apache-license-apply] + + - These documents are necessary for someone acting as the RM + - [Apache Encryption Software / ECCN Info][apache-encryption] + - [Apache Release Policy][apache-release-policy] + - [Apache Release Guide][apache-release-guide] + + - These documents are helpful for general environmental setup to perform releases + - [Apache PGP Info][apache-pgp] + - [Apache Release Signing][apache-release-signing] + - [Apache Guide to publish Maven Artifacts][apache-guide-publish-maven] + +## The objective + +Our aim is to produce an official Apache release. +The following is a list of the sorts of things that will be validated and are the basics to check +when evaluating a release for a vote. + +## What to validate and how to Validate a release + + - Are LICENSE and NOTICE file present in the source root and complete? + - Specifically look in the *-sources.zip artifact and ensure these items are present at the root of the archive. + - Evaluate the sources and dependencies. Does the overall LICENSE and NOTICE appear correct? Do all licenses fit within the ASF approved licenses? + - Here is an example path to a sources artifact: + - `https://repository.apache.org/service/local/repositories/orgapachenifi-1011/content/org/apache/nifi/nifi/0.0.1/nifi-0.0.1-source-release.zip` + - Is there a README available that explains how to build the application and to execute it? + - Look in the *-sources.zip artifact root for the readme. + - Are the signatures and hashes correct for the source release? + - Validate the hashes of the sources artifact do in fact match: + - `https://repository.apache.org/service/local/repositories/orgapachenifi-1011/content/org/apache/nifi/nifi/0.0.1/nifi-0.0.1-source-release.zip.md5` + - `https://repository.apache.org/service/local/repositories/orgapachenifi-1011/content/org/apache/nifi/nifi/0.0.1/nifi-0.0.1-source-release.zip.sha1` + - Validate the signature of the source artifact. Here is an example path: + - `https://repository.apache.org/service/local/repositories/orgapachenifi-1011/content/org/apache/nifi/nifi/0.0.1/nifi-0.0.1-source-release.zip.asc` + - Need a quick reminder on how to [verify a signature](http://www.apache.org/dev/release-signing.html#verifying-signature)? + - Do all sources have necessary headers? + - Unzip the sources file into a directory and execute `mvn install -Pcontrib-check` + - Are there no unexpected binary files in the release? + - The only thing we'd expect would be potentially test resources files. + - Does the app (if appropriate) execute and function as expected? + +## The flow of a release (an outline) + - The community is contributing to a series of JIRA tickets assigned to the next release + - The number of tickets open/remaining for that next release approaches zero + - A member of the community suggests a release and initiates a discussion + - Someone volunteers to be an RM for the release (can be a committer but apache guides indicate preference is a PMC member) + - A release candidate is put together and a vote sent to the team. + - If the NiFi community rejects the vote the issues noted are resolved and another RC is generated + - If the NiFi community accepts the vote then the release is 'releasable' and can be placed into the appropriate 'dist' location, maven artifacts released from staging. + +## The mechanics of the release + +### Prepare your environment + +Follow the steps outlined in the [Quickstart Guide][quickstart-guide] + +``` +At this point you're on the latest 'develop' branch and are able to build the entire application +``` +<br/> +Create a JIRA ticket for the release tasks and use that ticket number for the commit messages. For example we'll consider NIFI-270 as our ticket. Also +have in mind the release version you are planning for. For example we'll consider '0.0.1'. + +Create the next version in JIRA if necessary so develop work can continue towards that release. + +Create new branch off develop named after the JIRA ticket or just use the develop branch itself. Here we'll use a branch off of develop with +`git checkout -b NIFI-270-RC1` + +Change directory into that of the project you wish to release. For example `cd nifi` + +Verify that Maven has sufficient heap space to perform the build tasks. Some plugins and parts of the build +consumes a surprisingly large amount of space. These settings have been shown to +work `MAVEN_OPTS="-Xms1024m -Xmx3076m -XX:MaxPermSize=256m"` + +Ensure your settings.xml has been updated as shown below. There are other ways to ensure your PGP key is available for signing as well + +``` + ... + <profile> + <id>signed_release</id> + <properties> + <mavenExecutorId>forked-path</mavenExecutorId> + <gpg.keyname>YOUR GPG KEY ID HERE</gpg.keyname> + <gpg.passphrase>YOUR GPG PASSPHRASE HERE</gpg.passphrase> + </properties> + </profile> + ... + <servers> + <server> + <id>repository.apache.org</id> + <username>YOUR USER NAME HERE</username> + <password>YOUR MAVEN ENCRYPTED PASSWORD HERE</password> + </server> + </servers> + ... +``` + +Ensure the the full application build and tests all work by executing +`mvn -T 2.5C clean install` for a parallel build. Once that completes you can +startup and test the application by `cd nifi-assembly/target` then run `bin/nifi.sh start` in the nifi build. +The application should be up and running in a few seconds at `http://localhost:8080/nifi` + +Evaluate and ensure the appropriate license headers are present on all source files. Ensure LICENSE and NOTICE files are complete and accurate. +Developers should always be keeping these up to date as they go along adding source and modifying dependencies to keep this burden manageable. +This command `mvn install -Pcontrib-check` should be run as well to help validate. If that doesn't complete cleanly it must be addressed. + +Now its time to have maven prepare the release so execute `mvn release:prepare -Psigned_release -DscmCommentPrefix="NIFI-270-RC1 " -Darguments="-DskipTests"`. +Maven will ask: + +`What is the release version for "Apache NiFi"? (org.apache.nifi:nifi) 0.0.1: :` + +Just hit enter to accept the default. + +Maven will then ask: + +`What is SCM release tag or label for "Apache NiFi"? (org.apache.nifi:nifi) nifi-0.0.1: : ` + +Enter `nifi-0.0.1-RC1` or whatever the appropriate release candidate (RC) number is. +Maven will then ask: + +`What is the new development version for "Apache NiFi"? (org.apache.nifi:nifi) 0.0.2-SNAPSHOT: :` + +Just hit enter to accept the default. + +Now that preparation went perfectly it is time to perform the release and deploy artifacts to staging. To do that execute + +`mvn release:perform -Psigned_release -DscmCommentPrefix="NIFI-270-RC1 " -Darguments="-DskipTests"` + +That will complete successfully and this means the artifacts have been released to the Apache Nexus staging repository. You will see something like + +` [INFO] * Closing staging repository with ID "orgapachenifi-1011".` + +So if you browse to `https://repository.apache.org/#stagingRepositories` login with your Apache committer credentials and you should see `orgapachenifi-1011`. If you click on that you can inspect the various staged artifacts. + +Validate that all the various aspects of the staged artifacts appear correct + + - Download the sources. Do they compile cleanly? If the result is a build does it execute? + - Validate the hashes match. + - Validate that the sources contain no unexpected binaries. + - Validate the signature for the build and hashes. + - Validate the LICENSE/NOTICE/Headers. + - Validate that the README is present and provides sufficient information to build and if necessary execute. + +If all looks good then push the branch to origin `git push origin NIFI-270` + +If it is intended that convenience binaries will be provided for this release then the community has requested that +a copy it be made available for reviewing of the release candidate. The convenience binary, its hashes, and signature + should be placed here: + - https://dist.apache.org/repos/dist/dev/nifi + +If anything isn't correct about the staged artifacts you can drop the staged repo from repository.apache.org and delete the +local tag in git. If you also delete the local branch and clear your local maven repository under org/apache/nifi then it is +as if the release never happened. Before doing that though try to figure out what went wrong. So as described here you see +that you can pretty easily test the release process until you get it right. The `mvn versions:set ` and `mvn versions:commit ` +commands can come in handy to help do this so you can set versions to something clearly release test related. + +Now it's time to initiate a vote within the NiFi community. Send the vote request to `[email protected]` +with a subject of `[VOTE] Release Apache NiFi 0.0.1`. The following template can be used: + +``` +Hello +I am pleased to be calling this vote for the source release of Apache NiFi +nifi-0.0.1. + +The source zip, including signatures, digests, etc. can be found at: +https://repository.apache.org/content/repositories/orgapachenifi-1011 + +The Git tag is nifi-0.0.1-RC1 +The Git commit ID is 72abf18c2e045e9ef404050e2bffc9cef67d2558 +https://git-wip-us.apache.org/repos/asf?p=nifi.git;a=commit;h=72abf18c2e045e9ef404050e2bffc9cef67d2558 + +Checksums of nifi-0.0.1-source-release.zip: +MD5: 5a580756a17b0573efa3070c70585698 +SHA1: a79ff8fd0d2f81523b675e4c69a7656160ff1214 + +Release artifacts are signed with the following key: +https://people.apache.org/keys/committer/joewitt.asc + +KEYS file available here: +https://dist.apache.org/repos/dist/release/nifi/KEYS + +8 issues were closed/resolved for this release: +https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12316020&version=12329307 + +The vote will be open for 72 hours. +Please download the release candidate and evaluate the necessary items including checking hashes, signatures, build from source, and test. The please vote: + +[ ] +1 Release this package as nifi-0.0.1 +[ ] +0 no opinion +[ ] -1 Do not release this package because because... +``` +<br/> +A release vote is majority rule. So wait 72 hours and see if there are at least 3 binding (PMC members) +1 votes and no more negative votes than positive. +If the vote passes then send a vote result email. Send the email to `[email protected]` +with a subject of `[RESULT][VOTE] Release Apache NiFi 0.0.1`. Use a template such as: + +``` +Hello + +The release passes with + +X +1 (binding) votes +Y -1 (binding) votes + +Thanks to all who helped make this release possible. + +Here is the PMC vote thread: [INSERT URL OF PMC Vote Thread] +``` +<br/> +Now all the voting is done and the release is good to go. + +Here are the steps of the release once the release is approved: + +1. Upload source-release artifacts to dist. If the release version is 0.0.1 then upload them (zip, asc, md5, sha1) to +`https://dist.apache.org/repos/dist/release/nifi/0.0.1` + +2. To produce binary convenience release build the application from the raw source in staging. For each binary convenience artifact: + - Generate ascii armored detached signature by running `gpg -a -b nifi-0.0.1-bin.tar.gz` + - Generate md5 hash summary by running `md5sum nifi-0.0.1-bin.tar.gz | awk '{ printf substr($0,0,32)}' > nifi-0.0.1-bin.tar.gz.md5` + - Generate sha1 hash summary by running `sha1sum nifi-0.0.1-bin.tar.gz | awk '{ printf substr($0,0,40)}' > nifi-0.0.1-bin.tar.gz.sha1` + - Upload the bin, asc, sha1, md5 for each binary convenience build to the same location as the source release + +3. In repository.apache.org go to the staging repository and select `release` and follow instructions on the site. + +4. Merge the release branch into master + +5. Merge the release branch into develop + +6. Update the NiFi website to point to the new download(s) + +7. Update the NiFi Web Page to indicate NEWS of the release as appropriate + +8. In Jira mark the release version as 'Released' and 'Archived' through 'version' management in the 'administration' console. + +9. Wait 24 hours then send release announcement. + - See [here][release-announce] for an understanding of why you need to wait 24 hours + - Then create an announcement like the one shown below addressed to '[email protected], [email protected]' with a reply-to of '[email protected]'. + - The email has to be sent from an apache.org email address and should be by the release manager of the build. + +``` +SUBJECT: [ANNOUNCE] Apache NiFi 0.0.2 release +BODY: +Hello + +The Apache NiFi team would like to announce the release of Apache NiFi 0.0.2. + +Apache NiFi is an easy to use, powerful, and reliable system to process and distribute data. Apache NiFi was made for dataflow. It supports highly configurable directed graphs of data routing, transformation, and system mediation logic. + +More details on Apache NiFi can be found here: +http://nifi.apache.org/ + +The release artifacts can be downloaded from here: +http://nifi.apache.org/download.html + +Maven artifacts have been made available here: +https://repository.apache.org/content/repositories/releases/org/apache/nifi/ + +Release notes available here: +https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12316020&version=12329373 + +Thank you +The Apache NiFi team + +``` + +[quickstart-guide]: http://nifi.apache.org/quickstart.html +[release-manager]: http://www.apache.org/dev/release-publishing.html#release_manager +[release-announce]: http://www.apache.org/dev/release.html#release-announcements +[apache-license]: http://apache.org/licenses/LICENSE-2.0 +[apache-license-apply]: http://www.apache.org/dev/apply-license.html +[apache-legal-resolve]: http://www.apache.org/legal/resolved.html +[apache-encryption]: http://www.apache.org/licenses/exports/ +[apache-release-policy]: http://www.apache.org/dev/release.html +[apache-release-guide]: http://www.apache.org/dev/release-publishing +[apache-pgp]: http://www.apache.org/dev/openpgp.html +[apache-release-signing]: http://www.apache.org/dev/release-signing.html +[apache-guide-publish-maven]: http://www.apache.org/dev/publishing-maven-artifacts.html http://git-wip-us.apache.org/repos/asf/nifi-site/blob/0d26d3b2/src/scss/_settings.scss ---------------------------------------------------------------------- diff --git a/src/scss/_settings.scss b/src/scss/_settings.scss new file mode 100644 index 0000000..e66a214 --- /dev/null +++ b/src/scss/_settings.scss @@ -0,0 +1,1465 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +// + +// Table of Contents +// Foundation Settings +// +// a. Base +// b. Grid +// c. Global +// d. Media Query Ranges +// e. Typography +// 01. Accordion +// 02. Alert Boxes +// 03. Block Grid +// 04. Breadcrumbs +// 05. Buttons +// 06. Button Groups +// 07. Clearing +// 08. Dropdown +// 09. Dropdown Buttons +// 10. Flex Video +// 11. Forms +// 12. Icon Bar +// 13. Inline Lists +// 14. Joyride +// 15. Keystrokes +// 16. Labels +// 17. Magellan +// 18. Off-canvas +// 19. Orbit +// 20. Pagination +// 21. Panels +// 22. Pricing Tables +// 23. Progress Bar +// 24. Range Slider +// 25. Reveal +// 26. Side Nav +// 27. Split Buttons +// 28. Sub Nav +// 29. Switch +// 30. Tables +// 31. Tabs +// 32. Thumbnails +// 33. Tooltips +// 34. Top Bar +// 36. Visibility Classes + +// a. Base +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// This is the default html and body font-size for the base rem value. +// $rem-base: 16px; + +// Allows the use of rem-calc() or lower-bound() in your settings +@import "foundation/functions"; + +// The default font-size is set to 100% of the browser style sheet (usually 16px) +// for compatibility with browser-based text zoom or user-set defaults. + +// Since the typical default browser font-size is 16px, that makes the calculation for grid size. +// If you want your base font-size to be different and not have it affect the grid breakpoints, +// set $rem-base to $base-font-size and make sure $base-font-size is a px value. +// $base-font-size: 100%; + +// The $base-font-size is 100% while $base-line-height is 150% +// $base-line-height: 150%; + +// We use this to control whether or not CSS classes come through in the gem files. +$include-html-classes: true; +// $include-print-styles: true; +$include-html-global-classes: $include-html-classes; + +// b. Grid +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-grid-classes: $include-html-classes; +// $include-xl-html-grid-classes: false; + +// $row-width: rem-calc(1000); +// $total-columns: 12; +// $column-gutter: rem-calc(30); + +// c. Global +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// We use these to define default font stacks +// $font-family-sans-serif: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; +// $font-family-serif: Georgia, Cambria, "Times New Roman", Times, serif; +// $font-family-monospace: Consolas, "Liberation Mono", Courier, monospace; + +// We use these to define default font weights +// $font-weight-normal: normal !default; +$font-weight-bold: bold !default; + +// $white : #FFFFFF; +// $ghost : #FAFAFA; +// $snow : #F9F9F9; +// $vapor : #F6F6F6; +// $white-smoke : #F5F5F5; +// $silver : #EFEFEF; +// $smoke : #EEEEEE; +// $gainsboro : #DDDDDD; +// $iron : #CCCCCC; +// $base : #AAAAAA; +// $aluminum : #999999; +// $jumbo : #888888; +// $monsoon : #777777; +// $steel : #666666; +// $charcoal : #555555; +// $tuatara : #444444; +// $oil : #333333; +// $jet : #222222; +// $black : #000000; + +// We use these as default colors throughout +// $primary-color: #008CBA; +// $secondary-color: #e7e7e7; +// $alert-color: #f04124; +// $success-color: #43AC6A; +// $warning-color: #f08a24; +// $info-color: #a0d3e8; + +// We use these to control various global styles +// $body-bg: $white; +// $body-font-color: $jet; +// $body-font-family: $font-family-sans-serif; +// $body-font-weight: $font-weight-normal; +// $body-font-style: normal; + +// We use this to control font-smoothing +// $font-smoothing: antialiased; + +// We use these to control text direction settings +// $text-direction: ltr; +// $opposite-direction: right; +// $default-float: left; +// $last-child-float: $opposite-direction; + +// We use these to make sure border radius matches unless we want it different. +// $global-radius: 3px; +// $global-rounded: 1000px; + +// We use these to control inset shadow shiny edges and depressions. +// $shiny-edge-size: 0 1px 0; +// $shiny-edge-color: rgba($white, .5); +// $shiny-edge-active-color: rgba($black, .2); + +// d. Media Query Ranges +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $small-range: (0em, 40em); +// $medium-range: (40.063em, 64em); +// $large-range: (64.063em, 90em); +// $xlarge-range: (90.063em, 120em); +// $xxlarge-range: (120.063em, 99999999em); + +// $screen: "only screen"; + +// $landscape: "#{$screen} and (orientation: landscape)"; +// $portrait: "#{$screen} and (orientation: portrait)"; + +// $small-up: $screen; +// $small-only: "#{$screen} and (max-width: #{upper-bound($small-range)})"; + +// $medium-up: "#{$screen} and (min-width:#{lower-bound($medium-range)})"; +// $medium-only: "#{$screen} and (min-width:#{lower-bound($medium-range)}) and (max-width:#{upper-bound($medium-range)})"; + +// $large-up: "#{$screen} and (min-width:#{lower-bound($large-range)})"; +// $large-only: "#{$screen} and (min-width:#{lower-bound($large-range)}) and (max-width:#{upper-bound($large-range)})"; + +// $xlarge-up: "#{$screen} and (min-width:#{lower-bound($xlarge-range)})"; +// $xlarge-only: "#{$screen} and (min-width:#{lower-bound($xlarge-range)}) and (max-width:#{upper-bound($xlarge-range)})"; + +// $xxlarge-up: "#{$screen} and (min-width:#{lower-bound($xxlarge-range)})"; +// $xxlarge-only: "#{$screen} and (min-width:#{lower-bound($xxlarge-range)}) and (max-width:#{upper-bound($xxlarge-range)})"; + +// Legacy +// $small: $medium-up; +// $medium: $medium-up; +// $large: $large-up; + +// We use this as cursors values for enabling the option of having custom cursors in the whole site's stylesheet +// $cursor-crosshair-value: crosshair; +// $cursor-default-value: default; +// $cursor-pointer-value: pointer; +// $cursor-help-value: help; +// $cursor-text-value: text; + +// e. Typography +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-type-classes: $include-html-classes; + +// We use these to control header font styles +// $header-font-family: $body-font-family; +$header-font-family: 'Oswald', sans-serif; +// $header-font-weight: $font-weight-normal; +// $header-font-style: normal; +// $header-font-color: $jet; +// $header-line-height: 1.4; +// $header-top-margin: .2rem; +// $header-bottom-margin: .5rem; +// $header-text-rendering: optimizeLegibility; + +// We use these to control header font sizes +// $h1-font-size: rem-calc(44); +// $h2-font-size: rem-calc(37); +// $h3-font-size: rem-calc(27); +// $h4-font-size: rem-calc(23); +// $h5-font-size: rem-calc(18); +// $h6-font-size: 1rem; + +// We use these to control header size reduction on small screens +// $h1-font-reduction: rem-calc(10) !default; +// $h2-font-reduction: rem-calc(10) !default; +// $h3-font-reduction: rem-calc(5) !default; +// $h4-font-reduction: rem-calc(5) !default; +// $h5-font-reduction: 0 !default; +// $h6-font-reduction: 0 !default; + +// These control how subheaders are styled. +// $subheader-line-height: 1.4; +// $subheader-font-color: scale-color($header-font-color, $lightness: 35%); +// $subheader-font-weight: $font-weight-normal; +// $subheader-top-margin: .2rem; +// $subheader-bottom-margin: .5rem; + +// A general <small> styling +// $small-font-size: 60%; +// $small-font-color: scale-color($header-font-color, $lightness: 35%); + +// We use these to style paragraphs +// $paragraph-font-family: inherit; +// $paragraph-font-weight: $font-weight-normal; +// $paragraph-font-size: 1rem; +// $paragraph-line-height: 1.6; +// $paragraph-margin-bottom: rem-calc(20); +// $paragraph-aside-font-size: rem-calc(14); +// $paragraph-aside-line-height: 1.35; +// $paragraph-aside-font-style: italic; +// $paragraph-text-rendering: optimizeLegibility; + +// We use these to style <code> tags +// $code-color: $oil; +// $code-font-family: $font-family-monospace; +// $code-font-weight: $font-weight-normal; +// $code-background-color: scale-color($secondary-color, $lightness: 70%); +// $code-border-size: 1px; +// $code-border-style: solid; +// $code-border-color: scale-color($code-background-color, $lightness: -10%); +// $code-padding: rem-calc(2) rem-calc(5) rem-calc(1); +/*$code-color: scale-color($alert-color, $lightness: -27%);*/ +$code-color: #333; +$code-font-family: Consolas, Liberation Mono, Courier, monospace; +$code-font-weight: bold; +$code-border-size: 0px; +$code-font-weight: normal; + +// We use these to style anchors +// $anchor-text-decoration: none; +// $anchor-text-decoration-hover: none; +// $anchor-font-color: $primary-color; +$anchor-font-color: #396877; +// $anchor-font-color-hover: scale-color($primary-color, $lightness: -14%); +$anchor-font-color-hover: #264c58; + +// We use these to style the <hr> element +// $hr-border-width: 1px; +// $hr-border-style: solid; +// $hr-border-color: $gainsboro; +// $hr-margin: rem-calc(20); + +// We use these to style lists +// $list-font-family: $paragraph-font-family; +// $list-font-size: $paragraph-font-size; +// $list-line-height: $paragraph-line-height; +// $list-margin-bottom: $paragraph-margin-bottom; +// $list-style-position: outside; +// $list-side-margin: 1.1rem; +$list-side-margin: 2.0rem; +// $list-ordered-side-margin: 1.4rem; +// $list-side-margin-no-bullet: 0; +// $list-nested-margin: rem-calc(20); +// $definition-list-header-weight: $font-weight-bold; +// $definition-list-header-margin-bottom: .3rem; +// $definition-list-margin-bottom: rem-calc(12); + +// We use these to style blockquotes +// $blockquote-font-color: scale-color($header-font-color, $lightness: 35%); +// $blockquote-padding: rem-calc(9 20 0 19); +// $blockquote-border: 1px solid $gainsboro; +// $blockquote-cite-font-size: rem-calc(13); +// $blockquote-cite-font-color: scale-color($header-font-color, $lightness: 23%); +// $blockquote-cite-link-color: $blockquote-cite-font-color; + +// Acronym styles +// $acronym-underline: 1px dotted $gainsboro; + +// We use these to control padding and margin +// $microformat-padding: rem-calc(10 12); +// $microformat-margin: rem-calc(0 0 20 0); + +// We use these to control the border styles +// $microformat-border-width: 1px; +// $microformat-border-style: solid; +// $microformat-border-color: $gainsboro; + +// We use these to control full name font styles +// $microformat-fullname-font-weight: $font-weight-bold; +// $microformat-fullname-font-size: rem-calc(15); + +// We use this to control the summary font styles +// $microformat-summary-font-weight: $font-weight-bold; + +// We use this to control abbr padding +// $microformat-abbr-padding: rem-calc(0 1); + +// We use this to control abbr font styles +// $microformat-abbr-font-weight: $font-weight-bold; +// $microformat-abbr-font-decoration: none; + +// 01. Accordion +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-accordion-classes: $include-html-classes; + +// $accordion-navigation-padding: rem-calc(16); +// $accordion-navigation-bg-color: $silver; +// $accordion-navigation-hover-bg-color: scale-color($accordion-navigation-bg-color, $lightness: -5%); +// $accordion-navigation-active-bg-color: scale-color($accordion-navigation-bg-color, $lightness: -3%); +// $accordion-navigation-font-color: $jet; +// $accordion-navigation-font-size: rem-calc(16); +// $accordion-navigation-font-family: $body-font-family; + +// $accordion-content-padding: ($column-gutter/2); +// $accordion-content-active-bg-color: $white; + +// 02. Alert Boxes +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-alert-classes: $include-html-classes; + +// We use this to control alert padding. +// $alert-padding-top: rem-calc(14); +// $alert-padding-default-float: $alert-padding-top; +// $alert-padding-opposite-direction: $alert-padding-top + rem-calc(10); +// $alert-padding-bottom: $alert-padding-top; + +// We use these to control text style. +// $alert-font-weight: $font-weight-normal; +// $alert-font-size: rem-calc(13); +// $alert-font-color: $white; +// $alert-font-color-alt: scale-color($secondary-color, $lightness: -66%); + +// We use this for close hover effect. +// $alert-function-factor: -14%; + +// We use these to control border styles. +// $alert-border-style: solid; +// $alert-border-width: 1px; +// $alert-border-color: scale-color($primary-color, $lightness: $alert-function-factor); +// $alert-bottom-margin: rem-calc(20); + +// We use these to style the close buttons +// $alert-close-color: $oil; +// $alert-close-top: 50%; +// $alert-close-position: rem-calc(4); +// $alert-close-font-size: rem-calc(22); +// $alert-close-opacity: 0.3; +// $alert-close-opacity-hover: 0.5; +// $alert-close-padding: 9px 6px 4px; + +// We use this to control border radius +// $alert-radius: $global-radius; + +// We use this to control transition effects +// $alert-transition-speed: 300ms; +// $alert-transition-ease: ease-out; + +// 03. Block Grid +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-block-grid-classes: $include-html-classes; +// $include-xl-html-block-grid-classes: false; + +// We use this to control the maximum number of block grid elements per row +// $block-grid-elements: 12; +// $block-grid-default-spacing: rem-calc(20); +// $align-block-grid-to-grid: false; + +// Enables media queries for block-grid classes. Set to false if writing semantic HTML. +// $block-grid-media-queries: true; + +// 04. Breadcrumbs +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-nav-classes: $include-html-classes; + +// We use this to set the background color for the breadcrumb container. +// $crumb-bg: scale-color($secondary-color, $lightness: 55%); + +// We use these to set the padding around the breadcrumbs. +// $crumb-padding: rem-calc(9 14 9); +// $crumb-side-padding: rem-calc(12); + +// We use these to control border styles. +// $crumb-function-factor: -10%; +// $crumb-border-size: 1px; +// $crumb-border-style: solid; +// $crumb-border-color: scale-color($crumb-bg, $lightness: $crumb-function-factor); +// $crumb-radius: $global-radius; + +// We use these to set various text styles for breadcrumbs. +// $crumb-font-size: rem-calc(11); +// $crumb-font-color: $primary-color; +// $crumb-font-color-current: $oil; +// $crumb-font-color-unavailable: $aluminum; +// $crumb-font-transform: uppercase; +// $crumb-link-decor: underline; + +// We use these to control the slash between breadcrumbs +// $crumb-slash-color: $base; +// $crumb-slash: "/"; + +// 05. Buttons +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-button-classes: $include-html-classes; + +// We use these to build padding for buttons. +// $button-tny: rem-calc(10); +// $button-sml: rem-calc(14); +// $button-med: rem-calc(16); +// $button-lrg: rem-calc(18); + +// We use this to control the display property. +// $button-display: inline-block; +// $button-margin-bottom: rem-calc(20); + +// We use these to control button text styles. +// $button-font-family: $body-font-family; +// $button-font-color: $white; +// $button-font-color-alt: $oil; +// $button-font-tny: rem-calc(11); +// $button-font-sml: rem-calc(13); +// $button-font-med: rem-calc(16); +// $button-font-lrg: rem-calc(20); +// $button-font-weight: $font-weight-normal; +// $button-font-align: center; + +// We use these to control various hover effects. +// $button-function-factor: -20%; + +// We use these to control button border and hover styles. +// $button-border-width: 0px; +// $button-border-style: solid; +// $button-bg-color: $primary-color; +// $button-bg-hover: scale-color($button-bg-color, $lightness: $button-function-factor); +// $button-border-color: $button-bg-hover; +// $secondary-button-bg-hover: scale-color($secondary-color, $lightness: $button-function-factor); +// $secondary-button-border-color: $secondary-button-bg-hover; +// $success-button-bg-hover: scale-color($success-color, $lightness: $button-function-factor); +// $success-button-border-color: $success-button-bg-hover; +// $alert-button-bg-hover: scale-color($alert-color, $lightness: $button-function-factor); +// $alert-button-border-color: $alert-button-bg-hover; + +// We use this to set the default radius used throughout the core. +// $button-radius: $global-radius; +// $button-round: $global-rounded; + +// We use this to set default opacity and cursor for disabled buttons. +// $button-disabled-opacity: 0.7; +// $button-disabled-cursor: $cursor-default-value; + +// 06. Button Groups +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-button-classes: $include-html-classes; + +// Sets the margin for the right side by default, and the left margin if right-to-left direction is used +// $button-bar-margin-opposite: rem-calc(10); +// $button-group-border-width: 1px; + +// 07. Clearing +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-clearing-classes: $include-html-classes; + +// We use these to set the background colors for parts of Clearing. +// $clearing-bg: $oil; +// $clearing-caption-bg: $clearing-bg; +// $clearing-carousel-bg: rgba(51,51,51,0.8); +// $clearing-img-bg: $clearing-bg; + +// We use these to style the close button +// $clearing-close-color: $iron; +// $clearing-close-size: 30px; + +// We use these to style the arrows +// $clearing-arrow-size: 12px; +// $clearing-arrow-color: $clearing-close-color; + +// We use these to style captions +// $clearing-caption-font-color: $iron; +// $clearing-caption-font-size: 0.875em; +// $clearing-caption-padding: 10px 30px 20px; + +// We use these to make the image and carousel height and style +// $clearing-active-img-height: 85%; +// $clearing-carousel-height: 120px; +// $clearing-carousel-thumb-width: 120px; +// $clearing-carousel-thumb-active-border: 1px solid rgb(255,255,255); + +// 08. Dropdown +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-dropdown-classes: $include-html-classes; + +// We use these to controls height and width styles. +// $f-dropdown-max-width: 200px; +// $f-dropdown-height: auto; +// $f-dropdown-max-height: none; + +// Used for bottom position +// $f-dropdown-margin-top: 2px; + +// Used for right position +// $f-dropdown-margin-left: $f-dropdown-margin-top; + +// Used for left position +// $f-dropdown-margin-right: $f-dropdown-margin-top; + +// Used for top position +// $f-dropdown-margin-bottom: $f-dropdown-margin-top; + +// We use this to control the background color +// $f-dropdown-bg: $white; + +// We use this to set the border styles for dropdowns. +// $f-dropdown-border-style: solid; +// $f-dropdown-border-width: 1px; +// $f-dropdown-border-color: scale-color($white, $lightness: -20%); + +// We use these to style the triangle pip. +// $f-dropdown-triangle-size: 6px; +// $f-dropdown-triangle-color: $white; +// $f-dropdown-triangle-side-offset: 10px; + +// We use these to control styles for the list elements. +// $f-dropdown-list-style: none; +// $f-dropdown-font-color: $charcoal; +// $f-dropdown-font-size: rem-calc(14); +// $f-dropdown-list-padding: rem-calc(5, 10); +// $f-dropdown-line-height: rem-calc(18); +// $f-dropdown-list-hover-bg: $smoke; +// $dropdown-mobile-default-float: 0; + +// We use this to control the styles for when the dropdown has custom content. +// $f-dropdown-content-padding: rem-calc(20); + +// Default radius for dropdown. +// $f-dropdown-radius: $global-radius; + + +// 09. Dropdown Buttons +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-button-classes: $include-html-classes; + +// We use these to set the color of the pip in dropdown buttons +// $dropdown-button-pip-color: $white; +// $dropdown-button-pip-color-alt: $oil; + +// $button-pip-tny: rem-calc(6); +// $button-pip-sml: rem-calc(7); +// $button-pip-med: rem-calc(9); +// $button-pip-lrg: rem-calc(11); + +// We use these to style tiny dropdown buttons +// $dropdown-button-padding-tny: $button-pip-tny * 7; +// $dropdown-button-pip-size-tny: $button-pip-tny; +// $dropdown-button-pip-opposite-tny: $button-pip-tny * 3; +// $dropdown-button-pip-top-tny: (-$button-pip-tny / 2) + rem-calc(1); + +// We use these to style small dropdown buttons +// $dropdown-button-padding-sml: $button-pip-sml * 7; +// $dropdown-button-pip-size-sml: $button-pip-sml; +// $dropdown-button-pip-opposite-sml: $button-pip-sml * 3; +// $dropdown-button-pip-top-sml: (-$button-pip-sml / 2) + rem-calc(1); + +// We use these to style medium dropdown buttons +// $dropdown-button-padding-med: $button-pip-med * 6 + rem-calc(3); +// $dropdown-button-pip-size-med: $button-pip-med - rem-calc(3); +// $dropdown-button-pip-opposite-med: $button-pip-med * 2.5; +// $dropdown-button-pip-top-med: (-$button-pip-med / 2) + rem-calc(2); + +// We use these to style large dropdown buttons +// $dropdown-button-padding-lrg: $button-pip-lrg * 5 + rem-calc(3); +// $dropdown-button-pip-size-lrg: $button-pip-lrg - rem-calc(6); +// $dropdown-button-pip-opposite-lrg: $button-pip-lrg * 2.5; +// $dropdown-button-pip-top-lrg: (-$button-pip-lrg / 2) + rem-calc(3); + +// 10. Flex Video +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-media-classes: $include-html-classes; + +// We use these to control video container padding and margins +// $flex-video-padding-top: rem-calc(25); +// $flex-video-padding-bottom: 67.5%; +// $flex-video-margin-bottom: rem-calc(16); + +// We use this to control widescreen bottom padding +// $flex-video-widescreen-padding-bottom: 56.34%; + +// 11. Forms +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-form-classes: $include-html-classes; + +// We use this to set the base for lots of form spacing and positioning styles +// $form-spacing: rem-calc(16); + +// We use these to style the labels in different ways +// $form-label-pointer: pointer; +// $form-label-font-size: rem-calc(14); +// $form-label-font-weight: $font-weight-normal; +// $form-label-line-height: 1.5; +// $form-label-font-color: scale-color($black, $lightness: 30%); +// $form-label-small-transform: capitalize; +// $form-label-bottom-margin: 0; +// $input-font-family: inherit; +// $input-font-color: rgba(0,0,0,0.75); +// $input-font-size: rem-calc(14); +// $input-bg-color: $white; +// $input-focus-bg-color: scale-color($white, $lightness: -2%); +// $input-border-color: scale-color($white, $lightness: -20%); +// $input-focus-border-color: scale-color($white, $lightness: -40%); +// $input-border-style: solid; +// $input-border-width: 1px; +// $input-border-radius: $global-radius; +// $input-disabled-bg: $gainsboro; +// $input-disabled-cursor: $cursor-default-value; +// $input-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); + +// We use these to style the fieldset border and spacing. +// $fieldset-border-style: solid; +// $fieldset-border-width: 1px; +// $fieldset-border-color: $gainsboro; +// $fieldset-padding: rem-calc(20); +// $fieldset-margin: rem-calc(18 0); + +// We use these to style the legends when you use them +// $legend-bg: $white; +// $legend-font-weight: $font-weight-bold; +// $legend-padding: rem-calc(0 3); + +// We use these to style the prefix and postfix input elements +// $input-prefix-bg: scale-color($white, $lightness: -5%); +// $input-prefix-border-color: scale-color($white, $lightness: -20%); +// $input-prefix-border-size: 1px; +// $input-prefix-border-type: solid; +// $input-prefix-overflow: hidden; +// $input-prefix-font-color: $oil; +// $input-prefix-font-color-alt: $white; + +// We use this setting to turn on/off HTML5 number spinners (the up/down arrows) +// $input-number-spinners: true; + +// We use these to style the error states for inputs and labels +// $input-error-message-padding: rem-calc(6 9 9); +// $input-error-message-top: -1px; +// $input-error-message-font-size: rem-calc(12); +// $input-error-message-font-weight: $font-weight-normal; +// $input-error-message-font-style: italic; +// $input-error-message-font-color: $white; +// $input-error-message-bg-color: $alert-color; +// $input-error-message-font-color-alt: $oil; + +// We use this to style the glowing effect of inputs when focused +// $input-include-glowing-effect: true; +// $glowing-effect-fade-time: 0.45s; +// $glowing-effect-color: $input-focus-border-color; + +// Select variables +// $select-bg-color: $ghost; +// $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%); + +// 12. Icon Bar +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// We use these to style the icon-bar and items +// $include-html-icon-bar-classes: $include-html-classes; +// $icon-bar-bg: $oil; +// $icon-bar-font-color: $white; +// $icon-bar-font-color-hover: $icon-bar-font-color; +// $icon-bar-font-size: 1rem; +// $icon-bar-hover-color: $primary-color; +// $icon-bar-icon-color: $white; +// $icon-bar-icon-color-hover: $icon-bar-icon-color; +// $icon-bar-icon-size: 1.875rem; +// $icon-bar-image-width: 1.875rem; +// $icon-bar-image-height: 1.875rem; +// $icon-bar-active-color: $primary-color; +// $icon-bar-item-padding: 1.25rem; + +// 13. Inline Lists +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-inline-list-classes: $include-html-classes; + +// We use this to control the margins and padding of the inline list. +// $inline-list-top-margin: 0; +// $inline-list-opposite-margin: 0; +// $inline-list-bottom-margin: rem-calc(17); +// $inline-list-default-float-margin: rem-calc(-22); +// $inline-list-default-float-list-margin: rem-calc(22); + +// $inline-list-padding: 0; + +// We use this to control the overflow of the inline list. +// $inline-list-overflow: hidden; + +// We use this to control the list items +// $inline-list-display: block; + +// We use this to control any elements within list items +// $inline-list-children-display: block; + +// 14. Joyride +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-joyride-classes: $include-html-classes; + +// Controlling default Joyride styles +// $joyride-tip-bg: $oil; +// $joyride-tip-default-width: 300px; +// $joyride-tip-padding: rem-calc(18 20 24); +// $joyride-tip-border: solid 1px $charcoal; +// $joyride-tip-radius: 4px; +// $joyride-tip-position-offset: 22px; + +// Here, we're setting the tip font styles +// $joyride-tip-font-color: $white; +// $joyride-tip-font-size: rem-calc(14); +// $joyride-tip-header-weight: $font-weight-bold; + +// This changes the nub size +// $joyride-tip-nub-size: 10px; + +// This adjusts the styles for the timer when its enabled +// $joyride-tip-timer-width: 50px; +// $joyride-tip-timer-height: 3px; +// $joyride-tip-timer-color: $steel; + +// This changes up the styles for the close button +// $joyride-tip-close-color: $monsoon; +// $joyride-tip-close-size: 24px; +// $joyride-tip-close-weight: $font-weight-normal; + +// When Joyride is filling the screen, we use this style for the bg +// $joyride-screenfill: rgba(0,0,0,0.5); + +// 15. Keystrokes +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-keystroke-classes: $include-html-classes; + +// We use these to control text styles. +// $keystroke-font: "Consolas", "Menlo", "Courier", monospace; +// $keystroke-font-size: inherit; +// $keystroke-font-color: $jet; +// $keystroke-font-color-alt: $white; +// $keystroke-function-factor: -7%; + +// We use this to control keystroke padding. +// $keystroke-padding: rem-calc(2 4 0); + +// We use these to control background and border styles. +// $keystroke-bg: scale-color($white, $lightness: $keystroke-function-factor); +// $keystroke-border-style: solid; +// $keystroke-border-width: 1px; +// $keystroke-border-color: scale-color($keystroke-bg, $lightness: $keystroke-function-factor); +// $keystroke-radius: $global-radius; + +// 16. Labels +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-label-classes: $include-html-classes; + +// We use these to style the labels +// $label-padding: rem-calc(4 8 4); +// $label-radius: $global-radius; + +// We use these to style the label text +// $label-font-sizing: rem-calc(11); +// $label-font-weight: $font-weight-normal; +// $label-font-color: $oil; +// $label-font-color-alt: $white; +// $label-font-family: $body-font-family; + +// 17. Magellan +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-magellan-classes: $include-html-classes; + +// $magellan-bg: $white; +// $magellan-padding: 0 !important; + +// 18. Off-canvas +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-off-canvas-classes: $include-html-classes; + +// $tabbar-bg: $oil; +// $tabbar-height: rem-calc(45); +// $tabbar-icon-width: $tabbar-height; +// $tabbar-line-height: $tabbar-height; +// $tabbar-color: $white; +// $tabbar-middle-padding: 0 rem-calc(10); + +// Off Canvas Divider Styles +// $tabbar-right-section-border: solid 1px scale-color($tabbar-bg, $lightness: 13%); +// $tabbar-left-section-border: solid 1px scale-color($tabbar-bg, $lightness: -50%); + +// Off Canvas Tab Bar Headers +// $tabbar-header-color: $white; +// $tabbar-header-weight: $font-weight-bold; +// $tabbar-header-line-height: $tabbar-height; +// $tabbar-header-margin: 0; + +// Off Canvas Menu Variables +// $off-canvas-width: rem-calc(250); +// $off-canvas-bg: $oil; +// $off-canvas-bg-hover: scale-color($tabbar-bg, $lightness: -30%); + +// Off Canvas Menu List Variables +// $off-canvas-label-padding: 0.3rem rem-calc(15); +// $off-canvas-label-color: $aluminum; +// $off-canvas-label-text-transform: uppercase; +// $off-canvas-label-font-size: rem-calc(12); +// $off-canvas-label-font-weight: $font-weight-bold; +// $off-canvas-label-bg: $tuatara; +// $off-canvas-label-border-top: 1px solid scale-color($tuatara, $lightness: 14%); +// $off-canvas-label-border-bottom: none; +// $off-canvas-label-margin:0; +// $off-canvas-link-padding: rem-calc(10, 15); +// $off-canvas-link-color: rgba($white, 0.7); +// $off-canvas-link-border-bottom: 1px solid scale-color($off-canvas-bg, $lightness: -25%); +// $off-canvas-back-bg: $tuatara; +// $off-canvas-back-border-top: $off-canvas-label-border-top; +// $off-canvas-back-border-bottom: $off-canvas-label-border-bottom; +// $off-canvas-back-hover-bg: scale-color($off-canvas-back-bg, $lightness: -30%); +// $off-canvas-back-hover-border-top: 1px solid scale-color($off-canvas-label-bg, $lightness: 14%); +// $off-canvas-back-hover-border-bottom: none; + +// Off Canvas Menu Icon Variables +// $tabbar-menu-icon-color: $white; +// $tabbar-menu-icon-hover: scale-color($tabbar-menu-icon-color, $lightness: -30%); + +// $tabbar-menu-icon-text-indent: rem-calc(35); +// $tabbar-menu-icon-width: $tabbar-height; +// $tabbar-menu-icon-height: $tabbar-height; +// $tabbar-menu-icon-padding: 0; + +// $tabbar-hamburger-icon-width: rem-calc(16); +// $tabbar-hamburger-icon-left: false; +// $tabbar-hamburger-icon-top: false; +// $tabbar-hamburger-icon-thickness: 1px; +// $tabbar-hamburger-icon-gap: 6px; + +// Off Canvas Back-Link Overlay +// $off-canvas-overlay-transition: background 300ms ease; +// $off-canvas-overlay-cursor: pointer; +// $off-canvas-overlay-box-shadow: -4px 0 4px rgba($black, 0.5), 4px 0 4px rgba($black, 0.5); +// $off-canvas-overlay-background: rgba($white, 0.2); +// $off-canvas-overlay-background-hover: rgba($white, 0.05); + +// Transition Variables +// $menu-slide: "transform 500ms ease"; + +// 19. Orbit +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-orbit-classes: $include-html-classes; + +// We use these to control the caption styles +// $orbit-container-bg: none; +// $orbit-caption-bg: rgba(51,51,51, 0.8); +// $orbit-caption-font-color: $white; +// $orbit-caption-font-size: rem-calc(14); +// $orbit-caption-position: "bottom"; // Supported values: "bottom", "under" +// $orbit-caption-padding: rem-calc(10 14); +// $orbit-caption-height: auto; + +// We use these to control the left/right nav styles +// $orbit-nav-bg: transparent; +// $orbit-nav-bg-hover: rgba(0,0,0,0.3); +// $orbit-nav-arrow-color: $white; +// $orbit-nav-arrow-color-hover: $white; + +// We use these to control the timer styles +// $orbit-timer-bg: rgba(255,255,255,0.3); +// $orbit-timer-show-progress-bar: true; + +// We use these to control the bullet nav styles +// $orbit-bullet-nav-color: $iron; +// $orbit-bullet-nav-color-active: $aluminum; +// $orbit-bullet-radius: rem-calc(9); + +// We use these to controls the style of slide numbers +// $orbit-slide-number-bg: rgba(0,0,0,0); +// $orbit-slide-number-font-color: $white; +// $orbit-slide-number-padding: rem-calc(5); + +// Hide controls on small +// $orbit-nav-hide-for-small: true; +// $orbit-bullet-hide-for-small: true; +// $orbit-timer-hide-for-small: true; + +// Graceful Loading Wrapper and preloader +// $wrapper-class: "slideshow-wrapper"; +// $preloader-class: "preloader"; + +// 20. Pagination +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-pagination-classes: $include-html-classes; + +// We use these to control the pagination container +// $pagination-height: rem-calc(24); +// $pagination-margin: rem-calc(-5); + +// We use these to set the list-item properties +// $pagination-li-float: $default-float; +// $pagination-li-height: rem-calc(24); +// $pagination-li-font-color: $jet; +// $pagination-li-font-size: rem-calc(14); +// $pagination-li-margin: rem-calc(5); + +// We use these for the pagination anchor links +// $pagination-link-pad: rem-calc(1 10 1); +// $pagination-link-font-color: $aluminum; +// $pagination-link-active-bg: scale-color($white, $lightness: -10%); + +// We use these for disabled anchor links +// $pagination-link-unavailable-cursor: default; +// $pagination-link-unavailable-font-color: $aluminum; +// $pagination-link-unavailable-bg-active: transparent; + +// We use these for currently selected anchor links +// $pagination-link-current-background: $primary-color; +// $pagination-link-current-font-color: $white; +// $pagination-link-current-font-weight: $font-weight-bold; +// $pagination-link-current-cursor: default; +// $pagination-link-current-active-bg: $primary-color; + +// 21. Panels +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-panel-classes: $include-html-classes; + +// We use these to control the background and border styles +// $panel-bg: scale-color($white, $lightness: -5%); +// $panel-border-style: solid; +// $panel-border-size: 1px; + +// We use this % to control how much we darken things on hover +// $panel-function-factor: -11%; +// $panel-border-color: scale-color($panel-bg, $lightness: $panel-function-factor); + +// We use these to set default inner padding and bottom margin +// $panel-margin-bottom: rem-calc(20); +// $panel-padding: rem-calc(20); + +// We use these to set default font colors +// $panel-font-color: $oil; +// $panel-font-color-alt: $white; + +// $panel-header-adjust: true; +// $callout-panel-link-color: $primary-color; + +// 22. Pricing Tables +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-pricing-classes: $include-html-classes; + +// We use this to control the border color +// $price-table-border: solid 1px $gainsboro; + +// We use this to control the bottom margin of the pricing table +// $price-table-margin-bottom: rem-calc(20); + +// We use these to control the title styles +// $price-title-bg: $oil; +// $price-title-padding: rem-calc(15 20); +// $price-title-align: center; +// $price-title-color: $smoke; +// $price-title-weight: $font-weight-normal; +// $price-title-size: rem-calc(16); +// $price-title-font-family: $body-font-family; + +// We use these to control the price styles +// $price-money-bg: $vapor; +// $price-money-padding: rem-calc(15 20); +// $price-money-align: center; +// $price-money-color: $oil; +// $price-money-weight: $font-weight-normal; +// $price-money-size: rem-calc(32); +// $price-money-font-family: $body-font-family; + +// We use these to control the description styles +// $price-bg: $white; +// $price-desc-color: $monsoon; +// $price-desc-padding: rem-calc(15); +// $price-desc-align: center; +// $price-desc-font-size: rem-calc(12); +// $price-desc-weight: $font-weight-normal; +// $price-desc-line-height: 1.4; +// $price-desc-bottom-border: dotted 1px $gainsboro; + +// We use these to control the list item styles +// $price-item-color: $oil; +// $price-item-padding: rem-calc(15); +// $price-item-align: center; +// $price-item-font-size: rem-calc(14); +// $price-item-weight: $font-weight-normal; +// $price-item-bottom-border: dotted 1px $gainsboro; + +// We use these to control the CTA area styles +// $price-cta-bg: $white; +// $price-cta-align: center; +// $price-cta-padding: rem-calc(20 20 0); + +// 23. Progress Bar +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-media-classes: $include-html-classes; + +// We use this to set the progress bar height +// $progress-bar-height: rem-calc(25); +// $progress-bar-color: $vapor ; + +// We use these to control the border styles +// $progress-bar-border-color: scale-color($white, $lightness: 20%); +// $progress-bar-border-size: 1px; +// $progress-bar-border-style: solid; +// $progress-bar-border-radius: $global-radius; + +// We use these to control the margin & padding +// $progress-bar-pad: rem-calc(2); +// $progress-bar-margin-bottom: rem-calc(10); + +// We use these to set the meter colors +// $progress-meter-color: $primary-color; +// $progress-meter-secondary-color: $secondary-color; +// $progress-meter-success-color: $success-color; +// $progress-meter-alert-color: $alert-color; + +// 24. Range Slider +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-range-slider-classes: $include-html-classes; + +// These variables define the slider bar styles +// $range-slider-bar-width: 100%; +// $range-slider-bar-height: rem-calc(16); + +// $range-slider-bar-border-width: 1px; +// $range-slider-bar-border-style: solid; +// $range-slider-bar-border-color: $gainsboro; +// $range-slider-radius: $global-radius; +// $range-slider-round: $global-rounded; +// $range-slider-bar-bg-color: $ghost; + +// Vertical bar styles +// $range-slider-vertical-bar-width: rem-calc(16); +// $range-slider-vertical-bar-height: rem-calc(200); + +// These variables define the slider handle styles +// $range-slider-handle-width: rem-calc(32); +// $range-slider-handle-height: rem-calc(22); +// $range-slider-handle-position-top: rem-calc(-5); +// $range-slider-handle-bg-color: $primary-color; +// $range-slider-handle-border-width: 1px; +// $range-slider-handle-border-style: solid; +// $range-slider-handle-border-color: none; +// $range-slider-handle-radius: $global-radius; +// $range-slider-handle-round: $global-rounded; +// $range-slider-handle-bg-hover-color: scale-color($primary-color, $lightness: -12%); +// $range-slider-handle-cursor: pointer; + +// 25. Reveal +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-reveal-classes: $include-html-classes; + +// We use these to control the style of the reveal overlay. +// $reveal-overlay-bg: rgba($black, .45); +// $reveal-overlay-bg-old: $black; + +// We use these to control the style of the modal itself. +// $reveal-modal-bg: $white; +// $reveal-position-top: rem-calc(100); +// $reveal-default-width: 80%; +// $reveal-max-width: $row-width; +// $reveal-modal-padding: rem-calc(20); +// $reveal-box-shadow: 0 0 10px rgba($black,.4); + +// We use these to style the reveal close button +// $reveal-close-font-size: rem-calc(40); +// $reveal-close-top: rem-calc(8); +// $reveal-close-side: rem-calc(11); +// $reveal-close-color: $base; +// $reveal-close-weight: $font-weight-bold; + +// We use this to set the default radius used throughout the core. +// $reveal-radius: $global-radius; +// $reveal-round: $global-rounded; + +// We use these to control the modal border +// $reveal-border-style: solid; +// $reveal-border-width: 1px; +// $reveal-border-color: $steel; + +// $reveal-modal-class: "reveal-modal"; +// $close-reveal-modal-class: "close-reveal-modal"; + +// 26. Side Nav +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-nav-classes: $include-html-classes; + +// We use this to control padding. +// $side-nav-padding: rem-calc(14 0); + +// We use these to control list styles. +// $side-nav-list-type: none; +// $side-nav-list-position: inside; +// $side-nav-list-margin: rem-calc(0 0 7 0); + +// We use these to control link styles. +// $side-nav-link-color: $primary-color; +// $side-nav-link-color-active: scale-color($side-nav-link-color, $lightness: 30%); +// $side-nav-link-color-hover: scale-color($side-nav-link-color, $lightness: 30%); +// $side-nav-link-bg-hover: hsla(0, 0, 0, 0.025); +// $side-nav-link-margin: 0; +// $side-nav-link-padding: rem-calc(7 14); +// $side-nav-font-size: rem-calc(14); +// $side-nav-font-weight: $font-weight-normal; +// $side-nav-font-weight-active: $side-nav-font-weight; +// $side-nav-font-family: $body-font-family; +// $side-nav-font-family-active: $side-nav-font-family; + +// We use these to control heading styles. +// $side-nav-heading-color: $side-nav-link-color; +// $side-nav-heading-font-size: $side-nav-font-size; +// $side-nav-heading-font-weight: bold; +// $side-nav-heading-text-transform: uppercase; + +// We use these to control border styles +// $side-nav-divider-size: 1px; +// $side-nav-divider-style: solid; +// $side-nav-divider-color: scale-color($white, $lightness: 10%); + +// 27. Split Buttons +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-button-classes: $include-html-classes; + +// We use these to control different shared styles for Split Buttons +// $split-button-function-factor: 10%; +// $split-button-pip-color: $white; +// $split-button-pip-color-alt: $oil; +// $split-button-active-bg-tint: rgba(0,0,0,0.1); + +// We use these to control tiny split buttons +// $split-button-padding-tny: $button-pip-tny * 10; +// $split-button-span-width-tny: $button-pip-tny * 6; +// $split-button-pip-size-tny: $button-pip-tny; +// $split-button-pip-top-tny: $button-pip-tny * 2; +// $split-button-pip-default-float-tny: rem-calc(-6); + +// We use these to control small split buttons +// $split-button-padding-sml: $button-pip-sml * 10; +// $split-button-span-width-sml: $button-pip-sml * 6; +// $split-button-pip-size-sml: $button-pip-sml; +// $split-button-pip-top-sml: $button-pip-sml * 1.5; +// $split-button-pip-default-float-sml: rem-calc(-6); + +// We use these to control medium split buttons +// $split-button-padding-med: $button-pip-med * 9; +// $split-button-span-width-med: $button-pip-med * 5.5; +// $split-button-pip-size-med: $button-pip-med - rem-calc(3); +// $split-button-pip-top-med: $button-pip-med * 1.5; +// $split-button-pip-default-float-med: rem-calc(-6); + +// We use these to control large split buttons +// $split-button-padding-lrg: $button-pip-lrg * 8; +// $split-button-span-width-lrg: $button-pip-lrg * 5; +// $split-button-pip-size-lrg: $button-pip-lrg - rem-calc(6); +// $split-button-pip-top-lrg: $button-pip-lrg + rem-calc(5); +// $split-button-pip-default-float-lrg: rem-calc(-6); + +// 28. Sub Nav +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-nav-classes: $include-html-classes; + +// We use these to control margin and padding +// $sub-nav-list-margin: rem-calc(-4 0 18); +// $sub-nav-list-padding-top: rem-calc(4); + +// We use this to control the definition +// $sub-nav-font-family: $body-font-family; +// $sub-nav-font-size: rem-calc(14); +// $sub-nav-font-color: $aluminum; +// $sub-nav-font-weight: $font-weight-normal; +// $sub-nav-text-decoration: none; +// $sub-nav-padding: rem-calc(3 16); +// $sub-nav-border-radius: 3px; +// $sub-nav-font-color-hover: scale-color($sub-nav-font-color, $lightness: -25%); + +// We use these to control the active item styles +// $sub-nav-active-font-weight: $font-weight-normal; +// $sub-nav-active-bg: $primary-color; +// $sub-nav-active-bg-hover: scale-color($sub-nav-active-bg, $lightness: -14%); +// $sub-nav-active-color: $white; +// $sub-nav-active-padding: $sub-nav-padding; +// $sub-nav-active-cursor: default; + +// $sub-nav-item-divider: ""; +// $sub-nav-item-divider-margin: rem-calc(12); + +// 29. Switch +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-form-classes: $include-html-classes; + +// Controlling border styles and background colors for the switch container +// $switch-border-color: scale-color($white, $lightness: -20%); +// $switch-border-style: solid; +// $switch-border-width: 1px; +// $switch-bg: $white; + +// We use these to control the switch heights for our default classes +// $switch-height-tny: rem-calc(22); +// $switch-height-sml: rem-calc(28); +// $switch-height-med: rem-calc(36); +// $switch-height-lrg: rem-calc(44); +// $switch-bottom-margin: rem-calc(20); + +// We use these to control default font sizes for our classes. +// $switch-font-size-tny: 11px; +// $switch-font-size-sml: 12px; +// $switch-font-size-med: 14px; +// $switch-font-size-lrg: 17px; +// $switch-label-side-padding: 6px; + +// We use these to style the switch-paddle +// $switch-paddle-bg: $white; +// $switch-paddle-fade-to-color: scale-color($switch-paddle-bg, $lightness: -10%); +// $switch-paddle-border-color: scale-color($switch-paddle-bg, $lightness: -35%); +// $switch-paddle-border-width: 1px; +// $switch-paddle-border-style: solid; +// $switch-paddle-transition-speed: .1s; +// $switch-paddle-transition-ease: ease-out; +// $switch-positive-color: scale-color($success-color, $lightness: 94%); +// $switch-negative-color: $white-smoke; + +// Outline Style for tabbing through switches +// $switch-label-outline: 1px dotted $jumbo; + +// 30. Tables +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-table-classes: $include-html-classes; + +// These control the background color for the table and even rows +// $table-bg: $white; +// $table-even-row-bg: $snow; + +// These control the table cell border style +// $table-border-style: solid; +// $table-border-size: 1px; +// $table-border-color: $gainsboro; + +// These control the table head styles +// $table-head-bg: $white-smoke ; +// $table-head-font-size: rem-calc(14); +// $table-head-font-color: $jet; +// $table-head-font-weight: $font-weight-bold; +// $table-head-padding: rem-calc(8 10 10); + +// These control the row padding and font styles +// $table-row-padding: rem-calc(9 10); +// $table-row-font-size: rem-calc(14); +// $table-row-font-color: $jet; +// $table-line-height: rem-calc(18); + +// These are for controlling the layout, display and margin of tables +// $table-layout: auto; +// $table-display: table-cell; +// $table-margin-bottom: rem-calc(20); + +// 31. Tabs +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-tabs-classes: $include-html-classes; + +// $tabs-navigation-padding: rem-calc(16); +// $tabs-navigation-bg-color: $silver ; +// $tabs-navigation-active-bg-color: $white; +// $tabs-navigation-hover-bg-color: scale-color($tabs-navigation-bg-color, $lightness: -6%); +// $tabs-navigation-font-color: $jet; +// $tabs-navigation-active-font-color: $tabs-navigation-font-color; +// $tabs-navigation-font-size: rem-calc(16); +// $tabs-navigation-font-family: $body-font-family; + +// $tabs-content-margin-bottom: rem-calc(24); +// $tabs-content-padding: ($column-gutter/2); + +// $tabs-vertical-navigation-margin-bottom: 1.25rem; + +// 32. Thumbnails +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-media-classes: $include-html-classes; + +// We use these to control border styles +// $thumb-border-style: solid; +// $thumb-border-width: 4px; +// $thumb-border-color: $white; +// $thumb-box-shadow: 0 0 0 1px rgba($black,.2); +// $thumb-box-shadow-hover: 0 0 6px 1px rgba($primary-color,0.5); + +// Radius and transition speed for thumbs +// $thumb-radius: $global-radius; +// $thumb-transition-speed: 200ms; + +// 33. Tooltips +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-tooltip-classes: $include-html-classes; + +// $has-tip-border-bottom: dotted 1px $iron; +// $has-tip-font-weight: $font-weight-bold; +// $has-tip-font-color: $oil; +// $has-tip-border-bottom-hover: dotted 1px scale-color($primary-color, $lightness: -55%); +// $has-tip-font-color-hover: $primary-color; +// $has-tip-cursor-type: help; + +// $tooltip-padding: rem-calc(12); +// $tooltip-bg: $oil; +// $tooltip-font-size: rem-calc(14); +// $tooltip-font-weight: $font-weight-normal; +// $tooltip-font-color: $white; +// $tooltip-line-height: 1.3; +// $tooltip-close-font-size: rem-calc(10); +// $tooltip-close-font-weight: $font-weight-normal; +// $tooltip-close-font-color: $monsoon; +// $tooltip-font-size-sml: rem-calc(14); +// $tooltip-radius: $global-radius; +// $tooltip-rounded: $global-rounded; +// $tooltip-pip-size: 5px; +// $tooltip-max-width: 300px; + +// 34. Top Bar +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-top-bar-classes: $include-html-classes; + +// Background color for the top bar +// $topbar-bg-color: $oil; +$topbar-bg-color: #7299ac; +// $topbar-bg: $topbar-bg-color; + +// Height and margin +// $topbar-height: rem-calc(45); +// $topbar-margin-bottom: 0; + +// Controlling the styles for the title in the top bar +// $topbar-title-weight: $font-weight-normal; +// $topbar-title-font-size: rem-calc(17); + +// Style the top bar dropdown elements +// $topbar-dropdown-bg: $oil; +$topbar-dropdown-bg: $topbar-bg-color; +// $topbar-dropdown-link-color: $white; +$topbar-dropdown-link-color-hover: #eee; +// $topbar-dropdown-link-bg: $oil; +$topbar-dropdown-link-bg: $topbar-bg-color; +// $topbar-dropdown-link-bg-hover: $oil; +$topbar-dropdown-link-bg-hover: $topbar-bg-color; +// $topbar-dropdown-link-weight: $font-weight-normal; +// $topbar-dropdown-toggle-size: 5px; +// $topbar-dropdown-toggle-color: $white; +// $topbar-dropdown-toggle-alpha: 0.4; + +// Set the link colors and styles for top-level nav +// $topbar-link-color: $white; +// $topbar-link-color-hover: $white; +// $topbar-link-color-active: $white; +// $topbar-link-color-active-hover: $white; +// $topbar-link-weight: $font-weight-normal; +// $topbar-link-font-size: rem-calc(13); +$topbar-link-weight: bold; +// $topbar-link-hover-lightness: -10%; // Darken by 10% +// $topbar-link-bg: $topbar-bg; +// $topbar-link-bg-color-hover: $charcoal; +$topbar-link-bg-color-hover: scale-color($topbar-bg-color, $lightness: -14%); +// $topbar-link-bg-hover: $oil; +$topbar-link-bg-hover: scale-color($topbar-bg-color, $lightness: -14%); +// $topbar-link-bg-active: $primary-color; +$topbar-link-bg-active: $topbar-bg-color; +// $topbar-link-bg-active-hover: scale-color($primary-color, $lightness: -14%); +$topbar-link-bg-active-hover: scale-color($topbar-bg-color, $lightness: -14%); +// $topbar-link-font-family: $body-font-family; +// $topbar-link-text-transform: none; +// $topbar-link-padding: ($topbar-height / 3); +// $topbar-back-link-size: $h5-font-size; +// $topbar-link-dropdown-padding: 20px; + +// $topbar-button-font-size: 0.75rem; +// $topbar-button-top: 7px; + +// $topbar-dropdown-label-color: $monsoon; +// $topbar-dropdown-label-text-transform: uppercase; +$topbar-dropdown-label-font-weight: $font-weight-bold; +// $topbar-dropdown-label-font-size: rem-calc(10); +// $topbar-dropdown-label-bg: $oil; + +// Top menu icon styles +// $topbar-menu-link-transform: uppercase; +// $topbar-menu-link-font-size: rem-calc(13); +$topbar-menu-link-weight: $font-weight-bold; +// $topbar-menu-link-color: $white; +// $topbar-menu-icon-color: $white; +// $topbar-menu-link-color-toggled: $jumbo; +// $topbar-menu-icon-color-toggled: $jumbo; + +// Transitions and breakpoint styles +// $topbar-transition-speed: 300ms; +// Using rem-calc for the below breakpoint causes issues with top bar +// $topbar-breakpoint: #{lower-bound($medium-range)}; // Change to 9999px for always mobile layout +// $topbar-media-query: $medium-up; + +// Divider Styles +// $topbar-divider-border-bottom: solid 1px scale-color($topbar-bg-color, $lightness: 13%); +// $topbar-divider-border-top: solid 1px scale-color($topbar-bg-color, $lightness: -50%); + +// Sticky Class +// $topbar-sticky-class: ".sticky"; +// $topbar-arrows: true; //Set false to remove the triangle icon from the menu item + +// 36. Visibility Classes +// - - - - - - - - - - - - - - - - - - - - - - - - - + +// $include-html-visibility-classes: $include-html-classes; +// $include-table-visibility-classes: true; +// $include-legacy-visibility-classes: true; +// $include-accessibility-classes: true; http://git-wip-us.apache.org/repos/asf/nifi-site/blob/0d26d3b2/src/scss/app.scss ---------------------------------------------------------------------- diff --git a/src/scss/app.scss b/src/scss/app.scss new file mode 100644 index 0000000..70de9e7 --- /dev/null +++ b/src/scss/app.scss @@ -0,0 +1,209 @@ +@import "settings"; +@import "foundation/components/type"; +@import "foundation/components/grid"; +@import "foundation/components/top-bar"; +@import "foundation/components/tables"; +@import "foundation/components/global"; +@import "foundation/components/flex-video"; +@import "foundation/components/reveal"; + +// @import "foundation"; +// Or selectively include components +// @import +// "foundation/components/accordion", +// "foundation/components/alert-boxes", +// "foundation/components/block-grid", +// "foundation/components/breadcrumbs", +// "foundation/components/button-groups", +// "foundation/components/buttons", +// "foundation/components/clearing", +// "foundation/components/dropdown", +// "foundation/components/dropdown-buttons", +// "foundation/components/flex-video", +// "foundation/components/forms", +// "foundation/components/grid", +// "foundation/components/inline-lists", +// "foundation/components/joyride", +// "foundation/components/keystrokes", +// "foundation/components/labels", +// "foundation/components/magellan", +// "foundation/components/orbit", +// "foundation/components/pagination", +// "foundation/components/panels", +// "foundation/components/pricing-tables", +// "foundation/components/progress-bars", +// "foundation/components/reveal", +// "foundation/components/side-nav", +// "foundation/components/split-buttons", +// "foundation/components/sub-nav", +// "foundation/components/switches", +// "foundation/components/tables", +// "foundation/components/tabs", +// "foundation/components/thumbs", +// "foundation/components/tooltips", +// "foundation/components/top-bar", +// "foundation/components/type", +// "foundation/components/offcanvas", +// "foundation/components/visibility"; + +html, html a { + -webkit-font-smoothing: antialiased; + text-shadow: 1px 1px 1px rgba(0,0,0,0.004); +} + +.wf-loading h1, .wf-loading p { + visibility:hidden; +} + +pre code { + display: block; + overflow: auto; + padding: 10px; + font-weight: normal; + border-width: 1px; +} + +div.large-space { + height: 3em; +} + +div.medium-space { + height: 2em; +} + +div.small-space { + height: 1em; +} + +#logo-top-bar { + max-width: 27px; + max-height: 40px; + margin-top: -2px; +} + +#logo-top-bar:hover { + -webkit-filter: brightness(1.03); + filter: brightness(1.03); +} + +#nifi-landing { + font-size: 4.5em; +} + +.nifi-txt { + font-family: 'Oswald', sans-serif; + font-weight: 500; +} + +span.nifi-txt { + font-size: larger; +} + +.ni { + color: #7A96A4; +} + +.fi { + color: #0F3541; +} + +.right-text { + text-align: right; +} + +p.description { + font-size: 1.25em; + font-weight: 200; + color: #333; +} + +#flow { + -moz-box-shadow: 0 0 25px #0F3541; + -webkit-box-shadow: 0 0 25px #0F3541; + box-shadow: 0px 0px 25px #0F3541; +} + +div.features { + background-color: #D9E4E8; +} + +#features-content ul { + padding-left: 10px; +} + +i.external-link { + margin-right: 5px; +} + +/* + Tables +*/ + +table { + background-color: #fefefe; + border: 1px solid #ccc; + border-left: 6px solid #ccc; + color: #555; + display: block; + margin-bottom: 12px; + padding: 5px 8px; +} + +tr td { + font-size: 14px; + vertical-align:top; + text-align:left; + padding: 4px; + border-width: 0; +} + +tr th { + font-size: 16px; + vertical-align:top; + text-align:left; + padding: 4px; + border-width: 0; + white-space: nowrap; +} + +table tr:nth-of-type(even) { + background-color: transparent !important; +} + +/* + Iframe +*/ + +div.external-guide { + position: absolute; + left: 0; + bottom: 0; + right: 0; + top: rem-calc(45); + z-index: 1; + background-color: #fff; +} + +div.external-guide iframe { + width: 100%; + height: 100%; + border-width: 0; + display: block; +} + +/* + Footer +*/ + +div.footer { + margin-top: 2em; + text-align: center; +} + +div.footer p { + font-size: .7em; +} + +div.clear { + clear: both; +} \ No newline at end of file
